:root {
    --bg: #f4f4f3;
    --surface: #ffffff;
    --text: #171917;
    --muted: #70736f;
    --line: #e6e7e4;
    --accent: #849286;
    --accent-soft: #d9dfda;
    --dark: #4a4b49;
    --radius-lg: 28px;
    --radius-md: 18px;
    --radius-sm: 11px;
}

* { box-sizing: border-box; }
body {
    margin: 0;
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--text);
    background: var(--bg);
}

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 260px minmax(0, 1fr); }
.sidebar {
    position: sticky; top: 0; height: 100vh;
    background: var(--surface); border-right: 1px solid #efefed;
    padding: 18px 14px; display: flex; flex-direction: column;
}
.brand-row { display: flex; align-items: center; gap: 10px; padding: 0 4px 18px; }
.brand-mark { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; background: var(--accent); color: #fff; font-weight: 700; }
.brand-name { font-weight: 650; font-size: 14px; }
.nav { display: grid; gap: 3px; }
.nav-item { text-decoration: none; color: var(--text); padding: 10px 12px; border-radius: 10px; font-size: 14px; }
.nav-item:hover, .nav-item.active { background: #f1f2f0; }
.sidebar-footer { margin-top: auto; display: flex; gap: 10px; align-items: center; padding: 10px 4px 0; font-size: 12px; }
.sidebar-footer span { display: block; color: var(--muted); margin-top: 2px; }
.user-avatar { width: 34px; height: 34px; border-radius: 10px; background: #20211f; color: #fff; display: grid; place-items: center; }

.content { padding: 24px 28px 40px; max-width: 1560px; width: 100%; margin: 0 auto; }
.card { background: var(--surface); border: 1px solid #ededeb; border-radius: var(--radius-lg); }
.page-header { min-height: 120px; padding: 28px 34px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.eyebrow { margin: 0 0 5px; font-size: 11px; font-weight: 700; letter-spacing: .12em; color: var(--accent); }
h1 { margin: 0; font-size: 32px; line-height: 1.1; }
h2 { margin: 0; font-size: 18px; }
.muted { color: var(--muted); margin: 7px 0 0; }
.primary-button { border: 0; background: var(--accent); color: white; padding: 12px 18px; border-radius: 11px; font-weight: 650; cursor: pointer; }

.metric-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 18px; margin-top: 24px; }
.metric-card { min-height: 140px; background: #fff; border: 1px solid #ededeb; border-radius: var(--radius-md); padding: 22px 24px; display: flex; flex-direction: column; }
.metric-card span { font-size: 13px; color: var(--muted); }
.metric-card strong { font-size: 34px; margin-top: 8px; }
.metric-card small { margin-top: auto; color: #8a8c88; }
.metric-card.dark { background: var(--dark); border-color: var(--dark); color: #fff; }
.metric-card.dark span, .metric-card.dark small { color: #d7d8d6; }

.two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; }
.panel { min-height: 330px; border-radius: var(--radius-md); padding: 24px; }
.panel-heading { display: flex; justify-content: space-between; align-items: start; }
.empty-state { margin-top: 34px; min-height: 190px; border: 1px dashed #d8dad6; border-radius: 14px; display: grid; place-items: center; color: #92948f; }

@media (max-width: 980px) {
    .app-shell { grid-template-columns: 1fr; }
    .sidebar { position: static; height: auto; }
    .metric-grid, .two-column { grid-template-columns: 1fr; }
}

/* v0.2.0 — authenticatie, organisatiecontext en rolafhankelijke navigatie */
button:disabled { opacity: .48; cursor: not-allowed; }
.organisation-chip { margin: 2px 4px 14px; padding: 10px 12px; border-radius: 11px; background: #f6f7f5; border: 1px solid #eceeea; }
.organisation-chip span, .organisation-chip small { display: block; }
.organisation-chip span { font-size: 13px; font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.organisation-chip small { margin-top: 3px; font-size: 11px; color: var(--muted); }
.sidebar-user-text { min-width: 0; }
.sidebar-user-text a { color: var(--text); text-decoration: none; }
.sidebar-user-text strong, .sidebar-user-text span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 168px; }
.logout-form { margin-top: 8px; }
.logout-button, .link-button { padding: 0; border: 0; background: transparent; color: var(--muted); font: inherit; cursor: pointer; }
.logout-button { font-size: 12px; margin-left: 48px; }
.logout-button:hover, .link-button:hover { color: var(--text); text-decoration: underline; }

.auth-body { min-height: 100vh; background: #f4f4f3; display: grid; place-items: center; padding: 28px 16px; }
.auth-shell { width: 100%; max-width: 500px; }
.auth-brand { display: flex; align-items: center; gap: 10px; margin: 0 0 16px 8px; font-size: 14px; }
.auth-card { background: #fff; border: 1px solid #e7e8e5; border-radius: 28px; padding: 36px; box-shadow: 0 14px 40px rgba(23,25,23,.04); }
.auth-card h1 { font-size: 30px; }
.auth-form { margin-top: 26px; }
.auth-form label { display: block; font-size: 13px; font-weight: 650; margin-bottom: 8px; }
.auth-form input { width: 100%; border: 1px solid #dcdeda; border-radius: 11px; padding: 13px 14px; font: inherit; outline: none; background: #fff; }
.auth-form input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(132,146,134,.12); }
.full-button { width: 100%; margin-top: 14px; }
.code-input { text-align: center; letter-spacing: .38em; font-size: 25px !important; font-weight: 700; }
.notice { margin-top: 18px; border-radius: 11px; padding: 12px 14px; font-size: 13px; line-height: 1.45; }
.success-notice { background: #eef4ef; border: 1px solid #cad8cc; color: #3e5944; }
.error-notice { background: #fff1f0; border: 1px solid #f2c7c4; color: #812e29; }
.auth-actions { margin-top: 16px; display: flex; justify-content: space-between; gap: 14px; align-items: center; font-size: 13px; }
.auth-actions a { color: var(--muted); text-decoration: none; }
.auth-actions a:hover { color: var(--text); text-decoration: underline; }
.auth-actions form { margin: 0; }
.auth-footer { margin: 14px 8px 0; text-align: center; color: var(--muted); font-size: 12px; }
.organisation-list { margin-top: 24px; display: grid; gap: 10px; }
.organisation-option { width: 100%; border: 1px solid #e3e5e1; background: #fafbf9; border-radius: 14px; padding: 15px 16px; display: flex; justify-content: space-between; align-items: center; text-align: left; cursor: pointer; color: var(--text); }
.organisation-option:hover { border-color: #cbd1cb; background: #f5f7f4; }
.organisation-option strong, .organisation-option small { display: block; }
.organisation-option small { color: var(--muted); margin-top: 4px; }
.profile-panel { margin-top: 24px; min-height: 0; }
.profile-grid { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 22px 34px; }
.profile-grid div { padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.profile-grid dt { color: var(--muted); font-size: 12px; margin-bottom: 5px; }
.profile-grid dd { margin: 0; font-size: 15px; font-weight: 600; }
.employee-metrics .metric-card.dark strong { font-size: 22px; }
@media (max-width: 600px) { .auth-card { padding: 28px 22px; border-radius: 22px; } .profile-grid { grid-template-columns: 1fr; } .auth-actions { align-items: flex-start; flex-direction: column; } }

/* v0.2.1 — Projects-geïnspireerde Flex-login */
.auth-body-split {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
    background: #f7f5f0;
}
.login-layout {
    width: min(1040px, 100%);
    min-height: 652px;
    display: grid;
    grid-template-columns: 1fr 1.12fr;
    overflow: hidden;
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(34, 43, 37, .08);
    box-shadow: 0 28px 68px rgba(42, 49, 43, .11);
}
.login-visual {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 34px 40px 48px;
    color: #fff;
    background:
        linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,0) 38%),
        linear-gradient(180deg, #8c9a8e 0%, #6f8074 100%);
}
.login-logo { display: flex; align-items: center; gap: 16px; }
.login-logo-mark { position: relative; width: 52px; height: 58px; flex: 0 0 auto; }
.login-logo-mark::before { content: ""; position: absolute; left: 25px; top: 1px; width: 5px; height: 54px; border-radius: 3px; background: #fff; }
.login-logo-mark::after { content: ""; position: absolute; left: 8px; top: 28px; width: 28px; height: 5px; border-radius: 3px; background: #fff; transform: rotate(41deg); transform-origin: center; }
.login-logo-mark span { position: absolute; left: 7px; top: 26px; width: 5px; height: 23px; border-radius: 3px; background: #fff; }
.login-logo-mark i { position: absolute; left: 7px; bottom: 1px; width: 5px; height: 5px; border-radius: 50%; background: #fff; }
.login-logo-copy { display: grid; line-height: 1; }
.login-logo-copy strong { font-size: 28px; letter-spacing: .05em; }
.login-logo-copy span { margin-top: 5px; font-size: 12px; letter-spacing: .2em; font-weight: 700; }
.login-logo-copy em { margin-top: 6px; color: #efb775; font-size: 10px; font-style: normal; font-weight: 800; letter-spacing: .38em; }
.login-visual-copy { margin-top: auto; max-width: 430px; padding-bottom: 52px; }
.login-visual-copy h1 { margin: 0; color: #fff; font-size: clamp(38px, 4vw, 51px); line-height: 1.03; letter-spacing: -.035em; }
.login-visual-copy h1 span { color: #efb775; }
.login-gold-line { width: 64px; height: 3px; margin: 24px 0 20px; border-radius: 3px; background: #efb775; }
.login-visual-copy p { margin: 0; max-width: 410px; color: rgba(255,255,255,.9); font-size: 16px; line-height: 1.55; }
.login-form-panel { position: relative; min-width: 0; padding: 84px 70px 56px; background: #fff; }
.login-language { position: absolute; top: 58px; right: 70px; width: 264px; }
.login-language > span { display: block; margin: 0 4px 8px 0; text-align: right; color: #455049; font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.language-select { height: 54px; display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 8px; padding: 0 15px; border: 1px solid #d6ddd7; border-radius: 14px; color: #59625d; background: #fff; box-shadow: 0 10px 25px rgba(70, 82, 73, .06); }
.language-select b { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; color: #809084; background: #eef3ef; font-size: 17px; }
.language-select strong { font-size: 14px; }
.language-select > span { color: #7d8580; }
.login-form-wrap { width: min(420px, 100%); margin: 122px auto 0; }
.login-eyebrow { margin: 0 0 10px; color: #c87416; font-size: 11px; font-weight: 800; letter-spacing: .15em; }
.login-form-wrap h2 { margin: 0; color: #172238; font-size: 34px; line-height: 1.08; letter-spacing: -.03em; }
.login-subtitle { margin: 12px 0 0; color: #737a74; font-size: 14px; }
.login-auth-form { margin-top: 30px; }
.login-auth-form label { color: #2a322d; font-size: 13px; font-weight: 750; }
.login-auth-form input { min-height: 48px; border: 2px solid #829187; border-radius: 12px; padding: 11px 13px; box-shadow: 0 0 0 3px rgba(130,145,135,.16); }
.login-auth-form input:focus { border-color: #76877b; box-shadow: 0 0 0 4px rgba(130,145,135,.20); }
.login-submit { min-height: 49px; margin-top: 15px; border-radius: 11px; background: #849588; font-size: 14px; }
.login-submit:hover { filter: brightness(.96); }
.login-actions { color: #69726c; }
.login-policy { position: absolute; left: 0; right: 0; bottom: 50px; text-align: center; color: #708078; font-size: 12px; font-weight: 650; }
@media (max-width: 900px) {
    .auth-body-split { padding: 0; place-items: stretch; }
    .login-layout { min-height: 100vh; grid-template-columns: 1fr; border-radius: 0; }
    .login-visual { min-height: 280px; padding: 28px; }
    .login-visual-copy { padding: 56px 0 8px; }
    .login-visual-copy h1 { font-size: 38px; }
    .login-form-panel { min-height: 560px; padding: 44px 28px 88px; }
    .login-language { position: static; width: 100%; max-width: 300px; margin-left: auto; }
    .login-form-wrap { margin-top: 54px; }
}
@media (max-width: 520px) {
    .login-logo-copy strong { font-size: 23px; }
    .login-visual-copy h1 { font-size: 32px; }
    .login-form-panel { padding-left: 22px; padding-right: 22px; }
    .login-form-wrap h2 { font-size: 30px; }
}

/* v0.3.0 — vertrouwd toestel */
.remember-check {
    display: grid !important;
    grid-template-columns: 20px 1fr;
    align-items: start;
    gap: 10px;
    margin: 17px 0 2px !important;
    cursor: pointer;
    font-weight: 400 !important;
}
.remember-check input {
    width: 18px !important;
    min-height: 18px !important;
    height: 18px;
    margin: 2px 0 0;
    padding: 0 !important;
    box-shadow: none !important;
    accent-color: #849588;
}
.remember-check span { display: grid; gap: 2px; }
.remember-check strong { color: #2a322d; font-size: 13px; font-weight: 750; }
.remember-check small { color: #737a74; font-size: 11px; line-height: 1.4; font-weight: 400; }
.login-policy a { color: inherit; text-decoration: none; }
.login-policy a:hover { text-decoration: underline; }

/* v0.4.0 — Tijdregistratie v1, correcties en audit */
.status-pill { padding: 10px 14px; border: 1px solid var(--line); border-radius: 999px; background: #f7f8f6; color: var(--muted); font-size: 13px; font-weight: 700; }
.status-pill.status-live { background: #edf3ee; border-color: #cdd9cf; color: #3f5945; }
.page-notice { margin: 18px 0 0; }
.time-layout { align-items: stretch; }
.time-clock-card { min-height: 360px; }
.clock-state { margin-top: 42px; display: grid; gap: 6px; }
.clock-state strong { font-size: 30px; }
.clock-state span { color: var(--muted); font-size: 13px; }
.clock-actions { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 10px; }
.clock-actions form { margin: 0; }
.large-action { min-width: 180px; padding: 14px 22px; }
.secondary-button, .danger-button { border: 1px solid #d9dcd8; background: #fff; color: var(--text); padding: 12px 18px; border-radius: 11px; font-weight: 650; cursor: pointer; }
.secondary-button:hover { background: #f6f7f5; }
.danger-button { border-color: #e6c9c6; color: #8a302a; background: #fff8f7; }
.privacy-note { margin: 24px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.info-block { margin-top: 30px; padding: 18px; border-radius: 14px; border: 1px solid var(--line); background: #fafbf9; }
.info-block p { margin: 7px 0 0; color: var(--muted); line-height: 1.55; font-size: 13px; }
.table-panel { margin-top: 18px; min-height: 0; }
.table-wrap { margin-top: 22px; overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.data-table th { padding: 11px 12px; text-align: left; color: var(--muted); border-bottom: 1px solid var(--line); font-size: 11px; letter-spacing: .03em; text-transform: uppercase; }
.data-table td { padding: 14px 12px; border-bottom: 1px solid #eff0ed; vertical-align: middle; }
.data-table td small { display: block; margin-top: 3px; color: var(--muted); }
.table-status { display: inline-flex; align-items: center; padding: 5px 8px; border-radius: 999px; background: #f1f3f0; color: #59605b; font-size: 11px; font-weight: 700; }
.table-link { color: #53665a; font-weight: 700; text-decoration: none; }
.table-link:hover { text-decoration: underline; }
.detail-grid { grid-template-columns: 1.15fr .85fr; }
.edit-form { margin-top: 26px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.form-grid label, .reason-field { display: grid; gap: 7px; color: #343a36; font-size: 12px; font-weight: 700; }
.form-grid input, .reason-field textarea { width: 100%; border: 1px solid #dcdeda; border-radius: 10px; padding: 11px 12px; font: inherit; background: #fff; color: var(--text); }
.form-grid input:focus, .reason-field textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(132,146,134,.12); }
.reason-field { margin: 15px 0 18px; }
.reason-field b { color: #9c3c33; }
.reason-field small { color: var(--muted); font-weight: 400; line-height: 1.45; }
.event-list { margin-top: 22px; display: grid; gap: 9px; }
.event-row { display: flex; justify-content: space-between; gap: 14px; align-items: center; padding: 13px 14px; border: 1px solid var(--line); border-radius: 12px; }
.event-row strong, .event-row span { display: block; }
.event-row span { margin-top: 3px; color: var(--muted); font-size: 12px; }
.event-row small { color: var(--muted); text-align: right; }
.compact-empty { min-height: 100px; }
.audit-panel { margin-bottom: 20px; }
.audit-list { margin-top: 22px; display: grid; gap: 14px; }
.audit-entry { border: 1px solid var(--line); border-radius: 15px; padding: 18px; }
.audit-head { display: flex; align-items: start; justify-content: space-between; gap: 18px; }
.audit-head strong, .audit-head span { display: block; }
.audit-head > div > span { margin-top: 4px; color: var(--muted); font-size: 12px; }
.audit-reason { margin: 16px 0; padding: 12px 14px; border-radius: 10px; background: #f7f8f6; line-height: 1.5; font-size: 13px; }
.audit-values { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.audit-values > div { border: 1px solid #eceeeb; border-radius: 12px; padding: 13px; }
.audit-values > div > span { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.audit-values dl { margin: 10px 0 0; display: grid; grid-template-columns: 90px 1fr; gap: 7px 12px; font-size: 12px; }
.audit-values dt { color: var(--muted); }
.audit-values dd { margin: 0; font-weight: 650; }
@media (max-width: 980px) { .detail-grid, .audit-values { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .form-grid { grid-template-columns: 1fr; } .page-header { align-items: flex-start; flex-direction: column; } }
.button-link { text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.mini-list { margin-top: 24px; display: grid; gap: 8px; }
.mini-row { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 12px 13px; border: 1px solid var(--line); border-radius: 11px; }
.mini-row strong, .mini-row span { display: block; }
.mini-row span { margin-top: 3px; color: var(--muted); font-size: 12px; }
.mini-row b { font-size: 12px; }


/* v0.5.0 — platformeigenaar-context en medewerkers */
.context-switcher { position: fixed; top: 18px; right: 28px; z-index: 80; display: flex; align-items: center; gap: 8px; margin: 0; padding: 7px 8px 7px 12px; border: 1px solid #dfe4df; border-radius: 12px; background: rgba(255,255,255,.96); box-shadow: 0 8px 24px rgba(24,35,28,.08); backdrop-filter: blur(8px); }
.context-switcher-label { display: inline-block; margin: 0; color: #68716b; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.context-switcher form { display: flex; align-items: center; gap: 6px; margin: 0; }
.context-switcher select { width: auto; min-width: 132px; min-height: 34px; padding: 6px 30px 6px 10px; border: 1px solid #d8ddd9; border-radius: 8px; color: #222a25; background: #fff; font: inherit; font-size: 12px; font-weight: 750; cursor: pointer; outline: none; }
.context-switcher select:focus { border-color: #1976e9; box-shadow: 0 0 0 2px rgba(25,118,233,.14); }
.context-switcher option { color: #1f2421; background: #fff; }
.context-mode-note { position: absolute; top: calc(100% + 5px); right: 0; display: block; margin-top: 8px; color: #efc18c; font-size: 10px; line-height: 1.35; }
.employee-admin-grid { align-items: start; }
.employee-email-field input { width: 100%; border: 1px solid #dcdeda; border-radius: 10px; padding: 11px 12px; font: inherit; background: #fff; color: var(--text); }
.employee-email-field input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(132,146,134,.12); }

.context-switch-button { width: auto; margin-top: 0; padding: 8px 10px; border: 0; border-radius: 9px; background: rgba(255,255,255,.12); color: #fff; font: inherit; font-size: 11px; font-weight: 750; cursor: pointer; }
.context-switch-button:hover { background: rgba(255,255,255,.18); }

@media (max-width: 760px) {
  .context-switcher { position: static; order: 2; margin: 10px 0 0; flex-wrap: wrap; box-shadow: none; background: #f7f9f7; border-color: #e2e6e2; }
  .context-switcher form { flex: 1; }
  .context-switcher select { flex: 1; min-width: 0; }
  .context-mode-note { position: static; width: 100%; }
}

/* v0.6.0 — platformovername en werknemersuitnodigingen */
.context-switcher { max-width: min(880px, calc(100vw - 300px)); }
.context-switcher form { flex-wrap: wrap; justify-content: flex-end; }
.context-switcher select[name="organisation_id"] { min-width: 180px; max-width: 250px; }
.context-switcher select[name="employee_user_id"], .context-switcher select[name="manager_user_id"] { min-width: 190px; max-width: 290px; }
.context-mode-note { flex-basis: 100%; text-align: right; color: #68716b; font-size: 10px; line-height: 1.35; }
.inline-action-form { margin: 0; }
.compact-button { white-space: nowrap; padding: 8px 10px; font-size: 12px; }
@media (max-width: 980px) {
  .context-switcher { max-width: none; }
  .context-switcher form { justify-content: stretch; }
  .context-switcher select[name="organisation_id"], .context-switcher select[name="employee_user_id"], .context-switcher select[name="manager_user_id"] { min-width: 0; max-width: none; flex: 1 1 180px; }
  .context-mode-note { text-align: left; }
}
.context-switch-button { background: #34493e; color: #fff; }
.context-switch-button:hover { background: #293b32; }
.context-mode-note { position: static; margin: 0; }

/* v0.8.0 — individuele rechten en beveiligingsfundering */
.permission-intro { min-height: 0; margin-top: 18px; }
.permission-legend { display: flex; flex-wrap: wrap; gap: 12px 20px; margin-top: 18px; color: var(--muted); font-size: 12px; }
.permission-legend span { display: inline-flex; align-items: center; gap: 7px; }
.permission-dot { width: 9px; height: 9px; border-radius: 50%; background: #b5bbb6; }
.permission-dot.allowed { background: #64826b; }
.permission-dot.denied { background: #b76d68; }
.permission-dot.sensitive { background: #c88331; }
.permissions-form { display: grid; gap: 18px; margin-top: 18px; }
.permission-group, .permission-save { min-height: 0; }
.permission-list { margin-top: 18px; border-top: 1px solid var(--line); }
.permission-row { display: grid; grid-template-columns: minmax(0,1fr) 240px; gap: 28px; align-items: center; padding: 18px 0; border-bottom: 1px solid #eff0ed; }
.permission-copy p { margin: 5px 0 7px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.permission-copy small { color: #7d837e; }
.permission-title { display: flex; align-items: center; gap: 9px; font-weight: 750; }
.sensitive-badge { padding: 3px 7px; border-radius: 999px; background: #fff3e5; color: #a86418; font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.permission-select { display: grid; gap: 7px; color: #4b524d; font-size: 11px; font-weight: 750; }
.permission-select select { width: 100%; border: 1px solid #dcdeda; border-radius: 10px; padding: 10px 11px; font: inherit; background: #fff; color: var(--text); }
.permission-select select:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(132,146,134,.12); }
.text-allowed { color: #4f7357; }
.text-denied { color: #9a544f; }
.permission-save .primary-button { margin-top: 14px; }
.permission-audit-list { display: grid; gap: 14px; margin-top: 20px; }
.permission-change-list { display: grid; gap: 7px; margin-top: 12px; }
.permission-change-list > div { display: flex; justify-content: space-between; gap: 18px; padding: 9px 11px; border-radius: 9px; background: #f7f8f6; font-size: 12px; }
.permission-change-list span { color: var(--muted); text-align: right; }
@media (max-width: 760px) {
  .permission-row { grid-template-columns: 1fr; gap: 12px; }
  .permission-change-list > div { align-items: flex-start; flex-direction: column; gap: 4px; }
  .permission-change-list span { text-align: left; }
}

/* v0.9.0 — dagroosters en arbeidsregimes */
.edit-form { display:grid; gap:14px; margin-top:20px; }
.edit-form label { display:grid; gap:7px; color:#343a36; font-size:13px; font-weight:650; }
.edit-form input,.edit-form select { width:100%; min-height:44px; border:1px solid #dcdeda; border-radius:11px; padding:10px 12px; background:#fff; font:inherit; color:var(--text); }
.edit-form label small { color:var(--muted); font-weight:400; line-height:1.4; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.page-notice { margin:18px 0 0; }
.schedule-list { display:grid; gap:9px; margin-top:18px; }
.schedule-row { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 15px; border:1px solid var(--line); border-radius:12px; }
.schedule-row>div:first-child { display:grid; gap:4px; min-width:0; }
.schedule-row small { color:var(--muted); }
.schedule-times { display:flex; gap:10px; align-items:center; flex-wrap:wrap; justify-content:flex-end; color:var(--muted); font-size:12px; text-align:right; }
.schedule-times b { color:var(--text); }
.regime-builder { margin-top:18px; }
.regime-weeks { display:grid; gap:12px; max-height:660px; overflow:auto; padding-right:4px; }
.regime-week { border:1px solid var(--line); border-radius:14px; padding:14px; }
.regime-week>strong { display:block; margin-bottom:10px; }
.regime-days { display:grid; grid-template-columns:repeat(7,minmax(110px,1fr)); gap:8px; }
.regime-days label { gap:5px; }
.regime-days select { min-height:40px; padding:8px; }
@media(max-width:1100px){.regime-days{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:650px){.form-grid,.regime-days{grid-template-columns:1fr}.schedule-row{align-items:flex-start;flex-direction:column}.schedule-times{text-align:left;justify-content:flex-start}}

/* v0.10.0 — platform Systeembeheer en foutlog */
.system-badge { align-self:flex-start; padding:7px 10px; border-radius:999px; background:#edf2ee; color:#4b6252; font-size:11px; font-weight:800; }
.error-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; gap:9px; margin:18px 0; }
.error-filters select { min-height:42px; border:1px solid #dcdeda; border-radius:10px; padding:9px 11px; background:#fff; color:var(--text); font:inherit; }
.error-log-list { display:grid; border-top:1px solid var(--line); }
.error-log-row { display:grid; grid-template-columns:84px minmax(0,1fr) 90px; gap:14px; align-items:center; padding:14px 4px; border-bottom:1px solid var(--line); color:var(--text); text-decoration:none; }
.error-log-row:hover { background:#fafbf9; }
.error-log-row div { min-width:0; }
.error-log-row strong,.error-log-row small { display:block; }
.error-log-row strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.error-log-row small { margin-top:4px; color:var(--muted); font-size:11px; }
.severity-pill,.status-pill { display:inline-flex; justify-content:center; padding:5px 7px; border-radius:999px; font-size:9px; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.severity-info { background:#eef3f7; color:#4b677a; }.severity-warning { background:#fff4df; color:#96651d; }.severity-error { background:#fff0ef; color:#9a4e49; }.severity-critical { background:#632d2d; color:#fff; }
.status-pill { background:#f0f1ef; color:#656b66; }
.error-detail { margin-top:18px; }
.error-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:18px 0; }
.error-meta div { padding:11px 12px; border:1px solid var(--line); border-radius:10px; min-width:0; }
.error-meta dt { color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.error-meta dd { margin:5px 0 0; overflow-wrap:anywhere; font-size:12px; font-weight:650; }
.error-code { max-height:380px; overflow:auto; padding:14px; border-radius:10px; background:#1f2521; color:#eef3ef; font:11px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.error-detail textarea { width:100%; border:1px solid #dcdeda; border-radius:11px; padding:11px 12px; font:inherit; resize:vertical; }
@media(max-width:800px){.error-filters{grid-template-columns:1fr}.error-log-row{grid-template-columns:72px minmax(0,1fr)}.status-pill{grid-column:2;justify-self:start}.error-meta{grid-template-columns:1fr}}
/* v0.11.0 planning */
.week-nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.week-nav a{color:inherit;text-decoration:none;font-weight:700}.planning-generate{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end}.planning-generate label{display:grid;gap:6px}.planning-table-wrap{overflow:auto}.planning-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1100px}.planning-table th,.planning-table td{border-bottom:1px solid #e7e9e7;border-right:1px solid #eef0ee;padding:10px;vertical-align:top}.planning-table thead th{background:#f7f8f7;text-align:left}.planning-table thead small{display:block;font-weight:400}.plan-cell{display:grid;gap:4px;min-width:120px}.plan-cell span{font-size:13px}.plan-cell em,.plan-badge{font-size:11px;font-style:normal;font-weight:700;color:#6c5a16;background:#fff6cf;padding:3px 7px;border-radius:999px;width:max-content}.plan-cell.overridden{border-left:3px solid #c2a23a;padding-left:7px}.plan-cell details{margin-top:5px}.plan-cell summary{cursor:pointer;font-size:12px;font-weight:700}.plan-edit{display:grid;gap:5px;margin-top:8px}.plan-edit input,.plan-edit select,.plan-edit button{min-width:0;width:100%}.plan-empty{font-size:12px;color:#8b918d}.small-note{font-size:12px;margin-top:8px}.my-plan-list{display:grid;gap:10px}.my-plan-row{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #eceeec}.my-plan-row>div{display:grid;gap:3px}.my-plan-row span,.my-plan-row small{font-size:12px;color:#727973}.my-plan-row .plan-badge{color:#6c5a16}@media(max-width:900px){.planning-generate{grid-template-columns:1fr}.my-plan-row{grid-template-columns:1fr}.week-nav{margin-top:12px}}


/* v0.12.0 — gepland versus werkelijk, afwijkingen en versieweergave */
.sidebar-version{margin-top:10px;padding:0 4px;color:#8b918d;font-size:10px;line-height:1.4;letter-spacing:.02em}
.deviation-metrics{margin-top:18px}.deviation-filter select{min-height:40px;border:1px solid #dcdeda;border-radius:10px;padding:8px 10px;background:#fff;color:var(--text);font:inherit}.deviation-list{display:grid;margin-top:18px;border-top:1px solid var(--line)}.deviation-row{display:grid;grid-template-columns:5px minmax(260px,1.2fr) minmax(260px,1fr) auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.deviation-severity{align-self:stretch;border-radius:999px;background:#8fa096}.deviation-severity.warning{background:#c59a48}.deviation-severity.error{background:#b76560}.deviation-main{min-width:0}.deviation-heading{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.deviation-main p{margin:5px 0;color:var(--muted);font-size:12px;line-height:1.45}.deviation-main small{color:#7a817c}.deviation-badge{display:inline-flex;padding:4px 7px;border-radius:999px;background:#edf2ee;color:#52695a;font-size:10px;font-weight:800}.deviation-badge.warning{background:#fff4df;color:#96651d}.deviation-badge.error{background:#fff0ef;color:#9a4e49}.deviation-compare{display:grid;grid-template-columns:1fr 1fr;gap:9px}.deviation-compare>div{display:grid;gap:4px;padding:9px 10px;border:1px solid #eceeeb;border-radius:10px;background:#fafbf9}.deviation-compare span{color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.deviation-compare strong{font-size:12px}.text-link{color:#52695a;font-size:11px;font-weight:750;text-decoration:none;white-space:nowrap}.deviation-note{min-height:0}.hours-list{display:grid;margin-top:16px}.hours-row{display:grid;grid-template-columns:1fr 1.35fr 1.35fr .7fr;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.hours-row>div{display:grid;gap:4px;min-width:0}.hours-row span,.hours-row small{color:var(--muted);font-size:11px}.hours-row strong{font-size:12px}.hours-row .positive{color:#4f7357}.hours-row .negative{color:#9a544f}@media(max-width:900px){.deviation-row{grid-template-columns:5px 1fr}.deviation-compare,.deviation-row>.text-link{grid-column:2}.hours-row{grid-template-columns:1fr 1fr}}@media(max-width:600px){.deviation-compare,.hours-row{grid-template-columns:1fr}}

/* v0.14.0 — regelberekening en goedkeuringsflow */
.approval-run-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:16px}.approval-run-form label{display:grid;gap:6px;min-width:260px;color:#343a36;font-size:12px;font-weight:700}.approval-run-form select{min-height:43px;border:1px solid #dcdeda;border-radius:10px;padding:9px 11px;background:#fff;color:var(--text);font:inherit}.approval-list{display:grid;margin-top:18px;border-top:1px solid var(--line)}.approval-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.75fr);gap:22px;padding:18px 0;border-bottom:1px solid var(--line);align-items:start}.approval-main{display:grid;gap:6px;min-width:0}.approval-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.approval-heading strong{font-size:14px}.approval-time,.approval-premium{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf2ee;color:#52695a;font-size:10px;font-weight:800}.approval-premium{background:#fff3e5;color:#a86418}.approval-main p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.approval-main small{display:block;color:#7a817c;font-size:10px;line-height:1.45}.approval-actions{display:grid;gap:9px}.approval-actions form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.approval-actions input{min-height:40px;border:1px solid #dcdeda;border-radius:9px;padding:8px 10px;font:inherit;color:var(--text)}.danger-button{border:0;border-radius:10px;padding:10px 13px;background:#a95852;color:#fff;font-weight:750;cursor:pointer}.review-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800}.review-status.approved{background:#edf4ee;color:#4f7357}.review-status.rejected{background:#fff0ef;color:#9a544f}@media(max-width:860px){.approval-row{grid-template-columns:1fr}.approval-actions form{grid-template-columns:1fr}.approval-run-form{align-items:stretch;flex-direction:column}.approval-run-form label{min-width:0}}

/* v0.15.1 — moderne configuratie-layout voor Feestdagen en Referteperiodes */
.main-content{min-width:0;width:100%;max-width:1500px;margin:0 auto;padding:34px 34px 64px}
.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 24px}
.page-heading h1{font-size:34px;letter-spacing:-.035em;color:#172238}
.page-heading p{max-width:980px;margin:10px 0 0;color:#646c67;font-size:14px;line-height:1.6}
.settings-page{display:block}
.settings-heading{padding-right:min(620px,42vw)}
.settings-card{margin-top:18px;padding:22px 24px;background:#fff;border:1px solid #e5e8e5;border-radius:18px;box-shadow:0 8px 28px rgba(30,40,33,.035)}
.settings-card.no-margin{margin-top:0}
.settings-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:20px}
.settings-card-head h2{color:#1e2c48;font-size:18px;letter-spacing:-.01em}
.settings-card-head p{max-width:820px;margin:7px 0 0;color:#717872;font-size:12px;line-height:1.55}
.settings-card-head-action{align-items:center}
.settings-inline-action{display:flex;align-items:flex-end;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin:0}
.compact-field{display:grid;gap:6px;min-width:130px;color:#4a514c;font-size:11px;font-weight:750}
.compact-field input{min-height:42px;width:120px;border:1px solid #d9dfda;border-radius:10px;padding:8px 10px;background:#fff;color:#20251f;font:inherit}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid transparent;border-radius:10px;padding:10px 15px;font:inherit;font-size:12px;font-weight:750;cursor:pointer;text-decoration:none;transition:.15s ease}
.button.primary{background:#7e9183;color:#fff;border-color:#7e9183;box-shadow:0 4px 12px rgba(74,98,80,.12)}
.button.primary:hover{background:#6f8375;border-color:#6f8375;transform:translateY(-1px)}
.button.secondary,.button.secondary:visited{background:#fff;color:#405047;border-color:#cfd8d1;box-shadow:none;text-decoration:none}
.button.secondary:hover{background:#f4f7f4;color:#2e3d34;border-color:#bcc9bf;text-decoration:none;transform:translateY(-1px)}
.button.secondary:focus-visible{outline:3px solid rgba(99,132,108,.24);outline-offset:2px}
.button.small{min-height:36px;padding:8px 12px;font-size:11px}
.settings-alert{margin:0 0 16px;padding:12px 14px;border-radius:11px;font-size:12px;font-weight:650}
.alert.success{background:#edf5ef;border:1px solid #cfe0d2;color:#46644d}.alert.error{background:#fff1f0;border:1px solid #efc9c6;color:#8d3f39}
.settings-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 14px;align-items:end}
.settings-form-grid label{display:grid;gap:7px;min-width:0;color:#3f4742;font-size:11px;font-weight:750}
.settings-form-grid label>span{display:flex;align-items:center;gap:4px}
.settings-form-grid label>span b{color:#b4514b}.settings-form-grid label>span small{color:#8b918c;font-weight:500}
.settings-form-grid input,.settings-form-grid select{width:100%;min-width:0;min-height:43px;border:1px solid #d9dfda;border-radius:10px;padding:9px 11px;background:#fff;color:#20251f;font:inherit;font-size:12px;outline:none}
.settings-form-grid input::placeholder{color:#a0a6a1}.settings-form-grid input:focus,.settings-form-grid select:focus,.compact-field input:focus{border-color:#879b8c;box-shadow:0 0 0 3px rgba(126,145,131,.12)}
.settings-checkbox{display:flex!important;align-items:center!important;gap:8px!important;min-height:43px;padding:0 2px;cursor:pointer}
.settings-checkbox input{width:16px!important;min-height:16px!important;height:16px;margin:0;accent-color:#7e9183}.settings-checkbox span{font-size:12px;font-weight:650;white-space:nowrap}
.notes-field{grid-column:span 2}.notes-field.wide{grid-column:span 2}.form-actions{display:flex;align-items:center;justify-content:flex-start;min-height:43px}
.holiday-form-grid{grid-template-columns:1fr 1.5fr 1.2fr 1.2fr .8fr 1.6fr auto}
.reference-policy-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.input-with-suffix{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid #d9dfda;border-radius:10px;background:#fff;overflow:hidden}
.input-with-suffix:focus-within{border-color:#879b8c;box-shadow:0 0 0 3px rgba(126,145,131,.12)}
.input-with-suffix input{border:0!important;border-radius:0!important;box-shadow:none!important}.input-with-suffix small{padding:0 10px;color:#8a918c;font-size:10px;font-weight:700}
.settings-table-wrap{overflow-x:auto;border-top:1px solid #edf0ed}
.settings-table{width:100%;border-collapse:collapse;min-width:760px;font-size:12px}
.settings-table th{padding:11px 10px;text-align:left;color:#68716b;border-bottom:1px solid #e8ebe8;font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
.settings-table td{padding:12px 10px;border-bottom:1px solid #eef0ee;color:#353c37;vertical-align:middle}.settings-table tbody tr:last-child td{border-bottom:0}.settings-table tbody tr:hover{background:#fbfcfb}
.settings-table td strong{color:#222b25;font-weight:700}.settings-table td small{display:block;margin-top:3px;color:#8a918c;font-size:10px}.date-cell{white-space:nowrap;font-variant-numeric:tabular-nums}.notes-cell{max-width:300px;color:#6d756f!important}
.type-badge,.paid-indicator,.status-chip,.review-chip{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800;line-height:1.2;white-space:nowrap}
.type-badge.statutory{background:#edf3ef;color:#4d6857}.type-badge.replacement{background:#fff2df;color:#95651e}.type-badge.company{background:#eef1e8;color:#647048}
.paid-indicator.yes{background:#edf5ef;color:#4d7156}.paid-indicator.no{background:#f4f4f2;color:#777d78}
.settings-empty{min-height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px dashed #d9ddda;border-radius:13px;background:#fbfcfb;color:#8a918c;text-align:center;padding:24px}.settings-empty strong{color:#626a64;font-size:13px}.settings-empty span{font-size:11px;line-height:1.5}.compact-empty-state{min-height:105px}
.year-switch{display:flex;align-items:center;gap:9px;padding:5px;border:1px solid #e2e6e2;border-radius:10px;background:#fafbfa}.year-switch a,.year-switch strong{padding:6px 9px;color:#59645d;text-decoration:none;font-size:11px;font-weight:750}.year-switch a:hover{background:#eef1ee;border-radius:7px}.year-switch strong{color:#263029}
.settings-info-note{margin:18px 0 0;padding:16px 18px;border:1px solid #cfddd2;border-left:1px solid #cfddd2;border-radius:14px;background:#f2f7f3;box-shadow:0 1px 2px rgba(34,48,39,.03)}.settings-info-note strong{display:block;color:#33453a;font-size:12px}.settings-info-note p{margin:5px 0 0;color:#68726b;font-size:11px;line-height:1.55}
.settings-two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.single-column-form{grid-template-columns:1fr}.date-range-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.date-range-fields label{display:grid;gap:7px;color:#3f4742;font-size:11px;font-weight:750}
.policy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.policy-card{min-width:0;padding:15px;border:1px solid #e7ebe7;border-radius:13px;background:#fbfcfb}.policy-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.policy-card-top>div{min-width:0}.policy-card-top strong,.policy-card-top span{display:block}.policy-card-top strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#25322a;font-size:13px}.policy-card-top>div>span{margin-top:4px;color:#7b827d;font-size:10px}.status-chip{background:#f0f1ef;color:#747a75}.status-chip.active{background:#edf5ef;color:#4d7156}
.policy-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.policy-stats div{padding:9px;border:1px solid #edf0ed;border-radius:9px;background:#fff}.policy-stats span,.policy-stats b{display:block}.policy-stats span{color:#8a918c;font-size:9px}.policy-stats b{margin-top:4px;color:#344138;font-size:11px}.policy-card p{margin:11px 0 0;color:#747c76;font-size:10px;line-height:1.45}
.balance-value{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:850}.balance-value.positive{background:#edf5ef;color:#4d7156}.balance-value.negative{background:#fff0ef;color:#9a544f}.balance-value.neutral{background:#f0f1ef;color:#6d746f}
.review-chip{background:#f0f1ef;color:#69716b;text-transform:capitalize}.review-chip.pending{background:#fff3df;color:#95651e}.review-chip.auto_approved,.review-chip.approved{background:#edf5ef;color:#4d7156}.review-chip.rejected{background:#fff0ef;color:#9a544f}
@media(max-width:1180px){.settings-heading{padding-right:0}.settings-card-head-action{align-items:flex-start;flex-direction:column}.settings-inline-action{justify-content:flex-start}.holiday-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reference-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.policy-grid{grid-template-columns:1fr 1fr}.notes-field{grid-column:span 2}}
@media(max-width:900px){.main-content{padding:24px 18px 44px}.settings-two-column{grid-template-columns:1fr}.holiday-form-grid,.reference-policy-grid{grid-template-columns:1fr 1fr}.policy-grid{grid-template-columns:1fr}.notes-field,.notes-field.wide{grid-column:span 2}}
@media(max-width:620px){.main-content{padding:20px 14px 36px}.page-heading h1{font-size:29px}.settings-card{padding:18px 16px;border-radius:15px}.holiday-form-grid,.reference-policy-grid,.date-range-fields{grid-template-columns:1fr}.notes-field,.notes-field.wide{grid-column:auto}.settings-inline-action{width:100%}.settings-inline-action .compact-field{flex:1}.settings-inline-action .compact-field input{width:100%}.settings-inline-action .button{width:100%}.policy-stats{grid-template-columns:1fr}.settings-card-head{flex-direction:column}.year-switch{align-self:flex-start}}

/* v0.15.2 — settingspagina's visueel gelijkgetrokken met de rest van Flex */
.settings-page-header { margin-bottom: 0; }
.settings-page-header > div { max-width: 980px; }
.settings-page .settings-card h2 { color: var(--text); }
.settings-page .settings-card { box-shadow: none; border-color: #ededeb; }
.settings-page .settings-card-head p { color: var(--muted); font-size: 13px; }
.settings-page .settings-table th { color: var(--muted); }
.settings-page .settings-table td { font-size: 13px; }
.settings-page .settings-form-grid label { font-size: 12px; }
.settings-page .settings-form-grid input,
.settings-page .settings-form-grid select { min-height: 44px; font-size: 13px; }
.settings-page .form-actions { grid-column: 1 / -1; }
.holiday-form-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.reference-policy-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rule-set-form-grid { grid-template-columns: 1.2fr .8fr 1fr 1fr; }
.rule-form-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rules-activate-form { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); display: grid; grid-template-columns: minmax(260px, 1fr) auto; gap: 12px; align-items: end; }
.rules-activate-form label { display: grid; gap: 7px; color: #343a36; font-size: 12px; font-weight: 700; }
.rules-activate-form input { min-height: 44px; width: 100%; border: 1px solid #dcdeda; border-radius: 10px; padding: 10px 12px; font: inherit; background: #fff; color: var(--text); }
.rules-activate-form input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(132,146,134,.12); }
.selected-row { background: #f7f9f7; }
.rules-table { min-width: 820px; }

@media (max-width: 1180px) {
    .holiday-form-grid,
    .reference-policy-grid,
    .rule-set-form-grid,
    .rule-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .holiday-form-grid,
    .reference-policy-grid,
    .rule-set-form-grid,
    .rule-form-grid,
    .rules-activate-form { grid-template-columns: 1fr; }
    .notes-field,
    .notes-field.wide { grid-column: auto; }
    .rules-activate-form .button { width: 100%; }
}


/* v0.15.3 — kalenderjaar navigatie */
.holiday-year-action{align-items:flex-end}
.holiday-year-field{min-width:174px}
.year-picker{display:grid;grid-template-columns:42px minmax(76px,1fr) 42px;align-items:center;min-height:44px;border:1px solid #d9dfda;border-radius:11px;background:#fff;overflow:hidden}
.year-picker-arrow{display:flex;align-items:center;justify-content:center;height:100%;min-height:44px;color:#536158;text-decoration:none;font-size:18px;font-weight:800;transition:background .15s ease,color .15s ease}
.year-picker-arrow:hover{background:#f1f4f1;color:#263029}
.year-picker-current{display:flex;align-items:center;justify-content:center;min-height:44px;border-left:1px solid #edf0ed;border-right:1px solid #edf0ed;color:#263029;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}
.year-switch{gap:4px}
.year-switch a{display:flex;align-items:center;justify-content:center;width:34px;height:32px;padding:0;font-size:16px}
.year-switch strong{min-width:52px;text-align:center}
@media(max-width:620px){.holiday-year-action{display:grid;grid-template-columns:1fr}.holiday-year-field{width:100%;min-width:0}.year-picker{width:100%}}

/* v0.16.0 — overuren, vrijwillige overuren en inhaalrust */
/* v0.67.5 — overwerkbeleid: stabiele veldgrid en bruikbare referteperiode-toggle */
.overtime-policy-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:18px 16px}
.overtime-policy-grid>label{align-content:start}
.overtime-policy-grid>label>span{line-height:1.35;flex-wrap:wrap;min-width:0}
.overtime-policy-grid>label>small{display:block;color:#7a827c;font-size:10px;font-weight:500;line-height:1.4}
/* Fase 3A UX: dynamische roostergrenzen zijn volwaardige instellingskaarten.
   Zo blijven titel en hulptekst leesbaar en worden checkboxes niet door de algemene inputstijl verkleind. */
.overtime-policy-grid>.settings-checkbox:not(.overtime-reference-balance-toggle){grid-column:span 2;display:grid!important;grid-template-columns:28px minmax(0,1fr);align-items:start!important;gap:12px!important;min-height:88px;padding:14px 16px!important;border:1px solid #dde4de;border-radius:12px;background:#fafcfb;cursor:pointer}
.overtime-policy-grid>.settings-checkbox:not(.overtime-reference-balance-toggle) input[type=checkbox]{display:block!important;width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;margin:1px 0 0!important;padding:0!important;appearance:auto!important;accent-color:#7e9183;cursor:pointer}
.overtime-policy-grid>.settings-checkbox:not(.overtime-reference-balance-toggle)>span{display:grid!important;gap:5px;white-space:normal!important;line-height:1.35;min-width:0}
.overtime-policy-grid>.settings-checkbox:not(.overtime-reference-balance-toggle)>span strong{color:#3f4742;font-size:12px;font-weight:800}
.overtime-policy-grid>.settings-checkbox:not(.overtime-reference-balance-toggle)>span small{display:block;color:#6f7871;font-size:10px;font-weight:500;line-height:1.45}
.overtime-reference-balance-toggle{grid-column:span 2;display:grid!important;grid-template-columns:20px minmax(0,1fr);align-items:start!important;gap:10px!important;min-height:72px;padding:12px 14px!important;border:1px solid #e1e6e2;border-radius:11px;background:#fafcfb;cursor:pointer}
.overtime-reference-balance-toggle input[type=checkbox]{display:block!important;width:18px!important;height:18px!important;min-height:18px!important;margin:2px 0 0!important;padding:0!important;appearance:auto!important;accent-color:#7e9183;cursor:pointer}
.overtime-reference-balance-toggle>span{display:grid!important;gap:4px;white-space:normal!important;line-height:1.35;min-width:0}
.overtime-reference-balance-toggle>span strong{color:#3f4742;font-size:12px;font-weight:750}
.overtime-reference-balance-toggle>span small{color:#7a827c;font-size:10px;font-weight:500;line-height:1.4}
.overtime-agreement-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.overtime-table{margin-top:20px}
.overtime-filter{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) auto;gap:12px;align-items:end;margin:4px 0 18px}
.overtime-filter label,.overtime-adjust-form label,.overtime-decision-form label{display:grid;gap:6px;color:#3f4742;font-size:11px;font-weight:750}
.overtime-filter input,.overtime-filter select,.overtime-adjust-form input,.overtime-adjust-form select,.overtime-decision-form input,.overtime-decision-form select,.overtime-reject-form input{width:100%;min-height:42px;border:1px solid #d9dfda;border-radius:10px;padding:9px 11px;background:#fff;color:#20251f;font:inherit;font-size:12px;outline:none}
.overtime-candidate-list{display:grid;border-top:1px solid #e7eae7}
.overtime-candidate{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(500px,1.5fr);gap:20px;padding:18px 0;border-bottom:1px solid #e7eae7;align-items:start}
.overtime-candidate:last-child{border-bottom:0}
.overtime-candidate-copy{display:grid;gap:6px;min-width:0}
.overtime-candidate-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.overtime-candidate-copy p,.overtime-candidate-copy small{margin:0;color:#6e756f;font-size:11px;line-height:1.5}
.overtime-absolute-context{display:grid;gap:3px;padding:10px 12px;border:1px solid #ead8ad;border-radius:10px;background:#fffaf0;color:#5f4a1c}
.overtime-absolute-context strong{font-size:12px;color:#5f4a1c}
.overtime-absolute-context span{font-size:12px;font-weight:700;line-height:1.45}
.overtime-absolute-context small{color:#76633b!important}
.overtime-credit-context-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.overtime-credit-context-head .status-chip{margin-left:auto}
.overtime-credit-context-within{border-color:#cfdccd;background:#f8fbf7}
.overtime-credit-context-reached{border-color:#d9d2b4;background:#fffdf4}
.overtime-credit-context-exceeded{border-color:#e3c8ad;background:#fff8f1}
.overtime-candidate-actions{display:grid;gap:9px}
.overtime-decision-form{display:grid;grid-template-columns:1.5fr .7fr .8fr .9fr;gap:10px;align-items:end;padding:14px;border:1px solid #e3e7e3;border-radius:13px;background:#fafbfa}
.overtime-decision-form .wide{grid-column:span 3}
.overtime-premium-auto{display:grid;gap:4px;padding:10px 12px;border:1px solid #dfe6df;border-radius:10px;background:#fff;align-self:stretch}
.overtime-premium-auto strong{font-size:11px;color:#3f4742}
.overtime-premium-auto span{font-size:12px;font-weight:750;color:#20251f}
.overtime-premium-auto small{margin:0;color:#6e756f;font-size:10px;line-height:1.4}
.overtime-reject-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.overtime-adjust-form{display:grid;grid-template-columns:1.2fr .7fr .8fr 2fr auto;gap:12px;align-items:end;margin-top:18px;padding-top:18px;border-top:1px solid #e7eae7}
.overtime-warning{border-left:4px solid #c7a85c}
.overtime-warning h2{margin:0 0 7px;color:#1f2b22;font-size:16px}
@media(max-width:1150px){.overtime-policy-grid,.overtime-agreement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overtime-policy-grid>.settings-checkbox:not(.overtime-reference-balance-toggle){grid-column:1/-1}.overtime-reference-balance-toggle{grid-column:1/-1}.overtime-candidate{grid-template-columns:1fr}.overtime-decision-form{grid-template-columns:repeat(2,minmax(0,1fr))}.overtime-decision-form .wide{grid-column:span 2}.overtime-adjust-form{grid-template-columns:repeat(2,minmax(0,1fr))}.overtime-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.overtime-policy-grid,.overtime-agreement-grid,.overtime-filter,.overtime-decision-form,.overtime-adjust-form{grid-template-columns:1fr}.overtime-policy-grid>.settings-checkbox:not(.overtime-reference-balance-toggle){grid-column:auto;grid-template-columns:26px minmax(0,1fr);padding:12px 13px!important}.overtime-reference-balance-toggle{grid-column:auto}.overtime-decision-form .wide{grid-column:auto}.overtime-reject-form{grid-template-columns:1fr}}

/* v0.17.0 payroll */
.payroll-period-actions{display:flex;justify-content:flex-end;margin:0 0 14px}.settings-table td small{display:block;margin-top:4px;color:var(--muted,#718096)}.payroll-transition{margin-top:18px;padding-top:18px;border-top:1px solid rgba(15,23,42,.08)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;background:rgba(15,23,42,.05);padding:2px 6px;border-radius:6px}.status-chip.warning{background:#fff4d6;color:#8a5a00}

/* v0.18.0 — payrollcontrole, correcties na afsluiting en export */
.payroll-info-card{border-left:4px solid #83978a}.payroll-info-card strong{color:#33453a}.payroll-selected-head{align-items:center}.payroll-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:18px}.payroll-kpis>div{padding:13px 14px;border:1px solid #e7ebe7;border-radius:12px;background:#fbfcfb}.payroll-kpis span,.payroll-kpis strong{display:block}.payroll-kpis span{color:#7b827d;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.035em}.payroll-kpis strong{margin-top:5px;color:#263029;font-size:20px}.payroll-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:18px;padding-top:18px;border-top:1px solid #e7eae7}.payroll-inline-reason{display:flex;align-items:center;gap:8px;flex:1;justify-content:flex-end}.payroll-inline-reason input,.payroll-line-actions input,.payroll-line-actions select{min-height:38px;border:1px solid #d9dfda;border-radius:9px;padding:8px 10px;background:#fff;color:#20251f;font:inherit;font-size:11px}.payroll-inline-reason input{max-width:280px;width:100%}.payroll-lines-table{min-width:1180px}.payroll-lines-table td{vertical-align:top}.source-chip{display:inline-flex;padding:4px 7px;border-radius:999px;background:#f0f1ef;color:#69716b;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.03em}.source-chip.new{background:#edf3f8;color:#526b80}.source-chip.changed{background:#fff3df;color:#95651e}.source-chip.removed{background:#fff0ef;color:#9a544f}.status-chip.excluded{background:#f0f1ef;color:#69716b}.status-chip.review{background:#edf3f8;color:#526b80}.status-chip.pending{background:#fff3df;color:#95651e}.status-chip.assigned{background:#edf5ef;color:#4d7156}.status-chip.ignored{background:#f0f1ef;color:#69716b}.payroll-line-warning{background:#fffdf7}.payroll-line-excluded{opacity:.72}.payroll-line-actions{min-width:180px}.payroll-line-actions>summary{cursor:pointer;color:#52695a;font-size:11px;font-weight:800}.payroll-line-actions>div{display:grid;gap:8px;margin-top:9px;padding:10px;border:1px solid #e7eae7;border-radius:10px;background:#fafbfa}.payroll-line-actions form{display:grid;gap:7px}.payroll-adjust-form{padding-top:8px;border-top:1px solid #e7eae7}.payroll-export-form,.payroll-scan-form{margin:4px 0 16px}.payroll-config>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.payroll-config>summary::-webkit-details-marker{display:none}.payroll-config>summary span{color:var(--muted);font-size:11px}.payroll-config-body{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.payroll-config-body h3{margin:22px 0 12px;font-size:15px}.payroll-config-body h3:first-child{margin-top:0}.payroll-period-table{min-width:850px}.payroll-period-list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:16px 0 10px;color:var(--muted);font-size:12px}.payroll-period-list-toolbar>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.payroll-period-list-toolbar>div>strong{color:inherit}.payroll-period-list-toolbar form{display:flex;align-items:center;gap:8px}.payroll-period-list-toolbar label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:var(--muted)}.payroll-period-list-toolbar select{border:1px solid #d7dbd5;border-radius:9px;padding:8px 30px 8px 10px;background:#fff;font:inherit}.payroll-period-pagination{flex-wrap:wrap}
@media(max-width:1200px){.payroll-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.payroll-toolbar{align-items:stretch;flex-direction:column}.payroll-inline-reason{justify-content:flex-start}.payroll-inline-reason input{max-width:none}}
@media(max-width:700px){.payroll-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-inline-reason{align-items:stretch;flex-direction:column}.payroll-selected-head{align-items:flex-start}.payroll-config>summary{align-items:flex-start;flex-direction:column}}

/* v0.18.1 — compacte hoofdnavigatie en contextuele subnavigatie */
.sidebar{overflow:hidden}
.nav{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:2px;scrollbar-width:thin;scrollbar-color:#d8dbd7 transparent}
.nav::-webkit-scrollbar{width:6px}.nav::-webkit-scrollbar-thumb{background:#d8dbd7;border-radius:999px}.nav::-webkit-scrollbar-track{background:transparent}
.section-nav{display:flex;align-items:center;gap:6px;margin:14px 0 18px;padding:7px;border:1px solid #e6e9e6;border-radius:14px;background:#fff;overflow-x:auto;scrollbar-width:thin}
.section-nav-item{flex:0 0 auto;padding:9px 12px;border-radius:9px;color:#5e6761;text-decoration:none;font-size:12px;font-weight:750;white-space:nowrap;transition:background .15s ease,color .15s ease}
.section-nav-item:hover{background:#f4f6f4;color:#28312b}.section-nav-item.active{background:#edf1ed;color:#314238}
.work-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.work-time-card{display:flex;min-height:190px;flex-direction:column;padding:22px;border:1px solid #e6e9e6;border-radius:18px;background:#fff;color:inherit;text-decoration:none;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.work-time-card:hover{transform:translateY(-1px);border-color:#d7ddd8;box-shadow:0 8px 24px rgba(31,42,34,.045)}
.work-time-card-title{font-size:16px;font-weight:800;color:#233029}.work-time-card p{margin:9px 0 20px;color:var(--muted);font-size:12px;line-height:1.55}.work-time-card strong{margin-top:auto;color:#52695a;font-size:12px}
#payroll-periods,#payroll-corrections,#payroll-config{scroll-margin-top:18px}
@media(max-width:1100px){.work-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.sidebar{overflow:visible}.nav{overflow:visible}.section-nav{margin-top:12px}}
@media(max-width:650px){.work-time-grid{grid-template-columns:1fr}.section-nav{margin-left:-2px;margin-right:-2px}.section-nav-item{padding:9px 10px}}

/* v0.19.0 payroll validation & export profiles */
.payroll-preflight-grid{display:grid;grid-template-columns:minmax(240px,1.4fr) repeat(2,minmax(140px,.6fr));gap:12px;margin-bottom:16px}.payroll-preflight-grid>div{padding:14px 16px;border:1px solid #e7ebe7;border-radius:12px;background:#fbfcfb}.payroll-preflight-grid span,.payroll-preflight-grid strong{display:block}.payroll-preflight-grid span{margin-bottom:6px;color:#747c76;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.payroll-profile-select select,.payroll-provider-filter select,.employee-ref-form input{min-height:40px;border:1px solid #d9dfda;border-radius:9px;padding:8px 10px;background:#fff;color:#20251f;font:inherit}.payroll-profile-select select{width:100%}.preflight-state{font-size:15px}.preflight-state.ok{color:#436a4e}.preflight-state.blocked{color:#95594f}.preflight-list{display:grid;gap:8px;margin:14px 0 18px}.preflight-item{display:grid;grid-template-columns:100px 1fr;gap:12px;align-items:start;padding:11px 13px;border-radius:10px;border:1px solid #eceeea;background:#fafbfa;font-size:12px}.preflight-item.error{background:#fff6f4;border-color:#f1d9d4}.preflight-item.warning{background:#fffaf0;border-color:#efe2c5}.preflight-item strong{font-size:10px;text-transform:uppercase;letter-spacing:.035em}.payroll-profile-config{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.payroll-profile-config h3{margin:0 0 12px;font-size:15px}.compact-grid{margin-top:16px}.payroll-provider-filter{max-width:420px;margin:-6px 0 18px}.payroll-provider-filter label,.payroll-provider-filter label span{display:block}.payroll-provider-filter label span{margin-bottom:6px;font-size:11px;font-weight:750;color:#68716a}.payroll-provider-filter select{width:100%}.employee-ref-form{display:flex;gap:8px;align-items:center}.employee-ref-form input{min-width:180px}.button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}#payroll-export,#payroll-profiles,#payroll-employee-refs{scroll-margin-top:18px}
@media(max-width:900px){.payroll-preflight-grid{grid-template-columns:1fr 1fr}.payroll-preflight-grid>div:first-child{grid-column:1/-1}.employee-ref-form{align-items:stretch;flex-direction:column}}
@media(max-width:620px){.payroll-preflight-grid{grid-template-columns:1fr}.payroll-preflight-grid>div:first-child{grid-column:auto}.preflight-item{grid-template-columns:1fr}.employee-ref-form input{min-width:0;width:100%}}

/* v0.20.0 — rapporten & analyses */
.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.report-principle{margin-top:18px}.report-filter{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:12px;align-items:end}.report-filter label,.report-filter label span{display:block}.report-filter label span{margin-bottom:6px;color:#68716a;font-size:11px;font-weight:750}.report-filter input,.report-filter select{width:100%;min-height:42px;border:1px solid #d9dfda;border-radius:10px;padding:8px 10px;background:#fff;color:#20251f;font:inherit}.report-filter-actions{display:flex;align-items:end}.report-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:18px 0}.report-kpis{display:flex;flex-wrap:wrap;gap:10px}.report-kpis>div{min-width:120px;padding:12px 14px;border:1px solid #e7ebe7;border-radius:12px;background:#fbfcfb}.report-kpis span,.report-kpis strong{display:block}.report-kpis span{color:#7b827d;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.035em}.report-kpis strong{margin-top:4px;color:#263029;font-size:18px}.report-export-actions{display:flex;gap:8px}.report-table{min-width:860px}.report-description{max-width:460px;white-space:normal;line-height:1.5}.status-chip.error{background:#fff0ef;color:#9a544f}.status-chip.info{background:#edf3f8;color:#526b80}.status-chip.warning{background:#fff3df;color:#95651e}
@media(max-width:1150px){.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-actions{grid-column:1/-1}}
@media(max-width:720px){.report-grid,.report-filter{grid-template-columns:1fr}.report-filter-actions{grid-column:auto}.report-toolbar{align-items:stretch;flex-direction:column}.report-export-actions{justify-content:flex-start}}

/* v0.21.0 — afwezigheden & verlof */
.absence-request-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.absence-type-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.leave-entitlement-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.absence-balance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.absence-balance-grid>div{padding:15px 16px;border:1px solid #e7ebe7;border-radius:12px;background:#fbfcfb}.absence-balance-grid span,.absence-balance-grid strong,.absence-balance-grid small{display:block}.absence-balance-grid span{font-size:11px;color:#68716a;font-weight:750}.absence-balance-grid strong{margin-top:5px;font-size:20px;color:#263029}.absence-balance-grid small{margin-top:3px;color:#7b827d}.absence-request-list{display:grid;gap:12px}.absence-request-card{display:grid;grid-template-columns:minmax(260px,1fr) minmax(360px,.9fr);gap:20px;padding:18px;border:1px solid #e7ebe7;border-radius:14px;background:#fff}.absence-request-card h3{margin:7px 0 5px;font-size:15px}.absence-request-card p,.absence-request-card small{margin:0;color:#69716b;font-size:11px;line-height:1.55}.absence-request-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.absence-review-actions{display:grid;gap:8px}.absence-review-actions form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.absence-review-actions input,.absence-cancel-form input{min-height:40px;border:1px solid #d9dfda;border-radius:9px;padding:8px 10px;background:#fff;color:#20251f;font:inherit}.absence-cancel-form{display:flex;gap:7px;min-width:260px}.status-chip.pending{background:#fff3df;color:#95651e}.status-chip.approved{background:#edf5ef;color:#4d7156}.status-chip.rejected{background:#fff0ef;color:#9a544f}.status-chip.cancelled{background:#f0f1ef;color:#69716b}
@media(max-width:1100px){.absence-type-grid,.leave-entitlement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.absence-balance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.absence-request-card{grid-template-columns:1fr}}
@media(max-width:700px){.absence-request-grid,.absence-type-grid,.leave-entitlement-grid,.absence-balance-grid{grid-template-columns:1fr}.absence-review-actions form{grid-template-columns:1fr}.absence-cancel-form{min-width:0;flex-direction:column}}

/* v0.21.0 — afwezigheden & verlof */
.absence-request-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.absence-type-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.leave-entitlement-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.absence-balance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.absence-balance-grid>div{padding:15px 16px;border:1px solid #e7ebe7;border-radius:12px;background:#fbfcfb}.absence-balance-grid span,.absence-balance-grid strong,.absence-balance-grid small{display:block}.absence-balance-grid span{font-size:11px;color:#68716a;font-weight:750}.absence-balance-grid strong{margin-top:5px;font-size:20px;color:#263029}.absence-balance-grid small{margin-top:3px;color:#7b827d}.absence-request-list{display:grid;gap:12px}.absence-request-card{display:grid;grid-template-columns:minmax(260px,1fr) minmax(360px,.9fr);gap:20px;padding:18px;border:1px solid #e7ebe7;border-radius:14px;background:#fff}.absence-request-card h3{margin:7px 0 5px;font-size:15px}.absence-request-card p,.absence-request-card small{margin:0;color:#69716b;font-size:11px;line-height:1.55}.absence-request-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.absence-review-actions{display:grid;gap:8px}.absence-review-actions form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.absence-review-actions input,.absence-cancel-form input{min-height:40px;border:1px solid #d9dfda;border-radius:9px;padding:8px 10px;background:#fff;color:#20251f;font:inherit}.absence-cancel-form{display:flex;gap:7px;min-width:260px}.status-chip.pending{background:#fff3df;color:#95651e}.status-chip.approved{background:#edf5ef;color:#4d7156}.status-chip.rejected{background:#fff0ef;color:#9a544f}.status-chip.cancelled{background:#f0f1ef;color:#69716b}
@media(max-width:1100px){.absence-type-grid,.leave-entitlement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.absence-balance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.absence-request-card{grid-template-columns:1fr}}
@media(max-width:700px){.absence-request-grid,.absence-type-grid,.leave-entitlement-grid,.absence-balance-grid{grid-template-columns:1fr}.absence-review-actions form{grid-template-columns:1fr}.absence-cancel-form{min-width:0;flex-direction:column}}

/* v0.22.0 · Belgische wettelijke vakantie */
.annual-leave-info{display:grid;gap:12px}.annual-leave-note{margin:2px 0 0}.annual-leave-list{display:grid;gap:14px}.annual-leave-card{padding:18px;border:1px solid #e4e9e5;border-radius:14px;background:#fff}.annual-leave-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.annual-leave-card-head h3{margin:0 0 4px;font-size:16px}.annual-leave-card-head p{margin:0;color:#6b746d;font-size:12px}.annual-leave-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.annual-leave-grid small{display:block;margin-top:4px;color:#788079;font-size:10px;line-height:1.4}.annual-leave-check{display:flex!important;align-items:center;gap:9px;min-height:42px;padding:8px 10px;border:1px solid #e1e6e2;border-radius:10px;background:#fafbfa}.annual-leave-check input{width:auto;min-height:0;margin:0}.annual-leave-check span{font-size:11px;line-height:1.4}.annual-leave-result{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:15px;padding-top:15px;border-top:1px solid #edf0ed}.annual-leave-result>div{padding:12px 14px;border:1px solid #e7ebe7;border-radius:10px;background:#fbfcfb}.annual-leave-result span,.annual-leave-result strong{display:block}.annual-leave-result span{font-size:10px;color:#737b75;font-weight:750}.annual-leave-result strong{margin-top:4px;font-size:13px;color:#263029}.annual-leave-confirm{display:grid;grid-template-columns:minmax(180px,.6fr) minmax(280px,1.4fr) auto;gap:10px;align-items:end;margin-top:12px;padding:14px;border:1px solid #dfe8e1;border-radius:11px;background:#f8fbf8}.annual-leave-confirm label span{display:block;margin-bottom:5px;font-size:11px;font-weight:700}.annual-leave-confirm input{width:100%;min-height:40px;border:1px solid #d8ded9;border-radius:9px;padding:8px 10px;background:#fff;font:inherit}
@media(max-width:1100px){.annual-leave-grid,.annual-leave-result{grid-template-columns:repeat(2,minmax(0,1fr))}.annual-leave-confirm{grid-template-columns:1fr 1fr}.annual-leave-confirm .button{grid-column:1/-1;justify-self:start}}
@media(max-width:700px){.annual-leave-grid,.annual-leave-result,.annual-leave-confirm{grid-template-columns:1fr}.annual-leave-card-head{flex-direction:column}.annual-leave-confirm .button{grid-column:auto;width:100%}}

/* v0.22.1 — grouped system error log */
.system-error-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
.error-result-count { display:inline-flex; align-items:center; min-height:32px; padding:6px 10px; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:#fff; font-size:11px; font-weight:750; white-space:nowrap; }
.error-group-list { display:grid; gap:10px; margin-top:8px; }
.error-group-card { border:1px solid var(--line); border-radius:14px; background:#fff; overflow:hidden; }
.error-group-card[open] { box-shadow:0 8px 24px rgba(30,38,31,.06); border-color:#cfd5ce; }
.error-group-summary { display:grid; grid-template-columns:92px minmax(0,1fr) 72px 92px 24px; gap:12px; align-items:center; padding:14px 16px; cursor:pointer; list-style:none; }
.error-group-summary::-webkit-details-marker { display:none; }
.error-group-summary:hover { background:#fafbf9; }
.error-group-main { min-width:0; }
.error-group-main strong,.error-group-main small { display:block; }
.error-group-main strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.error-group-main small { margin-top:4px; color:var(--muted); font-size:11px; }
.error-group-count { text-align:right; }
.error-group-count strong,.error-group-count small { display:block; }
.error-group-count strong { font-size:14px; }
.error-group-count small { margin-top:2px; color:var(--muted); font-size:10px; }
.error-group-chevron { color:var(--muted); font-size:18px; transform:rotate(0deg); transition:transform .15s ease; }
.error-group-card[open] .error-group-chevron { transform:rotate(180deg); }
.error-group-body { padding:0 16px 16px; border-top:1px solid var(--line); background:#fcfdfb; }
.error-group-overview { padding-top:14px; }
.error-meta.compact { margin:0; grid-template-columns:repeat(3,minmax(0,1fr)); }
.error-message-box { margin-top:12px; padding:12px 14px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.error-message-box span { display:block; margin-bottom:5px; color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.error-message-box code { white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; }
.error-occurrence-section { margin-top:18px; }
.error-subheading { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:8px; }
.error-subheading h3 { margin:0 0 3px; font-size:14px; }
.error-subheading p { margin:0; font-size:11px; }
.error-occurrence-table { min-width:760px; }
.error-occurrence-table th,.error-occurrence-table td { font-size:11px; }
.error-stacktrace { margin-top:14px; }
.error-stacktrace summary { cursor:pointer; font-size:12px; font-weight:750; }
.error-group-action { display:grid; grid-template-columns:220px minmax(0,1fr) auto; gap:12px; align-items:end; margin-top:16px; padding:14px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.error-group-action label { display:grid; gap:6px; color:var(--muted); font-size:11px; font-weight:750; }
.error-group-action select,.error-group-action textarea { width:100%; border:1px solid #dcdeda; border-radius:10px; padding:9px 11px; background:#fff; color:var(--text); font:inherit; }
.error-group-action textarea { resize:vertical; min-height:72px; }
.status-new { background:#fff6d9; color:#715100; }
.status-reviewed { background:#eef3ff; color:#334f87; }
.status-resolved { background:#eaf7ee; color:#2d6c40; }
.status-ignored { background:#f1f2f1; color:#5f655f; }
@media(max-width:1100px){.system-error-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.error-group-summary{grid-template-columns:82px minmax(0,1fr) 64px 24px}.error-group-summary>.status-pill{display:none}.error-group-action{grid-template-columns:1fr}.error-group-action .primary-button{justify-self:start}.error-meta.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.system-error-metrics{grid-template-columns:1fr}.error-group-summary{grid-template-columns:76px minmax(0,1fr) 22px}.error-group-count{display:none}.error-meta.compact{grid-template-columns:1fr}.error-result-count{display:none}}
/* v0.22.2 compact system error console */
.error-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 18px}.error-kpi-grid article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:0 4px 14px rgba(30,38,31,.03)}.error-kpi-grid article span{display:block;color:var(--muted);font-size:12px}.error-kpi-grid article strong{display:block;margin-top:5px;font-size:24px}.error-kpi-grid article strong.date{font-size:17px}.error-kpi-grid article.danger{border-left:4px solid #c84b4b}.error-toolbar{display:flex;align-items:end;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafbf9}.error-toolbar label{display:grid;gap:5px;min-width:225px;font-size:11px;font-weight:700;color:var(--muted)}.error-toolbar select,.error-search-grid input,.error-search-grid select{border:1px solid #d7dbd5;border-radius:9px;padding:10px;background:#fff;font:inherit}.error-toolbar #selectedCount{font-size:12px;color:var(--muted);font-weight:700}.error-search-grid{display:grid;grid-template-columns:2.2fr repeat(4,minmax(130px,.8fr));gap:10px;margin-top:16px;align-items:end}.error-search-grid label{display:grid;gap:5px;font-size:11px;font-weight:700;color:var(--muted)}.filter-actions{display:flex;gap:8px;grid-column:1/-1}.error-list-head{display:flex;justify-content:space-between;align-items:center;margin:18px 0 8px;color:var(--muted);font-size:12px}.danger-button{border:1px solid #e3b4b1;background:#fff8f7;color:#ad332c;border-radius:9px;padding:9px 12px;font-weight:700;cursor:pointer}.error-master-table th{font-size:10px;letter-spacing:.04em}.error-master-table td{vertical-align:top}.error-master-table td small,.error-master-table td span{display:block}.error-master-table td small{margin-top:4px;color:var(--muted);font-size:10px}.error-row-toggle{border:0;background:none;padding:0;text-align:left;color:inherit;cursor:pointer;max-width:430px}.error-row-toggle strong,.error-row-toggle small{display:block}.error-row-toggle strong{font-size:12px;line-height:1.35}.error-inline-detail{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;padding:16px;background:#f8faf7;border-radius:10px}.error-inline-detail h3{margin:0 0 8px;font-size:13px}.error-inline-detail dl{display:grid;gap:7px;margin:0}.error-inline-detail dl div{display:grid;grid-template-columns:100px 1fr;gap:8px}.error-inline-detail dt{color:var(--muted);font-size:10px;font-weight:700}.error-inline-detail dd{margin:0;font-size:11px;overflow-wrap:anywhere}.error-inline-detail pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:10px;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:11px}.error-detail-row td{padding:0 12px 12px!important;border-top:0!important}.pagination{display:flex;gap:5px;justify-content:flex-end;margin-top:14px}.pagination a{padding:7px 10px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:inherit}.pagination a.active{background:#263c31;color:#fff;border-color:#263c31}@media(max-width:1200px){.error-kpi-grid{grid-template-columns:repeat(3,1fr)}.error-search-grid{grid-template-columns:repeat(2,1fr)}.error-inline-detail{grid-template-columns:1fr}}@media(max-width:700px){.error-kpi-grid{grid-template-columns:1fr 1fr}.error-toolbar{align-items:stretch;flex-direction:column}.error-toolbar label{min-width:0;width:100%}.error-search-grid{grid-template-columns:1fr}.error-list-head{align-items:flex-start;gap:10px;flex-direction:column}}

/* v0.23.0 bijzondere vakantierechten */
.special-leave-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.special-kind-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px;border:1px solid #e7ebe7;border-radius:12px;background:#fbfcfb}.special-kind-fields[hidden]{display:none}.inline-special-confirm{display:grid;grid-template-columns:110px minmax(180px,1fr) auto;gap:7px;align-items:center;min-width:480px}.inline-special-confirm input{min-height:38px;border:1px solid #d9dfda;border-radius:9px;padding:7px 9px;font:inherit}.status-chip.eligible{background:#edf5ef;color:#4d7156}.status-chip.needs_review{background:#fff3df;color:#95651e}.status-chip.not_eligible{background:#fff0ef;color:#9a544f}.status-chip.confirmed{background:#e9f2ec;color:#3f694c}@media(max-width:1100px){.special-leave-grid,.special-kind-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.special-leave-grid,.special-kind-fields{grid-template-columns:1fr}.inline-special-confirm{grid-template-columns:1fr;min-width:260px}}
.absence-types-table{min-width:980px}.absence-type-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.absence-type-actions form{margin:0}.secondary-button.compact,.danger-button.compact{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:8px;font-size:11px;line-height:1.1;text-decoration:none}.danger-button.compact{border-color:#efcaca;color:#a83232;background:#fff8f8}.danger-button.compact:hover{background:#fff0f0}.muted-note{color:#8a918c;font-size:11px;white-space:nowrap}

/* v0.25.0 · Gewaarborgd loon */
.sickness-salary-card{grid-template-columns:1fr}
.sickness-salary-actions{margin-top:16px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.sickness-salary-actions form{grid-template-columns:1fr;align-items:stretch;padding:14px;border:1px solid #e7ebe7;border-radius:12px;background:#fbfcfb}
.sickness-salary-actions h4{margin:0 0 4px;font-size:13px}
.sickness-salary-actions label{display:grid;gap:5px}
.sickness-salary-actions select,.sickness-salary-actions input{width:100%;min-height:40px;border:1px solid #d9dfda;border-radius:9px;padding:8px 10px;background:#fff;color:#20251f;font:inherit}
.sickness-salary-days{margin-top:16px}.sickness-salary-table{margin-top:12px}
@media(max-width:1200px){.sickness-salary-actions{grid-template-columns:1fr}}
/* v0.26.0 variabele uurroosters & publicatiefasen */
.planning-publish{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 2fr auto;gap:12px;align-items:end}.planning-publish label{display:grid;gap:6px}.plan-badge.published{background:#e8f3e8;color:#315b38}.publish-reason{min-width:210px}@media(max-width:1100px){.planning-publish{grid-template-columns:1fr 1fr 1fr}.publish-reason{min-width:0}}@media(max-width:700px){.planning-publish{grid-template-columns:1fr}}

/* v0.31.0 payrollvoorbereiding & maandcontrole */
.payroll-employee-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:10px}.payroll-employee-kpis>div{padding:13px 14px;border:1px solid #e7ebe7;border-radius:12px;background:#fbfcfb}.payroll-employee-kpis span,.payroll-employee-kpis strong{display:block}.payroll-employee-kpis span{color:#7b827d;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.payroll-employee-kpis strong{margin-top:5px;font-size:20px}.payroll-employee-kpis .ready{border-left:3px solid #6f9477}.payroll-employee-kpis .attention{border-left:3px solid #c7a85c}.payroll-employee-kpis .blocked{border-left:3px solid #bd655d}.payroll-employee-table{min-width:1280px}.payroll-employee-table td{vertical-align:top}.employee-readiness-blocked{background:#fffafa}.employee-readiness-attention{background:#fffdf7}.payroll-blocked-chip{background:#fff0ef!important;color:#9a544f!important}.payroll-issue-list{display:grid;gap:5px;min-width:250px}.payroll-issue{display:block;padding:5px 7px;border-radius:7px;font-size:10px;line-height:1.35}.payroll-issue.blocked{background:#fff0ef;color:#8f4b45}.payroll-issue.attention{background:#fff5df;color:#856125}.payroll-issue.ok{background:#edf5ef;color:#4d7156}.source-changed-note{color:#9a5f2a!important;font-weight:750}.employee-review-form{display:grid;gap:6px;min-width:170px}.employee-review-form input{width:100%;min-height:36px;border:1px solid #d9dfda;border-radius:8px;padding:7px 8px;font:inherit;font-size:10px}.payroll-month-check{scroll-margin-top:18px}@media(max-width:1150px){.payroll-employee-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.payroll-employee-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v0.33.1 - clearer leave balance policy flow */
.settings-form-grid .field-help{display:block;margin-top:-2px;color:#7a827c;font-size:10px;font-weight:500;line-height:1.35}

/* v0.35.1 - organisatiestructuur UX */
.os-primary-toggle{align-self:end;min-height:52px;display:flex!important;align-items:center;gap:11px;padding:10px 12px;border:1px solid #dfe4df;border-radius:10px;background:#fbfcfb;cursor:pointer}.os-primary-toggle input{position:absolute;opacity:0;pointer-events:none}.os-toggle-box{width:20px;height:20px;flex:0 0 20px;border:1.5px solid #aab4ac;border-radius:6px;background:#fff;position:relative;transition:.15s ease}.os-primary-toggle input:checked+.os-toggle-box{background:#829889;border-color:#829889}.os-primary-toggle input:checked+.os-toggle-box:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.os-primary-toggle input:focus-visible+.os-toggle-box{outline:3px solid rgba(91,120,99,.18);outline-offset:2px}.os-primary-toggle>span:last-child{display:grid;gap:2px}.os-primary-toggle strong{font-size:12px}.os-primary-toggle small{font-size:10px;color:#7b827d;font-weight:500}.os-empty-state{min-height:105px!important;margin-top:18px!important;padding:20px!important}.settings-card .data-table td:nth-child(2){max-width:360px}

/* v0.43.1 – Ziekte & arbeidsongeschiktheid */
.sickness-case-list{display:grid;gap:18px}
.sickness-case-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:22px;padding:22px;border:1px solid #e3e8e4;border-radius:16px;background:#fff}
.sickness-case-summary{display:grid;gap:16px;align-content:start;min-width:0}
.sickness-case-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.sickness-case-title-row h3{margin:7px 0 0;font-size:16px}
.sickness-case-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sickness-case-meta span{display:grid;gap:4px;padding:12px 14px;border:1px solid #e8ece9;border-radius:11px;background:#fafbfa;color:#636c65;font-size:12px;line-height:1.45}
.sickness-case-meta strong{color:#263029;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.sickness-case-actions{display:grid;gap:14px;align-content:start}
.sickness-action-panel{padding:16px;border:1px solid #e4e9e5;border-radius:13px;background:#fbfcfb}
.sickness-action-panel.return-panel{background:#f8faf8}
.sickness-subsection-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;color:#2e3731}
.sickness-subsection-head>div{display:grid;gap:3px}.sickness-subsection-head span{color:#7a827c;font-size:11px;font-weight:500}
.sickness-action-form{display:grid;gap:12px}.sickness-action-form label{display:grid;gap:6px;color:#4a534d;font-size:12px;font-weight:700}
.sickness-action-form input,.sickness-action-form select,.sickness-policy-form input{width:100%;min-width:0;min-height:43px;border:1px solid #d9dfda;border-radius:10px;padding:9px 11px;background:#fff;color:#20251f;font:inherit;font-size:13px;outline:none}
.sickness-action-form input:focus,.sickness-action-form select:focus,.sickness-policy-form input:focus{border-color:#879b8c;box-shadow:0 0 0 3px rgba(126,145,131,.12)}
.sickness-field-grid{display:grid;gap:10px}.sickness-field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.sickness-field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.sickness-documents-panel{padding:15px;border:1px solid #e4e9e5;border-radius:13px;background:#fbfcfb}
.sickness-muted{margin:0 0 10px;color:#7b837d;font-size:12px}
.sickness-document-list{display:grid;gap:8px;margin-bottom:10px}.sickness-document-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #e2e7e3;border-radius:10px;background:#fff;color:#263029;text-decoration:none}.sickness-document-link:hover{border-color:#cfd8d1}.sickness-document-link span{color:#768079;font-size:11px}
.sickness-upload-block{display:grid;gap:8px}.sickness-upload-copy{display:grid;gap:3px}.sickness-upload-copy span{color:#7b837d;font-size:11px;font-weight:500}
.sickness-dropzone{position:relative;display:grid!important;gap:5px!important;justify-items:center;align-content:center;min-height:150px;padding:18px;border:1.5px dashed #bfc9c1;border-radius:13px;background:#fafcf9;text-align:center;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.sickness-dropzone:hover,.sickness-dropzone.is-dragging{border-color:#83998a;background:#f5f9f5;box-shadow:0 0 0 3px rgba(126,145,131,.08)}
.sickness-dropzone.has-file{border-style:solid;border-color:#a9bcae;background:#f6faf7}
.sickness-dropzone input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.sickness-dropzone-title{font-size:13px!important;font-weight:750!important;color:#344038!important}.sickness-dropzone-help,.sickness-file-name{font-size:11px!important;color:#7a837c!important;font-weight:500!important}.sickness-file-name{word-break:break-word}
.sickness-file-clear{position:relative;z-index:2;margin-top:3px}.sickness-dropzone.compact{min-height:105px;padding:13px}
.sickness-inline-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.sickness-employee-list{display:grid;gap:12px}.sickness-employee-card{display:grid;grid-template-columns:minmax(220px,.8fr) auto minmax(320px,1.2fr);gap:16px;align-items:center;padding:16px;border:1px solid #e5eae6;border-radius:13px;background:#fff}.sickness-employee-summary{display:grid;gap:4px;color:#4b554e;font-size:12px}.sickness-employee-summary strong{color:#263029}
.sickness-policy-form{display:grid;gap:16px}.sickness-policy-group{padding:16px;border:1px solid #e5eae6;border-radius:13px;background:#fbfcfb}.sickness-policy-group h3{margin:0 0 12px;font-size:14px}.sickness-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sickness-policy-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.sickness-policy-grid>label{display:grid;gap:7px;color:#485149;font-size:12px;font-weight:700}
.sickness-toggle-field{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:start!important;gap:10px!important;padding:11px 12px;border:1px solid #e1e7e2;border-radius:10px;background:#fff}.sickness-toggle-field input{width:18px!important;min-height:18px!important;height:18px;margin:2px 0 0;padding:0}.sickness-toggle-field>span{display:grid!important;gap:3px!important}.sickness-toggle-field small{color:#7b837d;font-size:10px;font-weight:500;line-height:1.4}
.settings-info-note.compact-note{margin:0;padding:12px 14px}.settings-info-note.compact-note p{margin:4px 0 0}

@media(max-width:1180px){.sickness-case-card{grid-template-columns:1fr}.sickness-employee-card{grid-template-columns:1fr}.sickness-policy-grid.three{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.sickness-case-meta,.sickness-field-grid.two,.sickness-field-grid.three,.sickness-policy-grid,.sickness-policy-grid.three{grid-template-columns:1fr}.sickness-inline-upload{grid-template-columns:1fr}.sickness-document-link{align-items:flex-start;flex-direction:column}.sickness-case-card{padding:16px}}

/* v0.43.2 – compacte arbeidsongeschiktheidsdossiers */
.sickness-cases-card{overflow:visible}
.sickness-case-toolbar{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(170px,.7fr) minmax(190px,.8fr) auto;gap:12px;align-items:end;margin-bottom:16px;padding:14px;border:1px solid #e5eae6;border-radius:13px;background:#fbfcfb}
.sickness-case-toolbar label{display:grid;gap:6px;color:#4a534d;font-size:11px;font-weight:750}.sickness-case-toolbar input,.sickness-case-toolbar select{width:100%;min-height:41px;border:1px solid #d9dfda;border-radius:10px;padding:8px 10px;background:#fff;color:#20251f;font:inherit;font-size:12px;outline:none}.sickness-case-toolbar input:focus,.sickness-case-toolbar select:focus{border-color:#879b8c;box-shadow:0 0 0 3px rgba(126,145,131,.12)}
.sickness-filter-count{display:grid;justify-items:center;align-content:center;min-width:86px;min-height:41px;padding:7px 12px;border:1px solid #dfe5e0;border-radius:10px;background:#fff}.sickness-filter-count strong{font-size:17px;line-height:1}.sickness-filter-count span{margin-top:3px;color:#7b827d;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.sickness-case-table-head,.sickness-case-row{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(145px,.85fr) minmax(130px,.75fr) minmax(140px,.8fr) minmax(90px,.5fr) minmax(170px,.95fr) minmax(105px,.6fr) 28px;gap:12px;align-items:center}
.sickness-case-table-head{padding:0 16px 9px;color:#7a817c;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.sickness-case-list.compact-list{gap:8px}.sickness-case-item{border:1px solid #e3e8e4;border-radius:13px;background:#fff;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.sickness-case-item[open]{border-color:#cfd9d1;box-shadow:0 8px 22px rgba(43,58,48,.06)}
.sickness-case-row{list-style:none;padding:14px 16px;cursor:pointer;user-select:none;transition:background .15s ease}.sickness-case-row::-webkit-details-marker{display:none}.sickness-case-row:hover{background:#fafcfa}.sickness-case-item[open]>.sickness-case-row{background:#f8faf8;border-bottom:1px solid #e6ebe7}
.sickness-case-cell{min-width:0;color:#4d5650;font-size:11px;line-height:1.35}.sickness-case-cell.employee{display:grid;gap:2px}.sickness-case-cell.employee strong{overflow:hidden;color:#222b25;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.sickness-case-cell.employee small{overflow:hidden;color:#7c847e;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.sickness-case-cell.payroll{color:#667168}.sickness-case-cell .status-chip{display:inline-flex;max-width:100%;white-space:normal}
.sickness-case-chevron{width:10px;height:10px;border-right:2px solid #839087;border-bottom:2px solid #839087;transform:rotate(45deg);transition:transform .16s ease;justify-self:center}.sickness-case-item[open] .sickness-case-chevron{transform:rotate(225deg)}
.sickness-case-detail{padding:18px;background:#fff}.sickness-case-detail-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:22px}.sickness-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.sickness-detail-heading h3{margin:3px 0 0;font-size:16px}.sickness-detail-heading .eyebrow{font-size:9px}.mobile-label{display:none}
.sickness-filter-empty{margin-top:8px!important;min-height:80px!important;padding:18px!important}.sickness-filter-empty[hidden]{display:none!important}
@media(max-width:1280px){.sickness-case-toolbar{grid-template-columns:1fr 1fr 1fr auto}.sickness-case-table-head,.sickness-case-row{grid-template-columns:minmax(180px,1.1fr) minmax(145px,.85fr) minmax(130px,.75fr) minmax(140px,.8fr) minmax(90px,.5fr) minmax(165px,.95fr) 26px}.sickness-case-table-head span:nth-child(7),.sickness-case-row>.sickness-case-cell.payroll{display:none}.sickness-case-detail-grid{grid-template-columns:1fr}}
@media(max-width:900px){.sickness-case-toolbar{grid-template-columns:1fr 1fr}.sickness-filter-count{justify-self:stretch}.sickness-case-table-head{display:none}.sickness-case-row{grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:14px}.sickness-case-row>.sickness-case-cell{display:grid!important;grid-column:1;grid-template-columns:92px minmax(0,1fr);gap:8px}.sickness-case-row>.sickness-case-cell.employee{grid-template-columns:1fr;gap:2px;margin-bottom:3px}.sickness-case-row>.sickness-case-chevron{grid-column:2;grid-row:1 / span 6;align-self:center}.mobile-label{display:block;color:#8a918c;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.sickness-case-cell.employee strong{white-space:normal}.sickness-case-cell.employee small{white-space:normal}.sickness-case-detail{padding:14px}}
@media(max-width:620px){.sickness-case-toolbar{grid-template-columns:1fr}.sickness-case-detail{padding:12px}.sickness-case-row>.sickness-case-cell{grid-template-columns:78px minmax(0,1fr)}}

/* v0.43.6 - planning week navigation */
.planning-week-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px;padding:16px 18px}
.planning-week-toolbar .week-nav{margin:0}
.planning-week-jump{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.planning-week-jump label{display:grid;gap:5px;font-weight:700;font-size:13px}
.planning-week-jump input[type=date]{min-width:165px}
.planning-week-jump .button-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border:1px solid #dfe3df;border-radius:10px;text-decoration:none;color:inherit;font-weight:700;background:#fff}
@media(max-width:760px){.planning-week-toolbar{align-items:stretch}.planning-week-toolbar .week-nav,.planning-week-jump{width:100%;justify-content:space-between}.planning-week-jump label{flex:1;min-width:170px}.planning-week-jump input[type=date]{width:100%;min-width:0}}

/* v0.46.3 — snellere weeknavigatie en directe payroll-opvolging */
.week-jump-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px;padding:16px 18px}
.week-jump-toolbar .week-nav{margin:0}
.week-jump-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.week-jump-form label{display:grid;gap:5px;font-weight:700;font-size:13px}
.week-jump-form input[type=date]{min-width:165px}
.week-jump-form .button-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border:1px solid #dfe3df;border-radius:10px;text-decoration:none;color:inherit;font-weight:700;background:#fff}
.payroll-issue-action{display:inline-flex;margin-left:8px;color:inherit;font-size:10px;font-weight:800;text-decoration:underline;text-underline-offset:2px}
@media(max-width:760px){.week-jump-toolbar{align-items:stretch}.week-jump-toolbar .week-nav,.week-jump-form{width:100%;justify-content:space-between}.week-jump-form label{flex:1;min-width:170px}.week-jump-form input[type=date]{width:100%;min-width:0}.payroll-issue-action{margin-left:0;margin-top:4px}}

/* v0.43.9 — payrollbevestiging en responsieve regelacties */
.payroll-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
/* v0.160.68 — extra ruimte tussen woon-werkwaarschuwing en maandcontrole-acties */
.payroll-month-source-warning{margin-bottom:24px}
.payroll-employee-bulk{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0 0 14px}
.employee-review-form{display:flex;min-width:0;align-items:center;justify-content:flex-end}
.payroll-lines-table{min-width:1040px}
.payroll-lines-table th:last-child,.payroll-lines-table td:last-child{width:96px;min-width:96px}
.payroll-external-code{display:inline-block;max-width:150px;overflow-wrap:anywhere}
.payroll-line-manage-toggle{appearance:none;border:1px solid #d8dfda;border-radius:8px;background:#fff;padding:7px 10px;color:#52695a;font:inherit;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}
.payroll-line-manage-toggle:hover{background:#f4f7f4;border-color:#cbd6ce}
.payroll-line-action-row>td.payroll-line-modal-layer{position:fixed!important;inset:0!important;z-index:1200!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;padding:clamp(14px,3vw,36px)!important;background:rgba(24,32,27,.44)!important;border:0!important;backdrop-filter:blur(2px);overflow:auto}
.payroll-line-action-row[hidden]{display:none!important}
body.payroll-modal-open{overflow:hidden}
.payroll-line-action-panel{width:min(920px,calc(100vw - 32px));max-height:min(820px,calc(100vh - 48px));overflow:auto;box-sizing:border-box;margin:auto;padding:0;border:1px solid #dce4de;border-radius:18px;background:#fff;box-shadow:0 28px 70px rgba(20,30,23,.22);outline:none}
.payroll-line-action-heading{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px 16px;border-bottom:1px solid #e7ebe7;background:rgba(255,255,255,.98);border-radius:18px 18px 0 0}
.payroll-line-action-heading>div{min-width:0}.payroll-line-action-heading span,.payroll-line-action-heading strong{display:block}.payroll-line-action-heading>div>span:first-child{margin-bottom:4px;color:#7b827d;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.payroll-line-action-heading strong{color:#27322b;font-size:16px;line-height:1.35}.payroll-dialog-status{display:inline-flex!important;width:max-content;margin-top:8px;padding:4px 8px;border-radius:999px;background:#eef2ef;color:#617067;font-size:9px!important;font-weight:800!important;text-transform:none!important;letter-spacing:0!important}
.payroll-line-action-close{appearance:none;border:1px solid #d8dfda;border-radius:8px;background:#fff;padding:8px 11px;color:#5f6b63;font:inherit;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}.payroll-line-action-close:hover{background:#f4f7f4}
.payroll-line-action-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding:20px 22px 22px;align-items:start}
.payroll-confirm-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #dce8df;border-radius:13px;background:#f7fbf8}.payroll-confirm-card>div{min-width:0}.payroll-confirm-card strong,.payroll-confirm-card span{display:block}.payroll-confirm-card strong{font-size:13px;color:#2e3d33}.payroll-confirm-card span{margin-top:4px;max-width:560px;color:#6f7871;font-size:11px;line-height:1.45}.payroll-confirm-card .button{min-width:150px;min-height:42px}
.payroll-line-source-context{display:grid;gap:16px;padding:18px;border:2px solid #b7ceb9;border-radius:16px;background:#f8fbf8}.payroll-line-source-context-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid #d9e4da}.payroll-line-source-context-head>div{min-width:0}.payroll-line-source-context-head strong,.payroll-line-source-context-head p,.payroll-source-kicker{display:block}.payroll-source-kicker{margin-bottom:5px;color:#68796d;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.payroll-line-source-context-head strong{font-size:14px;color:#27382d}.payroll-line-source-context-head p{margin:4px 0 0;max-width:760px;color:#66736a;font-size:11px;line-height:1.45}.payroll-line-source-context-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.payroll-line-source-context-grid>div{min-width:0;padding:12px 13px;border:1px solid #dbe6dc;border-radius:12px;background:#fff}.payroll-line-source-context-grid span,.payroll-line-source-context-grid strong,.payroll-line-source-context-grid small{display:block}.payroll-line-source-context-grid span{margin-bottom:5px;color:#718078;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.payroll-line-source-context-grid strong{overflow-wrap:anywhere;color:#26372c;font-size:12px;line-height:1.35}.payroll-line-source-context-grid small{margin-top:4px;color:#727c75;font-size:10px;line-height:1.35}.payroll-line-source-context-grid a{display:inline-block;margin-top:6px;color:#355d46;font-size:10px;font-weight:750}.payroll-line-source-context-grid .payroll-source-reason{grid-column:span 2}.payroll-correction-delta{color:#2d6540!important}.payroll-line-source-actions{display:flex;flex-wrap:wrap;gap:8px}
.payroll-line-source-actions .button.secondary.small,
.payroll-line-source-actions a.button.secondary.small:visited{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border:1px solid #cfd8d1;border-radius:10px;background:#fff;color:#33453a;text-decoration:none;font-weight:800;line-height:1.2;box-shadow:none}
.payroll-line-source-actions .button.secondary.small:hover{background:#f4f8f5;border-color:#acbdb1;color:#2e4235;text-decoration:none}
.payroll-line-source-actions .button.secondary.small:focus-visible{outline:3px solid rgba(99,132,108,.24);outline-offset:2px}
.payroll-minutes-preview{display:block;margin-top:6px;color:#5f6f65;font-size:10px;font-weight:750}
.payroll-adjust-form-wide{display:grid;width:100%;box-sizing:border-box;gap:14px;padding:18px;border:1px solid #e4e8e4;border-radius:13px;background:#fbfcfb;overflow:hidden}
.payroll-action-form-title{padding-bottom:12px;border-bottom:1px solid #e8ece8}.payroll-action-form-title strong,.payroll-action-form-title span{display:block}.payroll-action-form-title strong{font-size:13px;color:#2d372f}.payroll-action-form-title span{margin-top:4px;max-width:720px;color:#717a73;font-size:11px;line-height:1.45}
.payroll-adjust-fields{display:grid;width:100%;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:14px 18px;align-items:stretch;box-sizing:border-box}.payroll-adjust-form-wide label,.payroll-adjust-form-wide label span{display:block}.payroll-adjust-form-wide label{min-width:0}.payroll-adjust-form-wide label span{margin-bottom:6px;color:#68716a;font-size:10px;font-weight:750}.payroll-adjust-form-wide input,.payroll-adjust-form-wide select{width:100%;min-width:0;min-height:44px;box-sizing:border-box;border:1px solid #d9dfda;border-radius:9px;padding:9px 11px;background:#fff;color:#20251f;font:inherit;font-size:11px}
.payroll-reason-field{grid-column:1/-1}.payroll-value-callout{grid-column:2;grid-row:1;display:grid;align-content:center;min-width:0;min-height:44px;box-sizing:border-box;padding:11px 13px;border:1px solid #dfe7e1;border-radius:9px;background:#f5f8f5;color:#5f6d63}.payroll-value-callout strong,.payroll-value-callout span{display:block}.payroll-value-callout strong{margin-bottom:2px;color:#3f4d43;font-size:10px;font-weight:800}.payroll-value-callout span{font-size:10px;line-height:1.4}
.payroll-adjust-form-wide .is-disabled{opacity:.48}.payroll-action-footer{display:flex;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box;gap:18px;padding-top:4px}.payroll-action-footer small{min-width:0;color:#778078;font-size:10px;line-height:1.4}.payroll-action-footer .button{flex:0 0 auto;min-height:42px;min-width:150px;white-space:nowrap}
.special-review-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.special-reject-details{position:relative}.special-reject-details>summary{cursor:pointer;list-style:none;color:#8d514b;font-size:11px;font-weight:800}.special-reject-details>summary::-webkit-details-marker{display:none}.special-reject-details>form{display:grid;gap:8px;margin-top:8px;min-width:260px;padding:12px;border:1px solid #eadedc;border-radius:10px;background:#fffafa}.special-reject-details label,.special-reject-details label span{display:block}.special-reject-details label span{margin-bottom:5px;color:#756b69;font-size:10px;font-weight:750}.special-reject-details input{width:100%;min-height:38px;border:1px solid #ddd5d3;border-radius:8px;padding:8px 9px;background:#fff;font:inherit;font-size:11px}
@media(max-width:760px){.payroll-month-source-warning{margin-bottom:16px}.payroll-toolbar-actions,.payroll-employee-bulk{align-items:stretch;flex-direction:column}.payroll-employee-bulk .button,.payroll-toolbar-actions .button{width:100%}.payroll-line-action-row>td.payroll-line-modal-layer{align-items:stretch!important;padding:0!important}.payroll-line-action-panel{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0}.payroll-line-action-heading{padding:16px;border-radius:0}.payroll-line-action-heading strong{font-size:14px}.payroll-line-action-grid{padding:16px}.payroll-adjust-form-wide{padding:14px}.payroll-adjust-fields{grid-template-columns:1fr}.payroll-reason-field,.payroll-value-callout{grid-column:auto;grid-row:auto}.payroll-action-footer{align-items:stretch;flex-direction:column}.payroll-action-footer .button{width:100%}.payroll-confirm-card{align-items:stretch;flex-direction:column}.payroll-confirm-card .button{width:100%}.special-reject-details>form{min-width:0;width:min(320px,calc(100vw - 70px))}}

/* v0.44.0 — payrollworkflow, bulkcontrole en responsieve maandcontrole */
.payroll-employee-list{display:grid;gap:12px}
.payroll-employee-card{border:1px solid #e2e7e3;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 4px 14px rgba(31,42,34,.025)}
.payroll-employee-card.employee-readiness-blocked{border-left:4px solid #bd655d;background:#fffafa}
.payroll-employee-card.employee-readiness-attention{border-left:4px solid #c7a85c;background:#fffdf7}
.payroll-employee-card.employee-readiness-ready{border-left:4px solid #6f9477}
.payroll-employee-card-head{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid #edf0ed}
.payroll-employee-select{display:flex;align-items:center;justify-content:center;min-width:22px}.payroll-employee-select input,.payroll-line-select-col input{width:17px;height:17px;accent-color:#52695a;cursor:pointer}
.payroll-employee-identity{display:grid;min-width:0;gap:3px}.payroll-employee-identity strong{font-size:13px;color:#28332c}.payroll-employee-identity small{overflow:hidden;color:#7a837c;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.payroll-employee-state{display:grid;justify-items:end;gap:5px;text-align:right}.payroll-employee-state small{max-width:240px;color:#7b827d;font-size:10px;line-height:1.35}
.payroll-employee-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-bottom:1px solid #edf0ed}
.payroll-employee-metrics>div{display:grid;align-content:start;gap:3px;min-width:0;padding:13px 16px;border-right:1px solid #edf0ed}.payroll-employee-metrics>div:last-child{border-right:0}
.payroll-employee-metrics span{color:#7a827c;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.payroll-employee-metrics strong{color:#2b362f;font-size:15px}.payroll-employee-metrics small{color:#838b85;font-size:9px}
.payroll-employee-card-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 16px}.payroll-employee-card-foot .payroll-issue-list{min-width:0}.payroll-employee-action{display:flex;justify-content:flex-end}.payroll-no-action{color:#9aa09c}
.payroll-line-bulk-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:11px 12px;border:1px solid #e5e9e5;border-radius:11px;background:#fafbfa}.payroll-line-bulk-toolbar small{margin-left:auto;color:#7a827c;font-size:10px}.payroll-selection-count{color:#657068;font-size:11px;font-weight:750}.payroll-line-select-col{width:42px!important;min-width:42px!important;text-align:center}.payroll-lines-table{min-width:1090px}.payroll-lines-table th:last-child,.payroll-lines-table td:last-child{width:96px;min-width:96px}
.approval-quick-form{display:inline-flex;margin:0}.approval-reject-details>form{z-index:3}.declaration-review-actions{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}
.testdata-blocker-card .error-kpi-grid{margin-top:12px}
@media(max-width:1000px){.payroll-employee-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-employee-metrics>div:nth-child(2){border-right:0}.payroll-employee-metrics>div:nth-child(-n+2){border-bottom:1px solid #edf0ed}}
@media(max-width:700px){.payroll-employee-card-head{grid-template-columns:auto minmax(0,1fr)}.payroll-employee-state{grid-column:1/-1;justify-items:start;text-align:left;padding-left:34px}.payroll-employee-state small{max-width:none}.payroll-employee-metrics{grid-template-columns:1fr}.payroll-employee-metrics>div{border-right:0!important;border-bottom:1px solid #edf0ed}.payroll-employee-metrics>div:last-child{border-bottom:0}.payroll-employee-card-foot{grid-template-columns:1fr}.payroll-employee-action,.payroll-employee-action .employee-review-form,.payroll-employee-action .button{width:100%}.payroll-line-bulk-toolbar{align-items:stretch;flex-direction:column}.payroll-line-bulk-toolbar .button{width:100%}.payroll-line-bulk-toolbar small{margin-left:0}.declaration-review-actions{align-items:stretch;flex-direction:column}}

/* v0.44.1 — payroll audittrail filters/paginering en exportscope */
.payroll-audit-filters{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;align-items:end;margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafbf9}.payroll-audit-filters label{display:grid;gap:6px;min-width:0}.payroll-audit-filters label>span{font-size:11px;font-weight:700;color:var(--muted)}.payroll-audit-filters input,.payroll-audit-filters select{width:100%;min-width:0;border:1px solid #d7dbd5;border-radius:9px;padding:10px;background:#fff;font:inherit}.payroll-audit-search{grid-column:span 2}.payroll-audit-filter-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.payroll-audit-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:2px 0 10px;color:var(--muted);font-size:12px}.payroll-export-scope{margin-bottom:14px}.payroll-audit-card .pagination{flex-wrap:wrap}
@media(max-width:1200px){.payroll-audit-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.payroll-audit-search{grid-column:span 2}}
@media(max-width:760px){.payroll-audit-filters{grid-template-columns:1fr 1fr}.payroll-audit-search{grid-column:1/-1}.payroll-audit-summary{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.payroll-audit-filters{grid-template-columns:1fr}.payroll-audit-search{grid-column:auto}.payroll-audit-filter-actions{flex-direction:column}.payroll-audit-filter-actions .button{width:100%}.payroll-audit-card .pagination{justify-content:flex-start}.payroll-period-list-toolbar{align-items:flex-start;flex-direction:column}.payroll-period-pagination{justify-content:flex-start}}

/* v0.44.2 — payrolloverdracht PRG/download en ruimere correctievelden bijzondere prestaties */
.payroll-transfer-download-frame,.payroll-transfer-auto-download-form{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;padding:0!important;margin:-1px!important}
.special-correction-details[open]{width:min(700px,calc(100vw - 110px));max-width:700px}
.special-correction-panel{display:grid!important;gap:12px!important;padding:14px!important}
.special-correction-form{grid-template-columns:minmax(160px,220px) minmax(260px,1fr)!important;gap:14px!important;align-items:start!important}
.special-correction-form .special-correction-text{grid-column:1/-1!important}
.special-correction-form textarea{width:100%;min-width:0;min-height:96px;border:1px solid #d9dfda;border-radius:10px;padding:11px 12px;background:#fff;color:#20251f;font:inherit;font-size:12px;line-height:1.45;resize:vertical;outline:none}
.special-correction-form textarea[name="reason"]{min-height:118px}
.special-correction-form textarea:focus{border-color:#879b8c;box-shadow:0 0 0 3px rgba(126,145,131,.12)}
.special-correction-form>.form-actions{grid-column:1/-1;min-height:0;margin-top:2px}
@media(max-width:760px){.special-correction-details[open]{width:min(560px,calc(100vw - 64px));max-width:none}.special-correction-form{grid-template-columns:1fr!important}.special-correction-form .special-correction-text,.special-correction-form>.form-actions{grid-column:auto!important}.special-correction-form textarea{min-height:108px}}

/* v0.46.2 — compacte gegroepeerde Arbeidstijd-subnavigatie */
.section-nav-work-time{display:block;overflow:visible;padding:0;border:0;border-radius:0;background:transparent;scrollbar-width:auto}
.section-nav-groups,.section-nav-subitems{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:7px;border:1px solid #e6e9e6;border-radius:14px;background:#fff}
.section-nav-subitems{margin-top:7px;background:#f8faf8}
.section-nav-group-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 13px;border-radius:9px;color:#5e6761;text-decoration:none;font-size:12px;font-weight:800;white-space:nowrap;transition:background .15s ease,color .15s ease}
.section-nav-group-link:hover{background:#f4f6f4;color:#28312b}
.section-nav-group-link.active{background:#e8eee9;color:#314238}
#control-payrollinput{scroll-margin-top:18px}
@media(max-width:650px){
  .section-nav-work-time{margin-left:0;margin-right:0}
  .section-nav-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .section-nav-group-link{width:100%;white-space:normal;text-align:center}
  .section-nav-subitems{align-items:stretch}
  .section-nav-subitems .section-nav-item{white-space:normal}
}


/* v0.47.0 — operationele planning */
#planning-workspace,#planning-shift,#planning-prepare,#planning-publish,#planning-week,#payroll-export{scroll-margin-top:18px}
.planning-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.planning-kpi{display:grid;gap:4px;padding:16px}.planning-kpi>span{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.planning-kpi>strong{font-size:25px;line-height:1.1}.planning-kpi>small{color:var(--muted);font-size:10px;line-height:1.4}.planning-kpi{border:1px solid #dfe5e0}
.planning-kpi--workversions{border-color:#cbd9df}
.planning-kpi--published{border-color:#c8dccd}
.planning-kpi--changed{border-color:#e1d29f}
.planning-kpi--conflicts{border-color:#e1b9aa}
.planning-kpi--worktime{border-color:#deb8b2}
.planning-kpi--changed.attention{border-color:#d6bd73}
.planning-kpi--conflicts.blocked{border-color:#d69885}
.planning-kpi--worktime.attention{border-color:#d7a39b}
.planning-kpi--worktime.blocked{border-color:#ce877e}
.planning-section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}.planning-section-head h2{margin-bottom:4px}
.planning-shift-form{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;align-items:end}.planning-shift-form label{display:grid;gap:6px;min-width:0}.planning-shift-form label>span{font-size:11px;font-weight:750;color:var(--muted)}.planning-shift-form input,.planning-shift-form select{width:100%;min-width:0}.planning-shift-form small{font-size:9px;color:var(--muted)}.planning-wide-field{grid-column:span 2}.planning-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end}
.plan-unit{font-size:10px!important;font-weight:700!important;color:#56635a!important}.plan-note{font-size:10px!important;color:#737d76!important;line-height:1.35}.plan-badge.changed{background:#fff0d6;color:#78541b}.plan-cell.has-conflict{border-left-color:#bd655d;background:#fffafa}.plan-conflicts{display:grid;gap:3px;margin-top:3px}.plan-conflicts span{font-size:10px;color:#8a413c;line-height:1.3}.plan-edit input[name="schedule_name"],.plan-edit input[name="operational_note"]{font-size:11px}
@media(max-width:1100px){.planning-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-shift-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.planning-kpi-grid,.planning-shift-form{grid-template-columns:1fr}.planning-wide-field,.planning-form-actions{grid-column:auto}.planning-form-actions .primary-button{width:100%}}

/* v0.48.0 — snellere operationele planning en bulkpublicatie */
.planning-bulk-preview-form{display:grid;gap:16px}
.planning-bulk-range{display:grid;grid-template-columns:1fr 1fr 1fr minmax(240px,1.4fr);gap:12px;align-items:end}
.planning-bulk-range label,.planning-bulk-confirm label{display:grid;gap:6px}
.planning-employee-picker{border:1px solid #e3e7e3;border-radius:12px;padding:14px;margin:0;min-width:0}
.planning-employee-picker legend{font-weight:800;padding:0 6px}
.planning-picker-tools{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.planning-picker-tools .button-link{min-height:36px;padding:0 12px;background:#fff;border:1px solid #dfe3df;border-radius:9px;font-weight:750;cursor:pointer}
.planning-employee-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}
.planning-employee-checks label{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #edf0ed;border-radius:9px;background:#fafbfa;font-weight:650}
.planning-employee-checks input{margin:0}
.planning-bulk-preview{margin-top:18px;padding-top:18px;border-top:1px solid #e7eae7;display:grid;gap:14px}
.planning-bulk-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.planning-bulk-summary article{border:1px solid #e5e9e5;border-radius:12px;background:#fafbfa;padding:12px;display:grid;gap:3px}
.planning-bulk-summary article.attention{background:#fff9ed;border-color:#eed7a4}
.planning-bulk-summary span{font-size:12px;color:#69716b;font-weight:750}
.planning-bulk-summary strong{font-size:24px;line-height:1.1}
.planning-bulk-summary small{font-size:11px;color:#788078}
.planning-bulk-table{width:100%;border-collapse:collapse;min-width:760px}
.planning-bulk-table th,.planning-bulk-table td{padding:10px 12px;border-bottom:1px solid #edf0ed;text-align:left;white-space:nowrap}
.planning-bulk-confirm{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid #e5e9e5;border-radius:12px;background:#fafbfa}
.planning-single-publish{margin-top:16px;border-top:1px solid #e7eae7;padding-top:14px}
.planning-single-publish>summary{cursor:pointer;font-weight:800;color:#35463b}
.planning-single-publish .planning-publish{margin-top:14px}
@media(max-width:1100px){.planning-bulk-range{grid-template-columns:1fr 1fr}.planning-bulk-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.planning-employee-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.planning-bulk-range,.planning-bulk-confirm{grid-template-columns:1fr}.planning-bulk-summary,.planning-employee-checks{grid-template-columns:1fr}.planning-bulk-confirm .primary-button{width:100%}}

/* v0.49.0 · bulk planning generation */
#planning-bulk-publish{scroll-margin-top:18px}
.planning-generation-range{grid-template-columns:1fr 1fr minmax(230px,1.2fr) minmax(250px,1.3fr)}
.planning-generation-summary{grid-template-columns:repeat(6,minmax(0,1fr))}
.planning-generation-confirm{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;border:1px solid #e5e9e5;border-radius:12px;background:#fafbfa}
.planning-generation-confirm>div{min-width:0}.planning-generation-confirm p{margin:4px 0 0}.planning-generation-confirm .primary-button{flex:0 0 auto}
.planning-employee-picker>small{display:block;margin-top:10px}
@media(max-width:1200px){.planning-generation-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.planning-generation-range{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.planning-generation-summary,.planning-generation-range{grid-template-columns:1fr}.planning-generation-confirm{align-items:stretch;flex-direction:column}.planning-generation-confirm .primary-button{width:100%}}

/* v0.50.0 — moderne, compacte werkgeversplanning */
.planning-page{display:grid;gap:16px}.planning-page-header{min-height:0;padding:22px 26px}.planning-page-header h1{font-size:28px}.planning-header-status{display:grid;gap:3px;min-width:170px;padding:11px 14px;border:1px solid var(--line);border-radius:13px;background:#fafbfa;text-align:right}.planning-header-status span{font-size:11px;font-weight:800;color:#465149}.planning-header-status small{font-size:10px;color:var(--muted)}
.planning-week-toolbar{display:grid;gap:14px;margin:0;padding:16px 18px;border-radius:18px}.planning-toolbar-top,.planning-toolbar-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.planning-toolbar-top{padding-bottom:12px;border-bottom:1px solid #edf0ed}.planning-toolbar-top .week-nav{margin:0}.planning-toolbar-top .week-nav strong{font-size:15px}.planning-quick-jumps{display:flex;gap:6px;flex-wrap:wrap}.planning-quick-jumps a,.planning-filter-reset,.planning-filter-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 11px;border:1px solid #dfe4df;border-radius:9px;background:#fff;color:#3f4b43;text-decoration:none;font-size:11px;font-weight:800}.planning-quick-jumps a:hover,.planning-filter-reset:hover,.planning-filter-button:hover{background:#f4f7f4;border-color:#cfd7d0}.planning-week-jump,.planning-view-filters{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.planning-view-filters{margin-left:auto}.planning-view-filters label,.planning-week-jump label{display:grid;gap:5px;font-size:10px;font-weight:800;color:var(--muted)}.planning-view-filters select,.planning-week-jump input{min-height:38px;border:1px solid #d8ddd9;border-radius:9px;padding:8px 10px;background:#fff;color:var(--text);font:inherit;font-size:11px}.planning-week-jump .primary-button{min-height:38px;padding:8px 13px}.planning-week-jump small{font-size:9px}.planning-filter-button{cursor:pointer}.planning-filter-reset{white-space:nowrap}
.planning-kpi-grid{gap:10px;margin:0}.planning-kpi{min-height:104px;padding:14px 16px;border:1px solid #dfe5e0;border-radius:16px;box-shadow:0 4px 14px rgba(25,35,27,.025)}.planning-kpi>strong{font-size:28px}.planning-kpi>small{max-width:220px}.planning-action-launcher{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.planning-action-launcher a{display:grid;gap:3px;padding:13px 15px;border:1px solid #e3e7e3;border-radius:14px;background:#fff;color:inherit;text-decoration:none;transition:.15s ease}.planning-action-launcher a:hover{transform:translateY(-1px);border-color:#ccd4cd;box-shadow:0 6px 16px rgba(25,35,27,.04)}.planning-action-launcher span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;color:#7d887f}.planning-action-launcher strong{font-size:13px}.planning-action-launcher small{font-size:10px;color:var(--muted)}
.planning-week-panel{min-height:0;margin:0;padding:18px;border-radius:18px}.planning-section-kicker{margin:0 0 5px;font-size:9px;font-weight:850;letter-spacing:.1em;color:var(--accent)}.planning-week-scope{display:grid;justify-items:end}.planning-week-scope strong{font-size:20px}.planning-week-scope span{font-size:10px;color:var(--muted)}.planning-empty-filter{display:grid;gap:4px;padding:26px;border:1px dashed #d7ddd8;border-radius:13px;background:#fafbfa;text-align:center}.planning-empty-filter span{font-size:11px;color:var(--muted)}
.planning-table-wrap{overflow:auto;border:1px solid #e7eae7;border-radius:14px}.planning-table{min-width:1180px;border-spacing:0}.planning-table th,.planning-table td{padding:9px;border-color:#edf0ed}.planning-table thead th{position:sticky;top:0;z-index:3;background:#f7f9f7}.planning-table thead th:first-child,.planning-table tbody th{position:sticky;left:0;z-index:2;background:#fbfcfb}.planning-table thead th:first-child{z-index:4}.planning-table tbody th{min-width:150px;max-width:180px;font-size:11px;text-align:left}.planning-table thead th span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.planning-table thead th small{margin-top:2px;color:var(--muted);font-size:10px}.plan-empty-state{display:grid;gap:2px;min-height:82px;padding:8px;border:1px dashed #e3e7e3;border-radius:10px;background:#fcfdfc}.plan-empty-state span{font-size:11px;font-weight:700;color:#858c87}.plan-empty-state small{font-size:9px;color:#a0a5a1}
.plan-cell{gap:7px;min-width:138px;padding:8px;border:1px solid #e8ece8;border-radius:11px;background:#fff}.plan-cell.overridden{border-left:3px solid #c2a23a;padding-left:8px}.plan-cell.has-conflict{border-left-color:#bd655d;background:#fffafa}.plan-cell-main{display:grid;gap:2px}.plan-cell-main strong{font-size:11px;line-height:1.3}.plan-time{font-size:12px!important;font-weight:750;color:#37423a}.plan-unit{font-size:9px!important}.plan-note{font-size:9px!important}.plan-status-row{display:flex;gap:4px;flex-wrap:wrap}.plan-status-chip{display:inline-flex;align-items:center;width:max-content;padding:3px 6px;border-radius:999px;font-size:8px!important;font-weight:850;line-height:1.2}.plan-status-chip.unpublished{background:#f1f2f1;color:#666e68}.plan-status-chip.published{background:#eaf3ec;color:#476a50}.plan-status-chip.changed{background:#fff0d6;color:#78541b}.plan-status-chip.manual{background:#f8f2dc;color:#765f1f}.plan-conflicts{margin-top:0}.plan-edit-details{margin-top:1px}.plan-edit-details>summary{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 8px;border:1px solid #dfe4df;border-radius:8px;background:#fafbfa;color:#4f5b53;font-size:9px!important;font-weight:800;list-style:none;cursor:pointer}.plan-edit-details>summary::-webkit-details-marker{display:none}.plan-edit-details[open]>summary{background:#eef2ef}.plan-edit{grid-template-columns:1fr 1fr;gap:7px;margin-top:8px;padding-top:8px;border-top:1px solid #edf0ed}.plan-edit label{display:grid;gap:3px;min-width:0}.plan-edit label>span{font-size:8px;font-weight:800;color:var(--muted)}.plan-edit input,.plan-edit select{min-height:32px;border:1px solid #d9dfda;border-radius:7px;padding:6px 7px;background:#fff;color:var(--text);font:inherit;font-size:9px}.plan-edit-wide,.plan-edit-actions{grid-column:1/-1}.plan-edit-actions{display:flex;justify-content:flex-end}.plan-edit-actions .primary-button{width:auto;min-height:31px;padding:6px 9px;font-size:9px}
.planning-actions-heading{padding:4px 2px 0}.planning-actions-heading h2{font-size:17px}.planning-action-card{min-height:0!important;margin:0;padding:0!important;border-radius:18px;overflow:hidden}.planning-action-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 18px;cursor:pointer;list-style:none}.planning-action-summary::-webkit-details-marker{display:none}.planning-action-summary>div{display:flex;align-items:center;gap:11px;min-width:0}.planning-action-summary strong,.planning-action-summary small{display:block}.planning-action-summary strong{font-size:13px}.planning-action-summary small{margin-top:2px;font-size:10px;color:var(--muted);font-weight:500}.planning-action-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#eef2ef;color:#53645a;font-size:10px;font-weight:850}.planning-summary-chevron{font-size:10px;font-weight:800;color:#68726b}.planning-action-card[open] .planning-summary-chevron{font-size:0}.planning-action-card[open] .planning-summary-chevron:after{content:'Sluiten';font-size:10px}.planning-action-body{padding:0 18px 18px;border-top:1px solid #edf0ed}.planning-action-body>.planning-section-head{margin-top:16px}.planning-section-head.compact{margin-bottom:12px}.planning-section-head.compact h2{font-size:15px}.planning-section-head.compact p{font-size:11px;max-width:900px}
.planning-shift-form,.planning-bulk-preview-form{gap:10px}.planning-shift-form{grid-template-columns:repeat(6,minmax(110px,1fr))}.planning-shift-form label,.planning-bulk-range label,.planning-bulk-confirm label,.planning-single-confirm label{display:grid;gap:5px;min-width:0}.planning-shift-form label>span,.planning-bulk-range label>span,.planning-bulk-confirm label>span,.planning-single-confirm label>span,.planning-publish label>span{font-size:9px;font-weight:800;color:var(--muted)}.planning-shift-form input,.planning-shift-form select,.planning-bulk-range input,.planning-bulk-range select,.planning-bulk-confirm input,.planning-publish input,.planning-publish select,.planning-single-confirm input,.planning-picker-search{width:100%;min-width:0;min-height:38px;border:1px solid #d9dfda;border-radius:9px;padding:8px 9px;background:#fff;color:var(--text);font:inherit;font-size:11px}.planning-shift-form small{font-size:8px}.planning-span-2{grid-column:span 2}.planning-wide-field{grid-column:span 4}.planning-form-actions{margin-top:2px}.planning-form-actions .primary-button{min-height:38px;padding:8px 14px}
.planning-bulk-range,.planning-generation-range{grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.planning-employee-picker{padding:12px;border-radius:11px}.planning-employee-picker legend{font-size:11px}.planning-picker-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.planning-picker-tools{margin:0}.planning-picker-tools .button-link{min-height:31px;padding:5px 9px;font-size:9px}.planning-picker-search{max-width:240px;min-height:33px;padding:6px 9px}.planning-employee-checks{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.planning-employee-checks label{padding:7px 8px;border-radius:8px;font-size:10px}.planning-employee-picker>small{margin-top:7px;font-size:9px}
.planning-bulk-preview{margin-top:14px;padding-top:14px;gap:11px}.planning-bulk-summary{gap:7px}.planning-bulk-summary article{padding:9px 10px;border-radius:10px}.planning-bulk-summary span{font-size:9px}.planning-bulk-summary strong{font-size:20px}.planning-bulk-summary small{font-size:8px}.planning-generation-summary,.planning-publication-summary{grid-template-columns:repeat(6,minmax(0,1fr))}.planning-bulk-table{min-width:820px}.planning-bulk-table th,.planning-bulk-table td{padding:8px 9px;font-size:10px}.planning-generation-confirm{padding:11px 12px;border-radius:10px}.planning-generation-confirm strong{font-size:11px}.planning-generation-confirm p{font-size:9px}.planning-generation-confirm .primary-button{min-height:36px;padding:7px 11px;font-size:10px}
.planning-bulk-confirm{grid-template-columns:minmax(220px,1.1fr) minmax(240px,1fr) auto;gap:10px;padding:11px 12px;border-radius:10px}.planning-confirm-copy{display:grid;gap:3px;align-self:center}.planning-confirm-copy strong{font-size:10px}.planning-confirm-copy small{font-size:9px;color:var(--muted);line-height:1.4}.planning-bulk-confirm .primary-button{min-height:38px;padding:8px 12px}.planning-single-publish{margin-top:14px;padding-top:12px}.planning-single-publish>summary{font-size:11px}.planning-single-body{display:grid;gap:11px;margin-top:10px}.planning-single-body>p{font-size:10px}.planning-single-preview-form{grid-template-columns:minmax(180px,1.2fr) repeat(3,minmax(125px,.8fr)) auto!important;gap:9px!important}.planning-single-preview-form .primary-button{min-height:38px}.planning-single-preview{display:grid;gap:10px;padding:11px;border:1px solid #e4e8e4;border-radius:11px;background:#fafbfa}.planning-single-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.planning-single-explanation{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 10px;border-radius:9px;background:#fff}.planning-single-explanation strong{font-size:10px}.planning-single-explanation span{font-size:9px;color:var(--muted)}.planning-single-confirm{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:9px;align-items:end}.planning-single-confirm .primary-button{min-height:38px}.small-note{font-size:9px}
@media(max-width:1250px){.planning-shift-form{grid-template-columns:repeat(4,minmax(120px,1fr))}.planning-wide-field{grid-column:span 2}.planning-employee-checks{grid-template-columns:repeat(3,minmax(0,1fr))}.planning-generation-summary,.planning-publication-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.planning-single-preview-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}.planning-single-preview-form .primary-button{grid-column:1/-1;width:max-content}}
@media(max-width:980px){.planning-page-header{align-items:flex-start;flex-direction:column}.planning-header-status{width:100%;text-align:left;justify-items:start}.planning-action-launcher{grid-template-columns:1fr}.planning-toolbar-controls{align-items:stretch;flex-direction:column}.planning-view-filters{margin-left:0}.planning-week-jump,.planning-view-filters{width:100%}.planning-view-filters label{flex:1;min-width:180px}.planning-shift-form,.planning-bulk-range,.planning-generation-range{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-employee-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-bulk-confirm{grid-template-columns:1fr 1fr}.planning-confirm-copy{grid-column:1/-1}.planning-single-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.planning-page{gap:12px}.planning-page-header{padding:18px}.planning-toolbar-top,.planning-toolbar-controls,.planning-week-jump,.planning-view-filters,.planning-picker-toolbar,.planning-single-explanation{align-items:stretch;flex-direction:column}.planning-toolbar-top .week-nav{justify-content:space-between}.planning-quick-jumps{display:grid;grid-template-columns:1fr 1fr;width:100%}.planning-quick-jumps a{width:100%}.planning-week-jump label,.planning-view-filters label{width:100%;min-width:0}.planning-week-jump .primary-button,.planning-filter-button,.planning-filter-reset{width:100%}.planning-kpi-grid{grid-template-columns:1fr 1fr}.planning-week-panel{padding:13px}.planning-section-head{align-items:flex-start;flex-direction:column}.planning-week-scope{justify-items:start}.planning-action-summary{padding:13px}.planning-action-summary small{display:none}.planning-action-body{padding:0 13px 13px}.planning-shift-form,.planning-bulk-range,.planning-generation-range,.planning-bulk-confirm,.planning-single-preview-form,.planning-single-confirm{grid-template-columns:1fr!important}.planning-span-2,.planning-wide-field,.plan-edit-wide,.plan-edit-actions{grid-column:auto}.planning-form-actions .primary-button,.planning-bulk-confirm .primary-button,.planning-generation-confirm .primary-button,.planning-single-confirm .primary-button,.planning-single-preview-form .primary-button{width:100%}.planning-employee-checks,.planning-generation-summary,.planning-publication-summary,.planning-single-summary{grid-template-columns:1fr}.planning-picker-search{max-width:none}.planning-generation-confirm{align-items:stretch;flex-direction:column}.plan-edit{grid-template-columns:1fr}.planning-kpi>strong{font-size:24px}}
.planning-horizon{display:grid;gap:8px}.planning-horizon-head span,.planning-horizon-head small{display:block}.planning-horizon-head span{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;color:#758078}.planning-horizon-head small{margin-top:2px;font-size:9px;color:var(--muted)}.planning-horizon-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.planning-horizon-card{display:grid;gap:3px;padding:10px 12px;border:1px solid #e3e7e3;border-radius:12px;background:#fff;color:inherit;text-decoration:none}.planning-horizon-card:hover{border-color:#cbd4cc;background:#fafcfa}.planning-horizon-card.current{border-color:#b9c6bb;box-shadow:inset 0 0 0 1px #dfe6e0}.planning-horizon-card span{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:#7c867f}.planning-horizon-card strong{font-size:11px}.planning-horizon-card small{font-size:8px;color:var(--muted)}@media(max-width:850px){.planning-horizon-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.planning-horizon-grid{grid-template-columns:1fr}}

/* v0.51.0 — werknemersplanning met kalender- en lijstweergave */
.employee-plan-page{display:grid;gap:16px}.employee-plan-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;min-height:0}.employee-plan-header>div:first-child{max-width:820px}.employee-plan-view-toggle{display:inline-flex;gap:4px;padding:4px;border:1px solid #dfe4df;border-radius:12px;background:#f7f9f7}.employee-plan-view-button{min-height:36px;padding:7px 13px;border:0;border-radius:9px;background:transparent;color:#68736b;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.employee-plan-view-button.active{background:#fff;color:#304139;box-shadow:0 1px 5px rgba(25,35,27,.08)}
.employee-plan-overview{display:grid;grid-template-columns:1fr 1fr;gap:12px}.employee-plan-summary-card{display:grid;gap:4px;min-height:112px;padding:16px 18px;border-radius:16px}.employee-plan-summary-card.today{border-left:4px solid #8a9a8d}.employee-plan-summary-card.next{border-left:4px solid #c39b57}.employee-plan-summary-label{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.employee-plan-summary-card strong{margin-top:4px;font-size:18px;line-height:1.25}.employee-plan-summary-card small{font-size:10px;color:var(--muted);line-height:1.4}
.employee-plan-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:0;padding:14px 16px;border-radius:16px}.employee-plan-week-nav{display:flex;align-items:center;gap:12px}.employee-plan-week-nav>div{display:grid;gap:2px;min-width:210px;text-align:center}.employee-plan-week-nav span,.employee-plan-week-jump label>span{font-size:9px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.employee-plan-week-nav strong{font-size:13px}.employee-plan-week-nav .secondary-button,.employee-plan-week-jump .secondary-button{min-height:36px;padding:8px 11px}.employee-plan-week-jump{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.employee-plan-week-jump label{display:grid;gap:5px}.employee-plan-week-jump input{min-height:36px;border:1px solid #d9dfda;border-radius:9px;padding:7px 9px;background:#fff;color:var(--text);font:inherit;font-size:11px}.employee-plan-week-jump .button{min-height:36px;padding:7px 11px;font-size:10px}
.employee-plan-panel{min-height:0;padding:18px;border-radius:18px}.employee-plan-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.employee-plan-section-head h2{margin:0 0 4px;font-size:17px}.employee-plan-section-head p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.employee-plan-section-head>small{max-width:330px;color:var(--muted);font-size:9px;text-align:right}.employee-plan-kicker{margin:0 0 4px!important;color:var(--accent)!important;font-size:8px!important;font-weight:850!important;letter-spacing:.1em!important}
.employee-plan-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.employee-plan-day-card{display:flex;min-width:0;min-height:210px;flex-direction:column;border:1px solid #e5e9e5;border-radius:13px;background:#fff;overflow:hidden}.employee-plan-day-card>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 11px;border-bottom:1px solid #edf0ed;background:#fafbfa}.employee-plan-day-card>header>div{display:grid;gap:1px}.employee-plan-day-card>header span{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:#7b847e}.employee-plan-day-card>header strong{font-size:12px}.employee-plan-day-card>header em{padding:3px 6px;border-radius:999px;background:#eaf3ec;color:#42624a;font-size:7px;font-style:normal;font-weight:850}.employee-plan-day-card.is-today{border-color:#b7c5ba;box-shadow:inset 0 0 0 1px #dfe6e0}.employee-plan-day-card.is-weekend>header{background:#f7f5f1}.employee-plan-day-card.is-overnight{border-left:3px solid #7f8fa4}
.employee-plan-day-main{display:grid;gap:5px;padding:12px 11px}.employee-plan-day-main>strong{font-size:11px;line-height:1.35}.employee-plan-day-main>b{font-size:13px;line-height:1.3}.employee-plan-day-main>small{font-size:9px;color:var(--muted);line-height:1.4}.employee-plan-unit{font-weight:750;color:#56635a!important}.employee-plan-note{padding-top:4px;border-top:1px dashed #e7ebe7}.employee-plan-day-card>footer{display:flex;gap:4px;flex-wrap:wrap;margin-top:auto;padding:9px 11px;border-top:1px solid #edf0ed}.employee-plan-day-card .plan-badge{font-size:8px;padding:3px 6px}.employee-plan-update-chip,.employee-plan-night-chip{display:inline-flex;align-items:center;width:max-content;padding:3px 6px;border-radius:999px;font-size:7px;font-weight:850}.employee-plan-update-chip{background:#fff0d6;color:#78541b}.employee-plan-night-chip{background:#edf1f6;color:#526579}.employee-plan-empty-day{display:grid;gap:4px;margin:auto 0;padding:18px 11px;color:#8b928d}.employee-plan-empty-day strong{font-size:10px}.employee-plan-empty-day small{font-size:8px;line-height:1.4}
.employee-plan-list{display:grid;gap:7px}.employee-plan-list-row{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:14px;align-items:center;padding:11px 12px;border:1px solid #e7ebe7;border-radius:12px;background:#fff}.employee-plan-list-row.is-today{border-color:#bdc9bf;background:#fcfdfc}.employee-plan-list-date{display:grid;gap:1px}.employee-plan-list-date span{font-size:8px;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.employee-plan-list-date strong{font-size:14px}.employee-plan-list-date small{font-size:8px;color:#4b7054;font-weight:800}.employee-plan-list-main{display:grid;gap:3px;min-width:0}.employee-plan-list-main>strong{font-size:11px}.employee-plan-list-main>b{font-size:12px}.employee-plan-list-main.empty{color:#8a918c}.employee-plan-list-main.empty small{font-size:9px}.employee-plan-list-meta{display:flex;gap:6px 12px;flex-wrap:wrap}.employee-plan-list-meta span{font-size:9px;color:var(--muted)}.employee-plan-list-status{display:flex;justify-content:flex-end;gap:4px;flex-wrap:wrap;max-width:220px}.employee-plan-list-status .plan-badge{font-size:8px;padding:3px 6px}
@media(max-width:1150px){.employee-plan-header{align-items:stretch;flex-direction:column}.employee-plan-view-toggle{align-self:flex-start}.employee-plan-toolbar{align-items:stretch;flex-direction:column}.employee-plan-week-nav{justify-content:space-between}.employee-plan-week-jump{width:100%}.employee-plan-calendar-grid{grid-template-columns:repeat(4,minmax(140px,1fr))}}
@media(max-width:820px){.employee-plan-overview{grid-template-columns:1fr}.employee-plan-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-plan-list-row{grid-template-columns:70px minmax(0,1fr)}.employee-plan-list-status{grid-column:2;justify-content:flex-start;max-width:none}}
@media(max-width:620px){.employee-plan-page{gap:12px}.employee-plan-header,.employee-plan-panel{padding:15px}.employee-plan-view-toggle{display:grid;grid-template-columns:1fr 1fr;width:100%}.employee-plan-summary-card{min-height:0}.employee-plan-week-nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px}.employee-plan-week-nav>div{min-width:0}.employee-plan-week-nav .secondary-button{padding:8px;font-size:9px}.employee-plan-week-jump{align-items:stretch;flex-direction:column}.employee-plan-week-jump label,.employee-plan-week-jump input,.employee-plan-week-jump .button,.employee-plan-week-jump .secondary-button{width:100%}.employee-plan-section-head{flex-direction:column}.employee-plan-section-head>small{text-align:left}.employee-plan-calendar-grid{grid-template-columns:1fr}.employee-plan-day-card{min-height:0}.employee-plan-list-row{grid-template-columns:58px minmax(0,1fr);gap:10px}.employee-plan-list-status{grid-column:1/-1}.employee-plan-list-meta{display:grid;gap:3px}}

/* v0.52.0 — compacte werknemersplanning + week/maandperiode */
.employee-plan-page-v2{gap:12px}.employee-plan-header-v2{padding:18px 20px;border-radius:18px}.employee-plan-header-v2 h1{margin-bottom:5px}.employee-plan-header-v2 .muted{max-width:760px;margin:0;font-size:11px;line-height:1.45}.employee-plan-header-v2 .employee-plan-view-toggle{flex:0 0 auto}
.employee-plan-overview-v2{gap:10px}.employee-plan-overview-v2 .employee-plan-summary-card{display:flex;min-height:0;align-items:center;gap:14px;padding:12px 15px;border-radius:14px}.employee-plan-overview-v2 .employee-plan-summary-card:before{content:"";display:block;width:7px;height:34px;border-radius:999px;background:#92a095;flex:0 0 auto}.employee-plan-overview-v2 .employee-plan-summary-card.next:before{background:#c29b59}.employee-plan-overview-v2 .employee-plan-summary-card.today,.employee-plan-overview-v2 .employee-plan-summary-card.next{border-left:1px solid #e3e7e3}.employee-plan-overview-v2 .employee-plan-summary-label{min-width:130px}.employee-plan-overview-v2 .employee-plan-summary-card strong{margin:0;font-size:14px}.employee-plan-overview-v2 .employee-plan-summary-card small{margin-left:auto;max-width:420px;text-align:right;font-size:9px}
.employee-plan-toolbar-v2{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 13px;border-radius:15px}.employee-plan-toolbar-main{display:flex;align-items:center;gap:10px;min-width:0}.employee-plan-period-toggle{display:inline-flex;gap:3px;padding:3px;border:1px solid #dfe4df;border-radius:10px;background:#f6f8f6;flex:0 0 auto}.employee-plan-period-toggle a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 11px;border-radius:8px;color:#6a746d;text-decoration:none;font-size:10px;font-weight:850}.employee-plan-period-toggle a.active{background:#fff;color:#304139;box-shadow:0 1px 4px rgba(25,35,27,.08)}.employee-plan-period-nav{display:grid;grid-template-columns:34px minmax(180px,auto) 34px;align-items:center;gap:5px}.employee-plan-nav-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #dde3de;border-radius:9px;background:#fff;color:#334139;text-decoration:none;font-size:16px;font-weight:800}.employee-plan-nav-button:hover{background:#f7f9f7}.employee-plan-period-title{display:grid;gap:1px;min-width:0;text-align:center}.employee-plan-period-title span{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.employee-plan-period-title strong{font-size:12px;white-space:nowrap}.employee-plan-current-button{min-height:34px;padding:7px 10px;white-space:nowrap}.employee-plan-jump-v2{align-items:center;justify-content:flex-end;flex-wrap:nowrap}.employee-plan-jump-v2 label{min-width:150px}.employee-plan-jump-v2 input{width:160px}.employee-plan-jump-v2 .button{white-space:nowrap}
.employee-plan-panel-v2{padding:15px;border-radius:16px}.employee-plan-section-head-v2{margin-bottom:10px}.employee-plan-section-head-v2 h2{font-size:16px}.employee-plan-section-head-v2 p{font-size:9px}.employee-plan-month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:0 0 5px}.employee-plan-month-weekdays span{padding:5px 8px;color:#78817b;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;text-align:center}
.employee-plan-calendar-grid.week-mode{gap:6px}.employee-plan-calendar-grid.week-mode .employee-plan-day-card{min-height:172px}.employee-plan-calendar-grid.week-mode .employee-plan-day-card>header{padding:8px 9px}.employee-plan-calendar-grid.week-mode .employee-plan-day-main{padding:9px;gap:4px}.employee-plan-calendar-grid.week-mode .employee-plan-day-card>footer{padding:7px 9px}.employee-plan-calendar-grid.week-mode .employee-plan-empty-day{padding:14px 9px}
.employee-plan-calendar-grid.month-mode{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.employee-plan-calendar-grid.month-mode .employee-plan-day-card{min-height:124px;border-radius:10px}.employee-plan-calendar-grid.month-mode .employee-plan-day-card>header{padding:5px 7px;background:#fbfcfb}.employee-plan-calendar-grid.month-mode .employee-plan-day-card>header strong{font-size:10px}.employee-plan-calendar-grid.month-mode .employee-plan-day-card>header em{font-size:6px;padding:2px 5px}.employee-plan-calendar-grid.month-mode .employee-plan-day-main{gap:2px;padding:6px 7px}.employee-plan-calendar-grid.month-mode .employee-plan-day-main>strong{font-size:8px;line-height:1.25}.employee-plan-calendar-grid.month-mode .employee-plan-day-main>b{font-size:9px}.employee-plan-calendar-grid.month-mode .employee-plan-day-main>small{font-size:7px;line-height:1.25}.employee-plan-calendar-grid.month-mode .employee-plan-note{display:none}.employee-plan-calendar-grid.month-mode .employee-plan-day-card>footer{gap:3px;padding:5px 7px}.employee-plan-calendar-grid.month-mode .employee-plan-day-card .plan-badge,.employee-plan-calendar-grid.month-mode .employee-plan-update-chip,.employee-plan-calendar-grid.month-mode .employee-plan-night-chip{font-size:6px;padding:2px 4px}.employee-plan-calendar-grid.month-mode .employee-plan-empty-day{padding:8px 7px;margin:0}.employee-plan-calendar-grid.month-mode .employee-plan-empty-day strong{font-size:7px;font-weight:700}.employee-plan-day-card.is-outside-period{opacity:.44;background:#fafafa}.employee-plan-day-card.is-outside-period>header{background:#f5f6f5!important}
.employee-plan-page-v2 .employee-plan-list{gap:5px}.employee-plan-page-v2 .employee-plan-list-row{padding:9px 11px;border-radius:10px}.employee-plan-page-v2 .employee-plan-list-date strong{font-size:12px}.employee-plan-page-v2 .employee-plan-list-main>strong{font-size:10px}.employee-plan-page-v2 .employee-plan-list-main>b{font-size:11px}
@media(max-width:1250px){.employee-plan-overview-v2 .employee-plan-summary-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px}.employee-plan-overview-v2 .employee-plan-summary-card:before{grid-row:1/4}.employee-plan-overview-v2 .employee-plan-summary-label{min-width:0}.employee-plan-overview-v2 .employee-plan-summary-card small{margin:0;max-width:none;text-align:left}.employee-plan-toolbar-v2{grid-template-columns:1fr}.employee-plan-jump-v2{justify-content:flex-start}}
@media(max-width:1000px){.employee-plan-toolbar-main{flex-wrap:wrap}.employee-plan-calendar-grid.month-mode{grid-template-columns:repeat(7,minmax(92px,1fr));overflow-x:auto;padding-bottom:5px}.employee-plan-month-weekdays{grid-template-columns:repeat(7,minmax(92px,1fr));overflow-x:auto}.employee-plan-overview-v2{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.employee-plan-header-v2{padding:15px}.employee-plan-overview-v2{grid-template-columns:1fr}.employee-plan-toolbar-main{display:grid;grid-template-columns:1fr}.employee-plan-period-toggle{width:100%}.employee-plan-period-toggle a{flex:1}.employee-plan-period-nav{grid-template-columns:36px minmax(0,1fr) 36px;width:100%}.employee-plan-current-button{width:100%;text-align:center}.employee-plan-jump-v2{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}.employee-plan-jump-v2 label{min-width:0}.employee-plan-jump-v2 input{width:100%}.employee-plan-calendar-grid.week-mode{grid-template-columns:1fr}.employee-plan-calendar-grid.week-mode .employee-plan-day-card{min-height:0}.employee-plan-section-head-v2>small{display:none}}
@media(max-width:520px){.employee-plan-jump-v2{grid-template-columns:1fr}.employee-plan-jump-v2 .button{width:100%}.employee-plan-overview-v2 .employee-plan-summary-card{grid-template-columns:auto minmax(0,1fr)}.employee-plan-overview-v2 .employee-plan-summary-card strong{font-size:12px}.employee-plan-month-weekdays,.employee-plan-calendar-grid.month-mode{grid-template-columns:repeat(7,minmax(76px,1fr))}}

/* v0.53.0 — planning afdrukken / PDF */
.planning-header-actions,.employee-plan-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.employee-plan-header-actions{align-items:flex-start}.planning-export-details{position:relative;z-index:14}.planning-export-details>summary{list-style:none;cursor:pointer;white-space:nowrap}.planning-export-details>summary::-webkit-details-marker{display:none}.planning-export-details[open]>summary{background:#eef3ee}.planning-export-form{position:absolute;right:0;top:calc(100% + 8px);width:min(430px,calc(100vw - 32px));display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:14px;border:1px solid #dbe2dc;border-radius:14px;background:#fff;box-shadow:0 18px 45px rgba(23,34,28,.14)}.planning-export-form-head{grid-column:1/-1;display:grid;gap:3px;padding-bottom:7px;border-bottom:1px solid #edf0ed}.planning-export-form-head strong{font-size:12px}.planning-export-form-head small{font-size:9px;color:var(--muted);line-height:1.4}.planning-export-form label{display:grid;gap:4px;min-width:0}.planning-export-form label>span{font-size:8px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:#667169}.planning-export-form select,.planning-export-form input{width:100%;min-height:36px;padding:7px 8px;border:1px solid #d8ded9;border-radius:8px;background:#fff;font-size:10px}.planning-export-form label>small{font-size:8px;line-height:1.35}.planning-export-date-range{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:9px}.planning-export-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:7px;padding-top:4px}.planning-export-actions button{min-height:36px}.employee-planning-export-details .planning-export-form{width:min(400px,calc(100vw - 32px))}
@media(max-width:760px){.planning-header-actions,.employee-plan-header-actions{width:100%;justify-content:flex-start}.planning-export-details{width:100%}.planning-export-details>summary{display:flex;justify-content:center;width:100%}.planning-export-form{position:static;width:100%;margin-top:8px;grid-template-columns:1fr;box-shadow:none}.planning-export-form-head,.planning-export-date-range,.planning-export-actions{grid-column:1}.planning-export-date-range{grid-template-columns:1fr}.planning-export-actions{display:grid;grid-template-columns:1fr 1fr}.planning-export-actions button{width:100%}}
@media(max-width:480px){.planning-export-actions{grid-template-columns:1fr}}

/* v0.54.0 — werkgeversplanning week/maand + echte meerwekenkalender */
.planning-period-toolbar{gap:11px}.planning-period-choice{display:inline-flex;width:max-content;gap:3px;padding:3px;border:1px solid #dde3de;border-radius:11px;background:#f5f7f5}.planning-period-choice a{display:inline-flex;align-items:center;justify-content:center;min-width:74px;min-height:33px;padding:6px 12px;border-radius:8px;color:#667169;text-decoration:none;font-size:10px;font-weight:850}.planning-period-choice a.active{background:#fff;color:#314139;box-shadow:0 1px 5px rgba(25,35,27,.08)}.planning-context-nav strong{text-transform:none}.planning-month-panel{min-height:0;margin:0;padding:18px;border-radius:18px}.planning-month-section-head{margin-bottom:10px}.planning-month-legend{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}.planning-month-legend span{display:inline-flex;align-items:center;min-height:24px;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:850}.planning-month-legend .published{background:#eaf3ec;color:#476a50}.planning-month-legend .unpublished{background:#f1f2f1;color:#666e68}.planning-month-legend .changed{background:#fff0d6;color:#78541b}.planning-month-legend .conflict{background:#fdebea;color:#8b4540}.planning-month-scroll{overflow:auto}.planning-month-weekdays,.planning-month-grid{display:grid;grid-template-columns:repeat(7,minmax(126px,1fr));min-width:960px}.planning-month-weekdays{gap:5px;margin-bottom:5px}.planning-month-weekdays span{padding:6px 8px;color:#78817b;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;text-align:center}.planning-month-grid{gap:5px}.planning-month-day{display:flex;min-width:0;min-height:176px;flex-direction:column;border:1px solid #e4e9e5;border-radius:11px;background:#fff;overflow:hidden}.planning-month-day.outside-month{opacity:.48;background:#fafbfa}.planning-month-day.today{border-color:#aebdb1;box-shadow:inset 0 0 0 1px #d9e2db}.planning-month-day.has-changed{border-top-color:#d2aa61}.planning-month-day.has-conflict{border-bottom-color:#c77b74}.planning-month-day>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border-bottom:1px solid #edf0ed;background:#fafbfa}.planning-month-day>header>div{display:flex;align-items:baseline;gap:5px}.planning-month-day>header span{font-size:7px;font-weight:850;text-transform:uppercase;color:#7b847e}.planning-month-day>header strong{font-size:13px}.planning-month-day>header a{font-size:7px;font-weight:850;color:#5c6b61;text-decoration:none}.planning-month-day>header a:hover{text-decoration:underline}.planning-month-day-stats{display:flex;gap:4px 7px;flex-wrap:wrap;padding:5px 8px;border-bottom:1px solid #f0f2f0;background:#fcfdfc}.planning-month-day-stats span,.planning-month-day-stats b{font-size:7px;line-height:1.3;color:#7a837d;font-weight:750}.planning-month-day-stats b{color:#8a6326}.planning-month-day-stats b.conflict{color:#944d47}.planning-month-entries{display:grid;gap:4px;padding:6px}.planning-month-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px 6px;padding:5px 6px;border:1px solid #edf0ed;border-left:3px solid #c8ceca;border-radius:7px;background:#fff;color:inherit;text-decoration:none}.planning-month-entry:hover{background:#fafcfa;border-color:#dce3dd}.planning-month-entry.published{border-left-color:#80a087}.planning-month-entry.changed{border-left-color:#c99543;background:#fffdf8}.planning-month-entry.conflict{box-shadow:inset 0 0 0 1px #f1d6d3}.planning-month-entry-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:850}.planning-month-entry strong{font-size:8px;white-space:nowrap}.planning-month-entry small{grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7a827d;font-size:6.5px}.planning-month-empty{padding:10px 6px;color:#9ba19d;font-size:8px;text-align:center}.planning-month-more{margin-top:1px}.planning-month-more>summary{cursor:pointer;list-style:none;padding:4px 5px;border-radius:6px;background:#f5f7f5;color:#637067;font-size:7px;font-weight:850}.planning-month-more>summary::-webkit-details-marker{display:none}.planning-month-more>div{display:grid;gap:4px;margin-top:4px}.planning-month-note{margin:9px 1px 0;color:var(--muted);font-size:8px;line-height:1.4}
@media(max-width:980px){.planning-period-choice{width:100%}.planning-period-choice a{flex:1}.planning-month-panel{padding:14px}.planning-month-weekdays,.planning-month-grid{grid-template-columns:repeat(7,minmax(118px,1fr));min-width:900px}}
@media(max-width:700px){.planning-period-choice{display:grid;grid-template-columns:1fr 1fr}.planning-period-choice a{width:100%}.planning-month-scroll{overflow:visible}.planning-month-weekdays{display:none}.planning-month-grid{grid-template-columns:1fr;min-width:0}.planning-month-day{min-height:0}.planning-month-day.outside-month{display:none}.planning-month-day>header a{font-size:8px}.planning-month-entry{grid-template-columns:minmax(0,1fr) auto}.planning-month-entry-name,.planning-month-entry strong{font-size:9px}.planning-month-entry small{font-size:7px}}

/* v0.54.1 — planning maand-UX verfijning */
.planning-week-jump{display:grid;grid-template-columns:minmax(165px,1fr) auto;grid-template-rows:auto 38px auto;column-gap:8px;row-gap:5px;align-items:start}
.planning-week-jump label{display:contents}
.planning-week-jump label>span{grid-column:1;grid-row:1;align-self:end}
.planning-week-jump input[type=date]{grid-column:1;grid-row:2;width:100%;min-width:165px;height:38px}
.planning-week-jump .planning-jump-button{grid-column:2;grid-row:2;align-self:stretch;height:38px;margin:0}
.planning-week-jump .planning-jump-helper{grid-column:1/-1;grid-row:3;margin:0;line-height:1.35}
.context-switcher{transition:opacity .16s ease,transform .16s ease}
.planning-context-switcher-hidden{opacity:0;transform:translateY(-12px);pointer-events:none}
.planning-month-open-week{display:inline-flex;align-items:center;justify-content:center;min-height:20px;padding:2px 4px;border-radius:5px;color:#657169!important;font-size:6.5px!important;letter-spacing:.01em;white-space:nowrap}
.planning-month-open-week:hover{background:#f0f3f0;text-decoration:none!important}
.planning-month-entry-name{cursor:default}
@media(max-width:700px){
  .planning-week-jump{grid-template-columns:1fr;grid-template-rows:auto 38px 38px auto;width:100%}
  .planning-week-jump label>span{grid-column:1;grid-row:1}
  .planning-week-jump input[type=date]{grid-column:1;grid-row:2;width:100%;min-width:0}
  .planning-week-jump .planning-jump-button{grid-column:1;grid-row:3;width:100%}
  .planning-week-jump .planning-jump-helper{grid-column:1;grid-row:4}
}

/* v0.55.0 · Planning availability */
.availability-page{display:grid;gap:14px}.availability-page .page-header{align-items:center}.availability-editor-card{margin:0}.availability-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.availability-form-grid>label,.availability-filter-row>label{display:grid;gap:6px}.availability-form-grid label>span,.availability-filter-row label>span{color:#6e7871;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.045em}.availability-form-grid input,.availability-form-grid select,.availability-filter-row input,.availability-filter-row select{width:100%;min-height:42px;border:1px solid #dce2dd;border-radius:10px;background:#fff;padding:9px 11px;font:inherit}.availability-all-day{align-content:start}.availability-checkbox{display:flex!important;min-height:42px;align-items:center;gap:8px;border:1px solid #dce2dd;border-radius:10px;background:#fbfcfb;padding:9px 11px!important;color:#313b34!important;font-size:11px!important;text-transform:none!important;letter-spacing:0!important}.availability-checkbox input{width:auto;min-height:0}.availability-weekdays{grid-column:1/-1;display:flex;gap:7px;flex-wrap:wrap;margin:0;border:0;padding:0}.availability-weekdays legend{width:100%;margin-bottom:2px;color:#6e7871;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.045em}.availability-weekdays label{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:6px 9px;border:1px solid #dfe4e0;border-radius:9px;background:#fbfcfb;font-size:10px;font-weight:750}.availability-weekdays input{width:auto;min-height:0}.availability-note{grid-column:1/-1}.availability-form-grid .form-actions{grid-column:1/-1}.availability-month-panel{padding:17px;border-radius:18px}.availability-month-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.availability-month-head h2{margin:2px 0 0}.availability-month-nav,.availability-toolbar-top{display:flex;align-items:center;gap:8px}.availability-month-nav a,.availability-toolbar-top .week-nav a{color:#46564b;font-size:10px;font-weight:800;text-decoration:none}.availability-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 12px}.employer-availability-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.availability-kpis>div{display:grid;gap:3px;padding:12px 14px;border:1px solid #e4e9e5;border-radius:13px;background:#fff}.availability-kpis>div.attention{border-left:3px solid #c89442}.availability-kpis span{color:#78827b;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.availability-kpis strong{font-size:23px}.availability-kpis small{color:#7b837e;font-size:8px}.availability-month-weekdays,.availability-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.availability-month-weekdays{margin-bottom:5px}.availability-month-weekdays span{padding:5px;color:#7c857f;font-size:8px;font-weight:850;text-transform:uppercase;text-align:center}.availability-day{position:relative;display:flex;min-width:0;min-height:112px;flex-direction:column;border:1px solid #e5e9e6;border-radius:10px;background:#fff;overflow:hidden}.availability-day.outside-month{opacity:.4;background:#fafafa}.availability-day.today{border-color:#9faf9f;box-shadow:inset 0 0 0 1px #dce5dd}.availability-day>header{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:6px 8px;border-bottom:1px solid #eef1ee;background:#fbfcfb}.availability-day>header>span{font-size:12px;font-weight:850}.availability-day>header>small{color:#607168;font-size:7px;font-weight:800}.availability-empty{margin:auto;padding:10px;color:#a0a6a2;font-size:8px;text-align:center}.availability-day-status{display:grid;gap:2px;margin:6px;padding:7px 8px;border-left:3px solid #b9c0bb;border-radius:7px;background:#fafbfa}.availability-day-status.available{border-left-color:#78a080;background:#f5faf6}.availability-day-status.preferred{border-left-color:#c79b4f;background:#fffaf0}.availability-day-status.unavailable{border-left-color:#bf6d66;background:#fff7f6}.availability-day-status strong{font-size:9px}.availability-day-status span,.availability-day-status small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#758079;font-size:7px}.availability-delete-form{margin:auto 6px 6px}.availability-delete-form button{border:0;background:transparent;color:#8a5d59;font-size:7px;font-weight:800;cursor:pointer;padding:2px}.availability-toolbar{display:grid;gap:12px;padding:15px 17px}.availability-toolbar-top{justify-content:space-between}.availability-toolbar-top .week-nav{display:flex;align-items:center;gap:14px}.availability-toolbar-top .week-nav strong{font-size:15px}.availability-filter-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.25fr) minmax(200px,.9fr) auto auto;gap:10px;align-items:end}.availability-filter-row .button,.availability-filter-row .secondary-button{min-height:42px;align-self:end}.availability-legend{display:flex;gap:6px;flex-wrap:wrap}.availability-legend span{display:inline-flex;align-items:center;min-height:23px;padding:4px 7px;border-radius:999px;font-size:7px;font-weight:850}.availability-legend .available{background:#edf6ef;color:#4e7157}.availability-legend .preferred{background:#fff4dc;color:#805e25}.availability-legend .unavailable{background:#fdebea;color:#8e4c47}.availability-legend .conflict{background:#fff0dc;color:#825623}.employer-grid{grid-template-columns:repeat(7,minmax(130px,1fr));min-width:980px}.employer-availability-page .availability-month-panel{overflow:auto}.availability-day.employer-day{min-height:158px}.availability-day.employer-day>header>div{display:flex;align-items:baseline;gap:5px}.availability-day.employer-day>header small{font-size:6px;text-transform:uppercase}.availability-day.employer-day>header strong{font-size:12px}.availability-day.employer-day>header a{color:#657269;font-size:6.5px;font-weight:850;text-decoration:none}.availability-day-entries{display:grid;gap:4px;padding:6px}.availability-person{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;padding:5px 6px;border:1px solid #edf0ed;border-left:3px solid #b8c0ba;border-radius:7px;background:#fff}.availability-person.available{border-left-color:#78a080}.availability-person.preferred{border-left-color:#c79b4f}.availability-person.unavailable{border-left-color:#bf6d66}.availability-person.conflict{box-shadow:inset 0 0 0 1px #eed1cd;background:#fffaf9}.availability-person>div{display:grid;min-width:0;gap:1px}.availability-person strong,.availability-person span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.availability-person strong{font-size:8px}.availability-person span{color:#7a827d;font-size:6.5px}.availability-person b{align-self:center;padding:2px 4px;border-radius:5px;background:#fff0dc;color:#815820;font-size:6px}.availability-disclaimer{margin:10px 1px 0;color:#737d76;font-size:8px;line-height:1.45}.plan-availability-row{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.availability-mini-chip{display:inline-flex;align-items:center;min-height:20px;padding:3px 5px;border-radius:999px;background:#f1f3f1;color:#667169;font-size:7px;font-weight:800}.availability-mini-chip.available{background:#edf6ef;color:#4e7157}.availability-mini-chip.preferred{background:#fff4dc;color:#805e25}.availability-mini-chip.unavailable{background:#fdebea;color:#8e4c47}.availability-mini-chip.conflict{background:#fff0dc;color:#825623}.availability-legend-link{margin-left:auto;align-self:center;color:#5d6c62;font-size:8px;font-weight:850;text-decoration:none}.availability-legend-link:hover{text-decoration:underline}
@media(max-width:1100px){.availability-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-filter-row{grid-template-columns:1fr 1fr}.availability-filter-row .button,.availability-filter-row .secondary-button{width:100%}.employer-availability-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.availability-form-grid,.availability-filter-row,.availability-kpis,.employer-availability-kpis{grid-template-columns:1fr}.availability-weekdays,.availability-note,.availability-form-grid .form-actions{grid-column:auto}.availability-month-head,.availability-toolbar-top{align-items:stretch;flex-direction:column}.availability-month-nav{justify-content:space-between}.availability-month-weekdays{display:none}.availability-month-grid{grid-template-columns:1fr}.availability-day.outside-month{display:none}.availability-day{min-height:0}.employer-grid{min-width:0}.availability-legend-link{width:100%;margin-left:0}.availability-page .page-header{align-items:flex-start;flex-direction:column}}


/* v0.55.1 · Employee availability UX refinement */
.availability-day.has-entry{background:#fff}
.availability-day-status{position:relative;display:grid;gap:5px;margin:8px;padding:10px 11px;border:1px solid #e4e9e5;border-left:1px solid #e4e9e5;border-radius:12px;background:#fafbfa;box-shadow:0 1px 2px rgba(33,45,37,.03)}
.availability-day-status.available{border-color:#d7e7da;background:#f4faf5}
.availability-day-status.preferred{border-color:#efdfbd;background:#fff9ed}
.availability-day-status.unavailable{border-color:#eed6d3;background:#fff5f4}
.availability-day-status strong{display:flex;align-items:center;gap:7px;color:#26322a;font-size:10px;line-height:1.2}
.availability-status-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#8b968e;box-shadow:0 0 0 3px rgba(139,150,142,.12)}
.availability-day-status.available .availability-status-dot{background:#6f9b79;box-shadow:0 0 0 3px rgba(111,155,121,.13)}
.availability-day-status.preferred .availability-status-dot{background:#bf9348;box-shadow:0 0 0 3px rgba(191,147,72,.14)}
.availability-day-status.unavailable .availability-status-dot{background:#b96560;box-shadow:0 0 0 3px rgba(185,101,96,.13)}
.availability-day-status .availability-time-label{color:#6c7770;font-size:8px;font-weight:700;line-height:1.25}
.availability-day-status small{display:block;max-width:100%;padding-top:3px;border-top:1px solid rgba(96,112,101,.09);color:#7a837d;font-size:7px;line-height:1.3}
.availability-delete-form{margin:auto 8px 8px}
.availability-delete-form button{min-height:26px;border:1px solid #eadad8;border-radius:8px;background:#fff;color:#875d59;font-size:7.5px;font-weight:850;cursor:pointer;padding:5px 8px;transition:background .15s ease,border-color .15s ease}
.availability-delete-form button:hover{border-color:#ddc4c1;background:#fff8f7}
@media(max-width:700px){.availability-day-status{margin:9px;padding:11px 12px}.availability-day-status strong{font-size:11px}.availability-day-status .availability-time-label{font-size:9px}.availability-delete-form{margin:0 9px 9px}.availability-delete-form button{font-size:8px}}

/* v0.56.0 · Organisation planning availability policy */
.organisation-settings-page{display:grid;gap:18px}
.planning-policy-card{display:grid;gap:18px}
.planning-policy-card .settings-card-head{align-items:flex-start}
.planning-policy-state{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;background:#f1f3f1;color:#68736b;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}
.planning-policy-state.active{background:#edf6ef;color:#4f7157}
.planning-policy-form{display:grid;gap:16px}
.planning-policy-toggle{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:flex-start;gap:10px;padding:15px 16px;border:1px solid #dde4de;border-radius:14px;background:#fbfcfb;cursor:pointer}
.planning-policy-toggle input{position:absolute;opacity:0;pointer-events:none}
.planning-policy-toggle-box{position:relative;width:40px;height:23px;border-radius:999px;background:#cfd6d1;box-shadow:inset 0 0 0 1px rgba(62,78,67,.08);transition:background .18s ease}
.planning-policy-toggle-box:after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(33,45,37,.18);transition:transform .18s ease}
.planning-policy-toggle input:checked + .planning-policy-toggle-box{background:#667e6c}
.planning-policy-toggle input:checked + .planning-policy-toggle-box:after{transform:translateX(17px)}
.planning-policy-toggle>span:last-child{display:grid;gap:4px}
.planning-policy-toggle strong{font-size:14px;color:#26322a}
.planning-policy-toggle small{max-width:760px;color:#69746d;font-size:10px;line-height:1.5}
.planning-policy-rules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.planning-policy-rules article{display:grid;gap:4px;padding:12px 13px;border:1px solid #e4e9e5;border-radius:12px;background:#fff}
.planning-policy-rules strong{font-size:10px;color:#2f3932}
.planning-policy-rules span{color:#737c76;font-size:8px;line-height:1.45}
.planning-policy-note{margin:0}
.planning-availability-policy-notice{margin:0 0 14px}
.planning-availability-policy-notice a{margin-left:5px;color:inherit;font-weight:850;text-decoration:none}
.planning-availability-policy-notice a:hover{text-decoration:underline}
@media(max-width:950px){.planning-policy-rules{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.planning-policy-card .settings-card-head{gap:10px;flex-direction:column}.planning-policy-rules{grid-template-columns:1fr}.planning-policy-toggle{grid-template-columns:auto minmax(0,1fr)}.planning-policy-toggle>span:last-child{grid-column:2}.planning-policy-toggle strong{font-size:13px}}
.planning-month-entry.policy-blocked{box-shadow:inset 0 0 0 1px #ead5b4;background:#fffaf1}


/* v0.56.2 · availability badges + planning action spacing */
.planning-action-body .planning-shift-notice{
  margin:2px 0 20px;
  padding:13px 15px;
  border-radius:12px;
  line-height:1.45;
}
.plan-availability-row{
  display:grid;
  gap:6px;
  margin-top:7px;
}
.availability-mini-chip{
  box-sizing:border-box;
  width:100%;
  min-width:0;
}
.availability-mini-chip.availability-state{
  display:flex;
  align-items:center;
  min-height:38px;
  padding:7px 9px 7px 10px;
  border:1px solid #e4e9e5;
  border-left-width:3px;
  border-radius:10px;
  background:#f7f9f7;
  color:#536158;
}
.availability-state-copy{
  display:grid;
  min-width:0;
  gap:1px;
  line-height:1.15;
}
.availability-state-copy strong{
  overflow:hidden;
  color:inherit;
  font-size:10px;
  font-weight:850;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.availability-state-copy small{
  overflow:hidden;
  color:inherit;
  font-size:8px;
  font-weight:650;
  opacity:.78;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.availability-mini-chip.availability-state.available{
  border-color:#d7e7da;
  border-left-color:#7ca487;
  background:#f1f7f2;
  color:#4f7458;
}
.availability-mini-chip.availability-state.preferred{
  border-color:#eadfbe;
  border-left-color:#c6a152;
  background:#fff8e9;
  color:#775e2c;
}
.availability-mini-chip.availability-state.unavailable{
  border-color:#efd9d6;
  border-left-color:#ca746f;
  background:#fff5f4;
  color:#8b4d48;
}
.availability-mini-chip.availability-warning{
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  align-items:center;
  min-height:40px;
  gap:7px;
  padding:7px 9px;
  border:1px solid #eadab8;
  border-radius:10px;
  background:#fffaf0;
  color:#765923;
}
.availability-warning-icon{
  display:grid;
  width:20px;
  height:20px;
  place-items:center;
  border-radius:50%;
  background:#f2e2be;
  color:#7d5b1f;
  font-size:11px;
  font-weight:900;
  line-height:1;
}
.availability-warning-copy{
  display:grid;
  min-width:0;
  gap:1px;
  line-height:1.15;
}
.availability-warning-copy strong{
  color:inherit;
  font-size:9px;
  font-weight:850;
}
.availability-warning-copy small{
  color:#8b7651;
  font-size:7.5px;
  font-weight:650;
  line-height:1.25;
}
.availability-mini-chip.availability-warning.policy-required{
  border-color:#ead8b5;
  border-left:3px solid #c49b4d;
  background:#fff9ed;
}
@media(max-width:700px){
  .planning-action-body .planning-shift-notice{margin-bottom:16px}
  .availability-mini-chip.availability-state,.availability-mini-chip.availability-warning{width:100%}
}

/* v0.57.0 · Open diensten */
.open-shifts-page,.my-open-shifts-page{display:grid;gap:16px}
.open-shift-info-note,.open-shift-policy-note{margin:0;padding:13px 15px;border:1px solid #e2e7e3;border-radius:13px;background:#fafbfa;color:#5f6b63;font-size:9px;line-height:1.55}
.open-shift-policy-note{border-color:#ead9bb;background:#fff9ef;color:#725829}
.open-shift-policy-note strong,.open-shift-info-note strong{color:#334039}
.open-shift-create-card{display:grid;gap:16px}
.open-shift-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}
.open-shift-form label{display:grid;gap:6px}
.open-shift-form label>span,.open-shift-filter-row label>span,.my-open-shift-apply label>span{color:#667168;font-size:8px;font-weight:800}
.open-shift-form .open-shift-note{grid-column:span 2}
.open-shift-form .form-actions{align-self:end}
.open-shift-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.open-shift-kpis>div{display:grid;gap:3px;padding:13px 14px;border:1px solid #e4e9e5;border-radius:13px;background:#fff}
.open-shift-kpis span{color:#68736b;font-size:8px;font-weight:800}
.open-shift-kpis strong{color:#28332b;font-size:22px;line-height:1}
.open-shift-kpis small{color:#89918c;font-size:7px}
.open-shift-kpis.employee{grid-template-columns:repeat(3,minmax(0,1fr))}
.open-shift-toolbar{display:grid;gap:12px;padding:15px 17px}
.open-shift-toolbar-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.open-shift-toolbar-top .week-nav{display:flex;align-items:center;gap:14px}
.open-shift-toolbar-top .week-nav a{color:#56665b;font-size:9px;font-weight:850;text-decoration:none}
.open-shift-toolbar-top .week-nav strong{font-size:14px}
.open-shift-filter-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(150px,.6fr) minmax(220px,1fr) auto auto;gap:10px;align-items:end}
.open-shift-filter-row label{display:grid;gap:5px}
.open-shift-filter-row .button,.open-shift-filter-row .secondary-button{min-height:42px;align-self:end}
.open-shift-list,.my-open-shift-list{display:grid;gap:12px}
.open-shift-card{overflow:hidden;padding:0}
.open-shift-card.status-cancelled{opacity:.72}
.open-shift-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:15px;align-items:start;padding:17px 18px;border-bottom:1px solid #edf0ed}
.open-shift-date{display:grid;place-items:center;min-width:56px;padding:9px 10px;border:1px solid #e3e8e4;border-radius:12px;background:#fafbfa}
.open-shift-date span{font-size:16px;font-weight:900;line-height:1}
.open-shift-date small{margin-top:4px;color:#7c867f;font-size:7px}
.open-shift-title{display:grid;gap:4px;min-width:0}
.open-shift-title-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.open-shift-title h2{margin:0;font-size:16px}
.open-shift-title>strong{font-size:11px;color:#334039}
.open-shift-title p{margin:0;color:#727c75;font-size:8px;line-height:1.45}
.open-shift-title .open-shift-operational-note{margin-top:4px;padding:7px 9px;border-radius:8px;background:#f7f8f7;color:#59665d}
.open-shift-status{display:inline-flex;align-items:center;min-height:23px;padding:4px 8px;border-radius:999px;background:#f1f3f1;color:#667169;font-size:7px;font-weight:850;white-space:nowrap}
.open-shift-status.open{background:#edf6ef;color:#4e7157}.open-shift-status.filled,.open-shift-status.assigned{background:#eef2f8;color:#53667e}.open-shift-status.cancelled,.open-shift-status.rejected{background:#f5eeee;color:#805e5a}.open-shift-status.interested{background:#fff4dc;color:#805e25}
.danger-soft{border-color:#ead7d5!important;color:#865d58!important;background:#fffafa!important}
.open-shift-candidates{display:grid;gap:10px;padding:15px 18px 18px}
.open-shift-candidates-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.open-shift-candidates-head h3{margin:0;font-size:12px}.open-shift-candidates-head span{color:#7c857f;font-size:8px}
.open-shift-no-candidates{padding:11px 12px;border:1px dashed #dfe5e0;border-radius:10px;color:#7b847e;font-size:8px;background:#fbfcfb}
.open-shift-candidate-list{display:grid;gap:7px}
.open-shift-candidate{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(240px,1.2fr) auto;gap:12px;align-items:center;padding:10px 11px;border:1px solid #e5e9e6;border-radius:11px;background:#fff}
.open-shift-candidate.blocked{background:#fffaf7}.open-shift-candidate.assigned{background:#f7faf8}
.open-shift-candidate-person,.open-shift-candidate-fit{display:grid;gap:3px;min-width:0}
.open-shift-candidate-person strong{font-size:9px}.open-shift-candidate-person span,.open-shift-candidate-person small,.open-shift-candidate-fit small{overflow:hidden;color:#78827b;font-size:7px;line-height:1.35;text-overflow:ellipsis}
.open-shift-candidate-actions{display:flex;gap:6px;align-items:center}.open-shift-candidate-actions form{margin:0}.compact{min-height:30px!important;padding:6px 9px!important;font-size:7.5px!important}
.fit-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;min-height:22px;padding:4px 7px;border-radius:999px;background:#f1f3f1;color:#68736b;font-size:7px;font-weight:850}
.fit-badge.available{background:#edf6ef;color:#4e7157}.fit-badge.preferred{background:#fff4dc;color:#805e25}.fit-badge.unknown{background:#f1f3f1;color:#69736c}.fit-badge.unavailable,.fit-badge.outside_window,.fit-badge.planned{background:#fdebea;color:#8b504a}.fit-badge.assigned{background:#eef2f8;color:#53667e}.fit-badge.closed{background:#f3f3f2;color:#737b75}
.my-open-shift-toolbar{display:grid;gap:8px;padding:15px 17px}.my-open-shift-toolbar p{margin:0}
.my-open-shift-active{display:grid;gap:12px}.my-open-shift-application-list{display:grid;gap:7px}
.my-open-shift-application{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid #e5e9e6;border-radius:10px;background:#fbfcfb}.my-open-shift-application>div{display:grid;gap:2px}.my-open-shift-application strong{font-size:9px}.my-open-shift-application span{font-size:7px;color:#737d76}
.my-open-shift-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:4px}.my-open-shift-section-head h2{margin:2px 0 0;font-size:17px}
.my-open-shift-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:16px 17px}.my-open-shift-card.not-eligible{background:#fcfcfb}
.my-open-shift-date{display:grid;justify-items:center;align-content:start;min-width:66px;padding:10px;border:1px solid #e2e7e3;border-radius:12px;background:#fafbfa}.my-open-shift-date strong{font-size:23px;line-height:1}.my-open-shift-date span{margin-top:5px;font-size:8px;font-weight:850}.my-open-shift-date small{margin-top:2px;color:#7c857f;font-size:7px}
.my-open-shift-main{display:grid;gap:9px}.my-open-shift-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.my-open-shift-title-row h3{margin:0 0 4px;font-size:15px}.my-open-shift-title-row strong{font-size:10px;color:#354239}.my-open-shift-meta,.my-open-shift-note{margin:0;color:#727c75;font-size:8px}.my-open-shift-note{padding:8px 9px;border-radius:9px;background:#f7f8f7;color:#5d6961}
.my-open-shift-fit{display:grid;gap:2px;padding:8px 9px;border:1px solid #e7ebe8;border-radius:9px;background:#fbfcfb}.my-open-shift-fit strong{font-size:8px}.my-open-shift-fit span{color:#737d76;font-size:7px;line-height:1.4}
.my-open-shift-apply{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end;padding-top:2px}.my-open-shift-apply label{display:grid;gap:5px}.my-open-shift-applied{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:9px;background:#fff7e8;color:#76591f;font-size:8px;font-weight:850}.my-open-shift-applied form{margin:0}.my-open-shift-closed-note{padding:9px 10px;border-radius:9px;background:#f4f5f4;color:#737d76;font-size:8px}
@media(max-width:1100px){.open-shift-form{grid-template-columns:repeat(2,minmax(0,1fr))}.open-shift-filter-row{grid-template-columns:1fr 1fr}.open-shift-filter-row .button,.open-shift-filter-row .secondary-button{width:100%}.open-shift-candidate{grid-template-columns:1fr 1fr}.open-shift-candidate-actions{grid-column:1/-1}.open-shift-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.open-shift-form,.open-shift-filter-row,.open-shift-kpis,.open-shift-kpis.employee{grid-template-columns:1fr}.open-shift-form .open-shift-note{grid-column:auto}.open-shift-toolbar-top,.open-shift-candidates-head,.my-open-shift-title-row{align-items:stretch;flex-direction:column}.open-shift-card-head{grid-template-columns:auto minmax(0,1fr)}.open-shift-cancel-form{grid-column:1/-1}.open-shift-candidate{grid-template-columns:1fr}.open-shift-candidate-actions{grid-column:auto;flex-wrap:wrap}.my-open-shift-card{grid-template-columns:1fr}.my-open-shift-date{justify-items:start}.my-open-shift-apply{grid-template-columns:1fr}.my-open-shift-applied{align-items:flex-start;flex-direction:column}}

/* v0.58.0 · meerdere diensten per medewerker per kalenderdag */
.planning-multi-shift-notice{margin:0;padding:11px 13px;border-left:3px solid #8fa293;background:#f7faf7}
.plan-segment-stack{display:grid;gap:8px}.plan-segment-stack.has-multiple{min-width:152px}.plan-segment-stack.has-multiple .plan-cell{box-shadow:0 2px 8px rgba(31,42,34,.035)}
.plan-segment-label{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:-2px -2px 1px;padding:5px 6px;border-radius:7px;background:#f3f6f3;color:#5d6b61}
.plan-segment-label span{font-size:7.5px!important;font-weight:850;text-transform:uppercase;letter-spacing:.035em}.plan-segment-label small{font-size:6.5px;color:#8a928d}
.plan-segment-delete{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:end;margin-top:8px;padding-top:8px;border-top:1px dashed #e6e9e6}.plan-segment-delete label{display:grid;gap:3px}.plan-segment-delete label>span{font-size:8px;font-weight:800;color:var(--muted)}.plan-segment-delete input{min-height:32px;border:1px solid #e1d4d2;border-radius:7px;padding:6px 7px;background:#fff;color:var(--text);font:inherit;font-size:9px}.plan-segment-delete .danger-button{min-height:32px;padding:6px 9px;font-size:8.5px}
.employee-plan-day-header-meta{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.employee-plan-segment-count{display:inline-flex;align-items:center;padding:2px 5px;border-radius:999px;background:#edf2ee;color:#51645a;font-size:6.5px;font-weight:850;white-space:nowrap}
.employee-plan-day-segments{display:grid;gap:0}.employee-plan-day-segments .employee-plan-segment+.employee-plan-segment{border-top:1px dashed #e4e9e5}.employee-plan-segment{position:relative}.employee-plan-segment-label{display:inline-flex;width:max-content;margin-bottom:1px;padding:2px 5px;border-radius:999px;background:#f1f4f1;color:#617067;font-size:6.5px;font-weight:850;text-transform:uppercase;letter-spacing:.025em}
.employee-plan-list-segments{display:grid;gap:7px}.employee-plan-list-segment{display:grid;gap:3px;min-width:0}.employee-plan-list-segment+.employee-plan-list-segment{padding-top:7px;border-top:1px dashed #e5e9e6}
.employee-plan-calendar-grid.month-mode .employee-plan-day-segments{gap:0}.employee-plan-calendar-grid.month-mode .employee-plan-segment{padding:6px 7px}.employee-plan-calendar-grid.month-mode .employee-plan-segment+.employee-plan-segment{border-top:1px dashed #e5e9e6}.employee-plan-calendar-grid.month-mode .employee-plan-segment-label{font-size:5.5px;padding:1px 4px}.employee-plan-calendar-grid.month-mode .employee-plan-day-segments .employee-plan-day-main{padding:6px 7px}
@media(max-width:700px){.plan-segment-delete{grid-template-columns:1fr}.plan-segment-delete .danger-button{width:100%}.plan-segment-stack.has-multiple{min-width:0}.employee-plan-day-header-meta{justify-content:flex-start}}

/* v0.58.1 — open diensten, segmentstatus en werknemersplanning polish */
.employee-plan-overview-v2{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.employee-plan-overview-v2 .employee-plan-summary-card.current:before{background:#6f8977}
.employee-plan-overview-v2 .employee-plan-summary-card.current{border-left:1px solid #e3e7e3}
.plan-day-publication-state{display:grid;gap:2px;margin:0 0 7px;padding:7px 8px;border:1px solid #ead8b7;border-left:3px solid #c6984c;border-radius:9px;background:#fffaf1}
.plan-day-publication-state strong{font-size:8px;color:#72531f}.plan-day-publication-state span{font-size:7px;line-height:1.35;color:#8a724b}
.plan-status-chip.unpublished.new-segment{background:#fff5e6;color:#805b25;border:1px solid #f0ddbc}

.open-shift-create-card-v2{gap:0;padding:0;overflow:hidden;border-radius:18px}
.open-shift-create-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px 14px;border-bottom:1px solid #e9ede9;background:linear-gradient(180deg,#fbfcfb 0%,#f7f9f7 100%)}
.open-shift-create-head h2{margin:2px 0 4px;font-size:18px}.open-shift-create-head p{margin:0;color:#758078;font-size:9px;line-height:1.45}
.open-shift-create-step{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid #dde4de;border-radius:999px;background:#fff;color:#68736b;font-size:7px;font-weight:850;white-space:nowrap}
.open-shift-form-v2{display:grid;grid-template-columns:1.15fr .85fr;gap:0;padding:0;background:#fff}
.open-shift-form-section{display:grid;gap:10px;padding:15px 18px;border-bottom:1px solid #edf0ed}
.open-shift-form-section-main{grid-column:1/-1}
.open-shift-form-section:nth-of-type(2){border-right:1px solid #edf0ed}
.open-shift-form-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.open-shift-form-section-title strong{font-size:9px;color:#37433b}.open-shift-form-section-title small{font-size:7px;color:#8a938d}
.open-shift-fields{display:grid;gap:10px;align-items:end}.open-shift-fields-main{grid-template-columns:minmax(150px,.75fr) minmax(260px,1.5fr) minmax(150px,.8fr) minmax(120px,.55fr)}.open-shift-fields-time{grid-template-columns:repeat(3,minmax(110px,1fr))}.open-shift-fields-context{grid-template-columns:minmax(220px,1fr);gap:10px}
.open-shift-fields label{display:grid;gap:5px;min-width:0}.open-shift-fields label>span{font-size:8px;font-weight:800;color:#657068}.open-shift-fields input,.open-shift-fields select{width:100%;min-height:40px;border:1px solid #dbe1dc;border-radius:9px;padding:8px 10px;background:#fff;color:var(--text);font:inherit;font-size:10px}.open-shift-fields input:focus,.open-shift-fields select:focus{outline:2px solid rgba(112,139,118,.16);border-color:#aebdaf}
.open-shift-form-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;background:#f8faf8}.open-shift-form-footer>div{display:grid;gap:2px}.open-shift-form-footer strong{font-size:9px;color:#334039}.open-shift-form-footer span{font-size:7.5px;color:#7a847d}.open-shift-form-footer .button{min-height:42px;padding:9px 16px}
.open-shift-kpis{margin-top:2px}.open-shift-kpis>div{box-shadow:0 4px 14px rgba(28,39,31,.025)}
.open-shift-toolbar-v2{gap:14px;padding:16px 18px}.open-shift-toolbar-v2 .open-shift-toolbar-top{padding-bottom:12px;border-bottom:1px solid #edf0ed}.open-shift-toolbar-v2 .week-nav strong{font-size:16px}.open-shift-toolbar-v2 .planning-section-kicker{margin-bottom:5px!important}.open-shift-current-month{min-height:36px}
.open-shift-filter-row-v2{grid-template-columns:minmax(180px,.8fr) minmax(160px,.65fr) minmax(260px,1.25fr) auto;gap:10px}.open-shift-filter-row-v2 input,.open-shift-filter-row-v2 select{min-height:40px}.open-shift-filter-actions{display:flex;gap:7px;align-items:end}.open-shift-filter-actions .button,.open-shift-filter-actions .secondary-button{min-height:40px;white-space:nowrap}
@media(max-width:1150px){.open-shift-form-v2{grid-template-columns:1fr}.open-shift-form-section:nth-of-type(2){border-right:0}.open-shift-fields-main{grid-template-columns:1fr 1.4fr 1fr 1fr}.open-shift-filter-row-v2{grid-template-columns:1fr 1fr}.open-shift-filter-actions{align-items:stretch}.open-shift-filter-actions .button,.open-shift-filter-actions .secondary-button{flex:1}}
@media(max-width:760px){.open-shift-create-head,.open-shift-form-footer{align-items:stretch;flex-direction:column}.open-shift-create-step{align-self:flex-start}.open-shift-fields-main,.open-shift-fields-time,.open-shift-filter-row-v2{grid-template-columns:1fr}.open-shift-form-footer .button{width:100%}.open-shift-filter-actions{display:grid;grid-template-columns:1fr}.open-shift-toolbar-v2 .open-shift-toolbar-top{align-items:stretch}.open-shift-toolbar-v2 .week-nav{justify-content:space-between;gap:8px}}

/* v0.59.0 — vervanging / ruilverzoeken + laatste PDF-polish */
.planning-policy-state.partial{background:#fff6e8;color:#805d24;border-color:#efdcb8}
.shift-request-setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.shift-request-setting-grid .planning-policy-toggle{height:100%;align-items:flex-start}
.shift-request-page{display:grid;gap:16px}.shift-request-create-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.shift-request-create-card{padding:18px}.shift-request-create-card .settings-card-head{margin-bottom:12px}.shift-request-form{display:grid;gap:11px}.shift-request-form label{display:grid;gap:5px}.shift-request-form label>span,.shift-request-filter label>span{font-size:8px;font-weight:800;color:#68736c}.shift-request-form select,.shift-request-form textarea,.shift-request-form input,.shift-request-filter select,.shift-request-filter input,.shift-request-response input,.shift-request-reject input{width:100%;border:1px solid #dce2dd;border-radius:9px;background:#fff;color:var(--text);font:inherit;font-size:9px;padding:8px 10px}.shift-request-form select,.shift-request-filter select{min-height:40px}.shift-request-form textarea{resize:vertical;min-height:72px}.shift-request-form button[disabled]{opacity:.45;cursor:not-allowed}
.shift-request-section{display:grid;gap:10px}.shift-request-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:0 3px}.shift-request-section-head h2{margin:2px 0 3px}.shift-request-section-head p{margin:0;color:var(--muted);font-size:8px}.shift-request-section-head>strong{font-size:22px}.shift-request-list{display:grid;gap:10px}.shift-request-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 16px}.shift-request-card.employer{grid-template-columns:minmax(0,1fr);align-items:stretch}.shift-request-card-main{display:grid;gap:8px;min-width:0}.shift-request-card-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.shift-request-card-title>strong{font-size:10px}.request-type,.request-status{display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border-radius:999px;font-size:6.7px;font-weight:850;white-space:nowrap}.request-type.replacement{background:#edf4ef;color:#496454}.request-type.swap{background:#eef1f7;color:#4e5f7a}.request-status{margin-left:auto;background:#f3f5f3;color:#67736b}.request-status.ok,.request-status.status-approved{background:#edf6ef;color:#3f684b}.request-status.blocked,.request-status.status-rejected,.request-status.status-cancelled{background:#fff0ef;color:#914c47}.request-status.waiting,.request-status.status-open,.request-status.status-awaiting_target,.request-status.status-awaiting_employer{background:#fff6e7;color:#7e5b21}.shift-request-card h3{margin:0;font-size:11px}.shift-request-card p{margin:0;font-size:8px;color:#68736c}.shift-request-note{padding:8px 9px;border-radius:8px;background:#f7f9f7;color:#5f6c63!important}.shift-request-match{font-weight:700;color:#66756b!important}.shift-swap-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;padding:9px 10px;border:1px solid #e5e9e6;border-radius:10px;background:#fbfcfb}.shift-swap-pair>div{display:grid;gap:3px}.shift-swap-pair small,.shift-request-service small{font-size:6.5px;font-weight:850;color:#879089;text-transform:uppercase;letter-spacing:.04em}.shift-swap-pair strong,.shift-request-service strong{font-size:8.5px;line-height:1.4}.shift-swap-pair>span{font-size:15px;color:#7c8980}.shift-request-service{display:grid;gap:4px;padding:9px 10px;border:1px solid #e5e9e6;border-radius:10px;background:#fbfcfb}
.shift-request-response{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:7px;align-items:center;min-width:390px}.shift-request-inline-action{display:flex;align-items:center;gap:8px}.shift-request-disabled{padding:9px 10px;border-radius:9px;background:#f5f6f5;color:#808a83;font-size:8px}.shift-request-candidates{display:grid;gap:7px;padding:10px;border-radius:10px;background:#f8faf8}.shift-request-candidates-head{display:flex;align-items:center;justify-content:space-between}.shift-request-candidates-head strong{font-size:8px}.shift-request-candidates-head span{font-size:7px;color:#7b867e}.shift-request-candidate{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 9px;border:1px solid #e4e9e5;border-radius:9px;background:#fff}.shift-request-candidate>div{display:grid;gap:2px}.shift-request-candidate strong{font-size:8px}.shift-request-candidate small{font-size:7px;color:#747f77}.shift-request-employer-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;border-top:1px solid #edf0ed;padding-top:10px}.shift-request-reject{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:7px}.shift-request-publish-note{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:9px 10px;border-radius:9px;background:#eff6f0}.shift-request-publish-note strong{font-size:8px;color:#45624f}.shift-request-publish-note span{font-size:7px;color:#67736b}.shift-request-publish-note a{margin-left:auto;font-size:7px;font-weight:850;color:#496454}
.shift-request-policy-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:10px 12px;border-radius:11px;background:#f7f9f7}.shift-request-policy-summary span{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:7px;font-weight:850}.shift-request-policy-summary span.active{background:#eaf4ec;color:#41644b}.shift-request-policy-summary span.off{background:#ecefed;color:#707a73}.shift-request-policy-summary a{margin-left:auto;font-size:7.5px;font-weight:850;color:#4a6252}.shift-request-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.shift-request-kpis article{display:grid;gap:3px;padding:13px 14px;border:1px solid #e5e9e6;border-radius:13px;background:#fff}.shift-request-kpis span{font-size:7px;font-weight:850;color:#78837b;text-transform:uppercase;letter-spacing:.04em}.shift-request-kpis strong{font-size:22px}.shift-request-kpis small{font-size:7px;color:#838c86}.shift-request-filter{padding:12px 14px}.shift-request-filter form{display:flex;align-items:end;gap:8px}.shift-request-filter label{display:grid;gap:5px;min-width:230px}.employee-plan-shift-request-link{display:inline-flex;width:max-content;margin-top:5px;font-size:6.5px;font-weight:850;color:#4d6857;text-decoration:none}.employee-plan-shift-request-link:hover{text-decoration:underline}
@media(max-width:1050px){.shift-request-setting-grid,.shift-request-create-grid{grid-template-columns:1fr}.shift-request-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-request-card{grid-template-columns:1fr}.shift-request-response{min-width:0}.request-status{margin-left:0}}
@media(max-width:700px){.shift-request-kpis{grid-template-columns:1fr}.shift-request-response,.shift-request-reject{grid-template-columns:1fr}.shift-swap-pair{grid-template-columns:1fr}.shift-swap-pair>span{transform:rotate(90deg);justify-self:start}.shift-request-filter form,.shift-request-employer-actions{align-items:stretch;flex-direction:column}.shift-request-filter label{min-width:0}.shift-request-policy-summary a{margin-left:0}.shift-request-candidate{grid-template-columns:1fr}.shift-request-card{padding:13px}.shift-request-section-head{align-items:flex-start}.shift-request-section-head>strong{font-size:18px}}

/* v0.59.2 - Employer shift-request readability polish */
.employer-shift-request-page .shift-request-policy-summary span{font-size:8.4px;line-height:1.25;padding:5px 9px}
.employer-shift-request-page .shift-request-policy-summary a{font-size:8.8px}
.employer-shift-request-page .shift-request-kpis span{font-size:8.4px;line-height:1.25}
.employer-shift-request-page .shift-request-kpis small{font-size:8.5px;line-height:1.4}
.employer-shift-request-page .shift-request-filter label>span{font-size:9px}
.employer-shift-request-page .shift-request-filter select,.employer-shift-request-page .shift-request-filter input{font-size:10px}
.employer-shift-request-page .shift-request-section-head p{font-size:9.3px;line-height:1.45}
.employer-shift-request-page .shift-request-card-title>strong{font-size:12px}
.employer-shift-request-page .request-type,.employer-shift-request-page .request-status{font-size:8.2px;min-height:25px;padding:4px 9px}
.employer-shift-request-page .shift-request-card h3{font-size:12px}
.employer-shift-request-page .shift-request-card p{font-size:9.6px;line-height:1.5}
.employer-shift-request-page .shift-request-note{padding:10px 11px}
.employer-shift-request-page .shift-swap-pair small,.employer-shift-request-page .shift-request-service small{font-size:7.8px}
.employer-shift-request-page .shift-swap-pair strong,.employer-shift-request-page .shift-request-service strong{font-size:10px;line-height:1.5}
.employer-shift-request-page .shift-request-disabled{font-size:9px;line-height:1.45}
.employer-shift-request-page .shift-request-candidates-head strong{font-size:9.5px}
.employer-shift-request-page .shift-request-candidates-head span{font-size:8.5px}
.employer-shift-request-page .shift-request-candidate strong{font-size:9.8px}
.employer-shift-request-page .shift-request-candidate small{font-size:8.6px;line-height:1.4}
.employer-shift-request-page .shift-request-publish-note{padding:11px 12px;row-gap:5px}
.employer-shift-request-page .shift-request-publish-note strong{font-size:9.6px}
.employer-shift-request-page .shift-request-publish-note span{font-size:9px;line-height:1.45}
.employer-shift-request-page .shift-request-publish-note a{font-size:9px}

/* v0.60.0 - Shift-request readability, settings and auto-publication feedback */
.employee-shift-request-page .page-header .muted{font-size:11.5px;line-height:1.6}
.employee-shift-request-page .shift-request-create-card{padding:20px}
.employee-shift-request-page .shift-request-create-card .settings-card-head p{font-size:11px;line-height:1.55}
.employee-shift-request-page .shift-request-form{gap:13px}
.employee-shift-request-page .shift-request-form label{gap:7px}
.employee-shift-request-page .shift-request-form label>span{font-size:11px;line-height:1.4}
.employee-shift-request-page .shift-request-form select,
.employee-shift-request-page .shift-request-form textarea,
.employee-shift-request-page .shift-request-form input,
.employee-shift-request-page .shift-request-response input{font-size:12px;line-height:1.5;padding:10px 11px}
.employee-shift-request-page .shift-request-form select{min-height:44px}
.employee-shift-request-page .shift-request-section-head p{font-size:11px;line-height:1.55}
.employee-shift-request-page .shift-request-card{padding:17px 18px;gap:16px}
.employee-shift-request-page .shift-request-card-main{gap:10px}
.employee-shift-request-page .shift-request-card-title>strong{font-size:12px;line-height:1.4}
.employee-shift-request-page .request-type,
.employee-shift-request-page .request-status{font-size:9.5px;line-height:1.3;min-height:26px;padding:4px 9px}
.employee-shift-request-page .shift-request-card h3{font-size:12px;line-height:1.45}
.employee-shift-request-page .shift-request-card p{font-size:11px;line-height:1.6}
.employee-shift-request-page .shift-request-note{padding:10px 11px}
.employee-shift-request-page .shift-request-match{font-size:11px!important}
.employee-shift-request-page .shift-swap-pair{padding:11px 12px;gap:12px}
.employee-shift-request-page .shift-swap-pair small,
.employee-shift-request-page .shift-request-service small{font-size:9.2px;line-height:1.4}
.employee-shift-request-page .shift-swap-pair strong,
.employee-shift-request-page .shift-request-service strong{font-size:11.5px;line-height:1.55}
.employee-shift-request-page .shift-request-disabled{font-size:11px;line-height:1.55}
.employee-shift-request-page .shift-request-response{gap:9px}
.employee-shift-request-page .shift-request-inline-action{gap:10px}
.shift-request-notification-grid .planning-policy-toggle{min-height:104px}
.shift-request-publish-note.auto-published{background:#eaf5ed;border:1px solid #d5e6da}
.shift-request-publish-note.auto-published strong{color:#315b3e}
@media(max-width:700px){.employee-shift-request-page .shift-request-card{padding:15px}.employee-shift-request-page .shift-request-form select,.employee-shift-request-page .shift-request-form textarea,.employee-shift-request-page .shift-request-form input,.employee-shift-request-page .shift-request-response input{font-size:16px}}


/* v0.60.3 - Employer shift-request desktop readability */
.employer-shift-request-page .shift-request-policy-summary{padding:12px 14px;gap:9px}
.employer-shift-request-page .shift-request-policy-summary span{font-size:11px;line-height:1.35;padding:6px 10px}
.employer-shift-request-page .shift-request-policy-summary a{font-size:11.5px;line-height:1.4}
.employer-shift-request-page .shift-request-kpis{gap:12px}
.employer-shift-request-page .shift-request-kpis article{gap:5px;padding:15px 16px}
.employer-shift-request-page .shift-request-kpis span{font-size:10.5px;line-height:1.35;letter-spacing:.045em}
.employer-shift-request-page .shift-request-kpis strong{font-size:25px;line-height:1.1}
.employer-shift-request-page .shift-request-kpis small{font-size:12.5px;line-height:1.45}
.employer-shift-request-page .shift-request-filter{padding:14px 16px}
.employer-shift-request-page .shift-request-filter form{gap:10px}
.employer-shift-request-page .shift-request-filter label{gap:7px}
.employer-shift-request-page .shift-request-filter label>span{font-size:10.5px;line-height:1.35}
.employer-shift-request-page .shift-request-filter select,
.employer-shift-request-page .shift-request-filter input{font-size:12.5px;line-height:1.45;min-height:44px;padding:10px 12px}
.employer-shift-request-page .shift-request-section{gap:12px}
.employer-shift-request-page .shift-request-section-head{padding:0 4px}
.employer-shift-request-page .shift-request-section-head h2{font-size:23px;line-height:1.2}
.employer-shift-request-page .shift-request-section-head p{font-size:11.5px;line-height:1.55}
.employer-shift-request-page .shift-request-section-head>strong{font-size:26px;line-height:1.1}
.employer-shift-request-page .shift-request-list{gap:12px}
.employer-shift-request-page .shift-request-card{padding:18px 20px;gap:16px}
.employer-shift-request-page .shift-request-card-main{gap:10px}
.employer-shift-request-page .shift-request-card-title{gap:9px}
.employer-shift-request-page .shift-request-card-title>strong{font-size:14px;line-height:1.4}
.employer-shift-request-page .request-type,
.employer-shift-request-page .request-status{font-size:10.5px;line-height:1.35;min-height:28px;padding:5px 10px}
.employer-shift-request-page .shift-request-card h3{font-size:14px;line-height:1.4}
.employer-shift-request-page .shift-request-card p{font-size:11.8px;line-height:1.6}
.employer-shift-request-page .shift-request-note{padding:11px 12px;border-radius:9px}
.employer-shift-request-page .shift-swap-pair,
.employer-shift-request-page .shift-request-service{padding:11px 12px;border-radius:11px}
.employer-shift-request-page .shift-swap-pair{gap:12px}
.employer-shift-request-page .shift-swap-pair small,
.employer-shift-request-page .shift-request-service small{font-size:9.8px;line-height:1.4;letter-spacing:.045em}
.employer-shift-request-page .shift-swap-pair strong,
.employer-shift-request-page .shift-request-service strong{font-size:12.5px;line-height:1.55}
.employer-shift-request-page .shift-swap-pair>span{font-size:18px}
.employer-shift-request-page .shift-request-disabled{font-size:11.5px;line-height:1.5;padding:10px 11px}
.employer-shift-request-page .shift-request-candidates{gap:9px;padding:12px}
.employer-shift-request-page .shift-request-candidates-head strong{font-size:11.5px}
.employer-shift-request-page .shift-request-candidates-head span{font-size:10.5px}
.employer-shift-request-page .shift-request-candidate{padding:10px 11px}
.employer-shift-request-page .shift-request-candidate strong{font-size:11.8px;line-height:1.45}
.employer-shift-request-page .shift-request-candidate small{font-size:10.5px;line-height:1.5}
.employer-shift-request-page .shift-request-employer-actions{padding-top:12px;gap:10px}
.employer-shift-request-page .shift-request-reject input{font-size:12px;line-height:1.45;padding:10px 12px}
.employer-shift-request-page .shift-request-publish-note{padding:12px 14px;gap:11px;row-gap:7px;border-radius:10px}
.employer-shift-request-page .shift-request-publish-note strong{font-size:11.8px;line-height:1.45}
.employer-shift-request-page .shift-request-publish-note span{font-size:11.3px;line-height:1.55}
.employer-shift-request-page .shift-request-publish-note a{font-size:11.3px;line-height:1.45}
@media(max-width:700px){
  .employer-shift-request-page .shift-request-card{padding:15px 16px}
  .employer-shift-request-page .shift-request-filter select,
  .employer-shift-request-page .shift-request-filter input,
  .employer-shift-request-page .shift-request-reject input{font-size:16px}
}

/* v0.60.4 - Readability polish for Open diensten and Beschikbaarheid */
.open-shifts-page .page-header .muted,
.employer-availability-page .page-header .muted{font-size:12px;line-height:1.6}

/* Open diensten */
.open-shifts-page .open-shift-info-note,
.open-shifts-page .open-shift-policy-note{font-size:11.5px;line-height:1.6;padding:14px 16px}
.open-shifts-page .planning-section-kicker{font-size:10.5px;line-height:1.35}
.open-shifts-page .open-shift-create-head h2{font-size:20px;line-height:1.25}
.open-shifts-page .open-shift-create-head p{font-size:11.5px;line-height:1.55}
.open-shifts-page .open-shift-create-step{font-size:10px;line-height:1.35;min-height:30px;padding:6px 10px}
.open-shifts-page .open-shift-form-section-title strong{font-size:11.5px;line-height:1.4}
.open-shifts-page .open-shift-form-section-title small{font-size:12.5px;line-height:1.45}
.open-shifts-page .open-shift-fields label>span,
.open-shifts-page .open-shift-filter-row label>span{font-size:11px;line-height:1.4}
.open-shifts-page .open-shift-fields input,
.open-shifts-page .open-shift-fields select,
.open-shifts-page .open-shift-filter-row input,
.open-shifts-page .open-shift-filter-row select{font-size:13px;line-height:1.45;min-height:44px;padding:10px 11px}
.open-shifts-page .open-shift-form-footer strong{font-size:11.5px;line-height:1.4}
.open-shifts-page .open-shift-form-footer span{font-size:10.5px;line-height:1.5}
.open-shifts-page .open-shift-kpis>div{gap:5px;padding:15px 16px}
.open-shifts-page .open-shift-kpis span{font-size:10.5px;line-height:1.35}
.open-shifts-page .open-shift-kpis strong{font-size:25px;line-height:1.1}
.open-shifts-page .open-shift-kpis small{font-size:12.5px;line-height:1.45}
.open-shifts-page .open-shift-toolbar-top .week-nav a{font-size:11.5px;line-height:1.4}
.open-shifts-page .open-shift-toolbar-v2 .week-nav strong,
.open-shifts-page .open-shift-toolbar-top .week-nav strong{font-size:18px;line-height:1.3}
.open-shifts-page .open-shift-date span{font-size:18px}
.open-shifts-page .open-shift-date small{font-size:10px;line-height:1.35}
.open-shifts-page .open-shift-title h2{font-size:18px;line-height:1.3}
.open-shifts-page .open-shift-title>strong{font-size:12.5px;line-height:1.45}
.open-shifts-page .open-shift-title p{font-size:11px;line-height:1.55}
.open-shifts-page .open-shift-status,
.open-shifts-page .fit-badge{font-size:10px;line-height:1.35;min-height:26px;padding:5px 8px}
.open-shifts-page .open-shift-candidates-head h3{font-size:14px;line-height:1.35}
.open-shifts-page .open-shift-candidates-head span{font-size:12.5px;line-height:1.45}
.open-shifts-page .open-shift-no-candidates{font-size:11px;line-height:1.5;padding:12px 13px}
.open-shifts-page .open-shift-candidate{padding:12px 13px}
.open-shifts-page .open-shift-candidate-person strong{font-size:12px;line-height:1.4}
.open-shifts-page .open-shift-candidate-person span,
.open-shifts-page .open-shift-candidate-person small,
.open-shifts-page .open-shift-candidate-fit small{font-size:10.5px;line-height:1.5}
.open-shifts-page .compact{min-height:34px!important;padding:7px 10px!important;font-size:10.5px!important}

/* Beschikbaarheid werkgever */
.employer-availability-page .availability-toolbar-top .week-nav a{font-size:11.5px;line-height:1.4}
.employer-availability-page .availability-toolbar-top .week-nav strong{font-size:18px;line-height:1.3}
.employer-availability-page .availability-filter-row label>span{font-size:11px;line-height:1.4}
.employer-availability-page .availability-filter-row input,
.employer-availability-page .availability-filter-row select{font-size:13px;line-height:1.45;min-height:44px;padding:10px 11px}
.employer-availability-page .availability-kpis>div{gap:5px;padding:15px 16px}
.employer-availability-page .availability-kpis span{font-size:10.5px;line-height:1.35}
.employer-availability-page .availability-kpis strong{font-size:25px;line-height:1.1}
.employer-availability-page .availability-kpis small{font-size:12.5px;line-height:1.45}
.employer-availability-page .availability-month-head .muted{font-size:11.5px;line-height:1.55}
.employer-availability-page .availability-legend{gap:8px}
.employer-availability-page .availability-legend span{font-size:10px;line-height:1.35;min-height:27px;padding:5px 9px}
.employer-availability-page .availability-month-weekdays span{font-size:10px;line-height:1.35;padding:6px}
.employer-availability-page .employer-grid{grid-template-columns:repeat(7,minmax(165px,1fr));min-width:1220px;gap:7px}
.employer-availability-page .availability-day.employer-day{min-height:190px}
.employer-availability-page .availability-day.employer-day>header{padding:8px 10px}
.employer-availability-page .availability-day.employer-day>header small{font-size:9.5px;line-height:1.3}
.employer-availability-page .availability-day.employer-day>header strong{font-size:16px;line-height:1.2}
.employer-availability-page .availability-day.employer-day>header a{font-size:10px;line-height:1.4}
.employer-availability-page .availability-day-entries{gap:6px;padding:8px}
.employer-availability-page .availability-person{gap:7px;padding:8px 9px;border-radius:9px}
.employer-availability-page .availability-person>div{gap:3px}
.employer-availability-page .availability-person strong,
.employer-availability-page .availability-person span{white-space:normal;text-overflow:clip}
.employer-availability-page .availability-person strong{font-size:11px;line-height:1.35}
.employer-availability-page .availability-person span{font-size:9.8px;line-height:1.4}
.employer-availability-page .availability-person b{font-size:9.5px;line-height:1.35;padding:4px 6px}
.employer-availability-page .availability-empty{font-size:12.5px;line-height:1.45}
.employer-availability-page .availability-disclaimer{font-size:10.5px;line-height:1.55;margin-top:12px}

@media(max-width:700px){
  .open-shifts-page .open-shift-fields input,
  .open-shifts-page .open-shift-fields select,
  .open-shifts-page .open-shift-filter-row input,
  .open-shifts-page .open-shift-filter-row select,
  .employer-availability-page .availability-filter-row input,
  .employer-availability-page .availability-filter-row select{font-size:16px}
  .employer-availability-page .employer-grid{min-width:0}
}

/* v0.61.0 · Planningcontrole arbeidsduur, rust en nachtcontext */
.planning-kpi-grid.has-worktime-kpi{grid-template-columns:repeat(5,minmax(0,1fr))}
.planning-control-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;margin:0}.planning-control-summary.has-signals{border-left:4px solid #c7a85c}.planning-control-summary.is-clear{border-left:4px solid #7f9e86}.planning-control-summary h3{margin:0 0 4px;font-size:15px}.planning-control-summary p{margin:0;color:var(--muted);font-size:11px;line-height:1.5;max-width:720px}.planning-control-summary-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.planning-control-summary-actions .secondary-button{min-height:34px;padding:7px 10px;font-size:10px;text-decoration:none}
.plan-worktime-signals{display:grid;gap:4px;margin-top:1px}.plan-worktime-signals span{display:block;padding:4px 6px;border-radius:7px;font-size:9px;line-height:1.35;font-weight:750}.plan-worktime-signals span.warning{background:#fff6dc;color:#72571e}.plan-worktime-signals span.error{background:#fdebea;color:#8b4540}.plan-worktime-signals span.info{background:#eef4ef;color:#526a57}.plan-worktime-signals a{font-size:9px;font-weight:800;color:#5d6d62;text-decoration:none}.plan-worktime-signals a:hover{text-decoration:underline}
.plan-night-followup{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.plan-status-chip.night{background:#edf0f7;color:#4e5d7d}.plan-night-followup>a{font-size:9px;font-weight:800;color:#53665a;text-decoration:none}.plan-night-followup>a:hover{text-decoration:underline}
.work-time-source-switch{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px}.work-time-source-switch>div{display:grid;gap:3px}.work-time-source-switch>div>strong{font-size:13px}.work-time-source-switch>div>span{color:var(--muted);font-size:11px;line-height:1.45}.work-time-source-switch nav{display:flex;gap:5px;padding:3px;border:1px solid #dde3de;border-radius:10px;background:#f5f7f5}.work-time-source-switch nav a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;border-radius:7px;color:#657168;text-decoration:none;font-size:10px;font-weight:800}.work-time-source-switch nav a.active{background:#fff;color:#314139;box-shadow:0 1px 5px rgba(25,35,27,.08)}
.night-planning-linked-notice{line-height:1.5}.night-planning-linked-notice a{font-weight:800}.night-planning-create-form label>small{color:var(--muted);font-size:10px;line-height:1.4}
@media(max-width:1250px){.planning-kpi-grid.has-worktime-kpi{grid-template-columns:repeat(3,minmax(0,1fr))}.planning-control-summary{align-items:flex-start;flex-direction:column}.planning-control-summary-actions{justify-content:flex-start}}
@media(max-width:700px){.planning-kpi-grid.has-worktime-kpi{grid-template-columns:1fr 1fr}.planning-control-summary-actions{width:100%;display:grid;grid-template-columns:1fr}.planning-control-summary-actions .secondary-button{width:100%;justify-content:center}.work-time-source-switch{align-items:stretch;flex-direction:column}.work-time-source-switch nav{display:grid;grid-template-columns:1fr}.work-time-source-switch nav a{width:100%}}

/* v0.61.1 — duidelijkere controlebron + leesbare bronstatus */
.work-time-source-switch nav{
    gap:7px;
    padding:5px;
    border-color:#cbd5cd;
    background:#eef2ef;
    box-shadow:inset 0 0 0 1px rgba(55,75,61,.03);
}
.work-time-source-switch nav a{
    min-height:40px;
    padding:9px 15px;
    border:1px solid #c6d2c8;
    background:#f8faf8;
    color:#405448;
    font-size:12px;
    font-weight:850;
    box-shadow:0 1px 2px rgba(25,35,27,.03);
}
.work-time-source-switch nav a:hover{
    background:#e4ebe5;
    border-color:#aebfb2;
    color:#2f4436;
}
.work-time-source-switch nav a.active{
    background:#4f6656;
    border-color:#4f6656;
    color:#fff;
    box-shadow:0 2px 7px rgba(41,62,47,.18);
}
.work-time-source-switch nav a:focus-visible{
    outline:3px solid rgba(79,102,86,.22);
    outline-offset:2px;
}
@media(max-width:700px){
    .work-time-source-switch nav a{min-height:44px;font-size:13px}
}

/* v0.62.0 · automatische nachtflow en gecontroleerde correcties */
.night-automation-summary-card .settings-card-head{align-items:flex-start}
.night-policy-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.night-policy-badges .planning-policy-state{font-size:11px;line-height:1.35;padding:6px 9px}
.night-reopen-details{margin-top:14px;border:1px solid #dfe5df;border-radius:12px;background:#fafbfa;padding:10px 12px}
.night-reopen-details>summary{cursor:pointer;font-size:12px;font-weight:800;color:#405448}
.night-reopen-details[open]>summary{margin-bottom:12px}
.schedule-night-context-form{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:8px}
.schedule-night-context-form select{min-height:34px;max-width:190px;padding:6px 9px;font-size:11px}
.schedule-night-context-form .button{min-height:34px}
@media(max-width:700px){
  .night-policy-badges{display:grid;grid-template-columns:1fr}
  .schedule-night-context-form{display:grid;grid-template-columns:1fr}
  .schedule-night-context-form select{max-width:none;width:100%;font-size:16px}
  .schedule-night-context-form .button{width:100%}
}


/* v0.63.0 · planning-UX, nachtselectie en gecontroleerd heropenen */
.app-shell > main{min-width:0}
.planning-page{min-width:0;max-width:100%;overflow-x:clip}
.planning-page>*{min-width:0;max-width:100%}
.planning-action-card,.planning-action-body,.planning-shift-form{min-width:0;max-width:100%}
.planning-action-body{overflow:hidden}

/* Handmatige dienst: rustige, gegroepeerde invoer zonder horizontale uitloop. */
.planning-shift-form{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    width:100%;
}
.planning-form-section{
    min-width:0;
    margin:0;
    padding:15px 16px 16px;
    border:1px solid #e5e9e5;
    border-radius:13px;
    background:#fbfcfb;
}
.planning-form-section legend{
    padding:0 5px;
    color:#35473b;
    font-size:12px;
    font-weight:850;
}
.planning-form-section>p{
    margin:0 0 12px;
    color:var(--muted);
    font-size:10px;
    line-height:1.45;
}
.planning-form-grid{
    display:grid;
    gap:10px 12px;
    min-width:0;
    align-items:start;
}
.planning-form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.planning-form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.planning-form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.planning-form-grid label{
    display:grid;
    gap:5px;
    min-width:0;
}
.planning-form-grid label>span{
    color:#626c65;
    font-size:10px;
    font-weight:800;
}
.planning-form-grid input,
.planning-form-grid select{
    width:100%;
    min-width:0;
    min-height:41px;
    padding:8px 10px;
    border:1px solid #d9dfda;
    border-radius:9px;
    background:#fff;
    color:var(--text);
    font:inherit;
    font-size:11px;
}
.planning-form-grid label>small{
    color:var(--muted);
    font-size:9px;
    line-height:1.4;
}
.planning-field-span-2{grid-column:span 2}
.planning-field-span-all{grid-column:1/-1}
.planning-shift-form>.planning-form-actions{
    display:flex;
    justify-content:flex-end;
    margin-top:0;
}
.planning-shift-form>.planning-form-actions .primary-button{
    min-width:150px;
    min-height:42px;
}

/* Weekkaart bewerken gebeurt voortaan buiten de smalle dagkolom. */
.plan-edit-trigger{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:31px;
    margin-top:2px;
    padding:6px 10px;
    border:1px solid #dfe4df;
    border-radius:8px;
    background:#fafbfa;
    color:#4f5b53;
    font:inherit;
    font-size:9px;
    font-weight:800;
    cursor:pointer;
}
.plan-edit-trigger:hover{background:#eef2ef}
.plan-edit-dialog{
    width:min(880px,calc(100vw - 40px));
    max-width:880px;
    max-height:min(90vh,860px);
    padding:0;
    border:0;
    border-radius:20px;
    background:#fff;
    color:var(--text);
    box-shadow:0 28px 90px rgba(20,30,23,.24);
}
.plan-edit-dialog::backdrop{background:rgba(20,25,21,.38);backdrop-filter:none}
.plan-dialog-shell{display:grid;max-height:min(90vh,860px);overflow:auto}
.plan-dialog-header{
    position:sticky;
    top:0;
    z-index:2;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:20px 22px 16px;
    border-bottom:1px solid #e9ece9;
    background:#fff;
}
.plan-dialog-header h2{font-size:20px}
.plan-dialog-header p{margin:5px 0 0;color:var(--muted);font-size:11px}
.plan-dialog-close{
    flex:0 0 auto;
    width:36px;
    height:36px;
    border:1px solid #dfe4df;
    border-radius:10px;
    background:#fafbfa;
    color:#4c5650;
    font-size:22px;
    line-height:1;
    cursor:pointer;
}
.plan-dialog-form{display:grid;gap:12px;padding:18px 22px 20px}
.plan-dialog-section{
    display:grid;
    gap:11px;
    padding:14px;
    border:1px solid #e7ebe7;
    border-radius:13px;
    background:#fbfcfb;
}
.plan-dialog-section-head{display:grid;gap:2px}
.plan-dialog-section-head strong{font-size:12px}
.plan-dialog-section-head small{color:var(--muted);font-size:9px;line-height:1.4}
.plan-dialog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}
.plan-dialog-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.plan-dialog-grid label{display:grid;gap:5px;min-width:0}
.plan-dialog-grid label>span,.plan-dialog-delete label>span{font-size:10px;font-weight:800;color:#626c65}
.plan-dialog-grid input,.plan-dialog-grid select,.plan-dialog-delete input{
    width:100%;
    min-width:0;
    min-height:40px;
    border:1px solid #d9dfda;
    border-radius:9px;
    padding:8px 10px;
    background:#fff;
    color:var(--text);
    font:inherit;
    font-size:11px;
}
.plan-dialog-grid label>small{font-size:9px;line-height:1.4;color:var(--muted)}
.plan-dialog-span-2{grid-column:span 2}
.plan-dialog-span-all{grid-column:1/-1}
.plan-dialog-actions{
    display:flex;
    justify-content:flex-end;
    gap:9px;
    flex-wrap:wrap;
    padding-top:2px;
}
.plan-republish-prepare-button{border-color:#d8c99c;background:#fffdf5;color:#6d5b22}
.plan-republish-help{margin:0;color:var(--muted);font-size:9px;line-height:1.45;text-align:right}
.plan-republish-help strong{color:#5f6b63}
.plan-dialog-danger-zone{
    display:grid;
    gap:10px;
    margin:0 22px 22px;
    padding:14px;
    border:1px solid #efd6d3;
    border-radius:13px;
    background:#fff8f7;
}
.plan-dialog-danger-zone>div{display:grid;gap:2px}
.plan-dialog-danger-zone>div strong{font-size:12px;color:#7e4540}
.plan-dialog-danger-zone>div small{font-size:9px;color:#8a6965;line-height:1.4}
.plan-dialog-delete{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.plan-dialog-delete label{display:grid;gap:5px;min-width:0}

/* Nachtplanning: selectie is zichtbaar en Bekijken navigeert naar de details. */
.night-shift-row.selected td{background:#f2f6f2}
.night-shift-row.selected td:first-child{box-shadow:inset 4px 0 0 #7e9183}
.night-selected-button{white-space:nowrap}
.night-selected-summary{
    min-height:0!important;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:17px 20px;
    scroll-margin-top:18px;
    outline:none;
}
.night-selected-summary-main{display:grid;gap:3px;min-width:0}
.night-selected-summary-main h2{font-size:18px}
.night-selected-summary-main p{margin:0;color:var(--muted);font-size:11px}
.night-selected-status{
    display:inline-flex;
    align-items:center;
    flex:0 0 auto;
    min-height:30px;
    padding:6px 10px;
    border-radius:999px;
    background:#edf3ee;
    color:#496252;
    font-size:10px;
    font-weight:850;
}
.night-completion-card .warning-notice{margin-bottom:12px}

@media(max-width:1200px){
    .planning-form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
    .planning-form-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
    .plan-dialog-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
    .planning-action-body{padding-left:12px;padding-right:12px}
    .planning-form-grid-4,.planning-form-grid-3,.planning-form-grid-2,
    .plan-dialog-grid,.plan-dialog-grid-4{grid-template-columns:1fr}
    .planning-field-span-2,.planning-field-span-all,.plan-dialog-span-2,.plan-dialog-span-all{grid-column:auto}
    .planning-shift-form>.planning-form-actions .primary-button{width:100%}
    .plan-edit-dialog{width:calc(100vw - 18px);max-height:94vh;border-radius:15px}
    .plan-dialog-header{padding:16px}
    .plan-dialog-form{padding:14px 16px}
    .plan-dialog-danger-zone{margin:0 16px 16px}
    .plan-dialog-delete{grid-template-columns:1fr}
    .plan-dialog-delete .danger-button{width:100%}
    .plan-dialog-actions{display:grid;grid-template-columns:1fr}
    .plan-dialog-actions .primary-button,.plan-dialog-actions .secondary-button{width:100%}
    .plan-republish-help{text-align:left}
    .night-selected-summary{align-items:flex-start;flex-direction:column}
}


/* v0.66.0 — dienstsjablonen */
.shift-template-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.shift-template-item{display:block;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.shift-template-item[open]{border-color:#d6ddd7;box-shadow:0 6px 18px rgba(48,65,53,.05)}
.shift-template-summary{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 46px 16px 16px;cursor:pointer;list-style:none}
.shift-template-summary::-webkit-details-marker{display:none}
.shift-template-summary::after{content:"⌄";position:absolute;right:17px;top:50%;transform:translateY(-50%);color:#6f7a72;font-size:18px;font-weight:800;transition:transform .15s ease}
.shift-template-item[open]>.shift-template-summary::after{transform:translateY(-50%) rotate(180deg)}
.shift-template-summary>div:first-child{display:grid;gap:5px;min-width:0}
.shift-template-summary strong{color:var(--text);font-size:13px}
.shift-template-summary small{display:block;color:var(--muted);font-size:11px;line-height:1.45}
.shift-template-edit-form{width:100%;padding:18px 16px 16px;border-top:1px solid #edf0ed;background:#fbfcfb}
@media(max-width:1180px){.shift-template-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.shift-template-form-grid{grid-template-columns:1fr}.shift-template-form-grid .notes-field,.shift-template-form-grid .notes-field.wide{grid-column:auto}.shift-template-summary{align-items:flex-start;flex-direction:column;padding-right:42px}.shift-template-summary .schedule-times{justify-content:flex-start;text-align:left}}

/* v0.66.4 · Open diensten: compacte invoer en directe werkgeverstoewijzing */
.open-shifts-page .open-shift-create-head{padding:14px 17px 11px}
.open-shifts-page .open-shift-create-head h2{margin:1px 0 3px}
.open-shifts-page .open-shift-form-v2{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.open-shifts-page .open-shift-form-section{gap:8px;padding:12px 15px}
.open-shifts-page .open-shift-form-section-title{gap:10px}
.open-shifts-page .open-shift-fields{gap:8px}
.open-shifts-page .open-shift-fields-main{grid-template-columns:minmax(210px,1.05fr) minmax(150px,.72fr) minmax(250px,1.3fr) minmax(145px,.72fr) minmax(125px,.58fr)}
.open-shifts-page .open-shift-fields-time{grid-template-columns:repeat(3,minmax(115px,1fr))}
.open-shifts-page .open-shift-fields-context{grid-template-columns:minmax(220px,1.15fr) minmax(190px,.85fr);gap:8px}
.open-shifts-page .open-shift-form-footer{padding:11px 15px;gap:14px}
.open-shifts-page .open-shift-form-footer .button{min-height:40px}
.open-shifts-page .open-shift-direct-assign{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end;padding:13px 18px;border-bottom:1px solid #edf0ed;background:#f8faf8}
.open-shifts-page .open-shift-direct-copy{display:grid;gap:3px;min-width:0}
.open-shifts-page .open-shift-direct-copy strong{font-size:12px;line-height:1.4;color:#354239}
.open-shifts-page .open-shift-direct-copy span{max-width:760px;color:#758078;font-size:10.5px;line-height:1.5}
.open-shifts-page .open-shift-direct-form{display:grid;grid-template-columns:minmax(220px,300px) auto;gap:8px;align-items:end;margin:0}
.open-shifts-page .open-shift-direct-form label{display:grid;gap:5px}
.open-shifts-page .open-shift-direct-form label>span{font-size:10.5px;font-weight:800;color:#657068}
.open-shifts-page .open-shift-direct-form select{width:100%;min-height:38px;border:1px solid #dbe1dc;border-radius:9px;padding:8px 10px;background:#fff;color:var(--text);font:inherit;font-size:12px}
.open-shifts-page .open-shift-direct-form .compact{min-height:38px!important;white-space:nowrap}
@media(max-width:1320px){
  .open-shifts-page .open-shift-fields-main{grid-template-columns:repeat(4,minmax(0,1fr))}
  .open-shifts-page .open-shift-template-field,.open-shifts-page .open-shift-name-field{grid-column:span 2}
  .open-shifts-page .open-shift-date-field,.open-shifts-page .open-shift-type-field,.open-shifts-page .open-shift-positions-field{grid-column:span 1}
}
@media(max-width:1150px){
  .open-shifts-page .open-shift-form-v2{grid-template-columns:1fr}
  .open-shifts-page .open-shift-fields-main{grid-template-columns:repeat(2,minmax(0,1fr))}
  .open-shifts-page .open-shift-template-field,.open-shifts-page .open-shift-name-field{grid-column:auto}
  .open-shifts-page .open-shift-fields-context{grid-template-columns:repeat(2,minmax(0,1fr))}
  .open-shifts-page .open-shift-direct-assign{grid-template-columns:1fr}
  .open-shifts-page .open-shift-direct-form{grid-template-columns:minmax(220px,1fr) auto}
}
@media(max-width:760px){
  .open-shifts-page .open-shift-fields-main,.open-shifts-page .open-shift-fields-context{grid-template-columns:1fr}
  .open-shifts-page .open-shift-direct-assign{padding:12px 14px}
  .open-shifts-page .open-shift-direct-form{grid-template-columns:1fr}
  .open-shifts-page .open-shift-direct-form .button{width:100%}
}

/* v0.67.0 · automatische bijzondere prestaties */
.special-auto-list{display:grid;gap:12px}
.special-auto-config{border:1px solid #e4e9e5;border-radius:13px;background:#fbfcfb;overflow:hidden}
.special-auto-config>summary{display:flex;align-items:center;gap:7px;min-height:46px;padding:12px 14px;cursor:pointer;list-style:none;color:#2d3931;font-size:12px}
.special-auto-config>summary::-webkit-details-marker{display:none}
.special-auto-config[open]>summary{border-bottom:1px solid #e7ebe7;background:#f7faf8}
.special-auto-config>.settings-form-grid{padding:15px 14px 16px;background:#fff}
@media(max-width:900px){.special-auto-config>.settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.special-auto-config>.settings-form-grid{grid-template-columns:1fr}}
.special-auto-rescan{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:11px 13px;border:1px solid #e7ebe7;border-radius:11px;background:#fafbfa;color:#68716a;font-size:11px}
@media(max-width:620px){.special-auto-rescan{align-items:flex-start;flex-direction:column}.special-auto-rescan .button{width:100%}}


/* v0.67.1 · Bijzondere prestaties — responsive formulieren en positiebehoud */
.special-performance-page .settings-form-grid label>span{line-height:1.35;flex-wrap:wrap}
.special-performance-page .settings-form-grid label>small{display:block;color:#7a827c;font-size:10px;font-weight:500;line-height:1.4}
.special-performance-page .settings-checkbox span{white-space:normal;line-height:1.4;min-width:0}
.special-auto-config{overflow:visible}
.special-auto-config>summary{flex-wrap:wrap}
.special-auto-config>.special-auto-form{grid-template-columns:minmax(260px,1.35fr) repeat(3,minmax(175px,1fr));gap:14px 16px;align-items:start;padding:16px}
.special-auto-form .special-auto-toggle{align-self:stretch;min-height:48px;padding:11px 12px;border:1px solid #e1e6e2;border-radius:10px;background:#fafcfa}
.special-auto-form .special-auto-calendar-note{grid-column:2/-1;margin:0;min-height:74px;padding:13px 14px}
.special-auto-form .special-auto-calendar-note p{max-width:none;margin-top:5px;overflow:visible;white-space:normal;line-height:1.5}
.special-auto-form .special-auto-reason{grid-column:1/span 3}
.special-auto-form .special-auto-actions{grid-column:4;align-self:end;min-width:0}
.special-auto-form .special-auto-actions .button{width:100%;white-space:normal;text-align:center;line-height:1.3}
.special-auto-form.is-evening>label:not(.special-auto-toggle):not(.special-auto-reason){align-self:start}
.special-auto-form.is-evening .input-with-suffix{min-width:0}
.special-type-form{align-items:start}
.special-type-form .special-type-section-title{grid-column:1/-1;display:grid;gap:3px;margin:2px 0 -2px;padding-top:4px;border-top:1px solid #edf0ed;color:#344138}
.special-type-section-title strong{font-size:12px}
.special-type-section-title span{color:#7a827c;font-size:10px;font-weight:500;line-height:1.4}
.special-type-form .special-type-toggle{align-self:stretch;min-height:56px;padding:10px 12px;border:1px solid #e1e6e2;border-radius:10px;background:#fafcfa}
.special-type-form .special-type-auto-toggle{grid-column:span 2}
.special-type-form .notes-field.wide{align-self:start}
.special-control-filter{grid-template-columns:minmax(180px,260px) minmax(180px,260px) auto 1fr;align-items:end}
.special-control-filter .form-actions{min-height:44px}
.special-performance-page [id]{scroll-margin-top:20px}
@media(max-width:1180px){
  .special-auto-config>.special-auto-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .special-auto-form .special-auto-calendar-note{grid-column:1/-1}
  .special-auto-form .special-auto-reason{grid-column:1/-1}
  .special-auto-form .special-auto-actions{grid-column:1/-1}
  .special-auto-form .special-auto-actions .button{width:auto}
  .special-type-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .special-type-form .special-type-auto-toggle{grid-column:span 1}
  .special-type-form .notes-field,.special-type-form .notes-field.wide{grid-column:1/-1}
  .special-control-filter{grid-template-columns:1fr 1fr auto}
}
@media(max-width:720px){
  .special-auto-config>.special-auto-form,.special-type-form,.special-control-filter{grid-template-columns:1fr}
  .special-auto-form .special-auto-calendar-note,.special-auto-form .special-auto-reason,.special-auto-form .special-auto-actions,.special-type-form .special-type-section-title,.special-type-form .special-type-auto-toggle,.special-type-form .notes-field,.special-type-form .notes-field.wide{grid-column:1}
  .special-auto-form .special-auto-actions .button,.special-control-filter .button{width:100%}
}

/* v0.67.3 — duidelijke eenheidslabels & arbeidstijd-heranalyse */
.special-unit-label-list{display:grid;gap:12px}
.special-unit-label-form{padding:14px;border:1px solid #e6ebe7;border-radius:12px;background:#fbfcfb;grid-template-columns:minmax(250px,1.05fr) minmax(320px,1.25fr) auto;align-items:center;gap:18px}
.special-unit-label-form .settings-info-note{margin:0;min-height:100%;display:grid;align-content:center}
.special-unit-label-form .special-unit-label-field{align-self:center;margin:0}
.special-unit-label-form .form-actions{align-self:center;margin:0;display:flex;align-items:center}
.special-unit-label-form .form-actions .button{white-space:nowrap}
.overtime-reanalysis-note{margin:0 0 12px}
@media(max-width:1100px){.special-unit-label-form{grid-template-columns:minmax(220px,.9fr) minmax(280px,1.1fr)}.special-unit-label-form .form-actions{grid-column:2;justify-content:flex-start}}
@media(max-width:700px){.special-unit-label-form{grid-template-columns:1fr;align-items:stretch}.special-unit-label-form .settings-info-note,.special-unit-label-form .special-unit-label-field,.special-unit-label-form .form-actions{grid-column:1}.special-unit-label-form .button{width:100%}}

/* v0.68.4 · refertebalans-automatisering */
.balance-table td{vertical-align:top}.balance-table td small{display:block;margin-top:5px;color:#7a827d;font-size:9px;line-height:1.45}.balance-review-form{display:grid;gap:8px;min-width:250px;margin-top:8px}.balance-review-form label{display:grid;gap:4px}.balance-review-form label span{font-size:8px;font-weight:800;color:#737d76;text-transform:uppercase;letter-spacing:.04em}.balance-review-form input{width:100%;min-height:36px;border:1px solid #dcdeda;border-radius:9px;padding:8px 10px;font:inherit;background:#fff;color:var(--text)}.balance-review-form .form-actions{display:flex;gap:6px;flex-wrap:wrap}.balance-review-form .button,.balance-review-form .secondary-button{min-height:34px;padding:8px 10px;font-size:9px}

/* v0.68.6 · Kampen fase 1 */
.camp-page{display:grid;gap:16px}.camp-card-head{align-items:flex-start}.camp-card-head>div:first-child{min-width:0}.camp-card-head h2{margin-top:6px}.camp-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.camp-form-grid textarea{width:100%;min-width:0;border:1px solid #d9dfda;border-radius:10px;padding:10px 11px;background:#fff;color:#20251f;font:inherit;font-size:13px;outline:none;resize:vertical}.camp-form-grid textarea:focus{border-color:#879b8c;box-shadow:0 0 0 3px rgba(126,145,131,.12)}.camp-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 18px 18px}.camp-meta-grid>div{display:grid;gap:4px;padding:12px 14px;border:1px solid #e6eae6;border-radius:12px;background:#fbfcfb}.camp-meta-grid span{font-size:9px;font-weight:800;color:#778079;text-transform:uppercase;letter-spacing:.04em}.camp-meta-grid strong{font-size:13px;color:#28302b}.camp-notes{margin:0 18px 18px;padding:14px 16px;border-left:3px solid #9ca99f;border-radius:10px;background:#f8faf8}.camp-notes strong{font-size:11px}.camp-notes p{margin:6px 0 0;line-height:1.5;color:#5f6962}.camp-inline-action{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:7px;align-items:center;min-width:260px}.camp-inline-action input{min-width:0;border:1px solid #d9dfda;border-radius:8px;padding:7px 9px;font:inherit;font-size:10px}.camp-filter-actions{display:flex;gap:8px;flex-wrap:wrap}.camp-overview-table{min-width:1050px}.camp-participant-table{min-width:980px}.camp-summary-card .settings-card-head{padding-bottom:14px}.camp-page .status-chip.warning{background:#fff0ef;color:#94524c}.camp-page .status-chip.review{background:#f0f1ef;color:#69716b}.camp-assignment-grid{grid-template-columns:1.2fr 1fr 2fr auto}.camp-participant-grid{grid-template-columns:1.2fr 1fr 1fr 1fr}.camp-participant-grid .notes-field,.camp-assignment-grid .notes-field{grid-column:span 2}.camp-participant-grid .form-actions,.camp-assignment-grid .form-actions{align-self:end}
@media(max-width:1000px){.camp-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.camp-assignment-grid,.camp-participant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.camp-assignment-grid .notes-field,.camp-participant-grid .notes-field{grid-column:auto}.camp-card-head{gap:12px;flex-direction:column}.camp-head-actions{justify-content:flex-start}}
@media(max-width:650px){.camp-meta-grid,.camp-assignment-grid,.camp-participant-grid{grid-template-columns:1fr}.camp-inline-action{grid-template-columns:1fr;min-width:200px}.camp-filter-actions,.camp-head-actions{width:100%}.camp-filter-actions .button,.camp-filter-actions .secondary-button,.camp-head-actions .button,.camp-head-actions .secondary-button{width:100%;justify-content:center}}
.camp-type-form-grid{grid-template-columns:1.2fr .7fr 1fr 1fr}.camp-type-table{min-width:820px}.camp-type-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.camp-type-status-form{min-width:300px}.camp-type-status-form input{min-width:150px}
@media(max-width:1000px){.camp-type-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.camp-type-form-grid .notes-field{grid-column:auto}.camp-type-status-form{min-width:240px}}
@media(max-width:650px){.camp-type-form-grid{grid-template-columns:1fr}.camp-type-actions{align-items:stretch;flex-direction:column}.camp-type-status-form{min-width:0;width:100%}}

/* v0.68.9 · kampen: effectieve stopmomenten */
.camp-responsible-grid{grid-template-columns:1.2fr 1.2fr .9fr .8fr}.camp-responsible-grid .notes-field{grid-column:span 3}.camp-responsible-table{min-width:1040px}.camp-stop-details{min-width:220px}.camp-stop-details summary{list-style:none;cursor:pointer;width:max-content}.camp-stop-details summary::-webkit-details-marker{display:none}.camp-stop-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;padding:10px;border:1px solid #e1e6e2;border-radius:10px;background:#fafbfa;min-width:420px}.camp-stop-form label{display:grid;gap:4px}.camp-stop-form label>span{font-size:9px;font-weight:800;color:#69736c;text-transform:uppercase;letter-spacing:.03em}.camp-stop-form input{min-width:0;border:1px solid #d9dfda;border-radius:8px;padding:7px 9px;font:inherit;font-size:11px}.camp-stop-form .wide{grid-column:1/-1}.camp-stop-form button{justify-self:start}.camp-page .status-chip.warning{background:#fff6dd;color:#7e6418}
@media(max-width:1000px){.camp-responsible-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.camp-responsible-grid .notes-field{grid-column:auto}.camp-stop-form{min-width:340px}}
@media(max-width:650px){.camp-responsible-grid{grid-template-columns:1fr}.camp-stop-form{grid-template-columns:1fr;min-width:0}.camp-stop-form .wide{grid-column:auto}}


/* v0.69.0 · Kampen correcties, geplande stopmomenten & uitlijning */
.camp-action-stack{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:220px}
.camp-stop-details,.camp-correction-details,.camp-cancel-details{min-width:220px}
.camp-stop-details summary,.camp-correction-details summary,.camp-cancel-details summary{list-style:none;cursor:pointer;width:max-content}
.camp-stop-details summary::-webkit-details-marker,.camp-correction-details summary::-webkit-details-marker,.camp-cancel-details summary::-webkit-details-marker{display:none}
.camp-stop-form{align-items:start}
.camp-stop-form label{display:grid;grid-auto-rows:max-content;align-content:start;align-self:start;gap:4px;width:100%}
.camp-stop-form label>span{min-height:14px;display:flex;align-items:center}
.camp-stop-form input{width:100%;min-height:38px;box-sizing:border-box}
.camp-stop-form label>small{display:block;min-height:14px;line-height:1.35}
.camp-correction-form{display:grid;gap:7px;margin-top:8px;padding:10px;border:1px solid #e1e6e2;border-radius:10px;background:#fafbfa;min-width:360px}
.camp-correction-form label{display:grid;gap:4px;align-content:start}
.camp-correction-form label>span{font-size:9px;font-weight:800;color:#69736c;text-transform:uppercase;letter-spacing:.03em}
.camp-correction-form input{width:100%;min-width:0;min-height:38px;box-sizing:border-box;border:1px solid #d9dfda;border-radius:8px;padding:7px 9px;font:inherit;font-size:11px}
.camp-correction-form>small{color:#717b74;font-size:9px;line-height:1.45}
.camp-correction-form button{justify-self:start}
.camp-audit-table{min-width:980px}
@media(max-width:650px){.camp-action-stack,.camp-stop-details,.camp-correction-details,.camp-cancel-details{min-width:0;width:100%}.camp-correction-form{min-width:0;width:100%}.camp-stop-details summary,.camp-correction-details summary,.camp-cancel-details summary{width:100%;justify-content:center}}

/* v0.69.1 · Kampcontext in operationele planning */
.plan-camp-link{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:3px 7px;border-radius:999px;background:#f4f0df;color:#715f25;font-size:8px!important;font-weight:850;line-height:1.25;text-decoration:none;white-space:normal}.plan-camp-link:hover{text-decoration:underline}.camp-planning-card .settings-card-head{align-items:flex-start}.camp-planning-summary{display:flex;gap:10px;flex-wrap:wrap;padding:0 18px 14px}.camp-planning-summary>span{display:inline-flex;align-items:baseline;gap:5px;padding:7px 10px;border:1px solid #e5e9e5;border-radius:999px;background:#fafbfa;color:#68726b;font-size:10px}.camp-planning-summary strong{color:#29322c;font-size:12px}.camp-planning-table{min-width:1080px}.camp-planning-table td>small{display:block;margin-top:3px;color:#758078;font-size:9px}.camp-planning-republish{color:#8a641f!important;font-weight:750}.camp-planning-empty{margin:0 18px 18px}.planning-form-section select[name="camp_id"],.plan-dialog-form select[name="camp_id"]{border-color:#d8ddcf;background:#fffef9}
@media(max-width:650px){.camp-planning-summary{padding-left:14px;padding-right:14px}.camp-planning-card .camp-head-actions{width:100%}.camp-planning-card .camp-head-actions .button,.camp-planning-card .camp-head-actions .secondary-button{width:100%;justify-content:center}}
.employee-plan-camp{color:#725f24!important;font-weight:800}

/* v0.69.2 — publicatiepreview toont exacte snapshotinhoud */
.planning-publication-details{display:grid;gap:9px;padding:11px 12px;border:1px solid #e4e8e4;border-radius:11px;background:#fff}
.planning-publication-details-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.planning-publication-details-head>div{display:grid;gap:2px;min-width:0}.planning-publication-details-head strong{font-size:11px}.planning-publication-details-head small{font-size:9px;line-height:1.4;color:var(--muted)}
.planning-publication-details-head>span{flex:0 0 auto;display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border:1px solid #e0e5e1;border-radius:999px;background:#fafbfa;font-size:8px;font-weight:850;color:#647068}
.planning-publication-detail-table{width:100%;min-width:1050px;border-collapse:collapse}.planning-publication-detail-table th,.planning-publication-detail-table td{padding:8px 9px;border-bottom:1px solid #edf0ed;text-align:left;vertical-align:top;font-size:9px}.planning-publication-detail-table th{font-size:8px;text-transform:uppercase;letter-spacing:.04em;color:#6f7972;background:#fafbfa}.planning-publication-detail-table tbody tr:last-child td{border-bottom:0}
.planning-publication-segments{display:grid;gap:5px;min-width:180px}.planning-publication-segment{display:grid;gap:1px}.planning-publication-segment strong{font-size:9px}.planning-publication-segment small{font-size:8px;line-height:1.35;color:var(--muted)}
.planning-publication-action{display:inline-flex;align-items:center;min-height:23px;padding:4px 7px;border:1px solid #dfe4df;border-radius:999px;background:#f7f9f7;font-size:8px;font-weight:850;white-space:nowrap}.planning-publication-action.republish{background:#fff9ed;border-color:#eed7a4}.planning-publication-action.stage_change{background:#f5f6fb;border-color:#dfe1ef}
.planning-publication-change{display:block;max-width:260px;line-height:1.45;color:#566159;font-size:8px}
@media(max-width:700px){.planning-publication-details{padding:10px}.planning-publication-details-head{flex-direction:column}.planning-publication-detail-table{min-width:920px}}
/* v0.69.4 · kampcontext bij open diensten */
.open-shift-camp-context{margin:5px 0 0}.open-shift-camp-context a,.my-open-shift-camp-context{display:inline-flex;align-items:center;max-width:100%;padding:4px 8px;border-radius:999px;background:#f4f0df;color:#715f25;font-size:9px;font-weight:800;line-height:1.3;text-decoration:none}.open-shift-camp-context a:hover{text-decoration:underline}.my-open-shift-camp-context{margin:7px 0 0}.open-shift-camp-field small{display:block;margin-top:4px}.camp-planning-subsection{padding:0 18px 18px}.camp-planning-subsection+h3{margin-top:0}.camp-planning-subsection>h3{margin:0 0 10px;font-size:14px}.camp-open-shifts-table{min-width:1020px}.camp-open-shifts-table td>small{display:block;margin-top:3px;color:#758078;font-size:9px}.compact-empty{margin:0;padding:14px 0}
@media(max-width:650px){.camp-planning-subsection{padding-left:14px;padding-right:14px}.open-shift-camp-context a,.my-open-shift-camp-context{white-space:normal}}

/* v0.69.5 — Open diensten: gebalanceerde invoerlayout */
.open-shifts-page .open-shift-form-v2{
  grid-template-columns:1fr;
}
.open-shifts-page .open-shift-form-section:nth-of-type(2){
  border-right:0;
}
.open-shifts-page .open-shift-form-section{
  padding:14px 18px;
}
.open-shifts-page .open-shift-fields [hidden]{
  display:none!important;
}
.open-shifts-page .open-shift-fields-time{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
  align-items:start;
}
.open-shifts-page .open-shift-fields-context{
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:12px;
  row-gap:12px;
  align-items:start;
}
.open-shifts-page .open-shift-fields-context .open-shift-unit-field{
  grid-column:1 / span 6;
}
.open-shifts-page .open-shift-fields-context .open-shift-camp-field{
  grid-column:7 / span 6;
}
.open-shifts-page .open-shift-fields-context .open-shift-night-field{
  grid-column:1 / span 6;
}
.open-shifts-page .open-shift-fields-context .open-shift-sleeping-field{
  grid-column:7 / span 6;
}
.open-shifts-page .open-shift-fields-context .open-shift-note{
  grid-column:1 / -1;
}
.open-shifts-page .open-shift-fields-context label,
.open-shifts-page .open-shift-fields-time label{
  align-content:start;
}
.open-shifts-page .open-shift-fields-context label>span,
.open-shifts-page .open-shift-fields-time label>span{
  min-height:18px;
  display:flex;
  align-items:flex-end;
}
.open-shifts-page .open-shift-fields-context input,
.open-shifts-page .open-shift-fields-context select,
.open-shifts-page .open-shift-fields-time input,
.open-shifts-page .open-shift-fields-time select{
  min-height:44px;
}
.open-shifts-page .open-shift-camp-field>small{
  display:block;
  margin-top:1px;
  color:#707b73;
  font-size:9.5px;
  font-weight:500;
  line-height:1.45;
}
.open-shifts-page .open-shift-note input{
  width:100%;
}
@media(max-width:980px){
  .open-shifts-page .open-shift-fields-context{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .open-shifts-page .open-shift-fields-context .open-shift-unit-field,
  .open-shifts-page .open-shift-fields-context .open-shift-camp-field,
  .open-shifts-page .open-shift-fields-context .open-shift-night-field,
  .open-shifts-page .open-shift-fields-context .open-shift-sleeping-field{
    grid-column:auto;
  }
  .open-shifts-page .open-shift-fields-context .open-shift-note{
    grid-column:1 / -1;
  }
}
@media(max-width:700px){
  .open-shifts-page .open-shift-form-section{
    padding:12px 14px;
  }
  .open-shifts-page .open-shift-fields-time,
  .open-shifts-page .open-shift-fields-context{
    grid-template-columns:1fr;
  }
  .open-shifts-page .open-shift-fields-context .open-shift-note{
    grid-column:auto;
  }
  .open-shifts-page .open-shift-fields-context label>span,
  .open-shifts-page .open-shift-fields-time label>span{
    min-height:0;
  }
}

/* v0.69.6 — Open diensten: basisuitlijning & werknemer-UX */
.open-shifts-page .open-shift-fields-main{
  align-items:start;
}
.open-shifts-page .open-shift-fields-main label{
  align-content:start;
}
.open-shifts-page .open-shift-fields-main label>span{
  min-height:18px;
  display:flex;
  align-items:flex-end;
}
.open-shifts-page .open-shift-fields-main input,
.open-shifts-page .open-shift-fields-main select{
  min-height:44px;
}
.open-shifts-page .open-shift-template-field>small{
  display:block;
  min-height:18px;
  margin-top:2px;
  line-height:1.35;
}

.my-open-shifts-page .my-open-shift-toolbar-v2{
  gap:12px;
  padding:17px 19px;
}
.my-open-shifts-page .my-open-shift-toolbar-v2 .open-shift-toolbar-top .week-nav a{
  font-size:11.5px;
  line-height:1.4;
}
.my-open-shifts-page .my-open-shift-toolbar-v2 .open-shift-toolbar-top .week-nav strong{
  font-size:18px;
  line-height:1.3;
}
.my-open-shift-month-tools{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.my-open-shift-month-jump{
  display:grid;
  grid-template-columns:minmax(190px,260px) auto;
  gap:8px;
  align-items:end;
  margin:0;
}
.my-open-shift-month-jump label{
  display:grid;
  gap:5px;
}
.my-open-shift-month-jump label>span{
  color:#667168;
  font-size:11px;
  font-weight:800;
  line-height:1.4;
}
.my-open-shift-month-jump input{
  width:100%;
  min-height:42px;
  border:1px solid #dbe1dc;
  border-radius:9px;
  padding:8px 10px;
  background:#fff;
  color:var(--text);
  font:inherit;
  font-size:12.5px;
}
.my-open-shift-quick-months{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}
.my-open-shift-quick-months .secondary-button,
.my-open-shift-month-jump .button{
  min-height:42px;
  justify-content:center;
}

.my-open-shifts-page .my-open-shift-section-head h2{
  font-size:21px;
  line-height:1.3;
}
.my-open-shifts-page .my-open-shift-card{
  grid-template-columns:108px minmax(0,1fr);
  gap:20px;
  padding:21px 22px;
  border-radius:15px;
}
.my-open-shifts-page .my-open-shift-date{
  min-width:96px;
  min-height:104px;
  padding:14px 12px;
  border-radius:14px;
  align-content:center;
}
.my-open-shifts-page .my-open-shift-date strong{
  font-size:32px;
  line-height:1;
}
.my-open-shifts-page .my-open-shift-date span{
  margin-top:7px;
  font-size:11px;
  line-height:1.35;
}
.my-open-shifts-page .my-open-shift-date small{
  margin-top:3px;
  font-size:10px;
  line-height:1.35;
}
.my-open-shifts-page .my-open-shift-main{
  gap:13px;
}
.my-open-shifts-page .my-open-shift-title-row{
  gap:16px;
}
.my-open-shifts-page .my-open-shift-title-row h3{
  margin:0 0 5px;
  font-size:20px;
  line-height:1.3;
}
.my-open-shifts-page .my-open-shift-title-row strong{
  font-size:14px;
  line-height:1.4;
}
.my-open-shifts-page .fit-badge{
  min-height:30px;
  padding:6px 10px;
  font-size:10.5px;
  line-height:1.35;
}
.my-open-shifts-page .my-open-shift-meta{
  font-size:11.5px;
  line-height:1.5;
}
.my-open-shifts-page .my-open-shift-camp-context{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin:0;
  padding:6px 10px;
  border-radius:999px;
  background:#f4f0df;
  color:#715f25;
  font-size:11px;
  font-weight:800;
  line-height:1.4;
}
.my-open-shifts-page .my-open-shift-note{
  padding:11px 12px;
  border-radius:10px;
  font-size:11.5px;
  line-height:1.5;
}
.my-open-shifts-page .my-open-shift-fit{
  gap:4px;
  padding:11px 12px;
  border-radius:10px;
}
.my-open-shifts-page .my-open-shift-fit strong{
  font-size:11.5px;
  line-height:1.4;
}
.my-open-shifts-page .my-open-shift-fit span{
  font-size:10.5px;
  line-height:1.5;
}
.my-open-shifts-page .my-open-shift-apply{
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  padding-top:2px;
}
.my-open-shifts-page .my-open-shift-apply label>span{
  font-size:11px;
  line-height:1.4;
}
.my-open-shifts-page .my-open-shift-apply input{
  width:100%;
  min-height:44px;
  border:1px solid #dbe1dc;
  border-radius:9px;
  padding:9px 11px;
  background:#fff;
  color:var(--text);
  font:inherit;
  font-size:12px;
}
.my-open-shifts-page .my-open-shift-apply .button{
  min-height:44px;
}
.my-open-shifts-page .my-open-shift-applied,
.my-open-shifts-page .my-open-shift-closed-note{
  padding:11px 12px;
  font-size:10.5px;
  line-height:1.45;
}

@media(max-width:900px){
  .my-open-shift-month-tools{
    align-items:stretch;
    flex-direction:column;
  }
  .my-open-shift-month-jump{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .my-open-shift-quick-months{
    width:100%;
  }
  .my-open-shift-quick-months .secondary-button{
    flex:1 1 140px;
  }
}
@media(max-width:700px){
  .open-shifts-page .open-shift-fields-main label>span{
    min-height:0;
  }
  .open-shifts-page .open-shift-template-field>small{
    min-height:0;
  }
  .my-open-shift-month-jump{
    grid-template-columns:1fr;
  }
  .my-open-shift-month-jump .button{
    width:100%;
  }
  .my-open-shift-quick-months{
    display:grid;
    grid-template-columns:1fr;
  }
  .my-open-shifts-page .my-open-shift-card{
    grid-template-columns:1fr;
    gap:14px;
    padding:17px;
  }
  .my-open-shifts-page .my-open-shift-date{
    min-width:0;
    min-height:0;
    grid-template-columns:auto auto auto;
    justify-content:start;
    justify-items:start;
    align-items:baseline;
    gap:7px;
    padding:10px 12px;
  }
  .my-open-shifts-page .my-open-shift-date strong{
    font-size:26px;
  }
  .my-open-shifts-page .my-open-shift-date span,
  .my-open-shifts-page .my-open-shift-date small{
    margin-top:0;
  }
  .my-open-shifts-page .my-open-shift-title-row{
    align-items:flex-start;
  }
  .my-open-shifts-page .my-open-shift-title-row h3{
    font-size:18px;
  }
  .my-open-shifts-page .my-open-shift-apply{
    grid-template-columns:1fr;
  }
  .my-open-shifts-page .my-open-shift-apply .button{
    width:100%;
  }
}



/* v0.69.7 — Werknemer Open diensten: Actieve opvolging leesbaarheid */
.my-open-shifts-page .my-open-shift-active{
  gap:18px;
  padding:23px 24px 24px;
  border-radius:16px;
}
.my-open-shifts-page .my-open-shift-active .settings-card-head{
  margin:0;
  padding:0 2px;
}
.my-open-shifts-page .my-open-shift-active .settings-card-head h2{
  margin-top:3px;
  font-size:21px;
  line-height:1.3;
}
.my-open-shifts-page .my-open-shift-active .settings-card-head p:not(.eyebrow){
  max-width:900px;
  margin-top:8px;
  font-size:12.5px;
  line-height:1.6;
}
.my-open-shifts-page .my-open-shift-application-list{
  gap:10px;
}
.my-open-shifts-page .my-open-shift-application{
  min-height:72px;
  gap:18px;
  padding:15px 16px;
  border-radius:12px;
}
.my-open-shifts-page .my-open-shift-application>div{
  min-width:0;
  gap:5px;
}
.my-open-shifts-page .my-open-shift-application strong{
  font-size:13px;
  line-height:1.4;
}
.my-open-shifts-page .my-open-shift-application>div>span{
  font-size:11.5px;
  line-height:1.5;
}
.my-open-shifts-page .my-open-shift-application>.open-shift-status{
  flex:0 0 auto;
  min-height:30px;
  padding:6px 10px;
  font-size:10.5px;
  line-height:1.35;
  font-weight:850;
}

@media(max-width:700px){
  .my-open-shifts-page .my-open-shift-active{
    gap:15px;
    padding:18px 16px;
  }
  .my-open-shifts-page .my-open-shift-active .settings-card-head h2{
    font-size:19px;
  }
  .my-open-shifts-page .my-open-shift-active .settings-card-head p:not(.eyebrow){
    font-size:12px;
  }
  .my-open-shifts-page .my-open-shift-application{
    min-height:0;
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
    padding:14px;
  }
  .my-open-shifts-page .my-open-shift-application strong{
    font-size:12.5px;
  }
  .my-open-shifts-page .my-open-shift-application>div>span{
    font-size:11px;
  }
}


/* v0.69.8 — Kampen fase 3A: planningcontext bij effectieve tijdregistratie */
.clock-in-form { width: min(100%, 680px); display: grid; gap: 16px; }
.time-work-context { display: grid; gap: 12px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 14px; background: #fafbf9; }
.time-work-context > div { display: grid; gap: 4px; }
.time-work-context > div strong { font-size: 15px; }
.time-work-context > div small { color: var(--muted); line-height: 1.5; }
.time-work-context label { display: grid; gap: 7px; font-size: 12px; font-weight: 700; }
.time-work-context select { width: 100%; min-height: 44px; border: 1px solid #dcdeda; border-radius: 10px; padding: 10px 12px; background: #fff; color: var(--text); font: inherit; }
.time-active-context, .time-registration-context-detail { margin-top: 18px; display: grid; gap: 5px; padding: 14px 16px; border: 1px solid #d9e1da; border-radius: 13px; background: #f6faf6; }
.time-active-context > span, .time-registration-context-detail > span { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.time-active-context > strong, .time-registration-context-detail > strong { font-size: 15px; }
.time-active-context > small, .time-registration-context-detail > small { color: var(--muted); line-height: 1.45; }
.camp-time-entries-table td small { display: block; margin-top: 3px; color: var(--muted); }
@media (max-width: 720px) {
  .clock-in-form { width: 100%; }
  .time-work-context { padding: 14px; }
}

/* v0.69.9 — Tijdregistratie app-UX + compact modern weekoverzicht */
.time-page{display:grid;gap:16px}
.time-page .page-notice{margin:0}
.time-page-header{min-height:104px;padding:22px 28px}
.time-page-header h1{font-size:30px}
.time-layout-modern{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:0;align-items:start}
.time-layout-modern > .time-clock-modern{width:100%;min-width:0}
.time-clock-modern{min-height:0;padding:22px 24px 20px;overflow:hidden}
.time-clock-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.time-clock-topline>div{display:grid;gap:3px}
.time-clock-date{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em}
.time-clock-topline strong{font-size:18px;line-height:1.2}
.time-registration-number{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid #e0e5e1;border-radius:999px;background:#fafbfa;color:#657068;font-size:9px;font-weight:850}
.time-clock-hero{display:grid;place-items:center;padding:20px 0 18px}
.time-clock-ring{--clock-progress:0%;--clock-progress-color:#8a9b8e;--clock-track-color:#e7ece8;position:relative;width:min(310px,70vw);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:#f6f8f6;box-shadow:inset 0 0 0 1px #edf0ed}
.time-clock-ring::before{content:"";position:absolute;inset:7px;border-radius:50%;background:conic-gradient(from 0deg,var(--clock-progress-color) 0 var(--clock-progress),var(--clock-track-color) var(--clock-progress) 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 12px),#000 calc(100% - 11px));mask:radial-gradient(farthest-side,transparent calc(100% - 12px),#000 calc(100% - 11px));transition:background .25s ease}
.time-clock-ring.is-idle{--clock-progress-color:#8a9b8e;--clock-track-color:#e8ece9}
.time-clock-ring.is-live{--clock-progress-color:#7f9383;--clock-track-color:#e7ece8}
.time-clock-ring.is-paused{--clock-progress-color:#c7a15c;--clock-track-color:#eee8dc}
.time-clock-ring.is-over-target{--clock-progress-color:#6f8977}
.time-clock-ring-inner{position:relative;z-index:1;width:calc(100% - 52px);aspect-ratio:1;display:grid;place-items:center;align-content:center;gap:8px;border-radius:50%;background:#fff;box-shadow:0 12px 30px rgba(36,47,39,.06)}
.time-clock-ring-label{color:#6d7770;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.time-clock-ring-inner strong{font-size:clamp(38px,5vw,54px);line-height:1;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.time-clock-ring-inner small{color:var(--muted);font-size:11px;font-weight:650}
.time-clock-progress-copy{min-height:15px;text-align:center;font-variant-numeric:tabular-nums}
.time-clock-ring.is-over-target .time-clock-progress-copy{color:#5f765f;font-weight:800}
.time-clock-started{font-size:10px!important}
.time-current-context{display:grid;grid-template-columns:36px minmax(0,1fr);gap:11px;align-items:center;margin:0 auto 16px;max-width:620px;padding:12px 14px;border:1px solid #dfe6e0;border-radius:13px;background:#f7faf7}
.time-context-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#e9f0ea;color:#52675a;font-size:20px;font-weight:900}
.time-current-context>div:last-child{display:grid;min-width:0;gap:2px}
.time-current-context span{color:#728078;font-size:8px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.time-current-context strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.time-current-context small{color:#737d76;font-size:9px;line-height:1.35}
.time-current-context .time-context-camp{color:#745f25;font-weight:750}
.time-clock-form{width:min(100%,640px);margin:0 auto;gap:13px}
.time-work-context-modern{gap:11px;padding:14px 15px;border-radius:13px;background:#fbfcfb}
.time-work-context-copy{display:grid;gap:3px}
.time-work-context-copy>span{color:#758078;font-size:8px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.time-work-context-copy>strong{font-size:14px}
.time-work-context-copy>small{font-size:10px;line-height:1.45}
.time-work-context-modern label>span{font-size:9px}
.time-work-context-modern select{min-height:46px;border-radius:11px;font-size:12px;font-weight:650}
.time-no-context-note{display:grid;gap:3px;padding:12px 14px;border:1px solid #e2e6e2;border-radius:12px;background:#fafbfa}
.time-no-context-note strong{font-size:12px}.time-no-context-note span{color:var(--muted);font-size:10px}
.time-location-strip{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;width:min(100%,640px);margin:0 auto;padding:10px 12px;border:1px solid #e5e8e5;border-radius:12px;background:#fff}
.time-location-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f0f3f0;color:#5d6c62;font-size:18px;font-weight:900}
.time-location-strip>div{display:grid;gap:2px}.time-location-strip strong{font-size:10px}.time-location-strip small{color:var(--muted);font-size:9px;line-height:1.35}
.time-primary-action{width:min(100%,640px);min-height:54px;margin:0 auto;border-radius:14px;font-size:14px;font-weight:850;box-shadow:0 8px 20px rgba(73,91,78,.14)}
.time-primary-action span,.time-secondary-action span,.time-stop-action span{margin-right:6px}
.time-clock-actions-modern{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:min(100%,640px);margin:12px auto 0}
.time-clock-actions-modern form{margin:0}.time-clock-actions-modern button{width:100%;min-height:50px;border-radius:13px;font-size:12px;font-weight:850}
.time-secondary-action.resume{border:0;background:var(--accent);color:#fff}
.time-stop-action{border-color:#ead2cf;background:#fff9f8;color:#8a3d37}
.time-privacy-note{width:min(100%,640px);margin:14px auto 0;text-align:center;font-size:9px;line-height:1.55}
.time-side-stack{display:grid;gap:16px}
.time-help-card,.time-legend-card{min-height:0;padding:20px}
.time-help-card .info-block{margin-top:18px}
.time-legend-list{display:grid;gap:0;margin-top:16px;border:1px solid #e8ebe8;border-radius:13px;overflow:hidden}
.time-legend-list>div{display:grid;gap:2px;padding:11px 13px;background:#fff}.time-legend-list>div+div{border-top:1px solid #edf0ed}.time-legend-list strong{font-size:10px}.time-legend-list span{color:var(--muted);font-size:9px;line-height:1.4}
.time-recent-panel{margin:0;min-height:0}
.time-action-dialog{width:min(440px,calc(100vw - 30px));padding:0;border:0;border-radius:20px;background:#fff;box-shadow:0 28px 70px rgba(22,31,25,.22)}
.time-action-dialog::backdrop{background:rgba(28,35,30,.34);backdrop-filter:blur(2px)}
.time-action-dialog-shell{display:grid;justify-items:center;gap:10px;padding:26px 24px 22px;text-align:center}
.time-action-dialog-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#eef4ef;color:#58705f;font-size:22px;font-weight:900}
.time-action-dialog h2{font-size:20px}.time-action-dialog p{max-width:330px;margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.time-action-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:100%;margin-top:8px}.time-action-dialog-actions button{min-height:45px;border-radius:11px}

/* Operationele planning: volledige week op standaard desktop zonder afgesneden zondag. */
.planning-week-panel .planning-table-wrap{overflow-x:hidden;overflow-y:visible}
.planning-week-panel .planning-table{width:100%;min-width:0;table-layout:fixed}
.planning-week-panel .planning-table th,.planning-week-panel .planning-table td{min-width:0;padding:5px;overflow:hidden}
.planning-week-panel .planning-table thead th:first-child,.planning-week-panel .planning-table tbody th{width:112px;min-width:112px;max-width:112px}
.planning-week-panel .planning-table tbody th{padding:7px 6px;font-size:10px;line-height:1.25;overflow-wrap:anywhere}
.planning-week-panel .planning-table thead th:not(:first-child){width:auto;text-align:center}
.planning-week-panel .planning-table thead th span{font-size:8px}.planning-week-panel .planning-table thead th small{font-size:8px}
.planning-week-panel .plan-segment-stack,.planning-week-panel .plan-segment-stack.has-multiple{min-width:0;gap:5px}
.planning-week-panel .plan-cell{min-width:0;gap:5px;padding:6px;border-radius:9px;overflow:hidden}
.planning-week-panel .plan-cell-main{min-width:0;gap:1px}
.planning-week-panel .plan-cell-main strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:9.5px;line-height:1.25;overflow-wrap:anywhere}
.planning-week-panel .plan-time{font-size:10px!important;line-height:1.25;white-space:normal}
.planning-week-panel .plan-unit{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7.5px!important}
.planning-week-panel .plan-camp-link{display:-webkit-box;width:auto;max-width:100%;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;padding:2px 5px;font-size:7px!important;line-height:1.25}
.planning-week-panel .plan-status-row{gap:3px}
.planning-week-panel .plan-status-chip{max-width:100%;padding:2px 4px;font-size:6.5px!important;line-height:1.25;white-space:normal}
.planning-week-panel .plan-segment-label{margin:0;padding:3px 5px}.planning-week-panel .plan-segment-label span{font-size:6.5px!important}.planning-week-panel .plan-segment-label small{font-size:6px}
.planning-week-panel .plan-day-publication-state{gap:1px;margin:0 0 5px;padding:5px 6px;border-radius:7px}.planning-week-panel .plan-day-publication-state strong{font-size:7px}.planning-week-panel .plan-day-publication-state span{display:none}
.planning-week-panel .plan-availability-row{gap:3px;margin-top:1px}
.planning-week-panel .availability-mini-chip.availability-state{min-height:25px;padding:3px 5px;border-radius:7px}
.planning-week-panel .availability-state-copy strong{font-size:7.5px}.planning-week-panel .availability-state-copy small{font-size:6.5px}
.planning-week-panel .availability-mini-chip.availability-warning{grid-template-columns:14px minmax(0,1fr);min-height:28px;gap:4px;padding:4px 5px;border-radius:7px}
.planning-week-panel .availability-warning-icon{width:14px;height:14px;font-size:8px}.planning-week-panel .availability-warning-copy strong{font-size:7px;line-height:1.2}.planning-week-panel .availability-warning-copy small{display:none}
.planning-week-panel .plan-conflicts{gap:2px}.planning-week-panel .plan-conflicts span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:7px;line-height:1.25}
.planning-week-panel .plan-worktime-signals{gap:3px}.planning-week-panel .plan-worktime-signals span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;padding:3px 4px;border-radius:6px;font-size:7px;line-height:1.25}.planning-week-panel .plan-worktime-signals a{font-size:7px}
.planning-week-panel .plan-night-followup{gap:3px}.planning-week-panel .plan-night-followup>a,.planning-week-panel .plan-night-followup>span:not(.plan-status-chip){font-size:7px}
.planning-week-panel .plan-note{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:7px!important;line-height:1.3}
.planning-week-panel .plan-edit-trigger{width:100%;min-height:25px;margin-top:0;padding:4px 5px;border-radius:7px;font-size:7.5px}
.planning-week-panel .plan-empty-state{min-height:56px;padding:6px;border-radius:8px}.planning-week-panel .plan-empty-state span{font-size:8px}.planning-week-panel .plan-empty-state small{font-size:7px}

@media(max-width:1180px){
  .planning-week-panel .planning-table-wrap{overflow-x:auto;scrollbar-gutter:stable}
  .planning-week-panel .planning-table{min-width:930px}
  .planning-week-panel .planning-table thead th:first-child,.planning-week-panel .planning-table tbody th{width:108px;min-width:108px;max-width:108px}
}
@media(max-width:980px){
  .time-layout-modern{grid-template-columns:1fr}
  .time-side-stack{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .time-page{gap:12px}.time-page-header{padding:18px}.time-page-header h1{font-size:27px}
  .time-clock-modern{padding:18px 14px 16px;border-radius:18px}
  .time-clock-hero{padding:16px 0}.time-clock-ring{width:min(270px,78vw)}
  .time-clock-ring-inner strong{font-size:40px}.time-clock-ring-label{font-size:9px}
  .time-clock-actions-modern{grid-template-columns:1fr}
  .time-current-context{grid-template-columns:32px minmax(0,1fr);padding:10px 11px}.time-context-icon{width:32px;height:32px}
  .time-side-stack{grid-template-columns:1fr}.time-help-card,.time-legend-card{padding:17px}
  .time-action-dialog-actions{grid-template-columns:1fr}
  .time-recent-panel{padding:16px}
}

/* v0.70.3 — Mijn uren dashboard */
.my-hours-page{display:grid;gap:16px}.my-hours-header{min-height:108px}.my-hours-header .button-link{white-space:nowrap}.my-hours-notice{margin:0}.my-hours-toolbar{min-height:0;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.my-hours-view-tabs{display:inline-flex;align-items:center;padding:3px;background:#eef0ed;border-radius:12px;gap:2px}.my-hours-view-tabs a{padding:8px 14px;border-radius:9px;color:var(--text);text-decoration:none;font-size:13px;font-weight:700}.my-hours-view-tabs a.active{background:#fff;box-shadow:0 1px 4px rgba(23,25,23,.08)}.my-hours-period-nav{display:flex;align-items:center;justify-content:flex-end;gap:8px}.my-hours-period-nav .secondary-button{min-height:38px;padding:9px 13px}.my-hours-nav-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid #dcdfda;border-radius:10px;background:#fff;color:var(--text);text-decoration:none;font-size:18px}.my-hours-nav-button:hover{background:#f7f8f6}.my-hours-period-title{min-width:180px;text-align:center;font-size:14px}.my-hours-custom-range{min-height:0;padding:16px 18px;display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto auto;gap:12px;align-items:end}.my-hours-custom-range label{display:grid;gap:6px}.my-hours-custom-range label span{font-size:11px;font-weight:750;color:var(--muted)}.my-hours-custom-range input{min-height:42px;border:1px solid #dcdeda;border-radius:10px;padding:9px 11px;font:inherit;background:#fff}.my-hours-custom-range small{color:var(--muted);font-size:11px;align-self:center}
.my-hours-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.my-hours-kpi{min-height:116px;border-radius:18px;padding:18px 20px;display:flex;flex-direction:column}.my-hours-kpi span{font-size:11px;font-weight:750;letter-spacing:.02em;color:var(--muted)}.my-hours-kpi strong{font-size:28px;margin-top:7px;line-height:1.05}.my-hours-kpi small{margin-top:auto;color:#8a8f8a;font-size:11px}.my-hours-kpi .positive,.my-hours-day .positive{color:#4f7357}.my-hours-kpi .negative,.my-hours-day .negative{color:#a0544e}
.my-hours-visual-grid{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.8fr);gap:14px}.my-hours-progress-card,.my-hours-chart-card{min-height:360px}.my-hours-progress-wrap{display:grid;grid-template-columns:220px 1fr;gap:26px;align-items:center;margin-top:18px}.my-hours-progress-ring{--hours-progress:0%;width:210px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(from -90deg,var(--accent) var(--hours-progress),#edf0ed 0);position:relative}.my-hours-progress-ring::after{content:"";position:absolute;inset:13px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #eff1ee}.my-hours-progress-ring>div{position:relative;z-index:1;text-align:center;display:grid;gap:5px}.my-hours-progress-ring span{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:800}.my-hours-progress-ring strong{font-size:32px}.my-hours-progress-ring small{font-size:11px;color:var(--muted)}.my-hours-progress-ring.is-over{box-shadow:0 0 0 3px rgba(132,146,134,.09)}.my-hours-progress-copy{display:grid;gap:12px}.my-hours-progress-copy>div{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.my-hours-progress-copy span{color:var(--muted);font-size:12px}.my-hours-progress-copy strong{font-size:15px}.my-hours-progress-copy p{margin:2px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.my-hours-chart-heading{gap:12px}.my-hours-chart-legend{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:11px}.my-hours-chart-legend span{display:flex;align-items:center;gap:5px}.my-hours-chart-legend i{width:9px;height:9px;border-radius:3px;background:#d7ddd8}.my-hours-chart-legend i.worked{background:var(--accent)}.my-hours-chart-scroll{overflow-x:auto;margin-top:18px;padding-bottom:2px}.my-hours-chart{height:245px;min-width:520px;display:grid;grid-template-columns:repeat(7,minmax(48px,1fr));gap:8px;align-items:end;border-bottom:1px solid #e9ebe7;background:repeating-linear-gradient(to top,transparent 0,transparent 48px,#f0f1ef 49px,#f0f1ef 50px)}.my-hours-chart.is-dense{grid-template-columns:repeat(var(--days-count,31),minmax(24px,1fr));min-width:760px;gap:3px}.my-hours-chart-day{height:100%;display:grid;grid-template-rows:1fr 24px;gap:6px;align-items:end;min-width:0}.my-hours-chart-bars{height:100%;display:flex;align-items:end;justify-content:center;gap:4px}.my-hours-chart-bars i{display:block;width:min(42%,22px);min-height:2px;border-radius:6px 6px 2px 2px;background:#d7ddd8;transition:height .25s ease}.my-hours-chart-bars i.worked{background:var(--accent)}.my-hours-chart-day>span{text-align:center;font-size:10px;color:var(--muted);white-space:nowrap}.my-hours-chart-day.is-today>span{color:var(--text);font-weight:800}.my-hours-chart-day.is-today .my-hours-chart-bars{background:rgba(132,146,134,.05);border-radius:8px}
.my-hours-days-panel{min-height:0}.my-hours-days-list{display:grid;margin-top:18px;border-top:1px solid var(--line)}.my-hours-day{border-bottom:1px solid var(--line)}.my-hours-day summary{list-style:none;display:grid;grid-template-columns:minmax(150px,1.15fr) minmax(160px,1.25fr) minmax(170px,1.3fr) minmax(110px,.75fr) minmax(105px,.7fr) 24px;gap:14px;align-items:center;padding:15px 4px;cursor:pointer}.my-hours-day summary::-webkit-details-marker{display:none}.my-hours-day summary>div{display:grid;gap:3px;min-width:0}.my-hours-day summary>div>span{font-size:10px;color:var(--muted);font-weight:700}.my-hours-day summary>div>strong{font-size:12px;min-width:0}.my-hours-day-date strong{font-size:13px!important}.my-hours-day-date span{font-size:11px!important}.my-hours-day summary small{display:block;color:var(--muted);font-size:9px;font-weight:500;margin-top:2px}.my-hours-day summary>b{font-size:16px;color:var(--muted);transition:transform .18s ease}.my-hours-day[open] summary>b{transform:rotate(180deg)}.my-hours-day.is-today summary{background:#fafbf9}.my-hours-day-detail{display:grid;grid-template-columns:1fr 1.2fr;gap:14px;padding:0 4px 18px}.my-hours-detail-column{min-width:0}.my-hours-detail-column h3{margin:0 0 9px;font-size:12px}.my-hours-segment-list,.my-hours-registration-list{display:grid;gap:8px}.my-hours-segment,.my-hours-registration-card{border:1px solid #e5e8e4;border-radius:13px;padding:12px 13px;background:#fbfcfa}.my-hours-segment>div{display:grid;gap:2px}.my-hours-segment span,.my-hours-registration-head span{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.my-hours-segment strong,.my-hours-registration-head strong{font-size:12px}.my-hours-segment small,.my-hours-registration-head small{font-size:10px;color:var(--muted)}.my-hours-segment small.context,.my-hours-registration-context span{color:#79601d;font-weight:700}.my-hours-segment p{margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.my-hours-registration-card.is-active{border-color:#bdcabe;background:#f8fbf8}.my-hours-registration-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.my-hours-registration-head>div{display:grid;gap:2px}.my-hours-registration-status{display:inline-flex;padding:5px 7px;border-radius:999px;background:#edf2ee;color:#53695a;font-size:9px!important;white-space:nowrap}.my-hours-registration-context{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:9px;padding-top:8px;border-top:1px solid #eaebe9;font-size:10px}.my-hours-registration-context strong{font-size:10px}.my-hours-event-timeline{display:grid;margin-top:10px;border-top:1px solid #eaebe9}.my-hours-event{display:grid;grid-template-columns:28px minmax(120px,1fr) 70px minmax(90px,.7fr);gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid #f0f1ef}.my-hours-event:last-child{border-bottom:0}.my-hours-event>i{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;font-style:normal;font-size:10px;background:#edf2ee;color:#53695a}.my-hours-event>i.pause{background:#fff3dd;color:#9a6b24}.my-hours-event>i.stop{background:#fff0ef;color:#a6534d}.my-hours-event>div{display:grid;gap:1px}.my-hours-event strong{font-size:10px}.my-hours-event small,.my-hours-event>span{font-size:9px;color:var(--muted)}.my-hours-empty-inline{padding:14px;border:1px dashed #dfe2dd;border-radius:12px;color:var(--muted);font-size:11px}.my-hours-rule-note{margin:14px 0 0}.my-hours-days-panel .panel-heading{align-items:start}
@media(max-width:1180px){.my-hours-kpis{grid-template-columns:repeat(2,1fr)}.my-hours-visual-grid{grid-template-columns:1fr}.my-hours-progress-wrap{grid-template-columns:200px 1fr}.my-hours-day summary{grid-template-columns:minmax(140px,1fr) repeat(4,minmax(115px,1fr)) 22px;gap:10px}}
@media(max-width:820px){.my-hours-header{align-items:flex-start}.my-hours-toolbar{align-items:stretch;flex-direction:column}.my-hours-view-tabs{width:100%}.my-hours-view-tabs a{flex:1;text-align:center}.my-hours-period-nav{justify-content:space-between}.my-hours-period-title{min-width:0;flex:1}.my-hours-custom-range{grid-template-columns:1fr 1fr}.my-hours-custom-range .primary-button{grid-column:1/-1}.my-hours-custom-range small{grid-column:1/-1}.my-hours-progress-wrap{grid-template-columns:1fr;justify-items:center}.my-hours-progress-copy{width:100%}.my-hours-day summary{grid-template-columns:1fr 1fr 24px}.my-hours-day summary>div:nth-child(4),.my-hours-day summary>div:nth-child(5){display:none}.my-hours-day summary>b{grid-column:3;grid-row:1/3}.my-hours-day-detail{grid-template-columns:1fr}.my-hours-event{grid-template-columns:28px 1fr 60px}.my-hours-event>small{grid-column:2/-1}.my-hours-chart{min-width:620px}}
@media(max-width:560px){.my-hours-page{gap:12px}.my-hours-header{padding:20px;min-height:0}.my-hours-header h1{font-size:27px}.my-hours-header .button-link{padding:10px 12px}.my-hours-kpis{grid-template-columns:1fr 1fr;gap:9px}.my-hours-kpi{min-height:102px;padding:15px}.my-hours-kpi strong{font-size:22px}.my-hours-toolbar{padding:12px}.my-hours-view-tabs a{padding:8px 7px;font-size:11px}.my-hours-period-nav .secondary-button{display:none}.my-hours-custom-range{grid-template-columns:1fr}.my-hours-progress-card,.my-hours-chart-card,.my-hours-days-panel{padding:18px}.my-hours-progress-ring{width:190px}.my-hours-day summary{grid-template-columns:1fr 1fr 20px;padding:13px 0}.my-hours-day summary>div:nth-child(2){display:none}.my-hours-day summary>b{grid-column:3;grid-row:1}.my-hours-registration-head{flex-direction:column}.my-hours-event{grid-template-columns:26px 1fr 54px;gap:7px}}


/* v0.70.4 — Mijn uren: desktopbalans en platformcontext zonder overlap */
.my-hours-visual-grid{
    grid-template-columns:minmax(430px,1fr) minmax(0,1.65fr);
    align-items:stretch;
}
.my-hours-progress-card{
    overflow:hidden;
}
.my-hours-progress-wrap{
    grid-template-columns:minmax(178px,190px) minmax(0,1fr);
    gap:20px;
    align-items:center;
}
.my-hours-progress-ring{
    width:190px;
    max-width:100%;
}
.my-hours-progress-copy{
    min-width:0;
}
.my-hours-progress-copy>div{
    align-items:flex-start;
}
.my-hours-progress-copy span{
    min-width:0;
    max-width:165px;
    line-height:1.35;
}
.my-hours-progress-copy strong{
    flex:0 0 auto;
    white-space:nowrap;
}
.my-hours-progress-copy p{
    overflow-wrap:anywhere;
}

@media (min-width:1181px){
    .my-hours-body.has-platform-switcher .my-hours-page{
        padding-top:112px;
    }
    .my-hours-body.has-platform-switcher .context-switcher{
        top:18px;
        right:28px;
        max-width:min(980px,calc(100vw - 330px));
        display:grid;
        grid-template-columns:auto minmax(0,1fr);
        column-gap:12px;
        row-gap:5px;
        align-items:center;
        padding:9px 11px 8px 12px;
    }
    .my-hours-body.has-platform-switcher .context-switcher form{
        min-width:0;
        flex-wrap:nowrap;
        justify-content:flex-end;
    }
    .my-hours-body.has-platform-switcher .context-switcher select{
        min-width:0;
    }
    .my-hours-body.has-platform-switcher .context-switcher select[name="organisation_id"]{
        width:210px;
        max-width:210px;
    }
    .my-hours-body.has-platform-switcher .context-switcher select[name="mode"]{
        width:175px;
    }
    .my-hours-body.has-platform-switcher .context-switcher select[name="employee_user_id"],
    .my-hours-body.has-platform-switcher .context-switcher select[name="manager_user_id"]{
        width:165px;
        max-width:165px;
    }
    .my-hours-body.has-platform-switcher .context-mode-note{
        grid-column:1/-1;
        width:100%;
        text-align:right;
        line-height:1.25;
    }
}

@media (max-width:1320px) and (min-width:1181px){
    .my-hours-body.has-platform-switcher .context-switcher select[name="organisation_id"]{
        width:175px;
    }
    .my-hours-body.has-platform-switcher .context-switcher select[name="mode"]{
        width:155px;
    }
    .my-hours-body.has-platform-switcher .context-switcher select[name="employee_user_id"],
    .my-hours-body.has-platform-switcher .context-switcher select[name="manager_user_id"]{
        width:145px;
    }
}

@media (max-width:1180px){
    .my-hours-visual-grid{
        grid-template-columns:1fr;
    }
    .my-hours-progress-wrap{
        grid-template-columns:200px minmax(0,1fr);
    }
    .my-hours-progress-ring{
        width:200px;
    }
}

@media (max-width:820px){
    .my-hours-progress-wrap{
        grid-template-columns:1fr;
    }
}

/* v0.70.5 — Mijn uren: compacte dagdetails + export */
.my-hours-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.my-hours-export-details{position:relative}.my-hours-export-details>summary{list-style:none;cursor:pointer;white-space:nowrap}.my-hours-export-details>summary::-webkit-details-marker{display:none}.my-hours-export-form{position:absolute;z-index:20;right:0;top:calc(100% + 8px);width:min(340px,calc(100vw - 40px));padding:16px;border:1px solid #dde1dc;border-radius:14px;background:#fff;box-shadow:0 18px 45px rgba(25,31,26,.14);display:grid;gap:12px}.my-hours-export-form>div:first-child{display:grid;gap:3px}.my-hours-export-form>div:first-child strong{font-size:13px}.my-hours-export-form>div:first-child small{font-size:10px;line-height:1.4;color:var(--muted)}.my-hours-export-form label{display:grid;gap:5px}.my-hours-export-form label span{font-size:10px;font-weight:750;color:var(--muted)}.my-hours-export-form select,.my-hours-export-form input{min-height:40px;border:1px solid #dcdeda;border-radius:10px;background:#fff;padding:8px 10px;font:inherit}.my-hours-export-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.my-hours-export-buttons button{width:100%}
.my-hours-days-heading{margin-bottom:4px}.my-hours-days-list{margin-top:12px}.my-hours-day-summary{display:grid;grid-template-columns:minmax(150px,1.05fr) repeat(4,minmax(105px,.82fr)) 22px;gap:12px;align-items:center;padding:11px 4px}.my-hours-day summary.my-hours-day-summary{padding:11px 4px}.my-hours-day-summary>div{display:grid;gap:2px;min-width:0}.my-hours-day-summary>div>span{font-size:9px;color:var(--muted);font-weight:750;text-transform:uppercase;letter-spacing:.03em}.my-hours-day-summary>div>strong{font-size:12px;line-height:1.2;min-width:0}.my-hours-day-summary>div>small{display:block;margin-top:1px;color:var(--muted);font-size:9px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-hours-day-date strong{font-size:13px!important}.my-hours-day-date span{font-size:10px!important;text-transform:none!important;letter-spacing:0!important}.my-hours-day-empty{background:#fbfcfa}.my-hours-day-empty .my-hours-day-summary{padding-top:8px;padding-bottom:8px}.my-hours-empty-day-label{justify-self:end;font-size:9px;color:#9ba19b;white-space:nowrap}.my-hours-day-detail{padding:5px 4px 15px;gap:12px}.my-hours-detail-column h3{margin-bottom:7px}.my-hours-segment,.my-hours-registration-card{padding:10px 11px;border-radius:11px}.my-hours-segment-list,.my-hours-registration-list{gap:7px}.my-hours-registration-card.is-active{box-shadow:inset 3px 0 0 #7c9581}.my-hours-registration-status.is-live{background:#e5efe7;color:#385943}.my-hours-context-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.my-hours-context-badges.registration{padding-top:7px;border-top:1px solid #eaebe9}.my-hours-context-badges span{display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border-radius:999px;background:#f3f5f1;color:#53625a;font-size:9px;font-weight:700;line-height:1.2}.my-hours-context-badges span+span{background:#fbf4df;color:#795f1e}.my-hours-event-details{margin-top:8px;border-top:1px solid #eceeeb;padding-top:7px}.my-hours-event-details>summary{display:inline-flex!important;grid-template-columns:none!important;gap:5px!important;align-items:center!important;padding:3px 0!important;list-style:none!important;color:var(--muted);font-size:9px;font-weight:700;cursor:pointer}.my-hours-event-details>summary::-webkit-details-marker{display:none}.my-hours-event-details>summary::before{content:'›';font-size:13px;line-height:1;transition:transform .15s ease}.my-hours-event-details[open]>summary::before{transform:rotate(90deg)}.my-hours-event-timeline{margin-top:5px;border-top:0;background:#fafbf9;border-radius:9px;padding:2px 8px}.my-hours-event{padding:6px 0;opacity:.82}.my-hours-event>i{width:23px;height:23px;border-radius:7px}.my-hours-event strong{font-size:9px}.my-hours-empty-inline{padding:10px 11px}.my-hours-rule-note{margin-top:12px}
@media(max-width:1180px){.my-hours-toolbar{align-items:flex-start}.my-hours-toolbar-actions{width:100%;justify-content:flex-end}.my-hours-day-summary{grid-template-columns:minmax(135px,1fr) repeat(4,minmax(92px,1fr)) 20px;gap:9px}}
@media(max-width:820px){.my-hours-toolbar-actions{align-items:stretch;justify-content:space-between}.my-hours-period-nav{flex:1}.my-hours-export-details{align-self:flex-end}.my-hours-day-summary{grid-template-columns:1.1fr 1fr 20px;padding:10px 0}.my-hours-day-summary>div:nth-child(4),.my-hours-day-summary>div:nth-child(5){display:none}.my-hours-day-summary>b{grid-column:3;grid-row:1/3}.my-hours-day-empty .my-hours-day-summary>div:nth-child(2){display:grid}.my-hours-empty-day-label{grid-column:3;grid-row:1/3;white-space:normal;text-align:right}.my-hours-event-details>summary{display:inline-flex!important}.my-hours-export-form{position:fixed;right:16px;top:auto;bottom:16px;width:min(360px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto}}
@media(max-width:560px){.my-hours-toolbar-actions{display:grid;grid-template-columns:1fr auto;gap:8px}.my-hours-period-nav{grid-column:1/-1}.my-hours-export-details{grid-column:2}.my-hours-export-details>summary{min-height:38px;padding:9px 12px}.my-hours-day-summary{grid-template-columns:1fr 1fr 18px;gap:7px}.my-hours-day-summary>div:nth-child(2){display:grid!important}.my-hours-day-summary>div:nth-child(4),.my-hours-day-summary>div:nth-child(5){display:none!important}.my-hours-day-empty .my-hours-day-summary>div:nth-child(3){display:none}.my-hours-empty-day-label{grid-column:3;grid-row:1/2;font-size:0}.my-hours-empty-day-label::after{content:'—';font-size:11px}.my-hours-day-detail{padding-top:2px}.my-hours-event{grid-template-columns:24px 1fr 48px}}

/* v0.70.7 · Werkgever > Rapportages > Urenoverzicht */
.report-hours-dashboard{display:flex;flex-direction:column;gap:18px}.report-hours-dashboard .page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.hours-period-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px}.hours-period-tabs{display:flex;gap:4px;padding:4px;border-radius:12px;background:#f0f2ef}.hours-period-tabs a{padding:9px 14px;border-radius:9px;color:#343b36;font-weight:760;text-decoration:none}.hours-period-tabs a.active{background:#fff;box-shadow:0 1px 3px rgba(24,36,27,.10);color:#17241b}.hours-period-nav{display:flex;align-items:center;gap:10px}.hours-period-nav strong{min-width:155px;text-align:center}.hours-period-nav .icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #dce2dd;border-radius:10px;background:#fff;color:#253329;text-decoration:none;font-size:20px}.hours-report-filter{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;align-items:end}.hours-report-filter label>span,.report-export-menu label>span{display:block;margin-bottom:6px;color:#68716a;font-size:11px;font-weight:760}.hours-report-filter input,.hours-report-filter select,.report-export-menu select{width:100%;min-height:42px;border:1px solid #d9dfda;border-radius:10px;padding:8px 10px;background:#fff;color:#20251f;font:inherit}.hours-filter-actions{display:flex;align-items:center;gap:8px;min-height:42px}.hours-report-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.hours-report-kpis article{padding:18px 20px}.hours-report-kpis span,.hours-report-kpis strong,.hours-report-kpis small{display:block}.hours-report-kpis span{color:#6f7871;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.045em}.hours-report-kpis strong{margin:6px 0 4px;font-size:26px;line-height:1.05;color:#1d241f}.hours-report-kpis small{color:#7b837d}.hours-report-kpis .negative,.hours-summary-table .negative,.hours-day-values .negative{color:#a2554d}.hours-report-kpis .positive,.hours-summary-table .positive,.hours-day-values .positive{color:#3d7654}.hours-report-head{align-items:flex-start}.report-export-menu{position:relative}.report-export-menu>summary{list-style:none;cursor:pointer}.report-export-menu>summary::-webkit-details-marker{display:none}.report-export-menu[open]>summary{background:#edf1ee}.report-export-menu form{position:absolute;right:0;top:46px;z-index:20;width:300px;padding:14px;border:1px solid #dde3de;border-radius:14px;background:#fff;box-shadow:0 12px 32px rgba(22,34,25,.12)}.report-export-menu form>div{display:flex;gap:8px;margin-top:10px}.hours-summary-table{min-width:850px}.report-signal-list{display:flex;flex-wrap:wrap;gap:5px}.report-signal-list em{font-style:normal;font-size:11px;font-weight:720;padding:4px 7px;border-radius:999px;background:#f2f4f2;color:#5d675f}.hours-day-list{display:flex;flex-direction:column;gap:10px}.hours-day-card{border:1px solid #e2e7e3;border-radius:14px;background:#fff;overflow:hidden}.hours-day-card>summary{display:grid;grid-template-columns:minmax(190px,.9fr) minmax(520px,2fr);gap:18px;align-items:center;padding:14px 16px;cursor:pointer;list-style:none}.hours-day-card>summary::-webkit-details-marker{display:none}.hours-day-card>summary>div:first-child strong,.hours-day-card>summary>div:first-child small{display:block}.hours-day-card>summary>div:first-child strong span{font-weight:520;color:#727b74;margin-left:5px}.hours-day-card>summary>div:first-child small{margin-top:3px;color:#858d87}.hours-day-values{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:8px}.hours-day-values span{color:#7c847e;font-size:10px;font-weight:760;text-transform:uppercase;letter-spacing:.025em}.hours-day-values b{display:block;margin-top:2px;color:#252d27;font-size:14px;text-transform:none;letter-spacing:0}.hours-day-card[open]>summary{border-bottom:1px solid #edf0ed;background:#fbfcfb}.hours-day-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px}.hours-day-detail-grid h3{margin:0 0 9px;font-size:13px}.hours-detail-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #eef1ee}.hours-detail-row:first-of-type{border-top:0}.hours-detail-row strong,.hours-detail-row small{display:block}.hours-detail-row small{margin-top:3px;color:#737b75;line-height:1.4}.hours-detail-row .status-chip{max-width:220px;text-align:right;white-space:normal}.report-limit-note,.report-hours-footnote{margin:12px 4px 0;color:#7c847e;font-size:12px}.report-hours-footnote{margin-bottom:8px}.hours-employee-detail .settings-card-head{margin-bottom:8px}
@media(max-width:1320px){.hours-report-filter{grid-template-columns:repeat(3,minmax(150px,1fr))}.hours-report-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.hours-day-card>summary{grid-template-columns:1fr}.hours-day-values{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:920px){.report-hours-dashboard .page-header,.hours-period-card{align-items:stretch;flex-direction:column}.hours-period-nav{justify-content:space-between}.hours-report-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.hours-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.hours-day-detail-grid{grid-template-columns:1fr}}
@media(max-width:620px){.hours-period-tabs{display:grid;grid-template-columns:repeat(2,1fr)}.hours-period-tabs a{text-align:center}.hours-period-nav{flex-wrap:wrap}.hours-period-nav strong{order:-1;width:100%;min-width:0}.hours-report-filter,.hours-report-kpis{grid-template-columns:1fr}.hours-filter-actions{grid-column:1/-1}.hours-day-values{grid-template-columns:repeat(2,minmax(0,1fr))}.report-export-menu{width:100%}.report-export-menu>summary{width:100%;text-align:center}.report-export-menu form{position:static;width:100%;margin-top:8px;box-shadow:none}.hours-day-card>summary{padding:12px}.hours-day-detail-grid{padding:12px}}

/* v0.70.8 · Rapportages > Urenoverzicht QA-verfijning */
.hours-report-head-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:10px;flex-wrap:wrap}.hours-breakdown-tabs{display:flex;gap:4px;padding:4px;border-radius:11px;background:#f0f2ef}.hours-breakdown-tabs a{display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border-radius:8px;color:#4d5750;font-size:12px;font-weight:760;text-decoration:none}.hours-breakdown-tabs a.active{background:#fff;color:#1f2d24;box-shadow:0 1px 3px rgba(24,36,27,.10)}.hours-inline-status{display:inline-flex;margin-top:7px}.hours-context-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.hours-context-badges em{display:inline-flex;align-items:center;min-height:23px;padding:3px 8px;border-radius:999px;background:#edf2ee;color:#42594a;font-size:10px;font-style:normal;font-weight:720;line-height:1.2}.hours-context-badges em.camp{background:#fbf3dc;color:#765d1c}.hours-employee-detail .compact-alert{margin:6px 0 0;padding:9px 10px;border-radius:9px;font-size:11px;line-height:1.45}.hours-day-table{min-width:860px}
@media(max-width:920px){.hours-report-head-actions{width:100%;justify-content:space-between}.hours-breakdown-tabs{flex:1}.hours-breakdown-tabs a{flex:1;justify-content:center}.hours-report-head .report-export-menu{flex:0 0 auto}}
@media(max-width:620px){.hours-report-head-actions{display:grid;grid-template-columns:1fr;gap:8px}.hours-breakdown-tabs,.hours-report-head .report-export-menu{width:100%}.hours-report-head .report-export-menu>summary{width:100%;text-align:center}}

/* v0.71.0 · Rapportages / Urenoverzicht QA-polish */
.report-hours-body .context-switcher{transition:opacity .16s ease,transform .16s ease}
.report-hours-body .context-switcher.report-hours-context-switcher-hidden{opacity:0;transform:translateY(-12px);pointer-events:none}
.hours-focus-chip{display:inline-flex;align-items:center;margin-top:9px;min-height:25px;padding:4px 9px;border-radius:999px;background:#eef2ef;color:#526159;font-size:10px;font-weight:780;line-height:1.2}
@media(max-width:980px){.report-hours-body .context-switcher.report-hours-context-switcher-hidden{opacity:1;transform:none;pointer-events:auto}}

/* v0.71.1 · Werkgeversdashboard live werknemersstatus */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.dashboard-live-workforce{display:grid;gap:16px;margin:18px 0;padding:22px 22px 18px;overflow:hidden}
.dashboard-live-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.dashboard-live-heading h2{margin:2px 0 4px;font-size:22px}
.dashboard-live-heading .eyebrow{margin:0 0 2px}
.dashboard-live-heading-meta{display:flex;align-items:center;gap:7px;padding-top:4px;color:#748078;white-space:nowrap}
.dashboard-live-heading-meta small{font-size:10px;font-weight:680}
.dashboard-live-dot{width:8px;height:8px;border-radius:50%;background:#6f8f78;box-shadow:0 0 0 4px rgba(111,143,120,.12)}
.dashboard-live-workforce.is-refreshing .dashboard-live-dot{animation:dashboard-live-pulse 1s ease-in-out infinite}
.dashboard-live-workforce.has-live-error .dashboard-live-dot{background:#b36a60;box-shadow:0 0 0 4px rgba(179,106,96,.12)}
@keyframes dashboard-live-pulse{0%,100%{opacity:.45}50%{opacity:1}}
.dashboard-live-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.dashboard-live-filter{display:grid;gap:5px;min-height:122px;padding:17px 18px;border:1px solid #e0e5e1;border-radius:15px;background:#fff;color:#202720;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease}
.dashboard-live-filter:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(29,43,33,.06)}
.dashboard-live-filter:focus-visible{outline:3px solid rgba(103,130,111,.22);outline-offset:2px}
.dashboard-live-filter.selected{border-color:#83988a;background:#fbfdfb;box-shadow:0 0 0 2px rgba(112,139,120,.12),0 8px 24px rgba(29,43,33,.07)}
.dashboard-live-filter.is-paused.selected{border-color:#c99b43;background:#fffdf8;box-shadow:0 0 0 2px rgba(201,155,67,.10)}
.dashboard-live-filter.is-finished.selected{border-color:#c58178;background:#fffafa;box-shadow:0 0 0 2px rgba(197,129,120,.10)}
.dashboard-live-filter.is-inactive.selected{border-color:#a6aea8;background:#fbfbfb;box-shadow:0 0 0 2px rgba(120,130,123,.08)}
.dashboard-live-filter-label{display:inline-flex;justify-self:start;align-items:center;min-height:24px;padding:3px 8px;border-radius:7px;background:#e9f4ec;color:#25713d;font-size:10px;font-weight:800}
.dashboard-live-filter.is-paused .dashboard-live-filter-label{background:#fff2d7;color:#9b6500}
.dashboard-live-filter.is-finished .dashboard-live-filter-label{background:#fde9e8;color:#a64038}
.dashboard-live-filter.is-inactive .dashboard-live-filter-label{background:#f2f3f2;color:#4d5550;border:1px solid #e0e3e0}
.dashboard-live-filter strong{font-size:29px;line-height:1;letter-spacing:-.035em}
.dashboard-live-filter small{color:#7b847d;font-size:10px}
.dashboard-live-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:2px}
.dashboard-live-search{width:min(350px,100%)}
.dashboard-live-search input{width:100%;min-height:42px;padding:9px 13px;border:1px solid #dce2dd;border-radius:10px;background:#fff;font:inherit;color:#253028}
.dashboard-live-search input:focus{outline:0;border-color:#94a599;box-shadow:0 0 0 3px rgba(123,148,130,.10)}
.dashboard-live-toolbar-meta{display:flex;align-items:center;justify-content:flex-end;gap:10px;color:#78817b;font-size:10px}
.dashboard-live-clear{border:0;background:transparent;color:#52685a;font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}
.dashboard-live-table-wrap{border:1px solid #e4e8e5;border-radius:13px;overflow:auto}
.dashboard-live-table{min-width:1000px;margin:0}
.dashboard-live-table th{white-space:nowrap}
.dashboard-live-table td{vertical-align:middle}
.dashboard-live-person{display:flex;align-items:center;gap:10px;min-width:190px}
.dashboard-live-avatar{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#f2f4f2;color:#4a534c;font-size:11px;font-weight:800}
.dashboard-live-person>div{display:grid;gap:2px;min-width:0}
.dashboard-live-person strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.dashboard-live-person small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8a918c;font-size:9px}
.dashboard-live-time strong,.dashboard-live-time small{display:block;white-space:nowrap}
.dashboard-live-time strong{font-size:12px;font-variant-numeric:tabular-nums}
.dashboard-live-time small{margin-top:2px;color:#8a918c;font-size:8px}
.dashboard-live-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:7px;font-size:10px;font-weight:800;white-space:nowrap}
.dashboard-live-status.is-active{background:#e8f4eb;color:#27733e}
.dashboard-live-status.is-paused{background:#fff2d8;color:#986300}
.dashboard-live-status.is-finished{background:#fde9e8;color:#a6433a}
.dashboard-live-status.is-inactive{background:#f3f4f3;color:#555d57;border:1px solid #e2e4e2}
.dashboard-live-status-detail{display:block;margin-top:4px;color:#858e87;font-size:8.5px;white-space:nowrap}
.dashboard-live-context{min-width:175px}
.dashboard-live-context strong,.dashboard-live-context small{display:block;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dashboard-live-context strong{font-size:10px}
.dashboard-live-context small{margin-top:3px;color:#8b742e;font-size:8px}
.dashboard-live-role{color:#5f6861;font-size:10px;white-space:nowrap}
.dashboard-live-action{text-align:right;white-space:nowrap}
.dashboard-live-action a{color:#516a59;font-size:10px;font-weight:800;text-decoration:none}
.dashboard-live-action a:hover{text-decoration:underline}
.dashboard-live-empty{padding:18px;text-align:center;color:#7f8881;font-size:11px}
@media(max-width:1180px){.dashboard-live-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-live-table{min-width:900px}}
@media(max-width:760px){.dashboard-live-workforce{padding:16px}.dashboard-live-heading{display:grid}.dashboard-live-heading-meta{padding:0}.dashboard-live-toolbar{align-items:stretch;flex-direction:column}.dashboard-live-search{width:100%}.dashboard-live-toolbar-meta{justify-content:space-between;flex-wrap:wrap}.dashboard-live-status-grid{grid-template-columns:1fr 1fr}.dashboard-live-filter{min-height:105px;padding:14px}.dashboard-live-filter strong{font-size:25px}}
@media(max-width:480px){.dashboard-live-status-grid{grid-template-columns:1fr}.dashboard-live-filter{min-height:92px;grid-template-columns:1fr auto;align-items:center}.dashboard-live-filter strong{grid-column:2;grid-row:1/3}.dashboard-live-filter small{grid-column:1}.dashboard-live-heading-meta{white-space:normal}}

/* v0.71.2 · werkgeversdashboard operationele cockpit */
.dashboard-live-filter.selected{position:relative;border-width:2px;padding:16px 17px;box-shadow:0 0 0 3px rgba(112,139,120,.10),0 10px 28px rgba(29,43,33,.08)}
.dashboard-live-filter.selected::after{content:'Filter actief';position:absolute;top:10px;right:10px;padding:3px 6px;border-radius:999px;background:#eef3ef;color:#52685a;font-size:7px;font-weight:850;letter-spacing:.02em;text-transform:uppercase}
.dashboard-live-filter.is-paused.selected::after{background:#fff4df;color:#8d6209}
.dashboard-live-filter.is-finished.selected::after{background:#fceeed;color:#994a43}
.dashboard-live-filter.is-inactive.selected::after{background:#f0f2f0;color:#606761}
.dashboard-live-filter-controls{display:grid;grid-template-columns:minmax(220px,1.35fr) repeat(3,minmax(145px,.75fr));gap:10px;align-items:end;flex:1}
.dashboard-live-filter-controls label{display:grid;gap:5px;color:#7d867f;font-size:8px;font-weight:760}
.dashboard-live-filter-controls select{width:100%;min-height:42px;padding:8px 30px 8px 11px;border:1px solid #dce2dd;border-radius:10px;background:#fff;color:#253028;font:inherit;font-size:10px}
.dashboard-live-filter-controls select:focus{outline:0;border-color:#94a599;box-shadow:0 0 0 3px rgba(123,148,130,.10)}
.dashboard-live-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:2px;color:#7a837d;font-size:9px}
.dashboard-live-pagination[hidden]{display:none!important}
.dashboard-live-pagination .secondary-button{min-height:34px;padding:7px 10px;font-size:9px}
.dashboard-live-pagination .secondary-button:disabled{opacity:.45;cursor:not-allowed}
.dashboard-operational-grid{align-items:start}
.dashboard-attention-panel,.dashboard-upcoming-panel{min-height:100%}
.dashboard-attention-metrics,.dashboard-upcoming-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0 12px}
.dashboard-attention-metrics span,.dashboard-upcoming-metrics span{display:grid;gap:2px;padding:11px 12px;border:1px solid #e6eae7;border-radius:11px;background:#fbfcfb}
.dashboard-attention-metrics strong,.dashboard-upcoming-metrics strong{font-size:18px;line-height:1;font-variant-numeric:tabular-nums}
.dashboard-attention-metrics small,.dashboard-upcoming-metrics small{color:#818982;font-size:8px}
.dashboard-attention-metrics .is-error{background:#fff8f7;border-color:#f1d9d6}.dashboard-attention-metrics .is-error strong{color:#a94a40}
.dashboard-attention-metrics .is-warning{background:#fffaf1;border-color:#f0e1bf}.dashboard-attention-metrics .is-warning strong{color:#8d6a1e}
.dashboard-attention-list,.dashboard-upcoming-list{display:grid;border-top:1px solid #edf0ee}
.dashboard-attention-row,.dashboard-upcoming-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #edf0ee}
.dashboard-attention-severity{width:8px;height:8px;border-radius:50%;background:#98a099}.dashboard-attention-severity.is-error{background:#b95c52}.dashboard-attention-severity.is-warning{background:#c89227}.dashboard-attention-severity.is-info{background:#6f8d78}
.dashboard-attention-row>div,.dashboard-upcoming-row>div{display:grid;gap:2px;min-width:0}
.dashboard-attention-row strong,.dashboard-upcoming-row strong{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dashboard-attention-row small,.dashboard-upcoming-row small{color:#838c85;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dashboard-attention-row b,.dashboard-upcoming-row b{font-size:9px;white-space:nowrap;font-variant-numeric:tabular-nums}
.dashboard-positive-state{display:grid;gap:4px;padding:18px;border:1px solid #dce9df;border-radius:12px;background:#f7fbf8}.dashboard-positive-state strong{font-size:12px}.dashboard-positive-state span{color:#758078;font-size:9px}
.dashboard-upcoming-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.dashboard-upcoming-metrics span.has-alert{background:#fffaf1;border-color:#eee0bd}.dashboard-upcoming-metrics span.has-alert strong{color:#8b6518}
.dashboard-upcoming-context{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 10px}
.dashboard-upcoming-context>span{padding:3px 7px;border-radius:999px;background:#f1f4f2;color:#58645c;font-size:8px;font-weight:760}
.dashboard-upcoming-context>small{margin-left:auto;color:#8a928c;font-size:8px}
.dashboard-upcoming-date{min-width:54px;padding:5px 7px;border-radius:8px;background:#f3f5f3;color:#58625b;font-size:8px;font-weight:800;text-align:center}
.dashboard-upcoming-open-link{display:inline-flex;margin-top:12px;color:#725b20;font-size:9px;font-weight:800;text-decoration:none}.dashboard-upcoming-open-link:hover{text-decoration:underline}
@media(max-width:1180px){.dashboard-live-filter-controls{grid-template-columns:1fr 1fr}.dashboard-live-search{width:100%;max-width:none}.dashboard-upcoming-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.dashboard-live-filter-controls{grid-template-columns:1fr}.dashboard-live-toolbar{gap:10px}.dashboard-live-toolbar-meta{justify-content:flex-start}.dashboard-attention-metrics{grid-template-columns:1fr 1fr 1fr}.dashboard-upcoming-context>small{width:100%;margin-left:0}.dashboard-live-pagination{justify-content:space-between}}
@media(max-width:480px){.dashboard-attention-metrics{grid-template-columns:1fr}.dashboard-upcoming-metrics{grid-template-columns:1fr 1fr}.dashboard-live-filter.selected{padding:13px}.dashboard-live-filter.selected::after{top:7px;right:7px}}

/* v0.71.3 · dashboard attention */
.dashboard-approval-alert{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 0 12px;padding:12px 13px;border:1px solid #eadfbf;border-radius:12px;background:#fffaf0;color:inherit;text-decoration:none}
.dashboard-approval-alert>span{display:grid;gap:3px;min-width:0}.dashboard-approval-alert strong{font-size:10px}.dashboard-approval-alert small{font-size:8px;color:#81765e}.dashboard-approval-alert>b{font-size:9px;white-space:nowrap;color:#6f5a28}
.dashboard-approval-alert:hover{border-color:#d8c48d;background:#fff7e5}
@media(max-width:760px){.dashboard-approval-alert{align-items:flex-start;flex-direction:column}.dashboard-approval-alert>b{white-space:normal}}

/* v0.71.4 — werknemersdashboard als persoonlijke werkcockpit */
.employee-dashboard{display:grid;gap:16px;margin-top:18px}
.employee-dashboard-top{display:grid;grid-template-columns:minmax(310px,.88fr) minmax(0,1.72fr);gap:16px}
/* v0.71.6 — zachtere werknemersstatuskaart */
.employee-status-hero{position:relative;display:flex;min-height:236px;flex-direction:column;padding:24px 26px;overflow:hidden;background:#f5f8f5;color:var(--text);border-color:#dfe6df;box-shadow:none}
.employee-status-hero.is-paused{background:#fffaf1;border-color:#eadfc7;box-shadow:none}
.employee-status-hero.is-finished{background:#f7f8f7;border-color:#e3e6e3;box-shadow:none}
.employee-status-hero.is-inactive{background:#f8f8f7;border-color:#e6e7e4;box-shadow:none}
.employee-status-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.employee-status-head>div{display:flex;align-items:center;gap:7px}.employee-status-head .eyebrow{margin:0;color:#65796a}.employee-status-head>div>span:last-child{font-size:11px;font-weight:750;color:#68736c}
.employee-status-hero.is-paused .employee-status-head .eyebrow,.employee-status-hero.is-paused .employee-status-head>div>span:last-child{color:#886526}
.employee-status-head .secondary-button{min-height:36px;padding:8px 11px;border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:none}
.employee-status-head .secondary-button:hover{border-color:#748477;background:#748477}
.employee-live-dot{width:7px;height:7px;border-radius:50%;background:#6f9278;box-shadow:0 0 0 4px rgba(111,146,120,.12)}
.employee-status-hero.is-paused .employee-live-dot{background:#c8973f;box-shadow:0 0 0 4px rgba(200,151,63,.13)}
.employee-status-hero.is-finished .employee-live-dot{background:#8d9790;box-shadow:0 0 0 4px rgba(141,151,144,.11)}
.employee-status-hero.is-inactive .employee-live-dot{background:#aeb4af;box-shadow:0 0 0 4px rgba(174,180,175,.11)}
.employee-status-title{margin-top:28px;font-size:32px;line-height:1.05;letter-spacing:-.025em;color:#1f2922}.employee-status-hero.is-paused .employee-status-title{color:#4c3d22}.employee-status-hero>p{margin:7px 0 0;color:#6e7770;font-size:13px}
.employee-status-hero.is-paused>p{color:#806c47}
.employee-session-timer{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid #e2e8e2}.employee-status-hero.is-paused .employee-session-timer{border-top-color:#eadfc8}.employee-session-timer span{font-size:10px;color:#78827a;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.employee-session-timer b{font-size:22px;letter-spacing:.02em;color:#27322a}
.employee-status-total{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px}.employee-status-total span{font-size:11px;color:#727c74}.employee-status-total strong{font-size:22px;color:#202a23}
.employee-context-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.employee-context-badges span{padding:5px 8px;border-radius:999px;background:#e9efea;color:#48604f;font-size:9px;font-weight:760}.employee-status-hero.is-paused .employee-context-badges span{background:#f5ead3;color:#725a28}.employee-status-hero.is-paused .employee-context-badges span+span{background:#f8efd9;color:#725a28}
.employee-dashboard-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.employee-dashboard-kpi{display:flex;min-height:112px;flex-direction:column;padding:17px 18px;border-radius:16px}.employee-dashboard-kpi span{color:#727b74;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.employee-dashboard-kpi strong{margin-top:8px;font-size:24px;line-height:1.05}.employee-dashboard-kpi small{margin-top:auto;padding-top:8px;color:#858d87;font-size:9px}.employee-dashboard-kpi .negative{color:#a2554d}.employee-dashboard-kpi .positive{color:#3d7654}
.employee-quick-actions{display:flex;align-items:center;gap:8px;min-height:0;padding:12px 14px;border-radius:16px}.employee-quick-actions .primary-button,.employee-quick-actions .secondary-button{min-height:38px;padding:9px 13px;font-size:11px}.employee-request-alert{display:flex;align-items:center;gap:10px;margin-left:auto;padding:7px 10px;border-radius:10px;background:#fff7e9;color:#765925;font-size:10px}.employee-request-alert>span{display:flex;gap:8px}.employee-request-alert a{color:inherit;font-weight:750}
.employee-dashboard-main{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:16px}.employee-dashboard-main>.panel,.employee-recent-card{min-height:0;padding:20px;border-radius:18px}.employee-dashboard .panel-heading{gap:14px}.employee-dashboard .panel-heading .text-button{white-space:nowrap;color:#536159;text-decoration:none;font-size:10px;font-weight:800}.employee-dashboard .panel-heading .text-button:hover{text-decoration:underline}
.employee-week-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;height:196px;margin-top:18px;padding:14px 8px 0;border-top:1px solid #eef1ee}.employee-week-day{display:grid;grid-template-rows:1fr auto auto;gap:4px;min-width:0;text-align:center}.employee-week-bars{display:flex;align-items:flex-end;justify-content:center;gap:4px;min-height:128px}.employee-week-bars i{display:block;width:12px;min-height:2px;border-radius:6px 6px 2px 2px}.employee-week-bars .planned{background:#d9dfda}.employee-week-bars .worked{background:#849286}.employee-week-day strong{font-size:9px;color:#6f7871}.employee-week-day small{font-size:8px;color:#909690}.employee-week-day.is-today strong{color:#253128}.employee-week-day.is-today{border-radius:9px;background:#fafbf9}.employee-week-legend{display:flex;justify-content:flex-end;gap:12px;margin-top:8px;color:#7d857f;font-size:9px}.employee-week-legend span{display:flex;align-items:center;gap:5px}.employee-week-legend i{width:7px;height:7px;border-radius:2px}.employee-week-legend i.planned{background:#d9dfda}.employee-week-legend i.worked{background:#849286}
.employee-upcoming-list{display:grid;gap:7px;margin-top:16px}.employee-upcoming-row{display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;align-items:center;padding:11px 0;border-top:1px solid #edf0ed}.employee-upcoming-row:first-child{border-top:0}.employee-upcoming-date{display:grid;gap:2px}.employee-upcoming-date strong{font-size:10px}.employee-upcoming-date span{font-size:9px;color:#78817a}.employee-upcoming-row>div:last-child strong,.employee-upcoming-row>div:last-child small{display:block}.employee-upcoming-row>div:last-child strong{font-size:11px}.employee-upcoming-row>div:last-child small{margin-top:3px;color:#78817a;font-size:9px;line-height:1.35}.employee-upcoming-row p{margin:5px 0 0;color:#858c87;font-size:9px;line-height:1.4}.employee-dashboard-empty{display:grid;min-height:150px;place-items:center;margin-top:16px;border:1px dashed #dce0dc;border-radius:12px;color:#8a918c;font-size:11px;text-align:center;padding:18px}.employee-dashboard-empty.compact{min-height:90px}
.employee-recent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:14px}.employee-recent-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;border:1px solid #e5e8e5;border-radius:12px;color:inherit;text-decoration:none;background:#fff}.employee-recent-row:hover{background:#fafbfa;border-color:#d9ded9}.employee-recent-row strong,.employee-recent-row span,.employee-recent-row b,.employee-recent-row small{display:block}.employee-recent-row strong{font-size:11px}.employee-recent-row span{margin-top:3px;color:#7b837d;font-size:9px}.employee-recent-row>div:last-child{text-align:right}.employee-recent-row b{font-size:11px}.employee-recent-row small{margin-top:3px;color:#7a827d;font-size:8px;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1180px){.employee-dashboard-top{grid-template-columns:1fr}.employee-status-hero{min-height:210px}.employee-dashboard-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.employee-dashboard-main{grid-template-columns:1fr}.employee-recent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.employee-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-dashboard-kpi:last-child{grid-column:1/-1}.employee-quick-actions{align-items:stretch;flex-wrap:wrap}.employee-request-alert{width:100%;margin-left:0;justify-content:space-between}.employee-week-chart{overflow-x:auto;grid-template-columns:repeat(7,minmax(66px,1fr))}.employee-recent-grid{grid-template-columns:1fr}}
@media(max-width:560px){.employee-dashboard{gap:12px;margin-top:12px}.employee-status-hero{min-height:225px;padding:20px}.employee-status-head{align-items:flex-start}.employee-status-title{font-size:28px}.employee-dashboard-kpis{gap:8px}.employee-dashboard-kpi{min-height:104px;padding:14px}.employee-dashboard-kpi strong{font-size:21px}.employee-quick-actions{display:grid;grid-template-columns:1fr 1fr}.employee-quick-actions .primary-button{grid-column:1/-1}.employee-request-alert{grid-column:1/-1;align-items:flex-start;flex-direction:column}.employee-dashboard-main>.panel,.employee-recent-card{padding:17px}.employee-dashboard .panel-heading{align-items:flex-start;flex-direction:column}.employee-dashboard .panel-heading .text-button{align-self:flex-start}.employee-upcoming-row{grid-template-columns:70px minmax(0,1fr)}}

/* v0.71.5 — Mijn uren op dezelfde verticale startlijn als andere werknemerspagina's */
@media (min-width:1181px){
    .my-hours-body.has-platform-switcher .my-hours-page{padding-top:24px}
    .my-hours-body.has-platform-switcher .my-hours-header{min-height:132px;align-items:flex-end;padding-top:24px}
    .my-hours-body.has-platform-switcher .my-hours-header>div{align-self:flex-start;max-width:700px}
    .my-hours-body.has-platform-switcher .my-hours-header .button-link{align-self:flex-end;margin-top:54px}
}

/* Kampen fase 3B · rapportage */
.camp-report-card{scroll-margin-top:18px}.camp-report-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end;padding:0 18px 16px}.camp-report-filter label{display:grid;gap:5px}.camp-report-filter label>span{font-size:9px;font-weight:800;color:#6f7972;text-transform:uppercase;letter-spacing:.04em}.camp-report-filter input,.camp-report-filter select{width:100%;min-height:40px;box-sizing:border-box;border:1px solid #d9dfda;border-radius:10px;background:#fff;padding:8px 10px;color:#29312c;font:inherit;font-size:12px}.camp-report-filter-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.camp-report-alert{margin:0 18px 14px}.camp-report-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:0 18px 14px}.camp-report-kpis>div{display:grid;gap:4px;align-content:start;min-height:96px;padding:13px 14px;border:1px solid #e4e9e5;border-radius:12px;background:#fbfcfb}.camp-report-kpis span{font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:#758079}.camp-report-kpis strong{font-size:20px;line-height:1.1;color:#27302a}.camp-report-kpis strong.negative{color:#8b504b}.camp-report-kpis strong.positive{color:#456f58}.camp-report-kpis small{font-size:9px;line-height:1.4;color:#7b847e}.camp-report-signals{display:flex;gap:8px;flex-wrap:wrap;padding:0 18px 18px}.camp-report-signals>span{display:inline-flex;gap:5px;align-items:center;padding:7px 10px;border-radius:999px;border:1px solid #e2e7e3;background:#f7f9f7;color:#657069;font-size:10px}.camp-report-signals>span.ok{background:#f3f8f4;color:#557060;border-color:#dfe9e1}.camp-report-signals>span.warning{background:#fff7e6;color:#7d661e;border-color:#eee1b8}.camp-report-signals>span.review{background:#f3f4f3;color:#646d67;border-color:#dfe3e0}.camp-report-subsection{padding:0 18px 18px}.camp-report-subsection>h3{margin:0 0 10px;font-size:14px}.camp-report-employee-table{min-width:980px}.camp-report-employee-table td>small{display:block;margin-top:3px;color:#758078;font-size:9px}.camp-report-day-list{display:grid;gap:8px}.camp-report-day{border:1px solid #e2e7e3;border-radius:12px;background:#fbfcfb;overflow:hidden}.camp-report-day>summary{display:flex;justify-content:space-between;gap:18px;align-items:center;cursor:pointer;padding:12px 14px;list-style:none;color:#39433d;font-size:11px}.camp-report-day>summary::-webkit-details-marker{display:none}.camp-report-day>summary>span:last-child{color:#6d7770;text-align:right}.camp-report-day-body{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid #e6eae7;padding:12px 14px;background:#fff}.camp-report-day-body h4{margin:0 0 7px;font-size:11px}.camp-report-day-body ul{margin:0;padding-left:18px}.camp-report-day-body li{margin:5px 0;color:#5e6962;font-size:10px;line-height:1.45}.camp-report-day-body a{color:inherit}.camp-report-note{margin:0 18px 18px}
@media(max-width:1180px){.camp-report-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.camp-report-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.camp-report-filter-actions{grid-column:1/-1}}
@media(max-width:700px){.camp-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:14px;padding-right:14px}.camp-report-filter{grid-template-columns:1fr;padding-left:14px;padding-right:14px}.camp-report-filter-actions{grid-column:auto}.camp-report-filter-actions .button,.camp-report-filter-actions .secondary-button{flex:1;justify-content:center}.camp-report-signals,.camp-report-subsection{padding-left:14px;padding-right:14px}.camp-report-day>summary{align-items:flex-start;flex-direction:column;gap:5px}.camp-report-day>summary>span:last-child{text-align:left}.camp-report-day-body{grid-template-columns:1fr}.camp-report-note{margin-left:14px;margin-right:14px}}

/* v0.72.4 · Live vandaag · te laat / verwacht maar niet gestart */
.dashboard-live-status-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.dashboard-live-filter.is-late.selected{border-color:#d49a7f;background:#fffaf7;box-shadow:0 0 0 2px rgba(212,154,127,.10),0 8px 24px rgba(29,43,33,.07)}
.dashboard-live-filter.is-late .dashboard-live-filter-label{background:#fff0e8;color:#965236;border:1px solid #f0d8cc}
.dashboard-live-filter.is-late.selected::after{background:#fff1e9;color:#8f543d}
.dashboard-live-status.is-late{background:#fff0e8;color:#965236;border:1px solid #f0d8cc}
@media(max-width:1180px){.dashboard-live-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.dashboard-live-status-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.dashboard-live-status-grid{grid-template-columns:1fr}}

/* v0.73.0 · Systeembeheer · Bedrijven */
.system-organisations-page{display:flex;flex-direction:column;gap:18px}.system-org-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.system-org-header-actions .primary-button,.system-org-detail-actions .secondary-button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.system-org-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.system-org-kpis article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px}.system-org-kpis span,.system-org-kpis strong,.system-org-kpis small{display:block}.system-org-kpis span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.system-org-kpis strong{margin:4px 0 2px;font-size:28px}.system-org-kpis small{color:#858d87}.system-org-editor,.system-org-detail{display:flex;flex-direction:column;gap:18px}.system-org-form{display:flex;flex-direction:column;gap:16px}.system-org-form h3{margin:0;font-size:14px}.system-org-form-grid input,.system-org-form-grid select{width:100%;min-height:43px;border:1px solid #dcdeda;border-radius:10px;padding:10px 12px;background:#fff;color:var(--text);font:inherit}.system-org-form-grid input[readonly]{background:#f5f6f4;color:#68716a}.system-org-form-grid label small{font-weight:500;color:var(--muted);line-height:1.4}.system-org-owner-block{padding:16px;border:1px solid #e3e7e3;border-radius:14px;background:#fafbf9}.system-org-owner-block>div:first-child{margin-bottom:12px}.system-org-owner-block h3 span{font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase}.system-org-check{display:flex!important;align-items:center;gap:9px;align-self:end;min-height:43px;padding:10px 12px;border:1px solid #dfe4df;border-radius:10px;background:#fff}.system-org-check input{width:18px!important;min-height:0!important;height:18px}.system-org-api-note{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:13px 14px;border-radius:12px;background:#eef3ef;color:#46584c;font-size:12px;line-height:1.5}.system-org-api-note strong{color:#294334}.system-org-detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.system-org-detail-actions form{margin:0}.system-org-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.system-org-summary>div{padding:13px 14px;border:1px solid #e4e8e4;border-radius:12px;background:#fbfcfb}.system-org-summary span,.system-org-summary strong{display:block}.system-org-summary span{color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}.system-org-summary strong{margin-top:4px;font-size:14px}.system-org-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.system-org-owner-list{display:flex;flex-direction:column}.system-org-owner-list>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #edf0ed}.system-org-owner-list>div:first-child{border-top:0}.system-org-owner-list span:last-child{text-align:right}.system-org-owner-list strong,.system-org-owner-list small,.system-org-owner-list b{display:block}.system-org-owner-list small{margin-top:3px;color:var(--muted)}.system-org-lifecycle form{display:flex;flex-direction:column;gap:10px}.system-org-lifecycle .danger-button,.system-org-lifecycle .primary-button{align-self:flex-start}.system-org-lifecycle button:disabled{opacity:.45;cursor:not-allowed}.system-org-deactivated{padding:12px 14px;border-radius:10px;background:#fff5f2;color:#78534c}.system-org-filter{display:grid;grid-template-columns:minmax(260px,2fr) minmax(160px,.7fr) auto;gap:10px;align-items:end;margin:16px 0}.system-org-filter label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:800}.system-org-filter input,.system-org-filter select{min-height:42px;border:1px solid #d9dfda;border-radius:10px;padding:9px 11px;background:#fff;font:inherit}.system-org-filter>div{display:flex;gap:8px}.system-org-filter .secondary-button{text-decoration:none;display:inline-flex;align-items:center}.system-org-table{min-width:1050px}.system-org-table td>span,.system-org-table td>strong,.system-org-table td>small{display:block}.system-org-table code,.system-org-detail code{font-size:11px;background:#f1f3f1;padding:3px 5px;border-radius:5px}.system-org-audit{min-width:760px}.system-org-audit td small{display:block}.status-pill.status-active{background:#edf5ef;color:#39704c}.status-pill.status-inactive{background:#f1f2f0;color:#727972}.notice.warning-notice{background:#fff8e8;border:1px solid #ead9a9;color:#6f5c28}.notice.success-notice{background:#eef5ef;border:1px solid #cddfce;color:#365f3d}@media(max-width:980px){.system-org-summary{grid-template-columns:1fr 1fr}.system-org-columns{grid-template-columns:1fr}.system-org-filter{grid-template-columns:1fr 1fr}.system-org-filter>div{grid-column:1/-1}}@media(max-width:620px){.system-org-kpis{grid-template-columns:1fr}.system-org-summary{grid-template-columns:1fr}.system-org-filter{grid-template-columns:1fr}.system-org-filter>div{grid-column:auto}.system-org-api-note{grid-template-columns:1fr}.system-org-detail-actions{align-items:stretch;flex-direction:column}.system-org-detail-actions>*{width:100%}.system-org-detail-actions form button{width:100%}}
.system-org-owner-add{margin-top:14px;border-top:1px solid #edf0ed;padding-top:12px}.system-org-owner-add>summary{cursor:pointer;font-size:12px;font-weight:800;color:#526159}.system-org-owner-add[open]>summary{margin-bottom:12px}.system-org-owner-add form{display:flex;flex-direction:column;gap:12px}.system-org-owner-add .primary-button{align-self:flex-start}

/* v0.76.2 · overwerkbeleid beheer */
.overtime-policy-actions{min-width:210px}
.overtime-policy-actions>a.button{margin-bottom:8px}
.overtime-policy-actions details{margin-top:6px}
.overtime-policy-actions details>summary{cursor:pointer;font-size:12px;font-weight:750;color:#56625a}
.policy-inline-action{display:grid;gap:7px;margin-top:8px;padding:9px;border:1px solid #e1e6e2;border-radius:10px;background:#fbfcfb}
.policy-inline-action input{width:100%;min-width:0}
.policy-inline-action .button,.policy-inline-action .danger-button{justify-self:start}
.overtime-policy-edit-note{margin-top:14px}
@media(max-width:900px){.overtime-policy-actions{min-width:180px}}

/* v0.76.3 · arbeidsregime urenhelper */
.contract-hours-helper{display:grid;gap:9px;margin:2px 0 4px}.contract-hours-helper>.field-label{font-size:11px;font-weight:800;color:var(--text)}.contract-hours-inputs{display:grid;grid-template-columns:minmax(110px,180px) minmax(110px,180px);gap:10px;align-items:end}.contract-hours-inputs label{display:grid;gap:5px}.contract-hours-inputs label>span{font-size:10px;font-weight:750;color:var(--muted)}.contract-hours-inputs input[type=number]{width:100%;min-height:42px;border:1px solid #d9dfda;border-radius:10px;padding:9px 11px;background:#fff;color:var(--text);font:inherit}.contract-hours-presets{display:flex;gap:7px;flex-wrap:wrap}.contract-hours-presets .button{min-height:34px;padding:7px 10px}.contract-hours-result{color:var(--muted);font-size:10px}.contract-hours-result strong{color:var(--text)}
@media(max-width:620px){.contract-hours-inputs{grid-template-columns:1fr 1fr}.contract-hours-presets .button{flex:1;justify-content:center}}

/* v0.76.4 · veilig beheer dagroosters */
/* v0.76.5 — dagroosters: stabiele kaartlayout + uniforme bewerkflow */
.day-schedules-layout{align-items:start}.day-schedule-list-heading{align-items:flex-start;gap:18px}.day-schedule-list-heading .button{flex:0 0 auto}.day-schedule-list{gap:12px}
.day-schedule-manage-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:start!important;gap:18px;padding:17px 18px}.day-schedule-main{min-width:0;display:grid!important;gap:10px!important}.day-schedule-card-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px}.day-schedule-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.day-schedule-title strong{font-size:15px;line-height:1.25;overflow-wrap:anywhere}.day-schedule-title .status-pill{font-size:9px;padding:3px 7px;flex:0 0 auto}.day-schedule-edit-button{white-space:nowrap;text-decoration:none!important;align-self:start}
.day-schedule-facts{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;padding:9px 11px;border-radius:10px;background:#f7f9f7;color:#5d675f;font-size:11px;line-height:1.35}.day-schedule-facts span{position:relative}.day-schedule-facts span+span:before{content:'•';position:absolute;left:-9px;color:#a0aaa2}.day-schedule-facts strong{color:var(--text);font-size:12px;white-space:nowrap}.day-schedule-usage{margin:0!important;color:#6f7a72!important;line-height:1.45}.day-schedule-note{display:block;color:#657068!important;line-height:1.45;overflow-wrap:anywhere}
.day-schedule-actions{display:flex;align-items:flex-start;justify-content:flex-end;min-width:92px}.day-schedule-actions details{width:100%;min-width:92px}.day-schedule-actions summary{cursor:pointer;font-size:11px;font-weight:800;color:#56625a;padding:7px 0;text-align:right;white-space:nowrap}.day-schedule-manage-actions{display:grid;gap:8px;margin-top:6px;padding:10px;border:1px solid #e1e6e2;border-radius:10px;background:#fbfcfb;width:min(260px,70vw)}.day-schedule-manage-actions form{display:grid;gap:6px;margin:0}.day-schedule-manage-actions input{width:100%;min-width:0;min-height:36px;border:1px solid #d9dfda;border-radius:8px;padding:7px 9px;background:#fff;font:inherit;font-size:11px}.day-schedule-manage-actions small{font-size:9px;line-height:1.4;color:#7a837d}.day-schedule-manage-row.is-inactive{background:#fafbfa;opacity:.82}
@media(max-width:980px){.day-schedule-manage-row{grid-template-columns:1fr}.day-schedule-actions{justify-content:flex-start;min-width:0}.day-schedule-actions summary{text-align:left}.day-schedule-actions details{width:auto;min-width:120px}.day-schedule-card-header{grid-template-columns:1fr auto}}
@media(max-width:560px){.day-schedule-list-heading{display:grid;grid-template-columns:1fr}.day-schedule-list-heading .button{justify-self:start}.day-schedule-card-header{grid-template-columns:1fr}.day-schedule-edit-button{justify-self:start}.day-schedule-facts{display:grid;grid-template-columns:1fr;gap:5px}.day-schedule-facts span+span:before{display:none}.day-schedule-manage-actions{width:min(100%,86vw)}}

/* v0.77.3 — Tijdregistraties: visuele filterpolish */
.time-registration-filters{margin:18px 0 20px;padding:18px;border:1px solid #dfe4df;border-radius:20px;background:linear-gradient(180deg,#fafbfa 0%,#f6f8f6 100%);display:grid;gap:14px}
.time-filter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 2px}.time-filter-head-copy{display:grid;gap:4px}.time-filter-head-copy strong{font-size:14px;line-height:1.3}.time-filter-head-copy span{color:#6f7972;font-size:12px;line-height:1.45}.time-filter-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 11px;border:1px solid #dbe3dc;border-radius:999px;background:#eef3ef;color:#4a6050;font-size:11px;font-weight:850;white-space:nowrap}
.time-filter-grid{display:grid;gap:12px}.time-filter-grid-primary{grid-template-columns:minmax(220px,1.25fr) repeat(2,minmax(155px,.8fr)) minmax(210px,1fr)}.time-filter-grid-secondary{grid-template-columns:minmax(180px,.85fr) minmax(270px,1.35fr) minmax(180px,.85fr) minmax(225px,.95fr)}
.time-filter-field{display:grid;gap:6px;min-width:0;padding:14px 15px;border:1px solid #e2e7e2;border-radius:15px;background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.92)}.time-filter-field>span{color:#6e7871;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.045em;line-height:1.35}.time-filter-field small{color:#7a837d;font-size:11px;line-height:1.4}
.time-registration-filters input,.time-registration-filters select{width:100%;min-width:0;min-height:44px;border:1px solid #d8ded9;border-radius:10px;background:#fff;padding:10px 12px;color:var(--text);font:inherit;font-size:13px;outline:none}.time-registration-filters input:focus,.time-registration-filters select:focus{border-color:#879b8c;box-shadow:0 0 0 3px rgba(126,145,131,.12)}
.time-filter-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:4px}.time-filter-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:0}.time-filter-actions>.primary-button,.time-filter-actions>.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;text-decoration:none}
.time-filter-quick{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-left:auto;padding:12px 14px;border:1px solid #e2e7e2;border-radius:14px;background:#fff}.time-filter-quick>span{color:#6e7871;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.time-filter-quick-links{display:flex;gap:8px;flex-wrap:wrap}.time-filter-quick a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid #d9dfda;border-radius:999px;background:#f7f9f7;color:#33413a;text-decoration:none;font-size:12px;font-weight:800;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.time-filter-quick a:hover{background:#eef2ee;border-color:#cfd8d1}.time-filter-quick a.is-active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 3px 10px rgba(132,146,134,.18)}
.comp-rest-field.is-disabled,.comp-rest-due-field.is-disabled{opacity:.58}.comp-rest-help{display:block;margin-top:6px;color:var(--muted-color,#68716b)}
@media(max-width:1200px){.time-filter-grid-primary,.time-filter-grid-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.time-filter-footer{align-items:stretch}.time-filter-quick{margin-left:0;justify-content:flex-start;width:100%}}
@media(max-width:640px){.time-registration-filters{padding:14px}.time-filter-head{align-items:flex-start;flex-direction:column}.time-filter-badge{align-self:flex-start}.time-filter-grid-primary,.time-filter-grid-secondary{grid-template-columns:1fr}.time-filter-actions{width:100%}.time-filter-actions>.primary-button,.time-filter-actions>.secondary-button{width:100%}.time-filter-quick{padding:12px;width:100%;justify-content:flex-start}.time-filter-quick-links{display:grid;grid-template-columns:1fr;width:100%}.time-filter-quick a{width:100%}}

/* v0.78.0 — Fase 5 · 9u-rustuitzondering avond → ochtend */
.short-rest-context{display:grid;gap:3px;min-width:250px;padding:10px 12px;border:1px solid #e0e5e1;border-radius:11px;background:#fafbfa}.short-rest-context strong{font-size:10px;text-transform:uppercase;letter-spacing:.045em;color:#667168}.short-rest-context span{font-size:11px;font-weight:750;color:#354139}.short-rest-context small{font-size:9px;line-height:1.45;color:#778078}.short-rest-context.is-eligible{border-left:3px solid #c69b4d;background:#fffaf0}.short-rest-context.is-valid{border-left:3px solid #6f9878;background:#f5faf6}.short-rest-context.is-blocked{border-left:3px solid #b96862;background:#fff8f7}.short-rest-exception{min-width:250px}.short-rest-exception summary{cursor:pointer}.short-rest-exception-form{margin-top:9px;display:grid;grid-template-columns:minmax(170px,.8fr) minmax(190px,1fr) minmax(220px,1.25fr) auto;gap:8px;align-items:end}.short-rest-exception-form select,.short-rest-exception-form input{min-height:38px;border:1px solid #d9dfda;border-radius:9px;padding:8px 10px;background:#fff;font:inherit;font-size:11px}.short-rest-exception-form small{grid-column:1/-1;color:#757e78;font-size:9px;line-height:1.45}.short-rest-audit-table small{display:block;margin-top:3px;color:#7c847f;font-size:9px}.short-rest-audit-table .short-rest-ok{color:#55745d;font-weight:800}
@media(max-width:1100px){.short-rest-exception-form{grid-template-columns:1fr 1fr}.short-rest-exception-form small{grid-column:1/-1}.deviation-row .short-rest-context,.deviation-row .short-rest-exception{grid-column:2}}
@media(max-width:640px){.short-rest-exception-form{grid-template-columns:1fr}.short-rest-exception-form small{grid-column:auto}.short-rest-context,.short-rest-exception{min-width:0;width:100%}}

/* v0.78.2 — Arbeidsduur & rust: referentieactie visueel verfijnd */
.reference-preset-action{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(280px,1.2fr) auto;align-items:end;gap:14px;margin-top:16px;padding:16px 18px;border:1px solid #e1e6e2;border-radius:14px;background:#fafbf9}
.reference-preset-copy{display:grid;gap:4px;align-self:center;min-width:0}.reference-preset-copy strong{font-size:13px;color:#313a34}.reference-preset-copy small{color:#747d77;font-size:10px;line-height:1.45}
.reference-preset-reason{display:grid;gap:6px;min-width:0}.reference-preset-reason>span{color:#667169;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.reference-preset-reason input{width:100%;min-width:0;min-height:42px;border:1px solid #d8ded9;border-radius:10px;background:#fff;padding:9px 11px;color:var(--text);font:inherit;font-size:12px;outline:none}.reference-preset-reason input:focus{border-color:#879b8c;box-shadow:0 0 0 3px rgba(126,145,131,.12)}
.reference-preset-button{min-height:42px;white-space:nowrap;padding:10px 15px}
@media(max-width:980px){.reference-preset-action{grid-template-columns:1fr 1fr}.reference-preset-copy{grid-column:1/-1}.reference-preset-button{width:100%}}
@media(max-width:620px){.reference-preset-action{grid-template-columns:1fr;padding:14px}.reference-preset-copy{grid-column:auto}.reference-preset-button{width:100%}}

/* v0.79.0 — Fase 6 feestdagen & inhaalrust: idempotente flow + uren/minutenhulp */
.holiday-rights-table{min-width:1120px}.holiday-rights-table td{vertical-align:top}.holiday-rights-table td>small,.holiday-rights-table td .status-chip+small{display:block;margin-top:4px;color:#778079;font-size:10px}.holiday-action-cell{min-width:240px}.holiday-action-details{min-width:220px}.holiday-action-details>summary{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border:1px solid #d9dfda;border-radius:10px;background:#f7f9f7;color:#33413a;font-size:11px;font-weight:800;cursor:pointer;list-style:none}.holiday-action-details>summary::-webkit-details-marker{display:none}.holiday-action-details[open]>summary{background:#eef3ef;border-color:#ccd8cf}.holiday-right-form{display:grid;gap:11px;margin-top:9px;padding:13px;border:1px solid #e0e6e1;border-radius:13px;background:#fbfcfb;min-width:290px}.holiday-right-form label{display:grid;gap:5px;min-width:0}.holiday-right-form label>span{color:#6f7972;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.045em}.holiday-right-form input{width:100%;min-width:0;min-height:38px;border:1px solid #d8ded9;border-radius:9px;background:#fff;padding:8px 10px;font:inherit;font-size:11px}.holiday-duration-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.holiday-minute-preview{display:flex;align-items:baseline;gap:8px;padding:9px 10px;border:1px solid #e4e8e4;border-radius:10px;background:#fff}.holiday-minute-preview strong{font-size:17px}.holiday-minute-preview span{color:#7b847e;font-size:10px}.holiday-quick-duration{display:flex;gap:6px;flex-wrap:wrap}.holiday-quick-duration button{border:1px solid #dce2dd;border-radius:999px;background:#fff;color:#56635a;padding:6px 9px;font-size:9px;font-weight:800;cursor:pointer}.holiday-quick-duration button:hover{background:#f1f5f2}.holiday-balance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.holiday-balance span{display:grid;gap:2px;padding:8px;border:1px solid #e6eae7;border-radius:9px;background:#fff;color:#758079;font-size:8px;text-transform:uppercase;font-weight:800}.holiday-balance strong{color:#2f3b33;font-size:11px;text-transform:none}.holiday-completed{display:grid;gap:2px}.holiday-completed strong{font-size:13px}.holiday-completed span{color:#778079;font-size:10px}.holiday-rights-card .settings-table-wrap{overflow:visible}.holiday-rights-table .status-chip{display:inline-flex;align-items:center;min-height:24px;padding:4px 7px;border-radius:999px;background:#eef1ee;color:#5f6862;font-size:9px;font-weight:850}.holiday-rights-table .status-chip.info{background:#edf3f8;color:#526b80}
@media(max-width:1180px){.holiday-rights-card .settings-table-wrap{overflow:auto}.holiday-action-details[open] .holiday-right-form{position:relative}.holiday-rights-table{min-width:1040px}}
@media(max-width:700px){.holiday-right-form{min-width:250px}.holiday-balance{grid-template-columns:1fr}.holiday-duration-fields{grid-template-columns:1fr 1fr}}

/* v0.79.1 — Fase 6: deadlinebewaking, HR-override en opnamehistoriek */
.holiday-action-stack{display:grid;gap:9px}.holiday-due-note{padding:7px 9px;border-radius:9px;background:#f5f7f5;color:#667169;font-size:9px}.holiday-due-note strong{color:#3b463e}.holiday-late-warning{display:grid;gap:8px;padding:11px;border:1px solid #efd9b2;border-left:3px solid #c89434;border-radius:10px;background:#fffaf0;color:#71551f}.holiday-late-warning>strong{font-size:11px}.holiday-late-warning>span{font-size:9px;line-height:1.45}.holiday-override-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important;padding:8px 9px;border:1px solid #eadfc7;border-radius:9px;background:#fff}.holiday-override-check input{width:16px!important;min-height:16px!important;height:16px!important;padding:0!important;accent-color:#a27728}.holiday-override-check span{text-transform:none!important;letter-spacing:0!important;font-size:10px!important;color:#5f4a25!important}.holiday-late-chip{display:flex!important;width:max-content;margin-top:6px!important;background:#fff1dc!important;color:#93651a!important}.holiday-history-details{min-width:220px}.holiday-history-details>summary{cursor:pointer;color:#52685a;font-size:10px;font-weight:800;list-style:none}.holiday-history-details>summary::-webkit-details-marker{display:none}.holiday-history-details>summary::before{content:'▸';display:inline-block;margin-right:6px;color:#7a8d7e;transition:transform .15s ease}.holiday-history-details[open]>summary::before{transform:rotate(90deg)}.holiday-history-list{display:grid;gap:8px;margin-top:8px;min-width:300px}.holiday-history-item{display:grid;gap:5px;padding:10px 11px;border:1px solid #e2e7e3;border-radius:10px;background:#fbfcfb}.holiday-history-item.is-late{border-color:#ead5ae;background:#fffaf2}.holiday-history-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.holiday-history-head>strong{font-size:10px}.holiday-late-badge{display:inline-flex;padding:3px 6px;border-radius:999px;background:#fff0d7;color:#956719;font-size:8px;font-weight:850}.holiday-history-item p{margin:0;color:#4d5851;font-size:9px;line-height:1.45}.holiday-history-item>small{color:#7d857f;font-size:8px;line-height:1.4}.holiday-history-override{display:grid;gap:2px;padding:7px 8px;border-radius:8px;background:#fff3df;color:#6e531f}.holiday-history-override strong{font-size:8px;text-transform:uppercase;letter-spacing:.04em}.holiday-history-override span{font-size:9px;line-height:1.4}
@media(max-width:700px){.holiday-history-list{min-width:250px}.holiday-history-head{align-items:flex-start;flex-direction:column}}

/* v0.79.2 — fase 7 payrollblokkeringen & arbeidstijdkwalificatie UX */
.payroll-employee-kpis .blocked small{display:block;margin-top:3px;color:#8f4b45;font-size:9px;font-weight:750;text-transform:none;letter-spacing:0}
.payroll-issue{position:relative;padding:8px 10px}
.payroll-issue-action{margin-left:10px;padding:3px 7px;border:1px solid currentColor;border-radius:999px;text-decoration:none;font-size:9px;white-space:nowrap}
.overtime-candidate{scroll-margin-top:18px}
.overtime-decision-form{display:grid;grid-template-columns:1fr;gap:10px;align-items:stretch;padding:0;border:0;background:transparent}
.overtime-action-section{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:13px 14px;border:1px solid #e3e7e3;border-radius:12px;background:#fafbfa}
.overtime-action-title{display:grid;gap:2px;padding-bottom:8px;border-bottom:1px solid #e7eae7}
.overtime-action-title strong{font-size:12px;color:#28332c}.overtime-action-title small{margin:0;color:#768078;font-size:10px;line-height:1.4}
.overtime-action-main label{max-width:none}
.overtime-time-simulator{display:grid;grid-template-columns:minmax(90px,.6fr) minmax(90px,.6fr) auto minmax(110px,.8fr);gap:9px;align-items:end}
.overtime-time-simulator .button{min-height:42px}
.overtime-time-result{display:grid;gap:1px;align-content:center;min-height:42px;padding:7px 10px;border:1px solid #dfe6df;border-radius:10px;background:#fff}
.overtime-time-result strong{font-size:15px;color:#28332c}.overtime-time-result span{font-size:9px;color:#7b827d}
.overtime-duration-section>small{margin:0;color:#6e756f;font-size:10px;line-height:1.45}
.overtime-premium-auto{display:grid;gap:8px;padding:13px 14px;border:1px solid #dfe6df;border-radius:12px;background:#fff}
.overtime-premium-auto>span{font-size:13px;font-weight:800;color:#20251f}
.overtime-rest-section[hidden]{display:none!important}
.overtime-rest-section{grid-template-columns:repeat(2,minmax(0,1fr))}.overtime-rest-section .overtime-action-title{grid-column:1/-1}
.overtime-final-section{grid-template-columns:minmax(0,1fr) auto;align-items:end}.overtime-final-section .overtime-action-title{grid-column:1/-1}.overtime-final-section .wide{grid-column:auto}
.overtime-reject-form{padding:10px 12px;border:1px dashed #ead8d5;border-radius:11px;background:#fffafa}
@media(max-width:900px){.overtime-time-simulator{grid-template-columns:repeat(2,minmax(0,1fr))}.overtime-time-simulator .qualified-use-max,.overtime-time-result{grid-column:span 2}.overtime-final-section{grid-template-columns:1fr}.overtime-final-section .button{width:100%}}
@media(max-width:560px){.overtime-time-simulator,.overtime-rest-section{grid-template-columns:1fr}.overtime-time-simulator .qualified-use-max,.overtime-time-result,.overtime-rest-section .overtime-action-title{grid-column:auto}}

/* v0.80.0 payroll sync state */
.payroll-sync-state{display:flex;flex-direction:column;gap:3px;min-width:220px}.payroll-sync-state strong{font-size:12px;color:#33453a}.payroll-sync-state small{font-size:10px;color:var(--muted)}
.payroll-correction-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.payroll-correction-filters{margin:18px 0}.payroll-corrections-table{min-width:980px}.payroll-correction-toggle-cell{white-space:nowrap}.payroll-correction-toggle{appearance:none;border:0;background:transparent;color:#29342d;padding:4px 0;font:inherit;font-weight:800;cursor:pointer}.payroll-correction-toggle:hover{color:#3d5a49;text-decoration:underline}.payroll-correction-toggle:focus-visible{outline:2px solid #8da194;outline-offset:3px;border-radius:5px}.payroll-correction-detail-row[hidden]{display:none}.payroll-correction-detail-row>td{padding:0!important;border-top:0!important;background:#f8faf8}.payroll-correction-panel{display:grid;gap:16px;width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:16px 14px 18px;border-top:1px solid #e5eae6;border-bottom:1px solid #e5eae6}.payroll-correction-context{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:14px;border:1px solid #e4e9e5;border-radius:14px;background:#fbfcfb}.payroll-correction-context>div,.payroll-correction-meta>div{min-width:0}.payroll-correction-context span,.payroll-correction-meta span{display:block;margin-bottom:4px;color:#737b75;font-size:10px;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.payroll-correction-context strong,.payroll-correction-context small,.payroll-correction-meta strong,.payroll-correction-meta small{display:block;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.payroll-correction-context strong{font-size:12px;line-height:1.35}.payroll-correction-context small,.payroll-correction-meta small{margin-top:3px;color:#6e756f;font-size:11px;line-height:1.45}.payroll-correction-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.payroll-correction-meta>div{min-width:0;padding:12px 13px;border:1px solid #e7ebe7;border-radius:12px;background:#fff}.payroll-correction-meta>.wide{grid-column:1/-1}.payroll-technical-reference{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10.5px!important;line-height:1.45!important}.payroll-source-link{display:inline-flex;margin-top:8px;font-size:11px;font-weight:800;text-decoration:none}.payroll-correction-actions{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:12px;padding-top:4px;border-top:1px solid #e7ebe7}.payroll-correction-action-card{display:grid;align-content:start;gap:12px;min-width:0;padding:14px;border:1px solid #e1e7e2;border-radius:14px;background:#fff}.payroll-correction-action-card h3{margin:0 0 4px;font-size:13px}.payroll-correction-action-card p{margin:0;color:#6e756f;font-size:11px;line-height:1.5}.payroll-correction-action-card form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;min-width:0}.payroll-correction-action-card form label{min-width:0}.payroll-correction-action-card form .wide{grid-column:1/-1}.payroll-correction-action-card select,.payroll-correction-action-card textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.payroll-correction-action-card textarea{min-height:96px;resize:vertical;border:1px solid #d9dfda;border-radius:9px;padding:9px 10px;background:#fff;color:#20251f;font:inherit;line-height:1.45}.payroll-correction-ignore{background:#fcfcfb}.payroll-correction-action-card button{justify-self:start}
@media(max-width:1220px){.payroll-correction-context{grid-template-columns:repeat(3,minmax(0,1fr))}.payroll-correction-actions{grid-template-columns:1fr}.payroll-correction-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.payroll-correction-context{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-correction-meta{grid-template-columns:1fr}.payroll-correction-meta>.wide{grid-column:auto}.payroll-correction-action-card form{grid-template-columns:1fr}.payroll-correction-action-card form .wide{grid-column:auto}}
@media(max-width:760px){.payroll-correction-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-correction-panel{padding:12px 10px 14px}.payroll-correction-context{grid-template-columns:1fr}.payroll-correction-context>div:last-child{grid-column:auto}}

/* v0.81.0 · Verloning & payrollmasterdata per medewerker */
.employee-payroll-page{display:flex;flex-direction:column;gap:18px}
.employee-payroll-selector .settings-card-head{margin-bottom:12px}
.employee-payroll-select-form{max-width:620px}.employee-payroll-select-form label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:800}.employee-payroll-select-form select{width:100%;min-height:44px;border:1px solid #d9dfda;border-radius:10px;padding:9px 12px;background:#fff;font:inherit}
.employee-payroll-identity{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.employee-payroll-identity>div:first-child{display:flex;align-items:center;gap:14px}.employee-payroll-identity h2,.employee-payroll-identity p{margin:0}.employee-payroll-identity p{margin-top:3px;color:var(--muted)}.employee-payroll-avatar{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#eef2ef;color:#405147;font-weight:850;letter-spacing:.04em}.employee-payroll-summary-chips{display:flex;gap:8px;flex-wrap:wrap}
.employee-payroll-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:6px;background:#eef1ee;border:1px solid #e2e6e2;border-radius:14px}.employee-payroll-tabs a{padding:9px 12px;border-radius:10px;text-decoration:none;color:#59635d;font-size:12px;font-weight:800}.employee-payroll-tabs a.active{background:#fff;color:#29352e;box-shadow:0 1px 2px rgba(20,35,25,.06)}
.employee-payroll-overview-grid,.employee-payroll-comp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.employee-payroll-dl{display:grid;gap:0;margin:0}.employee-payroll-dl>div{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr);gap:12px;padding:10px 0;border-top:1px solid #edf0ed}.employee-payroll-dl>div:first-child{border-top:0}.employee-payroll-dl dt{color:var(--muted);font-size:11px;font-weight:750}.employee-payroll-dl dd{margin:0;font-weight:750;overflow-wrap:anywhere}.employee-payroll-salary{display:flex;flex-direction:column;gap:4px;padding:10px 0}.employee-payroll-salary strong{font-size:28px;letter-spacing:-.02em}.employee-payroll-salary span{font-weight:800}.employee-payroll-salary small{color:var(--muted)}.employee-payroll-big-number{font-size:34px;font-weight:850;line-height:1;margin:8px 0}
.employee-payroll-form{margin-bottom:18px}.employee-payroll-history-table{min-width:900px}.employee-payroll-history-table td small,.employee-payroll-history-table td strong{display:block}.employee-payroll-timeline{display:flex;flex-direction:column;border-top:1px solid #edf0ed;margin-top:16px}.employee-payroll-timeline-item{display:grid;grid-template-columns:minmax(170px,.65fr) minmax(0,1.35fr);gap:16px;padding:14px 0;border-bottom:1px solid #edf0ed}.employee-payroll-timeline-item>div{display:flex;flex-direction:column;gap:3px}.employee-payroll-timeline-item>div:first-child strong{font-size:18px}.employee-payroll-timeline-item small{color:var(--muted)}
.employee-payroll-provider-note{margin-top:18px}.employee-payroll-masterdata-cell{min-width:210px;vertical-align:middle}.employee-payroll-mini-status{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px}.employee-payroll-mini-status span{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;background:#f1f3f1;color:#737b75;font-size:9px;font-weight:800;line-height:1.2;white-space:nowrap}.employee-payroll-mini-status span strong{font-size:10px}.employee-payroll-mini-status span.ok{background:#edf5ef;color:#39704c}.employee-payroll-mini-status span.missing{background:#fff3e9;color:#8b5a2d}.employee-payroll-mini-status span.neutral{background:#f1f3f1;color:#737b75}.employee-payroll-profile-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:150px;text-decoration:none}.employee-payroll-profile-button:hover{text-decoration:none}@media(max-width:1200px){.employee-payroll-masterdata-cell{min-width:190px}.employee-payroll-mini-status{max-width:190px}.employee-payroll-profile-button{min-width:0;width:100%}}
.payroll-masterdata-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:11px 12px;margin:0 0 12px;border:1px solid #e5eae6;border-radius:12px;background:#fafbf9;align-items:center}.payroll-masterdata-strip>div{min-width:0}.payroll-masterdata-strip span,.payroll-masterdata-strip strong,.payroll-masterdata-strip small{display:block}.payroll-masterdata-strip span{color:var(--muted);font-size:9px;text-transform:uppercase;font-weight:850;letter-spacing:.04em}.payroll-masterdata-strip strong{margin-top:3px;font-size:12px;overflow-wrap:anywhere}.payroll-masterdata-strip small{margin-top:2px;color:#7b837d;font-size:9.5px;line-height:1.35}.payroll-masterdata-action{justify-self:end}
@media(max-width:1080px){.employee-payroll-overview-grid,.employee-payroll-comp-grid{grid-template-columns:1fr}.payroll-masterdata-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-masterdata-action{justify-self:start}}
@media(max-width:700px){.employee-payroll-tabs{display:grid;grid-template-columns:1fr 1fr}.employee-payroll-identity{align-items:flex-start}.employee-payroll-summary-chips{width:100%}.employee-payroll-dl>div,.employee-payroll-timeline-item{grid-template-columns:1fr}.payroll-masterdata-strip{grid-template-columns:1fr}.employee-payroll-tabs a{text-align:center}}
/* v0.82.0 · controlled employment reference lists */
.employment-reference-page{display:flex;flex-direction:column;gap:18px}
.employment-reference-grid{display:grid;grid-template-columns:1fr;gap:16px}
.employment-reference-wide{grid-column:auto}
.employment-reference-form.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.employment-reference-table td strong,.employment-reference-table td small{display:block}.employment-reference-table td small{margin-top:3px;color:var(--muted)}
.inline-reference-action{display:inline-flex;margin:0}.employment-template-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.employment-template-form label{display:grid;gap:6px}.employment-template-form label span{font-size:11px;font-weight:800;color:var(--muted)}.employment-template-form input{min-height:44px;border:1px solid #d9dfda;border-radius:10px;padding:9px 12px;background:#fff;font:inherit}
.employee-payroll-reference-help{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;margin-bottom:16px;border:1px solid #e4e8e4;border-radius:12px;background:#f7f9f7}.employee-payroll-reference-help>div{display:flex;flex-direction:column;gap:2px}.employee-payroll-reference-help span{font-size:11px;color:var(--muted)}
@media(max-width:1080px){.employment-reference-grid{grid-template-columns:1fr}.employment-reference-wide{grid-column:auto}}
@media(max-width:760px){.employment-reference-form.compact{grid-template-columns:1fr}.employment-template-form{grid-template-columns:1fr}.employee-payroll-reference-help{align-items:flex-start;flex-direction:column}.employee-payroll-reference-help .button{width:100%}}
/* v0.82.1 · employment function library layout */
.employment-function-table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.employment-function-table{width:100%;min-width:1040px;table-layout:fixed}
.employment-function-table th,.employment-function-table td{vertical-align:top;white-space:normal;overflow-wrap:anywhere}
.employment-function-table th:nth-child(1){width:22%}
.employment-function-table th:nth-child(2){width:11%}
.employment-function-table th:nth-child(3){width:15%}
.employment-function-table th:nth-child(4){width:14%}
.employment-function-table th:nth-child(5){width:17%}
.employment-function-table th:nth-child(6){width:9%}
.employment-function-table th:nth-child(7){width:12%}
.employment-function-table code{white-space:normal;overflow-wrap:anywhere}
.employment-validity{display:inline-flex;gap:5px;align-items:center;flex-wrap:wrap;white-space:normal}
@media(max-width:1180px){.employment-function-table{min-width:920px}}
@media(max-width:760px){.employment-function-table-wrap{margin-inline:0}.employment-function-table{min-width:860px}}


/* v0.82.2 · employment reference editing */
.employment-reference-edit-panel{display:grid;gap:14px;margin:16px 0;padding:16px;border:1px solid #d9e2db;border-radius:14px;background:#f8faf8;box-shadow:inset 3px 0 0 #738a78}
.employment-reference-edit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.employment-reference-edit-head h3{margin:1px 0 5px;font-size:16px}.employment-reference-edit-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.employment-reference-edit-head .eyebrow{margin:0 0 3px;font-size:9px;font-weight:850;letter-spacing:.08em;color:#5c7162}
.employment-reference-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:175px}.employment-reference-row-actions .button{white-space:nowrap}
@media(max-width:760px){.employment-reference-edit-head{display:grid;grid-template-columns:1fr}.employment-reference-edit-head .button{justify-self:start}.employment-reference-row-actions{min-width:0}}

/* v0.83.3 · leesbare GPS-locaties */
.time-location-strip .time-location-map-link{display:inline-flex;margin-top:5px;color:#50675a;font-size:9px;font-weight:850;text-decoration:none}.time-location-strip .time-location-map-link:hover{text-decoration:underline}.time-location-event-row{align-items:flex-start}.time-location-event-main{min-width:150px}.time-location-event-detail{display:grid;justify-items:end;gap:3px;max-width:62%;text-align:right}.time-location-event-detail strong{font-size:11px}.time-location-event-detail span,.time-location-event-detail small{margin:0;color:var(--muted);font-size:9px;line-height:1.4}.time-location-event-detail a{color:#50675a;font-size:9px;font-weight:850;text-decoration:none}.time-location-event-detail a:hover{text-decoration:underline}@media(max-width:720px){.time-location-event-row{display:grid}.time-location-event-detail{max-width:none;justify-items:start;text-align:left}}

/* v0.86.0 — payroll API phase 2 + complete payroll subnavigation */
.section-nav.section-nav-payroll{display:flex;flex-wrap:wrap;overflow:visible;max-width:100%;min-width:0;align-content:flex-start}.section-nav.section-nav-payroll .section-nav-item{flex:0 0 auto}.payroll-page{min-width:0;max-width:100%}.payroll-page .settings-card{min-width:0}
@media(max-width:900px){.section-nav.section-nav-payroll{overflow-x:auto;flex-wrap:nowrap;scrollbar-gutter:stable;padding-bottom:9px}.section-nav.section-nav-payroll:focus-within{scroll-behavior:smooth}}


/* v0.87.0 · HR workflow & planning guidance */
.dashboard-hr-tasks{padding:20px 22px;display:grid;gap:14px}
.dashboard-hr-tasks-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.dashboard-hr-tasks-head h2{margin:2px 0 4px;font-size:21px}.dashboard-hr-tasks-head p{margin:0}
.dashboard-hr-task-count{padding:6px 10px;border-radius:999px;background:#eef2ef;color:#56645b;font-size:10px;font-weight:800;white-space:nowrap}
.dashboard-hr-task-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dashboard-hr-task{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 14px;border:1px solid #e3e7e3;border-radius:14px;background:#fff;color:inherit;text-decoration:none;transition:.15s ease}
.dashboard-hr-task:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(25,35,27,.045)}
.dashboard-hr-task-state{width:9px;height:9px;border-radius:50%;background:#6e8d78}.dashboard-hr-task.is-warning .dashboard-hr-task-state{background:#c89227}.dashboard-hr-task.is-info .dashboard-hr-task-state{background:#8095aa}
.dashboard-hr-task-copy{display:grid;gap:2px;min-width:0}.dashboard-hr-task-copy strong{font-size:12px}.dashboard-hr-task-copy small{font-size:9px;color:var(--muted);line-height:1.35}.dashboard-hr-task>b{font-size:9px;color:#4e6657;white-space:nowrap}

.planning-workflow-guide{padding:18px 20px;display:grid;gap:14px;border-color:#dce4de}
.planning-workflow-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.planning-workflow-head h2{margin:2px 0 4px;font-size:19px}.planning-workflow-head p{margin:0;color:var(--muted);font-size:11px;max-width:820px}
.planning-workflow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.planning-workflow-step{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #e3e7e3;border-radius:13px;background:#fafbfa;color:inherit;text-decoration:none}
.planning-workflow-step>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e8ece9;color:#68746c;font-size:10px;font-weight:850;flex:0 0 auto}.planning-workflow-step div{display:grid;gap:2px;min-width:0}.planning-workflow-step strong{font-size:11px}.planning-workflow-step small{font-size:9px;color:var(--muted);line-height:1.35}
.planning-workflow-step.is-current{border-color:#aebdb2;background:#f5f8f5;box-shadow:inset 0 0 0 1px #dfe6e1}.planning-workflow-step.is-current>span{background:#52685a;color:#fff}.planning-workflow-step.is-done>span{background:#dcebe0;color:#47604e}.planning-workflow-step.is-done>span:after{content:'✓';font-size:12px}.planning-workflow-step.is-done>span{font-size:0}
.planning-workflow-summary{display:flex;gap:8px;flex-wrap:wrap}.planning-workflow-summary span{display:inline-flex;align-items:baseline;gap:4px;padding:5px 8px;border-radius:999px;background:#f1f4f2;color:#677269;font-size:9px}.planning-workflow-summary span.has-attention{background:#fff7e9;color:#815f1b}.planning-workflow-summary strong{font-size:11px;color:inherit}
.planning-action-launcher a.is-recommended{border-color:#becdc2;background:#f7faf7}.planning-action-launcher a.is-recommended span{color:#4f6758}
.plan-worktime-signals.is-summary{margin-top:4px}.plan-worktime-signals.is-summary a{display:block;padding:5px 7px;border-radius:7px;text-decoration:none;font-size:8px;font-weight:800;line-height:1.3}.plan-worktime-signals.is-summary a.warning{background:#fff8e9;color:#7d5f1d}.plan-worktime-signals.is-summary a.error{background:#fff0ee;color:#9a4d44}

@media(max-width:900px){.dashboard-hr-task-list{grid-template-columns:1fr}.planning-workflow-head{align-items:flex-start;flex-direction:column}.planning-workflow-steps{grid-template-columns:1fr}}
@media(max-width:600px){.dashboard-hr-tasks{padding:16px}.dashboard-hr-tasks-head{flex-direction:column}.dashboard-hr-task{grid-template-columns:auto minmax(0,1fr)}.dashboard-hr-task>b{grid-column:2}.planning-workflow-guide{padding:15px}}


/* v0.87.1 — dashboard contextbalk en tijdregistratieactie */
.dashboard-body .context-switcher{transition:opacity .16s ease,transform .16s ease}
.dashboard-body .context-switcher.dashboard-context-switcher-hidden{opacity:0;transform:translateY(-14px);pointer-events:none}
.dashboard-live-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.dashboard-live-update{display:inline-flex;align-items:center;gap:7px;color:var(--muted)}
.dashboard-live-registrations-link{padding:8px 12px;font-size:12px;min-height:36px;white-space:nowrap}
@media(max-width:980px){
  .dashboard-body .context-switcher.dashboard-context-switcher-hidden{opacity:1;transform:none;pointer-events:auto}
}
@media(max-width:760px){
  .dashboard-live-heading-actions{justify-content:flex-start}
  .dashboard-live-heading-meta{width:100%}
}

/* v0.87.2 — planningstatus en vereenvoudigde HR-flow */
.planning-readiness{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;border:1px solid #dde4df;border-radius:14px;background:#f8faf8;margin:0 0 12px}
.planning-readiness>div{display:grid;gap:3px}.planning-readiness strong{font-size:12px}.planning-readiness span{font-size:10px;color:var(--muted);line-height:1.4}.planning-readiness>a{font-size:10px;font-weight:850;color:#4d6656;text-decoration:none;white-space:nowrap}.planning-readiness.has-attention{border-left:4px solid #c89a35;background:#fffaf0}.planning-readiness.is-ready{border-left:4px solid #6f9278;background:#f5faf6}
.planning-quick-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px;color:var(--muted);font-size:9px}.planning-quick-actions>span{font-weight:850;text-transform:uppercase;letter-spacing:.08em}.planning-quick-actions a{padding:6px 9px;border:1px solid #dfe5e0;border-radius:999px;background:#fff;color:#53675a;text-decoration:none;font-weight:800}.planning-quick-actions a:hover{background:#f6f8f6}
.planning-stage-help{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.planning-stage-help span{display:inline-flex;gap:4px;align-items:center;padding:6px 9px;border-radius:10px;background:#f3f6f4;color:#647068;font-size:9px}.planning-stage-help strong{color:#43584a}.planning-stage-help-compact{margin:12px 0 4px}
.planning-advanced-context{border:1px solid #dfe5e0;border-radius:14px;background:#fafbfa}.planning-advanced-context>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;cursor:pointer;list-style:none}.planning-advanced-context>summary::-webkit-details-marker{display:none}.planning-advanced-context>summary strong{font-size:12px}.planning-advanced-context>summary span{font-size:9px;color:var(--muted)}.planning-advanced-context>summary:after{content:'Openen';font-size:9px;font-weight:850;color:#566a5d}.planning-advanced-context[open]>summary:after{content:'Sluiten'}.planning-advanced-context-body{display:grid;gap:12px;padding:0 12px 12px}.planning-advanced-context .planning-form-section{margin:0;background:#fff}
@media(max-width:760px){.planning-readiness{align-items:flex-start;flex-direction:column}.planning-advanced-context>summary{align-items:flex-start;flex-direction:column}.planning-stage-help{display:grid;grid-template-columns:1fr}}

/* v0.87.3 — beschikbaarheid: taakgerichte HR-taal en rustigere kalender */
.availability-guidance{display:flex;align-items:flex-start;gap:10px;margin:-2px 0 14px;padding:11px 14px;border:1px solid #dfe7e1;border-radius:12px;background:#f7faf7;color:#657269;font-size:10.5px;line-height:1.5}
.availability-guidance strong{flex:0 0 auto;color:#344239;font-size:10.5px}
.employer-availability-page .availability-empty{display:flex;align-items:center;justify-content:center;color:#c1c8c3;font-size:16px;font-weight:700;min-height:82px}
.employer-availability-page .availability-conflict-link{align-self:center;display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:4px 7px;border-radius:7px;background:#fff0dc;color:#815820;font-size:9px;font-weight:850;text-decoration:none;white-space:nowrap}
.employer-availability-page .availability-conflict-link:hover{background:#f8e4c8;text-decoration:underline}
@media(max-width:700px){.availability-guidance{flex-direction:column;gap:3px;font-size:11px}.availability-guidance strong{font-size:11px}.employer-availability-page .availability-conflict-link{font-size:10px}}

/* v0.87.4 — Open diensten: begeleide HR-flow en compacte context */
.open-shifts-page .open-shift-workflow{display:grid;gap:14px;padding:18px 20px}
.open-shifts-page .open-shift-workflow-head h2{margin:2px 0 4px;font-size:20px;line-height:1.25}
.open-shifts-page .open-shift-workflow-head p:not(.planning-section-kicker){margin:0;color:#758078;font-size:11px;line-height:1.5}
.open-shifts-page .open-shift-workflow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.open-shifts-page .open-shift-workflow-step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:13px 14px;border:1px solid #e1e6e2;border-radius:14px;background:#fbfcfb;color:inherit;text-decoration:none}
.open-shifts-page .open-shift-workflow-step:hover{border-color:#bcc9bf;background:#f8faf8}
.open-shifts-page .open-shift-workflow-step.current{border-color:#afc0b2;background:#f5f8f5;box-shadow:inset 0 0 0 1px rgba(100,126,106,.08)}
.open-shifts-page .open-shift-workflow-step>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#eef2ef;color:#617067;font-size:12px;font-weight:900}
.open-shifts-page .open-shift-workflow-step.current>span{background:#607767;color:#fff}
.open-shifts-page .open-shift-workflow-step div{display:grid;gap:2px;min-width:0}
.open-shifts-page .open-shift-workflow-step strong{font-size:12px;line-height:1.35}
.open-shifts-page .open-shift-workflow-step small{font-size:10px;line-height:1.4;color:#77827a}
.open-shifts-page .open-shift-create-step{background:#eef3ef;color:#5f7065;border-color:#d8e0d9}
.open-shifts-page .open-shift-form-section>.open-shift-fields-context{grid-template-columns:repeat(2,minmax(0,1fr))}
.open-shifts-page .open-shift-form-section>.open-shift-fields-context .open-shift-unit-field,
.open-shifts-page .open-shift-form-section>.open-shift-fields-context .open-shift-note{grid-column:auto}
.open-shifts-page .open-shift-advanced{margin-top:4px;border:1px solid #e4e9e5;border-radius:12px;background:#fafbfa;overflow:hidden}
.open-shifts-page .open-shift-advanced summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;padding:11px 13px;font-size:11px;font-weight:850;color:#47554b}
.open-shifts-page .open-shift-advanced summary::-webkit-details-marker{display:none}
.open-shifts-page .open-shift-advanced summary:after{content:'+';font-size:16px;line-height:1;color:#718078}
.open-shifts-page .open-shift-advanced[open] summary:after{content:'−'}
.open-shifts-page .open-shift-advanced summary span{font-size:9.5px;font-weight:650;color:#88918b}
.open-shifts-page .open-shift-fields-advanced{padding:0 13px 13px;border-top:1px solid #edf0ed;padding-top:12px}
.open-shifts-page .open-shift-next-action{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:8px;padding:11px 12px;border-radius:10px;background:#eff5f0}
.open-shifts-page .open-shift-next-action>div{display:grid;gap:2px}
.open-shifts-page .open-shift-next-action strong{font-size:11px;color:#42594a}
.open-shifts-page .open-shift-next-action span{font-size:9.5px;line-height:1.45;color:#6e7b72}
.open-shifts-page .open-shift-next-action .secondary-button{white-space:nowrap}
.open-shifts-page .open-shift-candidates.compact-filled{gap:8px}
.open-shifts-page .open-shift-candidates.compact-filled .open-shift-candidate{padding:10px 12px}
@media(max-width:900px){
  .open-shifts-page .open-shift-workflow-steps{grid-template-columns:1fr}
  .open-shifts-page .open-shift-form-section>.open-shift-fields-context{grid-template-columns:1fr}
  .open-shifts-page .open-shift-next-action{align-items:stretch;flex-direction:column}
  .open-shifts-page .open-shift-next-action .secondary-button{width:100%;text-align:center}
}
@media(max-width:650px){
  .open-shifts-page .open-shift-workflow{padding:15px}
  .open-shifts-page .open-shift-advanced summary{align-items:flex-start;flex-direction:column}
}

/* v0.87.5 - Planning UX: vervanging & ruilen + compacte open-diensthistoriek */
.employer-shift-request-page .shift-request-workflow{padding:22px 24px;display:grid;gap:16px}
.employer-shift-request-page .shift-request-workflow-head h2{margin:2px 0 5px;font-size:23px;line-height:1.2}
.employer-shift-request-page .shift-request-workflow-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.employer-shift-request-page .shift-request-workflow-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.employer-shift-request-page .shift-request-workflow-steps>div{border:1px solid var(--border);border-radius:13px;padding:13px 14px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:2px;align-items:start;background:#fff}
.employer-shift-request-page .shift-request-workflow-steps>div.current{border-color:#a8b9ad;background:#f3f7f4;box-shadow:inset 0 0 0 1px #d8e3db}
.employer-shift-request-page .shift-request-workflow-steps span{grid-row:1/3;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#edf1ee;color:#4e6254;font-weight:800;font-size:11px}
.employer-shift-request-page .shift-request-workflow-steps .current span{background:#526b5b;color:#fff}
.employer-shift-request-page .shift-request-workflow-steps strong{font-size:12px;line-height:1.4}
.employer-shift-request-page .shift-request-workflow-steps small{font-size:12.5px;line-height:1.45;color:var(--muted)}
.employer-shift-request-page .shift-request-policy-summary.compact-policy{padding:9px 12px;min-height:auto}
.employer-shift-request-page .shift-request-policy-summary.compact-policy>strong{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-right:2px}
.employer-shift-request-page .shift-request-policy-summary.compact-policy span{padding:4px 8px;font-size:10px}
.employer-shift-request-page .shift-request-kpis .decision-kpi{position:relative}
.employer-shift-request-page .shift-request-kpis .decision-kpi.has-action{border-color:#d5ae57;background:#fffaf0;box-shadow:inset 3px 0 0 #d5ae57}
.employer-shift-request-page .shift-request-kpis .decision-kpi a{font-size:10.5px;font-weight:800;color:#6a5423;margin-top:2px}
.employer-shift-request-page .shift-request-card.history-card{padding:15px 18px;gap:11px}
.employer-shift-request-page .history-card .shift-request-card-main{gap:8px}
.employer-shift-request-page .history-card .shift-swap-pair,.employer-shift-request-page .history-card .shift-request-service{padding:9px 11px}
.employer-shift-request-page .shift-request-publish-note.publish-required{background:#fff8e8;border:1px solid #ead8aa}
.employer-shift-request-page .shift-request-publish-note.publish-required strong{color:#755b1f}
.employer-shift-request-page .shift-request-history-detail{margin-top:0;border-top:1px solid var(--border);padding-top:8px}
.employer-shift-request-page .shift-request-history-detail summary{cursor:pointer;font-size:10.5px;font-weight:800;color:#52675a;list-style:none}
.employer-shift-request-page .shift-request-history-detail summary::-webkit-details-marker{display:none}
.employer-shift-request-page .shift-request-history-detail summary:before{content:'›';display:inline-block;margin-right:6px;transition:transform .15s ease}
.employer-shift-request-page .shift-request-history-detail[open] summary:before{transform:rotate(90deg)}
.employer-shift-request-page .shift-request-history-detail>div{padding:8px 0 0;display:grid;gap:6px}
.employer-shift-request-page .shift-request-history-detail p{margin:0;padding:8px 10px;background:#f6f8f6;border-radius:8px;font-size:10.5px!important}
.open-shift-candidates.compact-filled .open-shift-candidate{padding-top:9px;padding-bottom:9px}
.open-shift-candidates.compact-filled .open-shift-next-action{margin-top:8px;padding-top:9px}
@media(max-width:900px){.employer-shift-request-page .shift-request-workflow-steps{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.employer-shift-request-page .shift-request-workflow{padding:17px}.employer-shift-request-page .shift-request-workflow-steps{grid-template-columns:1fr}}

/* v0.87.6 - Planning UX: kampen */
.camp-workflow-card{margin-bottom:18px}
.camp-workflow-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.camp-workflow-steps>div{border:1px solid var(--border,#dfe5df);border-radius:16px;padding:14px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:3px;align-items:start;background:#fff}
.camp-workflow-steps span{grid-row:1/3;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eef3ef;font-weight:700;color:#496052}
.camp-workflow-steps strong{font-size:15px}.camp-workflow-steps small{color:#69746d;line-height:1.35}
.camp-context-note{margin:0 0 18px}
.camp-overview-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}
.camp-overview-kpis>div{background:#fff;border:1px solid var(--border,#dfe5df);border-radius:16px;padding:18px}
.camp-overview-kpis span,.camp-overview-kpis small{display:block;color:#6c776f}.camp-overview-kpis strong{display:block;font-size:30px;margin:4px 0 2px;color:#1d2821}
.camp-overview-kpis>div.attention{border-color:#e7c66f;background:#fffaf0}
.camp-responsible-warning{display:block;color:#8a6515;margin-top:4px;font-weight:600}
@media(max-width:900px){.camp-workflow-steps,.camp-overview-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.camp-workflow-steps,.camp-overview-kpis{grid-template-columns:1fr}}

/* v0.87.7 - Planning UX: kampinstellingen vereenvoudigd */
.camp-settings-index{display:grid;gap:14px}
.camp-settings-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.camp-settings-tabs a{display:grid;gap:3px;padding:14px 16px;border:1px solid var(--border,#dfe5df);border-radius:14px;background:#fbfcfb;color:inherit;text-decoration:none}
.camp-settings-tabs a:hover{border-color:#b7c5ba;background:#f6f9f7}
.camp-settings-tabs strong{font-size:12px;color:#33453a}.camp-settings-tabs span{font-size:10px;color:var(--muted,#738078)}
.camp-payroll-warning{display:flex;align-items:flex-start;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid #d9e4dc;border-left:4px solid #82998a;border-radius:12px;background:#f5f8f6}
.camp-payroll-warning strong{font-size:11.5px;color:#3d5746;white-space:nowrap}.camp-payroll-warning span{font-size:10.5px;line-height:1.5;color:#68756d}
.camp-payroll-subsection{margin:0;padding:12px 14px;border:1px solid #e1e7e2;border-radius:12px;background:#fafbfa}
.camp-payroll-subsection legend{padding:0 6px;font-size:11px;font-weight:800;color:#425448}
.camp-payroll-subsection label{display:grid;gap:5px}.camp-payroll-subsection small{color:var(--muted,#738078)}
.camp-settings-details{margin-top:12px;border:1px solid #e1e7e2;border-radius:12px;background:#fafbfa;overflow:hidden}
.camp-settings-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}
.camp-settings-details>summary::-webkit-details-marker{display:none}.camp-settings-details>summary:after{content:'+';font-size:17px;color:#69766e}
.camp-settings-details[open]>summary:after{content:'−'}
.camp-settings-details>summary strong{font-size:11.5px;color:#3f5346}.camp-settings-details>summary span{font-size:10px;color:var(--muted,#738078);margin-left:auto}
.camp-settings-details .settings-info-note{margin:0;border:0;border-top:1px solid #e7ebe8;border-radius:0;background:#fff}
.camp-form-advanced{align-self:end;border:1px solid #e1e7e2;border-radius:10px;background:#fafbfa;padding:0}
.camp-form-advanced summary{cursor:pointer;list-style:none;padding:11px 12px;font-size:10.5px;font-weight:800;color:#52675a}
.camp-form-advanced summary::-webkit-details-marker{display:none}.camp-form-advanced summary:after{content:' +';float:right}.camp-form-advanced[open] summary:after{content:' −'}
.camp-form-advanced label{padding:0 12px 12px;display:grid;gap:5px}
.camp-settings-audit{padding:0;overflow:hidden}
.camp-settings-audit>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer;list-style:none}
.camp-settings-audit>summary::-webkit-details-marker{display:none}.camp-settings-audit>summary h2{margin:0 0 4px}.camp-settings-audit>summary p{margin:0;color:var(--muted,#738078);font-size:11px}.camp-settings-audit>summary>span{font-size:10.5px;font-weight:800;color:#52675a;white-space:nowrap}
.camp-settings-audit-body{padding:0 20px 20px;border-top:1px solid #edf0ed}.camp-settings-audit-body h3{margin-top:18px}
@media(max-width:850px){.camp-settings-tabs{grid-template-columns:1fr}.camp-payroll-warning{flex-direction:column;gap:4px}.camp-settings-audit>summary{align-items:flex-start;flex-direction:column}}

/* v0.87.8 kamp-payroll simulator */
.camp-payroll-form{display:grid;gap:18px}.camp-payroll-block{border:1px solid #e1e7e2;border-radius:16px;padding:18px;background:#fff}.camp-payroll-block-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:15px}.camp-payroll-block-head h3{margin:0 0 3px;font-size:16px}.camp-payroll-block-head p{margin:0;color:var(--muted,#738078);font-size:11px;line-height:1.45}.camp-payroll-block .step-badge{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:999px;background:#edf2ee;color:#405548;font-weight:850;font-size:12px}.camp-switch-list{display:grid;gap:8px}.camp-switch-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 14px;border:1px solid #e4e9e5;border-radius:13px;background:#fafbfa;cursor:pointer}.camp-switch-row>span:first-child{display:grid;gap:3px}.camp-switch-row strong{font-size:12px;color:#303b34}.camp-switch-row small{font-size:12.5px;line-height:1.45;color:#748078}.camp-switch{position:relative;display:inline-flex;flex:0 0 auto}.camp-switch input{position:absolute;opacity:0;pointer-events:none}.camp-switch>span{width:44px;height:24px;border-radius:999px;background:#cfd7d1;position:relative;transition:.18s ease}.camp-switch>span:after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.18s ease}.camp-switch input:checked+span{background:#6f8a77}.camp-switch input:checked+span:after{transform:translateX(20px)}.camp-switch input:focus-visible+span{outline:3px solid rgba(111,138,119,.2);outline-offset:2px}.camp-simulator-grid{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:12px}.camp-sim-card{border:1px solid #e4e9e5;border-radius:14px;padding:14px;background:#fafbfa;min-width:0}.camp-sim-card h4{margin:0 0 12px;font-size:12px}.camp-hours-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.camp-hours-inputs label,.camp-time-row label,.camp-example-controls label,.camp-save-grid label{display:grid;gap:5px;font-size:10px;font-weight:750;color:#4a5750}.camp-hours-inputs input,.camp-time-row input[type=time],.camp-example-controls input,.camp-save-grid input,.camp-advanced-grid input{min-height:42px;border:1px solid #d9dfda;border-radius:10px;padding:8px 10px;background:#fff;color:#20251f;font:inherit}.camp-calc-result,.camp-time-row output{display:block;margin-top:9px;font-size:10.5px;font-weight:750;color:#52675a}.camp-time-row{display:grid;grid-template-columns:minmax(120px,1.1fr) minmax(90px,.7fr) minmax(90px,.7fr);gap:8px;align-items:end;padding:10px 0;border-top:1px solid #e7ebe8}.camp-time-row:first-of-type{border-top:0;padding-top:0}.camp-time-row>strong{font-size:10.5px;padding-bottom:11px}.camp-time-row output{grid-column:2/-1;margin-top:0}.camp-time-row.optional-time{grid-template-columns:1fr}.camp-inline-toggle{display:flex!important;align-items:center;gap:8px!important;cursor:pointer}.camp-inline-toggle input{width:16px;height:16px;accent-color:#6f8a77}.optional-time-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end}.optional-time-fields output{grid-column:1/-1}.camp-sim-help{display:block;margin-top:8px;color:#748078;font-size:10px;line-height:1.4}.camp-simulator-message{margin:12px 0 0}.camp-matrix-preview{margin-top:14px;padding:15px;border:1px solid #dfe6e1;border-radius:14px;background:#f6f9f7}.camp-matrix-preview h4{margin:2px 0 10px}.camp-matrix-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:12px}.camp-matrix-summary>div{display:grid;gap:3px;padding:10px;border-radius:10px;background:#fff;border:1px solid #e4e9e5}.camp-matrix-summary strong{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#6b776f}.camp-matrix-summary span{font-size:11px;font-weight:750}.camp-matrix-summary small{font-size:9.5px;color:#7a827c}.camp-inline-success{margin-top:10px;padding:9px 11px;border-radius:10px;background:#edf6ef;color:#40604a;font-size:10.5px;font-weight:700}.camp-example-controls{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.camp-example-output{margin-top:14px}.camp-example-totals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:10px}.camp-example-totals>div{display:grid;gap:2px;padding:10px 12px;border:1px solid #e4e9e5;border-radius:11px;background:#fafbfa}.camp-example-totals strong{font-size:16px}.camp-example-totals span{font-size:9.5px;color:#748078}.camp-example-note{display:block;margin-top:8px;color:#748078;font-size:10px;line-height:1.4}.camp-final-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.camp-final-summary>div{display:grid;gap:3px;padding:12px;border:1px solid #e4e9e5;border-radius:12px;background:#fafbfa}.camp-final-summary span{font-size:10px;color:#6f7a73}.camp-final-summary strong{font-size:14px}.camp-final-summary small{font-size:9.5px;color:#7a827c}.camp-unsaved-warning{display:flex;gap:10px;align-items:center;margin-top:12px;padding:10px 12px;border:1px solid #ead8a5;border-radius:11px;background:#fff9e9;color:#755b16;font-size:10.5px}.camp-unsaved-warning[hidden]{display:none!important}.camp-unsaved-warning strong{white-space:nowrap}.camp-advanced-values{margin-top:12px}.camp-advanced-grid{padding:12px 0 0;grid-template-columns:repeat(4,minmax(0,1fr))}.camp-save-grid{display:grid;grid-template-columns:1fr 2fr;gap:12px;margin-top:12px}.camp-save-grid label>span{font-size:11px;font-weight:800}.camp-save-grid small{font-size:9.5px;color:#748078;line-height:1.4}.camp-final-config .form-actions{margin-top:14px}
@media(max-width:1100px){.camp-simulator-grid{grid-template-columns:1fr 1fr}.camp-sim-regular{grid-column:1/-1}.camp-matrix-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.camp-advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.camp-payroll-block{padding:14px}.camp-switch-row{align-items:flex-start}.camp-simulator-grid,.camp-matrix-summary,.camp-example-totals,.camp-final-summary,.camp-save-grid{grid-template-columns:1fr}.camp-example-controls{grid-template-columns:1fr}.camp-time-row{grid-template-columns:1fr 1fr}.camp-time-row>strong{grid-column:1/-1;padding-bottom:0}.camp-time-row output{grid-column:1/-1}.camp-advanced-grid{grid-template-columns:1fr}.camp-unsaved-warning{align-items:flex-start;flex-direction:column}}

/* v0.87.9 - Kampinstellingen: brede taakgerichte layout */
.camp-page .camp-settings-index{padding:20px 22px}
.camp-settings-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.camp-settings-tabs a{min-height:74px;align-content:center;padding:16px 18px;background:#fff}
.camp-settings-tabs a.active{border-color:#9fb2a5;background:#f0f5f1;box-shadow:inset 0 0 0 1px #c9d5cc}
.camp-settings-tabs a.active strong{color:#274333}
.camp-payroll-editor{max-width:none;width:100%;padding:22px}
.camp-payroll-form{gap:20px}
.camp-payroll-block{padding:20px 22px;border-radius:14px}
.camp-switch-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.camp-switch-row{min-height:82px;padding:14px 16px}
.camp-switch>span{width:38px;height:22px}
.camp-switch>span:after{width:16px;height:16px}
.camp-switch input:checked+span:after{transform:translateX(16px)}
.camp-simulator-layout{display:grid;gap:16px}
.camp-regular-row{display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(220px,.8fr) minmax(150px,.5fr);gap:18px;align-items:end;padding:16px;border:1px solid #e2e7e3;border-radius:12px;background:#fafbfa}
.camp-regular-row h4{margin:0 0 4px;font-size:13px}.camp-regular-row p{margin:0;color:#748078;font-size:12.5px;line-height:1.45}
.camp-regular-row .camp-calc-result{margin:0;align-self:center;font-size:12px}
.camp-component-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.camp-component-panel{border:1px solid #e2e7e3;border-radius:12px;background:#fff;overflow:hidden}
.camp-component-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;background:#fafbfa;border-bottom:1px solid #e9edea}
.camp-component-panel-head h4{margin:0;font-size:13px}.camp-component-panel-head span{font-size:10px;color:#748078;text-align:right;max-width:280px}
.camp-component-table{padding:0 16px 8px}
.camp-component-head,.camp-time-row{display:grid;grid-template-columns:minmax(120px,1.2fr) minmax(100px,.75fr) minmax(100px,.75fr) minmax(110px,.8fr);gap:10px;align-items:center}
.camp-component-head{padding:10px 0 7px;border-bottom:1px solid #edf0ee;font-size:9.5px;font-weight:800;color:#7a837d;text-transform:uppercase;letter-spacing:.04em}
.camp-time-row{padding:10px 0;border-top:1px solid #edf0ee}
.camp-time-row:first-of-type{border-top:0}
.camp-time-row>strong{padding:0;font-size:10.5px}.camp-time-row label{display:block}.camp-time-row input[type=time]{width:100%;min-width:0}
.camp-time-row output{grid-column:auto;margin:0;font-size:10.5px;text-align:left}
.camp-time-row.optional-time{grid-template-columns:minmax(120px,1.2fr) minmax(0,2.3fr)}
.camp-time-row.optional-time .camp-inline-toggle{min-width:0}
.camp-time-row.optional-time .optional-time-fields{display:grid;grid-template-columns:minmax(100px,.75fr) minmax(100px,.75fr) minmax(110px,.8fr);gap:10px;align-items:center}
.camp-time-row.optional-time .optional-time-fields output{grid-column:auto;margin:0}
.camp-matrix-preview{padding:16px 18px}
.camp-matrix-table-wrap{overflow-x:auto;margin:10px 0 12px}
.camp-matrix-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e4e9e5;border-radius:10px;overflow:hidden}
.camp-matrix-table th,.camp-matrix-table td{padding:11px 12px;border-bottom:1px solid #edf0ee;text-align:left;font-size:10.5px}
.camp-matrix-table thead th{background:#f7f9f7;color:#68756d;font-size:9.5px;text-transform:uppercase;letter-spacing:.04em}
.camp-matrix-table tbody th{width:24%;color:#3f5146}.camp-matrix-table tbody tr:last-child th,.camp-matrix-table tbody tr:last-child td{border-bottom:0}
.camp-calendar-summary-line{margin:0 0 12px;font-size:10.5px;color:#52675a}
.camp-example-controls{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;max-width:760px}
.camp-example-output .settings-table-wrap{margin-top:10px}
.camp-final-list{display:grid;border:1px solid #e2e7e3;border-radius:12px;overflow:hidden;background:#fff}
.camp-final-list>div{display:grid;grid-template-columns:minmax(240px,1.3fr) minmax(180px,.8fr) minmax(120px,.5fr);gap:14px;align-items:center;padding:12px 14px;border-top:1px solid #edf0ee}
.camp-final-list>div:first-child{border-top:0}.camp-final-list span{font-size:10.5px;color:#66746c}.camp-final-list strong{font-size:12px}.camp-final-list small{font-size:9.5px;color:#7a827c}
.camp-save-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:none;align-items:start}.camp-save-grid label{align-content:start;min-width:0}.camp-save-grid input{width:100%;height:52px;min-height:52px;box-sizing:border-box}.camp-save-grid small{min-height:28px}.camp-save-actions{margin-top:16px!important;padding-top:16px;border-top:1px solid #edf0ee;justify-content:flex-end}.camp-save-actions .button{min-width:250px}
.camp-settings-section{max-width:none;width:100%}
.camp-settings-section .settings-form-grid{max-width:none}
.camp-page .context-switcher{transition:opacity .16s ease,transform .16s ease}
.camp-page .context-switcher.camp-context-switcher-hidden{opacity:0;transform:translateY(-12px);pointer-events:none}
@media(max-width:1180px){
  .camp-switch-list{grid-template-columns:1fr}
  .camp-component-columns{grid-template-columns:1fr}
  .camp-regular-row{grid-template-columns:1fr 1fr}.camp-regular-row>div:first-child{grid-column:1/-1}
}
@media(max-width:760px){
  .camp-settings-tabs{grid-template-columns:1fr}
  .camp-regular-row,.camp-example-controls,.camp-save-grid{grid-template-columns:1fr}
  .camp-save-actions{justify-content:stretch}.camp-save-actions .button{width:100%;min-width:0}
  .camp-component-head{display:none}
  .camp-time-row{grid-template-columns:1fr 1fr}.camp-time-row>strong{grid-column:1/-1}.camp-time-row output{grid-column:1/-1}
  .camp-time-row.optional-time{grid-template-columns:1fr}.camp-time-row.optional-time .optional-time-fields{grid-template-columns:1fr 1fr}.camp-time-row.optional-time .optional-time-fields output{grid-column:1/-1}
  .camp-final-list>div{grid-template-columns:1fr;gap:4px}
  .camp-page .context-switcher.camp-context-switcher-hidden{opacity:1;transform:none;pointer-events:auto}
}

/* v0.87.10 · kampregeling: eenvoudige duurinvoer, technische minuten op de achtergrond */
.camp-regular-row-simple{grid-template-columns:minmax(280px,1.35fr) minmax(260px,.65fr);align-items:center}
.camp-duration-field{display:grid;grid-template-columns:72px minmax(120px,180px);gap:6px 12px;align-items:center;justify-content:end}
.camp-duration-field>span{font-size:10.5px;font-weight:800;color:#4a5750}
.camp-duration-field input{min-height:44px;border:1px solid #d9dfda;border-radius:10px;padding:9px 12px;background:#fff;color:#20251f;font:inherit;font-weight:750;letter-spacing:.02em}
.camp-duration-field small{grid-column:1/-1;color:#748078;font-size:9.5px;line-height:1.4;text-align:right}
@media(max-width:900px){.camp-regular-row-simple{grid-template-columns:1fr}.camp-duration-field{justify-content:start;grid-template-columns:70px minmax(120px,180px)}.camp-duration-field small{text-align:left}}
@media(max-width:520px){.camp-duration-field{grid-template-columns:1fr}.camp-duration-field small{grid-column:1}}

/* v0.87.12 · configureerbare kalenderpremies kamp-payroll */
.camp-calendar-premium-config{margin-top:12px;padding:14px 16px;border:1px solid #e1e7e2;border-radius:12px;background:#f8faf8}
.camp-calendar-premium-config[hidden]{display:none!important}
.camp-calendar-premium-config-head h4{margin:0 0 3px;font-size:12px;color:#34463b}
.camp-calendar-premium-config-head p{margin:0;color:#738078;font-size:10px;line-height:1.45}
.camp-calendar-premium-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;max-width:760px}
.camp-calendar-premium-fields>label{display:grid;gap:5px}.camp-calendar-premium-fields>label>span{font-size:10.5px;font-weight:800;color:#4b5b51}
.percent-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid #d9dfda;border-radius:10px;background:#fff;overflow:hidden}
.percent-input input{width:100%;min-width:0;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:10px 11px!important}
.percent-input b{padding:0 11px;color:#68756d;font-size:11px}
@media(max-width:700px){.camp-calendar-premium-fields{grid-template-columns:1fr}}

/* v0.87.16 — tijdregistraties als dagelijks HR-controlescherm */
.time-registrations-body .context-switcher{transition:opacity .16s ease,transform .16s ease}
.time-registrations-body .context-switcher.time-context-switcher-hidden{opacity:0;transform:translateY(-12px);pointer-events:none}
.time-registration-overview>.panel-heading{margin-bottom:14px}
.time-registration-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:8px 0 14px}
.time-summary-card{display:grid;grid-template-columns:1fr auto;grid-template-areas:'label value' 'help value';gap:3px 12px;align-items:center;min-height:78px;padding:14px 16px;border:1px solid #e0e6e1;border-radius:15px;background:#fafbfa;color:inherit;text-decoration:none}
.time-summary-card>span{grid-area:label;color:#56635b;font-size:11px;font-weight:850}.time-summary-card>strong{grid-area:value;font-size:24px;line-height:1;color:#26322b}.time-summary-card>small{grid-area:help;color:#7a837d;font-size:10px;line-height:1.35}.time-summary-card.is-active,.time-summary-card:hover{border-color:#bdcbbf;background:#f3f7f4}.time-summary-card.is-active>strong{color:#425e4b}
.time-registration-toolbar{display:flex;justify-content:flex-start;margin:0 0 12px}.time-filter-quick-main{margin:0;width:auto;max-width:100%;justify-content:flex-start;padding:9px 11px}.time-filter-quick a.is-attention-active{background:#fff5df;border-color:#e9cd91;color:#72551b}
.time-registration-filters-compact{margin:0 0 18px;padding:14px 15px;gap:10px}
.time-filter-grid-core{grid-template-columns:minmax(220px,1.15fr) minmax(145px,.7fr) minmax(145px,.7fr) minmax(250px,1.25fr)}
.time-filter-grid-advanced{grid-template-columns:repeat(4,minmax(0,1fr));padding-top:10px}
.time-registration-filters-compact .time-filter-field{padding:10px 11px;border-radius:12px}.time-registration-filters-compact input,.time-registration-filters-compact select{min-height:40px;padding:8px 10px}
.time-filter-advanced{border-top:1px solid #e6ebe7;padding-top:8px}.time-filter-advanced summary{display:inline-flex;align-items:center;gap:6px;color:#4e5e54;font-size:11px;font-weight:850;cursor:pointer;list-style:none}.time-filter-advanced summary::-webkit-details-marker{display:none}.time-filter-advanced summary:after{content:'+';font-size:16px;line-height:1}.time-filter-advanced[open] summary:after{content:'−'}
.time-registration-filters-compact .time-filter-footer{align-items:center;padding-top:2px}.time-filter-result-note{margin-left:auto;color:#7b847e;font-size:10.5px;font-weight:700}
.time-registration-table td{vertical-align:middle}.time-registration-table td small{display:block;margin-top:3px;color:#7b847e;font-size:9.5px;line-height:1.3}.time-registration-table td:nth-child(3){white-space:nowrap}.time-registration-table .time-no-context{color:#8a918c;font-size:10px}
.time-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:4px 9px;border-radius:999px;font-size:9.5px;font-weight:850;white-space:nowrap}.time-status-badge.closed{background:#eef3ef;color:#506259}.time-status-badge.corrected{background:#edf2f7;color:#536778}.time-status-badge.attention{background:#fff4df;color:#7a591d;border:1px solid #edd7a5}.time-row-attention{background:#fffdf8}
@media(min-width:1280px){.time-registrations-body .page-header{padding-right:min(780px,52vw)}}
@media(max-width:1180px){.time-filter-grid-core{grid-template-columns:repeat(2,minmax(0,1fr))}.time-filter-grid-advanced{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.time-registrations-body .context-switcher.time-context-switcher-hidden{opacity:1;transform:none;pointer-events:auto}.time-registration-summary{grid-template-columns:1fr}.time-registration-toolbar{overflow-x:auto}.time-filter-quick-main{min-width:max-content}}
@media(max-width:680px){.time-filter-grid-core,.time-filter-grid-advanced{grid-template-columns:1fr}.time-filter-result-note{width:100%;margin-left:0}.time-registration-filters-compact .time-filter-actions{display:grid;grid-template-columns:1fr 1fr}.time-registration-filters-compact .time-filter-actions>.primary-button,.time-registration-filters-compact .time-filter-actions>.secondary-button{width:auto}}

/* v0.87.17 — tijdregistraties: normale contextbalk + server-side paginering */
.time-registrations-body .time-registration-page-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:22px}
.time-registrations-body .time-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:min(620px,48vw)}
.time-registrations-body .time-context-switcher-slot{width:100%;display:flex;justify-content:flex-end}
.time-registrations-body .time-context-switcher-slot .context-switcher{position:static;top:auto;right:auto;z-index:auto;width:auto;max-width:100%;margin:0;opacity:1!important;transform:none!important;pointer-events:auto!important;box-shadow:none;background:#f8faf8;backdrop-filter:none}
.time-registrations-body .time-context-switcher-slot .context-switcher form{justify-content:flex-end}
.time-registrations-body .time-context-switcher-slot .context-mode-note{position:static;flex-basis:100%;width:100%;margin:2px 0 0;text-align:right}
.time-filter-page-size{display:flex;align-items:center;gap:8px;margin-left:auto;color:#69766e;font-size:10.5px;font-weight:800;white-space:nowrap}
.time-filter-page-size select{width:auto!important;min-width:68px!important;min-height:34px!important;padding:6px 26px 6px 9px!important}
.time-filter-result-note{margin-left:0}
.time-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #e6ebe7;color:#69766e;font-size:11px}
.time-pagination>span{min-width:116px;text-align:center}
.time-page-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border:1px solid #dce3de;border-radius:10px;background:#fff;color:#425449;font-weight:800;text-decoration:none}
.time-page-button:hover{background:#f4f7f5;border-color:#c9d4cc}
.time-page-button.is-disabled{opacity:.42;pointer-events:none}
@media(max-width:1180px){.time-registrations-body .time-registration-page-header{grid-template-columns:1fr}.time-registrations-body .time-header-actions{align-items:flex-start;min-width:0;width:100%}.time-registrations-body .time-context-switcher-slot{justify-content:flex-start}.time-registrations-body .time-context-switcher-slot .context-switcher{width:100%}.time-registrations-body .time-context-switcher-slot .context-switcher form{justify-content:flex-start}.time-registrations-body .time-context-switcher-slot .context-mode-note{text-align:left}}
@media(max-width:760px){.time-filter-page-size{margin-left:0}.time-registration-filters-compact .time-filter-footer{gap:10px}.time-pagination{justify-content:space-between}.time-pagination>span{min-width:0}.time-registrations-body .time-context-switcher-slot .context-switcher{margin:0}}


/* v0.87.18 — tijdregistraties: stabiele tweekoloms header */
.time-registrations-body .time-registration-page-header{
  display:grid;
  grid-template-columns:minmax(360px,.9fr) minmax(520px,1.1fr);
  align-items:start;
  gap:32px;
}
.time-registrations-body .time-registration-header-copy{min-width:0;max-width:620px}
.time-registrations-body .time-registration-header-copy .muted{max-width:560px;line-height:1.5}
.time-registrations-body .time-report-link{display:inline-flex;margin-top:18px}
.time-registrations-body .time-registration-header-context{min-width:0}
.time-registrations-body .time-context-switcher-slot{width:100%;display:block}
.time-registrations-body .time-context-switcher-slot .context-switcher{
  position:static!important;
  inset:auto!important;
  z-index:auto!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:14px 16px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px 16px!important;
  box-shadow:none!important;
  background:#f8faf8!important;
  backdrop-filter:none!important;
  opacity:1!important;
  transform:none!important;
  pointer-events:auto!important;
}
.time-registrations-body .time-context-switcher-slot .context-switcher-label{align-self:center}
.time-registrations-body .time-context-switcher-slot .context-switcher form{
  min-width:0;
  width:100%;
  display:grid;
  grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) auto;
  gap:8px;
  justify-content:stretch;
}
.time-registrations-body .time-context-switcher-slot .context-switcher select,
.time-registrations-body .time-context-switcher-slot .context-switcher select[name="organisation_id"],
.time-registrations-body .time-context-switcher-slot .context-switcher select[name="mode"]{
  width:100%;
  min-width:0;
  max-width:none;
}
.time-registrations-body .time-context-switcher-slot .context-switcher .context-mode-note{
  grid-column:2 / -1;
  position:static!important;
  width:auto!important;
  margin:0!important;
  text-align:left!important;
  line-height:1.4;
}
@media(max-width:1180px){
  .time-registrations-body .time-registration-page-header{grid-template-columns:1fr;gap:22px}
  .time-registrations-body .time-registration-header-copy{max-width:720px}
  .time-registrations-body .time-registration-header-context{width:100%}
}
@media(max-width:760px){
  .time-registrations-body .time-context-switcher-slot .context-switcher{display:flex!important;flex-direction:column;align-items:stretch!important}
  .time-registrations-body .time-context-switcher-slot .context-switcher form{display:grid;grid-template-columns:1fr}
  .time-registrations-body .time-context-switcher-slot .context-switcher .context-mode-note{grid-column:auto}
  .time-registrations-body .time-report-link{width:100%;justify-content:center}
}

/* v0.87.19 — gecontroleerde administratieve afsluiting actieve tijdregistraties */
.time-admin-close-callout{margin:18px 0;padding:16px 18px;border:1px solid #ead29a;border-left:4px solid #c49a42;border-radius:14px;background:#fff9eb}.time-admin-close-callout>div{display:grid;gap:5px}.time-admin-close-callout span{color:#7a5b1f;font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.time-admin-close-callout strong{font-size:15px}.time-admin-close-callout p{margin:0;color:var(--muted);line-height:1.5}
.time-admin-close-form{display:grid;gap:16px}.time-admin-close-grid{display:grid;grid-template-columns:minmax(220px,1.15fr) repeat(2,minmax(160px,.85fr));gap:12px;align-items:stretch}.time-admin-close-grid>label,.time-admin-close-metric{display:grid;gap:8px;padding:14px 15px;border:1px solid #dfe4df;border-radius:14px;background:#fbfcfb}.time-admin-close-grid>label>span,.time-admin-close-metric>span{color:#667269;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.035em}.time-admin-close-grid input{width:100%;min-height:46px;border:1px solid #d8ded9;border-radius:10px;background:#fff;padding:10px 12px;font:inherit}.time-admin-close-metric strong{font-size:20px}.time-admin-close-metric small{color:var(--muted);line-height:1.35}.time-admin-close-warning{display:grid;gap:3px;padding:12px 14px;border:1px solid #d9e1da;border-radius:12px;background:#f6faf6}.time-admin-close-warning[hidden]{display:none!important}.time-admin-close-warning strong{font-size:12px}.time-admin-close-warning span{color:var(--muted);font-size:11px;line-height:1.45}
@media(max-width:900px){.time-admin-close-grid{grid-template-columns:1fr}.time-admin-close-form>.primary-button{width:100%}}

/* v0.87.23 — planning versus registratie op detailniveau */
.time-plan-comparison{margin:16px 0 18px;padding:16px;border:1px solid #dfe5e0;border-radius:16px;background:#f9fbf9;display:grid;gap:14px}
.time-plan-comparison-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.time-plan-comparison-head>div{display:grid;gap:3px}.time-plan-comparison-head>div>span{color:#7a867e;font-size:10px;font-weight:850;letter-spacing:.055em;text-transform:uppercase}.time-plan-comparison-head>div>strong{font-size:16px}
.time-plan-comparison-status{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap}.time-plan-comparison-status.attention{background:#fff4df;border:1px solid #ead3a1;color:#75551d}.time-plan-comparison-status.ok{background:#edf4ef;color:#4f6557}
.time-plan-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.time-plan-comparison-card{display:grid;gap:4px;padding:13px 14px;border:1px solid #e0e5e1;border-radius:13px;background:#fff}.time-plan-comparison-card>span{color:#748078;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.time-plan-comparison-card>strong{font-size:16px}.time-plan-comparison-card>small{color:var(--muted);line-height:1.4}
.time-plan-comparison-note{margin:0;padding-top:2px;color:#657169;font-size:11px;line-height:1.55}
@media(max-width:720px){.time-plan-comparison-head{align-items:flex-start;flex-direction:column}.time-plan-comparison-grid{grid-template-columns:1fr}}


/* v0.87.24 — planningafwijkingen direct zichtbaar in tijdregistratielijst */
.time-registration-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.time-control-badge{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:4px 9px;border-radius:999px;font-size:9.5px;font-weight:850;white-space:nowrap}
.time-control-badge.deviation{background:#fff4df;color:#7a591d;border:1px solid #edd7a5}
.time-control-badge.attention{background:#fff0e8;color:#7a462d;border:1px solid #ecc9b7}
.time-control-badge.ok{background:#edf5ef;color:#45614d;border:1px solid #d3e4d7}
.time-control-muted{color:#9aa29d}
.time-registration-table td:nth-child(7){min-width:150px}
.time-registration-table td:nth-child(7) small{max-width:220px}
@media(max-width:1180px){.time-registration-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.time-registration-summary{grid-template-columns:1fr}}

/* v0.87.27 — Medewerkers: compacte HR-lijst en rustige beheerheader */
.employees-body .employee-page-header{display:grid;grid-template-columns:minmax(0,.85fr) minmax(520px,1.15fr);gap:28px;align-items:start}
.employees-body .employee-header-copy{min-width:0;max-width:680px}
.employees-body .employee-header-context{min-width:0}
.employees-body .employee-context-switcher-slot{width:100%;display:block}
.employees-body .employee-context-switcher-slot .context-switcher{position:static;top:auto;right:auto;z-index:auto;width:100%;max-width:none;margin:0;padding:12px 14px;box-shadow:none;background:#f8faf8;backdrop-filter:none;opacity:1!important;transform:none!important;pointer-events:auto!important}
.employees-body .employee-context-switcher-slot .context-switcher form{display:grid;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) auto;gap:8px;align-items:center;width:100%}
.employees-body .employee-context-switcher-slot .context-switcher select,.employees-body .employee-context-switcher-slot .context-switcher select[name="organisation_id"],.employees-body .employee-context-switcher-slot .context-switcher select[name="mode"]{width:100%;min-width:0;max-width:none}
.employees-body .employee-context-switcher-slot .context-mode-note{position:static;grid-column:1/-1;width:100%;margin:2px 0 0;text-align:left}
.employee-admin-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:18px;align-items:start}
.employee-test-card{padding:0!important;overflow:hidden}.employee-test-guide>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;padding:20px 22px}.employee-test-guide>summary::-webkit-details-marker{display:none}.employee-test-guide>summary>span:first-child{display:grid;gap:4px}.employee-test-guide>summary strong{font-size:16px;color:#263029}.employee-test-guide>summary small{color:var(--muted);font-size:10px}.employee-test-guide>summary>span:last-child{font-size:20px;color:#617067;transition:transform .16s ease}.employee-test-guide[open]>summary>span:last-child{transform:rotate(45deg)}.employee-test-guide-body{display:grid;gap:8px;padding:0 22px 20px;border-top:1px solid #edf0ed}.employee-test-guide-body p{margin:14px 0 0;color:#5e6861;font-size:11px;line-height:1.55}
.employee-add-note{margin:0;color:#6f7972;font-size:10px;line-height:1.45}
.employee-list-panel .panel-heading{align-items:flex-start}.employee-list-count{display:flex;align-items:baseline;gap:6px;color:#637068}.employee-list-count strong{font-size:22px;color:#263029}.employee-list-count span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.employee-table-wrap{overflow-x:auto}.employee-directory-table{width:100%;min-width:980px;table-layout:auto}.employee-directory-table th,.employee-directory-table td{vertical-align:middle}.employee-directory-person{min-width:230px}.employee-directory-person strong,.employee-directory-person small,.employee-access-cell strong,.employee-access-cell small,.employee-hr-status span,.employee-hr-status small{display:block}.employee-directory-person small,.employee-access-cell small,.employee-hr-status small{margin-top:4px;color:#7a827d;font-size:9.5px;line-height:1.35}.employee-state{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;font-size:9.5px;font-weight:800}.employee-state.active{background:#edf5ef;color:#45614d}.employee-state.inactive{background:#f1f2f1;color:#727a74}.employee-access-cell{min-width:150px}.employee-hr-status{min-width:175px}.employee-hr-status span{font-weight:780}.employee-hr-status .ok{color:#3f6d4e}.employee-hr-status .missing{color:#8a5a2d}.employee-directory-actions{min-width:220px}.employee-directory-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.employee-open-button{text-decoration:none!important;white-space:nowrap}.employee-actions-menu{position:relative}.employee-actions-menu>summary{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border:1px solid #dce2dd;border-radius:9px;background:#fff;color:#405048;font-size:10px;font-weight:800;cursor:pointer;list-style:none}.employee-actions-menu>summary::-webkit-details-marker{display:none}.employee-actions-menu>div{position:absolute;right:0;top:calc(100% + 6px);z-index:20;display:grid;min-width:210px;padding:6px;border:1px solid #dfe4df;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(24,35,28,.12)}.employee-actions-menu a,.employee-actions-menu button{display:block;width:100%;box-sizing:border-box;border:0;border-radius:7px;background:transparent;padding:9px 10px;color:#35443b;font:inherit;font-size:10px;font-weight:750;text-align:left;text-decoration:none;cursor:pointer}.employee-actions-menu a:hover,.employee-actions-menu button:hover{background:#f3f6f3}.employee-actions-menu form{margin:0}
@media(max-width:1180px){.employees-body .employee-page-header{grid-template-columns:1fr}.employees-body .employee-context-switcher-slot .context-switcher form{grid-template-columns:1fr 1fr auto}.employee-admin-grid{grid-template-columns:1fr}}
@media(max-width:760px){.employees-body .employee-context-switcher-slot .context-switcher form{grid-template-columns:1fr}.employees-body .employee-context-switcher-slot .context-switcher-label{margin-bottom:4px}.employee-directory-table{min-width:860px}.employee-test-guide>summary{padding:16px 18px}.employee-test-guide-body{padding:0 18px 18px}}

/* v0.87.28 — medewerkergegevens: rustig overzicht */
.employee-payroll-page .section-nav.section-nav-payroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:8px}
.employee-payroll-page .section-nav.section-nav-payroll .section-nav-item{padding:8px 10px;font-size:11px}
.employee-payroll-page .settings-card-head>.status-chip{flex:0 0 auto}
.employee-payroll-secondary-action{margin-top:14px}
@media(max-width:700px){.employee-payroll-page .section-nav.section-nav-payroll{margin-left:0;margin-right:0}.employee-payroll-page .section-nav.section-nav-payroll .section-nav-item{font-size:11px}}

/* v0.87.29 · Medewerkergegevens > Tewerkstelling */
.employee-payroll-form-heading,.employee-payroll-history-heading{margin:20px 0 12px}.employee-payroll-form-heading h3,.employee-payroll-history-heading h3{margin:0 0 3px;font-size:16px}.employee-payroll-form-heading p,.employee-payroll-history-heading p{margin:0;color:var(--muted);font-size:12px}.employment-prefill-note{margin-bottom:14px}.employee-payroll-employment-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.employee-payroll-employment-form .wide,.employee-payroll-employment-form .employment-reason-field{grid-column:span 2}.employee-payroll-employment-form .form-actions{grid-column:1/-1}.employee-payroll-history-heading{padding-top:18px;border-top:1px solid #edf0ed}.employee-payroll-history-table{min-width:1080px}.employee-payroll-history-table td:nth-child(1){min-width:170px}.employee-payroll-history-table td:nth-child(2){min-width:90px}.employee-payroll-history-table td:nth-child(6){min-width:210px}.status-chip.future{background:#eef1f8;color:#53627d}.status-chip.neutral{background:#f1f3f1;color:#69726c}
@media(max-width:1050px){.employee-payroll-employment-form{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-payroll-employment-form .wide,.employee-payroll-employment-form .employment-reason-field{grid-column:1/-1}}
@media(max-width:700px){.employee-payroll-employment-form{grid-template-columns:1fr}.employee-payroll-employment-form .wide,.employee-payroll-employment-form .employment-reason-field{grid-column:auto}}

/* v0.87.30 · Medewerkergegevens payrollkoppeling */
.employee-payroll-link-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.employee-payroll-link-count{color:var(--muted);font-size:11px;font-weight:760}.employee-payroll-link-table td:first-child{min-width:180px}.employee-payroll-reference-code{font-size:12px;color:#5f6861;background:#f5f7f5;border:1px solid #e5e9e6;border-radius:6px;padding:3px 6px}.employee-payroll-link-card .employee-payroll-provider-note{max-width:900px}

/* v0.87.32 — Organisatiestructuur UX */
.organisational-structure-page .os-structure-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px}
.organisational-structure-page .os-structure-form .notes-field.wide{grid-column:span 2}
.organisational-structure-page .os-structure-form .form-actions{align-self:end}
.organisational-structure-page .settings-card{padding-top:20px;padding-bottom:20px}
.organisational-structure-page .os-structure-table td{vertical-align:middle}
.os-status{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.15}
.os-status-active{background:#eef4ef;color:#496451}
.os-status-future{background:#f4f0df;color:#776328}
.os-status-history{background:#f1f2f0;color:#70756f}
.os-unit-cell{display:grid;gap:2px;padding-left:calc(var(--os-depth,0) * 16px);position:relative}
.os-unit-cell::before{content:"";display:block;position:absolute;left:calc(var(--os-depth,0) * 16px - 10px);top:10px;width:7px;border-top:1px solid #cdd5cf;opacity:calc(min(var(--os-depth,0),1))}
.os-unit-cell small{color:#7a837d;font-size:10px;font-weight:600}
.os-history-note{padding:0;overflow:hidden}
.os-history-note summary{cursor:pointer;list-style:none;padding:15px 18px;font-weight:800;color:#33453a;font-size:12px}
.os-history-note summary::-webkit-details-marker{display:none}
.os-history-note summary::after{content:"+";float:right;color:#6f7b73;font-size:16px;line-height:1}
.os-history-note[open] summary::after{content:"−"}
.os-history-note p{padding:0 18px 16px;margin:0!important}
.os-stop-dialog{width:min(520px,calc(100vw - 32px));padding:0;border:0;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(29,40,32,.22)}
.os-stop-dialog::backdrop{background:rgba(24,31,26,.34);backdrop-filter:blur(2px)}
.os-stop-dialog form{padding:22px}
.os-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.os-dialog-head h2{margin:4px 0 4px;font-size:22px;color:#202720}
.os-dialog-head p{margin:0;color:#737b75;font-size:12px;line-height:1.5}
.os-dialog-close{border:0;background:transparent;color:#69726c;font-size:27px;line-height:1;cursor:pointer;padding:0 2px}
.os-dialog-field{display:grid;gap:7px;color:#3f4742;font-size:12px;font-weight:800}
.os-dialog-field textarea{width:100%;resize:vertical;min-height:92px;border:1px solid #d9dfda;border-radius:10px;padding:10px 11px;background:#fff;color:#20251f;font:inherit;font-size:13px;outline:none}
.os-dialog-field textarea:focus{border-color:#879b8c;box-shadow:0 0 0 3px rgba(126,145,131,.12)}
.os-dialog-help{margin:9px 0 0;color:#788079;font-size:11px;line-height:1.45}
.os-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}
@media(max-width:980px){.organisational-structure-page .os-structure-form{grid-template-columns:repeat(2,minmax(0,1fr))}.organisational-structure-page .os-structure-form .notes-field.wide{grid-column:1/-1}}
@media(max-width:620px){.organisational-structure-page .os-structure-form{grid-template-columns:1fr}.organisational-structure-page .os-structure-form .notes-field.wide{grid-column:auto}.os-dialog-actions{flex-direction:column-reverse}.os-dialog-actions button{width:100%}}

/* v0.87.35 · Goedkeuringen: HR-gerichte controleflow */
.approvals-page .week-jump-toolbar{padding:13px 16px;margin-bottom:14px}
.approvals-page .week-nav strong{font-size:14px}
.approval-control-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.approval-control-heading>div:first-child{max-width:760px}
.approval-control-status{display:grid;gap:4px;min-width:285px;max-width:420px;padding:12px 14px;border:1px solid #e0e5e1;border-left:4px solid #aeb8b1;border-radius:12px;background:#fbfcfb}
.approval-control-status strong{font-size:12px;color:#435047}.approval-control-status span,.approval-control-status small{font-size:10px;line-height:1.45;color:#737d76}
.approval-control-status.current{border-left-color:#75957e;background:#f5faf6}.approval-control-status.current strong{color:#496a52}
.approval-control-status.stale{border-left-color:#c59343;background:#fffaf0}.approval-control-status.stale strong{color:#815c20}
.approval-control-status.failed{border-left-color:#bb6c66;background:#fff7f6}.approval-control-status.failed strong{color:#914f4a}
.approval-control-status.running{border-left-color:#6e8799;background:#f5f8fa}.approval-control-status.running strong{color:#4d6678}
.approvals-page .approval-empty-state{min-height:88px;margin-top:16px;padding:18px}

.approval-manual-control{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.approval-manual-control summary{cursor:pointer;color:#56635b;font-size:12px;font-weight:800}.approval-manual-control>p{margin:8px 0 0;font-size:11px}.approval-manual-control[open] summary{color:#3f5847}
.approval-rule-note{padding-top:17px;padding-bottom:17px}.approval-rule-note h2{font-size:16px;margin-bottom:5px}.approval-rule-note p{max-width:1050px}
@media(max-width:860px){.approval-control-heading{flex-direction:column}.approval-control-status{width:100%;max-width:none;min-width:0}}

/* Approval flows UX */
.approval-flow-page .settings-empty.compact-empty-state{min-height:82px;padding:16px 20px}
.approval-flow-history .settings-card-head{align-items:flex-start}
.approval-flow-history-groups{display:grid;gap:22px}
.approval-flow-history-group{min-width:0}
.approval-flow-history-group>h3{margin:0 0 10px;font-size:14px;color:#263029}
.approval-flow-inline-empty{margin:0;padding:13px 14px;border:1px dashed #dfe4e0;border-radius:11px;background:#fbfcfb;color:#7a827c;font-size:11px}
.approval-flow-page .settings-table td>strong{display:block}
@media(max-width:620px){.approval-flow-page .settings-empty.compact-empty-state{min-height:72px;padding:14px}}

/* v0.87.41 — approval flow form alignment */
.approval-flow-page .approval-flow-form-grid{align-items:start}
.approval-flow-page .approval-flow-form-grid .form-actions{margin-top:0}

/* v0.87.48 · Saldi & rechten schaalbare lijst + export */
.leave-balance-title-row{align-items:center}.leave-balance-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.leave-balance-export-menu{position:relative}.leave-balance-export-menu>summary{list-style:none;cursor:pointer}.leave-balance-export-menu>summary::-webkit-details-marker{display:none}.leave-balance-export-menu form{position:absolute;right:0;top:calc(100% + 7px);z-index:30;width:260px;display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(30,38,31,.12)}.leave-balance-export-menu label{display:grid;gap:5px}.leave-balance-export-menu label>span{font-size:10px;font-weight:800;color:var(--muted)}.leave-balance-export-menu select{width:100%;border:1px solid #d7dbd5;border-radius:9px;padding:9px 30px 9px 10px;background:#fff;font:inherit}.leave-balance-export-menu form>div{display:flex;gap:8px;justify-content:flex-end}.leave-balance-filters{display:grid;grid-template-columns:2fr repeat(5,minmax(130px,1fr));gap:10px;align-items:end;margin:8px 0 16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafbf9}.leave-balance-filters label{display:grid;gap:5px;min-width:0}.leave-balance-filters label>span{font-size:10.5px;font-weight:800;color:var(--muted)}.leave-balance-filters input,.leave-balance-filters select{width:100%;min-width:0;border:1px solid #d7dbd5;border-radius:9px;padding:10px;background:#fff;font:inherit}.leave-balance-search{grid-column:span 2}.leave-balance-filter-footer{grid-column:1/-1;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:2px}.leave-balance-filter-actions{display:flex;gap:8px;flex-wrap:wrap}.leave-balance-page-size{display:flex!important;grid-template-columns:auto auto;align-items:center;gap:8px;margin-left:auto}.leave-balance-page-size select{width:auto;min-width:72px}.leave-balance-result-note{width:100%;color:var(--muted);font-size:10.5px;font-weight:700}.leave-balance-table{min-width:960px}.leave-balance-table td{vertical-align:top}.leave-balance-table td small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.leave-balance-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #e6ebe7;color:#69766e;font-size:11px}.leave-balance-pagination>span{min-width:116px;text-align:center}
@media(max-width:1280px){.leave-balance-filters{grid-template-columns:repeat(3,minmax(150px,1fr))}.leave-balance-search{grid-column:span 2}}
@media(max-width:760px){.leave-balance-title-row{align-items:flex-start}.leave-balance-head-actions{width:100%;justify-content:space-between}.leave-balance-export-menu form{right:auto;left:0}.leave-balance-filters{grid-template-columns:1fr}.leave-balance-search{grid-column:auto}.leave-balance-filter-footer{align-items:flex-start;flex-direction:column}.leave-balance-page-size{margin-left:0}.leave-balance-pagination{justify-content:space-between}.leave-balance-pagination>span{min-width:0}}

/* v0.87.50 · Afwezigheden: opbouw/kwartaalrechten en schaalbare vakantiebeheer-UX */
.settings-checkbox input[type="checkbox"]{
  display:block!important;
  flex:0 0 20px!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  margin:0!important;
  padding:0!important;
  -webkit-appearance:checkbox!important;
  appearance:auto!important;
  accent-color:#7e9183;
  cursor:pointer;
}
.settings-checkbox>span{white-space:normal!important;line-height:1.35;min-width:0}
.leave-cascade-toggle{align-self:stretch!important;padding:10px 12px!important;border:1px solid #dfe5e0;border-radius:11px;background:#fafcfb}
.leave-cascade-toggle>span{display:grid!important;gap:3px!important}
.leave-cascade-toggle>span strong{font-size:12px;color:#3f4742}.leave-cascade-toggle>span small{font-size:10px;font-weight:500;color:#737b75;line-height:1.4}
.leave-cascade-card.is-disabled{background:#fbfcfb}.leave-cascade-card.is-disabled .settings-card-head{margin-bottom:10px}.leave-cascade-empty{margin-top:4px}
.leave-external-tools{padding:0!important;overflow:hidden}
.leave-external-tools>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;cursor:pointer}
.leave-external-tools>summary::-webkit-details-marker{display:none}.leave-external-tools>summary>span:first-child{display:grid;gap:4px}.leave-external-tools>summary strong{font-size:16px;color:#1f2621}.leave-external-tools>summary small{font-size:11px;color:#737b75;font-weight:500}.leave-external-tools .details-chevron{font-size:20px;transition:transform .18s ease}.leave-external-tools[open] .details-chevron{transform:rotate(180deg)}
.leave-external-tools-body{padding:0 24px 22px;border-top:1px solid #edf0ed}.leave-external-tools-body>.settings-card-head{padding-top:20px}.leave-import-divider{height:1px;background:#edf0ed;margin:4px 0 0}
.leave-balance-filter-grid,.annual-leave-filter,.special-case-filter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:4px 0 10px;padding:14px;border:1px solid #e3e8e4;border-radius:12px;background:#fbfcfb;align-items:end}
.leave-balance-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.leave-balance-filter-grid .wide,.annual-leave-filter .wide,.special-case-filter .wide{grid-column:span 2}
.leave-balance-filter-grid label,.annual-leave-filter label,.special-case-filter label{display:grid;gap:6px;min-width:0;color:#3f4742;font-size:11px;font-weight:750}
.leave-balance-filter-grid input,.leave-balance-filter-grid select,.annual-leave-filter input,.annual-leave-filter select,.special-case-filter input,.special-case-filter select{width:100%;min-width:0;min-height:42px;border:1px solid #d9dfda;border-radius:10px;padding:8px 10px;background:#fff;color:#20251f;font:inherit;font-size:12px;outline:none}
.leave-balance-filter-grid input:focus,.leave-balance-filter-grid select:focus,.annual-leave-filter input:focus,.annual-leave-filter select:focus,.special-case-filter input:focus,.special-case-filter select:focus{border-color:#879b8c;box-shadow:0 0 0 3px rgba(126,145,131,.12)}
.leave-filter-actions,.annual-leave-filter .form-actions,.special-case-filter .form-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.leave-result-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 12px;color:#707970;font-size:11px}.leave-result-meta strong{color:#535d55}.leave-result-meta span{white-space:nowrap}
.settings-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px}.settings-pagination span{font-size:11px;color:#6c756e;font-weight:650}
.annual-leave-overview tr.is-selected td{background:#f6f9f6}.annual-leave-card-single{padding:0;border:0;background:transparent}.annual-leave-page #annual-leave-detail{scroll-margin-top:18px}
.special-leave-grid .notes-field{grid-column:span 2}
@media(max-width:1150px){.leave-balance-filter-grid,.annual-leave-filter,.special-case-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.leave-balance-filter-grid .wide,.annual-leave-filter .wide,.special-case-filter .wide{grid-column:span 2}}
@media(max-width:700px){.leave-balance-filter-grid,.annual-leave-filter,.special-case-filter{grid-template-columns:1fr}.leave-balance-filter-grid .wide,.annual-leave-filter .wide,.special-case-filter .wide,.special-leave-grid .notes-field{grid-column:auto}.leave-result-meta{align-items:flex-start;flex-direction:column}.settings-pagination{justify-content:space-between}.leave-external-tools>summary{padding:17px 18px}.leave-external-tools-body{padding:0 18px 18px}}


/* v0.87.51 · kwartaalrechten: uitlijning en werknemerssaldo */
.leave-period-entitlement-form{align-items:start}
.leave-period-entitlement-form label{align-self:stretch;grid-template-rows:minmax(18px,auto) 44px minmax(30px,auto);align-content:start}
.leave-period-entitlement-form label>input,.leave-period-entitlement-form label>select{min-height:44px;height:44px}
.leave-period-entitlement-form label>.field-help{margin-top:0;min-height:30px;align-self:start}
.leave-period-entitlement-form .form-actions{align-self:start;padding-top:25px}
.absence-balance-grid .period-balance-card small+small{margin-top:2px}
@media(max-width:900px){.leave-period-entitlement-form label{grid-template-rows:auto 44px auto}.leave-period-entitlement-form .form-actions{padding-top:0}}

/* v0.87.52 · Afwezigheid op planning, vervangingsopvolging en bijzondere vakantie polish */
.planning-replacement-summary{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);gap:18px;align-items:start;padding:18px 20px;border:1px solid #eadfca;background:#fffaf1}
.planning-replacement-summary-copy{display:grid;gap:5px}.planning-replacement-summary-copy h3{margin:0;font-size:18px;color:#493b27}.planning-replacement-summary-copy p{margin:0;color:#766a59;font-size:11px;line-height:1.5}
.planning-replacement-summary-list{display:grid;gap:8px}.planning-replacement-summary-list>a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:10px 12px;border:1px solid #eadfca;border-radius:10px;background:#fff;color:#344039;text-decoration:none}.planning-replacement-summary-list>a:hover{background:#fffdf8}.planning-replacement-summary-list strong{font-size:11px}.planning-replacement-summary-list span{font-size:10px;color:#6c756e}.planning-replacement-summary-list small{grid-column:2;grid-row:1/3;align-self:center;color:#8a641e;font-size:9px;font-weight:850}
.plan-absence-replacement{display:flex;align-items:flex-start;gap:7px;margin-top:7px;padding:7px 8px;border-radius:9px;border:1px solid #e6d7bb;background:#fff7e8;color:#705321}.plan-absence-replacement-icon{display:flex;align-items:center;justify-content:center;flex:0 0 18px;width:18px;height:18px;border-radius:50%;background:#a67826;color:#fff;font-size:11px;font-weight:900}.plan-absence-replacement>span:last-child{display:grid;gap:1px;min-width:0}.plan-absence-replacement strong{font-size:9px;line-height:1.25}.plan-absence-replacement small{font-size:8px;color:#7f6f54}.plan-absence-replacement.state-assigned,.plan-absence-replacement.state-no_replacement{border-color:#d7e5d9;background:#f1f7f2;color:#42624a}.plan-absence-replacement.state-assigned .plan-absence-replacement-icon,.plan-absence-replacement.state-no_replacement .plan-absence-replacement-icon{background:#6f8d76}.plan-absence-replacement.state-open_shift{border-color:#d9e2ea;background:#f3f7fa;color:#4d6476}.plan-absence-replacement.state-open_shift .plan-absence-replacement-icon{background:#71899b}
.plan-dialog-absence-alert{margin:0 24px 18px;padding:16px;border:1px solid #e6d7bb;border-radius:13px;background:#fff9ef}.plan-dialog-absence-alert.state-assigned,.plan-dialog-absence-alert.state-no_replacement{border-color:#d6e4d8;background:#f2f8f3}.plan-dialog-absence-alert.state-open_shift{border-color:#d8e2e9;background:#f4f8fb}.plan-dialog-absence-alert-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.plan-dialog-absence-alert-head>div{display:grid;gap:4px}.plan-dialog-absence-alert-head strong{font-size:15px;color:#2c352f}.plan-dialog-absence-alert-head p{margin:0;color:#69736c;font-size:11px;line-height:1.45}.plan-absence-state-chip{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#fff0d5;color:#8a641e;font-size:9px;font-weight:850;white-space:nowrap}.state-assigned .plan-absence-state-chip,.state-no_replacement .plan-absence-state-chip{background:#e7f2e9;color:#496b51}.state-open_shift .plan-absence-state-chip{background:#e9f0f5;color:#536d80}.plan-dialog-absence-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:13px}.plan-dialog-absence-actions form{margin:0}.plan-dialog-direct-replacement{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.plan-dialog-direct-replacement select{min-width:260px;min-height:42px;border:1px solid #d8ded9;border-radius:10px;background:#fff;padding:8px 32px 8px 10px;font:inherit}.plan-dialog-replacement-result{display:flex;align-items:center;gap:8px;margin-top:10px;padding:9px 10px;border:1px solid #dce7de;border-radius:10px;background:#fff}.plan-dialog-replacement-result strong{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:#7a847d}.plan-dialog-replacement-result span{font-size:11px;font-weight:800;color:#354239}
.dashboard-replacement-panel{margin-top:18px;padding:20px}.dashboard-replacement-panel .panel-heading{align-items:flex-start}.dashboard-replacement-count{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;border-radius:12px;background:#fff0d8;color:#855f1d;font-size:18px;font-weight:900}.dashboard-replacement-list{display:grid;gap:8px;margin-top:14px}.dashboard-replacement-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;border:1px solid #e6e9e6;border-radius:11px;background:#fbfcfb;color:inherit;text-decoration:none}.dashboard-replacement-item:hover{background:#f6f8f6}.dashboard-replacement-item>span{display:grid;gap:3px;min-width:0}.dashboard-replacement-item strong{font-size:12px}.dashboard-replacement-item small{color:#737d76;font-size:10px}.dashboard-replacement-item b{color:#77591f;font-size:10px;white-space:nowrap}.dashboard-replacement-more{margin:10px 2px 0;color:#717b74;font-size:10px}

.special-leave-grid{align-items:start}.special-leave-grid>label{display:grid;grid-template-rows:minmax(22px,auto) 46px minmax(26px,auto);align-content:start;gap:6px;min-width:0}.special-leave-grid>label>span{align-self:end}.special-leave-grid>label>input,.special-leave-grid>label>select{height:46px;min-height:46px}.special-leave-grid>label>.field-help{min-height:26px;margin:0;align-self:start}.special-leave-grid .form-actions{align-self:start;padding-top:28px}.special-kind-fields{align-items:start}.special-kind-fields>label:not(.settings-checkbox){display:grid;grid-template-rows:minmax(22px,auto) 46px;gap:6px;align-content:start;min-width:0}.special-kind-fields>label:not(.settings-checkbox)>input,.special-kind-fields>label:not(.settings-checkbox)>select{height:46px;min-height:46px}.special-kind-fields>.settings-checkbox{min-height:74px;align-self:stretch;display:flex;align-items:center;padding-top:24px}.special-leave-case-table-wrap{overflow-x:auto;max-width:100%}.special-leave-case-table{min-width:980px;table-layout:auto}.special-leave-case-table th:nth-child(1){min-width:250px}.special-leave-case-table th:nth-child(2){min-width:150px}.special-leave-case-table th:nth-child(7){min-width:210px}.special-leave-action-cell{min-width:210px;vertical-align:top!important}.special-confirm-details,.special-case-details{position:relative;min-width:190px}.special-confirm-details>summary,.special-case-details>summary{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border:1px solid #d9dfda;border-radius:9px;background:#f7f9f7;color:#354139;font-size:10px;font-weight:850;cursor:pointer;list-style:none}.special-confirm-details>summary::-webkit-details-marker,.special-case-details>summary::-webkit-details-marker{display:none}.special-confirm-details[open]>summary,.special-case-details[open]>summary{background:#edf3ee;border-color:#ccd8cf}.special-confirm-details .inline-special-confirm{display:grid;grid-template-columns:1fr;gap:9px;min-width:0;width:270px;margin-top:8px;padding:11px;border:1px solid #dfe5e0;border-radius:10px;background:#fbfcfb}.special-confirm-details .inline-special-confirm label{display:grid;gap:5px}.special-confirm-details .inline-special-confirm label>span{font-size:9px;font-weight:850;color:#69746d}.special-confirm-details .inline-special-confirm input{width:100%;min-width:0;min-height:38px}.special-case-details>div{display:grid;gap:8px;width:270px;margin-top:8px;padding:11px;border:1px solid #dfe5e0;border-radius:10px;background:#fbfcfb}.special-case-details span{display:grid;gap:2px;font-size:10px;color:#4e5a52;overflow-wrap:anywhere}.special-case-details span strong{font-size:8px;text-transform:uppercase;letter-spacing:.04em;color:#7d877f}
@media(max-width:1100px){.planning-replacement-summary{grid-template-columns:1fr}.plan-dialog-absence-alert{margin-left:16px;margin-right:16px}.special-leave-grid>label{grid-template-rows:auto 46px auto}.special-leave-grid .form-actions{padding-top:0}}
@media(max-width:700px){.plan-dialog-absence-alert-head{flex-direction:column}.plan-dialog-absence-actions{align-items:stretch;flex-direction:column}.plan-dialog-absence-actions form,.plan-dialog-absence-actions a,.plan-dialog-direct-replacement,.plan-dialog-direct-replacement select,.plan-dialog-direct-replacement button{width:100%}.dashboard-replacement-item{align-items:flex-start;flex-direction:column}.special-leave-case-table{min-width:900px}.special-kind-fields>.settings-checkbox{padding-top:0;min-height:52px}}

/* v0.87.54 · vervangingsacties visueel gelijkgetrokken */
.plan-dialog-absence-actions .replacement-no-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 15px;border-color:#ccd9cf;background:#f4f8f4;color:#3f5f47;font-weight:800;box-shadow:none}
.plan-dialog-absence-actions .replacement-no-button:hover{border-color:#b9cbbd;background:#eaf2eb}
.replacement-no-button-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:#76907c;color:#fff;font-size:12px;font-weight:900;line-height:1}
.plan-dialog-absence-actions .replacement-reopen-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 15px;font-weight:800}
@media(max-width:700px){.plan-dialog-absence-actions .replacement-no-button,.plan-dialog-absence-actions .replacement-reopen-button{width:100%}}


/* v0.87.56 — Dienst bewerken volledig binnen de viewport */
.plan-edit-dialog{
    box-sizing:border-box;
    width:min(980px,calc(100vw - 32px));
    max-width:calc(100vw - 32px);
    max-height:min(92vh,900px);
    overflow:hidden;
}
@supports (width:100dvw){
    .plan-edit-dialog{
        width:min(980px,calc(100dvw - 32px));
        max-width:calc(100dvw - 32px);
        max-height:min(92dvh,900px);
    }
}
.plan-dialog-shell{
    width:100%;
    min-width:0;
    max-width:100%;
    max-height:min(92vh,900px);
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
}
@supports (height:100dvh){
    .plan-dialog-shell{max-height:min(92dvh,900px)}
}
.plan-dialog-header,
.plan-dialog-form,
.plan-dialog-section,
.plan-dialog-danger-zone,
.plan-dialog-absence-alert{
    box-sizing:border-box;
    min-width:0;
    max-width:100%;
}
.plan-dialog-form{overflow:visible}
.plan-dialog-grid,
.plan-dialog-grid-4{
    width:100%;
    min-width:0;
    max-width:100%;
}
.plan-dialog-grid>*{min-width:0;max-width:100%}
.plan-dialog-grid input,
.plan-dialog-grid select,
.plan-dialog-delete input{
    box-sizing:border-box;
    max-width:100%;
}
.plan-dialog-direct-replacement{min-width:0;max-width:100%}
.plan-dialog-direct-replacement select{max-width:100%;min-width:min(260px,100%)}
.plan-dialog-actions{
    position:sticky;
    bottom:0;
    z-index:3;
    margin:0 -22px -20px;
    padding:12px 22px 14px;
    border-top:1px solid #e7ebe7;
    background:rgba(255,255,255,.98);
    box-shadow:0 -8px 18px rgba(29,40,32,.06);
}
@media(max-width:1400px){
    .plan-dialog-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
    .plan-edit-dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px)}
    .plan-dialog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .plan-dialog-span-all{grid-column:1/-1}
}
@media(max-width:760px){
    .plan-edit-dialog{width:calc(100vw - 18px);max-width:calc(100vw - 18px);max-height:94vh}
    .plan-dialog-shell{max-height:94vh}
    .plan-dialog-grid,.plan-dialog-grid-4{grid-template-columns:1fr}
    .plan-dialog-span-2,.plan-dialog-span-all{grid-column:auto}
    .plan-dialog-actions{
        margin:0 -16px -14px;
        padding:12px 16px 14px;
    }
}

/* v0.87.57 — planningweergave, Flex-combobox en open-dienstcontext */
.flex-combobox{position:relative;min-width:0;width:100%}
.flex-combobox-native{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.flex-combobox-button{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #dbe1dc;border-radius:10px;padding:9px 12px;background:#fff;color:var(--text);font:inherit;text-align:left;cursor:pointer}
.flex-combobox-button:hover{border-color:#b9c6bb}.flex-combobox-button:focus-visible{outline:2px solid rgba(112,139,118,.22);outline-offset:1px;border-color:#9daf9f}
.flex-combobox-button>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flex-combobox-button>b{font-size:15px;color:#647168}.flex-combobox-button.is-placeholder>span{color:#727a74}
.flex-combobox-panel{position:fixed;z-index:10050;display:flex;flex-direction:column;overflow:hidden;border:1px solid #d8ded9;border-radius:14px;background:#fff;box-shadow:0 18px 50px rgba(25,35,28,.20)}
.flex-combobox-search-wrap{padding:10px;border-bottom:1px solid #edf0ed;background:#fbfcfb}.flex-combobox-search{width:100%;min-height:40px;border:1px solid #dce2dd;border-radius:9px;padding:8px 10px;background:#fff;font:inherit;color:var(--text)}
.flex-combobox-options{overflow:auto;padding:6px;overscroll-behavior:contain}.flex-combobox-option{width:100%;display:grid;gap:2px;border:0;border-radius:9px;padding:9px 10px;background:transparent;color:#253028;text-align:left;font:inherit;cursor:pointer}.flex-combobox-option:hover:not(:disabled){background:#f1f5f1}.flex-combobox-option[aria-selected="true"]:not(.is-placeholder){background:#eef4ef}.flex-combobox-option.is-disabled{color:#9ba39d;background:#fafbfa;cursor:not-allowed}.flex-combobox-option-main{font-size:11px;font-weight:760;line-height:1.35}.flex-combobox-option small{font-size:9.5px;line-height:1.4;color:#7a847d}.flex-combobox-option.is-disabled small{color:#a0a7a2}.flex-combobox-empty{padding:14px 12px;color:#768078;font-size:10px}

.open-shifts-page .open-shift-fields-advanced{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;align-items:start!important}
.open-shifts-page .open-shift-fields-advanced .open-shift-camp-field,.open-shifts-page .open-shift-fields-advanced .open-shift-night-field{grid-column:auto!important;grid-row:1!important}
.open-shifts-page .open-shift-fields-advanced .open-shift-sleeping-field{grid-column:2!important;grid-row:2!important}
.open-shifts-page .open-shift-fields-advanced label>span{min-height:0!important;align-items:center!important}
@media(max-width:700px){.open-shifts-page .open-shift-fields-advanced{grid-template-columns:1fr!important}.open-shifts-page .open-shift-fields-advanced .open-shift-camp-field,.open-shifts-page .open-shift-fields-advanced .open-shift-night-field,.open-shifts-page .open-shift-fields-advanced .open-shift-sleeping-field{grid-column:auto!important;grid-row:auto!important}}

.planning-display-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid #dfe5e0;border-radius:11px;background:#f6f8f6}
.planning-display-toggle a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 11px;border-radius:8px;color:#66736a;font-size:9.5px;font-weight:800;text-decoration:none}
.planning-display-toggle a.is-active{background:#fff;color:#314438;box-shadow:0 1px 4px rgba(37,52,42,.10)}
.planning-section-head .planning-view-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.planning-list{display:grid;gap:12px}.planning-list-member{border:1px solid #e2e7e3;border-radius:14px;overflow:hidden;background:#fff}.planning-list-member-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;background:#f7f9f7;border-bottom:1px solid #e7ebe8}.planning-list-member-head>div{display:grid;gap:2px;min-width:0}.planning-list-member-head strong{display:block;font-size:12px;line-height:1.25}.planning-list-member-head small{display:block;color:#6f7972;font-size:9px;line-height:1.3;overflow-wrap:anywhere}.planning-list-member-head>span{flex:0 0 auto}.planning-list-days{display:grid}.planning-list-day{display:grid;grid-template-columns:118px minmax(0,1fr);border-bottom:1px solid #edf0ee}.planning-list-day:last-child{border-bottom:0}.planning-list-date{display:grid;align-content:start;gap:2px;padding:9px 12px;background:#fbfcfb;border-right:1px solid #edf0ee}.planning-list-date strong{font-size:10px}.planning-list-date span{font-size:9px;color:#78827b}.planning-list-day-content{padding:7px 10px}.planning-list-empty{display:flex;align-items:center;min-height:38px;color:#89918c;font-size:9.5px}.planning-list-segments{display:grid;gap:6px}.planning-list-segment{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(120px,.8fr) minmax(150px,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid #e4e8e5;border-radius:10px;background:#fff}.planning-list-segment-main{display:grid;gap:2px}.planning-list-segment-main strong{font-size:10.5px}.planning-list-segment-main span,.planning-list-segment-unit,.planning-list-segment-status{font-size:9px;color:#6f7972}.planning-list-segment-status{display:flex;gap:5px;flex-wrap:wrap}.planning-list-segment .secondary-button{white-space:nowrap;padding:7px 10px;font-size:8.5px}
@media(max-width:900px){.planning-list-segment{grid-template-columns:1fr auto}.planning-list-segment-unit,.planning-list-segment-status{grid-column:1 / 2}.planning-list-day{grid-template-columns:96px minmax(0,1fr)}}
@media(max-width:620px){.planning-list-day{grid-template-columns:1fr}.planning-list-date{border-right:0;border-bottom:1px solid #edf0ee}.planning-list-segment{grid-template-columns:1fr}.planning-list-segment-unit,.planning-list-segment-status{grid-column:auto}.planning-list-segment .secondary-button{width:100%;text-align:center}}
.plan-dialog-direct-replacement .flex-combobox{width:auto;min-width:min(360px,100%);flex:1 1 360px}
.open-shifts-page .open-shift-direct-form label .flex-combobox{width:100%}
@media(max-width:700px){.plan-dialog-direct-replacement .flex-combobox{width:100%;min-width:0}}
.flex-combobox-options{flex:1 1 auto;min-height:0}

/* v0.87.58 — leesbare planningexport en verfijnde lijstweergave */

/* v0.87.60 · Wettelijke vakantie: bronroutes, import en uitgelijnd dossier */
.annual-leave-principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.annual-leave-important{padding:15px 17px;border:1px solid #dfe7e1;border-radius:12px;background:#f7faf7}
.annual-leave-important strong{display:block;margin-bottom:4px;color:#263229;font-size:13px}.annual-leave-important p{margin:0;color:#59645d;line-height:1.55}
.annual-leave-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.annual-source-option{display:flex;flex-direction:column;min-width:0;padding:17px;border:1px solid #dfe6e1;border-radius:14px;background:#fbfcfb}
.annual-source-option>p{margin:11px 0 14px;color:#647068;line-height:1.5;font-size:12px}.annual-source-option>a{align-self:flex-start;margin-top:auto}
.annual-source-title{display:flex;align-items:center;gap:10px}.annual-source-title>div{display:grid;gap:2px}.annual-source-title strong{font-size:14px;color:#222b25}.annual-source-title small{font-size:11px;color:#718077}
.source-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#edf4ee;color:#496353;font-size:17px;font-weight:800}
.annual-source-option dl{display:grid;gap:6px;margin:0 0 14px}.annual-source-option dl>div{display:flex;justify-content:space-between;gap:12px;padding-top:6px;border-top:1px solid #edf0ed;font-size:11px}.annual-source-option dt{color:#6b756e}.annual-source-option dd{margin:0;text-align:right;color:#28322b;font-weight:750}
.annual-source-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:auto}.annual-source-actions form{margin:0}
.annual-import-form{display:grid;gap:10px;margin-top:auto}.annual-import-form label{display:grid;gap:6px;font-size:11px;font-weight:750;color:#424c45}.annual-import-form input[type=file]{width:100%;min-width:0;padding:8px;border:1px solid #dbe2dd;border-radius:10px;background:#fff;font:inherit;font-size:11px}
.annual-import-preview{margin-top:18px;padding-top:18px;border-top:1px solid #e4e9e5}.annual-import-preview-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}.annual-import-preview-head h3{margin:0 0 4px;font-size:16px}.annual-import-preview-head p{margin:0;color:#6a756e;font-size:11px}
.annual-leave-overview td:nth-child(5) strong{display:block}.annual-leave-overview td:nth-child(5) small{display:block;margin-top:3px;color:#748078;font-size:10px}
.annual-detail-status{display:grid;justify-items:end;gap:5px}.annual-detail-status small{font-size:10px;color:#6d786f;font-weight:700}
.annual-leave-detail-form{display:grid;gap:14px}.annual-leave-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.annual-field{display:grid;grid-template-rows:auto 44px auto;gap:6px;min-width:0}.annual-field>span{align-self:end;min-height:18px;color:#465149;font-size:11px;font-weight:800}.annual-field input,.annual-field select{width:100%;min-width:0;height:44px;border:1px solid #d9dfda;border-radius:10px;padding:9px 11px;background:#fff;color:#1f2722;font:inherit;font-size:12px}.annual-field small{min-height:30px;color:#758078;font-size:10px;line-height:1.4}
.annual-source-reference{grid-column:span 2}.annual-reason{grid-column:1/-1}.annual-reason small{min-height:0}
.annual-leave-detail-form .annual-leave-check{align-self:stretch;min-height:68px;margin-top:24px}.annual-leave-detail-form [hidden]{display:none!important}
.annual-detail-actions{display:flex;justify-content:flex-start;padding-top:2px}.annual-detail-actions .button{min-width:190px}
.annual-external-conflict{margin-top:14px;padding:13px 15px;border:1px solid #eadcae;border-radius:11px;background:#fff9e8}.annual-external-conflict strong{display:block;margin-bottom:3px;color:#70591c}.annual-external-conflict p{margin:0;color:#665d43;font-size:11px;line-height:1.45}
@media(max-width:1150px){.annual-leave-source-grid{grid-template-columns:1fr 1fr}.annual-leave-source-grid .annual-source-option:last-child{grid-column:1/-1}.annual-leave-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.annual-source-reference{grid-column:span 1}.annual-reason{grid-column:1/-1}}
@media(max-width:760px){.annual-leave-principles,.annual-leave-source-grid,.annual-leave-form-grid{grid-template-columns:1fr}.annual-leave-source-grid .annual-source-option:last-child,.annual-reason{grid-column:auto}.annual-import-preview-head{flex-direction:column}.annual-detail-status{justify-items:start}.annual-leave-detail-form .annual-leave-check{margin-top:0}.annual-detail-actions .button{width:100%}}
.annual-leave-detail-form[data-worker-category="worker"] .annual-field[data-worker-category="worker"]{grid-column:span 2}
.annual-leave-detail-form[data-worker-category="worker"] .annual-source-reference{grid-column:1/-1}
@media(max-width:1150px){.annual-leave-detail-form[data-worker-category="worker"] .annual-field[data-worker-category="worker"],.annual-leave-detail-form[data-worker-category="worker"] .annual-source-reference{grid-column:auto}}

/* v0.87.61 · Wettelijke vakantie: lokale bevestigingsfeedback */
.annual-confirmation-anchor{scroll-margin-top:18px}
.annual-confirmation-state{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:14px 16px;border:1px solid #d8e5db;border-radius:12px;background:#f5faf6}
.annual-confirmation-state.is-fresh{box-shadow:0 0 0 3px rgba(86,125,96,.08)}
.annual-confirmation-state-main{display:flex;align-items:center;gap:11px;min-width:0}.annual-confirmation-state-main>div{display:grid;gap:2px}.annual-confirmation-state-main strong{font-size:12px;color:#253129}.annual-confirmation-state-main p{margin:0;color:#66736a;font-size:10.5px;line-height:1.4}
.annual-confirmation-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;color:#647168;font-size:10px;font-weight:700}
@media(max-width:760px){.annual-confirmation-state{align-items:flex-start;flex-direction:column}.annual-confirmation-meta{justify-content:flex-start}}

/* v0.87.67 · Wettelijke vakantie: geselecteerd importbestand verwijderen */
.annual-import-upload-control{display:grid;gap:8px}
.annual-import-remove-file{justify-self:center}
.annual-import-remove-file[hidden]{display:none!important}

/* v0.87.62 · Wettelijke vakantie: schaalbare importpreview en CSV-sleepzone */
.annual-import-dropzone{position:relative;display:grid!important;justify-items:center;align-content:center;gap:4px;min-height:126px;padding:16px;border:1.5px dashed #bfc9c1;border-radius:12px;background:#fafcf9;text-align:center;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.annual-import-dropzone:hover,.annual-import-dropzone.is-dragging{border-color:#83998a;background:#f4f8f5;box-shadow:0 0 0 3px rgba(126,145,131,.08)}
.annual-import-dropzone.has-file{border-style:solid;border-color:#a7baac;background:#f5faf6}
.annual-import-dropzone input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.annual-import-dropzone input[type=file]:disabled{cursor:not-allowed}
.annual-import-dropzone>strong{font-size:12px;color:#344038}.annual-import-dropzone>span:not(.annual-import-drop-icon){font-size:10.5px;color:#778179;font-weight:500}.annual-import-dropzone>small{max-width:100%;font-size:10.5px;color:#647168;font-weight:750;overflow-wrap:anywhere}
.annual-import-drop-icon{display:grid;place-items:center;width:32px;height:32px;margin-bottom:2px;border-radius:9px;background:#edf4ee;color:#4d6856;font-size:17px;font-weight:800}
.annual-import-preview{scroll-margin-top:18px}.annual-source-option#annual-leave-import{scroll-margin-top:18px}.annual-import-feedback{margin:0 0 10px;font-size:12.5px;line-height:1.45}
.annual-import-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
.annual-import-summary>div{display:grid;gap:2px;padding:11px 13px;border:1px solid #e1e6e2;border-radius:11px;background:#fafbfa}.annual-import-summary span{font-size:9.5px;color:#707b73;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.annual-import-summary strong{font-size:17px;color:#28322b}.annual-import-summary .is-ok{background:#f6faf7}.annual-import-summary .is-unchanged{background:#f7f8f7}.annual-import-summary .is-warning{background:#fffaf0}.annual-import-summary .is-error{background:#fff7f7}
.annual-import-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(150px,190px) minmax(120px,150px);gap:10px;align-items:end;margin-bottom:9px}.annual-import-toolbar label{display:grid;gap:5px;min-width:0}.annual-import-toolbar label>span{font-size:9.5px;color:#657168;font-weight:800}.annual-import-toolbar input,.annual-import-toolbar select{width:100%;height:38px;min-width:0;padding:7px 10px;border:1px solid #d9dfda;border-radius:9px;background:#fff;color:#202922;font:inherit;font-size:11px}
.annual-import-result-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:7px 0 9px;color:#748078;font-size:10px}.annual-import-result-meta strong{color:#344038;font-size:10.5px}
.annual-import-table td small{display:block;margin-top:3px;color:#768179;font-size:9.5px;overflow-wrap:anywhere}.annual-import-table td:nth-child(5)>strong{display:block}.annual-import-message{min-width:220px;max-width:420px;color:#5d6861;font-size:12.5px;line-height:1.45;white-space:normal}
.annual-import-pagination{margin-top:12px}.annual-import-pagination button:disabled{opacity:.45;cursor:not-allowed}.annual-import-empty{margin-top:8px}.annual-import-empty[hidden]{display:none!important}
@media(max-width:760px){.annual-import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.annual-import-toolbar{grid-template-columns:1fr}.annual-import-result-meta{align-items:flex-start;flex-direction:column}.annual-import-pagination{justify-content:space-between;width:100%}}
.annual-import-hint{display:grid;gap:3px;padding:9px 11px;border:1px solid #e0e6e1;border-radius:10px;background:#fafcfa;color:#657168;font-size:10px;line-height:1.45}.annual-import-hint strong{color:#3c4a40;font-size:10.5px}.annual-import-preview-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.annual-import-preview-title h3{margin:0}.annual-import-preview-title .status-chip{font-size:9px}

/* v0.87.69 — wettelijke vakantie: conflictbeslissing en zichtbare importstatus */
#annual-leave-source{scroll-margin-top:18px}
.annual-leave-source-card>.annual-import-feedback{margin:0 0 16px;padding:12px 14px;font-size:11.5px;line-height:1.45}
.annual-conflict-result>div:nth-child(2){background:#f8faf8}
.annual-conflict-result>div:nth-child(3){background:#fff9e8;border-color:#eadcae}
.annual-conflict-resolution{display:grid;gap:12px;margin-top:12px;padding:15px;border:1px solid #dfe8e1;border-radius:11px;background:#f8fbf8}
.annual-conflict-resolution label span{display:block;margin-bottom:5px;font-size:11px;font-weight:700}
.annual-conflict-resolution input{width:100%;min-height:42px;border:1px solid #d8ded9;border-radius:9px;padding:8px 10px;background:#fff;font:inherit}
.annual-conflict-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.annual-conflict-help{margin:0;color:#66736a;font-size:12.5px;line-height:1.45}
@media(max-width:700px){.annual-conflict-actions{display:grid;grid-template-columns:1fr}.annual-conflict-actions .button{width:100%}}

/* v0.87.72 — bronconflict: bronkeuze expliciet maken */
.annual-source-choice-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.annual-source-choice-summary>div{display:grid;gap:3px;padding:10px 12px;border:1px solid #dfe8e1;border-radius:9px;background:#fff}
.annual-source-choice-summary span{font-size:10.5px;font-weight:700;color:#66736a;text-transform:uppercase;letter-spacing:.03em}
.annual-source-choice-summary strong{font-size:12.5px;overflow-wrap:anywhere}
.annual-source-choice-summary small{font-size:10.5px;color:#66736a;overflow-wrap:anywhere}
@media(max-width:700px){.annual-source-choice-summary{grid-template-columns:1fr}}

/* v0.87.76 · afwijkingen schaalbare filters en paginering */
.deviation-panel-heading{align-items:center}
.deviation-filter-count{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border-radius:999px;background:#eef3ef;color:#53675a;font-size:10px;font-weight:800;white-space:nowrap}
.deviation-filter-panel{display:grid;grid-template-columns:minmax(220px,1.35fr) repeat(3,minmax(155px,1fr));gap:12px;align-items:end;margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fafbf9}
.deviation-filter-panel label{display:grid;gap:6px;min-width:0}.deviation-filter-panel label>span{color:var(--muted);font-size:10px;font-weight:800}
.deviation-filter-panel input,.deviation-filter-panel select{width:100%;min-width:0;min-height:42px;box-sizing:border-box;border:1px solid #dcdeda;border-radius:10px;padding:8px 10px;background:#fff;color:var(--text);font:inherit}
.deviation-filter-search{grid-column:auto}.deviation-filter-actions{display:flex;align-items:center;gap:8px;min-height:42px}.deviation-filter-actions .primary-button,.deviation-filter-actions .secondary-button{min-height:42px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}
.deviation-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;color:var(--muted);font-size:11px}.deviation-results-head>span{font-weight:800;color:#59635d}.deviation-results-head small{font-size:10px}.deviation-pagination{margin-top:16px;justify-content:flex-end}
@media(max-width:1280px){.deviation-filter-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.deviation-filter-search{grid-column:span 2}}
@media(max-width:900px){.deviation-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.deviation-filter-search{grid-column:span 2}.deviation-results-head{align-items:flex-start;flex-direction:column}.deviation-pagination{justify-content:flex-start}}
@media(max-width:600px){.deviation-filter-panel{grid-template-columns:1fr}.deviation-filter-search{grid-column:auto}.deviation-filter-actions{flex-direction:column;align-items:stretch}.deviation-filter-actions .primary-button,.deviation-filter-actions .secondary-button{width:100%}}

/* v0.87.77 — HR-guidance for deviations and safe approval decisions */
.deviation-hr-guide,.approval-hr-guide{display:flex;align-items:flex-start;gap:10px;margin:14px 0 4px;padding:12px 14px;border:1px solid #dfe6e0;border-radius:12px;background:#f7faf7;color:#59645c;font-size:11px;line-height:1.5}.deviation-hr-guide strong,.approval-hr-guide strong{color:#34463a;white-space:nowrap}.deviation-related-badge{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eef1f6;color:#596779;font-size:10px;font-weight:800}.deviation-follow-up{display:grid;grid-template-columns:auto 1fr;gap:6px 8px;margin-top:9px;padding:9px 10px;border-left:3px solid #cbd6cd;background:#f8faf8;border-radius:0 9px 9px 0;font-size:10px;line-height:1.45;color:#667169}.deviation-follow-up strong{color:#435249}.deviation-row{align-items:start}
.approval-decision{width:100%;border:1px solid #dfe4e0;border-radius:12px;background:#fafbf9;overflow:hidden}.approval-decision>summary,.approval-withdraw>summary{cursor:pointer;list-style:none;font-size:11px;font-weight:800;color:#4f6255}.approval-decision>summary{padding:11px 13px}.approval-decision>summary::-webkit-details-marker,.approval-withdraw>summary::-webkit-details-marker{display:none}.approval-decision>summary:after,.approval-withdraw>summary:after{content:'›';float:right;transform:rotate(90deg);transition:transform .15s ease}.approval-decision[open]>summary:after,.approval-withdraw[open]>summary:after{transform:rotate(-90deg)}.approval-decision-box{display:grid;gap:12px;padding:0 13px 13px;border-top:1px solid #e8ebe8}.approval-decision-box>strong{margin-top:12px;font-size:11px;color:#34463a}.approval-decision-box dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.approval-decision-box dl>div{display:grid;gap:2px;padding:8px 9px;border:1px solid #eceeeb;border-radius:9px;background:#fff}.approval-decision-box dt{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#858d87}.approval-decision-box dd{margin:0;font-size:11px;font-weight:750;color:#303a33}.approval-decision-box>p{margin:0;font-size:10px;line-height:1.5;color:#6e776f}.approval-decision-box form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:end}.approval-decision-box label,.approval-withdraw label{display:grid;gap:5px;color:#59645c;font-size:10px;font-weight:750}.approval-decision-box label span small{font-weight:500;color:#8b918d}.approval-withdraw{min-width:185px}.approval-withdraw>summary{padding:7px 9px;border:1px solid #dfe4e0;border-radius:9px;background:#fff;white-space:nowrap}.approval-withdraw form{display:grid;gap:8px;min-width:300px;margin-top:8px;padding:11px;border:1px solid #e5e8e5;border-radius:10px;background:#fafbf9}.approval-withdraw form p{margin:0;font-size:10px;line-height:1.45;color:#4f5c53}.approval-withdraw form input{min-height:38px;border:1px solid #dcdeda;border-radius:9px;padding:8px 10px;font:inherit}.approval-withdraw form>small{font-size:9px;line-height:1.45;color:#7d857f}.approval-reviewed-table td small{display:block;margin-top:3px;color:#7c847e;font-size:9px;line-height:1.35}.approval-reviewed-table td>strong{display:block}
@media(max-width:860px){.deviation-hr-guide,.approval-hr-guide{flex-direction:column;gap:4px}.approval-decision-box dl{grid-template-columns:1fr}.approval-decision-box form{grid-template-columns:1fr!important}.approval-withdraw form{min-width:0}.approval-reviewed-table{min-width:920px}}

/* v0.87.78 — approvals context, visible audit trail and payroll correction guidance */
.approval-decision-box dd small{display:block;margin-top:3px;color:#7b857e;font-size:9px;font-weight:600;overflow-wrap:anywhere}
.approval-decision-box .approval-decision-wide{grid-column:1/-1}
.approval-action-stack{display:grid;gap:8px;min-width:210px}
.approval-correction-required{display:grid;gap:7px;min-width:220px;padding:10px;border:1px solid #eadfc2;border-radius:10px;background:#fffaf0}
.approval-correction-required>strong{font-size:10.5px;color:#6f5520}
.approval-correction-required>small{font-size:9px;line-height:1.45;color:#75684c}
.approval-correction-required .secondary-button{width:max-content;min-height:34px;padding:7px 9px;text-decoration:none}
.approval-history{margin-top:8px;border:1px solid #e3e8e4;border-radius:10px;background:#fff;overflow:hidden}
.approval-history>summary{cursor:pointer;list-style:none;padding:8px 10px;color:#536158;font-size:9.5px;font-weight:800}
.approval-history>summary::-webkit-details-marker{display:none}
.approval-history>summary span{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:5px;padding:0 5px;border-radius:999px;background:#eef3ef;color:#526157;font-size:8.5px}
.approval-history-list{display:grid;gap:7px;padding:0 9px 9px;border-top:1px solid #edf0ed}
.approval-history-item{display:grid;gap:3px;padding:8px 0;border-bottom:1px solid #eef1ee}.approval-history-item:last-child{border-bottom:0}
.approval-history-item>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.approval-history-item strong{font-size:9.5px;color:#39483f}.approval-history-item small{font-size:8.5px;color:#828a84;white-space:nowrap}.approval-history-item p{margin:0;font-size:8.8px;line-height:1.4;color:#68736c;overflow-wrap:anywhere}
.approval-withdraw form p small{display:block;margin-top:2px;color:#7d857f;font-size:9px;overflow-wrap:anywhere}
.payroll-correction-manual{margin-top:10px;width:max-content;max-width:100%;border:1px solid var(--line);border-radius:10px;background:#fafbf9}
.payroll-correction-manual>summary{cursor:pointer;list-style:none;padding:9px 11px;font-size:10px;font-weight:800;color:#59665d}.payroll-correction-manual>summary::-webkit-details-marker{display:none}.payroll-correction-manual[open]{width:min(560px,100%)}.payroll-correction-manual>p{margin:0;padding:0 11px 8px;font-size:10px;line-height:1.45}.payroll-correction-manual .payroll-scan-form{padding:0 11px 11px}
@media(max-width:860px){.approval-decision-box .approval-decision-wide{grid-column:auto}.approval-correction-required{min-width:0}.approval-action-stack{min-width:0}.approval-history-item>div{align-items:flex-start;flex-direction:column;gap:2px}.payroll-correction-manual{width:100%}}

/* v0.87.81 — Overuren & inhaalrust: HR-first workflow and clearer decision context */
.overtime-hr-task{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:18px;align-items:stretch;margin:0 0 16px;padding:16px 18px;border:1px solid #cfded3;border-radius:14px;background:#f3f8f4;box-shadow:0 1px 0 rgba(32,52,38,.03)}
.overtime-hr-task>div:first-child{display:grid;gap:5px;align-content:center}.overtime-task-kicker{font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#718078}.overtime-hr-task strong{font-size:17px;line-height:1.2;color:#25342a}.overtime-hr-task p{margin:0;color:#667169;font-size:11px;line-height:1.5}
.overtime-task-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.overtime-task-stats span{display:grid;gap:2px;align-content:center;padding:10px 11px;border:1px solid #e0e7e2;border-radius:10px;background:#fff;color:#778079;font-size:9px;font-weight:700}.overtime-task-stats b{font-size:12px;color:#35463b}
.overtime-reanalysis-panel{margin:0 0 18px;border:1px solid #e1e6e2;border-radius:11px;background:#fbfcfb;overflow:hidden}.overtime-reanalysis-panel>summary,.overtime-warning>details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:11px 13px;color:#4e5f54}.overtime-reanalysis-panel>summary::-webkit-details-marker,.overtime-warning>details>summary::-webkit-details-marker{display:none}.overtime-reanalysis-panel>summary>span:first-child,.overtime-warning>details>summary>span:first-child{display:grid;gap:2px}.overtime-reanalysis-panel>summary strong,.overtime-warning>details>summary strong{font-size:11px}.overtime-reanalysis-panel>summary small,.overtime-warning>details>summary small{font-size:9px;color:#7a847d;font-weight:600}.overtime-reanalysis-panel[open]{padding-bottom:12px}.overtime-reanalysis-panel .overtime-reanalysis-note{margin:0 12px 10px}.overtime-reanalysis-panel .overtime-filter{margin:0 12px}
.overtime-candidate-email{display:block!important;color:#879089!important;font-size:9.5px!important;overflow-wrap:anywhere}
.overtime-calculation-context{display:grid;gap:5px;margin-top:4px;padding:10px 11px;border:1px solid #dfe7e1;border-radius:10px;background:#f8faf8}.overtime-calculation-context>strong{font-size:10.5px;color:#3d4d43}.overtime-calculation-context>span{font-size:10px;line-height:1.45;color:#5f6a63}.overtime-calculation-context>small{font-size:9px!important;color:#7b847e!important;line-height:1.45!important}
.overtime-admin-intro{border-left:4px solid #cbd6ce}.overtime-admin-links{display:flex;gap:8px;flex-wrap:wrap}.overtime-admin-links .button{min-height:34px;text-decoration:none}
.overtime-rest-status{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.overtime-rest-status.success{background:#edf5ef;color:#486750}.overtime-rest-status.warning{background:#fff5dd;color:#86641e}.overtime-rest-status.danger{background:#fdecea;color:#9b443b}.overtime-rest-status.neutral{background:#eef1ef;color:#6a756e}
.overtime-warning{border-left:4px solid #c7a85c;padding:0!important}.overtime-warning>details>summary{padding:16px 18px}.overtime-warning-body{padding:0 18px 18px;border-top:1px solid #eee9dc}.overtime-warning-body h2{margin-top:16px}
@media(max-width:1050px){.overtime-hr-task{grid-template-columns:1fr}.overtime-task-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.overtime-task-stats{grid-template-columns:1fr}.overtime-reanalysis-panel .overtime-filter{margin:0 10px}.overtime-hr-task{padding:14px}.overtime-admin-links .button{width:100%}}
.overtime-list-section-title{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:13px 0 8px;border-bottom:1px solid #e2e7e3}.overtime-list-section-title strong{font-size:12px;color:#35453b}.overtime-list-section-title span{font-size:9.5px;color:#7b847e}.overtime-list-section-title.reviewed{margin-top:4px}.overtime-list-section-title.reviewed strong{color:#66736a}
.overtime-reject-copy{grid-column:1/-1;display:grid;gap:2px}.overtime-reject-copy strong{font-size:10px;color:#8a463f}.overtime-reject-copy small{font-size:9px;line-height:1.4;color:#8a7774}
.overtime-balance-adjust{margin-top:16px;border-top:1px solid #e7eae7}.overtime-balance-adjust>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:13px 0 0;color:#55645b}.overtime-balance-adjust>summary::-webkit-details-marker{display:none}.overtime-balance-adjust>summary>span:first-child{display:grid;gap:2px}.overtime-balance-adjust>summary strong{font-size:10.5px}.overtime-balance-adjust>summary small{font-size:9px;color:#7d857f}.overtime-balance-adjust .overtime-adjust-form{margin-top:12px;padding-top:12px}
@media(max-width:680px){.overtime-list-section-title{align-items:flex-start;flex-direction:column;gap:3px}}

/* v0.87.82 — Arbeidsduur & rust: HR-first actielijst en ingeklapte configuratie */
.work-time-control-page{min-width:0}
.work-time-hr-task{display:grid;grid-template-columns:minmax(0,1.7fr) auto auto;gap:18px;align-items:center;padding:18px 20px;margin-top:18px;border-color:#dfe7e1;background:#f8faf8}
.work-time-hr-task.has-actions{border-left:4px solid #c69b4d}
.work-time-hr-task.is-clear{border-left:4px solid #7e9d86}
.work-time-hr-task-copy{display:grid;gap:5px;min-width:0}
.work-time-task-kicker{font-size:10px;font-weight:850;letter-spacing:.055em;text-transform:uppercase;color:#6d7a71}
.work-time-hr-task-copy>strong{font-size:18px;line-height:1.2;color:#25322a}
.work-time-hr-task-copy p{margin:0;max-width:840px;color:#68736b;font-size:12px;line-height:1.55}
.work-time-task-stats{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.work-time-task-stats>span{display:grid;gap:1px;min-width:105px;padding:9px 11px;border:1px solid #e1e6e2;border-radius:11px;background:#fff;color:#6e7871;font-size:9px;font-weight:760}
.work-time-task-stats b{font-size:17px;color:#28342c}
.work-time-task-stats .is-error b{color:#984f49}.work-time-task-stats .is-warning b{color:#936720}.work-time-task-stats .is-info b{color:#617267}
.work-time-metrics .metric-card.has-value{border-color:#e7ded0}
.work-time-signal-panel .panel-heading{align-items:flex-start}
.work-time-signal-list{margin-top:12px}
.work-time-signal-group{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:13px 2px 8px;border-bottom:1px solid #e7ebe8;color:#657068}
.work-time-signal-group strong{font-size:13px;color:#344239}.work-time-signal-group span{font-size:10px;text-align:right}
.work-time-signal-group.error strong{color:#8e4e49}.work-time-signal-group.warning strong{color:#86601e}
.work-time-signal-row{align-items:start}
.work-time-next-action{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:10px;padding:10px 11px;border-left:3px solid #ccd6ce;border-radius:0 10px 10px 0;background:#f8faf8}
.work-time-next-action.error{border-left-color:#b96862;background:#fff8f7}.work-time-next-action.warning{border-left-color:#c69b4d;background:#fffaf1}.work-time-next-action.info{border-left-color:#87a18d;background:#f6faf7}
.work-time-next-action>div{display:grid;gap:3px;min-width:0}.work-time-next-action strong{font-size:10px;color:#39473e}.work-time-next-action span{font-size:10px;line-height:1.5;color:#68736b}
.work-time-next-action .secondary-button{flex:0 0 auto;white-space:nowrap}
.work-time-clear-state{display:grid;gap:4px;min-height:125px}.work-time-clear-state strong{font-size:14px;color:#435248}.work-time-clear-state span{font-size:11px;color:#7b837d}
.work-time-admin-intro{padding-bottom:18px}.work-time-admin-intro .settings-card-head{margin-bottom:0}
.work-time-admin-panel{padding:0;overflow:hidden}
.work-time-admin-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;cursor:pointer;list-style:none;background:#fff}
.work-time-admin-panel>summary::-webkit-details-marker{display:none}.work-time-admin-panel>summary>span:first-child{display:grid;gap:3px}.work-time-admin-panel>summary strong{font-size:14px;color:#314038}.work-time-admin-panel>summary small{font-size:10px;color:#7a837c;font-weight:600}.work-time-admin-panel>summary>span:last-child{font-size:18px;color:#6f7a72;transition:transform .16s ease}.work-time-admin-panel[open]>summary>span:last-child{transform:rotate(180deg)}
.work-time-admin-panel[open]>summary{border-bottom:1px solid #edf0ed;background:#fbfcfb}.work-time-admin-body{padding:20px 22px 22px}.work-time-admin-body>.muted{margin:0 0 18px}
.work-time-scope-note{margin-top:18px}.work-time-scope-note>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}.work-time-scope-note>summary::-webkit-details-marker{display:none}.work-time-scope-note>summary span{font-size:10px;color:#79827c;font-weight:600}.work-time-scope-note p{margin:10px 0 0}
@media(max-width:1050px){.work-time-hr-task{grid-template-columns:1fr}.work-time-task-stats{justify-content:flex-start}.work-time-hr-task>.secondary-button{width:max-content}.work-time-next-action{flex-direction:column}.work-time-next-action .secondary-button{align-self:flex-start}}
@media(max-width:700px){.work-time-task-stats{display:grid;grid-template-columns:1fr 1fr}.work-time-task-stats>span{min-width:0}.work-time-signal-group{align-items:flex-start;flex-direction:column;gap:3px}.work-time-signal-group span{text-align:left}.work-time-admin-body{padding:17px 15px}.work-time-scope-note>summary{align-items:flex-start;flex-direction:column}}

/* v0.87.83 — Bijzondere prestaties: HR-first opvolging en ingeklapte configuratie */
.special-performance-page{min-width:0}
.special-hr-task{display:grid;grid-template-columns:minmax(0,1.6fr) auto;gap:18px;align-items:center;padding:18px 20px;margin-top:18px;border-color:#dfe7e1;background:#f8faf8}
.special-hr-task.has-actions{border-left:4px solid #c69b4d}.special-hr-task.is-clear{border-left:4px solid #7e9d86}
.special-hr-task-copy{display:grid;gap:5px;min-width:0}.special-task-kicker{font-size:10px;font-weight:850;letter-spacing:.055em;text-transform:uppercase;color:#6d7a71}.special-hr-task-copy>strong{font-size:18px;line-height:1.2;color:#25322a}.special-hr-task-copy p{margin:0;max-width:850px;color:#68736b;font-size:12px;line-height:1.55}
.special-task-stats{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.special-task-stats>span{display:grid;gap:1px;min-width:112px;padding:9px 11px;border:1px solid #e1e6e2;border-radius:11px;background:#fff;color:#6e7871;font-size:9px;font-weight:760}.special-task-stats b{font-size:16px;line-height:1.15;color:#28342c}.special-task-stats .is-warning b{color:#936720}
.special-daily-card{padding-bottom:20px}.special-daily-head{margin-bottom:12px}.special-control-filter-top{padding:12px 0 4px;border-top:1px solid #edf0ed}.special-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-top:14px;padding:13px 2px 8px;border-bottom:1px solid #e7ebe8;color:#657068}.special-section-title strong{font-size:13px;color:#344239}.special-section-title span{font-size:10px;text-align:right}
.special-clear-state{min-height:110px;margin-top:12px}.special-pending-list{display:grid;gap:12px;margin-top:12px}.special-review-card{padding:16px 17px;border:1px solid #e1e6e2;border-left:4px solid #c69b4d;border-radius:14px;background:#fff}.special-review-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.special-review-card-head>div{min-width:0}.special-record-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.special-record-title>strong{font-size:15px;color:#28332c}.special-review-card-head p{margin:5px 0 0;color:#747d76;font-size:10px;line-height:1.4}
.special-review-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.special-review-meta>div{display:grid;gap:3px;padding:10px 11px;border:1px solid #e9ece9;border-radius:10px;background:#fbfcfb}.special-review-meta span{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:#7b847d}.special-review-meta strong{font-size:11px;color:#344039}.special-review-meta strong>small{display:block;margin-top:3px;color:#7c847e;font-size:8px;font-weight:600;line-height:1.4}
.special-why-record,.special-review-guidance{display:grid;gap:3px;margin-top:10px;padding:10px 12px;border-left:3px solid #8ea394;border-radius:0 10px 10px 0;background:#f7faf8}.special-review-guidance{border-left-color:#c69b4d;background:#fffaf1}.special-why-record strong,.special-review-guidance strong{font-size:10px;color:#39473e}.special-why-record span,.special-review-guidance span{font-size:10px;line-height:1.5;color:#66726a}.special-why-record small{font-size:9px;line-height:1.45;color:#7a837c}
.special-review-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-top:12px;padding-top:11px;border-top:1px solid #edf0ed}.special-record-details>summary{cursor:pointer;list-style:none;color:#627168;font-size:10px;font-weight:800}.special-record-details>summary::-webkit-details-marker{display:none}.special-record-details>div{display:grid;gap:4px;margin-top:7px;padding:9px 10px;border:1px solid #e5e9e5;border-radius:9px;background:#fafbfa;color:#6f7971;font-size:9px;line-height:1.4;max-width:500px}.special-review-footer .special-review-actions{justify-content:flex-end}
.special-reviewed-panel,.special-operation-panel,.special-settings-panel{padding:0;overflow:visible}.special-reviewed-panel>summary,.special-operation-panel>summary,.special-settings-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;cursor:pointer;list-style:none;background:#fff}.special-reviewed-panel>summary::-webkit-details-marker,.special-operation-panel>summary::-webkit-details-marker,.special-settings-panel>summary::-webkit-details-marker{display:none}.special-reviewed-panel>summary>span:first-child,.special-operation-panel>summary>span:first-child,.special-settings-panel>summary>span:first-child{display:grid;gap:3px}.special-reviewed-panel>summary strong,.special-operation-panel>summary strong,.special-settings-panel>summary strong{font-size:14px;color:#314038}.special-reviewed-panel>summary small,.special-operation-panel>summary small,.special-settings-panel>summary small{font-size:10px;color:#7a837c;font-weight:600}.special-reviewed-panel>summary>span:last-child,.special-operation-panel>summary>span:last-child,.special-settings-panel>summary>span:last-child{font-size:18px;color:#6f7a72;transition:transform .16s ease}.special-reviewed-panel[open]>summary>span:last-child,.special-operation-panel[open]>summary>span:last-child,.special-settings-panel[open]>summary>span:last-child{transform:rotate(180deg)}.special-reviewed-panel[open]>summary,.special-operation-panel[open]>summary,.special-settings-panel[open]>summary{border-bottom:1px solid #edf0ed;background:#fbfcfb}
.special-reviewed-body,.special-operation-body,.special-settings-body{padding:20px 22px 22px}.special-reviewed-table{min-width:1020px}.special-reviewed-table td{vertical-align:top}.special-reviewed-table td>small{display:block;margin-top:3px;color:#7b837d;font-size:9px}.special-reviewed-actions{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;min-width:170px}
.special-settings-intro{padding-bottom:18px}.special-settings-intro .settings-card-head{margin-bottom:0}.special-settings-panel .special-auto-rescan{margin-top:0}.special-operation-body>.settings-form-grid,.special-settings-body>.settings-form-grid{margin-top:0}.special-settings-body .special-unit-label-list,.special-settings-body .special-auto-list{margin-top:0}
.special-scope-note{margin-top:18px}.special-scope-note>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}.special-scope-note>summary::-webkit-details-marker{display:none}.special-scope-note>summary span{font-size:10px;color:#79827c;font-weight:600}.special-scope-note p{margin:10px 0 0}
@media(max-width:1050px){.special-hr-task{grid-template-columns:1fr}.special-task-stats{justify-content:flex-start}.special-review-meta{grid-template-columns:1fr 1fr}.special-review-footer{flex-direction:column}.special-review-footer .special-review-actions{justify-content:flex-start}}
@media(max-width:700px){.special-task-stats{display:grid;grid-template-columns:1fr 1fr}.special-task-stats>span{min-width:0}.special-section-title{align-items:flex-start;flex-direction:column;gap:3px}.special-section-title span{text-align:left}.special-review-card-head{flex-direction:column}.special-review-meta{grid-template-columns:1fr}.special-reviewed-body,.special-operation-body,.special-settings-body{padding:17px 15px}.special-scope-note>summary{align-items:flex-start;flex-direction:column}}

/* v0.87.84 — Nachtplanning: HR-first opvolging, uitzonderingen uit de primaire workflow */
.night-hr-task{display:grid;grid-template-columns:minmax(0,1.6fr) auto;gap:18px;align-items:center;padding:18px 20px;margin-top:18px;border-color:#dfe7e1;background:#f8faf8}
.night-hr-task.has-actions{border-left:4px solid #c69b4d}.night-hr-task.is-clear{border-left:4px solid #7e9d86}
.night-hr-task-copy{display:grid;gap:5px;min-width:0}.night-task-kicker{font-size:10px;font-weight:850;letter-spacing:.055em;text-transform:uppercase;color:#6d7a71}.night-hr-task-copy>strong{font-size:18px;line-height:1.2;color:#25322a}.night-hr-task-copy p{margin:0;max-width:850px;color:#68736b;font-size:12px;line-height:1.55}
.night-task-stats{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.night-task-stats>span{display:grid;gap:1px;min-width:105px;padding:9px 11px;border:1px solid #e1e6e2;border-radius:11px;background:#fff;color:#6e7871;font-size:9px;font-weight:760}.night-task-stats b{font-size:16px;line-height:1.15;color:#28342c}.night-task-stats .is-warning b{color:#936720}
.night-filter-form{padding-bottom:8px}.night-daily-table td{vertical-align:top}.night-daily-table td>small{display:block;margin-top:3px;color:#7b837d;font-size:9px;line-height:1.35}
.night-group-row td{padding:11px 12px!important;background:#f8faf8!important;border-top:1px solid #e5e9e5;border-bottom:1px solid #e5e9e5}.night-group-row td strong{display:block;font-size:11px;color:#344239}.night-group-row td span{display:block;margin-top:2px;font-size:9px;color:#79827b}.night-group-action td{background:#fff8f7!important}.night-group-current td{background:#fffaf1!important}
.night-followup-cell{display:grid;gap:7px;justify-items:start;min-width:145px}.night-followup-state{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#f0f3f0;color:#68736b;font-size:8px;font-weight:800;white-space:nowrap}.night-followup-state.action{background:#fff0ee;color:#a04d47}.night-followup-state.current{background:#fff4db;color:#8a651e}.night-followup-state.completed{background:#edf6ef;color:#56765f}.night-followup-state.cancelled{background:#f1f2f1;color:#707670}.night-followup-cell .button{min-height:34px;padding:7px 11px;font-size:10px}
.night-clear-state{min-height:105px;display:grid;gap:4px;align-content:center}.night-clear-state strong{font-size:14px;color:#435248}.night-clear-state span{font-size:10px;color:#7b837d}
.night-exception-panel,.night-correction-panel,.night-active-panel,.night-context-panel,.night-admin-panel{padding:0;overflow:visible}.night-exception-panel>summary,.night-correction-panel>summary,.night-active-panel>summary,.night-context-panel>summary,.night-admin-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;cursor:pointer;list-style:none;background:#fff}.night-exception-panel>summary::-webkit-details-marker,.night-correction-panel>summary::-webkit-details-marker,.night-active-panel>summary::-webkit-details-marker,.night-context-panel>summary::-webkit-details-marker,.night-admin-panel>summary::-webkit-details-marker{display:none}.night-exception-panel>summary>span:first-child,.night-correction-panel>summary>span:first-child,.night-active-panel>summary>span:first-child,.night-context-panel>summary>span:first-child,.night-admin-panel>summary>span:first-child{display:grid;gap:3px}.night-exception-panel>summary strong,.night-correction-panel>summary strong,.night-active-panel>summary strong,.night-context-panel>summary strong,.night-admin-panel>summary strong{font-size:14px;color:#314038}.night-exception-panel>summary small,.night-correction-panel>summary small,.night-active-panel>summary small,.night-context-panel>summary small,.night-admin-panel>summary small{font-size:10px;color:#7a837c;font-weight:600}.night-exception-panel>summary>span:last-child,.night-correction-panel>summary>span:last-child,.night-active-panel>summary>span:last-child,.night-context-panel>summary>span:last-child,.night-admin-panel>summary>span:last-child{font-size:18px;color:#6f7a72;transition:transform .16s ease}.night-exception-panel[open]>summary>span:last-child,.night-correction-panel[open]>summary>span:last-child,.night-active-panel[open]>summary>span:last-child,.night-context-panel[open]>summary>span:last-child,.night-admin-panel[open]>summary>span:last-child{transform:rotate(180deg)}.night-exception-panel[open]>summary,.night-correction-panel[open]>summary,.night-active-panel[open]>summary,.night-context-panel[open]>summary,.night-admin-panel[open]>summary{border-bottom:1px solid #edf0ed;background:#fbfcfb}
.night-exception-body,.night-correction-body,.night-active-body,.night-context-body,.night-admin-body{padding:20px 22px 22px}.night-active-body>.muted,.night-context-body>.muted{margin:0 0 14px}
.night-selected-action{display:grid;grid-template-columns:minmax(0,1.6fr) auto;gap:18px;align-items:center;padding:16px 20px}.night-selected-action>div:first-child{display:grid;gap:4px}.night-selected-action>div:first-child>strong{font-size:16px;color:#2c3931}.night-selected-action p{margin:0;color:#6b756e;font-size:11px;line-height:1.5}.night-selected-action.clear{border-left:4px solid #7e9d86;background:#f7faf8}.night-selected-action.warning{border-left:4px solid #c69b4d;background:#fffaf1}.night-selected-action.info{border-left:4px solid #8ba096;background:#f8faf9}.night-selected-action-facts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.night-selected-action-facts>span{display:grid;gap:1px;min-width:105px;padding:8px 10px;border:1px solid #e3e7e4;border-radius:10px;background:#fff;color:#748078;font-size:8px;font-weight:750}.night-selected-action-facts b{font-size:12px;color:#334139}
.night-manual-active-panel{margin-top:14px;border:1px solid #e1e6e2;border-radius:11px;background:#fafbfa}.night-manual-active-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;cursor:pointer;list-style:none}.night-manual-active-panel>summary::-webkit-details-marker{display:none}.night-manual-active-panel>summary>span:first-child{display:grid;gap:2px}.night-manual-active-panel>summary strong{font-size:11px;color:#3e4d43}.night-manual-active-panel>summary small{font-size:9px;color:#7a837c}.night-manual-active-panel>form{padding:0 14px 14px}
.night-scope-note{margin-top:18px}.night-scope-note>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}.night-scope-note>summary::-webkit-details-marker{display:none}.night-scope-note>summary span{font-size:10px;color:#79827c;font-weight:600}.night-scope-note p{margin:10px 0 0}
@media(max-width:1050px){.night-hr-task,.night-selected-action{grid-template-columns:1fr}.night-task-stats,.night-selected-action-facts{justify-content:flex-start}.night-followup-cell{min-width:120px}}
@media(max-width:700px){.night-task-stats,.night-selected-action-facts{display:grid;grid-template-columns:1fr 1fr}.night-task-stats>span,.night-selected-action-facts>span{min-width:0}.night-exception-body,.night-correction-body,.night-active-body,.night-context-body,.night-admin-body{padding:17px 15px}.night-scope-note>summary{align-items:flex-start;flex-direction:column}}

/* v0.87.85 · Afwijkingen HR-first opvolging */
.deviation-action-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px;padding:18px 20px;border-left:5px solid #8fa096;background:#f8faf8}.deviation-action-summary.attention{border-left-color:#b76560}.deviation-action-summary.clear{border-left-color:#88a18f}.deviation-action-summary .eyebrow{margin:0 0 4px;color:#617269;font-size:10px;font-weight:850;letter-spacing:.08em}.deviation-action-summary h2{margin:0;font-size:20px}.deviation-action-summary p:not(.eyebrow){margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.5;max-width:820px}.deviation-summary-counts{display:flex;gap:10px;flex:0 0 auto}.deviation-summary-counts>span{display:grid;min-width:92px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.deviation-summary-counts strong{font-size:19px}.deviation-summary-counts small{color:var(--muted);font-size:9px;font-weight:800}.deviation-follow-up{grid-template-columns:auto 1fr}.deviation-follow-up-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}.deviation-follow-up-actions .button-link{min-height:34px;padding:7px 11px;font-size:10px}.deviation-follow-up>small{grid-column:1/-1;color:#7a817c;font-size:9px}.deviation-more-explanation{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.deviation-more-explanation summary{cursor:pointer;color:#52695a;font-size:11px;font-weight:800}.deviation-more-explanation p{margin:9px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
@media(max-width:900px){.deviation-action-summary{align-items:flex-start;flex-direction:column}.deviation-summary-counts{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.deviation-summary-counts>span{min-width:0}}
@media(max-width:600px){.deviation-summary-counts{grid-template-columns:1fr}.deviation-follow-up-actions{flex-direction:column}.deviation-follow-up-actions .button-link{width:100%;justify-content:center}}

/* v0.87.86 · Arbeidstijd-overzicht als actiegericht HR-dashboard */
.work-time-dashboard-summary{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:18px;padding:24px 26px;border-left:5px solid #8da596}
.work-time-dashboard-summary.attention{border-left-color:#c99a3d;background:#fffdf8}
.work-time-dashboard-summary.clear{background:#f8fbf9}
.work-time-dashboard-summary-copy{max-width:720px}.work-time-dashboard-summary-copy h2{margin:3px 0 7px;font-size:22px;color:#243129}.work-time-dashboard-summary-copy p:last-child{margin:0;color:var(--muted);line-height:1.55}
.work-time-dashboard-shortcuts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;max-width:620px}.work-time-dashboard-shortcuts a{min-width:170px;padding:12px 14px;border:1px solid #eadfc8;border-radius:14px;background:#fff;color:#26332b;text-decoration:none}.work-time-dashboard-shortcuts a:hover{border-color:#d8c49c}.work-time-dashboard-shortcuts strong,.work-time-dashboard-shortcuts span{display:block}.work-time-dashboard-shortcuts strong{font-size:13px}.work-time-dashboard-shortcuts span{margin-top:4px;color:#916716;font-size:12px;font-weight:700}
.work-time-dashboard-all-clear{min-width:190px;padding:14px 16px;border:1px solid #dce7df;border-radius:14px;background:#fff}.work-time-dashboard-all-clear strong,.work-time-dashboard-all-clear span{display:block}.work-time-dashboard-all-clear strong{color:#3f654d}.work-time-dashboard-all-clear span{margin-top:4px;color:var(--muted);font-size:12px}
.work-time-section{margin-top:28px}.work-time-section-head{display:flex;align-items:flex-end;justify-content:space-between;margin:0 2px 12px}.work-time-section-head h2{margin:2px 0 3px;font-size:20px;color:#243129}.work-time-section-head p:last-child{margin:0;color:var(--muted);font-size:13px}
.work-time-grid-operational .work-time-card{min-height:210px}.work-time-grid-config .work-time-card{min-height:165px}
.work-time-action-card.attention{border-color:#ead7ae;background:#fffdfa}.work-time-action-card.clear{border-color:#dfe8e2}.work-time-action-card.neutral{border-color:#e5e7e5}
.work-time-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.work-time-period{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#f2f5f2;color:#6b766e;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.work-time-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto}.work-time-card-footer strong{margin:0}.work-time-card-status{display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.work-time-card-status.attention{background:#fff0d5;color:#8c6110}.work-time-card-status.clear{background:#edf5ef;color:#4f745b}.work-time-card-status.neutral{background:#f0f2f0;color:#6d756f}
.work-time-config-card strong{color:#52695a}
@media(max-width:1100px){.work-time-dashboard-summary{align-items:flex-start;flex-direction:column}.work-time-dashboard-shortcuts{justify-content:flex-start;max-width:none;width:100%}}
@media(max-width:650px){.work-time-dashboard-summary{padding:20px}.work-time-dashboard-shortcuts{display:grid;grid-template-columns:1fr}.work-time-dashboard-shortcuts a{min-width:0}.work-time-card-heading,.work-time-card-footer{align-items:flex-start;flex-direction:column}.work-time-card-footer strong{margin-top:5px}}

/* v0.87.87 · Glijdende uurroosters HR-first beheer */
.sliding-schedules-page{display:block}.sliding-hr-summary{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:18px;padding:22px 24px;border-left:5px solid #8da596}.sliding-hr-summary.attention{border-left-color:#c99a3d;background:#fffdf8}.sliding-hr-summary.clear{background:#f8fbf9}.sliding-hr-summary-copy{max-width:760px}.sliding-hr-summary-copy h2{margin:3px 0 7px;font-size:21px;color:#26332b}.sliding-hr-summary-copy p:last-child{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.sliding-hr-stats{display:flex;gap:10px;flex:0 0 auto}.sliding-hr-stats>span{display:grid;gap:2px;min-width:112px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff}.sliding-hr-stats strong{font-size:20px}.sliding-hr-stats small{color:var(--muted);font-size:9px;font-weight:800}
.sliding-overview-panel{margin-top:18px}.sliding-policy-list{display:grid;gap:10px}.sliding-policy-row{border:1px solid #e1e6e2;border-radius:14px;background:#fff;overflow:hidden}.sliding-policy-row>summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:16px 18px;cursor:pointer;list-style:none}.sliding-policy-row>summary::-webkit-details-marker{display:none}.sliding-policy-row[open]>summary{border-bottom:1px solid #edf0ed;background:#fbfcfb}.sliding-policy-main,.sliding-policy-meta{display:grid;gap:4px}.sliding-policy-main strong{font-size:15px;color:#29372f}.sliding-policy-main small,.sliding-policy-meta small{color:var(--muted);font-size:10px}.sliding-policy-meta{text-align:right}.sliding-policy-meta b{font-size:10px;color:#56675d}.sliding-chevron{color:#718077;font-size:18px;transition:transform .16s ease}.sliding-policy-row[open] .sliding-chevron{transform:rotate(180deg)}.sliding-policy-detail{padding:16px 18px 18px}.sliding-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sliding-detail-grid>span{display:grid;gap:4px;padding:12px 13px;border:1px solid #e2e7e3;border-radius:11px;background:#fafbfa}.sliding-detail-grid small{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.sliding-detail-grid strong{font-size:13px}.sliding-policy-note{margin:14px 0 0}.sliding-overview-columns{align-items:start}.sliding-assignment-row>div:first-child small{display:block;margin-top:3px}.sliding-empty-clear{display:grid;gap:4px}.sliding-empty-clear strong{color:#46614f}.sliding-empty-clear span{font-size:10px;color:var(--muted)}
.sliding-history-panel{margin-top:14px;border-top:1px solid #edf0ed}.sliding-history-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 2px 0;cursor:pointer;list-style:none}.sliding-history-panel>summary::-webkit-details-marker{display:none}.sliding-history-panel>summary>span:first-child{display:grid;gap:2px}.sliding-history-panel>summary strong{font-size:11px;color:#506158}.sliding-history-panel>summary small{font-size:9px;color:var(--muted)}.sliding-history-panel>summary>span:last-child{color:#718077;transition:transform .16s ease}.sliding-history-panel[open]>summary>span:last-child{transform:rotate(180deg)}.sliding-history-body{margin-top:12px}
.sliding-admin-section{display:grid;gap:12px;margin-top:30px}.sliding-admin-intro{padding:0 4px 4px}.sliding-admin-intro h2{margin:2px 0 4px;font-size:20px;color:#26332b}.sliding-admin-intro p:last-child{margin:0;color:var(--muted);font-size:12px}.sliding-admin-panel{padding:0;overflow:hidden}.sliding-admin-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;cursor:pointer;list-style:none;background:#fff}.sliding-admin-panel>summary::-webkit-details-marker{display:none}.sliding-admin-panel>summary>span:first-child{display:grid;gap:3px}.sliding-admin-panel>summary strong{font-size:14px;color:#314038}.sliding-admin-panel>summary small{font-size:10px;color:#7a837c;font-weight:600}.sliding-admin-panel>summary>span:last-child{font-size:18px;color:#6f7a72;transition:transform .16s ease}.sliding-admin-panel[open]>summary>span:last-child{transform:rotate(180deg)}.sliding-admin-panel[open]>summary{border-bottom:1px solid #edf0ed;background:#fbfcfb}.sliding-admin-body{padding:20px 22px 22px}.sliding-admin-body>.muted{margin:0 0 16px}
.sliding-time-visual{display:grid;gap:10px;padding:15px 16px;border:1px solid #dfe6e1;border-radius:13px;background:#f8faf8}.sliding-time-visual-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.sliding-time-visual-head strong{font-size:12px;color:#35453b}.sliding-time-visual-head span{color:#647068;font-size:10px;text-align:right}.sliding-timebar-track{position:relative;height:12px;border-radius:999px;background:#dde5df;overflow:hidden}.sliding-timebar-core{position:absolute;top:0;bottom:0;border-radius:999px;background:#8fa395;transition:left .16s ease,width .16s ease}.sliding-timebar-labels{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;color:#667269;font-size:9px;font-weight:800}.sliding-timebar-labels span:nth-child(2),.sliding-timebar-labels span:nth-child(3){text-align:center}.sliding-timebar-labels span:last-child{text-align:right}.sliding-time-visual p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}
.sliding-duration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sliding-duration-fieldset{min-width:0;margin:0;padding:13px 14px 12px;border:1px solid #e0e6e1;border-radius:12px;background:#fbfcfb}.sliding-duration-fieldset legend{padding:0 5px;color:#3f4c44;font-size:11px;font-weight:800}.sliding-duration-fieldset>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sliding-duration-fieldset label{display:grid;gap:5px}.sliding-duration-fieldset label span{font-size:9px;color:#78827b;font-weight:800}.sliding-duration-fieldset input{width:100%}.sliding-duration-fieldset small{display:block;margin-top:8px;color:#7b847e;font-size:9px;line-height:1.35}
.sliding-current-preview{display:grid;gap:4px;padding:13px 15px;border-left:4px solid #8ca094;border-radius:10px;background:#f7faf8}.sliding-current-preview strong{font-size:11px;color:#405148}.sliding-current-preview span{color:#67726b;font-size:10px;line-height:1.45}.sliding-exception-fields{display:grid;gap:10px;padding:14px 15px;border:1px solid #e2e6e3;border-radius:12px;background:#fbfcfb}.sliding-exception-fields h3{margin:0;font-size:13px;color:#35443b}.sliding-exception-fields p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}
.sliding-scope-note{margin-top:18px}.sliding-scope-note>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}.sliding-scope-note>summary::-webkit-details-marker{display:none}.sliding-scope-note>summary span{font-size:10px;color:#79827c;font-weight:600}.sliding-scope-note p{margin:10px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
@media(max-width:1050px){.sliding-hr-summary{align-items:flex-start;flex-direction:column}.sliding-hr-stats{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.sliding-hr-stats>span{min-width:0}.sliding-duration-grid{grid-template-columns:1fr}.sliding-detail-grid{grid-template-columns:1fr 1fr}.sliding-policy-row>summary{grid-template-columns:minmax(0,1fr) auto}.sliding-chevron{display:none}}
@media(max-width:700px){.sliding-hr-stats{grid-template-columns:1fr}.sliding-detail-grid{grid-template-columns:1fr}.sliding-policy-row>summary{grid-template-columns:1fr}.sliding-policy-meta{text-align:left}.sliding-admin-body{padding:17px 15px}.sliding-time-visual-head{flex-direction:column}.sliding-time-visual-head span{text-align:left}.sliding-timebar-labels{font-size:8px}.sliding-scope-note>summary{align-items:flex-start;flex-direction:column}}

/* v0.87.88 · Arbeidsregimes & Dienstsjablonen HR-first UX */
.wr-hr-summary,.st-hr-summary{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-top:18px;padding:22px 24px;border-left:5px solid #8da596;background:#f8fbf9}.wr-hr-summary>div:first-child,.st-hr-summary>div:first-child{max-width:790px}.wr-hr-summary h2,.st-hr-summary h2{margin:3px 0 7px;font-size:21px;color:#26332b}.wr-hr-summary p:last-child,.st-hr-summary p:last-child{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.wr-hr-stats,.st-hr-stats{display:flex;gap:10px;flex:0 0 auto}.wr-hr-stats>span,.st-hr-stats>span{display:grid;gap:2px;min-width:120px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff}.wr-hr-stats strong,.st-hr-stats strong{font-size:20px}.wr-hr-stats small,.st-hr-stats small{color:var(--muted);font-size:9px;font-weight:800}
.work-regimes-page .panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.work-regimes-page .panel-heading h2{margin:0 0 4px}.wr-active-panel,.wr-regimes-panel,.wr-assign-panel{margin-top:18px}.wr-assignment-list,.wr-history-list{display:grid;gap:9px}.wr-assignment-row,.wr-history-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(180px,.75fr);gap:16px;align-items:center;padding:13px 14px;border:1px solid #e2e7e3;border-radius:12px;background:#fff}.wr-assignment-row>div,.wr-history-row>div{display:grid;gap:3px}.wr-assignment-row small,.wr-history-row small{color:var(--muted);font-size:10px;line-height:1.4}.wr-assignment-reason{text-align:right}.wr-status{display:inline-flex;width:max-content;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:800}.wr-status.active{background:#e9f4ed;color:#3f664d}.wr-status.historical{background:#f0f2f0;color:#6d7770}
.wr-regime-list{display:grid;gap:10px}.wr-regime-card{border:1px solid #e1e6e2;border-radius:14px;background:#fff;overflow:hidden}.wr-regime-card>summary{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr) auto;gap:18px;align-items:center;padding:16px 18px;cursor:pointer;list-style:none}.wr-regime-card>summary::-webkit-details-marker{display:none}.wr-regime-card[open]>summary{border-bottom:1px solid #edf0ed;background:#fbfcfb}.wr-regime-main{display:grid;gap:4px}.wr-regime-main strong{font-size:15px;color:#29372f}.wr-regime-main small{color:var(--muted);font-size:10px}.wr-regime-hours{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wr-regime-hours span{display:grid;gap:2px;padding:8px 10px;border:1px solid #e5e9e6;border-radius:10px;background:#fafbfa}.wr-regime-hours small{font-size:8px;color:#77827b;font-weight:800;text-transform:uppercase}.wr-regime-hours b{font-size:12px}.wr-chevron{font-size:18px;color:#748078;transition:transform .16s ease}.wr-regime-card[open] .wr-chevron{transform:rotate(180deg)}.wr-regime-detail{display:grid;gap:13px;padding:16px 18px 18px}.wr-neutral-note,.wr-warning-note{display:grid;gap:3px;padding:11px 13px;border-radius:10px;font-size:10px}.wr-neutral-note{background:#f5f7f5;border-left:4px solid #9da9a1}.wr-warning-note{background:#fff9ef;border-left:4px solid #d4a348}.wr-neutral-note span,.wr-warning-note span{color:var(--muted);line-height:1.45}.wr-week-list{display:grid;gap:10px}.wr-week-card{padding:12px 13px;border:1px solid #e2e7e3;border-radius:12px;background:#fbfcfb}.wr-week-card>strong{display:block;margin-bottom:9px;font-size:11px}.wr-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.wr-week-days span{display:grid;gap:3px;min-width:0;padding:8px;border-radius:8px;background:#fff;border:1px solid #e7ebe8}.wr-week-days b{font-size:9px}.wr-week-days small{font-size:8px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wr-regime-description{margin:0}.wr-current-preview{display:grid;gap:4px;margin:12px 0 14px;padding:13px 15px;border-left:4px solid #8ca094;border-radius:10px;background:#f7faf8}.wr-current-preview strong{font-size:11px;color:#405148}.wr-current-preview span{font-size:10px;color:#67726b}.wr-admin-section{display:grid;gap:12px;margin-top:30px}.wr-admin-intro{padding:0 4px 4px}.wr-admin-intro h2{margin:2px 0 4px;font-size:20px;color:#26332b}.wr-admin-panel{padding:0;overflow:hidden}.wr-admin-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;cursor:pointer;list-style:none}.wr-admin-panel>summary::-webkit-details-marker{display:none}.wr-admin-panel>summary>span:first-child{display:grid;gap:3px}.wr-admin-panel>summary strong{font-size:14px}.wr-admin-panel>summary small{font-size:10px;color:var(--muted)}.wr-admin-panel>summary>span:last-child{font-size:18px;color:#6f7a72;transition:transform .16s ease}.wr-admin-panel[open]>summary{border-bottom:1px solid #edf0ed;background:#fbfcfb}.wr-admin-panel[open]>summary>span:last-child{transform:rotate(180deg)}.wr-admin-body{padding:20px 22px 22px}.wr-week-builder-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.wr-week-builder-head span{font-size:9px;color:var(--muted);font-weight:800}
.shift-templates-page .st-existing-card{margin-top:18px}.st-template-list{display:grid;gap:10px}.st-template-title-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.st-status{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:8px;font-style:normal;font-weight:800}.st-status.active{background:#e9f4ed;color:#3f664d}.st-status.inactive{background:#f0f2f0;color:#6d7770}.st-template-summary-main{display:grid;gap:4px;min-width:0}.st-template-summary-action{display:flex;align-items:center;gap:8px;color:#637068;font-size:10px}.st-template-summary-action span{font-size:17px;transition:transform .16s ease}.shift-template-item[open] .st-template-summary-action span{transform:rotate(180deg)}.st-edit-intro{display:grid;gap:3px;padding:13px 16px;border-top:1px solid #edf0ed;background:#f8faf8}.st-edit-intro strong{font-size:11px}.st-edit-intro span{font-size:10px;color:var(--muted);line-height:1.45}.st-create-card{margin-top:18px;padding:0;overflow:hidden}.st-create-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;cursor:pointer;list-style:none}.st-create-summary::-webkit-details-marker{display:none}.st-create-summary>span:first-child{display:grid;gap:3px}.st-create-summary strong{font-size:14px}.st-create-summary small{font-size:10px;color:var(--muted)}.st-create-summary>span:last-child{font-size:18px;color:#6f7a72;transition:transform .16s ease}.st-create-card[open] .st-create-summary{border-bottom:1px solid #edf0ed;background:#fbfcfb}.st-create-card[open] .st-create-summary>span:last-child{transform:rotate(180deg)}.st-create-body{padding:20px 22px 22px}.st-target-box{display:grid;gap:10px;padding:12px 14px;border:1px solid #e2e7e3;border-radius:12px;background:#fbfcfb}.st-target-auto label{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;color:#46564d}.st-target-auto input{width:auto}.st-target-duration{display:grid;gap:7px}.st-target-duration>span{font-size:10px;font-weight:800}.st-target-duration>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:300px}.st-target-duration label{display:grid;gap:4px}.st-target-duration small{font-size:8px;color:var(--muted);font-weight:800}.st-live-summary{padding:11px 13px;border-left:4px solid #8ca094;border-radius:9px;background:#f7faf8;color:#46564d;font-size:10px;font-weight:800}.st-advanced{padding:10px 12px;border:1px solid #e3e7e4;border-radius:10px;background:#fafbfa}.st-advanced>summary{cursor:pointer;font-size:10px;font-weight:800;color:#5a675f}.st-advanced label{margin-top:10px}.st-usage-note{margin-top:18px}
@media(max-width:1050px){.wr-hr-summary,.st-hr-summary{align-items:flex-start;flex-direction:column}.wr-hr-stats,.st-hr-stats{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.st-hr-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.wr-hr-stats>span,.st-hr-stats>span{min-width:0}.wr-regime-card>summary{grid-template-columns:1fr auto}.wr-regime-hours{grid-row:2;grid-column:1 / -1}.wr-week-days{grid-template-columns:repeat(4,minmax(0,1fr))}.wr-assignment-row,.wr-history-row{grid-template-columns:1fr 1fr}.wr-assignment-reason,.wr-history-row>div:last-child{grid-column:1 / -1;text-align:left}}
@media(max-width:700px){.wr-hr-stats,.st-hr-stats{grid-template-columns:1fr}.wr-regime-card>summary{grid-template-columns:1fr}.wr-chevron{display:none}.wr-regime-hours{grid-template-columns:1fr}.wr-week-days{grid-template-columns:1fr 1fr}.wr-assignment-row,.wr-history-row{grid-template-columns:1fr}.wr-admin-body,.st-create-body{padding:17px 15px}.st-template-summary-action{align-self:flex-start}}


/* v0.87.89 · Pauzeregelingen & Dagroosters HR-first UX + rooster-polish */
.bp-hr-summary,.ds-hr-summary{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-top:18px;padding:22px 24px;border-left:5px solid #8da596;background:#f8fbf9}.bp-hr-summary.has-actions{border-left-color:#c79a48;background:#fffaf1}.bp-hr-summary>div:first-child,.ds-hr-summary>div:first-child{max-width:820px}.bp-hr-summary h2,.ds-hr-summary h2{margin:3px 0 7px;font-size:21px;color:#26332b}.bp-hr-summary p:last-child,.ds-hr-summary p:last-child{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.bp-hr-stats,.ds-hr-stats{display:flex;gap:10px;flex:0 0 auto}.bp-hr-stats>span,.ds-hr-stats>span{display:grid;gap:2px;min-width:118px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff}.bp-hr-stats strong,.ds-hr-stats strong{font-size:20px}.bp-hr-stats small,.ds-hr-stats small{color:var(--muted);font-size:9px;font-weight:800}
.bp-signals-panel,.bp-active-panel,.ds-existing-panel{margin-top:18px}.bp-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end;margin:14px 0 16px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fafbf9}.bp-filters label{display:grid;gap:5px}.bp-filters label>span{font-size:9.5px;font-weight:800;color:#657168}.bp-filters select{min-height:40px;border:1px solid #d9dfda;border-radius:9px;padding:7px 9px;background:#fff;font:inherit}.bp-filter-actions{display:flex;gap:7px;align-items:center}.bp-filter-actions .button,.bp-filter-actions .secondary-button{min-height:40px;display:inline-flex;align-items:center;text-decoration:none}.bp-empty{margin-top:4px}.bp-signal-groups{display:grid;gap:11px}.bp-signal-card{border:1px solid #e1e6e2;border-radius:13px;background:#fff;overflow:hidden}.bp-signal-card>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;background:#fafbfa}.bp-signal-card>header>div{display:grid;gap:2px}.bp-signal-card>header strong{font-size:13px}.bp-signal-card>header span{font-size:9.5px;color:var(--muted)}.bp-signal-count{display:inline-flex!important;padding:4px 8px;border-radius:999px;background:#fff1d6;color:#83611d!important;font-weight:800}.bp-signal-list{display:grid}.bp-signal-item{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr);gap:16px;padding:12px 15px;border-top:1px solid #edf0ed}.bp-signal-item>div:first-child{display:grid;gap:3px}.bp-signal-item strong{font-size:11px}.bp-signal-item small{font-size:9.5px;color:var(--muted);line-height:1.4}.bp-what-now{display:grid;gap:3px;padding:8px 10px;border-left:3px solid #94a69a;background:#f7faf8;border-radius:8px}.bp-what-now b{font-size:9.5px}.bp-what-now span{font-size:10px;line-height:1.45;color:#59665e}.bp-signal-card>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 15px;border-top:1px solid #edf0ed}.bp-signal-card>footer small{font-size:9px;color:var(--muted)}.bp-signal-card>footer .secondary-button{min-height:34px;text-decoration:none}
.bp-policy-list{display:grid;gap:10px}.bp-policy-card{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.5fr) auto;gap:16px;align-items:center;padding:14px 15px;border:1px solid #e1e6e2;border-radius:12px;background:#fff}.bp-policy-main{display:grid;gap:4px}.bp-policy-main>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bp-policy-main strong{font-size:12px}.bp-policy-main small{font-size:9.5px;color:var(--muted);line-height:1.4}.bp-policy-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.bp-policy-facts span{display:grid;gap:2px;padding:8px 10px;border:1px solid #e7ebe8;border-radius:9px;background:#fafbfa}.bp-policy-facts small{font-size:8px;text-transform:uppercase;font-weight:800;color:#77827b}.bp-policy-facts b{font-size:9.5px;line-height:1.35}.bp-policy-actions{position:relative}.bp-policy-actions>summary{cursor:pointer;font-size:9.5px;font-weight:800;color:#59675e;list-style:none}.bp-policy-actions>summary::-webkit-details-marker{display:none}.bp-policy-actions>div{display:grid;gap:9px;min-width:300px;margin-top:9px;padding:12px;border:1px solid #e1e6e2;border-radius:10px;background:#fbfcfb}.bp-policy-actions p{margin:0;font-size:9.5px;line-height:1.45;color:#657168}.bp-policy-actions form{display:grid;gap:7px}.bp-policy-actions label{display:grid;gap:4px}.bp-policy-actions label span{font-size:9px;font-weight:800}.bp-policy-actions input{min-height:36px;border:1px solid #d9dfda;border-radius:8px;padding:7px 9px;background:#fff;font:inherit}
.bp-admin-section,.ds-admin-section{display:grid;gap:12px;margin-top:28px}.bp-admin-intro,.ds-admin-intro{padding:0 4px}.bp-admin-intro h2,.ds-admin-intro h2{margin:2px 0 4px;font-size:20px;color:#26332b}.bp-admin-panel,.ds-editor-card{padding:0;overflow:hidden}.bp-admin-panel>summary,.ds-editor-card>summary,.bp-more-info>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;cursor:pointer;list-style:none}.bp-admin-panel>summary::-webkit-details-marker,.ds-editor-card>summary::-webkit-details-marker,.bp-more-info>summary::-webkit-details-marker{display:none}.bp-admin-panel>summary>span:first-child,.ds-editor-card>summary>span:first-child,.bp-more-info>summary>span:first-child{display:grid;gap:3px}.bp-admin-panel>summary strong,.ds-editor-card>summary strong,.bp-more-info>summary strong{font-size:14px}.bp-admin-panel>summary small,.ds-editor-card>summary small,.bp-more-info>summary small{font-size:10px;color:var(--muted)}.bp-admin-panel>summary>span:last-child,.ds-editor-card>summary>span:last-child,.bp-more-info>summary>span:last-child{font-size:18px;color:#6f7a72;transition:transform .16s ease}.bp-admin-panel[open]>summary,.ds-editor-card[open]>summary,.bp-more-info[open]>summary{border-bottom:1px solid #edf0ed;background:#fbfcfb}.bp-admin-panel[open]>summary>span:last-child,.ds-editor-card[open]>summary>span:last-child,.bp-more-info[open]>summary>span:last-child{transform:rotate(180deg)}.bp-admin-body,.ds-editor-body,.bp-more-info-body{padding:20px 22px 22px}.bp-duration-field,.ds-duration-field{margin:0;padding:11px 12px;border:1px solid #dfe5e0;border-radius:10px;background:#fbfcfb}.bp-duration-field legend,.ds-duration-field legend{padding:0 4px;font-size:10px;font-weight:800}.bp-duration-field>div,.ds-duration-field>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bp-duration-field label,.ds-duration-field label{display:grid;gap:4px}.bp-duration-field small,.ds-duration-field small{font-size:9px;color:var(--muted)}.bp-advanced{margin:8px 0;border:1px solid #e3e7e4;border-radius:10px;background:#fafbfa}.bp-advanced>summary{cursor:pointer;padding:10px 12px;font-size:10px;font-weight:800;color:#59675e}.bp-advanced label{display:grid;gap:5px;padding:0 12px 12px}.bp-history-list{display:grid;gap:8px}.bp-history-list>div{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(160px,.6fr) minmax(0,1.4fr);gap:12px;padding:10px 12px;border:1px solid #e5e9e6;border-radius:9px;background:#fff}.bp-history-list strong{font-size:10.5px}.bp-history-list span,.bp-history-list small{font-size:9.5px;color:var(--muted)}.bp-more-info{margin-top:18px}.bp-more-info-body{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bp-more-info-body .notice{grid-column:1/-1}
.ds-schedule-list{display:grid;gap:10px}.ds-schedule-card{border:1px solid #e1e6e2;border-radius:13px;background:#fff;overflow:hidden}.ds-schedule-card>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 17px;cursor:pointer;list-style:none}.ds-schedule-card>summary::-webkit-details-marker{display:none}.ds-schedule-card[open]>summary{border-bottom:1px solid #edf0ed;background:#fbfcfb}.ds-schedule-summary-main{display:grid;gap:5px}.ds-schedule-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ds-schedule-title strong{font-size:14px}.ds-schedule-summary-main>small{font-size:9.5px;color:var(--muted);line-height:1.4}.ds-schedule-facts{display:flex;gap:7px 13px;align-items:center;flex-wrap:wrap;color:#5d675f;font-size:10px}.ds-schedule-facts span{position:relative}.ds-schedule-facts span+span:before{content:'•';position:absolute;left:-8px;color:#a0aaa2}.ds-schedule-facts b{font-size:10.5px;color:#26332b}.ds-chevron{font-size:18px;color:#748078;transition:transform .16s ease}.ds-schedule-card[open] .ds-chevron{transform:rotate(180deg)}.ds-schedule-card.is-inactive{opacity:.82;background:#fafbfa}.ds-schedule-detail{display:grid;gap:12px;padding:14px 17px 16px}.ds-version-note{display:grid;gap:3px;padding:10px 12px;border-left:4px solid #8da596;border-radius:9px;background:#f7faf8}.ds-version-note.clear{border-left-color:#adb9b0}.ds-version-note strong{font-size:10.5px}.ds-version-note span{font-size:9.5px;line-height:1.45;color:#657168}.ds-note{margin:0;font-size:10px;color:#657168}.ds-card-actions{display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap}.ds-card-actions .primary-button{min-height:36px;text-decoration:none}.ds-more-actions{border:1px solid #e2e7e3;border-radius:9px;background:#fafbfa}.ds-more-actions>summary{cursor:pointer;padding:9px 11px;font-size:9.5px;font-weight:800;color:#59675e}.ds-more-actions>div{display:grid;gap:10px;padding:0 11px 11px;min-width:300px}.ds-more-actions form{display:grid;gap:6px}.ds-more-actions label{display:grid;gap:4px}.ds-more-actions label span{font-size:9px;font-weight:800}.ds-more-actions input{min-height:36px;border:1px solid #d9dfda;border-radius:8px;padding:7px 9px;background:#fff;font:inherit}.ds-more-actions small{font-size:9px;line-height:1.4;color:var(--muted)}.ds-version-warning{display:grid;gap:4px;margin-bottom:14px;padding:11px 13px;border-left:4px solid #c69b4d;border-radius:9px;background:#fff9ef}.ds-version-warning strong{font-size:10.5px}.ds-version-warning span{font-size:9.5px;color:#6d6451;line-height:1.45}.ds-duration-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ds-duration-field>.ds-auto-target{display:flex;align-items:center;gap:7px;margin-bottom:9px;font-size:9.5px;font-weight:700}.ds-duration-field>.ds-auto-target input{width:auto}.ds-live-summary{padding:10px 12px;border-left:4px solid #8ca094;border-radius:9px;background:#f7faf8;color:#46564d;font-size:10px;font-weight:800}.ds-editor-form .form-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.ds-editor-form .form-actions .button,.ds-editor-form .form-actions .primary-button{width:auto}
.shift-template-summary{list-style:none}.shift-template-summary::-webkit-details-marker{display:none}.shift-template-item select[name="sleeping_performance_type_id"],.st-create-card select[name="sleeping_performance_type_id"]{min-width:260px}.st-usage-note a{color:inherit;font-weight:800}
@media(max-width:1050px){.bp-hr-summary,.ds-hr-summary{align-items:flex-start;flex-direction:column}.bp-hr-stats,.ds-hr-stats{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.ds-hr-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bp-hr-stats>span,.ds-hr-stats>span{min-width:0}.bp-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.bp-filter-actions{grid-column:1/-1}.bp-policy-card{grid-template-columns:1fr}.bp-policy-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.bp-policy-actions>div{min-width:0}.bp-signal-item{grid-template-columns:1fr}.ds-duration-grid{grid-template-columns:1fr}}
@media(max-width:700px){.bp-hr-stats,.ds-hr-stats,.bp-policy-facts,.bp-filters{grid-template-columns:1fr}.bp-signal-card>header,.bp-signal-card>footer{align-items:flex-start;flex-direction:column}.bp-history-list>div{grid-template-columns:1fr}.bp-more-info-body{grid-template-columns:1fr}.bp-more-info-body .notice{grid-column:auto}.bp-admin-body,.ds-editor-body,.bp-more-info-body{padding:17px 15px}.ds-schedule-card>summary{grid-template-columns:1fr}.ds-chevron{display:none}.ds-schedule-facts{display:grid;grid-template-columns:1fr;gap:4px}.ds-schedule-facts span+span:before{display:none}.ds-more-actions>div{min-width:0}.ds-card-actions .primary-button{width:100%}}

/* v0.87.90 — Regels & toeslagen HR-first + kleine pauze/dagroosterpolish */
.rules-page{display:block}.rules-hr-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px;padding:22px 26px;border-left:5px solid #8fa596;background:#f9fbf9}.rules-hr-summary>div:first-child{max-width:820px}.rules-hr-summary h2{margin:3px 0 7px;font-size:21px;color:#26332b}.rules-hr-summary p:last-child{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.rules-hr-stats{display:flex;gap:10px;flex:0 0 auto}.rules-hr-stats>span{display:grid;gap:2px;min-width:126px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff}.rules-hr-stats strong{font-size:20px}.rules-hr-stats small{color:var(--muted);font-size:9px;font-weight:800;line-height:1.25}.rules-overview-panel,.rule-selected-panel{margin-top:18px}.rule-set-list{display:grid;gap:10px}.rule-set-card{display:grid;grid-template-columns:minmax(260px,1.3fr) minmax(360px,1.35fr) auto;align-items:center;gap:14px;padding:14px 16px;border:1px solid #e1e6e2;border-radius:13px;background:#fff}.rule-set-card.is-selected{border-color:#b7c6bc;background:#fbfcfb}.rule-set-main{display:grid;gap:4px;min-width:0}.rule-set-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rule-set-title strong{font-size:13px}.rule-set-main p{margin:0;color:#5f6962;font-size:10px;line-height:1.4}.rule-set-main small{color:var(--muted);font-size:9.5px}.rule-state{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:4px 8px;border-radius:999px;font-size:8.5px;font-weight:850;white-space:nowrap}.rule-state-current{background:#eaf3ed;color:#4f745d}.rule-state-planned{background:#eef2fb;color:#566b96}.rule-state-draft{background:#f1f1ef;color:#71766f}.rule-state-historical{background:#f4eeee;color:#8a6767}.rule-set-facts{display:grid;grid-template-columns:1.35fr .6fr 1fr;gap:8px}.rule-set-facts>span{display:grid;gap:2px;padding:8px 10px;border:1px solid #e3e7e4;border-radius:10px;background:#fafbfa;min-width:0}.rule-set-facts small{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.03em;color:#758078}.rule-set-facts b{font-size:10px;color:#2b342e;line-height:1.35}.rule-set-card>.secondary-button{min-height:36px;display:inline-flex;align-items:center;text-decoration:none}.rule-selected-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.rule-set-description{margin:-6px 0 15px;color:#5f6962;font-size:11px;line-height:1.5}.rules-readable-list{display:grid;gap:9px}.rule-readable-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #e3e7e4;border-radius:11px;background:#fff}.rule-readable-card>div{display:grid;gap:3px}.rule-readable-card strong{font-size:11.5px}.rule-readable-card span:not(.review-chip){font-size:10px;color:#536158}.rule-readable-card small{font-size:9.5px;color:var(--muted)}.rules-activation-note{display:grid;gap:4px;margin-top:15px;padding:11px 13px;border-left:4px solid #c69b4d;border-radius:9px;background:#fff9ef}.rules-activation-note.is-clear{border-left-color:#91a598;background:#f7faf8}.rules-activation-note strong{font-size:10.5px}.rules-activation-note p{margin:0;font-size:9.8px;line-height:1.5;color:#655f50}.rules-activation-note.is-clear p{color:#5d6961}.rules-management-section{display:grid;gap:12px;margin-top:28px}.rules-management-intro{padding:0 4px}.rules-management-intro h2{margin:2px 0 4px;font-size:20px;color:#26332b}.rules-admin-panel,.rules-more-info{padding:0;overflow:hidden}.rules-admin-panel>summary,.rules-more-info>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;cursor:pointer;list-style:none}.rules-admin-panel>summary::-webkit-details-marker,.rules-more-info>summary::-webkit-details-marker{display:none}.rules-admin-panel>summary>span:first-child,.rules-more-info>summary>span:first-child{display:grid;gap:3px}.rules-admin-panel>summary strong,.rules-more-info>summary strong{font-size:14px}.rules-admin-panel>summary small,.rules-more-info>summary small{font-size:10px;color:var(--muted)}.rules-admin-panel>summary>span:last-child,.rules-more-info>summary>span:last-child{font-size:18px;color:#6f7a72;transition:transform .16s ease}.rules-admin-panel[open]>summary,.rules-more-info[open]>summary{border-bottom:1px solid #edf0ed;background:#fbfcfb}.rules-admin-panel[open]>summary>span:last-child,.rules-more-info[open]>summary>span:last-child{transform:rotate(180deg)}.rules-admin-body,.rules-more-info-body{padding:20px 22px 22px}.rules-more-info{margin-top:18px}.rules-more-info-body{display:grid;gap:10px}.rules-more-info-body p{margin:0;line-height:1.55;color:#59665e}.rule-form-dynamic{grid-template-columns:repeat(3,minmax(0,1fr))}.rule-form-dynamic .notes-field.wide{grid-column:span 3}.rule-duration-field{margin:0;padding:11px 12px;border:1px solid #dfe5e0;border-radius:10px;background:#fbfcfb}.rule-duration-field legend{padding:0 4px;font-size:10px;font-weight:800}.rule-duration-field>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rule-duration-field label{display:grid;gap:4px}.rule-duration-field small{font-size:9px;color:var(--muted)}.rule-window-fields{grid-column:span 2}.rule-review-check{min-height:68px;align-self:stretch!important;padding:10px 12px!important;border:1px solid #e0e5e1;border-radius:10px;background:#fafbfa}.rule-review-check>span{display:grid;gap:2px}.rule-review-check b{font-size:10px}.rule-review-check small{font-size:9px;color:var(--muted);font-weight:500;line-height:1.4}.rule-advanced{grid-column:span 3;border:1px solid #e3e7e4;border-radius:10px;background:#fafbfa}.rule-advanced>summary{cursor:pointer;padding:10px 12px;font-size:10px;font-weight:800;color:#59675e}.rule-advanced label{display:grid;gap:5px;padding:0 12px 12px}.rule-advanced small{font-size:9px;color:var(--muted)}.bp-signal-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.bp-signal-header-actions .secondary-button{min-height:32px;padding:7px 10px;text-decoration:none;font-size:9px}.bp-signal-card>footer{justify-content:flex-start}.bp-signal-card>footer small{font-size:9px;color:var(--muted)}
@media(max-width:1150px){.rules-hr-summary{align-items:flex-start;flex-direction:column}.rules-hr-stats{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.rules-hr-stats>span{min-width:0}.rule-set-card{grid-template-columns:1fr}.rule-set-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.rule-set-card>.secondary-button{width:max-content}.rule-form-dynamic{grid-template-columns:repeat(2,minmax(0,1fr))}.rule-form-dynamic .notes-field.wide,.rule-advanced{grid-column:span 2}.rule-window-fields{grid-column:span 2}}
@media(max-width:700px){.rules-hr-stats,.rule-set-facts,.rule-form-dynamic{grid-template-columns:1fr}.rule-form-dynamic .notes-field.wide,.rule-advanced,.rule-window-fields{grid-column:auto}.rule-readable-card,.rule-selected-head{align-items:flex-start;flex-direction:column}.rules-admin-body,.rules-more-info-body{padding:17px 15px}.bp-signal-header-actions{align-items:flex-start;justify-content:flex-start}.bp-signal-header-actions .secondary-button{width:100%}}

/* v0.87.91 — Kalender & opvolging HR-first + globale typografiepolish */
/* Lichte globale leesbaarheidsstap voor de HR/werkgeverinstellingen. */
.settings-page .page-header p{font-size:16px;line-height:1.6}
.settings-page .settings-card-head h2{font-size:22px;line-height:1.2}
.settings-page .settings-card-head p{font-size:15px;line-height:1.55}
.settings-page .settings-form-grid label,.settings-page .date-range-fields label{font-size:13px}
.settings-page .settings-form-grid input,.settings-page .settings-form-grid select,.settings-page .date-range-fields input,.settings-page .date-range-fields select{font-size:14px}
.settings-page .button,.settings-page .primary-button,.settings-page .secondary-button{font-size:15px}
.settings-page .settings-table{font-size:14px}.settings-page .settings-table th{font-size:11.5px}.settings-page .settings-table td{font-size:14px}.settings-page .settings-table td small{font-size:12px}
.settings-page .type-badge,.settings-page .paid-indicator,.settings-page .status-chip,.settings-page .review-chip{font-size:10.5px}
.settings-page .settings-info-note strong{font-size:14px}.settings-page .settings-info-note p{font-size:13.5px}
.settings-page .settings-empty strong{font-size:15px}.settings-page .settings-empty span{font-size:13px}
.settings-page .field-help{font-size:12px;color:var(--muted);font-weight:500;line-height:1.45}
.rules-hr-summary p:last-child,.bp-hr-summary p:last-child,.ds-hr-summary p:last-child{font-size:14px}
.rules-hr-stats small,.bp-hr-stats small,.ds-hr-stats small{font-size:11px}
.rule-set-title strong,.rule-readable-card strong{font-size:15px}.rule-set-main p,.rule-set-main small,.rule-readable-card span:not(.review-chip),.rule-readable-card small{font-size:12.5px}

/* Feestdagen */
.holiday-hr-summary{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-top:18px;padding:24px 30px;border-left:5px solid #8fa596;background:#f9fbf9}.holiday-hr-summary>div:first-child{max-width:850px}.holiday-hr-summary h2{margin:3px 0 8px;font-size:24px;color:#26332b}.holiday-hr-summary p{margin:0;color:var(--muted);font-size:15px;line-height:1.55}.holiday-summary-side{display:grid;gap:10px;min-width:440px}.holiday-year-picker{display:grid;grid-template-columns:44px 1fr 44px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;min-height:44px}.holiday-year-picker a,.holiday-year-picker strong{display:flex;align-items:center;justify-content:center;text-decoration:none;color:#536158;font-weight:850}.holiday-year-picker strong{border-left:1px solid var(--line);border-right:1px solid var(--line);color:#263029;font-size:16px}.holiday-hr-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.holiday-hr-stats>span{display:grid;gap:3px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff}.holiday-hr-stats strong{font-size:22px}.holiday-hr-stats small{font-size:11px;color:var(--muted);font-weight:800;line-height:1.25}.holiday-calendar-card,.holiday-company-card{margin-top:18px}.holiday-complete-state{display:inline-flex;align-items:center;padding:9px 12px;border-radius:999px;background:#edf5ef;color:#4f7158;font-size:13px;font-weight:800}.holiday-list{display:grid;border-top:1px solid #edf0ed}.holiday-row{display:grid;grid-template-columns:170px minmax(260px,1fr) minmax(320px,1.15fr);gap:18px;align-items:center;padding:16px 4px;border-bottom:1px solid #edf0ed}.holiday-row:last-child{border-bottom:0}.holiday-row.is-weekend{background:transparent}.holiday-row.is-weekend.needs-action{background:linear-gradient(90deg,#fffaf1,transparent 55%)}.holiday-row.is-weekend.has-replacement{background:linear-gradient(90deg,#f7fbf8,transparent 55%)}.holiday-row-date,.holiday-row-main{display:grid;gap:3px}.holiday-row-date strong,.holiday-row-main strong{font-size:15px}.holiday-row-date span,.holiday-row-main small{font-size:13px;color:var(--muted)}.holiday-row-status{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.holiday-replacement-chip,.holiday-ok-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;font-size:12px;font-weight:650}.holiday-replacement-chip{display:grid;background:#edf5ef;color:#4f7158}.holiday-replacement-chip b{font-size:11px;letter-spacing:.01em}.holiday-replacement-chip small{font-size:11px;color:#64766a;font-weight:650}.holiday-ok-chip{background:#f3f5f3;color:#69726b}.holiday-add-replacement{text-decoration:none;min-height:36px;padding:8px 11px}.holiday-company-list{display:grid;gap:9px}.holiday-company-list article{padding:12px 14px;border:1px solid #e3e7e4;border-radius:11px;background:#fbfcfb}.holiday-company-list article>div{display:grid;gap:4px}.holiday-company-list strong{font-size:14px}.holiday-company-list small{font-size:12px;color:var(--muted)}.holiday-management-section{display:grid;gap:12px;margin-top:26px}.holiday-management-intro{padding:0 4px}.holiday-management-intro h2{margin:2px 0 4px;font-size:24px;color:#26332b}.holiday-admin-panel,.holiday-more-info{padding:0;overflow:hidden}.holiday-admin-panel>summary,.holiday-more-info>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;cursor:pointer;list-style:none}.holiday-admin-panel>summary::-webkit-details-marker,.holiday-more-info>summary::-webkit-details-marker{display:none}.holiday-admin-panel>summary>span:first-child,.holiday-more-info>summary>span:first-child{display:grid;gap:4px}.holiday-admin-panel>summary strong,.holiday-more-info>summary strong{font-size:16px}.holiday-admin-panel>summary small,.holiday-more-info>summary small{font-size:13px;color:var(--muted)}.holiday-admin-panel>summary>span:last-child,.holiday-more-info>summary>span:last-child{font-size:18px;color:#6f7a72;transition:transform .16s ease}.holiday-admin-panel[open]>summary,.holiday-more-info[open]>summary{border-bottom:1px solid #edf0ed;background:#fbfcfb}.holiday-admin-panel[open]>summary>span:last-child,.holiday-more-info[open]>summary>span:last-child{transform:rotate(180deg)}.holiday-admin-body,.holiday-more-info-body{padding:20px 22px 22px}.holiday-more-info{margin-top:18px}.holiday-more-info-body p{margin:0;color:#59665e;font-size:14px;line-height:1.6}

/* Feestdagen & inhaalrust */
.hc-hr-summary{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-top:18px;padding:24px 30px;border-left:5px solid #8fa596;background:#f9fbf9}.hc-hr-summary>div:first-child{max-width:820px}.hc-hr-summary h2{margin:3px 0 8px;font-size:24px;color:#26332b}.hc-hr-summary p{margin:0;color:var(--muted);font-size:15px;line-height:1.55}.hc-summary-side{display:grid;gap:10px;min-width:520px}.hc-year-switch{justify-self:end}.hc-hr-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.hc-hr-stats>span{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.hc-hr-stats>span.is-clear{background:#f3f8f4;border-color:#dbe8de}.hc-hr-stats strong{font-size:21px}.hc-hr-stats small{font-size:10.5px;color:var(--muted);font-weight:800;line-height:1.25}.hc-rights-panel{margin-top:18px}.hc-right-list{display:grid;gap:11px}.hc-right-card{padding:16px;border:1px solid #e1e6e2;border-radius:14px;background:#fff}.hc-right-card.has-late{border-color:#e5c88d;background:#fffdf8}.hc-right-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.hc-right-head>div:first-child{display:grid;gap:3px}.hc-right-head strong{font-size:16px}.hc-right-head small{font-size:13px;color:var(--muted)}.hc-right-head-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.hc-late-status{background:#f8f3e8!important;color:#8a6a2c!important;border-color:#ebdfc7!important;opacity:.88}.hc-right-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:13px}.hc-right-facts>span{display:grid;gap:3px;padding:9px 10px;border:1px solid #e5e9e6;border-radius:10px;background:#fafbfa}.hc-right-facts small{font-size:10.5px;color:#738077;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.hc-right-facts b{font-size:14px}.hc-complete-line,.hc-progress-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px;padding:10px 12px;border-radius:10px;background:#f4f7f4}.hc-complete-line strong,.hc-progress-line strong{font-size:13px}.hc-complete-line span{font-size:12px;color:var(--muted)}.hc-what-now{display:grid;gap:3px;margin-top:12px;padding:11px 13px;border-left:4px solid #8fa596;border-radius:9px;background:#f7faf8}.hc-what-now.warning{border-left-color:#c99c49;background:#fff9ef}.hc-what-now.is-clear{border-left-color:#aeb8b1;background:#fafbfa}.hc-what-now strong{font-size:12px}.hc-what-now span{font-size:13px;line-height:1.45;color:#5e6961}.hc-right-actions{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;margin-top:12px}.hc-right-actions details{min-width:260px}.hc-management-section{display:grid;gap:12px;margin-top:26px}.hc-management-intro h2{margin:2px 0 4px;font-size:24px}.hc-admin-panel,.hc-more-info{padding:0;overflow:hidden}.hc-admin-panel>summary,.hc-more-info>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;cursor:pointer;list-style:none}.hc-admin-panel>summary::-webkit-details-marker,.hc-more-info>summary::-webkit-details-marker{display:none}.hc-admin-panel>summary>span:first-child,.hc-more-info>summary>span:first-child{display:grid;gap:4px}.hc-admin-panel>summary strong,.hc-more-info>summary strong{font-size:16px}.hc-admin-panel>summary small,.hc-more-info>summary small{font-size:13px;color:var(--muted)}.hc-admin-panel>summary>span:last-child,.hc-more-info>summary>span:last-child{font-size:18px;transition:transform .16s ease}.hc-admin-panel[open]>summary,.hc-more-info[open]>summary{border-bottom:1px solid #edf0ed;background:#fbfcfb}.hc-admin-panel[open]>summary>span:last-child,.hc-more-info[open]>summary>span:last-child{transform:rotate(180deg)}.hc-admin-body,.hc-more-info-body{padding:20px 22px 22px}.hc-policy-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hc-duration-field{margin:0;padding:11px 12px;border:1px solid #dfe5e0;border-radius:10px;background:#fbfcfb}.hc-duration-field legend{padding:0 4px;font-size:13px;font-weight:800}.hc-duration-field>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hc-duration-field label{display:grid;gap:4px}.hc-duration-field small{font-size:12px;color:var(--muted)}.hc-admin-note{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.55}.hc-more-info{margin-top:18px}.hc-more-info-body p{margin:0;color:#59665e;font-size:14px;line-height:1.6}

/* Referteperiodes & glijtijdsaldi */
.ref-hr-summary{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-top:18px;padding:24px 30px;border-left:5px solid #8fa596;background:#f9fbf9}.ref-hr-summary>div:first-child{max-width:820px}.ref-hr-summary h2{margin:3px 0 8px;font-size:24px;color:#26332b}.ref-hr-summary p{margin:0;color:var(--muted);font-size:15px;line-height:1.55}.ref-hr-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:600px}.ref-hr-stats>span{display:grid;gap:3px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff}.ref-hr-stats strong{font-size:21px}.ref-hr-stats small{font-size:10.5px;color:var(--muted);font-weight:800;line-height:1.25}.ref-action-panel,.ref-running-panel,.ref-policy-panel{margin-top:18px}.ref-balance-list,.ref-running-list,.ref-policy-list{display:grid;gap:10px}.ref-balance-card{display:grid;grid-template-columns:minmax(220px,.95fr) 190px minmax(380px,1.2fr);gap:13px;align-items:start;padding:15px;border:1px solid #e2e6e3;border-radius:13px;background:#fff}.ref-balance-card.requires-action{border-left:4px solid #c99c49}.ref-balance-main{display:grid;gap:4px}.ref-balance-main strong{font-size:15px}.ref-balance-main small{font-size:12px;color:var(--muted)}.ref-balance-period{display:grid;gap:3px}.ref-balance-period span{font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase}.ref-balance-period b{font-size:12px}.ref-balance-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.ref-balance-facts>span{display:grid;gap:3px;padding:8px 9px;border:1px solid #e6e9e7;border-radius:9px;background:#fafbfa}.ref-balance-facts small{font-size:10px;color:var(--muted);font-weight:800}.ref-balance-facts b{font-size:13px}.ref-balance-action{grid-column:1/-1}.ref-what-now{display:grid;gap:3px;padding:10px 12px;border-left:4px solid #8fa596;border-radius:9px;background:#f7faf8}.ref-what-now.warning{border-left-color:#c99c49;background:#fff9ef}.ref-what-now strong{font-size:12px}.ref-what-now span{font-size:13px;color:#5f6962;line-height:1.45}.ref-limit-explanation{grid-column:1/-1;margin-top:-3px;padding:8px 10px;border-radius:8px;background:#fff9ef;color:#765820;font-size:12px;line-height:1.4}.ref-review-form{margin-top:10px}.ref-review-followup{margin-top:10px}.ref-running-facts em{font-style:normal;font-size:10.5px;color:var(--muted);font-weight:650}.ref-review-reason{display:block;margin-top:8px;color:var(--muted);font-size:12px}.ref-automation-line{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:13px;padding:10px 12px;border:1px solid #e3e8e4;border-radius:10px;background:#fafbfa}.ref-automation-line span{font-size:12px;color:var(--muted)}.ref-automation-line strong{color:#334038}.ref-running-card{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(420px,1.4fr) 190px;gap:14px;align-items:center;padding:13px 14px;border:1px solid #e3e7e4;border-radius:12px;background:#fff}.ref-running-card>div:first-child{display:grid;gap:3px}.ref-running-card>div:first-child strong{font-size:14px}.ref-running-card>div:first-child small{font-size:12px;color:var(--muted)}.ref-running-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.ref-running-facts>span{display:grid;gap:2px;padding:8px 9px;border:1px solid #e6e9e7;border-radius:9px;background:#fafbfa}.ref-running-facts small{font-size:9.8px;color:var(--muted);font-weight:800}.ref-running-facts b{font-size:13px}.ref-running-state{display:grid;gap:4px;justify-items:start}.ref-running-state small{font-size:11px;color:var(--muted)}.ref-policy-card{display:grid;grid-template-columns:minmax(280px,1fr) minmax(360px,1.15fr);gap:14px;align-items:center;padding:14px 16px;border:1px solid #e2e6e3;border-radius:12px;background:#fff}.ref-policy-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.ref-policy-title strong{font-size:15px}.ref-policy-title small{width:100%;font-size:12px;color:var(--muted)}.ref-policy-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.ref-policy-facts>span{display:grid;gap:2px;padding:8px 9px;border:1px solid #e6e9e7;border-radius:9px;background:#fafbfa}.ref-policy-facts small{font-size:10px;color:var(--muted);font-weight:800}.ref-policy-facts b{font-size:13px}.ref-policy-card p{grid-column:1/-1;margin:0;color:var(--muted);font-size:12.5px}.ref-future-panel,.ref-history-panel,.ref-more-info,.ref-admin-panel{padding:0;overflow:hidden}.ref-future-panel{margin-top:18px}.ref-future-panel>summary,.ref-history-panel>summary,.ref-more-info>summary,.ref-admin-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;cursor:pointer;list-style:none}.ref-future-panel>summary::-webkit-details-marker,.ref-history-panel>summary::-webkit-details-marker,.ref-more-info>summary::-webkit-details-marker,.ref-admin-panel>summary::-webkit-details-marker{display:none}.ref-future-panel>summary>span:first-child,.ref-history-panel>summary>span:first-child,.ref-more-info>summary>span:first-child,.ref-admin-panel>summary>span:first-child{display:grid;gap:4px}.ref-future-panel>summary strong,.ref-history-panel>summary strong,.ref-more-info>summary strong,.ref-admin-panel>summary strong{font-size:16px}.ref-future-panel>summary small,.ref-history-panel>summary small,.ref-more-info>summary small,.ref-admin-panel>summary small{font-size:13px;color:var(--muted)}.ref-future-panel>summary>span:last-child,.ref-history-panel>summary>span:last-child,.ref-more-info>summary>span:last-child,.ref-admin-panel>summary>span:last-child{font-size:18px;transition:transform .16s ease}.ref-future-panel[open]>summary,.ref-history-panel[open]>summary,.ref-more-info[open]>summary,.ref-admin-panel[open]>summary{border-bottom:1px solid #edf0ed;background:#fbfcfb}.ref-future-panel[open]>summary>span:last-child,.ref-history-panel[open]>summary>span:last-child,.ref-more-info[open]>summary>span:last-child,.ref-admin-panel[open]>summary>span:last-child{transform:rotate(180deg)}.ref-future-body,.ref-history-body,.ref-more-info-body,.ref-admin-body{padding:20px 22px 22px}.ref-future-note,.ref-admin-note,.ref-more-info-body p{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.ref-history-list{display:grid;gap:8px}.ref-history-list article{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,.7fr) auto auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid #e5e8e6;border-radius:10px;background:#fafbfa}.ref-history-list article>div{display:grid;gap:2px}.ref-history-list strong{font-size:13px}.ref-history-list small,.ref-history-list span{font-size:11.5px;color:var(--muted)}.ref-management-section{display:grid;gap:12px;margin-top:26px}.ref-management-intro h2{margin:2px 0 4px;font-size:24px}.ref-policy-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}.ref-duration-field{margin:0;padding:11px 12px;border:1px solid #dfe5e0;border-radius:10px;background:#fbfcfb}.ref-duration-field legend{padding:0 4px;font-size:13px;font-weight:800}.ref-duration-field>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ref-duration-field label{display:grid;gap:4px}.ref-duration-field small{font-size:12px;color:var(--muted)}.ref-review-check{grid-column:span 2;min-height:76px;align-self:stretch!important;padding:12px 14px!important;border:1px solid #e0e5e1;border-radius:10px;background:#fafbfa}.ref-review-check>span{display:grid;gap:3px}.ref-review-check strong{font-size:13px}.ref-review-check small{font-size:12px;color:var(--muted);font-weight:500;line-height:1.4}.ref-assign-form{max-width:780px}.ref-more-info{margin-top:18px}

@media(max-width:1150px){.holiday-hr-summary,.hc-hr-summary,.ref-hr-summary{align-items:flex-start;flex-direction:column}.holiday-summary-side,.hc-summary-side,.ref-hr-stats{min-width:0;width:100%}.hc-hr-stats,.ref-hr-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.holiday-row{grid-template-columns:145px 1fr}.holiday-row-status{grid-column:1/-1;justify-content:flex-start}.hc-policy-grid,.ref-policy-form{grid-template-columns:repeat(2,minmax(0,1fr))}.ref-review-check{grid-column:span 2}.ref-balance-card,.ref-running-card,.ref-policy-card{grid-template-columns:1fr}.ref-running-state{grid-column:1}.ref-history-list article{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.holiday-hr-stats,.hc-hr-stats,.ref-hr-stats,.hc-right-facts,.ref-balance-facts,.ref-running-facts,.ref-policy-facts,.hc-policy-grid,.ref-policy-form{grid-template-columns:1fr}.holiday-row{grid-template-columns:1fr}.holiday-row-status{grid-column:auto}.hc-right-head{align-items:flex-start;flex-direction:column}.hc-right-head-actions{justify-content:flex-start}.holiday-admin-body,.holiday-more-info-body,.hc-admin-body,.hc-more-info-body,.ref-future-body,.ref-history-body,.ref-more-info-body,.ref-admin-body{padding:17px 15px}.ref-review-check{grid-column:auto}.ref-history-list article{grid-template-columns:1fr}.settings-page .page-header p{font-size:15px}}

/* v0.88.0 · Fase 1 planningruimte: inklapbare sidebar en focusmodus */
.sidebar{overflow:visible}
.sidebar-toggle{
    position:absolute;
    top:22px;
    right:-15px;
    z-index:95;
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid #dfe4df;
    border-radius:999px;
    background:#fff;
    color:#5d6a61;
    box-shadow:0 5px 16px rgba(28,39,31,.08);
    cursor:pointer;
    transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.sidebar-toggle:hover{background:#f5f7f5;border-color:#ccd4cd;color:#304438}
.sidebar-toggle:focus-visible{outline:3px solid rgba(79,102,86,.2);outline-offset:2px}
.sidebar-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.nav-item{display:flex;align-items:center;gap:10px;min-width:0;transition:background .15s ease,color .15s ease,padding .18s ease}
.nav-icon{width:19px;height:19px;display:grid;place-items:center;flex:0 0 19px;color:#6c756f}
.nav-icon svg{width:18px;height:18px;display:block}
.nav-item.active .nav-icon,.nav-item:hover .nav-icon{color:#344b3d}
.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-avatar-link{text-decoration:none}
.logout-button{display:flex;align-items:center;gap:8px}
.logout-button svg{display:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

@media(min-width:981px){
    .app-shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}
    .app-shell.sidebar-collapsed .sidebar{padding-left:10px;padding-right:10px}
    .app-shell.sidebar-collapsed .sidebar-toggle svg{transform:rotate(180deg)}
    .app-shell.sidebar-collapsed .brand-row{justify-content:center;padding-left:0;padding-right:0}
    .app-shell.sidebar-collapsed .brand-name,
    .app-shell.sidebar-collapsed .organisation-chip,
    .app-shell.sidebar-collapsed .sidebar-user-text,
    .app-shell.sidebar-collapsed .sidebar-version{display:none}
    .app-shell.sidebar-collapsed .nav{padding-right:0}
    .app-shell.sidebar-collapsed .nav-item{justify-content:center;gap:0;padding:10px;border-radius:11px}
    .app-shell.sidebar-collapsed .nav-label{display:none}
    .app-shell.sidebar-collapsed .nav-icon{width:22px;height:22px;flex-basis:22px}
    .app-shell.sidebar-collapsed .nav-icon svg{width:20px;height:20px}
    .app-shell.sidebar-collapsed .sidebar-footer{justify-content:center;padding-left:0;padding-right:0}
    .app-shell.sidebar-collapsed .logout-form{display:flex;justify-content:center}
    .app-shell.sidebar-collapsed .logout-button{width:38px;height:38px;margin:0;justify-content:center;border-radius:10px;color:#6d756f}
    .app-shell.sidebar-collapsed .logout-button:hover{background:#f1f3f0;text-decoration:none;color:#34483b}
    .app-shell.sidebar-collapsed .logout-button svg{display:block}
    .app-shell.sidebar-collapsed .logout-button span{display:none}
    .app-shell.sidebar-collapsed .content{max-width:1800px}
}

.planning-focus-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.planning-focus-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-shell.planning-focus-mode{grid-template-columns:minmax(0,1fr)}
.app-shell.planning-focus-mode .sidebar{display:none}
.app-shell.planning-focus-mode .content{max-width:none;width:100%;padding-left:24px;padding-right:24px}
.app-shell.planning-focus-mode .planning-page-header{position:relative}

@media(max-width:980px){
    .sidebar-toggle{display:none}
    .planning-focus-button{display:none}
}

/* v0.89.0 · Planning Fase 2: compact Planbord */
.planning-board-panel{padding:18px}
.planning-board-head{gap:18px}
.planning-board-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.planning-board-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:2px 0 13px;padding:9px 11px;border:1px solid #e5e9e6;border-radius:11px;background:#fafbfa}
.planning-board-legend span{display:inline-flex;align-items:center;gap:6px;color:#667169;font-size:9px;font-weight:800}
.planning-board-legend span::before{content:"";width:8px;height:8px;border-radius:999px;background:#b9c2bc}
.planning-board-legend .is-published::before{background:#6f9478}.planning-board-legend .is-draft::before{background:#aeb7b1}.planning-board-legend .is-changed::before{background:#c79b4d}.planning-board-legend .is-warning::before{background:#b36b54}.planning-board-legend .is-open::before{background:#6f8294}
.planning-board-scroll{overflow-x:hidden;overflow-y:visible;border:1px solid #dfe5e1;border-radius:13px;background:#fff}
.planning-board-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0}
.planning-board-table th,.planning-board-table td{border-right:1px solid #e9edeb;border-bottom:1px solid #e9edeb;vertical-align:top}
.planning-board-table tr>*:last-child{border-right:0}.planning-board-table tfoot tr:last-child>*{border-bottom:0}
.planning-board-table thead th{height:47px;padding:8px 6px;text-align:center;background:#f7f9f7;color:#536158}
.planning-board-table thead th>span{display:block;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.planning-board-table thead th>small{display:block;margin-top:2px;color:#7b857e;font-size:8.5px;font-weight:750}
.planning-board-person-col{width:150px;min-width:150px;max-width:150px;text-align:left!important}
.planning-board-table tbody .planning-board-person-col,.planning-board-table tfoot .planning-board-person-col{padding:9px 10px;background:#fbfcfb}
.planning-board-table tbody .planning-board-person-col strong,.planning-board-table tfoot .planning-board-person-col strong{display:block;color:#334039;font-size:10px;line-height:1.3;overflow-wrap:anywhere}
.planning-board-table tbody .planning-board-person-col small,.planning-board-table tfoot .planning-board-person-col small{display:block;margin-top:2px;color:#858d88;font-size:7.5px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.planning-board-table tbody td{padding:5px;background:#fff}.planning-board-table td.is-weekend,.planning-board-table th.is-weekend{background:#fcfbf8}.planning-board-table td.is-today,.planning-board-table th.is-today{box-shadow:inset 0 0 0 1px rgba(79,105,87,.19);background:#f8fbf8}
.planning-board-open-row .planning-board-person-col{background:#f4f7f8}.planning-board-open-row td{background:#fbfcfd}.planning-board-open-row td.is-weekend{background:#fafaf9}.planning-board-open-row .planning-board-person-col strong{color:#445c69}
.planning-board-stack{display:grid;gap:4px;min-height:48px}.planning-board-empty{display:flex;align-items:center;justify-content:center;min-height:46px;color:#a1a8a3;font-size:8px;font-weight:650;text-align:center}
.planning-board-card{position:relative;display:grid;gap:1px;min-width:0;padding:6px 7px 6px 9px;border:1px solid #e0e5e1;border-left:3px solid #aeb7b1;border-radius:8px;background:#fff;color:#3d4941;text-decoration:none;box-shadow:0 1px 1px rgba(32,44,35,.025);transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}
.planning-board-card:hover{z-index:2;transform:translateY(-1px);border-color:#c7d0c9;box-shadow:0 5px 12px rgba(32,44,35,.08)}
.planning-board-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#35423a;font-size:9px;line-height:1.25}.planning-board-card>span{display:block;color:#536058;font-size:8.5px;font-weight:800;line-height:1.25}.planning-board-card>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7a837d;font-size:7.2px;line-height:1.3}.planning-board-card>em{display:block;margin-top:2px;color:#727c75;font-size:6.8px;font-style:normal;font-weight:850;line-height:1.2}
.planning-board-card.is-published{border-left-color:#6f9478;background:#fbfdfb}.planning-board-card.is-draft{border-left-color:#aeb7b1}.planning-board-card.is-changed{border-left-color:#c79b4d;background:#fffdf8}.planning-board-card.has-warning{box-shadow:inset 0 0 0 1px rgba(179,107,84,.16)}.planning-board-card.has-warning>em{color:#985944}.planning-board-card.is-off{opacity:.76;background:#fafbfa}.planning-board-card.is-open{border-style:dashed;border-left-style:solid;border-left-color:#6f8294;background:#f8fbfd}.planning-board-card.is-open>em{color:#506a78}
.planning-board-total-row th,.planning-board-total-row td{background:#f7f9f7!important}.planning-board-total-row td{padding:8px 5px;text-align:center;vertical-align:middle}.planning-board-total-row td>strong{display:block;color:#344239;font-size:11px}.planning-board-total-row td>span{display:block;color:#78827b;font-size:7px;font-weight:800}.planning-board-total-row td>small{display:block;margin-top:2px;color:#697c8a;font-size:7px;font-weight:800}
.planning-board-footnote{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:10px;color:#7c857f;font-size:8.5px;line-height:1.4}

@media(max-width:1280px){
  .planning-board-scroll{overflow-x:auto;scrollbar-gutter:stable}
  .planning-board-table{min-width:1050px}
  .planning-board-person-col{width:142px;min-width:142px;max-width:142px}
}
@media(max-width:700px){
  .planning-board-panel{padding:13px}.planning-board-head-actions{justify-content:flex-start}.planning-board-scroll{margin-left:-5px;margin-right:-5px}.planning-board-table{min-width:1000px}.planning-board-footnote{display:grid;gap:4px}
}

/* v0.90.0 · Planning Fase 2.1 + Fase 3: Planbord polish en groeperingen */
.planning-board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:2px 0 10px}
.planning-board-toolbar>small{color:#7b857e;font-size:8px;line-height:1.35}
.planning-board-group-toggle{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:4px;border:1px solid #e1e6e3;border-radius:10px;background:#f8faf8}
.planning-board-group-toggle>span{padding:0 6px;color:#7b857e;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.planning-board-group-toggle a{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:7px;color:#59665e;font-size:8.5px;font-weight:800;text-decoration:none}
.planning-board-group-toggle a:hover{background:#fff;color:#36433b}
.planning-board-group-toggle a.is-active{background:#fff;color:#334239;box-shadow:0 1px 4px rgba(31,45,36,.08)}
.planning-board-open-action{font-size:9px;padding:7px 10px;white-space:nowrap}
.planning-board-legend{margin-top:0}
.planning-board-scroll{max-height:none;overflow-x:auto;overflow-y:visible;scrollbar-gutter:auto}
.planning-board-table thead th{position:relative;z-index:2}
.planning-board-person-col{position:sticky;left:0;z-index:3}
.planning-board-table thead .planning-board-person-col{z-index:5}
.planning-board-table tfoot th,.planning-board-table tfoot td{position:relative;z-index:2;box-shadow:0 -1px 0 #dfe5e1}
.planning-board-table tfoot .planning-board-person-col{z-index:4}
.app-shell.planning-focus-mode .planning-board-scroll{max-height:calc(100vh - 250px);overflow:auto;scrollbar-gutter:stable}
.app-shell.planning-focus-mode .planning-board-table thead th{position:sticky;top:0;z-index:6}
.app-shell.planning-focus-mode .planning-board-table thead .planning-board-person-col{z-index:8}
.app-shell.planning-focus-mode .planning-board-table tfoot th,.app-shell.planning-focus-mode .planning-board-table tfoot td{position:sticky;bottom:0;z-index:6}
.app-shell.planning-focus-mode .planning-board-table tfoot .planning-board-person-col{z-index:7}
.planning-board-group-row th{padding:6px 10px!important;background:#eef3ef!important;border-right:0!important;text-align:left!important;position:relative!important;left:auto!important;z-index:1!important}
.planning-board-group-row th span{display:inline-block;color:#3f5146;font-size:9px;font-weight:900}
.planning-board-group-row th small{display:inline-block;margin-left:7px;color:#7a857e;font-size:7.5px;font-weight:750}
.planning-board-open-row.is-empty th,.planning-board-open-row.is-empty td{padding-top:5px!important;padding-bottom:5px!important}
.planning-board-open-row.is-empty .planning-board-stack{min-height:26px}
.planning-board-open-row.is-empty .planning-board-empty{min-height:24px;color:#b2b8b4}
.planning-board-open-row.is-empty .planning-board-person-col small{margin-top:1px}
.planning-board-card>em{letter-spacing:.005em}
.planning-board-member-row .planning-board-person-col small{color:#737e76}

@media(max-width:1280px){
  .app-shell.planning-focus-mode .planning-board-scroll{max-height:calc(100vh - 225px)}
}
@media(max-width:700px){
  .planning-board-toolbar{align-items:flex-start}.planning-board-group-toggle{width:100%}.planning-board-toolbar>small{width:100%}
}

/* Planning Fase 4 — Planbord drag-and-drop */
.planning-board-dnd-hint{display:flex;align-items:center;gap:9px;margin:0 0 10px;padding:9px 11px;border:1px solid #dce5df;border-radius:11px;background:#f7faf8;color:#46544b}
.planning-board-dnd-hint>span:last-child{display:grid;gap:2px;min-width:0}.planning-board-dnd-hint strong{font-size:9px;line-height:1.2}.planning-board-dnd-hint small{color:#748078;font-size:8px;line-height:1.35}.planning-board-dnd-icon{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:7px;background:#eaf0ec;color:#536b5b;font-size:13px;font-weight:900}
.planning-board-person-drag{position:relative;padding-right:16px;cursor:grab;user-select:none}.planning-board-person-drag:active{cursor:grabbing}.planning-board-drag-handle{position:absolute;right:0;top:50%;transform:translateY(-50%);color:#a2aaa5;font-size:10px;letter-spacing:-3px;opacity:.7}.planning-board-person-drag:hover .planning-board-drag-handle{color:#66766c;opacity:1}
.planning-board-card.is-open[draggable="true"]{cursor:grab}.planning-board-card.is-open[draggable="true"]:active{cursor:grabbing}.planning-board-card.is-open[draggable="true"]>em{margin-top:3px;color:#617887;font-size:6.6px;font-weight:850}
.planning-board-card.is-dragging,.planning-board-person-drag.is-dragging{opacity:.42}
body.planning-board-is-dragging-open .planning-board-member-row{transition:background .12s ease,box-shadow .12s ease}body.planning-board-is-dragging-open .planning-board-member-row:hover>td,body.planning-board-is-dragging-open .planning-board-member-row:hover>th{background:#f7fbf8}
.planning-board-member-row.is-drop-target>th,.planning-board-member-row.is-drop-target>td{background:#edf7f0!important;box-shadow:inset 0 1px 0 #9ab9a4,inset 0 -1px 0 #9ab9a4}.planning-board-member-row.is-drop-target>th{box-shadow:inset 3px 0 0 #6f9478,inset 0 1px 0 #9ab9a4,inset 0 -1px 0 #9ab9a4}
.planning-board-card.is-open.is-drop-target{border-color:#73947d;border-style:solid;background:#eef7f1;box-shadow:0 0 0 2px rgba(111,148,120,.16)}
body.planning-board-is-dragging-member .planning-board-card.is-open{outline:1px dashed rgba(111,130,148,.45);outline-offset:2px}body.planning-board-is-dragging-open .planning-board-member-row .planning-board-person-col{color:#35483b}
@media(max-width:760px){.planning-board-dnd-hint{display:none}.planning-board-person-drag,.planning-board-card.is-open[draggable="true"]{cursor:pointer}.planning-board-drag-handle{display:none}}


/* v0.92.0 · Planning Fase 5: bestaande diensten verslepen + scrollcorrectie */
.planning-board-card.is-movable[draggable="true"]{cursor:grab}.planning-board-card.is-movable[draggable="true"]:active{cursor:grabbing}
body.planning-board-is-dragging-entry .planning-board-day-cell{transition:background .12s ease,box-shadow .12s ease}
body.planning-board-is-dragging-entry .planning-board-day-cell:not(.is-drop-target){background:#fbfcfb}
.planning-board-day-cell.is-drop-target{background:#edf7f0!important;box-shadow:inset 0 0 0 2px #8eae98!important}
.planning-board-day-cell.is-drop-target .planning-board-empty{color:#5f7f69;font-weight:850}
.planning-board-card.is-movable.is-dragging{opacity:.38;transform:scale(.985)}
.planning-board-move-dialog{width:min(560px,calc(100vw - 32px));padding:0;border:0;border-radius:18px;background:#fff;color:#344239;box-shadow:0 24px 70px rgba(32,44,35,.22)}
.planning-board-move-dialog::backdrop{background:rgba(25,35,29,.38);backdrop-filter:blur(2px)}
.planning-board-move-form{display:grid;gap:16px;padding:22px}
.planning-board-move-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.planning-board-move-head h3{margin:2px 0 0;font-size:20px}.planning-board-move-close{display:grid;place-items:center;width:34px;height:34px;border:1px solid #dde4df;border-radius:10px;background:#fff;color:#657168;font-size:22px;line-height:1;cursor:pointer}
.planning-board-move-summary{margin:0;padding:12px 14px;border:1px solid #e2e8e4;border-radius:12px;background:#f8faf8;font-size:13px;font-weight:800;line-height:1.45}
.planning-board-move-warning{display:grid;gap:3px;padding:11px 13px;border-left:3px solid #8aa596;border-radius:8px;background:#f5f8f6}.planning-board-move-warning strong{font-size:12px}.planning-board-move-warning span{color:#6f7972;font-size:11px;line-height:1.45}
.planning-board-move-reason{display:grid;gap:6px}.planning-board-move-reason>span{font-size:12px;font-weight:850}.planning-board-move-reason textarea{width:100%;min-height:86px;resize:vertical;padding:11px 12px;border:1px solid #d8e0db;border-radius:10px;font:inherit}.planning-board-move-reason small{color:#7a847d;font-size:10px}
.planning-board-move-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}
@media(max-width:760px){.planning-board-card.is-movable[draggable="true"]{cursor:pointer}.planning-board-move-form{padding:18px}.planning-board-move-actions>*{flex:1 1 auto}}

/* v0.93.0 · Planning undo, herstel & geschiedenis */
.planning-flash-with-action{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.planning-flash-with-action>span{min-width:0;flex:1 1 420px}
.planning-flash-with-action form{margin:0}
.planning-inline-undo{border:0;border-radius:9px;padding:7px 11px;background:#fff;color:#496053;font:inherit;font-size:12px;font-weight:850;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(73,96,83,.2)}
.planning-inline-undo:hover{background:#f7faf8}
.planning-board-history-action{font-size:9px;padding:7px 10px;white-space:nowrap}
.planning-board-move-summary{display:grid;gap:12px;margin:0;padding:14px;border:1px solid #e2e8e4;border-radius:12px;background:#f8faf8}
.planning-board-move-service{display:grid;gap:2px}.planning-board-move-service strong{font-size:14px;line-height:1.3}.planning-board-move-service span{color:#6f7a73;font-size:11px;font-weight:750}
.planning-board-move-route{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;padding-top:10px;border-top:1px solid #e5eae7}
.planning-board-move-route>div{display:grid;gap:2px}.planning-board-move-route>div>span{color:#829087;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.planning-board-move-route>div>strong{font-size:12px;line-height:1.3}.planning-board-move-route>div>small{color:#6f7a73;font-size:10px}.planning-board-move-route>b{color:#819187;font-size:18px}
.planning-history-dialog{width:min(820px,calc(100vw - 28px));max-height:min(88vh,850px);padding:0;border:0;border-radius:20px;background:#fff;color:#344239;box-shadow:0 24px 75px rgba(32,44,35,.24)}
.planning-history-dialog::backdrop{background:rgba(25,35,29,.38);backdrop-filter:blur(2px)}
.planning-history-shell{display:grid;gap:18px;padding:24px;max-height:inherit;overflow:auto}
.planning-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.planning-history-head h3{margin:2px 0 6px;font-size:22px}.planning-history-head p{margin:0;color:#6f7972;font-size:12px;line-height:1.5;max-width:620px}
.planning-history-eyebrow{display:block;color:#7b8a80;font-size:8px;font-weight:900;letter-spacing:.08em}
.planning-restore-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:18px;padding:17px;border:1px solid #dfe7e1;border-radius:15px;background:#f8faf8}
.planning-restore-card h4,.planning-history-list-head h4{margin:4px 0 5px;font-size:15px}.planning-restore-card p{margin:0;color:#66736b;font-size:11px;line-height:1.5}
.planning-restore-form{display:grid;gap:10px;align-content:start}.planning-restore-form label{display:grid;gap:5px}.planning-restore-form label>span{font-size:11px;font-weight:850}.planning-restore-form textarea{width:100%;min-height:68px;resize:vertical;padding:9px 10px;border:1px solid #d5ded8;border-radius:9px;background:#fff;font:inherit;font-size:11px}.planning-restore-form small{color:#7c8780;font-size:9px;line-height:1.4}.planning-restore-form button{justify-self:end}
.planning-history-list-section{display:grid;gap:10px}.planning-history-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.planning-history-list-head>small{max-width:360px;color:#7b857e;font-size:9px;line-height:1.4;text-align:right}
.planning-history-list{display:grid;gap:8px}.planning-history-empty{padding:16px;border:1px dashed #d9e1dc;border-radius:11px;color:#7c8780;font-size:11px;text-align:center}
.planning-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 13px;border:1px solid #e1e6e3;border-radius:11px;background:#fff}.planning-history-item.is-undone{background:#fafbfa;opacity:.78}.planning-history-item-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.planning-history-item-main>div{min-width:0}.planning-history-item-main strong{display:block;font-size:11px;line-height:1.35}.planning-history-item-main small{display:block;margin-top:3px;color:#7c8780;font-size:9px}.planning-history-item-main>span{flex:0 0 auto;padding:4px 7px;border-radius:999px;background:#eef4ef;color:#55705d;font-size:8px;font-weight:850}.planning-history-item.is-undone .planning-history-item-main>span{background:#f0f1f0;color:#7b817d}.planning-history-item p{grid-column:1/-1;margin:0;color:#7c8780;font-size:9px}.planning-history-item form{margin:0}.planning-history-item form button{white-space:nowrap;font-size:9px;padding:7px 10px}
@media(max-width:760px){.planning-board-move-route{grid-template-columns:1fr}.planning-board-move-route>b{transform:rotate(90deg);justify-self:start}.planning-restore-card{grid-template-columns:1fr}.planning-history-list-head{align-items:flex-start;flex-direction:column}.planning-history-list-head>small{text-align:left}.planning-history-item{grid-template-columns:1fr}.planning-history-item form button{width:100%}.planning-restore-form button{justify-self:stretch}.planning-history-shell{padding:18px}}

/* v0.94.0 · Planbord herstel, multi-undo en open-dienst terugzetten */
.planning-board-card.is-assigned-open{border-left-color:#6f8294;background:#f8fbfd;cursor:grab}.planning-board-card.is-assigned-open:active{cursor:grabbing}.planning-board-open-origin{display:block!important;margin-top:3px;color:#60798a!important;font-size:7px!important;font-weight:800!important;line-height:1.25}
body.planning-board-is-dragging-assigned-open [data-board-open-drop]{transition:background .12s ease,box-shadow .12s ease}body.planning-board-is-dragging-assigned-open [data-board-open-drop].is-available-drop-target:not(.is-drop-target){outline:2px dashed rgba(111,130,148,.38);outline-offset:-4px;background:#f8fbfd}
[data-board-open-drop].is-drop-target{background:#eef7f1!important;box-shadow:inset 0 0 0 2px rgba(111,148,120,.3)}
.planning-history-local-notice{display:grid;gap:3px;margin:0}.planning-history-local-notice strong{font-size:11px}.planning-history-local-notice span{font-size:10px;line-height:1.4}
.planning-history-last-undo{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #dfe7e2;border-radius:11px;background:#f8faf9}.planning-history-last-undo button{flex:0 0 auto}.planning-history-last-undo small{color:#6f7972;font-size:9px;line-height:1.35}
.planning-history-batch-form{display:grid;gap:10px}.planning-history-item{grid-template-columns:auto minmax(0,1fr);align-items:center}.planning-history-item.is-undone .planning-history-item-main{grid-column:1/-1}.planning-history-select{display:grid;place-items:center;width:26px;height:26px;margin:0;cursor:pointer}.planning-history-select input{width:16px;height:16px;margin:0;accent-color:#617b69}.planning-history-batch-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}.planning-history-batch-actions>span{color:#78827c;font-size:9px}.planning-history-batch-actions button{white-space:nowrap}
@media(max-width:760px){.planning-board-card.is-reopenable[draggable="true"]{cursor:pointer}.planning-history-last-undo,.planning-history-batch-actions{align-items:stretch;flex-direction:column}.planning-history-last-undo button,.planning-history-batch-actions button{width:100%}}

/* v0.95.0 · Planbord snelle undo + lokale statuspositie */
.planning-board-status-anchor{height:0;scroll-margin-top:18px}
.planning-board-local-status{display:grid;gap:8px;margin:0 0 12px}
.planning-board-status-notice{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:4px 10px;margin:0}
.planning-board-status-notice strong{font-size:11px;white-space:nowrap}
.planning-board-status-notice span{font-size:10px;line-height:1.45}
.planning-board-quick-undo{margin:0;display:inline-flex}
.planning-board-quick-undo-button{font-size:9px;padding:7px 10px;white-space:nowrap}
@media(max-width:760px){
  .planning-board-status-notice{grid-template-columns:1fr}
  .planning-board-quick-undo{width:100%}
  .planning-board-quick-undo-button{width:100%}
}

/* v0.96.0 · Herstelmodal scrollbar, lokale status en Planbord-positiebehoud */
.planning-history-dialog{overflow:hidden}
.planning-history-shell{max-height:min(88vh,850px);overflow-y:scroll;overflow-x:hidden;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#91a097 #edf1ee}
.planning-history-shell::-webkit-scrollbar{width:12px}
.planning-history-shell::-webkit-scrollbar-track{background:#edf1ee;border-radius:999px}
.planning-history-shell::-webkit-scrollbar-thumb{background:#91a097;border:3px solid #edf1ee;border-radius:999px}
.planning-history-shell::-webkit-scrollbar-thumb:hover{background:#74867a}
.planning-history-head{position:sticky;top:0;z-index:6;background:#fff;padding-bottom:12px;border-bottom:1px solid #edf0ee}
.planning-history-modal-status{display:grid;gap:8px;margin:0}
.planning-history-modal-status .notice{margin:0}
@media(max-width:760px){.planning-history-shell{max-height:90vh}.planning-history-shell::-webkit-scrollbar{width:9px}}

/* v0.97.0 · Compact herstelvenster + slim kandidatenzijpaneel */
.planning-history-quick-section{display:grid;gap:10px}
.planning-history-details{border:1px solid #dfe6e1;border-radius:12px;background:#fff;overflow:hidden}
.planning-history-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none;font-size:11px;font-weight:850;color:#405047}
.planning-history-details>summary::-webkit-details-marker{display:none}
.planning-history-details>summary:after{content:'+';display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#f1f5f2;color:#607168;font-size:16px;line-height:1}
.planning-history-details[open]>summary:after{content:'–'}
.planning-history-details>summary small{margin-left:auto;color:#7a857e;font-size:9px;font-weight:700}
.planning-history-details-body{display:grid;gap:12px;padding:14px;border-top:1px solid #e7ece9;background:#fbfcfb}

.planning-candidate-dialog{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(760px,calc(100vw - 48px));height:min(760px,calc(100dvh - 56px));max-height:calc(100dvh - 56px);margin:0;padding:0;border:1px solid #dde5df;border-radius:20px;background:#fff;color:#344239;box-shadow:0 24px 70px rgba(32,44,35,.22);overflow:hidden}
.planning-candidate-dialog::backdrop{background:rgba(25,35,29,.38)}
.planning-candidate-shell{height:100%;min-height:0;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:0;overflow:hidden}
.planning-candidate-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 22px 15px;border-bottom:1px solid #e8ece9;background:#fff}
.planning-candidate-head h3{margin:2px 0 4px;font-size:21px;line-height:1.2}.planning-candidate-head p{margin:0;color:#6f7972;font-size:10px;line-height:1.4}
.planning-candidate-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 22px 0}
.planning-candidate-summary>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:10px 11px;border:1px solid #e1e7e3;border-radius:11px;background:#f8faf8}
.planning-candidate-summary strong{font-size:19px}.planning-candidate-summary span{color:#6f7972;font-size:9px;line-height:1.3}
.planning-candidate-intro{display:grid;gap:3px;padding:14px 22px 10px}.planning-candidate-intro strong{font-size:12px}.planning-candidate-intro span{color:#768079;font-size:9px;line-height:1.45}
.planning-candidate-list{display:grid;align-content:start;gap:9px;min-height:0;padding:0 22px 18px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-color:#91a097 #edf1ee;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.planning-candidate-list::-webkit-scrollbar{width:10px}.planning-candidate-list::-webkit-scrollbar-track{background:#edf1ee;border-radius:999px}.planning-candidate-list::-webkit-scrollbar-thumb{background:#91a097;border:2px solid #edf1ee;border-radius:999px}
.planning-candidate-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:12px 13px;border:1px solid #e1e7e3;border-radius:12px;background:#fff}
.planning-candidate-item.is-allowed{border-left:3px solid #719079;background:#fbfdfb}.planning-candidate-item.is-blocked{background:#fafbfa}
.planning-candidate-person{grid-column:1/-1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.planning-candidate-person>div{min-width:0}.planning-candidate-person strong{display:block;font-size:12px;line-height:1.3}.planning-candidate-person small{display:block;margin-top:2px;color:#7b857f;font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planning-candidate-person>span{flex:0 0 auto;color:#65736b;font-size:8.5px;font-weight:800}
.planning-candidate-badges{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.planning-candidate-badges span{padding:4px 7px;border-radius:999px;font-size:7.5px;font-weight:850}.planning-candidate-badges .candidate-state{background:#eef4ef;color:#52705a}.planning-candidate-item.is-blocked .candidate-state{background:#f2f2f2;color:#747b76}.planning-candidate-badges .candidate-unit{background:#edf3f7;color:#587083}.planning-candidate-badges .candidate-interest{background:#fff5dc;color:#8d6a1d}
.planning-candidate-item>p{grid-column:1/-1;margin:0;color:#737e77;font-size:9px;line-height:1.4}.planning-candidate-action{margin:0;justify-self:end}.planning-candidate-action button{font-size:9px;padding:7px 10px}
.planning-candidate-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 22px;border-top:1px solid #e7ece9;background:#f8faf8}.planning-candidate-foot small{color:#78827c;font-size:8px;line-height:1.35;text-align:right}.planning-candidate-foot .secondary-button{font-size:9px;white-space:nowrap}
@media(max-width:760px){.planning-candidate-dialog{inset:0;width:100vw;height:100dvh;max-height:100dvh;transform:none;border:0;border-radius:0}.planning-candidate-head{padding:18px 16px 13px}.planning-candidate-summary{padding:10px 16px 0}.planning-candidate-intro{padding:13px 16px 9px}.planning-candidate-list{padding:0 16px 16px}.planning-candidate-foot{align-items:stretch;flex-direction:column;padding:12px 16px}.planning-candidate-foot small{text-align:left}.planning-candidate-foot .secondary-button{text-align:center}.planning-candidate-summary{grid-template-columns:1fr}.planning-candidate-item{grid-template-columns:1fr}.planning-candidate-action{justify-self:stretch}.planning-candidate-action button{width:100%}}

/* v0.98.0 — herstelmodal isolatie & aparte auditweergave */
.planning-history-dialog{isolation:isolate;contain:layout paint}
.planning-history-audit-dialog{width:min(900px,calc(100vw - 28px))}
.planning-history-open-audit{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;text-align:left}
.planning-history-open-audit span{font-weight:850}
.planning-history-open-audit small{margin-left:auto;color:#76827a;font-size:9px;font-weight:700}
.planning-history-audit-dialog .planning-history-list{padding-bottom:2px}
@media(max-width:760px){.planning-history-open-audit{align-items:flex-start;flex-direction:column}.planning-history-open-audit small{margin-left:0}}

/* v0.99.0 · Vorige week kopiëren + herstelanker */
.planning-board-copy-action{font-size:9px;padding:7px 10px;white-space:nowrap}
.planning-copy-week-dialog{width:min(760px,calc(100vw - 28px));max-height:min(90vh,860px);padding:0;border:0;border-radius:20px;background:#fff;color:#344239;box-shadow:0 24px 75px rgba(32,44,35,.24);overflow:hidden}
.planning-copy-week-dialog::backdrop{background:rgba(25,35,29,.38);backdrop-filter:blur(2px)}
.planning-copy-week-shell{display:grid;gap:17px;max-height:min(90vh,860px);padding:24px;overflow-y:auto;scrollbar-gutter:stable;scrollbar-color:#91a097 #edf1ee}
.planning-copy-week-shell::-webkit-scrollbar{width:11px}.planning-copy-week-shell::-webkit-scrollbar-track{background:#edf1ee;border-radius:999px}.planning-copy-week-shell::-webkit-scrollbar-thumb{background:#91a097;border:3px solid #edf1ee;border-radius:999px}
.planning-copy-week-route{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;padding:14px 16px;border:1px solid #dfe7e1;border-radius:14px;background:#f8faf8}
.planning-copy-week-route>div{display:grid;gap:3px}.planning-copy-week-route span{color:#7b877f;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.planning-copy-week-route strong{font-size:15px}.planning-copy-week-route small{color:#6f7972;font-size:10px}.planning-copy-week-route>b{color:#7d8d83;font-size:20px}
.planning-copy-week-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px}.planning-copy-week-stats>div{display:grid;gap:2px;padding:11px 12px;border:1px solid #e2e8e4;border-radius:11px;background:#fff}.planning-copy-week-stats strong{font-size:18px}.planning-copy-week-stats span{color:#758078;font-size:8.5px;line-height:1.35}
.planning-copy-week-form{display:grid;gap:14px}
.planning-copy-week-components{display:grid;gap:8px;margin:0;padding:0;border:0}.planning-copy-week-components legend{margin-bottom:7px;font-size:11px;font-weight:900}.planning-copy-week-components label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px 13px;border:1px solid #dfe6e2;border-radius:11px;background:#fff;cursor:pointer}.planning-copy-week-components label:has(input:checked){border-color:#8ca291;background:#f7faf8;box-shadow:inset 0 0 0 1px rgba(108,137,116,.12)}.planning-copy-week-components input{margin-top:2px;accent-color:#617b69}.planning-copy-week-components label>span{display:grid;gap:3px}.planning-copy-week-components strong{font-size:11px}.planning-copy-week-components small{color:#738078;font-size:9px;line-height:1.4}
.planning-copy-week-options:disabled{opacity:.5}.planning-copy-week-options:disabled label{cursor:not-allowed}
.planning-copy-week-options{display:grid;gap:8px;margin:0;padding:0;border:0}.planning-copy-week-options legend{margin-bottom:7px;font-size:11px;font-weight:900}.planning-copy-week-options label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px 13px;border:1px solid #dfe6e2;border-radius:11px;background:#fff;cursor:pointer}.planning-copy-week-options label:has(input:checked){border-color:#8ca291;background:#f7faf8;box-shadow:inset 0 0 0 1px rgba(108,137,116,.12)}.planning-copy-week-options input{margin-top:2px;accent-color:#617b69}.planning-copy-week-options label>span{display:grid;gap:3px}.planning-copy-week-options strong{font-size:11px}.planning-copy-week-options small{color:#738078;font-size:9px;line-height:1.4}
.planning-copy-week-note{display:grid;gap:3px;padding:11px 13px;border-left:3px solid #8aa596;border-radius:8px;background:#f5f8f6}.planning-copy-week-note strong{font-size:10px}.planning-copy-week-note span{color:#6f7972;font-size:9px;line-height:1.45}.planning-copy-week-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}
@media(max-width:760px){.planning-copy-week-shell{padding:18px}.planning-copy-week-route{grid-template-columns:1fr}.planning-copy-week-route>b{transform:rotate(90deg);justify-self:start}.planning-copy-week-stats{grid-template-columns:1fr 1fr}.planning-copy-week-actions>*{flex:1 1 auto}.planning-board-copy-action{width:100%}}
.planning-history-item.is-anchor{border-left:3px solid #8aa596;background:#f7faf8}.planning-history-item.is-anchor .planning-history-item-main>span{background:#eaf2ec;color:#516b58}
.planning-history-anchor-note{display:grid;gap:3px;padding:11px 13px;border:1px solid #dfe7e1;border-radius:11px;background:#f7faf8}.planning-history-anchor-note strong{font-size:10px}.planning-history-anchor-note span{color:#6f7972;font-size:9px;line-height:1.4}

/* v0.99.1 · Vorige week kopiëren UX-polish */
.planning-copy-week-impact{display:grid;gap:3px;padding:11px 13px;border:1px solid #dfe7e1;border-radius:10px;background:#f8faf9}
.planning-copy-week-impact strong{font-size:10.5px;color:#34463a}
.planning-copy-week-impact span{font-size:9px;line-height:1.45;color:#6f7972}
.planning-copy-week-actions button:disabled{opacity:.5;cursor:not-allowed}

/* v0.100.0 — Fase 7 polish + Fase 8 werknemerskant */
.planning-copy-week-actions .primary-button{min-width:190px;max-width:100%;white-space:normal;line-height:1.25;overflow:visible;text-overflow:clip}
.employee-plan-opportunities{display:grid;gap:12px;padding:15px 17px;border-radius:16px}
.employee-plan-opportunities-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.employee-plan-opportunities-head h2{margin:0 0 4px;font-size:16px}
.employee-plan-opportunities-head p{margin:0;max-width:760px;color:var(--muted);font-size:10px;line-height:1.45}
.employee-plan-opportunities-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.employee-plan-opportunity-count{display:grid;gap:1px;min-width:92px;padding:7px 10px;border:1px solid #e1e7e2;border-radius:10px;background:#f8faf8;text-align:right}
.employee-plan-opportunity-count strong{font-size:14px;color:#34463a}.employee-plan-opportunity-count small{font-size:7.5px;color:#758078}
.employee-plan-opportunity-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.employee-plan-opportunity-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;min-width:0;padding:10px 11px;border:1px solid #e3e8e4;border-radius:12px;background:#fff;color:inherit;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.employee-plan-opportunity-card:hover{border-color:#bcc9bf;box-shadow:0 5px 15px rgba(38,52,42,.07);transform:translateY(-1px)}
.employee-plan-opportunity-date{display:grid;gap:1px;min-width:42px}.employee-plan-opportunity-date strong{font-size:12px}.employee-plan-opportunity-date small{font-size:7px;font-weight:850;color:#7b867e;text-transform:uppercase}
.employee-plan-opportunity-main{display:grid;gap:2px;min-width:0}.employee-plan-opportunity-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.employee-plan-opportunity-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:8px}
.employee-plan-opportunity-status{display:inline-flex;align-items:center;justify-content:center;padding:4px 7px;border-radius:999px;background:#eef2ef;color:#53645a;font-size:7px;font-weight:850;white-space:nowrap}.employee-plan-opportunity-status.available,.employee-plan-opportunity-status.preferred{background:#eaf4ec;color:#42644b}.employee-plan-opportunity-status.unknown{background:#f6f1e5;color:#705b2e}
.employee-plan-opportunity-arrow{color:#829087;font-size:14px;font-weight:800}.employee-plan-opportunity-empty{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border:1px dashed #dfe5e0;border-radius:11px;background:#fafbfa}.employee-plan-opportunity-empty strong{font-size:9px}.employee-plan-opportunity-empty span{font-size:8px;color:var(--muted)}
.my-open-shift-card[id]{scroll-margin-top:18px}.my-open-shift-card:target{border-color:#9eafa2;box-shadow:0 0 0 3px rgba(116,145,124,.12)}
@media(max-width:980px){.employee-plan-opportunity-list{grid-template-columns:1fr}.employee-plan-opportunities-head{flex-direction:column}.employee-plan-opportunities-actions{justify-content:flex-start;width:100%}.employee-plan-opportunity-count{text-align:left}}
@media(max-width:620px){.planning-copy-week-actions .primary-button{width:100%;min-width:0}.employee-plan-opportunities{padding:14px}.employee-plan-opportunities-actions{display:grid;grid-template-columns:1fr;width:100%}.employee-plan-opportunities-actions .secondary-button{width:100%;text-align:center}.employee-plan-opportunity-card{grid-template-columns:auto minmax(0,1fr) auto}.employee-plan-opportunity-status{grid-column:2;justify-self:start}.employee-plan-opportunity-arrow{grid-column:3;grid-row:1/3}}

/* v0.100.2 · Open diensten kandidaatcontrole */
.open-shifts-page .open-shift-candidate.planning-review{
  background:#fffdf7;
  border-color:#ead9a7;
}
.open-shifts-page .fit-badge.review{
  background:#fff2cf;
  color:#7b5b18;
}
.open-shifts-page .open-shift-candidate-conflict{
  display:grid;
  gap:2px;
  margin-top:5px;
  padding:8px 9px;
  border:1px solid #e5e9e6;
  border-radius:9px;
  background:#fff;
}
.open-shifts-page .open-shift-candidate-conflict>span{
  color:#7a847d;
  font-size:9px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.open-shifts-page .open-shift-candidate-conflict>strong{
  font-size:11px;
  line-height:1.35;
}
.open-shifts-page .open-shift-candidate-conflict>small,
.open-shifts-page .open-shift-candidate-review-reason{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
.open-shifts-page .open-shift-candidate-review-reason{
  color:#765e2b;
}
.open-shifts-page .open-shift-candidate-actions .button[disabled]{
  cursor:not-allowed;
  opacity:.55;
}
.open-shifts-page .open-shift-assignment-blocked{
  filter:saturate(.45);
  box-shadow:none;
}
@media(max-width:700px){
  .open-shifts-page .open-shift-candidate-actions .secondary-button,
  .open-shifts-page .open-shift-candidate-actions .button{width:auto}
}

/* v0.102.1 · Fase 9.2 UX-correctie Planning voorstellen */
.planning-board-smart-action{white-space:nowrap}
.planning-board-smart-action:disabled{opacity:.48;cursor:not-allowed}
.planning-smart-dialog{width:min(1240px,calc(100vw - 36px));height:min(94vh,980px);max-height:94vh;padding:0;border:0;border-radius:22px;background:#fff;color:#344239;box-shadow:0 24px 75px rgba(32,44,35,.24);overflow:hidden}
.planning-smart-dialog::backdrop{background:rgba(25,35,29,.38);backdrop-filter:blur(2px)}
.planning-smart-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;overflow:hidden}
.planning-smart-head{margin:0;padding:26px 30px 20px;border-bottom:1px solid #e3e9e5;background:#fff;z-index:3}
.planning-smart-head h3{font-size:28px;line-height:1.16;margin-bottom:8px}
.planning-smart-head>div>p:last-child{max-width:920px;margin:0;color:#68746c;font-size:15.5px;line-height:1.55}
.planning-smart-head .planning-section-kicker{font-size:13px;letter-spacing:.12em;margin-bottom:8px}
.planning-smart-body{display:grid;align-content:start;gap:20px;min-height:0;padding:22px 30px 118px;overflow-y:scroll;scroll-padding-bottom:118px;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-color:#91a097 #edf1ee}
.planning-smart-body::-webkit-scrollbar{width:12px}.planning-smart-body::-webkit-scrollbar-track{background:#edf1ee;border-radius:999px}.planning-smart-body::-webkit-scrollbar-thumb{background:#91a097;border:3px solid #edf1ee;border-radius:999px}
.planning-smart-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;min-height:76px;padding:14px 30px;border-top:1px solid #e0e7e2;background:#fff;box-shadow:0 -10px 24px rgba(51,66,56,.055);z-index:4}
.planning-smart-footer .primary-button{min-width:285px}.planning-smart-footer button:disabled{opacity:.5;cursor:not-allowed}
.planning-smart-modal-status{display:grid;gap:10px}.planning-smart-modal-status .notice{display:grid;gap:4px;margin:0;padding:16px 18px}.planning-smart-modal-status .notice strong{font-size:16px}.planning-smart-modal-status .notice span{font-size:15px;line-height:1.5}
.planning-smart-intro{display:grid;gap:12px;padding:18px 20px;border:1px solid #dfe7e1;border-radius:15px;background:#f8faf9}
.planning-smart-intro>div{display:grid;gap:7px}.planning-smart-intro strong{font-size:16px;line-height:1.35}.planning-smart-intro span,.planning-smart-intro small{color:#66736b;font-size:14.5px;line-height:1.58}
.planning-smart-empty{display:grid;gap:7px;padding:22px;border:1px dashed #ced9d1;border-radius:15px;background:#fbfcfb;text-align:center}.planning-smart-empty strong{font-size:17px}.planning-smart-empty span{color:#69766e;font-size:14.5px;line-height:1.5}.planning-smart-empty.attention{border-style:solid;background:#faf8f2}
.planning-smart-calc-form,.planning-smart-recalculate-form{margin:0;height:0;overflow:hidden}
.planning-smart-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.planning-smart-stats>div{display:grid;gap:5px;padding:16px 18px;border:1px solid #e2e8e4;border-radius:14px;background:#fff}.planning-smart-stats>div.attention{background:#faf8f2}.planning-smart-stats strong{font-size:29px;line-height:1}.planning-smart-stats span{color:#69766e;font-size:13px;line-height:1.38}
.planning-smart-apply-form{display:grid;gap:16px;margin:0}
.planning-smart-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.planning-smart-list-head>div{display:grid;gap:5px}.planning-smart-list-head strong{font-size:18px;line-height:1.3}.planning-smart-list-head small{color:#69766e;font-size:14px;line-height:1.5}.planning-smart-list-head label{display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:14px;font-weight:800}.planning-smart-list-head input{width:18px;height:18px;accent-color:#617b69}
.planning-smart-list{display:grid;gap:14px}
.planning-smart-row{display:grid;grid-template-columns:auto minmax(0,1.35fr) minmax(220px,.65fr);grid-template-areas:"check shift hours" ". candidate hours" ". reasons reasons";gap:14px 20px;align-items:start;padding:20px 22px;border:1px solid #dfe6e2;border-radius:15px;background:#fff;cursor:pointer}.planning-smart-row.review-needed{border-color:#dfd4b5;background:#fdfbf6}
.planning-smart-row:has(>input:checked){border-color:#91a598;background:#f9fbfa;box-shadow:inset 0 0 0 1px rgba(108,137,116,.1)}
.planning-smart-row>input{grid-area:check;width:20px;height:20px;margin-top:3px;accent-color:#617b69}
.planning-smart-shift{grid-area:shift}.planning-smart-candidate{grid-area:candidate}.planning-smart-hours{grid-area:hours}.planning-smart-reasons{grid-area:reasons}
.planning-smart-shift,.planning-smart-candidate,.planning-smart-hours{display:grid;gap:4px;min-width:0}.planning-smart-shift span,.planning-smart-candidate span,.planning-smart-hours span{color:#718078;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.065em}.planning-smart-shift strong,.planning-smart-candidate strong{font-size:17px;line-height:1.32;overflow-wrap:anywhere}.planning-smart-hours strong{font-size:23px;line-height:1.2}.planning-smart-shift small,.planning-smart-candidate small,.planning-smart-hours small{color:#6c7871;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.planning-smart-reasons{display:grid;gap:14px;min-width:0;padding-top:4px;border-top:1px solid #e8ece9}.planning-smart-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.planning-smart-tags span{display:inline-flex;align-items:center;min-height:31px;padding:6px 10px;border-radius:999px;background:#edf3ef;color:#52675a;font-size:12.5px;font-weight:850;line-height:1.25}.planning-smart-tags .planning-smart-quality{background:#e8f0ea;color:#3f5948}.planning-smart-tags .planning-smart-quality.review{background:#f3ecda;color:#6d5d32}
.planning-smart-why{display:grid;gap:8px;color:#5f6d64}.planning-smart-why>strong{font-size:15px;color:#435249}.planning-smart-why ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 24px;margin:0;padding:0;list-style:none}.planning-smart-why li{position:relative;padding-left:18px;font-size:14px;line-height:1.45;overflow-wrap:anywhere}.planning-smart-why li::before{content:"•";position:absolute;left:2px;top:0;color:#789081;font-weight:900}
.planning-smart-review-note{display:grid;gap:5px;padding:12px 14px;border-radius:10px;background:#f7f1df;color:#685d3e}.planning-smart-review-note strong{font-size:14.5px;color:#5b5135}.planning-smart-review-note span{font-size:14px;line-height:1.5}
.planning-smart-unresolved{border:1px solid #e5e2d6;border-radius:13px;background:#fbfaf6}.planning-smart-unresolved summary{padding:14px 16px;cursor:pointer;font-size:14px;font-weight:850}.planning-smart-unresolved>div{display:grid;gap:10px;padding:0 16px 15px}.planning-smart-unresolved p{display:grid;gap:4px;margin:0;padding-top:10px;border-top:1px solid #ece8dc}.planning-smart-unresolved p strong{font-size:14px}.planning-smart-unresolved p span{color:#6f6b60;font-size:13.5px;line-height:1.5}
.planning-smart-warning{display:grid;gap:5px;padding:14px 16px;border-left:4px solid #8aa596;border-radius:10px;background:#f5f8f6}.planning-smart-warning strong{font-size:15px}.planning-smart-warning span{color:#657169;font-size:14px;line-height:1.5}
@media(max-width:980px){.planning-smart-dialog{width:min(96vw,980px)}.planning-smart-stats{grid-template-columns:repeat(3,1fr)}.planning-smart-row{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"check shift" ". candidate" ". hours" ". reasons"}.planning-smart-hours{padding-top:2px}.planning-smart-why ul{grid-template-columns:1fr}}
@media(max-width:680px){.planning-smart-dialog{width:calc(100vw - 14px);height:calc(100vh - 14px);max-height:calc(100vh - 14px);border-radius:16px}.planning-smart-head{padding:20px 18px 16px}.planning-smart-head h3{font-size:23px}.planning-smart-head>div>p:last-child{font-size:14.5px}.planning-smart-body{padding:17px 18px 150px;scroll-padding-bottom:150px;gap:16px}.planning-smart-footer{padding:12px 18px;display:grid;grid-template-columns:1fr;min-height:auto}.planning-smart-footer>*{width:100%;min-width:0!important}.planning-smart-stats{grid-template-columns:1fr 1fr}.planning-smart-stats>div{padding:14px}.planning-smart-stats strong{font-size:25px}.planning-smart-list-head{align-items:flex-start;flex-direction:column}.planning-smart-row{padding:17px 15px;gap:12px 14px}.planning-smart-shift strong,.planning-smart-candidate strong{font-size:16px}.planning-smart-tags span{font-size:12px}.planning-smart-why li{font-size:14px}.planning-board-smart-action{width:100%}}


/* Fase 9.3 · kandidaatvergelijking en uitsluitredenen */
.planning-smart-row{cursor:default}
.planning-smart-shift label{display:block;cursor:pointer}
.planning-smart-comparison{margin-top:2px;border:1px solid #dfe7e2;border-radius:13px;background:#fbfcfb;overflow:hidden}
.planning-smart-comparison>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;cursor:pointer;list-style:none;background:#f6f9f7}
.planning-smart-comparison>summary::-webkit-details-marker{display:none}
.planning-smart-comparison>summary>span:first-child{display:grid;gap:3px;min-width:0}
.planning-smart-comparison>summary strong{font-size:15px;line-height:1.35;color:#3e4f45}
.planning-smart-comparison>summary small{font-size:14px;line-height:1.45;color:#6b786f;font-weight:600}
.planning-smart-comparison-open{flex:0 0 auto;font-size:13.5px;font-weight:850;color:#5c7464}
.planning-smart-comparison[open] .planning-smart-comparison-open{color:#415649}
.planning-smart-comparison-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px 14px 15px;border-top:1px solid #e3e9e5;background:#fff}
.planning-smart-comparison-item{display:grid;align-content:start;gap:8px;min-width:0;padding:13px 14px;border:1px solid #e2e8e4;border-radius:11px;background:#fff}
.planning-smart-comparison-item.proposed{border-color:#a8bbae;background:#f7faf8}
.planning-smart-comparison-item.safe{border-color:#d6e2da;background:#fbfdfb}
.planning-smart-comparison-item.excluded{border-color:#e5e4df;background:#fbfaf8}
.planning-smart-comparison-person{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.planning-smart-comparison-person>div{display:grid;gap:3px;min-width:0}
.planning-smart-comparison-person strong{font-size:15.5px;line-height:1.35;color:#34483a;overflow-wrap:anywhere}
.planning-smart-comparison-person small{font-size:14px;line-height:1.4;color:#6e7a72;overflow-wrap:anywhere}
.planning-smart-comparison-status{display:inline-flex;align-items:center;flex:0 0 auto;min-height:27px;padding:5px 9px;border-radius:999px;background:#edf3ef;color:#4f6757;font-size:13px;font-weight:850;line-height:1.2}
.planning-smart-comparison-item.excluded .planning-smart-comparison-status{background:#f0efeb;color:#69675f}
.planning-smart-comparison-category{width:max-content;max-width:100%;padding:4px 8px;border-radius:7px;background:#f1f4f2;color:#59685f;font-size:13px;font-weight:800;line-height:1.3;overflow-wrap:anywhere}
.planning-smart-comparison-item.excluded .planning-smart-comparison-category{background:#f3f0ea;color:#6d6658}
.planning-smart-comparison-item p{margin:0;color:#59675e;font-size:14.5px;line-height:1.5;overflow-wrap:anywhere}
.planning-smart-comparison-hours{display:block;padding-top:7px;border-top:1px solid #e8ece9;color:#596b60;font-size:14px;line-height:1.4;font-weight:750}
.planning-smart-unresolved-item{display:grid;gap:10px;padding-top:10px;border-top:1px solid #ece8dc}
.planning-smart-unresolved-item:first-child{padding-top:0;border-top:0}
.planning-smart-unresolved-item>p{padding-top:0!important;border-top:0!important}
.planning-smart-unresolved-list{display:grid;gap:12px}
.planning-smart-unresolved-card{display:grid;gap:12px;padding:16px;border:1px solid #e4dfd1;border-radius:13px;background:#fdfbf7}
.planning-smart-unresolved-card>div:first-child{display:grid;gap:4px}
.planning-smart-unresolved-card>div:first-child strong{font-size:15px;color:#443f34}
.planning-smart-unresolved-card>div:first-child span{font-size:13.5px;line-height:1.5;color:#706b60}
@media(max-width:980px){.planning-smart-comparison-list{grid-template-columns:1fr}}
@media(max-width:680px){.planning-smart-comparison>summary{align-items:flex-start;flex-direction:column;gap:7px}.planning-smart-comparison-open{font-size:12.5px}.planning-smart-comparison-list{padding:10px}.planning-smart-comparison-person{gap:8px}.planning-smart-comparison-status{white-space:nowrap}}

/* v0.104.0 · Fase 9.4 functievereisten & kandidaatvergelijking polish */
.planning-smart-comparison-open .when-open{display:none}
.planning-smart-comparison[open] .planning-smart-comparison-open .when-closed{display:none}
.planning-smart-comparison[open] .planning-smart-comparison-open .when-open{display:inline}
.planning-smart-required-function{display:block;margin-top:2px;color:#52695a!important;font-weight:800!important}

.open-shifts-page .open-shift-form-section>.open-shift-fields-context .open-shift-unit-field,
.open-shifts-page .open-shift-form-section>.open-shift-fields-context .open-shift-function-field{grid-column:auto}
.open-shifts-page .open-shift-form-section>.open-shift-fields-context .open-shift-note{grid-column:1/-1}
.open-shifts-page .open-shift-function-field small{display:block;margin-top:4px;color:#758078;font-size:12.5px;line-height:1.45}

@media(max-width:700px){
  .open-shifts-page .open-shift-form-section>.open-shift-fields-context .open-shift-unit-field,
  .open-shifts-page .open-shift-form-section>.open-shift-fields-context .open-shift-function-field,
  .open-shifts-page .open-shift-form-section>.open-shift-fields-context .open-shift-note{grid-column:1}
}

/* v0.105.0 · Fase 9.5 slim voorstel toepassen + lokale planningnavigatie */
.planning-smart-applied-notice ul{grid-column:1/-1;display:grid;gap:6px;margin:6px 0 0;padding:0;list-style:none}
.planning-smart-applied-notice li{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:7px 9px;border:1px solid rgba(66,103,78,.16);border-radius:9px;background:rgba(255,255,255,.55)}
.planning-smart-applied-notice li b{font-size:12px;color:#31463a}
.planning-smart-applied-notice li span{font-size:12px;line-height:1.45;color:#56665c}
@media(max-width:700px){.planning-smart-applied-notice li{display:grid;gap:2px}}

/* v0.105.2 — audit terugnavigatie */
.planning-history-audit-head>div{display:grid;gap:3px}
.planning-history-audit-back{justify-self:start;margin:0 0 7px;padding:0;border:0;background:transparent;color:#4f6a59;font:inherit;font-size:11px;font-weight:850;line-height:1.35;cursor:pointer;text-decoration:none}
.planning-history-audit-back:hover{text-decoration:underline;text-underline-offset:3px}
.planning-history-audit-back:focus-visible{outline:2px solid #78917f;outline-offset:4px;border-radius:4px}
@media(max-width:760px){.planning-history-audit-back{font-size:12px}}

/* v0.106.0 · Fase 9.6 breed planningvoorstel */
.planning-smart-stats.is-phase96{grid-template-columns:repeat(6,minmax(0,1fr))}
.planning-smart-stats>div.neutral{background:#fafbfa}
.planning-smart-step{display:block;margin-bottom:5px;color:#6a7c70;font-size:12px;font-weight:900;letter-spacing:.09em}
.planning-smart-base-plan{display:grid;gap:14px;padding:18px 20px;border:1px solid #dce6df;border-radius:15px;background:#f8faf8}
.planning-smart-base-plan.has-changes{border-color:#b9ccbf;background:#f6faf7}
.planning-smart-base-plan.is-current{background:#fafbfa}
.planning-smart-base-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.planning-smart-base-head>div{display:grid;gap:4px;min-width:0}
.planning-smart-base-head h4{margin:0;color:#35483b;font-size:18px;line-height:1.3}
.planning-smart-base-head p{margin:0;color:#69766e;font-size:14.5px;line-height:1.5}
.planning-smart-base-state{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:31px;padding:6px 11px;border-radius:999px;background:#e7f0e9;color:#45604d;font-size:13px;font-weight:850;white-space:nowrap}
.planning-smart-base-plan.is-current .planning-smart-base-state{background:#eef1ef;color:#69736d}
.planning-smart-base-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.planning-smart-base-metrics>div{display:grid;gap:3px;padding:11px 12px;border:1px solid #e1e8e3;border-radius:10px;background:#fff}
.planning-smart-base-metrics>div.attention{background:#fbf8ef}
.planning-smart-base-metrics strong{font-size:20px;line-height:1.1}
.planning-smart-base-metrics span{color:#6d7971;font-size:12.5px;line-height:1.35}
.planning-smart-base-details{border:1px solid #dfe7e2;border-radius:12px;background:#fff;overflow:hidden}
.planning-smart-base-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;cursor:pointer;list-style:none;background:#f8faf9}
.planning-smart-base-details>summary::-webkit-details-marker{display:none}
.planning-smart-base-details>summary>span:first-child{display:grid;gap:2px}
.planning-smart-base-details>summary strong{font-size:14.5px;color:#405348}
.planning-smart-base-details>summary small{font-size:13.5px;line-height:1.4;color:#6d7971;font-weight:600}
.planning-smart-base-details>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:11px 13px 13px;border-top:1px solid #e5ebe7}
.planning-smart-base-details article{display:grid;gap:4px;padding:11px 12px;border:1px solid #e4eae6;border-radius:10px;background:#fff}
.planning-smart-base-details article strong{font-size:14.5px;color:#3d5044}
.planning-smart-base-details article span{font-size:13.5px;line-height:1.45;color:#69766e}
.planning-smart-open-step{display:grid;gap:14px}
.planning-smart-empty.compact{padding:16px 18px;text-align:left}
.planning-smart-empty.compact strong{font-size:15.5px}
.planning-smart-empty.compact span{font-size:14px}
@media(max-width:1080px){.planning-smart-stats.is-phase96{grid-template-columns:repeat(3,minmax(0,1fr))}.planning-smart-base-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.planning-smart-base-head{display:grid}.planning-smart-base-state{justify-self:start}.planning-smart-base-details>div{grid-template-columns:1fr}.planning-smart-base-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.planning-smart-stats.is-phase96{grid-template-columns:1fr 1fr}.planning-smart-base-metrics{grid-template-columns:1fr}.planning-smart-base-details>summary{align-items:flex-start;flex-direction:column;gap:7px}}
.planning-smart-base-employees{align-items:start}
.planning-smart-base-employee{border:1px solid #e1e8e3;border-radius:12px;background:#fff;overflow:hidden}
.planning-smart-base-employee>summary{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px 14px;cursor:pointer;list-style:none;background:#fbfcfb}
.planning-smart-base-employee>summary::-webkit-details-marker{display:none}
.planning-smart-base-employee>summary>span:first-child{display:grid;gap:4px;min-width:0}
.planning-smart-base-employee>summary strong{font-size:15.5px;line-height:1.3;color:#35483b}
.planning-smart-base-employee>summary small{font-size:14px;line-height:1.45;color:#66736b;font-weight:650}
.planning-smart-base-day-list{display:grid;gap:10px;padding:12px;border-top:1px solid #e5ebe7;background:#f8faf9}
.planning-smart-base-details .planning-smart-base-day{display:grid;gap:10px;padding:13px 14px;border:1px solid #dde5df;border-radius:11px;background:#fff}
.planning-smart-base-details .planning-smart-base-day.new{border-color:#bfd3c4;background:#f7fbf8}
.planning-smart-base-details .planning-smart-base-day.changed{border-color:#dfc997;background:#fffaf0}
.planning-smart-base-details .planning-smart-base-day.manual_override{border-color:#d6d9d7;background:#f8f9f8}
.planning-smart-base-details .planning-smart-base-day.availability_blocked{border-color:#deb8ac;background:#fff8f5}
.planning-smart-base-details .planning-smart-base-day.no_regime{border-color:#d8d9d7;background:#fafafa}
.planning-smart-base-details .planning-smart-base-day.unchanged{border-color:#dfe7e2;background:#fbfcfb}
.planning-smart-base-details .planning-smart-base-day.no_action{border-color:#dfe7e2;background:#fbfcfb}
.planning-smart-base-day.no_action .planning-smart-base-day-head span{background:#eef2ef;color:#58665e}
.planning-smart-base-day-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.planning-smart-base-day-head strong{font-size:15.5px;color:#30463a}
.planning-smart-base-day-head span{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#eef2ef;color:#58665e;font-size:13.5px;font-weight:800;white-space:nowrap}
.planning-smart-base-day.new .planning-smart-base-day-head span{background:#e8f3eb;color:#3f6549}
.planning-smart-base-day.changed .planning-smart-base-day-head span{background:#f5ecd7;color:#785f27}
.planning-smart-base-day.availability_blocked .planning-smart-base-day-head span{background:#f5e4df;color:#7d5147}
.planning-smart-base-day-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.planning-smart-base-day-compare>div,.planning-smart-base-day-single{display:grid;gap:4px;padding:10px 11px;border:1px solid #e2e8e4;border-radius:9px;background:#fff}
.planning-smart-base-day-compare small,.planning-smart-base-day-single small{font-size:13.5px;font-weight:800;color:#738077;text-transform:uppercase;letter-spacing:.035em}
.planning-smart-base-day-compare span,.planning-smart-base-day-single span{font-size:14.5px;line-height:1.5;color:#3e4e44}
.planning-smart-base-day-diff,.planning-smart-base-day-reason{margin:0;font-size:14.5px;line-height:1.5;color:#58665e}
.planning-smart-base-day-diff strong{font-size:14.5px;color:#3f5146}
.planning-smart-base-days-empty{padding:14px;font-size:14.5px;color:#69766e}
@media(max-width:760px){.planning-smart-base-day-compare{grid-template-columns:1fr}.planning-smart-base-employee>summary{flex-direction:column;gap:8px}}

/* v0.106.2 - slimme basisplanning: inhoudelijk vs administratief */
.planning-smart-base-metrics{grid-template-columns:repeat(7,minmax(0,1fr))}
.planning-smart-base-metrics>div.neutral{background:#f7f9f8}
.planning-smart-base-details .planning-smart-base-day.administrative{border-color:#cfd8d2;background:#f8faf9}
.planning-smart-base-day.administrative .planning-smart-base-day-head span{background:#e9eeeb;color:#58675e}
.planning-smart-base-day-meta{margin:0;font-size:14.5px;line-height:1.5;color:#657269}
.planning-smart-base-day-meta strong{font-size:14.5px;color:#46574c}
@media(max-width:1080px){.planning-smart-base-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.planning-smart-base-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.planning-smart-base-metrics{grid-template-columns:1fr}}

/* v0.106.5 · Operationele planning leesbaarheid */
.planning-text-size-control{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--line);border-radius:11px;background:#fafbfa;white-space:nowrap}
.planning-text-size-label{padding:0 6px;color:#6b756e;font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.planning-text-size-button{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border:0;border-radius:8px;background:transparent;color:#465149;font:inherit;font-size:11px;font-weight:850;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}
.planning-text-size-button:hover{background:#eef2ef;color:#2f4436}
.planning-text-size-button.is-active,.planning-text-size-button[aria-pressed="true"]{background:#e5ede7;color:#294334;box-shadow:inset 0 0 0 1px #cbd8ce}
.planning-text-size-button[data-planning-text-size-option="small"]{font-size:10px}
.planning-text-size-button[data-planning-text-size-option="large"]{font-size:13px}
html[data-planning-text-size="small"] .planning-page{zoom:.92}
html[data-planning-text-size="normal"] .planning-page{zoom:1}
html[data-planning-text-size="large"] .planning-page{zoom:1.12}
@media(max-width:760px){.planning-text-size-control{max-width:100%}.planning-text-size-label{padding-left:5px}}
@media print{.planning-text-size-control{display:none!important}html[data-planning-text-size] .planning-page{zoom:1!important}}

/* v0.107.0 · selectieve basisplanning in slim planningvoorstel */
.planning-smart-base-head-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.planning-smart-base-select-all{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:6px 10px;border:1px solid #d8e1db;border-radius:9px;background:#fff;color:#43554a;font-size:14px;font-weight:800;cursor:pointer}
.planning-smart-base-select-all input{width:17px;height:17px;margin:0;accent-color:#60796a}
.planning-smart-base-day-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.planning-smart-base-day-select{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:4px 9px;border:1px solid #d7dfda;border-radius:999px;background:#fff;color:#43554a;font-size:13.5px;font-weight:800;cursor:pointer}
.planning-smart-base-day-select input{width:16px;height:16px;margin:0;accent-color:#60796a}
.planning-smart-base-day-head .planning-smart-base-day-select span{padding:0;min-height:0;border-radius:0;background:transparent;color:inherit;font-size:13.5px;font-weight:800}
.planning-smart-base-day.is-selectable:has(.planning-smart-base-day-select input:not(:checked)){opacity:.72;border-style:dashed}
.planning-smart-base-day.is-selectable:has(.planning-smart-base-day-select input:not(:checked)) .planning-smart-base-day-select{background:#f3f5f3;color:#66736b}
.planning-smart-selection-warning{display:grid;gap:4px;padding:12px 14px;border:1px solid #dfc997;border-radius:10px;background:#fffaf0;color:#5e5135}
.planning-smart-selection-warning[hidden]{display:none!important}
.planning-smart-selection-warning strong{font-size:14.5px;color:#6b5424}
.planning-smart-selection-warning span{font-size:14px;line-height:1.5}
@media(max-width:760px){.planning-smart-base-head-actions{justify-content:flex-start;align-items:flex-start}.planning-smart-base-day-head{align-items:flex-start}.planning-smart-base-day-head-actions{justify-content:flex-start}}

/* v0.108.0 — veilige kandidaat zelf kiezen */
.planning-smart-comparison-item.selected{border-color:#8fa899;background:#f2f7f4;box-shadow:0 0 0 2px rgba(104,135,116,.10)}
.planning-smart-candidate-choice{display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;padding:7px 10px;border:1px solid #d6e2da;border-radius:9px;background:#fff;color:#4b6253;font-size:13px;font-weight:850;cursor:pointer}
.planning-smart-candidate-choice input{margin:0;accent-color:#526f5d}
.planning-smart-comparison-item.excluded{opacity:.82}
.planning-smart-comparison-item.excluded .planning-smart-candidate-choice{display:none}


/* v0.109.3 · Bezettingsvereisten formulieruitlijning */
.staffing-requirements-page .settings-form-grid{align-items:start}
.staffing-requirements-page .settings-form-grid label{align-content:start}

/* v0.109.6 · Planbord: compacte weekbelasting per medewerker */
.planning-board-person-col .planning-board-weekload{display:block;margin-top:4px;color:#526159;font-size:7.5px;line-height:1.25;font-weight:700;white-space:normal}
.planning-board-person-col .planning-board-weekdelta{display:block;margin-top:1px;color:#7b847e;font-size:7px;line-height:1.2;font-weight:600;white-space:normal}


/* v0.109.7 · weekbelasting ook in Kalender en Lijst */
.planning-table tbody>tr>th .planning-calendar-weekload{display:block;margin-top:5px;color:#526159;font-size:10px;line-height:1.3;font-weight:700;white-space:normal}
.planning-table tbody>tr>th .planning-calendar-weekdelta{display:block;margin-top:1px;color:#7b847e;font-size:9.5px;line-height:1.25;font-weight:600;white-space:normal}
.planning-list-member-head .planning-list-weekload{display:block;margin-top:4px;color:#526159;font-size:12px;line-height:1.3;font-weight:750}
.planning-list-member-head .planning-list-weekdelta{display:block;margin-top:1px;color:#7b847e;font-size:11px;line-height:1.25;font-weight:650}
@media(max-width:760px){.planning-table tbody>tr>th .planning-calendar-weekload{font-size:9px}.planning-table tbody>tr>th .planning-calendar-weekdelta{font-size:8.5px}.planning-list-member-head .planning-list-weekload{font-size:11px}.planning-list-member-head .planning-list-weekdelta{font-size:10px}}


/* v0.109.10 — Dienst bewerken: consistente werktijd en soepelere modal-scroll */
.plan-edit-dialog .plan-dialog-shell{scrollbar-gutter:stable;contain:layout paint}
.plan-edit-dialog .plan-dialog-header{isolation:isolate;transform:translateZ(0)}
.plan-edit-dialog input[name="target_minutes"][readonly]{background:#f3f6f3;color:#526057;cursor:default}
/* v0.109.11 · dezelfde diensteditor rechtstreeks vanuit Planbord */
.planning-board-edit-button{width:100%;margin-top:3px;padding:4px 6px;border:1px solid #d8ded9;border-radius:7px;background:#fff;color:#536058;font:inherit;font-size:7px;font-weight:850;line-height:1.2;cursor:pointer}
.planning-board-edit-button:hover{border-color:#bfc9c1;background:#f8faf8;color:#35423a}

/* v0.109.13 · Planning voorstellen: scrollperformance */
/* De voorstelmodal staat boven een zware planningpagina. Een live backdrop-blur dwong de browser
   om die achtergrond tijdens iedere scrollframe opnieuw te compositen. Houd de verduistering,
   maar laat de achtergrond statisch. */
.planning-smart-dialog::backdrop{
  background:rgba(25,35,29,.38);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
/* Isoleer de eigen scrolllaag van de voorstelinhoud van de planning erachter. */
.planning-smart-body{
  contain:layout paint style;
  isolation:isolate;
  overflow-anchor:none;
  touch-action:pan-y;
}
/* Grote voorstelblokken buiten het zicht hoeven niet op iedere scrollframe geschilderd te worden.
   content-visibility behoudt de volledige DOM/formulierinhoud en dus alle bestaande selectie- en
   validatielogica, maar laat Chromium off-screen rendering overslaan. */
.planning-smart-row,
.planning-smart-base-plan,
.planning-smart-unresolved-item{
  content-visibility:auto;
  contain:layout paint style;
}
.planning-smart-row{contain-intrinsic-size:auto 300px}
.planning-smart-base-plan{contain-intrinsic-size:auto 360px}
.planning-smart-unresolved-item{contain-intrinsic-size:auto 240px}
/* Kandidaat- en basisdetails vormen afzonderlijke paint-eilanden wanneer ze geopend zijn. */
.planning-smart-comparison[open] .planning-smart-comparison-list,
.planning-smart-base-details[open]>div{
  contain:layout paint style;
}
/* Header/footer hoeven tijdens het scrollen niet opnieuw door de body te worden meegeschilderd. */
.planning-smart-head,.planning-smart-footer{contain:layout paint style}

/* v0.109.14 · Planning voorstellen als algemene weekactie */
.planning-general-actions{display:flex;align-items:center;justify-content:flex-end;min-width:0}
.planning-general-actions .planning-board-smart-action{min-height:38px}
@media(max-width:760px){.planning-general-actions{width:100%}.planning-general-actions .planning-board-smart-action{width:100%}}

/* v0.109.15 · compact planning workspace toolbar */
.planning-period-toolbar{gap:12px}
.planning-toolbar-primary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid #edf0ed}
.planning-toolbar-switches{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}
.planning-toolbar-primary .planning-period-choice,.planning-toolbar-primary .planning-display-toggle{margin:0}
.planning-toolbar-primary .planning-general-actions{margin-left:auto;flex:0 0 auto}
.planning-toolbar-primary .planning-board-smart-action{min-height:36px;padding:8px 15px}
.planning-period-toolbar .planning-toolbar-top{padding-bottom:10px;border-bottom:1px solid #edf0ed}
.planning-period-toolbar .planning-toolbar-controls{gap:12px}
.planning-period-toolbar .planning-week-jump{flex:0 1 auto}
.planning-period-toolbar .planning-view-filters{flex:1 1 520px;justify-content:flex-end}
@media(max-width:980px){.planning-toolbar-primary{align-items:stretch;flex-direction:column}.planning-toolbar-switches{width:100%}.planning-toolbar-primary .planning-period-choice{width:auto}.planning-toolbar-primary .planning-general-actions{width:100%;margin-left:0}.planning-toolbar-primary .planning-board-smart-action{width:100%}}
@media(max-width:700px){.planning-toolbar-switches{display:grid;grid-template-columns:1fr}.planning-toolbar-primary .planning-period-choice,.planning-toolbar-primary .planning-display-toggle{width:100%}.planning-toolbar-primary .planning-display-toggle{display:grid;grid-template-columns:repeat(3,1fr)}.planning-toolbar-primary .planning-display-toggle a{width:100%}}

/* v0.109.16 · planning command bar: visuele herwerking */
.planning-commandbar{padding:14px 16px;gap:0;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fbfcfb 100%);border-color:#e3e8e4;box-shadow:0 8px 24px rgba(38,53,43,.045)}
.planning-commandbar-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 13px}
.planning-commandbar-modes{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.planning-commandbar .planning-period-choice,.planning-commandbar .planning-display-toggle{margin:0}
.planning-commandbar-smart{min-height:40px;padding:9px 18px;border-radius:11px;box-shadow:0 5px 14px rgba(91,111,97,.14)}
.planning-commandbar-period{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border-top:1px solid #edf0ed;border-bottom:1px solid #edf0ed;background:#f7f9f7}
.planning-period-arrow{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #dce3dd;border-radius:10px;background:#fff;color:#35443a;text-decoration:none;font-size:26px;font-weight:600;line-height:1;box-shadow:0 1px 3px rgba(35,48,39,.04)}
.planning-period-arrow:hover{background:#f1f5f2;border-color:#cbd6cd}
.planning-period-current{display:grid;min-width:230px;gap:1px;text-align:center}
.planning-period-current span{font-size:9px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:#7c877f}
.planning-period-current strong{font-size:16px;line-height:1.25;color:#26342b}
.planning-period-today{display:inline-flex;align-items:center;min-height:36px;margin-left:6px;padding:7px 11px;border:1px solid #dce3dd;border-radius:9px;background:#fff;color:#526158;text-decoration:none;font-size:10px;font-weight:850}
.planning-commandbar-filters{display:flex;align-items:end;gap:12px;padding:13px 0 0}
.planning-commandbar-date,.planning-commandbar-filterform{display:flex;align-items:end;gap:7px;margin:0}
.planning-commandbar-date{flex:0 0 auto;padding-right:12px;border-right:1px solid #e7ebe8}
.planning-commandbar-date label,.planning-commandbar-filterform label{display:grid;gap:5px;margin:0;font-size:9px;font-weight:850;color:#6f7a73}
.planning-commandbar-date input,.planning-commandbar-filterform select{min-height:38px;border:1px solid #d8dfda;border-radius:9px;background:#fff;color:var(--text);font:inherit;font-size:11px}
.planning-commandbar-date input{width:155px;padding:7px 9px}
.planning-date-go{min-width:44px;min-height:38px;padding:7px 10px}
.planning-commandbar-filterform{flex:1;justify-content:flex-end}
.planning-commandbar-filterform label:first-of-type{flex:1;max-width:380px}
.planning-commandbar-filterform label:nth-of-type(2){flex:0 1 245px}
.planning-commandbar-filterform select{width:100%;padding:7px 9px}
.planning-commandbar-filterform .planning-filter-button{min-height:38px;padding:8px 13px;border:0;color:#fff;background:#8b9b8e}
.planning-commandbar-filterform .planning-filter-reset{min-height:38px}
@media(max-width:980px){.planning-commandbar-head{align-items:stretch;flex-direction:column}.planning-commandbar-smart{width:100%}.planning-commandbar-filters{align-items:stretch;flex-direction:column}.planning-commandbar-date{padding-right:0;padding-bottom:11px;border-right:0;border-bottom:1px solid #e7ebe8}.planning-commandbar-filterform{width:100%;justify-content:flex-start}.planning-commandbar-filterform label:first-of-type,.planning-commandbar-filterform label:nth-of-type(2){max-width:none;flex:1}}
@media(max-width:700px){.planning-commandbar{padding:11px}.planning-commandbar-modes{display:grid;grid-template-columns:1fr;width:100%}.planning-commandbar-modes .planning-period-choice,.planning-commandbar-modes .planning-display-toggle{width:100%}.planning-commandbar-modes .planning-display-toggle{display:grid;grid-template-columns:repeat(3,1fr)}.planning-commandbar-period{padding:10px 4px}.planning-period-current{min-width:0;flex:1}.planning-period-current strong{font-size:13px}.planning-period-today{display:none}.planning-commandbar-date,.planning-commandbar-filterform{width:100%;flex-wrap:wrap}.planning-commandbar-date label{flex:1}.planning-commandbar-date input{width:100%}.planning-commandbar-filterform{display:grid;grid-template-columns:1fr}.planning-commandbar-filterform label,.planning-commandbar-filterform .planning-filter-button,.planning-commandbar-filterform .planning-filter-reset{width:100%}}


/* v0.109.17 · planning command bar polish + stabiel scrollbehoud */
.planning-commandbar{width:100%;box-sizing:border-box}
.planning-commandbar-head,.planning-commandbar-period,.planning-commandbar-filters{width:100%;box-sizing:border-box}
.planning-commandbar-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
.planning-commandbar-smart{justify-self:end;margin-left:auto}
.planning-commandbar-period{align-self:stretch}
.planning-date-go{display:inline-flex;align-items:center;justify-content:center;border:1px solid #dce3dd!important;border-radius:9px!important;background:#fff!important;color:#526158!important;font-size:10px!important;font-weight:850!important;box-shadow:none!important;text-decoration:none}
.planning-date-go:hover{background:#f1f5f2!important;border-color:#cbd6cd!important}
@media(max-width:980px){.planning-commandbar-head{grid-template-columns:1fr}.planning-commandbar-smart{justify-self:stretch;margin-left:0}}

/* v0.110.0 · Fase 12.1 — professionele weekkopie met dagpreview */
.planning-copy-week-preview{border:1px solid #dfe7e1;border-radius:13px;background:#fbfcfb;overflow:hidden}
.planning-copy-week-preview>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;cursor:pointer;list-style:none}.planning-copy-week-preview>summary::-webkit-details-marker{display:none}.planning-copy-week-preview>summary>span{display:grid;gap:2px}.planning-copy-week-preview>summary strong{font-size:10.5px}.planning-copy-week-preview>summary small{color:#748078;font-size:9px}.planning-copy-week-preview>summary>b{padding:4px 8px;border-radius:999px;background:#eef3ef;font-size:9px;white-space:nowrap}
.planning-copy-week-preview-list{display:grid;max-height:290px;overflow:auto;border-top:1px solid #e5ebe7;scrollbar-gutter:stable}
.planning-copy-week-preview-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(180px,.8fr);gap:14px;padding:11px 14px;border-bottom:1px solid #edf1ee}.planning-copy-week-preview-row:last-child{border-bottom:0}.planning-copy-week-preview-main,.planning-copy-week-preview-state{display:grid;gap:2px;align-content:start}.planning-copy-week-preview-main strong{font-size:10px}.planning-copy-week-preview-main span{font-size:9px;color:#59675e}.planning-copy-week-preview-main small,.planning-copy-week-preview-state small{font-size:8.5px;line-height:1.4;color:#78837c}.planning-copy-week-preview-state b{justify-self:start;padding:3px 7px;border-radius:999px;font-size:8px;background:#edf5ef;color:#486452}.planning-copy-week-preview-row.is-existing .planning-copy-week-preview-state b{background:#fff4df;color:#7b5b1c}.planning-copy-week-preview-row.is-protected .planning-copy-week-preview-state b,.planning-copy-week-preview-row.is-skip .planning-copy-week-preview-state b{background:#f7e9e7;color:#854c45}
@media(max-width:680px){.planning-copy-week-preview-row{grid-template-columns:1fr}.planning-copy-week-preview-list{max-height:360px}}

/* v0.110.1 · Fase 12.1 polish — algemene actie + vloeiend kopieervenster */
.planning-commandbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}
.planning-copy-week-command{white-space:nowrap;min-height:38px}
.planning-copy-week-dialog::backdrop{background:rgba(25,35,29,.38);backdrop-filter:none!important}
.planning-copy-week-dialog{contain:layout paint;overscroll-behavior:contain}
.planning-copy-week-shell{contain:layout paint;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;will-change:scroll-position}
.planning-copy-week-preview-list{contain:layout paint;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.planning-copy-week-preview-row{content-visibility:auto;contain-intrinsic-size:62px;contain:layout paint style}
.planning-copy-week-preview>summary{align-items:flex-start}
.planning-copy-week-preview-summary{display:flex!important;flex-wrap:wrap;justify-content:flex-end;gap:5px!important}
.planning-copy-week-preview-summary>b{padding:4px 7px;border-radius:999px;background:#eef3ef;font-size:8.5px;white-space:nowrap}
.planning-copy-week-actions .primary-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
@media(max-width:980px){.planning-commandbar-actions{width:100%;margin-left:0}.planning-commandbar-actions>*{flex:1}}
@media(max-width:680px){.planning-copy-week-preview>summary{display:grid}.planning-copy-week-preview-summary{justify-content:flex-start}.planning-commandbar-actions{display:grid;grid-template-columns:1fr}}


/* v0.110.4 · Weekkopie — volledig dekkende sticky modalheader */
.planning-copy-week-shell{padding:0 0 24px}
.planning-copy-week-shell>.planning-history-head{top:0;z-index:20;box-sizing:border-box;width:100%;margin:0;padding:24px 24px 14px;background:#fff;box-shadow:0 1px 0 #edf0ee;isolation:isolate}
.planning-copy-week-shell>.planning-history-head~*{margin-left:24px;margin-right:24px}
@media(max-width:760px){
  .planning-copy-week-shell{padding:0 0 18px}
  .planning-copy-week-shell>.planning-history-head{padding:18px 18px 13px}
  .planning-copy-week-shell>.planning-history-head~*{margin-left:18px;margin-right:18px}
}


/* v0.111.0 · Fase 12.2 — bronweek naar gekozen doelweek */
.planning-copy-week-target-picker{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px 10px;align-items:end;padding:12px 14px;border:1px solid #e3e9e5;border-radius:12px;background:#f8faf8}
.planning-copy-week-target-picker label{display:grid;gap:5px}.planning-copy-week-target-picker label>span{font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#657168}.planning-copy-week-target-picker input[type=date]{min-height:38px}.planning-copy-week-target-picker>small{grid-column:1/-1;color:#748078;font-size:8.5px;line-height:1.4}
@media(max-width:680px){.planning-copy-week-target-picker{grid-template-columns:1fr}.planning-copy-week-target-picker>small{grid-column:1}.planning-copy-week-target-picker .secondary-button{width:100%}}

/* v0.112.0 · Fase 12.2 — weekplanning herhalen naar meerdere doelweken */
.planning-copy-week-target-picker{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto}
.planning-copy-week-range-summary{display:grid;gap:7px;padding:12px 14px;border:1px solid #dce6df;border-radius:12px;background:#f5f8f6}
.planning-copy-week-range-summary>strong{font-size:12px}.planning-copy-week-range-summary>span{font-size:9px;line-height:1.45;color:#657168}
.planning-copy-week-range-weeks{display:flex;flex-wrap:wrap;gap:6px}.planning-copy-week-range-weeks b{padding:5px 8px;border-radius:999px;background:#e9f0eb;font-size:8.5px;color:#3f5045}
@media(max-width:860px){.planning-copy-week-target-picker{grid-template-columns:1fr 1fr}.planning-copy-week-target-picker .secondary-button{grid-column:1/-1;width:100%}}
@media(max-width:680px){.planning-copy-week-target-picker{grid-template-columns:1fr}.planning-copy-week-target-picker .secondary-button{grid-column:1}}


/* v0.113.1 · Fase 12.3 — weekkopie bovenbouw en doelperiode UX-polish */
.planning-copy-week-target-picker{grid-template-columns:minmax(220px,.9fr) minmax(0,1.6fr);gap:14px;align-items:stretch;padding:16px;background:#f8faf8}
.planning-copy-week-cycle-control,.planning-copy-week-period-control{display:grid;align-content:start;gap:9px;padding:13px 14px;border:1px solid #dfe7e1;border-radius:12px;background:#fff}
.planning-copy-week-control-title{font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#435348}
.planning-copy-week-cycle-control label,.planning-copy-week-period-control label{gap:5px}
.planning-copy-week-cycle-control small,.planning-copy-week-period-control small{color:#748078;font-size:8.5px;line-height:1.45}
.planning-copy-week-period-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.planning-copy-week-target-picker select,.planning-copy-week-target-picker input[type=date]{width:100%;box-sizing:border-box;min-height:40px}
.planning-copy-week-target-actions{grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:1px}
.planning-copy-week-target-actions .secondary-button{min-width:190px}
@media(max-width:860px){.planning-copy-week-target-picker{grid-template-columns:1fr}.planning-copy-week-target-actions{grid-column:1}.planning-copy-week-target-actions .secondary-button{width:100%}}
@media(max-width:560px){.planning-copy-week-period-fields{grid-template-columns:1fr}}


/* v0.114.0 · Fase 12.4 — herbruikbare planningpatronen */
.planning-copy-week-patterns{display:grid;gap:10px;padding:13px 14px;border:1px solid #dfe7e1;border-radius:12px;background:#f8faf8}
.planning-copy-week-patterns-head span{display:grid;gap:2px}.planning-copy-week-patterns-head strong{font-size:12px}.planning-copy-week-patterns-head small,.planning-copy-week-pattern-empty{margin:0;color:#748078;font-size:9px;line-height:1.45}
.planning-copy-week-pattern-list{display:flex;flex-wrap:wrap;gap:7px}.planning-copy-week-pattern-item{display:flex;align-items:stretch;border:1px solid #d8e1da;border-radius:10px;background:#fff;overflow:hidden}.planning-copy-week-pattern-item.is-active{border-color:#7f9988;box-shadow:0 0 0 1px #7f9988 inset}.planning-copy-week-pattern-item>a{display:grid;gap:2px;padding:8px 10px;color:inherit;text-decoration:none}.planning-copy-week-pattern-item>a strong{font-size:10px}.planning-copy-week-pattern-item>a small{font-size:8px;color:#748078}.planning-copy-week-pattern-item form{display:flex;border-left:1px solid #e5ebe6}.planning-copy-week-pattern-delete{width:30px;border:0;background:transparent;color:#7c8880;font-size:16px;cursor:pointer}.planning-copy-week-pattern-delete:hover{background:#f4f6f4;color:#7b3f35}
.planning-copy-week-pattern-save{display:flex;align-items:end;gap:8px}.planning-copy-week-pattern-save label{display:grid;gap:4px;flex:1}.planning-copy-week-pattern-save label span{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#65736a}.planning-copy-week-pattern-save input{min-height:36px;border:1px solid #d8e1da;border-radius:9px;padding:7px 9px;background:#fff}.planning-copy-week-cycle-control select:disabled{opacity:.75;cursor:not-allowed}
@media(max-width:720px){.planning-copy-week-pattern-save{align-items:stretch;flex-direction:column}.planning-copy-week-pattern-list{display:grid}.planning-copy-week-pattern-item{width:100%}.planning-copy-week-pattern-item>a{flex:1}}

/* v0.114.1 · planningpatronen selecteren/deselecteren en modal behouden */
.planning-copy-week-pattern-item>a{display:flex;align-items:center;gap:8px;min-width:190px}
.planning-copy-week-pattern-check{display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;border:1.5px solid #aab8ae;border-radius:4px;background:#fff;color:#fff;font-size:12px;font-weight:800;line-height:1}
.planning-copy-week-pattern-item.is-active .planning-copy-week-pattern-check{border-color:#6f8d79;background:#6f8d79}
.planning-copy-week-pattern-copy{display:grid;gap:2px;min-width:0}.planning-copy-week-pattern-copy em{font-size:7.5px;font-style:normal;color:#7a867e}.planning-copy-week-pattern-item.is-active .planning-copy-week-pattern-copy em{color:#557060;font-weight:700}
.planning-copy-week-pattern-notice{padding:8px 10px;border:1px solid #cfe0d3;border-radius:9px;background:#f1f7f2;color:#3f5e49;font-size:9px;font-weight:650}


/* v0.114.2 · Planbord sticky dagkop zonder extra verticale scrollbar */
@media(min-width:1281px){
  .planning-board-scroll{overflow:visible}
}
.planning-board-table thead th{position:sticky;top:0;z-index:10;box-shadow:0 1px 0 #dfe5e1}
.planning-board-table thead .planning-board-person-col{z-index:12}


/* v0.114.3 · Kalender sticky dag/datumkop bij normale paginascroll */
@media(min-width:1281px){
  .planning-week-panel .planning-table-wrap{overflow:visible}
}
.planning-week-panel .planning-table thead th{position:sticky;top:0;z-index:10;box-shadow:0 1px 0 #dfe5e1}
.planning-week-panel .planning-table thead th:first-child{z-index:12}

/* v0.115.2 — auditmodal: vloeiend scrollen met één lichte scrollzone */
.planning-history-audit-dialog::backdrop{backdrop-filter:none}
.planning-history-audit-dialog{contain:none}
.planning-history-audit-dialog .planning-history-shell{overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.planning-history-audit-dialog .planning-history-head{position:static}
.planning-history-audit-dialog .planning-history-item{content-visibility:auto;contain-intrinsic-size:auto 64px}

/* v0.115.4 — rechtstreeks een handmatige dienst toevoegen vanuit Kalender, Planbord en Lijst */
.planning-quick-add-empty{position:relative}.planning-inline-add{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:max-content;border:1px solid #cfd8d1;border-radius:999px;background:#fff;color:#4f6f59;text-decoration:none;font-size:8.5px;font-weight:800;line-height:1;padding:5px 8px;transition:border-color .15s ease,background .15s ease,transform .15s ease}.planning-inline-add:hover{border-color:#9eb1a2;background:#f4f8f5;transform:translateY(-1px)}.planning-inline-add.is-icon{width:22px;height:22px;padding:0;font-size:14px}.planning-inline-add-after{margin-top:4px}.plan-empty-state .planning-inline-add{margin-top:4px}.planning-board-empty.planning-quick-add-empty{display:flex;flex-direction:column;gap:5px}.planning-list-empty.planning-quick-add-empty{justify-content:space-between;gap:10px}.planning-quick-add-context{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:0 0 12px;padding:9px 11px;border:1px solid #dfe7e1;border-radius:10px;background:#f7faf8}.planning-quick-add-context strong{font-size:11px}.planning-quick-add-context span{font-size:9px;color:#6f7972}

/* v0.116.1 · Fase 12.6: afwezigheidsdetails consistent in Lijst en Planbord */
.planning-list-absence-detail{display:inline-flex;align-items:center;color:#7f6f54;font-size:11px;font-weight:750;line-height:1.3}
.planning-board-card>small.planning-board-absence{display:grid;gap:1px;margin-top:3px;padding:4px 5px;border-radius:6px;background:#fff7e8;color:#705321;white-space:normal;overflow:visible;text-overflow:clip}
.planning-board-card>small.planning-board-absence b{font-size:7.2px;line-height:1.2}
.planning-board-card>small.planning-board-absence span{font-size:6.8px;font-weight:750;line-height:1.2}

/* v0.117.0 · Fase 12.7: bezettingsvereisten over doelweken in Week kopiëren */
.planning-copy-week-staffing{margin:14px 0;padding:14px;border:1px solid var(--border,#dfe5df);border-radius:14px;background:var(--surface,#fff)}
.planning-copy-week-staffing-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
.planning-copy-week-staffing-head>div{display:grid;gap:3px}.planning-copy-week-staffing-head span,.planning-copy-week-staffing-mode-label,.planning-copy-week-staffing-empty{font-size:.86rem;color:var(--muted,#68756d)}
.planning-copy-week-staffing-weeks{display:grid;gap:8px;margin-top:10px}.planning-copy-week-staffing-week{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(130px,.5fr);gap:8px 14px;padding:10px 12px;border:1px solid var(--border,#dfe5df);border-radius:10px}
.planning-copy-week-staffing-week>div{display:grid}.planning-copy-week-staffing-week>div span{font-size:.8rem;color:var(--muted,#68756d)}.planning-copy-week-staffing-week>b{text-align:right}
.planning-copy-week-staffing-week ul{grid-column:1/-1;margin:2px 0 0;padding:8px 0 0;list-style:none;border-top:1px solid var(--border,#dfe5df);display:grid;gap:6px}.planning-copy-week-staffing-week li{display:flex;justify-content:space-between;gap:12px;font-size:.82rem}.planning-copy-week-staffing-week li span{color:var(--muted,#68756d);text-align:right}
@media(max-width:720px){.planning-copy-week-staffing-week{grid-template-columns:1fr}.planning-copy-week-staffing-week>b{text-align:left}.planning-copy-week-staffing-week li{display:grid;gap:2px}.planning-copy-week-staffing-week li span{text-align:left}}


/* v0.119.0 — Fase 12.9 finale preview vóór toepassen */
.planning-copy-week-ready{display:grid;gap:11px;padding:14px 15px;border:1px solid #cfdcd3;border-radius:13px;background:#f5f9f6;box-shadow:inset 0 0 0 1px rgba(97,123,105,.05)}
.planning-copy-week-ready-head{display:grid;gap:2px}.planning-copy-week-ready-head span{font-size:7.5px;font-weight:900;letter-spacing:.09em;color:#75877b}.planning-copy-week-ready-head strong{font-size:13px;color:#314438}
.planning-copy-week-ready-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.planning-copy-week-ready-grid>div{display:grid;gap:2px;padding:9px 10px;border:1px solid #dde6df;border-radius:9px;background:#fff}.planning-copy-week-ready-grid small{font-size:7.5px;font-weight:800;color:#7b877f}.planning-copy-week-ready-grid b{font-size:9.5px;line-height:1.35;color:#34463a}
.planning-copy-week-ready-notes{display:flex;gap:6px;flex-wrap:wrap}.planning-copy-week-ready-notes span{padding:5px 8px;border-radius:999px;background:#e8f0ea;color:#52685a;font-size:8px;font-weight:800}
.planning-copy-week-ready-publish{font-size:9px;line-height:1.4;color:#405a48}
@media(max-width:760px){.planning-copy-week-ready-grid{grid-template-columns:1fr}}

/* v0.120.0 — Fase 12.10 auditcontext */
.planning-history-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.planning-history-meta span{display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;background:#f2f6f3;color:#65736a;font-size:8px;font-weight:750}.planning-history-item.is-undone .planning-history-meta span{background:#f2f3f2;color:#7b817d}


/* v0.121.0 — Fase 12.11 patroonversies */
.planning-copy-week-pattern-family{display:grid;gap:6px;min-width:260px}.planning-copy-week-pattern-family.is-active{border-radius:11px;background:#f3f7f4;padding:4px}.planning-copy-week-pattern-version-actions{display:flex;gap:6px;flex-wrap:wrap;padding:0 2px}.planning-copy-week-pattern-version-actions details{position:relative}.planning-copy-week-pattern-version-actions summary{cursor:pointer;list-style:none;font-size:12px;font-weight:800;color:#42604c;padding:3px 5px;border-radius:6px}.planning-copy-week-pattern-version-actions summary:hover,.planning-copy-week-pattern-version-actions details[open]>summary{background:#eaf3ed;color:#294d36}.planning-copy-week-pattern-version-actions summary::-webkit-details-marker{display:none}.planning-copy-week-pattern-version-create form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:7px;padding:10px;border:1px solid #dbe5dd;border-radius:10px;background:#fff}.planning-copy-week-pattern-version-create label{display:grid;gap:3px}.planning-copy-week-pattern-version-create label.is-wide,.planning-copy-week-pattern-version-create button{grid-column:1/-1}.planning-copy-week-pattern-version-create label span{font-size:11px;font-weight:800;color:#596b5f}.planning-copy-week-pattern-version-create input,.planning-copy-week-pattern-version-create select{min-height:38px;border:1px solid #d8e1da;border-radius:8px;padding:7px 9px;background:#fff;font-size:14px}.planning-copy-week-pattern-history>div{display:grid;gap:8px;margin-top:7px;padding:10px;border:1px solid #cfded3;border-radius:10px;background:#f9fbf9}.planning-copy-week-pattern-history article{display:grid;gap:5px;padding:10px 12px;border:1px solid #e0e8e2;border-left:4px solid #a9b7ad;border-radius:9px;background:#fff}.planning-copy-week-pattern-history article:first-child{border-left-color:#5f8a6b;background:#f0f7f2}.planning-copy-week-pattern-history article header{display:flex;justify-content:space-between;align-items:center;gap:12px}.planning-copy-week-pattern-history article strong{font-size:13px;color:#2f5139}.planning-copy-week-pattern-history article span{font-size:12px;font-weight:750;color:#52665a}.planning-copy-week-pattern-history article small,.planning-copy-week-pattern-history article p{margin:0;font-size:11px;line-height:1.5;color:#65756a}.planning-copy-week-pattern-history article p{padding-top:2px;color:#3f5b48;font-weight:700}@media(max-width:720px){.planning-copy-week-pattern-family{min-width:0}.planning-copy-week-pattern-version-create form{grid-template-columns:1fr}.planning-copy-week-pattern-version-create label.is-wide,.planning-copy-week-pattern-version-create button{grid-column:1}}

/* v0.121.1 — Fase 12.11 leesbaarheid patroonversies */

/* v0.122.0 — Fase 12.12 UX-integratie/polish Week kopiëren */
.planning-copy-week-pattern-cycle-summary{display:grid;gap:3px;padding:10px 12px;border:1px solid #dce5df;border-radius:10px;background:#f8faf8}
.planning-copy-week-pattern-cycle-summary strong{font-size:11px;color:#34463a}.planning-copy-week-pattern-cycle-summary span{font-size:9px;font-weight:800;color:#65766b}
.planning-copy-week-cycle-control.is-pattern-summary{align-content:start}.planning-copy-week-cycle-control.is-pattern-summary small{margin-top:1px}
.planning-copy-week-advisory{display:grid;gap:10px}.planning-copy-week-advisory .planning-copy-week-staffing-head{align-items:center}
.planning-copy-week-advisory-details{border:1px solid #e0e7e2;border-radius:10px;background:#f8faf9;overflow:hidden}
.planning-copy-week-advisory-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;cursor:pointer;list-style:none;color:#405448}
.planning-copy-week-advisory-details>summary::-webkit-details-marker{display:none}.planning-copy-week-advisory-details>summary span{font-size:10px;font-weight:850}.planning-copy-week-advisory-details>summary b{font-size:9px;color:#54705d;white-space:nowrap}
.planning-copy-week-advisory-details[open]>summary{border-bottom:1px solid #e0e7e2;background:#f2f7f3}.planning-copy-week-advisory-details[open]>summary b::after{content:' sluiten'}.planning-copy-week-advisory-details:not([open])>summary b::after{content:''}
.planning-copy-week-advisory-details>.planning-copy-week-staffing-mode{padding:0 10px 10px}.planning-copy-week-advisory-details .planning-copy-week-staffing-mode-label{display:block;margin-top:9px}
.planning-copy-week-compliance-person>span{display:grid;gap:3px}.planning-copy-week-compliance-person>span em{font-style:normal;line-height:1.35}
.planning-copy-week-stats{display:flex;flex-wrap:wrap;gap:6px}.planning-copy-week-stats>div{display:flex;align-items:baseline;gap:5px;min-width:0;padding:6px 9px;border-radius:999px;background:#f5f8f6}.planning-copy-week-stats strong{font-size:11px}.planning-copy-week-stats span{font-size:8px;white-space:nowrap}
.planning-copy-week-components label.is-disabled{cursor:not-allowed;opacity:.62;background:#f5f6f5}.planning-copy-week-components label.is-disabled:has(input:checked){border-color:#dfe6e2;box-shadow:none}
.planning-copy-week-safety-details{display:block}.planning-copy-week-safety-details summary{cursor:pointer;list-style:none;font-size:10px;font-weight:850;color:#405448}.planning-copy-week-safety-details summary::-webkit-details-marker{display:none}.planning-copy-week-safety-details summary::after{content:' · details';font-size:8px;font-weight:750;color:#718078}.planning-copy-week-safety-details[open] summary{margin-bottom:5px}.planning-copy-week-safety-details[open] summary::after{content:' · sluiten'}
.planning-copy-week-ready.is-empty{background:#f8f9f8;border-color:#dde3df}.planning-copy-week-ready.is-empty .planning-copy-week-ready-head strong{color:#5f6b64}
@media(max-width:760px){.planning-copy-week-advisory-details>summary{align-items:flex-start;flex-direction:column;gap:4px}.planning-copy-week-stats{display:grid;grid-template-columns:1fr 1fr}.planning-copy-week-stats>div{border-radius:9px}.planning-copy-week-stats span{white-space:normal}}
.planning-copy-week-advisory-details[open]>summary b{font-size:0}.planning-copy-week-advisory-details[open]>summary b::after{content:'Details sluiten';font-size:9px}.planning-copy-week-advisory-details:not([open])>summary b::after{content:''}

/* v0.122.1 — Fase 12.12 leesbaarheid Week kopiëren */
.planning-copy-week-dialog .planning-copy-week-header p{font-size:14px;line-height:1.55}
.planning-copy-week-dialog .planning-copy-week-route span{font-size:11px}.planning-copy-week-dialog .planning-copy-week-route small{font-size:13px;line-height:1.4}
.planning-copy-week-dialog .planning-copy-week-patterns-head strong{font-size:15px}.planning-copy-week-dialog .planning-copy-week-patterns-head small,.planning-copy-week-dialog .planning-copy-week-pattern-empty{font-size:13px;line-height:1.5}
.planning-copy-week-dialog .planning-copy-week-pattern-item>a strong{font-size:13px}.planning-copy-week-dialog .planning-copy-week-pattern-item>a small{font-size:12px;line-height:1.35}.planning-copy-week-dialog .planning-copy-week-pattern-copy em{font-size:11px;line-height:1.35}
.planning-copy-week-dialog .planning-copy-week-pattern-cycle-summary strong{font-size:14px}.planning-copy-week-dialog .planning-copy-week-pattern-cycle-summary span{font-size:13px;line-height:1.35}.planning-copy-week-dialog .planning-copy-week-cycle-control.is-pattern-summary small{font-size:13px;line-height:1.5}
.planning-copy-week-dialog .planning-copy-week-target-picker label>span{font-size:12px}.planning-copy-week-dialog .planning-copy-week-target-picker>small{font-size:13px;line-height:1.5}
.planning-copy-week-dialog .planning-copy-week-staffing-head span,.planning-copy-week-dialog .planning-copy-week-staffing-mode-label,.planning-copy-week-dialog .planning-copy-week-staffing-empty{font-size:14px;line-height:1.45}
.planning-copy-week-dialog .planning-copy-week-advisory-details>summary span{font-size:14px}.planning-copy-week-dialog .planning-copy-week-advisory-details>summary b{font-size:13px}.planning-copy-week-dialog .planning-copy-week-advisory-details[open]>summary b::after{font-size:13px}
.planning-copy-week-dialog .planning-copy-week-stats strong{font-size:15px}.planning-copy-week-dialog .planning-copy-week-stats span{font-size:12px;line-height:1.35}
.planning-copy-week-dialog .planning-copy-week-preview summary small,.planning-copy-week-dialog .planning-copy-week-preview-row small{font-size:13px;line-height:1.45}.planning-copy-week-dialog .planning-copy-week-preview-summary b{font-size:12px}
.planning-copy-week-dialog .planning-copy-week-components legend,.planning-copy-week-dialog .planning-copy-week-options legend{font-size:15px}.planning-copy-week-dialog .planning-copy-week-components strong,.planning-copy-week-dialog .planning-copy-week-options strong{font-size:14px}.planning-copy-week-dialog .planning-copy-week-components small,.planning-copy-week-dialog .planning-copy-week-options small{font-size:13px;line-height:1.5}
.planning-copy-week-dialog .planning-copy-week-note strong{font-size:14px}.planning-copy-week-dialog .planning-copy-week-note span{font-size:13px;line-height:1.5}.planning-copy-week-dialog .planning-copy-week-safety-details summary::after{font-size:12px}
.planning-copy-week-dialog .planning-copy-week-ready-head span{font-size:11px}.planning-copy-week-dialog .planning-copy-week-ready-head strong{font-size:17px}.planning-copy-week-dialog .planning-copy-week-ready-grid small{font-size:11px}.planning-copy-week-dialog .planning-copy-week-ready-grid b{font-size:13px;line-height:1.4}.planning-copy-week-dialog .planning-copy-week-ready-notes span{font-size:12px}.planning-copy-week-dialog .planning-copy-week-ready-publish{font-size:13px;line-height:1.45}
@media(max-width:760px){.planning-copy-week-dialog .planning-copy-week-patterns-head small,.planning-copy-week-dialog .planning-copy-week-target-picker>small,.planning-copy-week-dialog .planning-copy-week-components small,.planning-copy-week-dialog .planning-copy-week-options small{font-size:13px}}

/* Flex v0.123.0 — Fase 13.1a Publicatiecentrum */
.planning-publication-center .planning-action-body{display:grid;gap:16px}
.planning-publication-hr-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:17px 18px;border:1px solid #dfe7e1;border-radius:14px;background:#f8fbf9}
.planning-publication-hr-summary.has-attention{background:#fffaf2;border-color:#ead8b7}.planning-publication-hr-summary.is-neutral{background:#f7f8f7;border-color:#e2e5e2}
.planning-publication-hr-summary h2{margin:2px 0 5px;font-size:18px}.planning-publication-hr-summary p{margin:0;max-width:760px;font-size:12px;line-height:1.55;color:var(--muted)}
.planning-publication-hr-kpis{display:grid;grid-template-columns:repeat(2,minmax(145px,1fr));gap:8px;min-width:330px}.planning-publication-hr-kpis span{padding:9px 10px;border:1px solid #e4e9e5;border-radius:10px;background:#fff}.planning-publication-hr-kpis small,.planning-publication-final-grid small{display:block;font-size:9px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.planning-publication-hr-kpis strong,.planning-publication-final-grid strong{display:block;margin-top:3px;font-size:12px}.planning-publication-hr-kpis em{display:block;margin-top:3px;font-size:10px;line-height:1.35;font-style:normal;color:var(--muted);font-weight:600;text-transform:none;letter-spacing:0}.planning-publication-hr-kpis .attention strong{color:#9b5d17}
.planning-publication-prepare,.planning-publication-impact,.planning-publication-attention,.planning-publication-employee-visibility,.planning-publication-final-check{border:1px solid #e4e9e5;border-radius:14px;padding:15px 16px;background:#fff}
.planning-publication-section-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.planning-publication-section-heading h3{margin:2px 0 4px;font-size:15px}.planning-publication-section-heading p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.planning-publication-range{grid-template-columns:repeat(4,minmax(150px,1fr));align-items:start}.planning-publication-range label small{font-size:8.5px;line-height:1.35;color:var(--muted)}
.planning-publication-employee-picker{margin-top:2px}.planning-publication-preview-action{display:flex;justify-content:flex-end}.planning-publication-preview-action .primary-button{min-width:160px}
.planning-publication-preview{display:grid!important;gap:14px!important;padding-top:0!important;border-top:0!important}.planning-publication-summary{grid-template-columns:repeat(4,minmax(0,1fr))!important}.planning-publication-summary article{min-height:88px;display:flex;flex-direction:column;justify-content:center}.planning-publication-summary span{font-size:10px}.planning-publication-summary small{font-size:9px;line-height:1.35}
.planning-publication-attention-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.planning-publication-attention-grid article{padding:12px;border:1px solid #e5e9e6;border-radius:11px;background:#fafbfa}.planning-publication-attention-grid article.blocked{background:#fff5f4;border-color:#ebcac5}.planning-publication-attention-grid article.attention{background:#fff9ef;border-color:#ead6ad}.planning-publication-attention-grid article.clear{background:#f7faf8}.planning-publication-attention-grid span{display:block;font-size:10px;font-weight:800}.planning-publication-attention-grid strong{display:block;margin:3px 0;font-size:21px}.planning-publication-attention-grid small{display:block;font-size:9px;line-height:1.35;color:var(--muted)}
.planning-publication-employee-overview,.planning-publication-technical-details{border:1px solid #e4e9e5;border-radius:13px;background:#fff;overflow:hidden}.planning-publication-employee-overview>summary,.planning-publication-technical-details>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;cursor:pointer;list-style:none}.planning-publication-employee-overview>summary::-webkit-details-marker,.planning-publication-technical-details>summary::-webkit-details-marker{display:none}.planning-publication-employee-overview>summary span,.planning-publication-technical-details>summary span{display:grid;gap:2px}.planning-publication-employee-overview>summary strong,.planning-publication-technical-details>summary strong{font-size:12px}.planning-publication-employee-overview>summary small,.planning-publication-technical-details>summary span{font-size:9px;color:var(--muted)}.planning-publication-employee-overview>summary b{font-size:10px;color:var(--muted)}
.planning-publication-employee-list{display:grid;gap:0;border-top:1px solid #edf0ed}.planning-publication-employee-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 15px;border-bottom:1px solid #f0f2f0}.planning-publication-employee-list article:last-child{border-bottom:0}.planning-publication-employee-list article>div:first-child{display:grid;gap:2px}.planning-publication-employee-list article strong{font-size:11px}.planning-publication-employee-list article small{font-size:9px;color:var(--muted)}.planning-publication-employee-counts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.planning-publication-employee-counts span{padding:4px 7px;border-radius:999px;background:#f1f4f2;font-size:9px;font-weight:750;color:#5c665f}
.planning-publication-employee-visibility{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;background:#f8fbf9}.planning-publication-employee-visibility h3{margin:2px 0 5px;font-size:15px}.planning-publication-employee-visibility p{margin:0;font-size:11px;line-height:1.5;color:var(--muted)}.planning-publication-visibility-stats{display:grid;gap:6px;min-width:310px}.planning-publication-visibility-stats span{font-size:10px;color:#566159}.planning-publication-visibility-stats strong{font-size:12px;color:var(--text)}
.planning-publication-technical-details>.planning-publication-details{border-top:1px solid #edf0ed;padding:12px 14px}.planning-publication-technical-details .planning-publication-details-head{margin-top:0}
.planning-publication-final-check{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;background:#f9fbfa}.planning-publication-final-head h3{margin:2px 0 4px;font-size:16px}.planning-publication-final-head p{margin:0;font-size:11px;color:var(--muted)}.planning-publication-final-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.planning-publication-final-grid>span{padding:9px 10px;border:1px solid #e3e8e4;border-radius:10px;background:#fff}.planning-publication-final-grid>span.blocked{border-color:#ebcac5;background:#fff5f4}.planning-publication-reason{display:grid!important;gap:5px!important}.planning-publication-final-actions{display:flex;justify-content:flex-end;gap:8px}.planning-publication-final-actions .primary-button,.planning-publication-final-actions .secondary-button{min-width:145px;text-align:center;justify-content:center}
.planning-publication-center .planning-single-publish{margin-top:0;border-top:1px solid #edf0ed;padding-top:12px}.planning-publication-center .small-note{margin:0}
@media(max-width:1100px){.planning-publication-hr-summary,.planning-publication-employee-visibility{flex-direction:column}.planning-publication-hr-kpis,.planning-publication-visibility-stats{width:100%;min-width:0}.planning-publication-range{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-publication-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.planning-publication-final-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.planning-publication-hr-kpis,.planning-publication-range,.planning-publication-summary,.planning-publication-attention-grid,.planning-publication-final-grid{grid-template-columns:1fr!important}.planning-publication-employee-list article{align-items:flex-start;flex-direction:column}.planning-publication-employee-counts{justify-content:flex-start}.planning-publication-final-actions{flex-direction:column}.planning-publication-final-actions .primary-button,.planning-publication-final-actions .secondary-button{width:100%}}

/* v0.124.0 · Fase 13.2a · directe selectieve publicatie */
.planning-day-quick-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:5px}
.planning-direct-publish-link{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 9px;border:1px solid #9eafa2;border-radius:8px;background:#f4f8f5;color:#365243;text-decoration:none;font-size:8.5px;font-weight:850;line-height:1.2;white-space:nowrap}
.planning-direct-publish-link:hover{border-color:#789080;background:#eaf2ec;color:#263d30}
.planning-direct-publish-link.is-board{width:100%;margin-top:3px;padding:4px 6px;border-radius:7px;font-size:7px}
@media(max-width:620px){.planning-day-quick-actions{align-items:stretch}.planning-direct-publish-link{width:100%}}

/* v0.125.0 · Fase 13.3 · communicatiepreview publicatie */
.planning-publication-communication{border:1px solid #dfe7e1;border-radius:14px;padding:15px 16px;background:#f8fbf9}
.planning-publication-communication.is-empty{background:#f7f8f7}
.planning-publication-communication-head{align-items:flex-start}.planning-publication-communication-head h3{font-size:16px}.planning-publication-communication-total{display:grid;justify-items:end;gap:1px;min-width:150px}.planning-publication-communication-total strong{font-size:22px;line-height:1}.planning-publication-communication-total span{font-size:9px;color:var(--muted);font-weight:750}
.planning-publication-communication-neutral{margin:-2px 0 10px;padding:7px 9px;border:1px solid #e5e9e6;border-radius:9px;background:#fff;font-size:9.5px;color:var(--muted)}
.planning-publication-communication-list{display:grid;gap:10px}.planning-publication-communication-employee{border:1px solid #e2e8e3;border-radius:12px;background:#fff;overflow:hidden}.planning-publication-communication-employee-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #edf0ed;background:#fbfcfb}.planning-publication-communication-employee-head>div{display:grid;gap:2px}.planning-publication-communication-employee-head strong{font-size:12px}.planning-publication-communication-employee-head small{font-size:9px;color:var(--muted)}.planning-publication-communication-employee-head>span{padding:4px 7px;border-radius:999px;background:#eef3ef;font-size:8.5px;font-weight:800;color:#496052}
.planning-publication-communication-days{display:grid}.planning-publication-communication-day{display:grid;grid-template-columns:minmax(145px,.42fr) minmax(0,1.58fr);gap:14px;padding:10px 12px;border-bottom:1px solid #f0f2f0}.planning-publication-communication-day:last-child{border-bottom:0}.planning-publication-communication-date{display:grid;align-content:start;gap:5px}.planning-publication-communication-date>strong{font-size:10.5px}.planning-publication-communication-action{display:inline-flex;width:max-content;padding:4px 7px;border-radius:999px;background:#edf4ef;color:#3f5b49;font-size:8.5px;font-weight:850}.planning-publication-communication-action.republish{background:#fff3dd;color:#7a551e}.planning-publication-communication-action.stage_change{background:#eef1f8;color:#4d5874}
.planning-publication-communication-content{display:grid;gap:3px}.planning-publication-communication-content>strong{font-size:10.5px;line-height:1.35}.planning-publication-communication-content>small{font-size:9px;line-height:1.35;color:var(--muted)}.planning-publication-communication-content>span{margin-top:2px;font-size:9.5px;line-height:1.45;color:#4f5d54}.planning-publication-communication-note{color:#52665a!important}
.planning-single-preview .planning-publication-communication{margin-top:12px}
@media(max-width:760px){.planning-publication-communication-head{flex-direction:column}.planning-publication-communication-total{justify-items:start;min-width:0}.planning-publication-communication-day{grid-template-columns:1fr;gap:6px}.planning-publication-communication-date{display:flex;align-items:center;justify-content:space-between;gap:8px}}


/* v0.126.2 — Fase 13.4b · webmeldingen voor werknemers */
.nav-item{position:relative}.nav-notification-badge,.nav-count-badge{margin-left:auto;display:inline-flex;min-width:20px;height:20px;padding:0 6px;align-items:center;justify-content:center;border-radius:999px;color:#fff;font-size:9px;font-weight:850;line-height:1}.nav-notification-badge{background:#8c4c45}.nav-count-badge{background:#6f8978}.sidebar.is-collapsed .nav-notification-badge,.sidebar.is-collapsed .nav-count-badge{position:absolute;right:7px;top:6px;min-width:17px;height:17px;padding:0 4px;font-size:8px}
.notifications-page{display:grid;align-content:start;gap:18px}.notification-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.notification-header-state{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.notification-header-state form,.notification-actions form{margin:0}.notification-unread-pill{display:inline-flex;gap:5px;align-items:center;padding:8px 11px;border-radius:999px;background:#f2f4f2;color:#68736b;font-size:11px;font-weight:750}.notification-unread-pill.has-unread{background:#f5ebe8;color:#7e4a43}.notification-unread-pill strong{font-size:13px;color:inherit}.notifications-card{padding:22px}.notification-list{display:grid;gap:10px;margin-top:14px}.notification-item{display:grid;grid-template-columns:12px minmax(0,1fr);gap:12px;padding:16px;border:1px solid #e3e8e4;border-radius:14px;background:#fff}.notification-item.is-unread{border-color:#d4ded6;background:#fbfdfb;box-shadow:0 4px 16px rgba(42,57,47,.045)}.notification-status-dot{width:9px;height:9px;margin-top:7px;border-radius:50%;background:#c5ccc7}.notification-item.is-unread .notification-status-dot{background:#6f8978}.notification-item.tone-warning .notification-status-dot,.notification-item.tone-attention .notification-status-dot{background:#a76b52}.notification-item.tone-success .notification-status-dot{background:#5f856c}.notification-copy{min-width:0}.notification-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px;color:#818982;font-size:10px;font-weight:700}.notification-new-label{display:inline-flex;padding:3px 7px;border-radius:999px;background:#e7efe9;color:#4f6b58;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.notification-copy h3{margin:0;color:#202822;font-size:16px;line-height:1.25}.notification-copy p{margin:7px 0 0;color:#5e6861;font-size:13px;line-height:1.55}.notification-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.notification-read-button{border:0;background:transparent;padding:7px 2px;color:#5d6d62;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.notification-read-button:hover{text-decoration:underline}.notification-read-state{color:#8a928c;font-size:10px;font-weight:750}.notification-empty{display:grid;gap:5px;padding:28px 4px;color:#707a73}.notification-empty strong{color:#303a33;font-size:15px}.notification-empty span{font-size:12px}.secondary-button.compact{min-height:34px;padding:7px 10px;font-size:10px}
@media(max-width:760px){.notification-page-header{flex-direction:column}.notification-header-state{justify-content:flex-start}.notifications-card{padding:16px}.notification-item{padding:14px}.notification-copy h3{font-size:15px}}

.employee-header-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.employee-notification-button{display:inline-flex;align-items:center;gap:7px}.employee-notification-button span{display:inline-flex;min-width:19px;height:19px;padding:0 5px;align-items:center;justify-content:center;border-radius:999px;background:#8c4c45;color:#fff;font-size:9px;font-weight:850}
.notification-card-head{gap:18px;align-items:flex-end}.notification-filter-tabs{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.notification-filter-tabs a{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:7px 11px;border:1px solid #dfe5e0;border-radius:10px;background:#fff;color:#5d6860;text-decoration:none;font-size:10px;font-weight:800}.notification-filter-tabs a:hover{border-color:#cdd8d0}.notification-filter-tabs a.active{background:#edf2ee;border-color:#cbd8ce;color:#334239}.notification-filter-tabs a span{display:inline-flex;min-width:18px;height:18px;padding:0 5px;align-items:center;justify-content:center;border-radius:999px;background:#8c4c45;color:#fff;font-size:8px}.notification-archived-label{display:inline-flex;padding:3px 7px;border-radius:999px;background:#f0f1ef;color:#727a74;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.notification-item.is-archived{background:#fafbfa}.notification-delete-button{border:0;background:transparent;padding:7px 2px;color:#8c4c45;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.notification-delete-button:hover{text-decoration:underline}@media(max-width:760px){.notification-card-head{align-items:flex-start}.notification-filter-tabs{width:100%}}

/* v0.127.0 — Fase 13.6 · publicatiehistoriek & audit */
.planning-publication-history{margin-top:24px;padding-top:22px;border-top:1px solid var(--border,#dfe5df)}
.planning-publication-history-scope{display:flex;flex-direction:column;gap:3px;text-align:right;min-width:220px}
.planning-publication-history-scope strong{font-size:.95rem;color:var(--text,#253126)}
.planning-publication-history-scope span{font-size:.78rem;color:var(--muted,#69756b)}
.planning-publication-history-empty{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px dashed #cfd8d0;border-radius:12px;background:#fafcfb;color:#49554b}
.planning-publication-history-empty.compact{padding:12px 14px}
.planning-publication-history-empty span{font-size:.84rem;color:#748078}
.planning-publication-history-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.planning-publication-history-event{border:1px solid #d9e1da;border-radius:14px;background:#fff;overflow:hidden}
.planning-publication-history-event>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;cursor:pointer;list-style:none}
.planning-publication-history-event>summary::-webkit-details-marker{display:none}
.planning-publication-history-event[open]>summary{background:#f8faf8;border-bottom:1px solid #e3e8e3}
.planning-publication-history-main{display:flex;align-items:center;gap:12px;min-width:0}
.planning-publication-history-main>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.planning-publication-history-main strong{font-size:.94rem;color:#253126}
.planning-publication-history-main small{font-size:.78rem;color:#718077}
.planning-publication-history-stage{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:6px 10px;border-radius:999px;background:#edf4ee;color:#47604d;font-size:.76rem;font-weight:700}
.planning-publication-history-impact{display:flex;flex-direction:column;gap:2px;text-align:right;flex:0 0 auto}
.planning-publication-history-impact strong{font-size:.9rem;color:#2d3a30}
.planning-publication-history-impact span{font-size:.76rem;color:#78827a}
.planning-publication-history-event-body{padding:15px 16px 17px}
.planning-publication-history-reason{display:grid;grid-template-columns:150px 1fr;gap:12px;margin-bottom:13px;padding:10px 12px;border-radius:10px;background:#f6f8f6}
.planning-publication-history-reason span{font-size:.76rem;color:#748078;text-transform:uppercase;letter-spacing:.03em}
.planning-publication-history-reason strong{font-size:.87rem;color:#354139;font-weight:600}
.planning-publication-history-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.planning-publication-history-day{padding:12px 13px;border:1px solid #e1e6e1;border-radius:11px;background:#fff}
.planning-publication-history-day>div{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:5px}
.planning-publication-history-day>small{display:block;color:#738077;font-size:.76rem}
.planning-publication-history-day>p{margin:7px 0 0;color:#4f5c53;font-size:.8rem;line-height:1.4}
.planning-publication-post-audit{margin-top:16px;border:1px solid #dce3dd;border-radius:12px;overflow:hidden;background:#fff}
.planning-publication-post-audit>summary{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 15px;cursor:pointer;background:#f8faf8}
.planning-publication-post-audit>summary span{display:flex;flex-direction:column;gap:2px}
.planning-publication-post-audit>summary small{font-size:.77rem;color:#738078;font-weight:400}
.planning-publication-post-audit>summary b{display:inline-flex;min-width:28px;height:28px;align-items:center;justify-content:center;border-radius:999px;background:#edf1ed;font-size:.8rem}
.planning-publication-post-audit-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.planning-publication-post-audit-row{display:grid;grid-template-columns:minmax(220px,.8fr) 1.2fr;gap:16px;padding:11px 12px;border:1px solid #e5e9e5;border-radius:10px}
.planning-publication-post-audit-row>div:first-child{display:flex;flex-direction:column;gap:3px}
.planning-publication-post-audit-row small{font-size:.76rem;color:#748078}
.planning-publication-post-audit-text{display:flex;align-items:flex-start;gap:10px}
.planning-publication-post-audit-text>span{display:inline-flex;white-space:nowrap;padding:4px 8px;border-radius:999px;font-size:.72rem;font-weight:700;background:#eef3ef;color:#516157}
.planning-publication-post-audit-text>span.attention{background:#fff4df;color:#8b5e14}
.planning-publication-post-audit-text>span.resolved{background:#edf6ef;color:#3f6a49}
.planning-publication-post-audit-text p{margin:2px 0 0;font-size:.82rem;color:#4f5b52}
@media(max-width:760px){.planning-publication-history-scope{text-align:left;min-width:0}.planning-publication-history-event>summary{align-items:flex-start;flex-direction:column}.planning-publication-history-impact{text-align:left}.planning-publication-history-reason{grid-template-columns:1fr}.planning-publication-post-audit-row{grid-template-columns:1fr}.planning-publication-post-audit-text{flex-direction:column;gap:5px}}

/* v0.128.0 · Fase 13.7 publicatie intrekken */
.planning-direct-withdraw-link{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 9px;border:1px solid #d8c8bd;border-radius:8px;background:#fbf7f4;color:#765c4d;text-decoration:none;font-size:8.5px;font-weight:850;line-height:1.2;white-space:nowrap}
.planning-direct-withdraw-link:hover{border-color:#bfa797;background:#f5ece6;color:#5f4435}
.planning-direct-withdraw-link.is-board{width:100%;margin-top:3px;padding:4px 6px;border-radius:7px;font-size:7px}
.planning-withdraw-panel .planning-single-body{display:grid;gap:14px}
.planning-withdraw-panel .warning-notice{display:grid;gap:4px}
.planning-withdraw-confirm{display:flex!important;align-items:flex-start!important;gap:9px!important;padding:10px 12px;border:1px solid #e2d8cf;border-radius:10px;background:#fdfaf7}
.planning-withdraw-confirm input{width:17px!important;height:17px!important;min-height:0!important;margin-top:1px}
.planning-withdraw-confirm span{font-size:12px;line-height:1.45;color:#654f41}
.planning-withdraw-button{border-color:#cbb6a8!important;background:#f8f0ea!important;color:#684c3b!important}
@media(max-width:620px){.planning-direct-withdraw-link{width:100%}}

/* v0.129.0 · Fase 13.8 HR-UX polish publicatiecentrum */
.planning-publication-hr-route{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(77,102,84,.12)}
.planning-publication-hr-route article{display:flex;flex-direction:column;gap:4px;min-height:112px;padding:13px 14px;border:1px solid #dde5de;border-radius:12px;background:#fff}
.planning-publication-hr-route small{font-size:9px;font-weight:850;letter-spacing:.045em;text-transform:uppercase;color:#7b867e}
.planning-publication-hr-route strong{font-size:15px;line-height:1.3;color:#2d3a30}
.planning-publication-hr-route span{margin-top:auto;font-size:10px;line-height:1.45;color:#69756d}
.planning-publication-hr-route article.is-clear{background:#f8fbf8;border-color:#dbe7dd}
.planning-publication-hr-route article.is-blocked{background:#fff7f0;border-color:#ead3c2}
.planning-publication-hr-route article.has-attention{background:#fffaf0;border-color:#eadfbe}
.planning-publication-hr-route article.is-next{background:#f3f7f4;border-color:#d2ddd4}
.planning-publication-hr-route article.is-next strong{font-size:13px}
.planning-publication-summary article span,.planning-publication-attention-grid article span{font-weight:800}
.planning-publication-history-event>summary{transition:background .15s ease,border-color .15s ease}
.planning-publication-history-event>summary:hover{background:#fafcfa}
.planning-publication-history-main small{font-size:.74rem;color:#7d8880}
.planning-publication-history-impact span{font-weight:650}
.planning-withdraw-panel>summary{font-weight:800;color:#5d4a3f}
.planning-withdraw-panel[open]>summary{color:#5b4437}
@media(max-width:1040px){.planning-publication-hr-route{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.planning-publication-hr-route{grid-template-columns:1fr}.planning-publication-hr-route article{min-height:0}.planning-publication-hr-route article span{margin-top:2px}}

/* Fase 14.1–14.2 · centrale planningsbewaking */
.planning-watch-center{padding:22px 24px;display:grid;gap:18px;border-color:#dfe8e1}
.planning-watch-center.has-blocking{border-color:#e5c9bf}.planning-watch-center.has-followup{border-color:#e7d9ad}
.planning-watch-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}
.planning-watch-head h3{margin:2px 0 6px}.planning-watch-head p{margin:0;color:var(--muted,#69736c);max-width:800px}
.planning-watch-kpis{display:grid;grid-template-columns:repeat(3,minmax(132px,1fr));gap:10px;min-width:min(520px,48%)}
.planning-watch-kpis span{border:1px solid #dfe6e1;border-radius:14px;padding:12px 14px;background:#fbfcfb;display:grid;gap:3px}
.planning-watch-kpis small{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#707970;font-weight:700}.planning-watch-kpis strong{font-size:1.25rem}
.planning-watch-kpis .blocked{background:#fff7f3;border-color:#e7c6b7}.planning-watch-kpis .attention{background:#fffaf0;border-color:#ead5a5}.planning-watch-kpis .clear{background:#f5faf6}
.planning-watch-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.planning-watch-item{border:1px solid #e0e6e1;border-radius:14px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff}
.planning-watch-item.is-blocking{border-left:4px solid #b46b55}.planning-watch-item.is-followup{border-left:4px solid #c59d47}
.planning-watch-copy{display:flex;align-items:flex-start;gap:12px}.planning-watch-count{min-width:32px;height:32px;border-radius:10px;background:#eef4ef;display:inline-flex;align-items:center;justify-content:center;font-weight:800}
.planning-watch-copy strong{display:block;margin-bottom:3px}.planning-watch-copy p{margin:0;color:#707970;font-size:.9rem;line-height:1.4}
.planning-watch-impact{border-top:1px solid #e4e9e5;padding-top:12px}.planning-watch-impact summary{cursor:pointer;font-weight:750}.planning-watch-impact>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.planning-watch-impact p{margin:0;border:1px solid #e5e9e6;border-radius:12px;padding:10px 12px;display:grid;gap:2px}.planning-watch-impact span{font-size:.86rem;color:#6e776f}
@media(max-width:900px){.planning-watch-head{display:grid}.planning-watch-kpis{min-width:0;width:100%;grid-template-columns:1fr}.planning-watch-list,.planning-watch-impact>div{grid-template-columns:1fr}.planning-watch-item{align-items:flex-start;flex-direction:column}.planning-watch-item .secondary-button{width:100%;text-align:center}}

/* Fase 14.3 · gericht impactvoorstel */
.planning-watch-kpis span em{display:block;font-style:normal;font-size:.69rem;color:#7a837c;line-height:1.25}
.planning-watch-impact-list{display:grid;gap:10px;margin-top:10px}.planning-watch-impact-item{margin:0;border:1px solid #e5e9e6;border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;background:#fff}.planning-watch-impact-item>div:first-child{display:grid;gap:3px}.planning-watch-impact-item span{font-size:.86rem;color:#6e776f}.planning-watch-impact-item small{font-size:.78rem;color:#7a837c;max-width:760px}.planning-watch-impact-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.planning-watch-impact-actions form{margin:0}.planning-smart-focus-note{display:flex;gap:12px;align-items:flex-start;border:1px solid #d9e5dc;background:#f4faf5;border-radius:12px;padding:12px 14px;margin-bottom:12px}.planning-smart-focus-note strong{white-space:nowrap}.planning-smart-focus-note span{color:#657168;line-height:1.45}@media(max-width:900px){.planning-watch-impact-item{display:grid}.planning-watch-impact-actions{justify-content:flex-start}.planning-smart-focus-note{display:grid}}

/* v0.132.0 · Fase 14.4 — zachtere planningsbewaking + gerichte tekortoplossing */
.planning-watch-item.is-blocking{border-left-color:#9aa99e}
.planning-watch-item.is-followup{border-left-color:#cbbd98}
.planning-smart-focus-resolution{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border:1px solid #dfe7e1;background:#fbfcfb;border-radius:14px;padding:14px 16px;margin:12px 0 16px}
.planning-smart-focus-resolution h4{margin:2px 0 6px}.planning-smart-focus-resolution p{margin:2px 0;color:#657168;line-height:1.45}
.planning-smart-focus-resolution-status{min-width:min(360px,42%);border-radius:12px;padding:12px 14px;background:#f3f7f4;display:grid;gap:4px}
.planning-smart-focus-resolution-status strong{font-size:.95rem}.planning-smart-focus-resolution-status span{color:#657168;font-size:.86rem;line-height:1.4}
.planning-smart-focus-resolution.is-covered{border-color:#cfded2;background:#f7faf7}.planning-smart-focus-resolution.is-covered .planning-smart-focus-resolution-status{background:#edf6ef}
.planning-smart-focus-resolution.has-solution{border-color:#ddd7c4;background:#fcfbf6}.planning-smart-focus-resolution.has-solution .planning-smart-focus-resolution-status{background:#f7f2e7}
.planning-smart-focus-resolution.needs-action{border-color:#e3d8c8;background:#fdfaf6}.planning-smart-focus-resolution.needs-action .planning-smart-focus-resolution-status{background:#f8f1e8}
@media(max-width:900px){.planning-smart-focus-resolution{display:grid}.planning-smart-focus-resolution-status{min-width:0;width:100%}}

/* v0.132.1 · Planningsbewaking: geen decoratieve linkerstreep meer op impactkaarten. */
.planning-watch-item.is-blocking,.planning-watch-item.is-followup{border-left-width:1px;border-left-style:solid;border-left-color:#e0e6e1}

/* v0.133.0 · Fase 14.5 — contractbalans & herverdelingsruimte */
.planning-control-summary.has-signals{border:1px solid #e4d9b8;border-left-width:1px;background:#fffdf8}
.planning-control-summary.is-clear{border:1px solid #d9e6dc;border-left-width:1px;background:#fbfdfb}
.planning-contract-balance{border-top:1px solid #e4e9e5;padding-top:12px}.planning-contract-balance>summary{cursor:pointer;font-weight:750}.planning-contract-balance-body{display:grid;gap:14px;margin-top:12px}
.planning-contract-balance-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.planning-contract-balance-kpis span{border:1px solid #e1e7e2;border-radius:12px;padding:10px 12px;background:#fbfcfb;display:grid;gap:3px}.planning-contract-balance-kpis small{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#737d75;font-weight:750}.planning-contract-balance-kpis strong{font-size:1.15rem}
.planning-contract-balance-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.planning-contract-balance-list article{border:1px solid #e2e7e3;border-radius:12px;padding:11px 12px;background:#fff;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.planning-contract-balance-list article>div{display:grid;gap:2px}.planning-contract-balance-list span,.planning-contract-balance-list small{color:#6c766e;font-size:.84rem}.planning-contract-balance-list b{white-space:nowrap;border-radius:9px;padding:5px 8px;background:#f2f5f2}.planning-contract-balance-list .is-over b{background:#f7f1e7}.planning-contract-balance-list .is-under b{background:#eef4f0}
.planning-contract-redistribution{border:1px solid #dce6df;border-radius:14px;padding:13px 14px;background:#f8fbf8;display:grid;gap:10px}.planning-contract-redistribution>div p{margin:3px 0 0;color:#68736b;font-size:.86rem}.planning-contract-redistribution article{display:flex;justify-content:space-between;gap:14px;align-items:center;border-top:1px solid #e2e8e3;padding-top:10px}.planning-contract-redistribution article>div{display:grid;gap:2px}.planning-contract-redistribution span,.planning-contract-redistribution small{font-size:.84rem;color:#68736b}
.planning-contract-surplus{border:1px solid #e3e8e4;border-radius:14px;padding:13px 14px;background:#fff;display:grid;gap:8px}.planning-contract-surplus>p{margin:0;color:#6e776f;font-size:.84rem}.planning-contract-surplus>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.planning-contract-surplus span{border:1px solid #edf0ee;border-radius:10px;padding:9px 10px;display:grid;gap:2px}.planning-contract-surplus small{color:#707970;font-size:.8rem}
@media(max-width:900px){.planning-contract-balance-kpis,.planning-contract-balance-list,.planning-contract-surplus>div{grid-template-columns:1fr}.planning-contract-redistribution article{align-items:flex-start;display:grid}.planning-contract-redistribution .secondary-button{width:100%;text-align:center}}
.planning-contract-no-redistribution{border:1px solid #e2e7e3;border-radius:12px;padding:12px 14px;background:#fbfcfb;display:grid;gap:6px}.planning-contract-no-redistribution p,.planning-contract-no-redistribution>small{margin:0;color:#68736b;font-size:.84rem}.planning-contract-no-redistribution ul{margin:2px 0 0;padding-left:20px;display:grid;gap:4px}.planning-contract-no-redistribution li{padding-left:2px;color:#414b44}.planning-contract-no-redistribution li small{margin-left:6px;color:#7a847d}.planning-overview-status{margin:0 0 14px}


/* v0.134.0 · Fase 14.6 gepubliceerde planning geraakt */
.planning-published-impact{border-top:1px solid #e4e9e5;padding-top:12px}.planning-published-impact>summary{cursor:pointer;font-weight:750}.planning-published-impact-body{display:grid;gap:12px;margin-top:10px}.planning-published-impact-intro{display:grid;gap:3px;padding:11px 13px;border:1px solid #e2e8e3;border-radius:12px;background:#f8faf8}.planning-published-impact-intro span{color:#68736b;font-size:.86rem;line-height:1.45}.planning-published-impact-list{display:grid;gap:10px}.planning-published-impact-item{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border:1px solid #e4e8e5;border-radius:13px;padding:13px 14px;background:#fff}.planning-published-impact-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.planning-published-impact-title span{display:inline-flex;padding:3px 7px;border-radius:999px;background:#eef4ef;color:#55705d;font-size:.74rem;font-weight:750}.planning-published-impact-item ul{margin:8px 0 6px;padding-left:18px;color:#5f6962;font-size:.86rem;line-height:1.45}.planning-published-impact-item small{color:#7a837c}.planning-published-impact-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto}@media(max-width:900px){.planning-published-impact-item{display:grid}.planning-published-impact-actions{justify-content:flex-start}.planning-published-impact-actions .compact-button{width:100%;text-align:center}}

/* v0.135.0 · Fase 14.7 weekstatus / planningsgezondheid */
.planning-week-health{display:grid;grid-template-columns:minmax(240px,1.25fr) minmax(360px,1fr) auto;align-items:center;gap:18px;padding:16px 18px;margin:0 0 14px;border:1px solid #dfe6e1;border-radius:16px;background:#fbfcfb;box-shadow:0 1px 2px rgba(25,45,32,.03)}
.planning-week-health.has-blocking{border-color:#e4c8bd;background:#fffaf8}.planning-week-health.has-followup{border-color:#e6d8aa;background:#fffdf7}.planning-week-health.is-ready{border-color:#cfdfd3;background:#f8fbf9}
.planning-week-health-copy{display:grid;gap:3px}.planning-week-health-label{font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#6b7c70}.planning-week-health-copy>strong{font-size:14px;line-height:1.25;color:#21372a}.planning-week-health-copy p{margin:0;font-size:10px;line-height:1.45;color:var(--muted);max-width:620px}
.planning-week-health-kpis{display:grid;grid-template-columns:repeat(4,minmax(86px,1fr));gap:7px}.planning-week-health-kpis>span{display:grid;gap:2px;min-height:48px;padding:8px 9px;border:1px solid #e3e8e4;border-radius:11px;background:rgba(255,255,255,.74)}.planning-week-health-kpis small{font-size:8px;line-height:1.25;color:var(--muted)}.planning-week-health-kpis b{font-size:13px;line-height:1.15;color:#314b39}.planning-week-health-kpis .blocked{border-color:#e8c7bb;background:#fff8f5}.planning-week-health-kpis .blocked b{color:#8c4635}.planning-week-health-kpis .attention{border-color:#eadcab;background:#fffdf6}.planning-week-health-kpis .attention b{color:#7c621f}.planning-week-health-kpis .clear{border-color:#d8e5db;background:#f8fbf9}.planning-week-health>a{white-space:nowrap}
@media(max-width:980px){.planning-week-health{grid-template-columns:1fr}.planning-week-health-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.planning-week-health>a{justify-self:start}}
@media(max-width:620px){.planning-week-health-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Fase 15.1 · multi-week capaciteitsbeeld */
.planning-capacity-horizon{gap:10px}.planning-capacity-card{gap:8px;min-height:128px}.planning-capacity-card-top{display:grid;gap:2px}.planning-capacity-card-top span{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:#7c867f}.planning-capacity-card-top strong{font-size:11px}.planning-capacity-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.planning-capacity-metrics>span{display:grid;gap:2px;min-width:0}.planning-capacity-metrics small{font-size:7px;line-height:1.25;color:var(--muted)}.planning-capacity-metrics b{font-size:10px;line-height:1.2}.planning-capacity-bar{height:5px;border-radius:999px;background:#edf0ed;overflow:hidden}.planning-capacity-bar i{display:block;height:100%;border-radius:inherit;background:currentColor;opacity:.58}.planning-capacity-card.is-available{color:#2f6d49}.planning-capacity-card.is-tight{color:#8a6a21}.planning-capacity-card.is-over{color:#9a463d}.planning-capacity-card.is-neutral{color:inherit}.planning-capacity-card-top,.planning-capacity-metrics,.planning-capacity-foot,.planning-capacity-empty{color:var(--text)}.planning-capacity-foot{font-size:7.5px!important;line-height:1.35}.planning-capacity-empty{display:grid;gap:2px}.planning-capacity-empty strong{font-size:9px}.planning-capacity-empty small{font-size:8px}.planning-capacity-card.is-over{border-color:#e8c6c1}.planning-capacity-card.is-tight{border-color:#e6d9b8}.planning-capacity-card.is-available{border-color:#cfe0d4}@media(max-width:620px){.planning-capacity-metrics{grid-template-columns:1fr 1fr}.planning-capacity-metrics>span:last-child{grid-column:1/-1}}

/* v0.138.0 · Fase 15.2 Bezettingsforecast */
.planning-staffing-forecast{margin-top:2px;padding-top:7px;border-top:1px solid var(--border,#dfe5df);display:grid;gap:2px;color:var(--text)}
.planning-staffing-forecast>div{display:grid;gap:1px}.planning-staffing-forecast small{font-size:7px;line-height:1.3;color:var(--muted,#68756d);text-transform:uppercase;letter-spacing:.04em;font-weight:800}
.planning-staffing-forecast b{font-size:8.5px;line-height:1.3}.planning-staffing-forecast>span{font-size:7.5px;line-height:1.35;color:var(--muted,#68756d)}
.planning-staffing-forecast.has-shortage b{color:#9a463d}.planning-staffing-forecast.is-covered b{color:#2f6d49}
@media(max-width:620px){.planning-staffing-forecast b{font-size:9px}.planning-staffing-forecast>span{font-size:8px}}

/* Fase 15.3 · Capaciteit per functie en eenheid */
.planning-capacity-breakdown{margin-top:5px;padding-top:6px;border-top:1px dashed var(--border,#dfe5df);display:grid;gap:5px;color:var(--text)}
.planning-capacity-breakdown>small{font-size:7px;line-height:1.25;color:var(--muted,#68756d);text-transform:uppercase;letter-spacing:.04em;font-weight:800}
.planning-capacity-breakdown-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px 6px;align-items:baseline}
.planning-capacity-breakdown-row b{font-size:7.8px;line-height:1.25;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.planning-capacity-breakdown-row span{font-size:7.2px;line-height:1.25;color:#9a463d;white-space:nowrap}
.planning-capacity-breakdown-row em{grid-column:1/-1;font-size:7px;line-height:1.3;color:var(--muted,#68756d);font-style:normal}
.planning-capacity-breakdown-more{font-size:7px;line-height:1.3;color:var(--muted,#68756d)}
@media(max-width:620px){.planning-capacity-breakdown-row{grid-template-columns:1fr}.planning-capacity-breakdown-row span{white-space:normal}.planning-capacity-breakdown-row b{white-space:normal}.planning-capacity-breakdown-row em{grid-column:auto}}

/* Fase 15.4 · Afwezigheidsimpact vooruit */
.planning-absence-forecast{margin-top:7px;padding-top:7px;border-top:1px solid var(--border,#dfe5df);display:grid;gap:2px;color:var(--text)}
.planning-absence-forecast>div{display:grid;gap:1px}.planning-absence-forecast small,.planning-absence-breakdown>small{font-size:7px;line-height:1.25;color:var(--muted,#68756d);text-transform:uppercase;letter-spacing:.04em;font-weight:800}
.planning-absence-forecast b{font-size:8px;line-height:1.35}.planning-absence-forecast.has-absence b{color:#9a6b28}.planning-absence-forecast span{font-size:7.2px;line-height:1.3;color:var(--muted,#68756d)}
.planning-absence-breakdown{margin-top:5px;padding-top:6px;border-top:1px dashed var(--border,#dfe5df);display:grid;gap:5px}.planning-absence-breakdown-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px 6px;align-items:baseline}.planning-absence-breakdown-row b{font-size:7.8px;line-height:1.25;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-absence-breakdown-row span{font-size:7.2px;line-height:1.25;color:#876727;white-space:nowrap}.planning-absence-breakdown-row em{grid-column:1/-1;font-size:7px;line-height:1.3;color:var(--muted,#68756d);font-style:normal}
@media(max-width:620px){.planning-absence-breakdown-row{grid-template-columns:1fr}.planning-absence-breakdown-row span,.planning-absence-breakdown-row b{white-space:normal}.planning-absence-breakdown-row em{grid-column:auto}}

/* v0.140.1 · Leesbaarheid 4-weken capaciteitsforecast */
.planning-capacity-card{
  gap:10px;
  padding:13px 14px;
  align-content:start;
}
.planning-capacity-card-top{gap:3px}
.planning-capacity-card-top span{font-size:8.5px;line-height:1.25}
.planning-capacity-card-top strong{font-size:12px;line-height:1.25}
.planning-capacity-metrics{gap:10px;grid-template-columns:1.15fr .9fr 1fr}
.planning-capacity-metrics small{font-size:7.5px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.planning-capacity-metrics b{font-size:10.5px;line-height:1.25}
.planning-capacity-foot{font-size:8px!important;line-height:1.45}
.planning-staffing-forecast,
.planning-absence-forecast{
  margin-top:1px;
  padding:9px 10px;
  border:1px solid var(--border,#dfe5df);
  border-radius:9px;
  background:#fbfcfb;
  gap:4px;
}
.planning-staffing-forecast small,
.planning-absence-forecast small,
.planning-capacity-breakdown>small,
.planning-absence-breakdown>small{
  font-size:7.5px;
  line-height:1.35;
  letter-spacing:.045em;
}
.planning-staffing-forecast b{font-size:8.8px;line-height:1.45}
.planning-staffing-forecast>span{font-size:7.8px;line-height:1.45;overflow-wrap:anywhere}
.planning-absence-forecast b{font-size:8.6px;line-height:1.45}
.planning-absence-forecast span{font-size:7.8px;line-height:1.45;overflow-wrap:anywhere}
.planning-capacity-breakdown,
.planning-absence-breakdown{
  margin-top:0;
  padding:9px 10px;
  border:1px dashed var(--border,#dfe5df);
  border-radius:9px;
  background:#fff;
  gap:7px;
}
.planning-capacity-breakdown-row,
.planning-absence-breakdown-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:3px 8px;
  align-items:start;
}
.planning-capacity-breakdown-row b,
.planning-absence-breakdown-row b{
  font-size:8px;
  line-height:1.4;
  min-width:0;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
}
.planning-capacity-breakdown-row span,
.planning-absence-breakdown-row span{
  font-size:7.5px;
  line-height:1.4;
  white-space:normal;
  text-align:right;
  max-width:150px;
}
.planning-capacity-breakdown-row em,
.planning-absence-breakdown-row em{
  grid-column:1/-1;
  margin-top:1px;
  padding-left:8px;
  border-left:2px solid #e5e9e5;
  font-size:7.5px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.planning-capacity-breakdown-more{font-size:7.5px;line-height:1.45}
@media(max-width:1100px){
  .planning-capacity-metrics{grid-template-columns:1fr 1fr}
  .planning-capacity-metrics>span:last-child{grid-column:1/-1}
  .planning-capacity-breakdown-row,
  .planning-absence-breakdown-row{grid-template-columns:1fr}
  .planning-capacity-breakdown-row span,
  .planning-absence-breakdown-row span{text-align:left;max-width:none}
}
@media(max-width:620px){
  .planning-capacity-card{padding:12px}
  .planning-capacity-metrics{grid-template-columns:1fr 1fr}
  .planning-staffing-forecast,
  .planning-absence-forecast,
  .planning-capacity-breakdown,
  .planning-absence-breakdown{padding:9px}
}

/* v0.141.0 · Fase 15.5 Forecast naar bestaande oplossing */
.planning-capacity-card-title-link{display:block;color:inherit;text-decoration:none;border-radius:7px}
.planning-capacity-card-title-link:hover strong{text-decoration:underline;text-underline-offset:2px}
.planning-capacity-actions{margin-top:auto;padding-top:9px;border-top:1px solid var(--border,#dfe5df);display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.planning-capacity-actions .secondary-button{min-height:28px;padding:5px 9px;font-size:8px;line-height:1.2}
.planning-capacity-open-week{margin-left:auto;font-size:8px;font-weight:800;color:var(--text);text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.planning-capacity-open-week:hover{text-decoration-thickness:2px}
@media(max-width:1100px){.planning-capacity-actions{align-items:stretch}.planning-capacity-open-week{margin-left:0;width:100%;padding-top:2px}}

/* v0.142.0 · Fase 15.6 Capaciteitsrisico / weekprioriteit */
.planning-capacity-priority{
  margin:9px 0 10px;
  padding:9px 10px;
  border:1px solid var(--border,#dfe5df);
  border-radius:10px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:3px 10px;
  align-items:start;
  background:#f8faf8;
}
.planning-capacity-priority>div{display:flex;align-items:baseline;gap:7px;min-width:0}
.planning-capacity-priority small{font-size:7.5px;line-height:1.3;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--muted,#6f796f)}
.planning-capacity-priority strong{font-size:9.5px;line-height:1.25}
.planning-capacity-priority>span{font-size:7.5px;line-height:1.4;color:var(--muted,#6f796f);text-align:right}
.planning-capacity-priority>em{grid-column:1/-1;font-size:7.5px;line-height:1.4;font-style:normal;font-weight:700;color:var(--muted,#6f796f);overflow-wrap:anywhere}
.planning-capacity-priority.is-first{border-color:#e7b9ad;background:#fff8f5}
.planning-capacity-priority.is-first strong{color:#a24836}
.planning-capacity-priority.is-attention{border-color:#e7d49b;background:#fffdf6}
.planning-capacity-priority.is-attention strong{color:#8a6920}
.planning-capacity-priority.is-on-track{border-color:#cbdccf;background:#f7fbf8}
.planning-capacity-priority.is-on-track strong{color:#456b50}
@media(max-width:1100px){.planning-capacity-priority{grid-template-columns:1fr}.planning-capacity-priority>span{text-align:left}.planning-capacity-priority>em{grid-column:1}}

/* v0.143.0 · Fase 15.7 Capaciteitsdetail per week */
.planning-capacity-priority{margin:7px 0 9px;padding:7px 9px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.planning-capacity-priority>div{display:flex;align-items:baseline;gap:6px}
.planning-capacity-priority>em{grid-column:auto;font-size:7.5px;line-height:1.35;margin-left:auto;text-align:right}
/* v0.143.1 · Leesbaarheid capaciteitsdetail */
.planning-capacity-detail-dialog{width:min(900px,calc(100vw - 32px));max-height:min(88vh,920px);border:1px solid var(--border,#dfe5df);border-radius:20px;padding:0;background:var(--surface,#fff);color:var(--text,#172017);box-shadow:0 24px 70px rgba(20,35,24,.22)}
.planning-capacity-detail-dialog::backdrop{background:rgba(20,28,22,.34)}
.planning-capacity-detail-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px 18px;border-bottom:1px solid var(--border,#dfe5df)}
.planning-capacity-detail-head>div{display:grid;gap:4px}
.planning-capacity-detail-head small{font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:var(--muted,#6f796f)}
.planning-capacity-detail-head strong{font-size:23px;line-height:1.2}
.planning-dialog-close{width:40px;height:40px;border:1px solid var(--border,#dfe5df);border-radius:11px;background:var(--surface,#fff);font-size:24px;line-height:1;cursor:pointer;color:inherit}
.planning-capacity-detail-body{padding:20px 24px 24px;overflow:auto;max-height:calc(88vh - 82px);display:grid;gap:18px;font-size:15px;line-height:1.5}
.planning-capacity-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.planning-capacity-detail-summary>span{border:1px solid var(--border,#dfe5df);border-radius:12px;padding:12px 13px;display:grid;gap:4px;background:#fafbfa}
.planning-capacity-detail-summary small{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:var(--muted,#6f796f)}
.planning-capacity-detail-summary b{font-size:16px;line-height:1.25}
.planning-capacity-detail-summary .is-first b{color:#a24836}.planning-capacity-detail-summary .is-attention b{color:#8a6920}.planning-capacity-detail-summary .is-on-track b{color:#456b50}
.planning-capacity-detail-section{border:1px solid var(--border,#dfe5df);border-radius:14px;padding:16px 18px;background:#fff}
.planning-capacity-detail-section h3{margin:0 0 10px;font-size:17px;line-height:1.3}.planning-capacity-detail-section p{margin:0;color:var(--muted,#6f796f);font-size:14px;line-height:1.55}
.planning-capacity-detail-section p strong{color:var(--text,#172017);font-size:15px}
.planning-capacity-detail-section ul{margin:0;padding-left:22px;display:grid;gap:5px;font-size:14px;line-height:1.5}
.planning-capacity-detail-list{display:grid;gap:10px;margin-top:10px}
.planning-capacity-detail-list article{display:grid;gap:4px;padding-top:10px;border-top:1px dashed var(--border,#dfe5df)}
.planning-capacity-detail-list article:first-child{padding-top:0;border-top:0}
.planning-capacity-detail-list b{font-size:14px;line-height:1.4}.planning-capacity-detail-list span{font-size:13px;line-height:1.5;color:var(--muted,#6f796f)}
.planning-capacity-detail-actions{display:grid;gap:10px;padding-top:4px}.planning-capacity-detail-actions>strong{font-size:15px}.planning-capacity-detail-actions>div{display:flex;gap:10px;flex-wrap:wrap}.planning-capacity-detail-actions .compact-button{padding:10px 14px;min-height:40px;font-size:14px}.planning-capacity-detail-actions>small{font-size:12px;line-height:1.4;color:var(--muted,#6f796f)}
@media(max-width:700px){.planning-capacity-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-capacity-detail-dialog{width:calc(100vw - 16px);max-height:92vh}.planning-capacity-detail-body{max-height:calc(92vh - 76px);padding:16px;font-size:14px}.planning-capacity-detail-head{padding:18px 16px 14px}.planning-capacity-detail-head strong{font-size:20px}.planning-capacity-detail-section{padding:14px}.planning-capacity-detail-section h3{font-size:16px}.planning-capacity-priority>em{margin-left:0;text-align:left;width:100%}}

/* v0.144.0 · Fase 15.8 Capaciteitsdashboard / consolidatie */
.planning-capacity-card{min-height:0;align-content:start}
.planning-capacity-priority{margin:6px 0 8px;padding:6px 8px}
.planning-capacity-priority>em{font-size:7.3px;line-height:1.3}
.planning-capacity-compact-signals{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}
.planning-capacity-compact-signals>span{display:grid;gap:2px;min-width:0;padding:8px 9px;border:1px solid var(--border,#dfe5df);border-radius:9px;background:#fff}
.planning-capacity-compact-signals small{font-size:7px;line-height:1.25;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--muted,#6f796f)}
.planning-capacity-compact-signals b{font-size:8.5px;line-height:1.35;color:var(--text,#172017);overflow-wrap:anywhere}
.planning-capacity-compact-signals .has-shortage b{color:#9a463d}.planning-capacity-compact-signals .is-covered b{color:#2f6d49}.planning-capacity-compact-signals .has-absence b{color:#9a681f}
.planning-capacity-actions-compact{margin-top:8px;padding-top:8px;border-top:1px solid var(--border,#dfe5df);align-items:center}
.planning-capacity-actions-compact .planning-capacity-open-week{margin-left:auto}
@media(max-width:900px){.planning-capacity-compact-signals{grid-template-columns:1fr}}


/* v0.144.1 · KPI-kaarten: geen gekleurde zijstreep, rustige volledige omlijning */
.planning-kpi{border:1px solid #dfe5e0!important}
.planning-kpi.attention{border-color:#dcc98f!important}
.planning-kpi.blocked{border-color:#dfaaa5!important}

/* v0.144.3 · KPI-randkleuren zichtbaar corrigeren */
.planning-kpi.planning-kpi--workversions{border-color:#9fb8c4!important}
.planning-kpi.planning-kpi--published{border-color:#9fc3a8!important}
.planning-kpi.planning-kpi--changed{border-color:#d9bb72!important}
.planning-kpi.planning-kpi--conflicts{border-color:#d99b82!important}
.planning-kpi.planning-kpi--worktime{border-color:#d98f86!important}
.planning-kpi.planning-kpi--changed.attention{border-color:#cba956!important}
.planning-kpi.planning-kpi--conflicts.blocked{border-color:#c97862!important}
.planning-kpi.planning-kpi--worktime.attention{border-color:#cf7f76!important}
.planning-kpi.planning-kpi--worktime.blocked{border-color:#c86f67!important}

/* Fase 16.1-16.3 · Planningsscenario's */
.planning-scenarios-page{max-width:1500px}
.scenario-intro-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);gap:18px;margin:18px 0}
.scenario-safety-card,.scenario-next-card{padding:24px}.scenario-safety-card h2,.scenario-next-card h2{margin:5px 0 8px}.scenario-safety-card p,.scenario-next-card p{margin:0;color:var(--muted,#6d736e);line-height:1.55}
.scenario-safety-card{border:1px solid #cfded3;background:linear-gradient(135deg,#fbfdfb,#f5faf6)}.scenario-next-card{border:1px solid #dce1df}
.scenario-safety-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.scenario-safety-points span{padding:7px 10px;border:1px solid #dce8df;background:#fff;border-radius:999px;font-size:13px;font-weight:700;color:#48634e}
.scenario-create-card{padding:24px;margin:0 0 24px}.scenario-section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.scenario-section-head h2{margin:4px 0 5px}.scenario-section-head p{margin:0;color:var(--muted,#6d736e)}
.scenario-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.scenario-form label>span,.scenario-base-choice legend{display:block;font-weight:700;margin-bottom:7px}.scenario-form .wide{grid-column:1/-1}.scenario-form input[type=text],.scenario-form input[type=date],.scenario-form input:not([type]),.scenario-form textarea{width:100%}.scenario-form small{display:block;margin-top:6px;color:var(--muted,#727872)}
.scenario-base-choice{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.scenario-base-choice legend{grid-column:1/-1}.scenario-base-choice label{display:flex;align-items:flex-start;gap:11px;border:1px solid #dfe3e0;border-radius:14px;padding:15px 16px;background:#fff;cursor:pointer}.scenario-base-choice label:has(input:checked){border-color:#94a99a;background:#f6faf7;box-shadow:0 0 0 1px rgba(107,135,114,.12)}.scenario-base-choice input{margin-top:3px}.scenario-base-choice strong,.scenario-base-choice small{display:block}.scenario-base-choice small{font-weight:400;line-height:1.4}
.scenario-list-section{margin-top:8px}.scenario-count{min-width:36px;height:36px;padding:0 10px;border-radius:999px;background:#edf1ee;display:grid;place-items:center}.scenario-list{display:grid;gap:12px}.scenario-card{padding:20px 22px;display:flex;justify-content:space-between;gap:22px;align-items:center;border:1px solid #dfe4e0}.scenario-card-main{min-width:0;flex:1}.scenario-card-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.scenario-card-title h3{margin:6px 0 0;font-size:19px}.scenario-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef2ef;color:#526158;font-size:12px;font-weight:800}.scenario-period{white-space:nowrap;font-weight:700;color:#555e57}.scenario-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:17px}.scenario-meta span{display:flex;flex-direction:column;gap:3px}.scenario-meta small{color:#7b817c}.scenario-meta strong{font-size:13px}.scenario-note{margin:14px 0 0;color:#646b65;line-height:1.5}.scenario-card-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:150px}.scenario-card-actions .muted{font-size:12px}.scenario-card-actions button[disabled]{opacity:.55;cursor:not-allowed}
@media(max-width:900px){.scenario-intro-grid{grid-template-columns:1fr}.scenario-form{grid-template-columns:1fr}.scenario-form .wide{grid-column:auto}.scenario-base-choice{grid-template-columns:1fr}.scenario-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.scenario-card{align-items:flex-start;flex-direction:column}.scenario-card-actions{align-items:flex-start}.scenario-card-title{flex-direction:column;gap:6px}}
@media(max-width:560px){.scenario-meta{grid-template-columns:1fr}.scenario-period{white-space:normal}}

/* v0.145.1 · Planningsscenario's polish, bewerken en verwijderen */
.scenario-feedback{display:flex;align-items:flex-start;gap:13px;padding:15px 17px;margin:18px 0;border-radius:15px;border:1px solid;font-size:14px;box-shadow:0 7px 22px rgba(25,43,33,.04)}
.scenario-feedback-icon{flex:0 0 28px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:16px}.scenario-feedback strong{display:block;font-size:15px;margin:1px 0 3px}.scenario-feedback p{margin:0;line-height:1.45}
.scenario-feedback-success{background:#f4faf5;border-color:#bfd8c5;color:#304f39}.scenario-feedback-success .scenario-feedback-icon{background:#dfeee2;color:#315b3b}.scenario-feedback-success p{color:#52705a}
.scenario-feedback-error{background:#fff7f5;border-color:#e6b8ae;color:#824336}.scenario-feedback-error .scenario-feedback-icon{background:#f6ddd7;color:#9a4333}.scenario-feedback-error p{color:#875a51}
.scenario-create-card{border:1px solid #dce3de;box-shadow:0 10px 30px rgba(33,51,40,.035)}
.scenario-form{gap:18px}.scenario-field{display:block;padding:14px 15px 15px;border:1px solid #dfe4e0;border-radius:14px;background:#fbfcfb;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.scenario-field:focus-within{border-color:#9db2a2;box-shadow:0 0 0 3px rgba(86,116,95,.08);background:#fff}
.scenario-form .scenario-field>span{margin-bottom:8px;font-size:13px;letter-spacing:.01em;color:#424b45}.scenario-field input,.scenario-field textarea{border:1px solid #cdd5cf!important;border-radius:10px!important;padding:11px 12px!important;background:#fff!important;min-height:44px}.scenario-field textarea{min-height:96px;resize:vertical}
.scenario-period-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.scenario-period-help{grid-column:1/-1;margin:-3px 3px 0;color:var(--muted,#727872);font-size:12px}
.scenario-base-choice{padding:2px 0 0}.scenario-base-choice label{min-height:84px;align-items:center}.scenario-base-choice input{flex:0 0 auto}.scenario-base-choice label:has(input:checked){border-color:#78927f;background:#f3f8f4;box-shadow:0 0 0 2px rgba(107,135,114,.10)}
.scenario-action-row{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.scenario-delete-form{margin:0}.danger-outline{border-color:#e2aaa0!important;color:#9c493b!important;background:#fffafa!important}.danger-outline:hover{background:#fff3f0!important;border-color:#d98f82!important}.scenario-card-actions{min-width:245px}.scenario-card-actions .muted{text-align:right}.scenario-card.status-draft{border-color:#dce4de}
@media(max-width:900px){.scenario-period-group{grid-template-columns:1fr}.scenario-period-help{grid-column:auto}.scenario-card-actions{min-width:0;width:100%}.scenario-action-row{justify-content:flex-start}.scenario-card-actions .muted{text-align:left}}

/* Planning scenarios · isolated workspace */
.scenario-workspace-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.scenario-isolation-banner{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:18px 0;padding:15px 18px;border:1px solid #b7d1be;border-radius:16px;background:#f4faf5}.scenario-isolation-banner>div{display:flex;gap:12px;align-items:center}.scenario-isolation-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#dcecdf;color:#3f6248;font-weight:900}.scenario-isolation-banner strong{display:block}.scenario-isolation-banner p{margin:2px 0 0;color:#56705d;font-size:13px}.scenario-workspace-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.scenario-workspace-kpis article{padding:17px 18px;border:1px solid #dce3de;border-radius:16px;background:#fff;display:flex;flex-direction:column;gap:4px}.scenario-workspace-kpis article.attention{border-color:#e4c991;background:#fffdf8}.scenario-workspace-kpis span{font-size:12px;font-weight:800;color:#707771;text-transform:uppercase;letter-spacing:.04em}.scenario-workspace-kpis strong{font-size:26px}.scenario-workspace-kpis small{color:#7b817c}.scenario-workspace-layout{display:grid;grid-template-columns:minmax(310px,390px) minmax(0,1fr);gap:18px;align-items:start}.scenario-entry-editor{padding:22px;position:sticky;top:18px}.scenario-entry-form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.scenario-entry-form label,.scenario-entry-delete label{display:block}.scenario-entry-form label>span,.scenario-entry-delete label>span{display:block;font-size:12px;font-weight:800;color:#495149;margin-bottom:6px}.scenario-entry-form .wide{grid-column:1/-1}.scenario-entry-form input,.scenario-entry-form select,.scenario-entry-form textarea,.scenario-entry-delete input{width:100%;border:1px solid #ccd5ce;border-radius:10px;padding:10px 11px;background:#fff}.scenario-entry-form select,.scenario-entry-form input{min-height:42px}.scenario-entry-form textarea{resize:vertical}.scenario-entry-time-row{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr .8fr;gap:9px}.scenario-entry-time-row small{display:block;margin-top:4px;color:#7d837e}.scenario-entry-delete{margin-top:18px;padding-top:17px;border-top:1px solid #e4e7e4;display:grid;gap:10px}.scenario-schedule-board{min-width:0}.scenario-board-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:3px 2px 14px}.scenario-board-head h2{margin:4px 0 5px}.scenario-board-head p{margin:0;color:#737a74}.scenario-board-count{white-space:nowrap;padding:7px 10px;border-radius:999px;background:#edf1ee;font-size:12px;font-weight:800}.scenario-day-list{display:grid;gap:10px}.scenario-day-card{padding:0;overflow:hidden;border:1px solid #dfe4e0}.scenario-day-card>header{padding:13px 15px;display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid #e8ebe8;background:#fafbfa}.scenario-day-card>header>div{display:flex;gap:9px;align-items:baseline}.scenario-day-name{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#748078}.scenario-day-card>header>span{font-size:12px;color:#7b817c}.scenario-day-empty{padding:18px;color:#959a96;text-align:center;font-size:13px}.scenario-day-entries{padding:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.scenario-shift-card{display:block;text-decoration:none;color:inherit;border:1px solid #dce2dd;border-radius:12px;padding:11px 12px;background:#fff;transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease}.scenario-shift-card:hover{border-color:#9cad9f;box-shadow:0 6px 18px rgba(33,51,40,.07);transform:translateY(-1px)}.scenario-shift-card.change-added{border-color:#a9cdb2;background:#f8fcf8}.scenario-shift-card.change-modified{border-color:#e1c583;background:#fffdf7}.scenario-shift-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.scenario-shift-top strong{font-size:13px}.scenario-shift-top span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:#6d756f}.scenario-shift-time{font-size:18px;font-weight:850;margin:7px 0 5px}.scenario-shift-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;color:#747b75;font-size:11px}.scenario-shift-meta span:last-child{text-align:right}.scenario-workspace-page .scenario-status{white-space:nowrap}
@media(max-width:1050px){.scenario-workspace-layout{grid-template-columns:1fr}.scenario-entry-editor{position:static}.scenario-workspace-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.scenario-workspace-header{flex-direction:column}.scenario-workspace-kpis{grid-template-columns:1fr 1fr}.scenario-entry-form{grid-template-columns:1fr}.scenario-entry-form .wide,.scenario-entry-time-row{grid-column:auto}.scenario-entry-time-row{grid-template-columns:1fr}.scenario-isolation-banner{align-items:flex-start}.scenario-day-entries{grid-template-columns:1fr}}

/* Planning scenarios · 16.5 simulated absences */
.scenario-workspace-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.scenario-tools-column{display:grid;gap:18px;align-self:start}.scenario-tools-column .scenario-entry-editor{position:static;top:auto}
.scenario-absence-editor{padding:22px;border:1px solid #d9e3dc;background:linear-gradient(180deg,#fff,#fbfcfb)}
.scenario-inline-note{padding:12px 13px;border:1px solid #e0e5e1;border-radius:11px;background:#fafbfa;color:#6c746e;font-size:13px;line-height:1.45}
.scenario-absence-form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.scenario-absence-form label{display:block}.scenario-absence-form label>span,.scenario-absence-scope legend{display:block;font-size:12px;font-weight:800;color:#495149;margin-bottom:6px}.scenario-absence-form input,.scenario-absence-form select,.scenario-absence-form textarea{width:100%;border:1px solid #ccd5ce;border-radius:10px;padding:10px 11px;background:#fff}.scenario-absence-form select,.scenario-absence-form input{min-height:42px}.scenario-absence-form textarea{resize:vertical}.scenario-absence-form .wide{grid-column:1/-1}
.scenario-absence-date-row,.scenario-absence-time-row{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:9px}.scenario-absence-time-row small{grid-column:1/-1;color:#7d837e;margin-top:-2px}
.scenario-absence-scope{grid-column:1/-1;border:0;padding:0;margin:0;display:flex;gap:9px;flex-wrap:wrap}.scenario-absence-scope legend{width:100%}.scenario-absence-scope label{display:flex;align-items:center;gap:7px;border:1px solid #dce3de;border-radius:10px;padding:9px 11px;background:#fff;font-size:13px;font-weight:700;cursor:pointer}.scenario-absence-scope label:has(input:checked){border-color:#9bb39f;background:#f4f9f5}.scenario-absence-scope input{width:auto;min-height:auto;margin:0}
.scenario-day-absences{display:grid;gap:7px;padding:10px 10px 0}.scenario-absence-badge{display:grid;grid-template-columns:auto 1fr auto;gap:8px 12px;align-items:center;text-decoration:none;color:inherit;border:1px solid #c9b7dc;border-radius:11px;padding:9px 11px;background:#fbf8ff;transition:border-color .15s ease,box-shadow .15s ease}.scenario-absence-badge:hover{border-color:#a98bc7;box-shadow:0 5px 16px rgba(72,46,98,.06)}.scenario-absence-badge-label{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:#765790}.scenario-absence-badge strong{font-size:12px}.scenario-absence-badge>span:last-child{font-size:11px;color:#766d7d;text-align:right}.scenario-absence-delete{margin-top:16px}
@media(max-width:1250px){.scenario-workspace-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){.scenario-workspace-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.scenario-absence-form{grid-template-columns:1fr}.scenario-absence-form .wide,.scenario-absence-date-row,.scenario-absence-time-row,.scenario-absence-scope{grid-column:auto}.scenario-absence-date-row,.scenario-absence-time-row{grid-template-columns:1fr}.scenario-absence-badge{grid-template-columns:1fr}.scenario-absence-badge>span:last-child{text-align:left}.scenario-workspace-kpis{grid-template-columns:1fr 1fr}}

/* v0.148.0 · Fase 16.6 contract-/regimesimulatie + afwezigheidsimpact */
.scenario-workspace-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}
.scenario-regime-editor{padding:22px;border:1px solid #d9e3dc;background:linear-gradient(180deg,#fff,#fbfcfb)}
.scenario-regime-form{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.scenario-regime-form label{display:block}.scenario-regime-form label>span{display:block;font-size:12px;font-weight:800;color:#495149;margin-bottom:6px}
.scenario-regime-form input,.scenario-regime-form select,.scenario-regime-form textarea{width:100%;border:1px solid #ccd5ce;border-radius:10px;padding:10px 11px;background:#fff}
.scenario-regime-form select,.scenario-regime-form input{min-height:42px}.scenario-regime-form textarea{resize:vertical}.scenario-regime-form .wide{grid-column:1/-1}
.scenario-regime-form small{display:block;margin-top:5px;color:#7d837e;line-height:1.35}
.scenario-regime-date-row{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:9px}
.scenario-current-regime{grid-column:1/-1;padding:11px 12px;border:1px solid #dce4de;border-radius:11px;background:#f8faf8;display:grid;gap:2px}
.scenario-current-regime>span{font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:#738078}.scenario-current-regime strong{font-size:13px}.scenario-current-regime small{margin:0;color:#6f7771}
.scenario-regime-list{margin-top:16px;padding-top:15px;border-top:1px solid #e4e7e4;display:grid;gap:8px}.scenario-regime-list>.eyebrow{margin-bottom:1px}
.scenario-regime-list a{display:grid;grid-template-columns:1fr auto;gap:2px 10px;text-decoration:none;color:inherit;border:1px solid #d7e1da;border-radius:10px;padding:10px 11px;background:#f8fbf8}.scenario-regime-list a:hover{border-color:#a6bbaa}.scenario-regime-list a>span{font-size:11px;color:#737a74}.scenario-regime-list a>small{grid-column:1/-1;color:#657067}
.scenario-day-regimes{display:grid;gap:7px;padding:8px 10px 0}.scenario-regime-badge{display:grid;grid-template-columns:auto 1fr auto;gap:8px 12px;align-items:center;text-decoration:none;color:inherit;border:1px solid #b9d2c0;border-radius:11px;padding:9px 11px;background:#f6fbf7}.scenario-regime-badge:hover{border-color:#8fb09a;box-shadow:0 5px 16px rgba(46,82,58,.06)}.scenario-regime-badge-label{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:#4f7659}.scenario-regime-badge strong{font-size:12px}.scenario-regime-badge>span:last-child{font-size:11px;color:#66736a;text-align:right}
.scenario-shift-card.absence-impacted{border-color:#b79acb;background:#fcf9ff;box-shadow:inset 0 0 0 1px rgba(126,87,151,.08)}
.scenario-shift-impact{display:inline-flex;align-items:center;margin:7px 0 0;padding:4px 7px;border-radius:999px;background:#f0e8f7;color:#714f88;font-size:9px;font-weight:850;letter-spacing:.02em;text-transform:uppercase}
@media(max-width:1350px){.scenario-workspace-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.scenario-regime-form{grid-template-columns:1fr}.scenario-regime-form .wide,.scenario-regime-date-row{grid-column:auto}.scenario-regime-date-row{grid-template-columns:1fr}.scenario-regime-badge{grid-template-columns:1fr}.scenario-regime-badge>span:last-child{text-align:left}.scenario-workspace-kpis{grid-template-columns:1fr 1fr}}

/* v0.149.0 · Planning scenarios · simulated staffing requirements */
.scenario-workspace-kpis{grid-template-columns:repeat(7,minmax(0,1fr))}
.scenario-staffing-editor{padding:22px;border:1px solid #d9e3dc;background:linear-gradient(180deg,#fff,#fbfcfb)}
.scenario-staffing-form{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.scenario-staffing-form label{display:block}.scenario-staffing-form label>span{display:block;font-size:12px;font-weight:800;color:#495149;margin-bottom:6px}
.scenario-staffing-form input,.scenario-staffing-form select,.scenario-staffing-form textarea{width:100%;border:1px solid #ccd5ce;border-radius:10px;padding:10px 11px;background:#fff}
.scenario-staffing-form select,.scenario-staffing-form input{min-height:42px}.scenario-staffing-form textarea{resize:vertical}.scenario-staffing-form .wide{grid-column:1/-1}
.scenario-staffing-form small{display:block;margin-top:5px;color:#7d837e;line-height:1.35}
.scenario-staffing-time-row{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr .9fr;gap:9px}
.scenario-staffing-date-row{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:9px}
.scenario-staffing-list{margin-top:16px;padding-top:15px;border-top:1px solid #e4e7e4;display:grid;gap:8px}.scenario-staffing-list>.eyebrow{margin-bottom:1px}
.scenario-staffing-list a{display:grid;grid-template-columns:1fr auto;gap:2px 10px;text-decoration:none;color:inherit;border:1px solid #d6dfeb;border-radius:10px;padding:10px 11px;background:#f8fbff}.scenario-staffing-list a:hover{border-color:#a8bad1}.scenario-staffing-list a>span{font-size:11px;color:#6f7884}.scenario-staffing-list a>small{grid-column:1/-1;color:#626d7a}
.scenario-day-staffing{display:grid;gap:7px;padding:8px 10px 0}.scenario-staffing-badge{display:grid;grid-template-columns:auto 1fr auto;gap:8px 12px;align-items:center;text-decoration:none;color:inherit;border:1px solid #b9cce3;border-radius:11px;padding:9px 11px;background:#f7faff}.scenario-staffing-badge:hover{border-color:#8faaca;box-shadow:0 5px 16px rgba(50,77,111,.06)}.scenario-staffing-badge-label{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:#506f95}.scenario-staffing-badge strong{font-size:12px}.scenario-staffing-badge>span:last-child{font-size:11px;color:#687487;text-align:right}
@media(max-width:1450px){.scenario-workspace-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.scenario-workspace-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.scenario-staffing-form{grid-template-columns:1fr}.scenario-staffing-form .wide,.scenario-staffing-time-row,.scenario-staffing-date-row{grid-column:auto}.scenario-staffing-time-row,.scenario-staffing-date-row{grid-template-columns:1fr}.scenario-staffing-badge{grid-template-columns:1fr}.scenario-staffing-badge>span:last-child{text-align:left}.scenario-workspace-kpis{grid-template-columns:1fr 1fr}}

/* v0.149.1 · compact scenario tools */
.scenario-tools-switcher{padding:18px}.scenario-tools-switcher-head h2{margin:4px 0 5px}.scenario-tools-switcher-head p{margin:0;color:#737a74;font-size:13px;line-height:1.45}.scenario-tool-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.scenario-tool-tab{appearance:none;border:1px solid #dce3de;background:#fff;border-radius:12px;padding:10px 11px;text-align:left;cursor:pointer;display:grid;gap:2px;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.scenario-tool-tab:hover{border-color:#a9b8ad}.scenario-tool-tab.active{border-color:#9fb4a4;background:#f4f8f5;box-shadow:0 0 0 1px rgba(104,136,112,.06)}.scenario-tool-tab span{font-weight:800;color:#2f3932}.scenario-tool-tab small{font-size:11px;color:#788079}.scenario-tool-panel{display:none}.scenario-tool-panel.active{display:block}.scenario-tool-panel>.card{margin:0}.scenario-tools-column .scenario-entry-editor,.scenario-tools-column .scenario-absence-editor,.scenario-tools-column .scenario-regime-editor,.scenario-tools-column .scenario-staffing-editor{padding:20px}.scenario-active-simulations{padding:18px}.scenario-active-simulations-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.scenario-active-simulations-head h3{margin:4px 0 0;font-size:17px}.scenario-active-count{white-space:nowrap;padding:5px 8px;border-radius:999px;background:#eef2ef;font-size:11px;font-weight:800;color:#586259}.scenario-active-list{display:grid;gap:8px;margin-top:13px}.scenario-active-item{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:10px 11px;border:1px solid #dde4df;border-radius:11px;text-decoration:none;color:inherit;background:#fff}.scenario-active-item:hover{border-color:#aab9ae}.scenario-active-item strong{font-size:13px}.scenario-active-item small{grid-column:1/-1;color:#727b74;font-size:11px}.scenario-active-type{font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#657168;align-self:start}.scenario-active-item.absence{border-color:#dfd0ec;background:#fcf9ff}.scenario-active-item.absence .scenario-active-type{color:#76588e}.scenario-active-item.regime{border-color:#cfe0d3;background:#f9fcf9}.scenario-active-item.regime .scenario-active-type{color:#4e7558}.scenario-active-item.staffing{border-color:#d5deea;background:#f9fbfe}.scenario-active-item.staffing .scenario-active-type{color:#5a6f8a}.scenario-regime-list,.scenario-staffing-list{display:none!important}
@media(max-width:700px){.scenario-tool-tabs{grid-template-columns:1fr}.scenario-active-simulations-head{align-items:center}}

/* v0.150.0 · Planning scenarios · live impact analysis */
.scenario-impact{margin:20px 0;padding:22px;border:1px solid #d9e2dc;border-radius:20px;background:linear-gradient(180deg,#fff,#fbfcfb);box-shadow:0 10px 30px rgba(34,52,39,.035)}
.scenario-impact-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.scenario-impact-head h2{margin:4px 0 5px;font-size:22px}.scenario-impact-head p{margin:0;color:#707872;line-height:1.45}.scenario-impact-status{white-space:nowrap;padding:6px 10px;border-radius:999px;background:#edf4ef;color:#4d6d56;font-size:11px;font-weight:850}
.scenario-impact-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:18px}.scenario-impact-grid article{border:1px solid #dce3de;border-radius:14px;padding:14px 15px;background:#fff;display:grid;gap:4px;min-height:105px}.scenario-impact-grid article.attention{border-color:#e8c37a;background:#fffdf8}.scenario-impact-grid article>span{font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:#6e7770}.scenario-impact-grid article>strong{font-size:25px;line-height:1.05}.scenario-impact-grid article>small{color:#737b75;line-height:1.35}
.scenario-impact-details{margin-top:14px;border:1px solid #e0e5e1;border-radius:14px;background:#fff;overflow:hidden}.scenario-impact-details summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px}.scenario-impact-details summary::-webkit-details-marker{display:none}.scenario-impact-details summary span{font-weight:850}.scenario-impact-details summary b{font-size:11px;color:#687169}.scenario-impact-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 12px}.scenario-impact-detail{display:grid;gap:3px;padding:10px 11px;border:1px solid #e3e7e4;border-radius:11px;background:#fafbfa}.scenario-impact-detail strong{font-size:12px}.scenario-impact-detail span{font-size:11px;color:#68716a;line-height:1.35}.scenario-impact-detail.staffing{border-color:#d4deeb;background:#f8fbff}.scenario-impact-detail.contract{border-color:#d8e2da;background:#f8fbf9}.scenario-impact-detail.worktime{border-color:#edcfbd;background:#fffaf7}.scenario-impact-detail.absence{border-color:#dfd0eb;background:#fcf9ff}.scenario-impact-empty{margin-top:14px;padding:12px 14px;border:1px dashed #dce2dd;border-radius:12px;color:#707871;background:#fbfcfb}
@media(max-width:1350px){.scenario-impact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.scenario-impact-head{display:grid}.scenario-impact-status{justify-self:start}.scenario-impact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scenario-impact-detail-list{grid-template-columns:1fr}}
@media(max-width:560px){.scenario-impact{padding:16px}.scenario-impact-grid{grid-template-columns:1fr}.scenario-impact-details summary{align-items:flex-start;flex-direction:column}}

/* v0.151.0 · Planning scenarios · basis versus scenario */
.scenario-compare{margin-top:18px;padding-top:18px;border-top:1px solid #e2e7e3}.scenario-compare-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.scenario-compare-head h3{margin:4px 0 5px;font-size:19px}.scenario-compare-head p{margin:0;color:#707872;line-height:1.45;max-width:900px}.scenario-compare-badge{white-space:nowrap;padding:6px 9px;border-radius:999px;background:#f1f4f2;color:#626d65;font-size:10px;font-weight:850}
.scenario-compare-table-wrap{margin-top:14px;border:1px solid #e0e5e1;border-radius:14px;overflow:auto;background:#fff}.scenario-compare-table{width:100%;border-collapse:collapse;min-width:690px}.scenario-compare-table th,.scenario-compare-table td{padding:11px 13px;border-bottom:1px solid #edf0ee;text-align:left;font-size:12px}.scenario-compare-table thead th{background:#f7f9f7;color:#687169;font-size:10px;letter-spacing:.05em;text-transform:uppercase}.scenario-compare-table tbody th{font-weight:800;color:#2f3932}.scenario-compare-table tbody tr:last-child th,.scenario-compare-table tbody tr:last-child td{border-bottom:0}.scenario-compare-table td.delta{font-weight:850}.scenario-compare-table td.delta.changed{color:#9b6820;background:#fffdf7}.scenario-compare-table td.delta.neutral{color:#6f7771}
.scenario-compare-changes{margin-top:12px;border:1px solid #e0e5e1;border-radius:14px;background:#fff;overflow:hidden}.scenario-compare-changes summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px}.scenario-compare-changes summary::-webkit-details-marker{display:none}.scenario-compare-changes summary span{font-weight:850}.scenario-compare-changes summary b{font-size:11px;color:#687169}.scenario-compare-change-list{display:grid;gap:8px;padding:0 12px 12px}.scenario-compare-change{padding:11px;border:1px solid #e2e7e3;border-radius:12px;background:#fbfcfb}.scenario-compare-change.modified{border-color:#ead19c;background:#fffdf8}.scenario-compare-change.added{border-color:#cfe0d3;background:#f8fcf9}.scenario-compare-change.deleted{border-color:#e5c6c6;background:#fffafa}.scenario-compare-change-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.scenario-compare-change-title span{font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#707a72}.scenario-compare-change-title strong{font-size:12px}.scenario-compare-change-columns{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}.scenario-compare-change-columns>div:not(.arrow){display:grid;gap:2px}.scenario-compare-change-columns small{font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:#7b837d}.scenario-compare-change-columns strong{font-size:12px}.scenario-compare-change-columns span{font-size:11px;color:#6f7871}.scenario-compare-change-columns .arrow{font-weight:900;color:#8d958f}
@media(max-width:850px){.scenario-compare-head{display:grid}.scenario-compare-badge{justify-self:start}.scenario-compare-change-columns{grid-template-columns:1fr}.scenario-compare-change-columns .arrow{transform:rotate(90deg);justify-self:start}.scenario-compare-change-title{align-items:flex-start;flex-direction:column}.scenario-compare-changes summary{align-items:flex-start;flex-direction:column}}

/* v0.152.0 · Planning scenarios · brondata bewaken */
.scenario-source-state{display:flex;align-items:flex-start;gap:14px;margin:16px 0;padding:16px 18px;border:1px solid #d8e4dc;border-radius:18px;background:#fbfdfb;box-shadow:0 8px 24px rgba(28,44,35,.035)}
.scenario-source-state.stale{border-color:#e6c78f;background:#fffaf2}
.scenario-source-state-icon{display:flex;align-items:center;justify-content:center;flex:0 0 34px;height:34px;border-radius:11px;background:#eaf4ed;color:#315d43;font-weight:800;font-size:17px}
.scenario-source-state.stale .scenario-source-state-icon{background:#fff0d7;color:#9a6617}
.scenario-source-state-copy{min-width:0;flex:1}.scenario-source-state-copy strong{display:block;font-size:16px;line-height:1.25;color:#1d2b22}.scenario-source-state-copy p{margin:4px 0 0;color:#68736c;line-height:1.45}
.scenario-source-state-badge{flex:0 0 auto;border-radius:999px;padding:7px 11px;background:#edf4ef;color:#456251;font-size:12px;font-weight:800;white-space:nowrap}.scenario-source-state.stale .scenario-source-state-badge{background:#fff0d7;color:#8c611c}
.scenario-source-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.scenario-source-chips span{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;border:1px solid #eccf9b;background:#fffdf8;color:#77521a;font-size:12px;font-weight:750}
@media(max-width:780px){.scenario-source-state{align-items:flex-start;flex-wrap:wrap}.scenario-source-state-badge{margin-left:48px}}

/* v0.153.0 · Planning scenarios · veilig opnieuw berekenen */
.scenario-recalculate-form{display:flex;align-items:flex-end;gap:12px;margin-top:14px;max-width:760px}.scenario-recalculate-form label{display:grid;gap:6px;flex:1}.scenario-recalculate-form label>span{font-size:.78rem;font-weight:750;color:var(--text-muted,#64748b)}.scenario-recalculate-form input{width:100%;min-height:42px;border:1px solid rgba(148,163,184,.55);border-radius:10px;padding:9px 11px;background:#fff;color:inherit}.scenario-source-state.stale .scenario-recalculate-form .button{white-space:nowrap;min-height:42px}.scenario-recalc-conflicts{margin-top:14px;border:1px solid rgba(217,119,6,.34);background:linear-gradient(180deg,rgba(255,251,235,.78),rgba(255,255,255,.98))}.scenario-conflict-list{display:grid;gap:10px;margin-top:14px}.scenario-conflict-item{display:flex;justify-content:space-between;gap:18px;padding:13px 14px;border:1px solid rgba(217,119,6,.22);border-radius:12px;background:rgba(255,255,255,.86)}.scenario-conflict-item strong{display:block;margin-bottom:3px}.scenario-conflict-item p{margin:0;color:var(--text-muted,#64748b);font-size:.88rem;line-height:1.45}.scenario-conflict-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end;min-width:180px}.scenario-conflict-meta span{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(245,158,11,.12);color:#92400e;font-size:.76rem;font-weight:750}@media(max-width:900px){.scenario-recalculate-form{flex-direction:column;align-items:stretch}.scenario-conflict-item{flex-direction:column}.scenario-conflict-meta{justify-content:flex-start;min-width:0}}

/* v0.154.0 · Planning scenarios · selectief toepassen op werkversie */
.scenario-source-state.applied{border-color:#cfe0d3;background:#f8fcf9}.scenario-source-state.applied .scenario-source-state-icon{background:#e5f3e9;color:#356247}.scenario-source-state.applied .scenario-source-state-badge{background:#e5f3e9;color:#356247}
.scenario-application{margin:18px 0 20px;padding:22px;border:1px solid #d9e2dc;border-radius:20px;background:linear-gradient(180deg,#fff,#fbfcfb)}
.scenario-application-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.scenario-application-head h2{margin:4px 0 5px;font-size:21px}.scenario-application-head p{margin:0;max-width:860px;color:#6e7770;line-height:1.45}.scenario-application-badge{white-space:nowrap;padding:6px 10px;border-radius:999px;background:#eef3ef;color:#52665a;font-size:11px;font-weight:850}
.scenario-application-warning{margin-top:14px;padding:13px 14px;border:1px solid #e7c48b;border-radius:13px;background:#fffaf2}.scenario-application-warning strong{display:block;color:#8a611c}.scenario-application-warning p{margin:3px 0 0;color:#745a2a}
.scenario-application-empty,.scenario-application-result{margin-top:14px;padding:15px 16px;border:1px dashed #d8e1da;border-radius:13px;background:#fbfcfb;color:#68726b}.scenario-application-result{border-style:solid;border-color:#cfe0d3;background:#f8fcf9}.scenario-application-result strong{display:block;color:#315c42;font-size:15px}.scenario-application-result p{margin:4px 0 5px;color:#5f6e64}.scenario-application-result small{color:#718078}
.scenario-application-form{display:grid;gap:14px;margin-top:15px}.scenario-application-list{display:grid;gap:9px}.scenario-application-item{display:grid;grid-template-columns:auto auto 1fr;align-items:flex-start;gap:10px;padding:12px 13px;border:1px solid #dfe5e1;border-radius:12px;background:#fff;cursor:pointer}.scenario-application-item.modified{border-color:#ead19c;background:#fffdf8}.scenario-application-item.added{border-color:#cfe0d3;background:#f8fcf9}.scenario-application-item.deleted{border-color:#e5c6c6;background:#fffafa}.scenario-application-item input{margin-top:3px}.scenario-application-check{display:none}.scenario-application-copy{display:grid;gap:3px;min-width:0}.scenario-application-copy b{font-size:13px}.scenario-application-copy small{color:#6c756e;line-height:1.4}
.scenario-application-exclusions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 12px;border:1px solid #e1e6e2;border-radius:12px;background:#fafbfa}.scenario-application-exclusions strong{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#6b746e}.scenario-application-exclusions span{padding:5px 8px;border-radius:999px;background:#f0f3f1;color:#5d6860;font-size:11px;font-weight:750}.scenario-application-exclusions small{width:100%;color:#777f79}
.scenario-application-reason{display:grid;gap:6px}.scenario-application-reason>span{font-weight:750;font-size:13px}.scenario-application-reason textarea{width:100%;min-height:84px}.scenario-application-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.scenario-application-actions span{font-size:12px;font-weight:750;color:#68736c}.scenario-application-actions button:disabled{opacity:.55;cursor:not-allowed}
.scenario-workspace-layout.readonly{grid-template-columns:1fr}.scenario-workspace-layout.readonly .scenario-schedule-board{min-width:0}
@media(max-width:760px){.scenario-application{padding:16px}.scenario-application-head{display:grid}.scenario-application-badge{justify-self:start}.scenario-application-actions{align-items:stretch;flex-direction:column}.scenario-application-actions .button{width:100%}}

/* v0.155.0 · Planning scenario undo / herstelpunt */
.scenario-source-state.reverted{border-color:#cfdbe8;background:#f8fbff}.scenario-source-state.reverted .scenario-source-state-icon{background:#e7eef8;color:#405f83}.scenario-source-state.reverted .scenario-source-state-badge{background:#e7eef8;color:#405f83}.scenario-source-state-copy small{display:block;margin-top:7px;color:#718078;font-size:12px}
.scenario-application-result.reverted{border-color:#cfdbe8;background:#f8fbff}.scenario-application-result.reverted strong{color:#405f83}
.scenario-undo-application{display:grid;gap:12px;margin-top:14px;padding:16px;border:1px solid #e3d4ba;border-radius:14px;background:#fffcf7}.scenario-undo-application h3{margin:3px 0 4px;font-size:17px}.scenario-undo-application p{margin:0;color:#6d736e;line-height:1.45}.scenario-undo-application>small{color:#7d776d}.scenario-undo-application-form{display:flex;align-items:flex-end;gap:12px}.scenario-undo-application-form label{display:grid;gap:6px;flex:1}.scenario-undo-application-form label>span{font-size:13px;font-weight:750}.scenario-undo-application-form input{width:100%;min-height:42px}.scenario-undo-application-form button{white-space:nowrap}
@media(max-width:760px){.scenario-undo-application-form{flex-direction:column;align-items:stretch}.scenario-undo-application-form button{width:100%}}


/* v0.156.0 · Planning scenarios · audit/history and locked metadata */
.scenario-locked-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:13px 14px;border:1px solid #dde3df;border-radius:12px;background:#f8faf8}.scenario-locked-meta>span{display:grid;gap:3px}.scenario-locked-meta strong{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:#778079}.scenario-locked-meta small{grid-column:1/-1;color:#737b75;line-height:1.4}
.scenario-audit-history{margin:20px 0;padding:22px;border:1px solid #dbe2dd}.scenario-audit-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.scenario-audit-head h2{margin:4px 0 5px}.scenario-audit-head p{margin:0;color:#717a73}.scenario-audit-count{white-space:nowrap;padding:6px 9px;border-radius:999px;background:#eef2ef;color:#59645b;font-size:11px;font-weight:850}.scenario-audit-list{display:grid;margin-top:17px}.scenario-audit-item{display:grid;grid-template-columns:18px 1fr;gap:10px;position:relative;padding:0 0 16px}.scenario-audit-item:not(:last-child):before{content:"";position:absolute;left:6px;top:14px;bottom:0;width:1px;background:#dfe5e0}.scenario-audit-marker{width:13px;height:13px;border-radius:50%;margin-top:4px;background:#fff;border:3px solid #8ea795;z-index:1}.scenario-audit-body{border:1px solid #e0e5e1;border-radius:12px;padding:11px 13px;background:#fff}.scenario-audit-title{display:flex;justify-content:space-between;gap:14px}.scenario-audit-title strong{font-size:13px}.scenario-audit-title time{font-size:11px;color:#7a827c;white-space:nowrap}.scenario-audit-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:4px;color:#667169;font-size:11px}.scenario-audit-body p{margin:7px 0 0;color:#4f5851;font-size:12px;line-height:1.45}.scenario-audit-empty{margin-top:14px;padding:13px;border:1px dashed #d8dfda;border-radius:11px;color:#737b75}.scenario-delete-form{display:inline-flex}
@media(max-width:700px){.scenario-locked-meta{grid-template-columns:1fr}.scenario-locked-meta small{grid-column:auto}.scenario-audit-head,.scenario-audit-title{display:grid}.scenario-audit-title time{white-space:normal}}

/* Planning scenario's · fase 16.15 UX-polish */
.scenario-audit-history{margin:16px 0;padding:0;border:1px solid #dbe2dd;overflow:hidden}
.scenario-audit-history>summary{list-style:none;cursor:pointer;padding:18px 20px;user-select:none}
.scenario-audit-history>summary::-webkit-details-marker{display:none}
.scenario-audit-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.scenario-audit-head h2{margin:4px 0 4px}.scenario-audit-head p{margin:0;color:#717a73;font-size:13px;line-height:1.4}
.scenario-audit-head-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.scenario-audit-toggle{white-space:nowrap;padding:6px 10px;border-radius:999px;border:1px solid #d8dfda;background:#fff;color:#4e5b52;font-size:11px;font-weight:850}
.scenario-audit-toggle .open-label{display:none}.scenario-audit-history[open] .scenario-audit-toggle .closed-label{display:none}.scenario-audit-history[open] .scenario-audit-toggle .open-label{display:inline}
.scenario-audit-content{padding:0 20px 18px;border-top:1px solid #edf0ed}
.scenario-audit-list{display:grid;margin-top:14px}.scenario-audit-item{padding-bottom:11px}.scenario-audit-body{padding:9px 11px}.scenario-audit-body p{margin-top:5px}
.scenario-audit-empty{margin-top:13px}

.scenario-shift-top{min-width:0}.scenario-shift-person{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.scenario-shift-person strong{display:block;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.15}.scenario-shift-person small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#778079;font-size:10px;line-height:1.2;font-weight:600}.scenario-shift-top>span{flex:0 0 auto}

@media (max-width:760px){.scenario-audit-head{gap:10px}.scenario-audit-head-actions{align-items:flex-end}.scenario-audit-head p{font-size:12px}.scenario-audit-content{padding:0 14px 14px}.scenario-audit-history>summary{padding:15px 14px}}

/* v0.158.1 — overwerkbeleid: HR-first configuratie en compactere beheerweergave */
.overtime-settings-route{display:grid;grid-template-columns:minmax(0,1.5fr) auto;gap:18px;align-items:center;padding:15px 17px;border:1px solid #dfe7e1;border-radius:13px;background:#f8faf8}
.overtime-settings-route-copy{display:grid;gap:5px}.overtime-settings-route-copy strong{font-size:17px;line-height:1.2;color:#26362c}.overtime-settings-route-copy p{margin:0;color:#667169;font-size:11px;line-height:1.5}
.overtime-policy-card{overflow:visible}.overtime-policy-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}.overtime-policy-steps>div{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:10px;row-gap:3px;align-items:start;padding:13px 14px;border:1px solid #e1e6e2;border-radius:12px;background:#fbfcfb}.overtime-policy-steps>div>span{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:#edf3ee;color:#536a5a;font-size:12px;font-weight:850}.overtime-policy-steps strong{font-size:11px;color:#35463b}.overtime-policy-steps small{font-size:9.5px;line-height:1.4;color:#7a847d}
.overtime-profile-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin:0 0 14px;padding:15px 17px;border:1px solid #d9e5dc;border-radius:13px;background:#f5faf6}.overtime-profile-card>div{display:grid;gap:4px}.overtime-profile-card strong{font-size:15px;color:#30483a}.overtime-profile-card p{margin:0;color:#647168;font-size:10.5px;line-height:1.5}.overtime-profile-filled{display:grid!important;gap:2px;margin:0 0 14px}.overtime-profile-filled[hidden]{display:none!important}.overtime-profile-filled strong{font-size:11px}.overtime-profile-filled span{font-size:10px;color:#647168}
.overtime-policy-form{display:grid;gap:14px}.overtime-form-section{padding:15px 16px;border:1px solid #e1e6e2;border-radius:13px;background:#fff}.overtime-form-section-head{display:flex;align-items:flex-start;gap:10px;margin:0 0 13px}.overtime-form-section-head>span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;border-radius:999px;background:#eef3ef;color:#566b5d;font-size:11px;font-weight:850}.overtime-form-section-head>div{display:grid;gap:2px}.overtime-form-section-head strong{font-size:13px;color:#2f3f35}.overtime-form-section-head small{font-size:9.5px;line-height:1.4;color:#7a847d}.overtime-policy-form .settings-form-grid{margin:0}.overtime-policy-basic{grid-template-columns:2fr 1fr 1fr}.overtime-policy-compact{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}.overtime-form-final{background:#fbfcfb}.overtime-policy-actions-main{align-self:end}
.overtime-advanced-settings,.overtime-policy-history,.overtime-agreements-card>details{border:1px solid #e1e6e2;border-radius:12px;background:#fbfcfb;overflow:hidden}.overtime-advanced-settings>summary,.overtime-policy-history>summary,.overtime-agreements-card>details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;cursor:pointer;list-style:none;color:#4f6055}.overtime-advanced-settings>summary::-webkit-details-marker,.overtime-policy-history>summary::-webkit-details-marker,.overtime-agreements-card>details>summary::-webkit-details-marker{display:none}.overtime-advanced-settings>summary>span:first-child,.overtime-policy-history>summary>span:first-child,.overtime-agreements-card>details>summary>span:first-child{display:grid;gap:2px}.overtime-advanced-settings>summary strong,.overtime-policy-history>summary strong,.overtime-agreements-card>details>summary strong{font-size:11.5px}.overtime-advanced-settings>summary small,.overtime-policy-history>summary small,.overtime-agreements-card>details>summary small{font-size:9px;line-height:1.4;color:#7b847e}.overtime-advanced-grid{padding:14px 15px 16px;border-top:1px solid #e5e9e6;background:#fff}.overtime-policy-history{margin-top:16px}.overtime-policy-history .overtime-table{margin-top:0;padding:0 12px 12px;border-top:1px solid #e5e9e6;background:#fff}.overtime-agreements-card{padding:0!important}.overtime-agreements-body{padding:0 16px 16px;border-top:1px solid #e5e9e6}.overtime-agreements-body>.settings-info-note{margin-top:14px}.overtime-agreements-body .overtime-table{margin-top:16px}
.overtime-policy-checklist{margin-top:14px}
@media(max-width:1100px){.overtime-policy-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.overtime-settings-route,.overtime-profile-card{grid-template-columns:1fr}.overtime-policy-basic{grid-template-columns:repeat(2,minmax(0,1fr))}.overtime-policy-basic>label:first-child{grid-column:1/-1}}
@media(max-width:680px){.overtime-policy-steps,.overtime-policy-basic,.overtime-policy-compact{grid-template-columns:1fr}.overtime-policy-basic>label:first-child{grid-column:auto}.overtime-form-section{padding:13px}.overtime-profile-card{padding:13px}.overtime-profile-card .button{width:100%}.overtime-settings-route{padding:13px}.overtime-agreements-body{padding:0 12px 12px}}
\n/* v0.158.2 · Overwerkbeleid: menselijke uur/minuutinvoer en leesbaarheid */\n.overtime-policy-card .settings-card-head h2{font-size:24px;line-height:1.2}\n.overtime-policy-card .settings-card-head p{font-size:15px;line-height:1.55}\n.overtime-policy-steps strong{font-size:13.5px;line-height:1.35}\n.overtime-policy-steps small{font-size:11.5px;line-height:1.5}\n.overtime-policy-steps>div>span{font-size:13px}\n.overtime-profile-card strong{font-size:17px;line-height:1.3}\n.overtime-profile-card p{font-size:13px;line-height:1.55}\n.overtime-profile-filled strong{font-size:13.5px}.overtime-profile-filled span{font-size:12.5px;line-height:1.5}\n.overtime-form-section-head strong{font-size:15px;line-height:1.35}\n.overtime-form-section-head small{font-size:11.5px;line-height:1.5}\n.overtime-policy-form .settings-form-grid>label>span,.overtime-policy-form .settings-checkbox>span>strong{font-size:13.5px;line-height:1.35}\n.overtime-policy-form .settings-form-grid>label>small,.overtime-policy-form .settings-checkbox>span>small{font-size:11.5px;line-height:1.5}\n.overtime-policy-form input,.overtime-policy-form select,.overtime-policy-form textarea{font-size:15px}\n.overtime-policy-checklist strong{font-size:14px}.overtime-policy-checklist p{font-size:12.5px;line-height:1.55}\n.overtime-advanced-settings summary strong,.overtime-policy-history summary strong,.overtime-agreements-card summary strong{font-size:13.5px}\n.overtime-advanced-settings summary small,.overtime-policy-history summary small,.overtime-agreements-card summary small{font-size:11.5px;line-height:1.5}\n.overtime-duration-input{display:grid;grid-template-columns:minmax(86px,1fr) minmax(86px,1fr) minmax(135px,1.15fr);gap:10px;align-items:end;margin-top:7px}\n.overtime-duration-input>label{display:grid;gap:5px}\n.overtime-duration-input>label>span{font-size:11.5px!important;font-weight:700;color:#66736b}\n.overtime-duration-input input.duration-hours,.overtime-duration-input input.duration-minutes{width:100%;min-height:48px;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}\n.duration-preview{min-height:48px;display:flex;flex-direction:column;justify-content:center;padding:7px 11px;border:1px solid #dde4df;border-radius:10px;background:#f8faf8}\n.duration-preview strong{font-size:16px;line-height:1.15;color:#31463a;font-variant-numeric:tabular-nums}\n.duration-preview small{font-size:10.5px;line-height:1.3;color:#758078}\n.overtime-human-duration>small{display:block;margin-top:7px}\n@media(max-width:900px){.overtime-duration-input{grid-template-columns:1fr 1fr}.duration-preview{grid-column:1/-1}}\n@media(max-width:520px){.overtime-duration-input{grid-template-columns:1fr 1fr;gap:8px}.duration-preview{grid-column:1/-1}.overtime-policy-card .settings-card-head h2{font-size:21px}}\n
.overtime-policy-form .overtime-human-duration>span{display:block;font-size:13.5px;line-height:1.35;font-weight:700;color:#34463b}
.overtime-policy-form .overtime-human-duration>small{display:block;font-size:11.5px;line-height:1.5;color:#748078}

/* v0.158.3 · Overwerkbeleid: compacte duurvelden + betrouwbare snelprofielstatus */
.overtime-duration-input{display:grid;grid-template-columns:minmax(132px,.82fr) minmax(132px,.82fr) minmax(155px,1fr);gap:10px;align-items:end;margin-top:7px}
.overtime-duration-input .duration-part{display:grid;gap:5px;min-width:0}
.overtime-duration-input .duration-part-label{font-size:11.5px!important;font-weight:750;color:#66736b}
.duration-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid #d7dfd9;border-radius:10px;background:#fff;overflow:hidden;min-height:48px;transition:border-color .15s,box-shadow .15s}
.duration-control:focus-within{border-color:#8ea697;box-shadow:0 0 0 2px rgba(82,108,91,.09)}
.overtime-duration-input .duration-control input.duration-hours,.overtime-duration-input .duration-control input.duration-minutes{min-width:0;width:100%;min-height:46px;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent;padding:10px 8px 10px 12px;font-size:17px;font-weight:750;font-variant-numeric:tabular-nums}
.duration-control em{display:flex;align-items:center;align-self:stretch;padding:0 11px 0 7px;background:#f7f9f7;color:#617068;font-size:12px;font-style:normal;font-weight:750;white-space:nowrap}
.duration-preview{min-height:48px;display:grid;grid-template-columns:auto auto 1fr;align-items:center;justify-content:start;column-gap:6px;padding:9px 11px;border:1px solid #dce4de;border-radius:10px;background:#f8faf8}
.duration-preview .duration-equals{font-size:13px;color:#7a857d;font-weight:700}
.duration-preview strong{font-size:16px;line-height:1.15;color:#31463a;font-variant-numeric:tabular-nums;white-space:nowrap}
.duration-preview small{font-size:11px;line-height:1.25;color:#758078;white-space:normal}
.overtime-human-duration>small{margin-top:7px}
.overtime-profile-filled{padding:12px 14px!important;border-color:#cfe0d3!important;background:#f5faf6!important}
.overtime-profile-filled strong{font-size:14px!important}.overtime-profile-filled span{font-size:12.5px!important;line-height:1.5!important}.overtime-profile-filled small{font-size:11.5px;line-height:1.45;color:#66746b}
@media(max-width:1050px){.overtime-duration-input{grid-template-columns:1fr 1fr}.duration-preview{grid-column:1/-1}}
@media(max-width:560px){.overtime-duration-input{grid-template-columns:1fr 1fr;gap:8px}.duration-preview{grid-column:1/-1}.duration-control em{padding-right:8px}}

/* v0.158.4 · Overwerkbeleid: robuuste calculatorlayout en profielinvulling */
.overtime-form-section .overtime-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px 20px}
.overtime-policy-candidate-grid>.settings-checkbox,
.overtime-policy-credit-grid>.settings-checkbox{min-width:0}
.overtime-policy-credit-grid>.overtime-reference-balance-toggle{grid-column:1/-1}
.overtime-duration-input{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start;min-width:0;margin-top:7px}
.overtime-duration-input .duration-part{min-width:0}
.overtime-duration-input .duration-control{width:100%;min-width:0}
.overtime-duration-input .duration-preview{grid-column:1/-1;min-width:0;min-height:42px;display:flex;align-items:center;gap:7px;padding:8px 10px}
.overtime-duration-input .duration-preview small{margin-left:2px;white-space:normal}
.overtime-human-duration{min-width:0;overflow:hidden}
.overtime-human-duration>small{position:relative;z-index:1}
.overtime-policy-candidate-grid>.settings-checkbox:not(.overtime-reference-balance-toggle){grid-column:auto!important;min-height:unset}
@media(max-width:1220px){
  .overtime-form-section .overtime-policy-grid,
  .overtime-policy-compact{grid-template-columns:1fr!important;max-width:none}
  .overtime-policy-candidate-grid>.settings-checkbox:not(.overtime-reference-balance-toggle),
  .overtime-policy-credit-grid>.settings-checkbox{grid-column:1/-1!important}
}
@media(max-width:620px){
  .overtime-duration-input{grid-template-columns:1fr}
  .overtime-duration-input .duration-preview{grid-column:1}
}


/* v0.158.5 · Overwerkbeleid: technische minutenwaarde consequent zichtbaar */
.overtime-duration-input .duration-preview{flex-wrap:wrap;row-gap:2px}
.overtime-duration-input .duration-preview strong{font-size:16px;font-weight:800;color:#2f4838;white-space:nowrap}
.overtime-duration-input .duration-preview small{font-size:11.5px;line-height:1.35;color:#6f7d74}
@media(max-width:620px){.overtime-duration-input .duration-preview{align-items:flex-start}}


/* v0.158.9 · Vrijwillige overuren: rustigere HR-layout en compact akkoordbeheer */
.overtime-agreements-body>.settings-info-note{
  margin:14px 0 22px;
}
.overtime-agreement-grid{
  margin-top:0;
}
.overtime-agreement-actions details{
  margin-top:0;
}
.overtime-agreement-actions details>summary{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:32px;
  padding:6px 9px;
  border:1px solid #dde4df;
  border-radius:8px;
  background:#f8faf8;
  color:#4f6055;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  list-style:none;
}
.overtime-agreement-actions details>summary::-webkit-details-marker{display:none}
.overtime-agreement-actions details>summary::before{content:'▸';font-size:10px;line-height:1}
.overtime-agreement-actions details[open]>summary::before{content:'▾'}
.overtime-agreement-actions details[open]>summary{
  margin-bottom:8px;
}
.overtime-agreement-actions .policy-inline-action{
  min-width:235px;
  padding:11px;
  border:1px solid #e1e6e2;
  border-radius:10px;
  background:#fbfcfb;
}
.overtime-agreement-actions .policy-inline-action label{
  display:grid;
  gap:5px;
}
.overtime-agreement-actions .policy-inline-action input{
  width:100%;
}
.overtime-agreements-card + .overtime-warning{
  margin-top:22px;
}
@media(max-width:680px){
  .overtime-agreements-body>.settings-info-note{margin-bottom:18px}
  .overtime-agreement-actions .policy-inline-action{min-width:210px}
  .overtime-agreements-card + .overtime-warning{margin-top:18px}
}

/* v0.159.1 · HR-first arbeidstijdfilters, centrale werklijst en QA-simulatiecontext */
.overtime-period-toolbar{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.7fr);gap:14px;margin:0 0 16px;padding:15px 17px;border:1px solid var(--line);border-radius:13px;background:#fbfcfb}.overtime-period-toolbar>div:first-child{display:grid;gap:4px;align-content:start}.overtime-period-toolbar>div:first-child strong{font-size:15px}.overtime-period-toolbar>div:first-child p{margin:0;color:var(--muted);font-size:11.5px;line-height:1.45}.overtime-period-filter{display:grid;grid-template-columns:1fr 1fr minmax(210px,1.15fr) auto;gap:10px;align-items:end}.overtime-period-filter label{display:grid;gap:5px;font-size:11px;font-weight:800;color:#58645c}.overtime-period-filter input,.overtime-period-filter select{min-width:0}.overtime-period-shortcuts{grid-column:2;display:flex;gap:7px;flex-wrap:wrap}.overtime-reanalysis-current{display:grid;gap:3px}.overtime-reanalysis-current span,.overtime-reanalysis-current small{font-size:11px;color:var(--muted)}.overtime-reanalysis-current strong{font-size:13px}.overtime-reanalysis-panel .overtime-filter{grid-template-columns:minmax(220px,1fr) auto;align-items:end}
.work-time-signal-worklist{margin-top:18px}.work-time-signal-worklist .work-time-section-head{margin-bottom:12px}.work-time-signal-table-wrap{overflow-x:auto}.work-time-signal-table{min-width:1020px}.work-time-signal-table td{vertical-align:middle}.work-time-signal-table td:nth-child(6){min-width:240px;white-space:normal;line-height:1.4}.work-time-signal-table td:last-child{white-space:nowrap}.work-time-signal-table .status-chip{white-space:nowrap}
.ref-simulation-panel{margin-top:18px;border-left:4px solid #9c8d66}.ref-simulation-panel .notice{margin:0 0 14px}.ref-balance-card.simulated{border-style:dashed;background:#fcfbf7}.ref-balance-card.simulated .ref-balance-period small{font-size:10.5px;color:var(--muted)}.ref-simulation-list .ref-what-now,.ref-simulation-list .ref-review-followup{grid-column:1/-1}
@media(max-width:1050px){.overtime-period-toolbar{grid-template-columns:1fr}.overtime-period-filter{grid-template-columns:1fr 1fr}.overtime-period-shortcuts{grid-column:1}.overtime-period-filter .button{width:100%}.overtime-reanalysis-panel .overtime-filter{grid-template-columns:1fr}}
@media(max-width:680px){.overtime-period-filter{grid-template-columns:1fr}.overtime-period-shortcuts{display:grid;grid-template-columns:1fr}.overtime-period-shortcuts .button{width:100%}.overtime-period-toolbar{padding:13px}.work-time-signal-worklist{padding-left:14px;padding-right:14px}}

/* v0.159.2 · HR-werklijst bulkbeoordeling */
.work-time-signal-worklist{padding:24px 28px 28px}.work-time-signal-worklist .work-time-section-head{margin-left:0;margin-right:0}.work-time-signal-table-wrap{margin:0 -2px;border:1px solid #e6eae7;border-radius:14px;background:#fff;overflow:auto}.work-time-signal-table{width:100%;min-width:1120px}.work-time-signal-table th,.work-time-signal-table td{padding-left:14px;padding-right:14px}.work-time-signal-table th:first-child,.work-time-signal-table td:first-child{padding-left:18px}.work-time-signal-table th:last-child,.work-time-signal-table td:last-child{padding-right:18px}.work-time-signal-table .bulk-select-col{width:42px;min-width:42px;text-align:center}.work-time-bulk-check{width:17px;height:17px;accent-color:#355b48}.work-time-bulk-check:disabled{opacity:.28;cursor:not-allowed}.work-time-bulk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 12px;padding:12px 14px;border:1px solid #e1e7e2;border-radius:12px;background:#fafcfa}.work-time-bulk-toolbar>div:first-child{display:grid;gap:3px}.work-time-bulk-toolbar strong{font-size:13px;color:#2f3d34}.work-time-bulk-toolbar span{font-size:11px;color:#737d76}.work-time-bulk-toolbar-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.work-time-bulk-toolbar-actions button:disabled{opacity:.45;cursor:not-allowed}.work-time-bulk-dialog{width:min(660px,calc(100vw - 32px));border:0;border-radius:18px;padding:0;box-shadow:0 24px 70px rgba(20,35,26,.22);color:#26342b}.work-time-bulk-dialog::backdrop{background:rgba(20,30,24,.38)}.work-time-bulk-dialog-head{display:flex;justify-content:space-between;gap:18px;padding:22px 24px 16px;border-bottom:1px solid #e8ece9}.work-time-bulk-dialog-head h3{margin:2px 0 4px;font-size:20px}.work-time-bulk-dialog-head p:last-child{margin:0;color:#727c75;font-size:12px}.work-time-bulk-dialog .dialog-close{border:0;background:transparent;font-size:26px;line-height:1;color:#7b847e;cursor:pointer}.work-time-bulk-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 24px}.work-time-bulk-summary span{display:grid;gap:2px;padding:11px;border:1px solid #e5e9e6;border-radius:10px;background:#fbfcfb;color:#6f7972;font-size:10px}.work-time-bulk-summary b{color:#2d3b32;font-size:15px}.work-time-bulk-dialog>label{display:grid;gap:6px;margin:0 24px 14px;color:#5e6961;font-size:11px;font-weight:750}.work-time-bulk-dialog select,.work-time-bulk-dialog textarea{width:100%;border:1px solid #d8dfda;border-radius:10px;background:#fff;padding:10px 11px;font:inherit;color:#26342b}.work-time-bulk-dialog textarea{resize:vertical}.work-time-bulk-dialog label small{font-weight:500;color:#7b847e}.work-time-bulk-warning{display:grid;gap:3px;margin:4px 24px 0;padding:11px 12px;border:1px solid #eadfbe;border-radius:10px;background:#fffaf0}.work-time-bulk-warning strong{font-size:11px;color:#71591e}.work-time-bulk-warning span{font-size:10.5px;color:#7e6b3a}.work-time-bulk-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:18px 24px 22px}
@media(max-width:900px){.work-time-signal-worklist{padding:20px 18px 22px}.work-time-bulk-toolbar{align-items:flex-start;flex-direction:column}.work-time-bulk-toolbar-actions{width:100%;flex-wrap:wrap}.work-time-bulk-summary{grid-template-columns:1fr}}
@media(max-width:680px){.work-time-signal-worklist{padding-left:15px;padding-right:15px}.work-time-signal-table th,.work-time-signal-table td{padding-left:11px;padding-right:11px}.work-time-bulk-toolbar-actions .button{width:100%}.work-time-bulk-dialog-head,.work-time-bulk-dialog-actions{padding-left:18px;padding-right:18px}.work-time-bulk-summary{padding-left:18px;padding-right:18px}.work-time-bulk-dialog>label,.work-time-bulk-warning{margin-left:18px;margin-right:18px}}

/* v0.159.3 · responsive HR-werklijst */
.work-time-signal-worklist{max-width:100%;min-width:0;overflow:hidden}
.work-time-signal-worklist .work-time-section-head{min-width:0}
.work-time-signal-table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden}
.work-time-signal-table{width:100%;min-width:0;table-layout:fixed}
.work-time-signal-table th,.work-time-signal-table td{min-width:0;overflow-wrap:anywhere;word-break:normal}
.work-time-signal-table th:nth-child(1),.work-time-signal-table td:nth-child(1){width:4.5%}
.work-time-signal-table th:nth-child(2),.work-time-signal-table td:nth-child(2){width:22%}
.work-time-signal-table th:nth-child(3),.work-time-signal-table td:nth-child(3){width:10%}
.work-time-signal-table th:nth-child(4),.work-time-signal-table td:nth-child(4){width:13%}
.work-time-signal-table th:nth-child(5),.work-time-signal-table td:nth-child(5){width:7%}
.work-time-signal-table th:nth-child(6),.work-time-signal-table td:nth-child(6){width:15%;min-width:0}
.work-time-signal-table th:nth-child(7),.work-time-signal-table td:nth-child(7){width:20%}
.work-time-signal-table th:nth-child(8),.work-time-signal-table td:nth-child(8){width:8.5%;text-align:right}
.work-time-signal-table td:last-child .button{max-width:100%;white-space:nowrap;padding-left:10px;padding-right:10px}
.work-time-bulk-toolbar{min-width:0}
.work-time-bulk-toolbar>div:first-child{min-width:0}
.work-time-bulk-toolbar-actions{max-width:100%}

@media(max-width:1180px){
  .work-time-signal-table-wrap{overflow:visible;border:0;background:transparent}
  .work-time-signal-table,.work-time-signal-table tbody,.work-time-signal-table tr,.work-time-signal-table td{display:block;width:100%}
  .work-time-signal-table{table-layout:auto}
  .work-time-signal-table thead{display:none}
  .work-time-signal-table tbody{display:grid;gap:12px}
  .work-time-signal-table tr{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(120px,.7fr);gap:9px 18px;padding:16px 18px;border:1px solid #e6eae7;border-radius:14px;background:#fff}
  .work-time-signal-table td{display:grid;grid-template-columns:138px minmax(0,1fr);gap:10px;align-items:start;padding:0!important;border:0!important;text-align:left!important;white-space:normal!important}
  .work-time-signal-table td::before{content:attr(data-label);color:#7a837d;font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
  .work-time-signal-table td:nth-child(2),.work-time-signal-table td:nth-child(7){grid-column:1/-1}
  .work-time-signal-table td:nth-child(8){grid-column:2;align-self:end}
  .work-time-signal-table td:nth-child(8) .button{justify-self:start}
  .work-time-signal-table .bulk-select-col{position:absolute;top:16px;right:16px;display:block;width:auto!important}
  .work-time-signal-table .bulk-select-col::before{display:none}
  .work-time-signal-table td:nth-child(2){padding-right:38px!important}
}
@media(max-width:760px){
  .work-time-signal-worklist{padding:18px 14px 20px}
  .work-time-signal-table tr{grid-template-columns:1fr;gap:8px;padding:15px}
  .work-time-signal-table td,.work-time-signal-table td:nth-child(2),.work-time-signal-table td:nth-child(7),.work-time-signal-table td:nth-child(8){grid-column:1}
  .work-time-signal-table td{grid-template-columns:112px minmax(0,1fr)}
  .work-time-bulk-toolbar{padding:12px;gap:12px}
  .work-time-bulk-toolbar-actions{display:grid;width:100%;grid-template-columns:1fr}
  .work-time-bulk-toolbar-actions .button{width:100%}
}

/* v0.159.4 · filters en compacte medewerkerweergave in HR-werklijst */
.work-time-signal-filters{display:grid;grid-template-columns:minmax(190px,1.25fr) repeat(5,minmax(130px,.8fr)) auto;gap:10px;align-items:end;margin:0 0 12px;padding:13px 14px;border:1px solid #e1e7e2;border-radius:12px;background:#fafcfa}
.work-time-filter-intro{display:grid;gap:3px;align-self:center}.work-time-filter-intro strong{font-size:13px;color:#2f3d34}.work-time-filter-intro span{font-size:10.5px;line-height:1.35;color:#737d76}.work-time-signal-filters label{display:grid;gap:5px;min-width:0}.work-time-signal-filters label>span{font-size:10px;font-weight:800;color:#68736b}.work-time-signal-filters label>small{font-size:9.5px;line-height:1.3;color:#7b857e}.work-time-signal-filters input,.work-time-signal-filters select{width:100%;min-width:0;height:38px;padding:7px 9px;border:1px solid #dce3de;border-radius:9px;background:#fff;color:#2d3a31;font:inherit}.work-time-filter-count{grid-column:1/-1;font-size:10.5px;color:#77817a}
.work-time-signal-email{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal!important;word-break:normal!important}
.work-time-signal-table tr[hidden]{display:none!important}
@media(max-width:1380px){.work-time-signal-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.work-time-filter-intro{grid-column:1/-1}.work-time-signal-filters .button{width:100%}}
@media(max-width:760px){.work-time-signal-filters{grid-template-columns:1fr}.work-time-filter-intro,.work-time-filter-count{grid-column:1}.work-time-signal-email{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere!important}}

/* v0.160.1 · Fase 17 UX-polish */
.overtime-member-filter{min-width:0}.overtime-member-filter>span{font-size:11px;font-weight:800;color:#58645c}.overtime-member-search{width:100%;margin-bottom:5px}.overtime-member-select{width:100%}.overtime-member-search-help{font-size:10px!important;font-weight:600!important;color:var(--muted)!important;line-height:1.35}
.ref-underpinning-panel{margin-top:18px;scroll-margin-top:18px}.ref-underpinning-formula{display:grid;grid-template-columns:minmax(145px,1fr) 28px minmax(145px,1fr) 28px minmax(145px,1fr) 28px minmax(145px,1fr);gap:8px;align-items:center;margin:4px 0 14px}.ref-underpinning-formula>span{display:grid;gap:3px;padding:12px;border:1px solid #e2e7e3;border-radius:11px;background:#fafbfa}.ref-underpinning-formula>span.result{background:#f4f8f5;border-color:#cdd9d0}.ref-underpinning-formula small{font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase}.ref-underpinning-formula b{font-size:18px}.ref-underpinning-formula em{font-size:10.5px;color:var(--muted);font-style:normal;line-height:1.35}.ref-underpinning-formula>i{font-style:normal;font-weight:900;color:#7b877f;text-align:center}.ref-underpinning-note{display:grid;gap:4px;padding:11px 13px;border-left:4px solid #8fa596;border-radius:9px;background:#f7faf8}.ref-underpinning-note strong{font-size:12px}.ref-underpinning-note span{font-size:12.5px;line-height:1.5;color:#5f6962}.ref-underpinning-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.ref-underpinning-days{border:1px solid #e2e7e3;border-radius:11px;overflow:hidden}.ref-underpinning-days>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}.ref-underpinning-days>summary::-webkit-details-marker{display:none}.ref-underpinning-days>summary>span:first-child{display:grid;gap:2px}.ref-underpinning-days>summary small{font-size:11px;color:var(--muted)}.ref-underpinning-days[open]>summary{border-bottom:1px solid #e8ece9;background:#fbfcfb}.ref-underpinning-days[open]>summary>span:last-child{transform:rotate(180deg)}
@media(max-width:1050px){.ref-underpinning-formula{grid-template-columns:1fr 28px 1fr}.ref-underpinning-formula>span:nth-of-type(3),.ref-underpinning-formula>span.result{grid-column:1/-1}.ref-underpinning-formula>i:nth-of-type(2),.ref-underpinning-formula>i:nth-of-type(3){display:none}}
@media(max-width:680px){.ref-underpinning-formula{grid-template-columns:1fr}.ref-underpinning-formula>i{display:none}.ref-underpinning-formula>span:nth-of-type(3),.ref-underpinning-formula>span.result{grid-column:auto}.ref-underpinning-actions{display:grid}.ref-underpinning-actions .secondary-button{width:100%;text-align:center}}

/* v0.160.2 · medewerkerselectie als één autocompleteveld */
.overtime-member-combobox{position:relative;min-width:0}.overtime-member-input-wrap{position:relative}.overtime-member-search{width:100%;margin:0;padding-right:38px}.overtime-member-clear{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:#69756d;font-size:21px;line-height:1;cursor:pointer}.overtime-member-clear:hover,.overtime-member-clear:focus-visible{background:#eef3ef;color:#2f3a33}.overtime-member-results{position:absolute;z-index:60;left:0;right:0;top:calc(100% + 5px);max-height:290px;overflow:auto;padding:6px;border:1px solid #d8e0da;border-radius:11px;background:#fff;box-shadow:0 12px 30px rgba(31,45,36,.14)}.overtime-member-option{display:grid;width:100%;gap:2px;padding:9px 10px;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer;color:#2d3831}.overtime-member-option[hidden]{display:none!important}.overtime-member-option:hover,.overtime-member-option.is-active{background:#f0f5f1}.overtime-member-option strong{font-size:12px;line-height:1.35}.overtime-member-option small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;color:#768078}.overtime-member-option.is-all{border-bottom:1px solid #edf0ee;border-radius:8px 8px 5px 5px;margin-bottom:4px}.overtime-member-search-help{display:block;margin-top:5px}
@media(max-width:680px){.overtime-member-results{max-height:240px}.overtime-member-option small{white-space:normal;overflow-wrap:anywhere}}

/* v0.160.4 · referteperiode audit/historiek polish */
.ref-review-audit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 14px}.ref-review-audit>div{display:grid;gap:4px;padding:10px 12px;border:1px solid #e2e7e3;border-radius:10px;background:#fff}.ref-review-audit span,.ref-history-decision>span{font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase}.ref-review-audit strong{font-size:12.5px;line-height:1.4;overflow-wrap:anywhere}.ref-day-source-links{display:flex;gap:8px;flex-wrap:wrap}.ref-day-source-links a{font-size:11px;font-weight:800;text-decoration:none}.ref-day-source-links a:hover{text-decoration:underline}.ref-history-audit-list article.ref-history-audit-card{grid-template-columns:minmax(220px,1fr) minmax(180px,.65fr) auto auto;align-items:start}.ref-history-decision{grid-column:1/4;display:grid;gap:3px;padding:9px 11px;border-left:3px solid #8fa596;border-radius:8px;background:#f7faf8}.ref-history-decision strong{font-size:12.5px;line-height:1.4;color:#334038;overflow-wrap:anywhere}.ref-history-decision small{font-size:10.5px;color:var(--muted)}.ref-history-detail{grid-column:4;grid-row:2;align-self:center;white-space:nowrap;text-align:center}.ref-history-balance{white-space:nowrap}.ref-history-period{line-height:1.35}
@media(max-width:1050px){.ref-review-audit{grid-template-columns:repeat(2,minmax(0,1fr))}.ref-history-audit-list article.ref-history-audit-card{grid-template-columns:1fr 1fr}.ref-history-decision{grid-column:1/-1}.ref-history-detail{grid-column:1/-1;grid-row:auto;justify-self:start}}
@media(max-width:680px){.ref-review-audit{grid-template-columns:1fr}.ref-day-source-links{display:grid}.ref-history-audit-list article.ref-history-audit-card{grid-template-columns:1fr}.ref-history-decision,.ref-history-detail{grid-column:auto}.ref-history-detail{width:100%;justify-self:stretch}}


/* v0.160.6 · centrale arbeidstijdhistoriek */
.work-time-recent-reviews{margin-top:18px;padding:24px 28px 26px;overflow:hidden}.work-time-recent-reviews .work-time-section-head{margin:0 0 12px}.work-time-recent-list{display:grid;gap:8px}.work-time-recent-item{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(140px,.55fr) minmax(220px,1fr) auto;gap:16px;align-items:center;padding:13px 14px;border:1px solid #e6eae7;border-radius:12px;background:#fff}.work-time-recent-main,.work-time-recent-meta,.work-time-recent-reason{min-width:0;display:grid;gap:3px}.work-time-recent-kind{font-size:9px;font-weight:850;letter-spacing:.045em;text-transform:uppercase;color:#78827b}.work-time-recent-main strong{font-size:13px;color:#2c3931}.work-time-recent-main>span:last-child,.work-time-recent-reason span,.work-time-recent-reason small,.work-time-recent-meta span:not(.status-chip){font-size:10.5px;color:#727c75}.work-time-recent-meta{grid-template-columns:auto auto;align-items:center;justify-content:start}.work-time-recent-meta>strong{font-size:13px;color:#334239}.work-time-recent-meta .status-chip{grid-column:1/-1;width:max-content}.work-time-recent-reason span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.work-time-recent-item>.button{white-space:nowrap}
@media(max-width:980px){.work-time-recent-item{grid-template-columns:minmax(0,1fr) auto}.work-time-recent-meta{justify-self:end}.work-time-recent-reason{grid-column:1/-1}.work-time-recent-item>.button{grid-column:2;grid-row:2;align-self:end}}
@media(max-width:620px){.work-time-recent-reviews{padding:18px 14px 20px}.work-time-recent-item{grid-template-columns:1fr;gap:10px;padding:14px}.work-time-recent-meta{justify-self:start}.work-time-recent-reason,.work-time-recent-item>.button{grid-column:1;grid-row:auto}.work-time-recent-item>.button{width:100%;justify-content:center}.work-time-recent-reason span{white-space:normal;overflow:visible;text-overflow:clip}}

/* v0.160.7 · API-overdracht UX-polish */
.payroll-api-capabilities-head{align-items:flex-start}.payroll-api-mode-badge{flex:0 0 auto;margin-top:1px}.payroll-api-capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.payroll-api-capability-card{display:grid;gap:9px;padding:16px 17px;border:1px solid #e2e8e3;border-radius:14px;background:#fbfcfb;min-width:0}.payroll-api-capability-card>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.payroll-api-capability-label{font-size:12px;font-weight:800;color:#334139}.payroll-api-capability-card strong{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;background:#eef3ef;color:#446052;font-size:10.5px;font-weight:850;white-space:nowrap}.payroll-api-capability-card p{margin:0;color:#768078;font-size:10.5px;line-height:1.45}.payroll-api-status-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #e2e7e3;border-radius:14px;background:#fafbfa}.payroll-api-status-card>div{display:grid;gap:5px;min-width:0}.payroll-api-status-card strong{font-size:13px;color:#34423a}.payroll-api-status-card p{margin:0;color:#727d75;font-size:11px;line-height:1.45}.payroll-api-status-card .status-chip{width:max-content}.payroll-api-status-card.is-ready{border-color:#d9e6dd;background:#f8fbf9}.payroll-api-status-card form{flex:0 0 auto}.payroll-api-empty{display:flex;align-items:center;gap:14px;padding:19px 20px;border:1px dashed #dbe3dd;border-radius:14px;background:#fbfcfb}.payroll-api-empty-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:#edf3ef;color:#52705f;font-size:18px;font-weight:900}.payroll-api-empty>div:last-child{display:grid;gap:4px}.payroll-api-empty strong{font-size:13px;color:#34423a}.payroll-api-empty p{margin:0;color:#737d76;font-size:10.5px;line-height:1.45}
@media(max-width:760px){.payroll-api-capability-grid{grid-template-columns:1fr}.payroll-api-capability-card>div{align-items:flex-start}.payroll-api-status-card{align-items:stretch;flex-direction:column}.payroll-api-status-card form,.payroll-api-status-card .button{width:100%}.payroll-api-empty{align-items:flex-start}.payroll-api-capabilities-head{gap:10px}.payroll-api-mode-badge{margin-top:0}}

/* Fase 18.10 UX-fix: scope-afhankelijke velden moeten echt verdwijnen.
   .edit-form label heeft een expliciete display:grid en kan anders het HTML hidden-attribuut overrulen. */
[data-break-policy-form] [data-break-unit-field][hidden],
[data-break-policy-form] [data-break-employee-field][hidden]{display:none!important}

/* v0.160.24 · Fase 19.3 UX-fix centrale HR-werklijst */
.work-time-signal-table th:nth-child(1),.work-time-signal-table td:nth-child(1){width:4%}
.work-time-signal-table th:nth-child(2),.work-time-signal-table td:nth-child(2){width:20%}
.work-time-signal-table th:nth-child(3),.work-time-signal-table td:nth-child(3){width:9%}
.work-time-signal-table th:nth-child(4),.work-time-signal-table td:nth-child(4){width:15%}
.work-time-signal-table th:nth-child(5),.work-time-signal-table td:nth-child(5){width:7%}
.work-time-signal-table th:nth-child(6),.work-time-signal-table td:nth-child(6){width:12%}
.work-time-signal-table th:nth-child(7),.work-time-signal-table td:nth-child(7){width:20%}
.work-time-signal-table th:nth-child(8),.work-time-signal-table td:nth-child(8){width:13%;text-align:right}
.work-time-signal-table td:nth-child(7){line-height:1.42}
.work-time-signal-table td:last-child{overflow:visible}
.work-time-signal-table td:last-child .button{
  display:inline-flex;
  width:100%;
  max-width:180px;
  min-height:36px;
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-align:center;
  line-height:1.2;
}
.work-time-signal-email{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal!important;word-break:normal!important}
.work-time-signal-filters{grid-template-columns:minmax(190px,1.15fr) minmax(130px,.7fr) minmax(130px,.7fr) minmax(235px,1.15fr) minmax(165px,.85fr) minmax(165px,.85fr) auto}
.work-time-signal-employee-search input{min-width:0}
@media(max-width:1380px){
  .work-time-signal-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .work-time-filter-intro{grid-column:1/-1}
  .work-time-signal-employee-search{grid-column:span 1}
  .work-time-signal-filters .button{width:100%}
}
@media(max-width:1180px){
  .work-time-signal-table td:last-child .button{width:auto;max-width:100%;min-width:150px}
  .work-time-signal-table td:nth-child(8){grid-column:1/-1;align-self:auto}
  .work-time-signal-table td:nth-child(8) .button{justify-self:start}
}
@media(max-width:760px){
  .work-time-signal-email{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere!important}
  .work-time-signal-table td:last-child .button{width:100%;max-width:none}
}


/* v0.160.25 · Fase 19.3 filterlayout polish centrale HR-werklijst */
.work-time-signal-filters{
  grid-template-columns:minmax(210px,1.05fr) minmax(138px,.66fr) minmax(138px,.66fr) minmax(285px,1.35fr) minmax(180px,.88fr) minmax(180px,.88fr) minmax(138px,.66fr);
  column-gap:14px;
  row-gap:9px;
  align-items:end;
}
.work-time-signal-filters>label,
.work-time-signal-filters>.work-time-filter-intro{min-width:0}
.work-time-signal-filters label>span{min-height:14px;display:flex;align-items:flex-end}
.work-time-signal-filters input,
.work-time-signal-filters select{height:42px}
.work-time-signal-employee-search input{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.work-time-signal-employee-search>small{
  display:block;
  min-height:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#reset-signal-filters{
  width:100%;
  min-width:138px;
  min-height:42px;
  padding-left:14px;
  padding-right:14px;
  white-space:nowrap!important;
  line-height:1.1;
}
.work-time-filter-count{margin-top:1px}
@media(max-width:1500px){
  .work-time-signal-filters{
    grid-template-columns:minmax(190px,1fr) minmax(135px,.75fr) minmax(135px,.75fr) minmax(260px,1.35fr);
  }
  .work-time-filter-intro{grid-column:1/2}
  .work-time-signal-filters label:nth-of-type(4){grid-column:1/2}
  .work-time-signal-filters label:nth-of-type(5){grid-column:2/3}
  #reset-signal-filters{grid-column:3/4}
  .work-time-filter-count{grid-column:1/-1}
}
@media(max-width:1050px){
  .work-time-signal-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .work-time-filter-intro{grid-column:1/-1}
  .work-time-signal-employee-search{grid-column:1/-1}
  #reset-signal-filters{grid-column:auto}
  .work-time-signal-filters .button{width:100%}
  .work-time-filter-count{grid-column:1/-1}
}
@media(max-width:640px){
  .work-time-signal-filters{grid-template-columns:1fr;gap:10px}
  .work-time-filter-intro,.work-time-signal-employee-search,#reset-signal-filters,.work-time-filter-count{grid-column:1}
  .work-time-signal-employee-search>small{white-space:normal;overflow:visible;text-overflow:clip}
}


/* v0.160.26 · Fase 19.3 definitieve responsive filtergrid */
.work-time-signal-filters{
  display:grid;
  grid-template-columns:minmax(180px,.95fr) minmax(145px,.75fr) minmax(145px,.75fr) minmax(260px,1.35fr) minmax(175px,.95fr) minmax(175px,.95fr) minmax(145px,.72fr);
  gap:12px;
  align-items:start;
  width:100%;
  box-sizing:border-box;
  overflow:hidden;
}
.work-time-signal-filters>.work-time-filter-intro,
.work-time-signal-filters>label,
.work-time-signal-filters>#reset-signal-filters{min-width:0;max-width:100%;box-sizing:border-box}
.work-time-signal-filters>label{grid-template-rows:16px 42px 16px;align-items:start}
.work-time-signal-filters>label>span{height:16px;min-height:16px;display:flex;align-items:flex-end}
.work-time-signal-filters>label>input,
.work-time-signal-filters>label>select{height:42px;max-width:100%;box-sizing:border-box}
.work-time-signal-filters>label:not(.work-time-signal-employee-search)::after{content:"";display:block;height:16px}
.work-time-signal-employee-search>small{height:16px;min-height:16px;line-height:16px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#reset-signal-filters{height:42px;min-height:42px;margin-top:16px;white-space:nowrap!important}
.work-time-filter-count{grid-column:1/-1;margin:0;padding-top:1px}

@media(max-width:1600px){
  .work-time-signal-filters{grid-template-columns:repeat(4,minmax(0,1fr))}
  .work-time-filter-intro{grid-column:1/-1}
  .work-time-filter-from{grid-column:1}
  .work-time-filter-until{grid-column:2}
  .work-time-signal-employee-search{grid-column:3/5}
  .work-time-filter-type{grid-column:1/2}
  .work-time-filter-context{grid-column:2/3}
  #reset-signal-filters{grid-column:3/4;margin-top:16px;width:100%}
}
@media(max-width:980px){
  .work-time-signal-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .work-time-filter-intro{grid-column:1/-1}
  .work-time-filter-from,.work-time-filter-until,.work-time-filter-type,.work-time-filter-context{grid-column:auto}
  .work-time-signal-employee-search{grid-column:1/-1}
  #reset-signal-filters{grid-column:auto;margin-top:16px;width:100%}
}
@media(max-width:640px){
  .work-time-signal-filters{grid-template-columns:1fr}
  .work-time-filter-intro,.work-time-filter-from,.work-time-filter-until,.work-time-signal-employee-search,.work-time-filter-type,.work-time-filter-context,#reset-signal-filters,.work-time-filter-count{grid-column:1}
  #reset-signal-filters{margin-top:0}
  .work-time-signal-employee-search>small{height:auto;min-height:16px;white-space:normal;line-height:1.35}
}

/* v0.160.27 · Fase 19.4 filter op primaire organisatorische eenheid */
.work-time-filter-unit{min-width:0}
@media(min-width:1601px){
  .work-time-signal-filters{
    grid-template-columns:minmax(180px,.9fr) minmax(135px,.68fr) minmax(135px,.68fr) minmax(250px,1.25fr) minmax(155px,.82fr) minmax(155px,.82fr) minmax(190px,.95fr) minmax(135px,.68fr);
  }
}
@media(max-width:1600px) and (min-width:981px){
  .work-time-filter-unit{grid-column:3/4}
  #reset-signal-filters{grid-column:4/5}
}
@media(max-width:980px) and (min-width:641px){
  .work-time-filter-unit{grid-column:auto}
}
@media(max-width:640px){
  .work-time-filter-unit{grid-column:1}
}

/* v0.160.28 · Fase 19.5 aparte prioriteitsfilter */
.work-time-filter-priority{min-width:0}
@media(min-width:1601px){
  .work-time-signal-filters{
    grid-template-columns:minmax(175px,.86fr) minmax(128px,.64fr) minmax(128px,.64fr) minmax(235px,1.16fr) minmax(145px,.75fr) minmax(150px,.78fr) minmax(155px,.82fr) minmax(180px,.9fr) minmax(130px,.64fr);
  }
}
@media(max-width:1600px) and (min-width:981px){
  .work-time-signal-filters{grid-template-columns:repeat(5,minmax(0,1fr))}
  .work-time-filter-intro{grid-column:1/-1}
  .work-time-filter-from{grid-column:1}
  .work-time-filter-until{grid-column:2}
  .work-time-signal-employee-search{grid-column:3/6}
  .work-time-filter-type{grid-column:1}
  .work-time-filter-priority{grid-column:2}
  .work-time-filter-context{grid-column:3}
  .work-time-filter-unit{grid-column:4}
  #reset-signal-filters{grid-column:5;margin-top:16px;width:100%}
}
@media(max-width:980px) and (min-width:641px){
  .work-time-filter-priority{grid-column:auto}
}
@media(max-width:640px){
  .work-time-filter-priority{grid-column:1}
}

/* Fase 19.6 · uniforme, duidelijke detailacties in de centrale HR-werklijst */
.work-time-signal-table td:last-child .work-time-action-button{
  display:inline-flex;
  width:100%;
  max-width:190px;
  min-height:38px;
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border:1px solid #cfdad2;
  border-radius:10px;
  background:#edf4ef;
  color:#355b48;
  font:inherit;
  font-size:11px;
  font-weight:800;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  box-shadow:0 1px 2px rgba(36,63,47,.05);
  transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.work-time-signal-table td:last-child .work-time-action-button:hover{
  background:#e4efe7;
  border-color:#b9cbbc;
  box-shadow:0 3px 8px rgba(36,63,47,.09);
  transform:translateY(-1px);
}
.work-time-signal-table td:last-child .work-time-action-button:focus-visible{
  outline:3px solid rgba(74,112,87,.22);
  outline-offset:2px;
}
@media(max-width:1180px){
  .work-time-signal-table td:last-child .work-time-action-button{width:auto;max-width:100%;min-width:160px}
}
@media(max-width:680px){
  .work-time-signal-table td:last-child .work-time-action-button{width:100%;max-width:none;min-width:0}
}

/* v0.160.32 · Fase 19.8 volledige filterbare arbeidstijdhistoriek */
.work-time-history-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.work-time-history-card{display:grid;gap:18px}
.work-time-history-filters{display:grid;grid-template-columns:repeat(6,minmax(145px,1fr));gap:14px;align-items:end;padding:16px;border:1px solid #dce5df;border-radius:14px;background:#fafcfb}
.work-time-history-filters label{display:grid;gap:7px;min-width:0}.work-time-history-filters label>span{font-size:12px;font-weight:800;color:#647168}.work-time-history-filters input,.work-time-history-filters select{width:100%;min-width:0;box-sizing:border-box}
.work-time-history-filter-actions{grid-column:1/-1;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.work-time-history-table-wrap{overflow:auto;border:1px solid #e0e6e2;border-radius:14px}.work-time-history-table{width:100%;border-collapse:collapse;min-width:1320px}.work-time-history-table th,.work-time-history-table td{padding:14px 12px;border-bottom:1px solid #e7ece9;text-align:left;vertical-align:top}.work-time-history-table th{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#6b746e;background:#fbfcfb;white-space:nowrap}.work-time-history-table td{font-size:13px}.work-time-history-table td strong{display:block}.work-time-history-table td small{display:block;margin-top:4px;color:#758078;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-time-history-reason{display:block;max-width:280px;line-height:1.35;overflow-wrap:anywhere}
@media(max-width:1280px){.work-time-history-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.work-time-history-filters{grid-template-columns:1fr 1fr}.work-time-history-filter-actions{grid-column:1/-1}.work-time-history-head-actions{justify-content:flex-start}}@media(max-width:540px){.work-time-history-filters{grid-template-columns:1fr}.work-time-history-filter-actions{grid-column:1}.work-time-history-filter-actions .button{width:100%}}

/* v0.160.33 · Fase 19.8 responsive historiek-layout */
.work-time-history-filters{
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:14px 16px;
  align-items:end;
}
.work-time-history-filters label{grid-column:span 2}
.work-time-history-filters label:nth-of-type(3),
.work-time-history-filters label:nth-of-type(6){grid-column:span 3}
.work-time-history-filter-actions{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
}
.work-time-history-filter-actions .button{white-space:nowrap}
.work-time-history-table-wrap{overflow:hidden}
.work-time-history-table{
  min-width:0;
  width:100%;
  table-layout:fixed;
}
.work-time-history-table th:nth-child(1){width:15%}
.work-time-history-table th:nth-child(2){width:8%}
.work-time-history-table th:nth-child(3){width:9%}
.work-time-history-table th:nth-child(4){width:13%}
.work-time-history-table th:nth-child(5){width:7%}
.work-time-history-table th:nth-child(6){width:9%}
.work-time-history-table th:nth-child(7){width:10%}
.work-time-history-table th:nth-child(8){width:10%}
.work-time-history-table th:nth-child(9){width:13%}
.work-time-history-table th:nth-child(10){width:6%}
.work-time-history-table td,
.work-time-history-table th{overflow-wrap:anywhere;word-break:normal}
.work-time-history-table td small{max-width:100%}
.work-time-history-reason{max-width:none}
.work-time-history-table td:last-child .button{width:100%;min-width:0;padding-inline:10px;white-space:normal;text-align:center}

@media(max-width:1500px){
  .work-time-history-filters{grid-template-columns:repeat(6,minmax(0,1fr))}
  .work-time-history-filters label{grid-column:span 2}
  .work-time-history-filters label:nth-of-type(3),
  .work-time-history-filters label:nth-of-type(6){grid-column:span 2}
  .work-time-history-filter-actions{grid-column:1/-1}
  .work-time-history-table-wrap{border:0;overflow:visible}
  .work-time-history-table,.work-time-history-table tbody,.work-time-history-table tr,.work-time-history-table td{display:block;width:100%}
  .work-time-history-table{table-layout:auto}
  .work-time-history-table thead{display:none}
  .work-time-history-table tbody{display:grid;gap:12px}
  .work-time-history-table tr{border:1px solid #e0e6e2;border-radius:14px;background:#fff;padding:14px 16px;box-sizing:border-box}
  .work-time-history-table td{display:grid;grid-template-columns:minmax(118px,28%) minmax(0,1fr);gap:12px;align-items:start;padding:8px 0;border:0}
  .work-time-history-table td::before{content:attr(data-label);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#6b746e}
  .work-time-history-table td:first-child{padding-top:0}
  .work-time-history-table td:last-child{padding-bottom:0}
  .work-time-history-table td:last-child .button{width:auto;justify-self:start}
  .work-time-history-table td small{white-space:normal;overflow-wrap:anywhere}
}
@media(max-width:980px){
  .work-time-history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .work-time-history-filters label,
  .work-time-history-filters label:nth-of-type(3),
  .work-time-history-filters label:nth-of-type(6){grid-column:span 1}
  .work-time-history-filter-actions{grid-column:1/-1;justify-content:stretch}
  .work-time-history-filter-actions .button{flex:1}
  .settings-page-header{align-items:flex-start;gap:14px;flex-wrap:wrap}
}
@media(max-width:600px){
  .work-time-history-filters{grid-template-columns:1fr}
  .work-time-history-filter-actions{grid-column:1;display:grid;grid-template-columns:1fr}
  .work-time-history-table td{grid-template-columns:1fr;gap:4px}
  .work-time-history-table td::before{margin-bottom:1px}
}

/* v0.160.34 · Fase 19.8 moderne responsive historiek-layout */
.work-time-history-card{
  padding:24px 26px 28px;
  gap:20px;
}
.work-time-history-card .work-time-section-head{
  margin:0;
  padding:0 2px;
  align-items:center;
}
.work-time-history-filters{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:16px 18px;
  align-items:end;
  padding:22px 24px;
  margin:0;
  border:1px solid #dde5df;
  border-radius:18px;
  background:#fafcfb;
  box-sizing:border-box;
}
.work-time-history-filters label{
  display:grid;
  grid-template-rows:16px 46px;
  gap:7px;
  min-width:0;
  margin:0;
}
.work-time-history-filters label:nth-of-type(1),
.work-time-history-filters label:nth-of-type(2){grid-column:span 2}
.work-time-history-filters label:nth-of-type(3){grid-column:span 4}
.work-time-history-filters label:nth-of-type(4),
.work-time-history-filters label:nth-of-type(5){grid-column:span 2}
.work-time-history-filters label:nth-of-type(6){grid-column:span 4}
.work-time-history-filters label>span{
  min-height:16px;
  display:flex;
  align-items:flex-end;
  color:#647168;
  font-size:11px;
  font-weight:800;
  line-height:1;
}
.work-time-history-filters input,
.work-time-history-filters select{
  width:100%;
  min-width:0;
  height:46px;
  box-sizing:border-box;
  padding:10px 12px;
  border:1px solid #d9e1db;
  border-radius:11px;
  background:#fff;
  color:#2d3a31;
  font:inherit;
  font-size:13px;
  line-height:1.2;
  box-shadow:0 1px 0 rgba(31,52,39,.02);
}
.work-time-history-filters input:focus,
.work-time-history-filters select:focus{
  border-color:#91a696;
  outline:2px solid rgba(102,132,111,.13);
  outline-offset:1px;
}
.work-time-history-filter-actions{
  grid-column:5/-1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-width:0;
  margin:0;
}
.work-time-history-filter-actions .primary-button,
.work-time-history-filter-actions .secondary-button{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  white-space:nowrap;
  text-decoration:none;
}
.work-time-history-apply{min-width:168px}
.work-time-history-reset{min-width:132px}
.work-time-history-back{text-decoration:none;white-space:nowrap}

.work-time-history-table-wrap{
  width:100%;
  overflow:hidden;
  border:1px solid #e0e6e2;
  border-radius:16px;
  background:#fff;
  box-sizing:border-box;
}
.work-time-history-table{
  width:100%;
  min-width:0;
  table-layout:fixed;
  border-collapse:collapse;
}
.work-time-history-table th,
.work-time-history-table td{
  box-sizing:border-box;
  padding:15px 11px;
  overflow-wrap:normal;
  word-break:normal;
}
.work-time-history-table th:nth-child(1){width:16%}
.work-time-history-table th:nth-child(2){width:8%}
.work-time-history-table th:nth-child(3){width:8%}
.work-time-history-table th:nth-child(4){width:13%}
.work-time-history-table th:nth-child(5){width:7%}
.work-time-history-table th:nth-child(6){width:9%}
.work-time-history-table th:nth-child(7){width:10%}
.work-time-history-table th:nth-child(8){width:10%}
.work-time-history-table th:nth-child(9){width:13%}
.work-time-history-table th:nth-child(10){width:6%}
.work-time-history-table td:first-child strong,
.work-time-history-table td:first-child small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.work-time-history-table td:first-child small{max-width:100%}
.work-time-history-reason{
  display:-webkit-box;
  max-width:none;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  line-clamp:4;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.work-time-history-table td:last-child{
  min-width:104px;
  text-align:center;
}
.work-time-history-view{
  width:auto!important;
  min-width:88px!important;
  max-width:100%;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  padding:8px 11px!important;
  white-space:nowrap!important;
  text-decoration:none;
  font-size:11px;
}

@media(max-width:1700px){
  .work-time-history-table-wrap{border:0;overflow:visible;background:transparent}
  .work-time-history-table,
  .work-time-history-table tbody,
  .work-time-history-table tr,
  .work-time-history-table td{display:block;width:100%}
  .work-time-history-table{table-layout:auto}
  .work-time-history-table thead{display:none}
  .work-time-history-table tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .work-time-history-table tr{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    border:1px solid #e0e6e2;
    border-radius:15px;
    background:#fff;
    padding:16px 18px;
    box-sizing:border-box;
  }
  .work-time-history-table td{
    display:grid;
    grid-template-columns:minmax(118px,32%) minmax(0,1fr);
    gap:12px;
    align-items:start;
    padding:7px 0;
    border:0;
    text-align:left;
  }
  .work-time-history-table td::before{
    content:attr(data-label);
    font-size:10px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:#6b746e;
  }
  .work-time-history-table td:first-child{padding-top:0}
  .work-time-history-table td:last-child{padding-bottom:0;text-align:left;min-width:0}
  .work-time-history-table td:last-child .work-time-history-view{justify-self:start}
  .work-time-history-table td:first-child small{white-space:normal;overflow-wrap:anywhere;text-overflow:clip}
  .work-time-history-reason{-webkit-line-clamp:unset;line-clamp:unset}
}
@media(max-width:1380px){
  .work-time-history-card{padding:20px 22px 24px}
  .work-time-history-filters{grid-template-columns:repeat(6,minmax(0,1fr));padding:20px;gap:14px 16px}
  .work-time-history-filters label:nth-of-type(1),
  .work-time-history-filters label:nth-of-type(2){grid-column:span 2}
  .work-time-history-filters label:nth-of-type(3){grid-column:span 2}
  .work-time-history-filters label:nth-of-type(4),
  .work-time-history-filters label:nth-of-type(5),
  .work-time-history-filters label:nth-of-type(6){grid-column:span 2}
  .work-time-history-filter-actions{grid-column:1/-1}
}
@media(max-width:1000px){
  .work-time-history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .work-time-history-filters label,
  .work-time-history-filters label:nth-of-type(1),
  .work-time-history-filters label:nth-of-type(2),
  .work-time-history-filters label:nth-of-type(3),
  .work-time-history-filters label:nth-of-type(4),
  .work-time-history-filters label:nth-of-type(5),
  .work-time-history-filters label:nth-of-type(6){grid-column:span 1}
  .work-time-history-filter-actions{grid-column:1/-1;justify-content:stretch}
  .work-time-history-filter-actions .primary-button,
  .work-time-history-filter-actions .secondary-button{flex:1;min-width:0}
  .work-time-history-table tbody{grid-template-columns:1fr}
}
@media(max-width:620px){
  .work-time-history-card{padding:16px}
  .work-time-history-filters{grid-template-columns:1fr;padding:16px;border-radius:14px}
  .work-time-history-filter-actions{grid-column:1;display:grid;grid-template-columns:1fr}
  .work-time-history-filter-actions .primary-button,
  .work-time-history-filter-actions .secondary-button{width:100%}
  .work-time-history-table td{grid-template-columns:1fr;gap:3px}
  .work-time-history-table td::before{margin-bottom:1px}
}

/* v0.160.35 · Fase 19.8 desktoplijst als primaire historiekweergave */
@media (min-width:1181px){
  .work-time-history-table-wrap{
    display:block;
    width:100%;
    overflow:hidden;
    border:1px solid #e0e6e2;
    border-radius:16px;
    background:#fff;
  }
  .work-time-history-table{
    display:table;
    width:100%;
    min-width:0;
    table-layout:fixed;
    border-collapse:collapse;
  }
  .work-time-history-table thead{display:table-header-group}
  .work-time-history-table tbody{display:table-row-group}
  .work-time-history-table tr{display:table-row;width:auto;padding:0;border:0;border-radius:0;background:transparent}
  .work-time-history-table th,
  .work-time-history-table td{
    display:table-cell;
    width:auto;
    padding:14px 10px;
    border-bottom:1px solid #e7ece9;
    vertical-align:top;
    text-align:left;
    font-size:12.5px;
    line-height:1.35;
  }
  .work-time-history-table th{
    padding-top:13px;
    padding-bottom:13px;
    font-size:10.5px;
    line-height:1.15;
    letter-spacing:.045em;
    white-space:nowrap;
  }
  .work-time-history-table td::before{display:none!important;content:none!important}
  .work-time-history-table th:nth-child(1){width:15%}
  .work-time-history-table th:nth-child(2){width:8%}
  .work-time-history-table th:nth-child(3){width:8%}
  .work-time-history-table th:nth-child(4){width:13%}
  .work-time-history-table th:nth-child(5){width:6%}
  .work-time-history-table th:nth-child(6){width:9%}
  .work-time-history-table th:nth-child(7){width:10%}
  .work-time-history-table th:nth-child(8){width:10%}
  .work-time-history-table th:nth-child(9){width:14%}
  .work-time-history-table th:nth-child(10){width:7%}
  .work-time-history-table td:first-child strong,
  .work-time-history-table td:first-child small{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .work-time-history-table td:first-child small{margin-top:4px;font-size:11px}
  .work-time-history-reason{
    display:block;
    max-width:none;
    overflow:visible;
    -webkit-line-clamp:unset;
    line-clamp:unset;
    line-height:1.35;
    overflow-wrap:anywhere;
  }
  .work-time-history-table td:last-child{
    min-width:0;
    text-align:center;
    white-space:nowrap;
  }
  .work-time-history-table td:last-child .work-time-history-view{
    width:auto!important;
    min-width:78px!important;
    max-width:100%;
    padding:7px 9px!important;
    white-space:nowrap!important;
    justify-self:auto;
  }
}

@media (max-width:1180px){
  .work-time-history-table tbody{grid-template-columns:1fr!important}
}

/* v0.160.36 · Fase 19.8/19.9 UX: historiekactie + moderne overtime-filter */
@media (min-width:1181px){
  .work-time-history-table th:last-child,
  .work-time-history-table td:last-child{
    padding-right:22px;
  }
  .work-time-history-table td:last-child{
    text-align:right;
  }
  .work-time-history-table td:last-child .work-time-history-view{
    margin-right:0;
  }
}

.overtime-period-toolbar{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  margin:0 0 18px;
  padding:22px 24px 24px;
  border:1px solid #dde5df;
  border-radius:18px;
  background:#fafcfb;
  box-sizing:border-box;
}
.overtime-period-toolbar>div:first-child{
  display:grid;
  gap:5px;
  align-content:start;
  padding:0 2px;
}
.overtime-period-toolbar>div:first-child .overtime-task-kicker{
  font-size:10.5px;
  font-weight:850;
  letter-spacing:.08em;
  color:#7a877f;
  text-transform:uppercase;
}
.overtime-period-toolbar>div:first-child strong{
  font-size:18px;
  line-height:1.25;
  color:#24362b;
}
.overtime-period-toolbar>div:first-child p{
  margin:0;
  color:#6f7b73;
  font-size:12px;
  line-height:1.5;
}
.overtime-period-filter{
  display:grid;
  grid-template-columns:minmax(180px,.9fr) minmax(180px,.9fr) minmax(300px,1.45fr) auto;
  gap:16px;
  align-items:start;
  min-width:0;
}
.overtime-period-filter>label{
  position:relative;
  display:grid;
  grid-template-rows:16px 46px;
  gap:7px;
  min-width:0;
  margin:0;
  color:#647168;
  font-size:11px;
  font-weight:800;
  line-height:1;
}
.overtime-period-filter>label>span{
  min-height:16px;
  display:flex;
  align-items:flex-end;
}
.overtime-period-filter input[type="date"],
.overtime-member-input-wrap{
  width:100%;
  min-width:0;
  height:46px;
  box-sizing:border-box;
  border:1px solid #d9e1db;
  border-radius:11px;
  background:#fff;
  box-shadow:0 1px 0 rgba(31,52,39,.02);
}
.overtime-period-filter input[type="date"]{
  padding:10px 12px;
  color:#2d3a31;
  font:inherit;
  font-size:13px;
  line-height:1.2;
}
.overtime-member-input-wrap{
  display:flex;
  align-items:center;
  overflow:hidden;
}
.overtime-member-search{
  width:100%;
  height:44px;
  min-width:0;
  margin:0!important;
  padding:10px 40px 10px 12px!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#2d3a31;
  font:inherit;
  font-size:13px;
  line-height:1.2;
}
.overtime-period-filter input[type="date"]:focus,
.overtime-member-input-wrap:focus-within{
  border-color:#91a696;
  outline:2px solid rgba(102,132,111,.13);
  outline-offset:1px;
}
.overtime-member-filter{
  min-width:0;
  padding-bottom:30px;
}
.overtime-member-search-help{
  position:absolute;
  left:0;
  right:0;
  top:72px;
  display:block;
  margin:0!important;
  font-size:10.5px!important;
  font-weight:600!important;
  line-height:1.35;
  color:#77827b!important;
}
.overtime-period-filter>.button.primary{
  align-self:start;
  min-height:46px;
  margin-top:23px;
  padding:0 22px;
  border-radius:11px;
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.overtime-period-shortcuts{
  grid-column:1;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:-4px;
  padding-left:0;
}
.overtime-period-shortcuts .button.secondary.small{
  min-height:38px;
  padding:8px 13px;
  border-radius:10px;
  text-decoration:none;
}

@media(max-width:1180px){
  .overtime-period-filter{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .overtime-member-filter{
    grid-column:1/-1;
  }
  .overtime-period-filter>.button.primary{
    grid-column:1/-1;
    width:100%;
    margin-top:0;
  }
  .overtime-period-shortcuts{grid-column:1}
}
@media(max-width:680px){
  .overtime-period-toolbar{
    padding:16px;
    border-radius:14px;
  }
  .overtime-period-filter{
    grid-template-columns:1fr;
    gap:14px;
  }
  .overtime-member-filter,
  .overtime-period-filter>.button.primary{
    grid-column:1;
  }
  .overtime-period-shortcuts{
    display:grid;
    grid-template-columns:1fr;
  }
  .overtime-period-shortcuts .button.secondary.small{width:100%}
}

/* v0.160.37 · Fase 19.9 centrale tellingen */
.work-time-inbox-summary{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;max-width:520px}.work-time-inbox-summary>span:not(.work-time-card-status){display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;border:1px solid #e1e7e2;border-radius:999px;background:#f8faf8;color:#657068;font-size:11px;font-weight:750;white-space:nowrap}@media(max-width:900px){.work-time-signal-worklist .work-time-section-head{align-items:flex-start;flex-direction:column;gap:10px}.work-time-inbox-summary{justify-content:flex-start;max-width:100%}}


/* v0.160.38 · Fase 19.10 audit & bron + zoekbare historiekmedewerker */
.work-time-history-employee-search{min-width:0}
.work-time-history-employee-search input{width:100%;min-width:0}
.work-time-history-employee-search>small{display:block;margin-top:7px;color:#7a847e;font-size:12px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){.work-time-history-employee-search>small{white-space:normal}}
.overtime-audit-source{margin-top:14px;padding:15px 16px;border:1px solid #dfe8e2;border-radius:14px;background:#f8fbf9}
.overtime-audit-source-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}
.overtime-audit-source-head>div{display:grid;gap:3px}.overtime-audit-source-head strong{font-size:15px;color:#26382e}
.overtime-audit-source-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 14px}
.overtime-audit-source-grid span{min-width:0;display:grid;gap:3px}.overtime-audit-source-grid small{color:#758078;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.overtime-audit-source-grid b{font-size:13px;overflow-wrap:anywhere}
.overtime-audit-source-reason{grid-column:1/-1;padding-top:4px;border-top:1px solid #e5ebe7}
@media(max-width:1100px){.overtime-audit-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.overtime-audit-source-head{align-items:flex-start;flex-direction:column}.overtime-audit-source-head .secondary-button{width:100%;justify-content:center}.overtime-audit-source-grid{grid-template-columns:1fr}}

/* v0.160.39 · overtime autocomplete: één duidelijke wisactie */
.overtime-member-search::-webkit-search-cancel-button,
.overtime-member-search::-webkit-search-decoration{
  -webkit-appearance:none;
  appearance:none;
}
.overtime-member-search::-ms-clear,
.overtime-member-search::-ms-reveal{
  display:none;
  width:0;
  height:0;
}

/* v0.160.40 · reviewed overtime detail: balanced two-column audit layout */
.overtime-candidate.reviewed{grid-template-columns:1fr}
.overtime-candidate.reviewed .overtime-candidate-copy{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(360px,.85fr);
  column-gap:32px;
  row-gap:7px;
  align-items:start;
}
.overtime-candidate.reviewed .overtime-candidate-copy > :not(.overtime-audit-source){grid-column:1}
.overtime-candidate.reviewed .overtime-audit-source{
  grid-column:2;
  grid-row:1 / span 30;
  margin-top:0;
  align-self:start;
  padding:20px 22px;
  border-radius:18px;
}
.overtime-candidate.reviewed .overtime-audit-source-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 18px;
}
.overtime-candidate.reviewed .overtime-audit-source-grid span{
  padding:0 0 2px;
}
.overtime-candidate.reviewed .overtime-audit-source-grid small{
  font-size:10.5px;
  line-height:1.35;
}
.overtime-candidate.reviewed .overtime-audit-source-grid b{
  font-size:13.5px;
  line-height:1.35;
}
.overtime-candidate.reviewed .overtime-audit-source-reason{
  grid-column:1/-1;
  margin-top:2px;
  padding-top:12px;
}
@media(max-width:1280px){
  .overtime-candidate.reviewed .overtime-candidate-copy{grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);column-gap:22px}
}
@media(max-width:1050px){
  .overtime-candidate.reviewed .overtime-candidate-copy{grid-template-columns:1fr}
  .overtime-candidate.reviewed .overtime-candidate-copy > :not(.overtime-audit-source),
  .overtime-candidate.reviewed .overtime-audit-source{grid-column:1;grid-row:auto}
  .overtime-candidate.reviewed .overtime-audit-source{margin-top:10px}
}
@media(max-width:620px){
  .overtime-candidate.reviewed .overtime-audit-source-grid{grid-template-columns:1fr}
}

/* v0.160.45 · Fase 20 UX · compacte handmatige tijdregistratie */
.time-manual-entry{margin:0 0 16px;overflow:hidden;border-color:#e2e7e2;background:#fff}
.time-manual-entry>summary{list-style:none}
.time-manual-entry>summary::-webkit-details-marker{display:none}
.time-manual-entry-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:66px;padding:14px 18px;cursor:pointer;user-select:none}
.time-manual-entry-summary:hover{background:#fafcfb}
.time-manual-entry-copy{display:grid;gap:3px;min-width:0}
.time-manual-entry-copy strong{font-size:15px;line-height:1.3;color:#26352c}
.time-manual-entry-copy small{font-size:11px;line-height:1.35;color:#7a847d;font-weight:650}
.time-manual-entry-chevron{flex:0 0 30px;width:30px;height:30px;border:1px solid #dce3de;border-radius:999px;background:#f7f9f7;position:relative;transition:transform .18s ease,background .18s ease}
.time-manual-entry-chevron:before{content:'';position:absolute;left:10px;top:8px;width:7px;height:7px;border-right:2px solid #56675d;border-bottom:2px solid #56675d;transform:rotate(45deg)}
.time-manual-entry[open] .time-manual-entry-chevron{transform:rotate(180deg);background:#eef3ef}
.time-manual-entry-body{border-top:1px solid #e7ebe8;padding:18px}
.time-manual-entry-intro{display:grid;gap:4px;margin-bottom:15px;padding:12px 14px;border:1px solid #e3e8e4;border-radius:12px;background:#f8faf8}
.time-manual-entry-intro strong{font-size:12.5px;color:#33443a}
.time-manual-entry-intro p{margin:0;color:#6f7972;font-size:11.5px;line-height:1.45}
.time-manual-entry-form{display:grid;gap:14px;margin:0}
.time-manual-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.time-manual-entry-grid>label,.time-manual-reason{display:grid;gap:6px;min-width:0}
.time-manual-entry-grid>label>span,.time-manual-reason>span{color:#59665e;font-size:11px;font-weight:850}
.time-manual-entry-grid input,.time-manual-entry-grid select,.time-manual-reason textarea{width:100%;min-width:0;border:1px solid #d9dfda;border-radius:10px;background:#fff;padding:10px 11px;font:inherit;color:#27342c;box-sizing:border-box}
.time-manual-entry-grid input,.time-manual-entry-grid select{min-height:44px}
.time-manual-reason textarea{min-height:84px;resize:vertical}
.time-manual-reason small{color:#7b847e;font-size:10.5px;line-height:1.4}
.time-manual-entry-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:2px}
.time-manual-check{display:flex!important;align-items:flex-start;gap:10px;min-width:0;cursor:pointer;color:#3f4c44}
.time-manual-check>input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;flex:0 0 18px!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:2px 0 0!important;padding:0!important;border-radius:4px!important}
.time-manual-check>span{display:grid;gap:2px;min-width:0}
.time-manual-check strong{font-size:11.5px;line-height:1.35}
.time-manual-check small{font-size:10.5px;line-height:1.35;color:#7a847d;font-weight:600}
.time-manual-submit{flex:0 0 auto;min-width:220px;width:auto!important;min-height:44px;padding-inline:18px}
@media(max-width:820px){.time-manual-entry-grid{grid-template-columns:1fr}.time-manual-entry-footer{align-items:stretch;flex-direction:column}.time-manual-submit{width:100%!important;min-width:0}.time-manual-entry-summary{padding:13px 15px}.time-manual-entry-body{padding:15px}}

/* v0.160.46 · Fase 20.10 · automatische teller feestdaginhaalrust */
.hc-what-now .button{justify-self:start;margin-top:6px}
.holiday-balance{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}


/* v0.160.47 · Fase 20.10 · uur/minuutopname Inhaalrust feestdag */
.absence-request-grid [hidden]{display:none!important}
.holiday-comp-duration{grid-column:1/-1;display:grid;grid-template-columns:minmax(110px,.45fr) minmax(110px,.45fr) minmax(220px,1.1fr);gap:12px;align-items:end;padding:14px;border:1px solid #e0e6e1;border-radius:12px;background:#fafcfb}
.holiday-comp-duration>label{display:grid;gap:6px}.holiday-comp-duration>label>span{font-size:11px;font-weight:850;color:#59665e}.holiday-comp-duration input{min-height:44px}
.holiday-comp-preview{min-height:66px;display:grid;align-content:center;gap:2px;padding:10px 13px;border:1px solid #dce4de;border-radius:10px;background:#fff}.holiday-comp-preview>span{font-size:9.5px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:#7a847d}.holiday-comp-preview>strong{font-size:18px;color:#30483a}.holiday-comp-preview>small{font-size:10.5px;line-height:1.35;color:#78827b}
.holiday-comp-balance{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:13px 14px;border:1px solid #dfe6e0;border-radius:12px;background:#f7faf8}.holiday-comp-balance>div{display:grid;gap:3px;padding:9px 11px;border-radius:9px;background:#fff}.holiday-comp-balance>div>span{font-size:9.5px;font-weight:800;color:#78837b}.holiday-comp-balance>div>strong{font-size:14px;color:#304238}.holiday-comp-balance>p{grid-column:1/-1;margin:0;font-size:10.5px;line-height:1.45;color:#66736b}.holiday-comp-balance.is-warning{border-color:#e8c8a5;background:#fff9f2}.holiday-comp-balance.is-warning>p{color:#8a5e35;font-weight:700}
@media(max-width:760px){.holiday-comp-duration,.holiday-comp-balance{grid-template-columns:1fr 1fr}.holiday-comp-preview,.holiday-comp-balance>p{grid-column:1/-1}.holiday-comp-balance>div:last-of-type{grid-column:1/-1}}
@media(max-width:520px){.holiday-comp-duration,.holiday-comp-balance{grid-template-columns:1fr}.holiday-comp-preview,.holiday-comp-balance>p,.holiday-comp-balance>div:last-of-type{grid-column:auto}}


/* v0.160.48 · Fase 20.12 · compacte filters Feestdagen & inhaalrust */
.hc-rights-filters{display:grid;grid-template-columns:minmax(280px,1.5fr) minmax(190px,.8fr) minmax(250px,1fr) auto;gap:12px 14px;align-items:end;margin:0 0 10px;padding:14px 16px;border:1px solid #e3e8e4;border-radius:14px;background:#fafbfa}.hc-rights-filters>label{display:grid;gap:6px;min-width:0}.hc-rights-filters>label>span:first-child{font-size:12px;font-weight:800;color:#59655d}.hc-rights-filters input[type=search],.hc-rights-filters select{width:100%;min-height:42px;border:1px solid #d7ded9;border-radius:10px;background:#fff;padding:9px 11px;color:var(--text)}.hc-rights-filters input[type=search]:focus,.hc-rights-filters select:focus{outline:2px solid rgba(101,129,110,.16);border-color:#91a697}.hc-action-only{grid-template-columns:auto 1fr!important;align-items:center;align-self:stretch;padding:8px 11px;border:1px solid #e0e6e1;border-radius:10px;background:#fff;cursor:pointer}.hc-action-only input{width:18px;height:18px;margin:0}.hc-action-only>span{display:grid;gap:1px!important}.hc-action-only strong{font-size:12px}.hc-action-only small{font-size:11px;color:var(--muted);line-height:1.3}.hc-filter-actions{display:flex;gap:8px;align-items:center;white-space:nowrap}.hc-filter-result{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 13px;padding:0 2px;color:var(--muted);font-size:12px}.hc-filter-result strong{color:#4f5c54}.hc-filter-result span{white-space:nowrap}
@media(max-width:1100px){.hc-rights-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.hc-filter-actions{justify-content:flex-start}}
@media(max-width:680px){.hc-rights-filters{grid-template-columns:1fr;padding:12px}.hc-filter-actions{display:grid;grid-template-columns:1fr 1fr}.hc-filter-actions .button{text-align:center;justify-content:center}.hc-filter-result{align-items:flex-start;flex-direction:column;gap:2px}}

/* v0.160.52 · Fase 21.3 handmatige bijzondere prestaties: zoekbare medewerker + uitlijning */
.special-manual-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
.special-manual-form>.special-employee-combobox{min-width:0}
.special-employee-combobox{position:relative;display:grid;gap:7px;min-width:0}
.special-employee-combobox>span{font-size:13px;font-weight:750;color:#3f4742;line-height:1.35}
.special-employee-input-wrap{position:relative;min-width:0}
.special-employee-combobox input[type=search]{width:100%;min-width:0;min-height:44px;border:1px solid #d9dfda;border-radius:10px;padding:9px 38px 9px 11px;background:#fff;color:#20251f;font:inherit;font-size:14px;outline:none}
.special-employee-combobox input[type=search]:focus{border-color:#879b8c;box-shadow:0 0 0 3px rgba(126,145,131,.12)}
.special-employee-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:#667169;font-size:20px;line-height:1;cursor:pointer}
.special-employee-clear:hover{background:#f0f3f0}
.special-employee-results{position:absolute;z-index:35;top:calc(100% - 22px);left:0;right:0;max-height:280px;overflow:auto;padding:5px;border:1px solid #dce2dd;border-radius:11px;background:#fff;box-shadow:0 12px 28px rgba(38,48,41,.14)}
.special-employee-option{display:grid;width:100%;gap:2px;padding:9px 10px;border:0;border-radius:8px;background:#fff;text-align:left;cursor:pointer}
.special-employee-option[hidden],.special-employee-empty[hidden]{display:none!important}
.special-employee-option:hover,.special-employee-option:focus{background:#f2f6f3;outline:none}
.special-employee-option strong{font-size:13px;color:#263129}
.special-employee-option small{font-size:11px;color:#748078;font-weight:500}
.special-employee-empty{padding:10px;color:#748078;font-size:12px}
.special-employee-help{font-size:10.5px;color:#7a827c;font-weight:500;line-height:1.35;min-height:14px}
.special-manual-form>.special-manual-quantity,.special-manual-form>.special-manual-note{grid-column:span 2;align-self:start;margin:0}
.special-manual-form>.special-manual-quantity,.special-manual-form>.special-manual-note{display:grid;align-content:start;gap:7px}
.special-manual-form>.special-manual-quantity>span,.special-manual-form>.special-manual-note>span{min-height:18px;display:flex;align-items:flex-end}
.special-manual-form>.special-manual-note::after{content:"";display:block;min-height:14px}
@media(max-width:1100px){.special-manual-form{grid-template-columns:repeat(2,minmax(0,1fr))}.special-manual-form>.special-manual-quantity,.special-manual-form>.special-manual-note{grid-column:span 1}}
@media(max-width:720px){.special-manual-form{grid-template-columns:minmax(0,1fr)}.special-manual-form>.special-manual-quantity,.special-manual-form>.special-manual-note{grid-column:1}.special-employee-results{max-height:240px}}

/* v0.160.54 · Fase 21 payroll UX: filters, duidelijke vervolgstap en professionele periodeactie */
.payroll-period-filters{display:grid;grid-template-columns:minmax(210px,1.25fr) minmax(145px,.75fr) minmax(145px,.75fr) minmax(115px,.55fr) minmax(145px,.7fr) minmax(190px,.9fr);gap:12px 14px;align-items:end;margin:0 0 10px;padding:14px 16px;border:1px solid #e2e8e3;border-radius:14px;background:#fafcfa}
.payroll-period-filters>label{display:grid;gap:6px;min-width:0}.payroll-period-filters>label>span:first-child{font-size:11.5px;font-weight:800;color:#59655d}.payroll-period-filters input[type=search],.payroll-period-filters select{width:100%;min-width:0;min-height:42px;border:1px solid #d7ded9;border-radius:10px;background:#fff;padding:9px 11px;color:var(--text);font:inherit}.payroll-period-filters input:focus,.payroll-period-filters select:focus{outline:2px solid rgba(101,129,110,.16);border-color:#91a697}
.payroll-period-attention{grid-template-columns:auto 1fr!important;align-items:center;align-self:stretch;padding:8px 11px;border:1px solid #dfe6e0;border-radius:10px;background:#fff;cursor:pointer}.payroll-period-attention input{width:18px;height:18px;margin:0}.payroll-period-attention>span{display:grid;gap:1px!important}.payroll-period-attention strong{font-size:12px}.payroll-period-attention small{font-size:10.5px;color:var(--muted);line-height:1.3}.payroll-period-filter-actions{grid-column:1/-1;display:flex;gap:8px;align-items:center;justify-content:flex-end;white-space:nowrap;padding-top:2px}.payroll-period-filter-result{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 2px 10px;color:var(--muted);font-size:11.5px}.payroll-period-filter-result strong{color:#4d5b52}.payroll-period-filter-result small{font-weight:750}
.payroll-period-action{width:1%;white-space:nowrap;text-align:right}.payroll-open-period{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 13px;border:1px solid color-mix(in srgb,var(--accent,#315b45) 28%,#dce4de);border-radius:10px;background:color-mix(in srgb,var(--accent,#315b45) 9%,#fff);color:var(--accent,#315b45)!important;font-size:12px;font-weight:800;text-decoration:none!important;box-shadow:0 1px 2px rgba(34,48,39,.04);transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}.payroll-open-period:hover{background:color-mix(in srgb,var(--accent,#315b45) 15%,#fff);border-color:color-mix(in srgb,var(--accent,#315b45) 45%,#dce4de);box-shadow:0 3px 8px rgba(34,48,39,.08);transform:translateY(-1px)}.payroll-open-period:focus-visible{outline:3px solid color-mix(in srgb,var(--accent,#315b45) 24%,transparent);outline-offset:2px}.payroll-open-period span:last-child{font-size:15px;line-height:1}
.payroll-issue-next-step{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:3px 14px;align-items:center}.payroll-issue-next-step>strong,.payroll-issue-next-step>small{grid-column:1;display:block}.payroll-issue-next-step>small{font-size:10.5px;line-height:1.35;color:#7b6847}.payroll-issue-next-step .payroll-issue-cta{grid-column:2;grid-row:1 / span 2;align-self:center;white-space:nowrap;text-decoration:none}
.payroll-lines-table tr:target>td{background:#fff8df!important;box-shadow:inset 0 1px #ead49b,inset 0 -1px #ead49b}.payroll-lines-table tr:target>td:first-child{box-shadow:inset 4px 0 #c9a54d,inset 0 1px #ead49b,inset 0 -1px #ead49b}
#period-flow{scroll-margin-top:18px}.payroll-lines-table tr[id^="payroll-line-"]{scroll-margin-top:18px}
@media(max-width:1180px){.payroll-period-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.payroll-period-filter-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:780px){.payroll-period-filters{grid-template-columns:1fr 1fr;padding:12px}.payroll-period-filter-actions{grid-column:1/-1}.payroll-issue-next-step{grid-template-columns:1fr}.payroll-issue-next-step .payroll-issue-cta{grid-column:1;grid-row:auto;justify-self:start;margin-top:5px}.payroll-open-period{min-height:36px;padding:7px 11px}}
@media(max-width:560px){.payroll-period-filters{grid-template-columns:1fr}.payroll-period-filter-actions{display:grid;grid-template-columns:1fr 1fr}.payroll-period-filter-actions .button{justify-content:center;text-align:center}.payroll-period-filter-result{align-items:flex-start;flex-direction:column;gap:2px}}

/* v0.160.59 · searchable employee selector */
.employee-payroll-combobox{position:relative;display:grid;gap:7px;max-width:620px}.employee-payroll-combobox>span{font-size:11px;font-weight:800;color:var(--muted)}.employee-payroll-combobox-input{position:relative}.employee-payroll-combobox-input input{width:100%;min-height:44px;border:1px solid #d9dfda;border-radius:10px;padding:9px 40px 9px 12px;background:#fff;font:inherit}.employee-payroll-combobox-input button{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:#667169;font-size:20px;cursor:pointer}.employee-payroll-combobox-input button:hover{background:#f0f3f0}.employee-payroll-combobox-results{position:absolute;z-index:40;top:calc(100% - 20px);left:0;right:0;max-height:290px;overflow:auto;padding:5px;border:1px solid #dce2dd;border-radius:11px;background:#fff;box-shadow:0 12px 28px rgba(38,48,41,.14)}.employee-payroll-combobox-results button{display:grid;width:100%;gap:2px;padding:9px 10px;border:0;border-radius:8px;background:#fff;text-align:left;cursor:pointer}.employee-payroll-combobox-results button:hover{background:#f2f6f3}.employee-payroll-combobox-results strong{font-size:13px;color:#263129}.employee-payroll-combobox-results small,.employee-payroll-combobox>small{font-size:11px;color:#748078}.employee-payroll-combobox-empty{padding:10px;color:#748078;font-size:12px}
/* v0.160.65 · payroll pre-close source control */
.payroll-period-flow-error{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.payroll-period-flow-error .button{flex:0 0 auto}
@media (max-width:700px){.payroll-period-flow-error{align-items:stretch}.payroll-period-flow-error .button{width:100%;justify-content:center}}

/* v0.160.66 · payroll review guard, collapsible audit and active-period focus */
.payroll-action-error{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
#active-payroll-period{scroll-margin-top:24px}
.payroll-audit-card{padding:0;overflow:hidden}
.payroll-audit-details{display:block}
.payroll-audit-summary-toggle{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;cursor:pointer;user-select:none}
.payroll-audit-summary-toggle::-webkit-details-marker{display:none}
.payroll-audit-summary-toggle>span:first-child{display:grid;gap:4px;min-width:0}
.payroll-audit-summary-toggle strong{font-size:1.05rem}
.payroll-audit-summary-toggle small{color:var(--muted,#667085);font-weight:400}
.payroll-audit-toggle-label{display:inline-flex;align-items:center;gap:8px;font-weight:700;white-space:nowrap}
.payroll-audit-toggle-label::after{content:'⌄';font-size:1.15rem;line-height:1;transition:transform .16s ease}
.payroll-audit-details[open] .payroll-audit-toggle-label::after{transform:rotate(180deg)}
.payroll-audit-details .when-open{display:none}
.payroll-audit-details[open] .when-open{display:inline}
.payroll-audit-details[open] .when-closed{display:none}
.payroll-audit-body{padding:0 22px 22px;border-top:1px solid rgba(15,23,42,.08)}
@media (max-width:700px){.payroll-audit-summary-toggle{align-items:flex-start;padding:18px}.payroll-audit-body{padding:0 18px 18px}.payroll-audit-summary-toggle small{display:none}}
/* v0.160.73 · payroll spacing en rustige KPI-kaarten */
#payroll-periods>.payroll-period-create-form{margin-bottom:24px}
.payroll-employee-kpis .ready,.payroll-employee-kpis .attention,.payroll-employee-kpis .blocked{border-left:1px solid #e7ebe7}
@media(max-width:700px){#payroll-periods>.payroll-period-create-form{margin-bottom:16px}}

/* v0.160.81 · Correcties na afsluiting: compacte providerveilige actiezones */
.payroll-correction-actions{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:14px;align-items:start}.payroll-correction-action-card{gap:10px;padding:16px}.payroll-correction-action-card form{grid-template-columns:minmax(0,1fr) auto;gap:9px 10px}.payroll-correction-action-card textarea{min-height:72px;max-height:140px}.payroll-correction-action-card button{min-height:42px;padding:10px 16px}.payroll-correction-assign{border-color:#d8e2da;background:#fbfdfb}.payroll-correction-ignore{background:#fbfaf9;border-color:#e7e2dd}.payroll-correction-period-hint{display:block;margin-top:6px;color:#6e756f;font-size:11px;line-height:1.4}.payroll-correction-action-card select{min-height:42px}
@media(max-width:1220px){.payroll-correction-actions{grid-template-columns:1fr}}
@media(max-width:900px){.payroll-correction-action-card form{grid-template-columns:1fr}.payroll-correction-action-card form .wide{grid-column:auto}.payroll-correction-action-card button{width:100%;justify-content:center}}

/* v0.161.0 · Onkosten met bewijs + boekhoudexport */
.expense-submit-grid .expense-proof-field{display:grid;gap:.35rem}.expense-submit-grid .expense-proof-field small{color:#717b74}.expense-accounting-export{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.25rem;align-items:end;padding:1rem 1.1rem;margin:0 0 1.25rem;border:1px solid #dfe6df;border-radius:14px;background:#f8faf8}.expense-accounting-export h3{margin:0 0 .25rem}.expense-accounting-export p{margin:0}.expense-export-form{display:flex;gap:.7rem;align-items:end;flex-wrap:wrap}.expense-export-form label{display:grid;gap:.35rem}.expense-export-form label>span{font-size:.78rem;font-weight:750;color:#59645d}.expense-export-form input{min-height:40px;box-sizing:border-box}.expense-review-table td small,.expense-review-table td strong{display:block}.expense-review-table td small{margin-top:.2rem;color:#748078;line-height:1.35}.expense-review-table td{vertical-align:top}.expense-review-table .declaration-review-actions{min-width:170px}.expense-inline-proof{display:grid;gap:.4rem;margin-top:.5rem;min-width:180px}.expense-inline-proof input[type=file]{max-width:240px;font-size:.78rem}.expense-inline-proof .button{justify-self:start}.approval-reject-details textarea{box-sizing:border-box;width:100%;min-height:96px;resize:vertical}.text-link{color:var(--accent,#58705f);font-weight:700;text-decoration:none;overflow-wrap:anywhere}.text-link:hover{text-decoration:underline}
@media(max-width:900px){.expense-accounting-export{grid-template-columns:1fr}.expense-export-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.expense-export-form .button{grid-column:1/-1;width:100%}.expense-review-table{min-width:860px}}
@media(max-width:620px){.expense-export-form{grid-template-columns:1fr}.expense-export-form .button{grid-column:auto}.expense-accounting-export{padding:.85rem}.expense-submit-grid{grid-template-columns:1fr!important}.expense-submit-grid .span-3{grid-column:1/-1}}

/* v0.161.1 expense entry polish */
.expense-proof-field{display:grid;gap:.5rem;min-width:0}.expense-proof-label{font-size:.82rem;font-weight:750;color:#3f4742}.expense-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;min-height:150px;padding:1.15rem;border:2px dashed #cfd8d0;border-radius:14px;background:#fafcf9;text-align:center;transition:border-color .15s,background .15s}.expense-dropzone:hover,.expense-dropzone:focus,.expense-dropzone.is-dragover{outline:none;border-color:var(--accent,#58705f);background:#f1f6f2}.expense-dropzone-icon{font-size:1.5rem;line-height:1;color:#63746a}.expense-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.expense-file-list{display:grid;gap:.4rem}.expense-file-item{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.55rem .7rem;border:1px solid #dfe6df;border-radius:9px;background:#fff;font-size:.85rem}.expense-file-item span{min-width:0;overflow-wrap:anywhere}.expense-file-remove{appearance:none;border:0;background:transparent;color:#8a4437;font:inherit;font-weight:750;cursor:pointer;white-space:nowrap}.expense-success-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.7rem}.expense-entry-notice{scroll-margin-top:18px}.expense-submit-grid>.workforce-employee-combobox{align-self:start}
@media(max-width:620px){.expense-dropzone{min-height:130px;padding:.9rem}.expense-success-actions .button{width:100%}}

/* v0.161.2 responsive expense review lists */
.expense-entry-notice{margin-bottom:1.85rem}.expense-accounting-export{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.25rem;align-items:end;min-width:0}.expense-accounting-export>div{min-width:0}.expense-export-form{display:flex;align-items:end;gap:.7rem;flex-wrap:wrap;min-width:0}.expense-export-form label{min-width:150px;flex:1 1 150px}.expense-export-form .button{white-space:nowrap}.expense-review-wrap{overflow:visible!important;max-width:100%;min-width:0}.expense-review-table{display:block;width:100%;max-width:100%;table-layout:auto}.expense-review-table thead{display:none}.expense-review-table tbody{display:block;width:100%;min-width:0}.expense-review-table tbody tr{display:grid;width:100%;min-width:0;border-top:1px solid #e1e6e2;padding:.95rem 0;column-gap:1rem;row-gap:.7rem;align-items:start}.expense-review-table tbody tr:first-child{border-top:0}.expense-review-table tbody td{display:block;min-width:0;padding:0!important;border:0!important;overflow-wrap:normal;word-break:normal}.expense-review-table tbody td small{display:block;margin-top:.22rem;line-height:1.35;color:#6c756f;overflow-wrap:anywhere}.expense-review-table .expense-value{white-space:nowrap;font-weight:750}.expense-review-pending tbody tr{grid-template-columns:140px minmax(0,1.15fr) minmax(0,1fr) minmax(150px,.78fr) minmax(170px,.82fr);grid-template-areas:"date employee expense status action" "amount proof proof proof action"}.expense-review-pending tbody td:nth-child(1){grid-area:date}.expense-review-pending tbody td:nth-child(2){grid-area:employee}.expense-review-pending tbody td:nth-child(3){grid-area:expense}.expense-review-pending tbody td:nth-child(4){grid-area:amount}.expense-review-pending tbody td:nth-child(5){grid-area:proof}.expense-review-pending tbody td:nth-child(6){grid-area:status}.expense-review-pending tbody td:nth-child(7){grid-area:action}.expense-review-processed tbody tr{grid-template-columns:140px minmax(0,1.15fr) minmax(0,1fr) minmax(150px,.78fr) minmax(185px,.9fr);grid-template-areas:"date employee expense status reimbursement" "amount proof proof proof reimbursement"}.expense-review-processed tbody td:nth-child(1){grid-area:date}.expense-review-processed tbody td:nth-child(2){grid-area:employee}.expense-review-processed tbody td:nth-child(3){grid-area:expense}.expense-review-processed tbody td:nth-child(4){grid-area:amount}.expense-review-processed tbody td:nth-child(5){grid-area:proof}.expense-review-processed tbody td:nth-child(6){grid-area:status}.expense-review-processed tbody td:nth-child(7){grid-area:reimbursement}.expense-review-table tbody tr>td[colspan]{grid-column:1/-1!important;grid-area:auto!important;padding:.75rem 0!important}.declaration-review-actions{display:flex;gap:.5rem;align-items:flex-start;flex-wrap:wrap}.approval-reject-details form{min-width:min(520px,100%);max-width:100%}.approval-reject-details textarea{width:100%;box-sizing:border-box;min-height:110px;resize:vertical}.expense-inline-proof{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-top:.45rem;max-width:560px}.expense-inline-proof-drop{display:flex;flex-direction:column;justify-content:center;gap:.12rem;min-width:220px;max-width:340px;min-height:58px;padding:.55rem .7rem;border:1.5px dashed #c9d4cc;border-radius:10px;background:#fafcf9;cursor:pointer;box-sizing:border-box}.expense-inline-proof-drop:hover,.expense-inline-proof-drop.is-dragover{border-color:var(--accent,#58705f);background:#f1f6f2}.expense-inline-proof-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.expense-inline-proof-title{font-size:.82rem;font-weight:750;color:#36413a}.expense-inline-proof-name{font-size:.75rem;color:#6c756f;overflow-wrap:anywhere}.expense-inline-proof .button{white-space:nowrap}.expense-review-table a.text-link{display:inline-block;max-width:100%;overflow-wrap:anywhere}
@media(max-width:1100px){.expense-accounting-export{grid-template-columns:1fr}.expense-export-form{width:100%}.expense-review-pending tbody tr,.expense-review-processed tbody tr{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:none;gap:.8rem 1.2rem;padding:1rem 0}.expense-review-table tbody td{grid-area:auto!important;display:grid;grid-template-columns:125px minmax(0,1fr);gap:.65rem;align-items:start}.expense-review-table tbody td::before{content:attr(data-label);font-size:.72rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:#707972;padding-top:.14rem}.expense-review-table tbody td small{grid-column:2}.expense-review-table tbody td[data-label="Actie"],.expense-review-table tbody td[data-label="Terugbetaling"]{grid-column:1/-1}.expense-review-table tbody td[data-label="Actie"] .declaration-review-actions,.expense-review-table tbody td[data-label="Terugbetaling"] form{grid-column:2}.expense-review-table tbody td[colspan]::before{display:none}}
@media(max-width:700px){.expense-entry-notice{margin-bottom:1.5rem}.expense-export-form{display:grid;grid-template-columns:1fr 1fr}.expense-export-form .button{grid-column:1/-1;width:100%}.expense-review-pending tbody tr,.expense-review-processed tbody tr{grid-template-columns:1fr}.expense-review-table tbody td,.expense-review-table tbody td[data-label="Actie"],.expense-review-table tbody td[data-label="Terugbetaling"]{grid-column:1;grid-template-columns:1fr;gap:.22rem}.expense-review-table tbody td::before{padding-top:0}.expense-review-table tbody td small,.expense-review-table tbody td[data-label="Actie"] .declaration-review-actions,.expense-review-table tbody td[data-label="Terugbetaling"] form{grid-column:1}.expense-inline-proof{display:grid;grid-template-columns:1fr;width:100%;max-width:none}.expense-inline-proof-drop{max-width:none;width:100%}.expense-inline-proof .button{width:100%}}
@media(max-width:480px){.expense-export-form{grid-template-columns:1fr}}

/* v0.161.3 · Onkosten succeskaart CTA-polish */
.expense-entry-notice .expense-success-actions{
  align-items:center;
  gap:.75rem;
}
.expense-entry-notice .expense-success-actions .button{
  min-height:46px;
  padding:10px 18px;
  border-radius:12px;
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  text-decoration:none!important;
  white-space:nowrap;
}
.expense-entry-notice .expense-success-actions .button.secondary{
  background:#fff;
  color:#526159;
  border:1px solid #cfd8d1;
  box-shadow:0 2px 8px rgba(35,50,40,.05);
}
.expense-entry-notice .expense-success-actions .button.secondary:hover{
  background:#f7faf8;
  border-color:#aebbb2;
  color:#35463b;
  transform:translateY(-1px);
}
@media(max-width:620px){
  .expense-entry-notice .expense-success-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .expense-entry-notice .expense-success-actions .button{
    width:100%;
    white-space:normal;
  }
}

/* v0.161.5 expense rejection panel */
.expense-review-pending tbody tr:has(.approval-reject-details[open]){
  grid-template-columns:140px minmax(0,1.15fr) minmax(0,1fr) minmax(150px,.78fr) minmax(170px,.82fr);
  grid-template-areas:
    "date employee expense status action"
    "amount proof proof proof action"
    "reject reject reject reject reject";
}
.expense-review-pending tbody tr:has(.approval-reject-details[open]) td[data-label="Actie"]{
  grid-column:1/-1;
  grid-area:reject;
  width:100%;
  max-width:none;
}
.expense-review-pending tbody tr:has(.approval-reject-details[open]) .declaration-review-actions{
  display:grid;
  grid-template-columns:max-content 1fr;
  gap:.7rem 1rem;
  width:100%;
  max-width:none;
  align-items:start;
}
.expense-review-pending tbody tr:has(.approval-reject-details[open]) .approval-quick-form{
  grid-column:1;
}
.expense-review-pending tbody tr:has(.approval-reject-details[open]) .approval-reject-details{
  grid-column:1/-1;
  width:100%;
  max-width:none;
  min-width:0;
}
.expense-review-pending tbody tr:has(.approval-reject-details[open]) .approval-reject-details>summary{
  width:max-content;
}
.expense-review-pending tbody tr:has(.approval-reject-details[open]) .approval-reject-details form{
  width:100%;
  max-width:none;
  min-width:0;
  box-sizing:border-box;
  margin-top:.7rem;
  padding:1rem 1.1rem;
  border:1px solid #ead7d3;
  border-radius:14px;
  background:#fffafa;
}
.expense-review-pending tbody tr:has(.approval-reject-details[open]) .approval-reject-details label{
  display:grid;
  gap:.45rem;
  width:100%;
}
.expense-review-pending tbody tr:has(.approval-reject-details[open]) .approval-reject-details textarea{
  width:100%;
  max-width:none;
  min-height:130px;
  padding:.75rem .85rem;
  box-sizing:border-box;
  resize:vertical;
}
.expense-review-pending tbody tr:has(.approval-reject-details[open]) .approval-reject-details .danger-button{
  display:block;
  min-width:220px;
  margin:.8rem 0 0 auto;
}
@media(max-width:1100px){
  .expense-review-pending tbody tr:has(.approval-reject-details[open]){
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-areas:none;
  }
  .expense-review-pending tbody tr:has(.approval-reject-details[open]) td[data-label="Actie"]{
    grid-column:1/-1;
    grid-area:auto;
  }
  .expense-review-pending tbody tr:has(.approval-reject-details[open]) .declaration-review-actions{
    grid-template-columns:1fr;
  }
  .expense-review-pending tbody tr:has(.approval-reject-details[open]) .approval-quick-form,
  .expense-review-pending tbody tr:has(.approval-reject-details[open]) .approval-reject-details{
    grid-column:1;
  }
}
@media(max-width:700px){
  .expense-review-pending tbody tr:has(.approval-reject-details[open]){
    grid-template-columns:1fr;
  }
  .expense-review-pending tbody tr:has(.approval-reject-details[open]) .approval-reject-details form{
    padding:.9rem;
  }
  .expense-review-pending tbody tr:has(.approval-reject-details[open]) .approval-reject-details .danger-button{
    width:100%;
    min-width:0;
  }
}


/* v0.161.7 explicit context for payment method "Andere" */
.expense-other-payment{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);
  gap:1rem;
  align-items:end;
  padding:1rem 1.1rem;
  border:1px solid #dfe6e1;
  border-radius:14px;
  background:#f8faf8;
}
.expense-other-payment[hidden]{display:none!important}
.expense-other-payment label{min-width:0}
.expense-other-payment fieldset{
  margin:0;
  min-width:0;
  padding:.65rem .8rem;
  border:1px solid #d8dfda;
  border-radius:11px;
  background:#fff;
}
.expense-other-payment legend{padding:0 .25rem;font-weight:700;color:#48534b}
.expense-other-payment .expense-choice{display:flex;align-items:center;gap:.45rem;margin:.2rem 0;font-weight:600}
.expense-other-payment .expense-choice input{width:auto;min-height:0}
@media(max-width:820px){.expense-other-payment{grid-template-columns:1fr}}


/* v0.161.15 system error diagnostic context */
.error-context-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1rem;margin:.8rem 0 0}
.error-context-list>div{padding:.65rem .75rem;border:1px solid #e1e6e2;border-radius:10px;background:#f8faf8;min-width:0}
.error-context-list dt{font-size:.76rem;font-weight:700;color:#6a746d;text-transform:none}
.error-context-list dd{margin:.2rem 0 0;overflow-wrap:anywhere;color:#28322b}
@media(max-width:760px){.error-context-list{grid-template-columns:1fr}}

/* v0.161.18 · duidelijke uploadstatus bij onkosten */
.expense-submit-progress{grid-column:1/-1;display:flex;align-items:center;gap:.85rem;padding:.9rem 1rem;border:1px solid #d7e1d9;border-radius:12px;background:#f5f8f5;color:#344039;box-sizing:border-box}
.expense-submit-progress[hidden]{display:none!important}.expense-submit-progress strong{display:block;margin:0 0 .12rem;font-size:.95rem}.expense-submit-progress small{display:block;color:#69746d;line-height:1.4}.expense-submit-spinner{width:20px;height:20px;flex:0 0 20px;border:2.5px solid #ccd7cf;border-top-color:var(--accent,#58705f);border-radius:50%;animation:expense-submit-spin .75s linear infinite}
@keyframes expense-submit-spin{to{transform:rotate(360deg)}}
.expense-submit-grid.is-submitting>.form-actions .button.primary{cursor:wait;opacity:.82}.expense-submit-grid.is-submitting .expense-dropzone,.expense-submit-grid.is-submitting .expense-file-list,.expense-submit-grid.is-submitting label,.expense-submit-grid.is-submitting fieldset{pointer-events:none}.expense-submit-grid[aria-busy="true"]{cursor:wait}
@media(max-width:620px){.expense-submit-progress{align-items:flex-start;padding:.8rem .85rem}}

/* v0.161.19 · werknemer-selfservice onkosten: statussen, intrekken en paginering */
.my-expense-table .expense-self-status.pending{background:#fff4d8;border-color:#efd596;color:#76580d}
.my-expense-table .expense-self-status.approved{background:#eaf5ed;border-color:#c9dfcf;color:#356146}
.my-expense-table .expense-self-status.rejected{background:#fff0ee;border-color:#efc8c3;color:#8b3e36}
.my-expense-table .expense-self-status.withdrawn{background:#f0f1ef;border-color:#d9ddd9;color:#626a64}
.my-expense-table td>small{display:block;margin-top:4px;color:var(--muted);line-height:1.35}
.my-expense-toolbar,.my-expense-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;color:var(--muted);font-size:12px;font-weight:700}
.my-expense-toolbar form{margin:0}.my-expense-toolbar label{display:flex;align-items:center;gap:8px}.my-expense-toolbar select{min-height:34px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:5px 30px 5px 9px;font:inherit;color:var(--text)}
.my-expense-pagination{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.my-expense-page-summary{font-size:12px;color:var(--muted);font-weight:700}.my-expense-page-summary strong{color:var(--text)}
.my-expense-page-controls{display:flex;align-items:center;gap:7px}
.my-expense-page-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:7px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);font-size:13px;font-weight:750;text-decoration:none;box-shadow:0 1px 2px rgba(28,35,30,.04);transition:border-color .15s ease,background .15s ease,transform .15s ease}
.my-expense-page-link:hover{background:#f7f9f7;border-color:#cbd5cd;transform:translateY(-1px)}
.my-expense-page-link.is-disabled{opacity:.42;cursor:default;box-shadow:none}.my-expense-page-link.is-disabled:hover{background:#fff;border-color:var(--line);transform:none}
.my-expense-page-current{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border-radius:10px;background:var(--accent,#58705f);color:#fff;font-size:13px;font-weight:800;box-shadow:0 5px 14px rgba(46,67,53,.14)}
.expense-withdraw-modal[hidden]{display:none}.expense-withdraw-modal{position:fixed;inset:0;z-index:10040;display:grid;place-items:center;padding:20px}.expense-withdraw-backdrop{position:absolute;inset:0;background:rgba(28,35,30,.45);backdrop-filter:blur(2px)}.expense-withdraw-dialog{position:relative;width:min(560px,100%);background:#fff;border:1px solid #dde3dd;border-radius:20px;padding:26px;box-shadow:0 24px 70px rgba(25,35,28,.24)}.expense-withdraw-dialog h3{margin:0 42px 8px 0;font-size:24px}.expense-withdraw-dialog p{margin:0;color:var(--muted);line-height:1.55}.expense-withdraw-close{position:absolute;right:18px;top:15px;border:0;background:transparent;font-size:30px;line-height:1;color:#69716b;cursor:pointer}.expense-withdraw-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.modal-open{overflow:hidden}
@media(max-width:760px){.my-expense-toolbar,.my-expense-pagination{align-items:stretch;flex-direction:column}.my-expense-toolbar label{justify-content:space-between}.my-expense-page-controls{width:100%;display:grid;grid-template-columns:1fr auto 1fr}.my-expense-page-link{width:100%;box-sizing:border-box}.expense-withdraw-actions{flex-direction:column-reverse}.expense-withdraw-actions .button{width:100%}.expense-withdraw-dialog{padding:22px 18px}}

/* v0.161.31 · vorming: automatische duur, pauze en consistente medewerkerselector */
.training-form .training-check-row{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 2px}
.training-form .training-check-row input[type="checkbox"]{width:18px;height:18px;flex:0 0 auto}
.training-form input[readonly][data-training-duration]{background:#f6f7f6;color:#314038;cursor:default}
@media(max-width:720px){.training-form .training-pause-counts{grid-column:1/-1}}

/* v0.161.46 — Medewerkergegevens: volledige payrollsubnavigatie zichtbaar */
.employee-payroll-page .section-nav.section-nav-payroll{
  flex-wrap:wrap;
  overflow:visible;
  padding-bottom:7px;
  align-content:flex-start;
}
.employee-payroll-page .section-nav.section-nav-payroll .section-nav-item{
  flex:0 0 auto;
  padding:9px 12px;
  font-size:12px;
}
@media(max-width:900px){
  .employee-payroll-page .section-nav.section-nav-payroll{
    overflow-x:auto;
    flex-wrap:nowrap;
    scrollbar-gutter:stable;
    padding-bottom:9px;
  }
  .employee-payroll-page .section-nav.section-nav-payroll .section-nav-item{
    padding:9px 10px;
    font-size:11px;
  }
}

/* v0.161.59: voorkom dubbele wis-iconen bij zoekbare medewerkerselectors met eigen clear-knop */
.employee-payroll-combobox-input input[type="search"]::-webkit-search-cancel-button,
.workforce-employee-input-wrap input[type="search"]::-webkit-search-cancel-button{display:none;-webkit-appearance:none;}
.employee-payroll-combobox-input input[type="search"]::-ms-clear,
.workforce-employee-input-wrap input[type="search"]::-ms-clear{display:none;width:0;height:0;}

.employee-payroll-benefits-card{margin-top:16px}.employee-benefit-list{display:grid;gap:10px}.employee-benefit-item{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(150px,.7fr) auto;gap:16px;align-items:center;padding:14px 0;border-top:1px solid #edf0ed}.employee-benefit-item:first-child{border-top:0}.employee-benefit-main,.employee-benefit-value{display:flex;flex-direction:column;gap:3px;min-width:0}.employee-benefit-main strong,.employee-benefit-value strong{overflow-wrap:anywhere}.employee-benefit-main small,.employee-benefit-value small{color:var(--muted)}.employee-benefit-kind{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}@media(max-width:760px){.employee-benefit-item{grid-template-columns:1fr;gap:8px}.employee-benefit-item .status-chip{justify-self:start}}


/* v0.161.76 · Payrollinput: consistente veldhoogtes en rijen */
.payroll-input-create-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
.payroll-input-create-grid .payroll-input-primary-field{display:grid;grid-template-rows:auto 44px minmax(34px,auto);align-content:start;gap:7px}
.payroll-input-create-grid .payroll-input-primary-field>select,
.payroll-input-create-grid .payroll-input-primary-field>input{height:44px;min-height:44px}
.payroll-input-create-grid .payroll-input-help-slot{display:block;min-height:34px;margin:0;color:#7a827c;font-size:10px;font-weight:500;line-height:1.35}
.payroll-input-create-grid .payroll-input-secondary-field{align-self:start}
.payroll-input-create-grid .form-actions{grid-column:1/-1;min-height:0;margin-top:2px}
@media(max-width:1100px){.payroll-input-create-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.payroll-input-create-grid{grid-template-columns:1fr}.payroll-input-create-grid .payroll-input-primary-field{grid-template-rows:auto 44px auto}.payroll-input-create-grid .payroll-input-help-slot{min-height:0}}

/* Payrollinput · duidelijke acties voor inhoudingen en terugvorderingen */
.payroll-input-actions{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.payroll-input-actions form{margin:0}.payroll-input-cancel{position:relative}.payroll-input-cancel>summary{list-style:none;cursor:pointer;white-space:nowrap}.payroll-input-cancel>summary::-webkit-details-marker{display:none}.payroll-input-cancel>form{display:grid;gap:8px;min-width:260px;margin-top:8px;padding:10px;border:1px solid #e7eae7;border-radius:10px;background:#fafbfa}.payroll-input-cancel input{width:100%;min-height:38px;border:1px solid #d9dfda;border-radius:9px;padding:8px 10px;background:#fff;color:#20251f;font:inherit;font-size:11px}

/* v0.161.78 · Payrollinput: volwaardige annuleren-knop en uitgebreide filters */
.payroll-input-cancel>summary.payroll-input-cancel-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 15px;border-radius:11px;font-size:12px;font-weight:800;line-height:1.15;box-sizing:border-box}
.payroll-input-actions>.payroll-input-cancel{display:flex;align-items:flex-start}.payroll-input-actions>.payroll-input-cancel>summary{min-width:112px}
.payroll-input-filterbar{display:grid;grid-template-columns:minmax(190px,1.15fr) minmax(140px,.7fr) minmax(190px,1fr) minmax(210px,1.15fr) minmax(220px,1.3fr) auto;gap:12px;align-items:end;margin:16px 0 18px}
.payroll-input-filterbar label{display:grid;gap:6px;min-width:0}.payroll-input-filterbar label>span{font-size:11px;font-weight:750;color:#68716a}.payroll-input-filterbar select,.payroll-input-filterbar input{width:100%;min-height:42px;border:1px solid #d9dfda;border-radius:10px;padding:8px 10px;background:#fff;color:#20251f;font:inherit;box-sizing:border-box}
.payroll-input-filter-actions{display:flex;align-items:center;gap:8px;min-height:42px}.payroll-input-filter-actions .button,.payroll-input-filter-actions .secondary-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;white-space:nowrap}
@media(max-width:1320px){.payroll-input-filterbar{grid-template-columns:repeat(3,minmax(0,1fr))}.payroll-input-filter-actions{grid-column:1/-1}}
@media(max-width:820px){.payroll-input-filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-input-filter-search{grid-column:1/-1}}
@media(max-width:620px){.payroll-input-filterbar{grid-template-columns:1fr}.payroll-input-filter-search,.payroll-input-filter-actions{grid-column:auto}.payroll-input-filter-actions{align-items:stretch;flex-direction:column}.payroll-input-filter-actions .button,.payroll-input-filter-actions .secondary-button{width:100%}.payroll-input-actions{align-items:stretch;flex-direction:column}.payroll-input-actions form,.payroll-input-actions>.payroll-input-cancel,.payroll-input-actions>.payroll-input-cancel>summary{width:100%}.payroll-input-actions .button.primary.small{width:100%;min-height:44px}}

/* v0.161.79 · Payrollinput: fluid browser-responsive filter en tabel */
.payroll-input-filterbar{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  width:100%;
  max-width:100%;
  margin:16px 0 18px;
  box-sizing:border-box;
}
.payroll-input-filter-fields{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));
  gap:12px;
  align-items:end;
  width:100%;
  min-width:0;
}
.payroll-input-filter-fields label{display:grid;gap:6px;min-width:0;width:100%}
.payroll-input-filter-fields label>span{font-size:11px;font-weight:750;color:#68716a}
.payroll-input-filter-fields select,
.payroll-input-filter-fields input{width:100%;max-width:100%;min-width:0;min-height:42px;border:1px solid #d9dfda;border-radius:10px;padding:8px 10px;background:#fff;color:#20251f;font:inherit;box-sizing:border-box}
.payroll-input-filter-search{min-width:0}
.payroll-input-filter-actions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  min-width:0;
  width:100%;
}
.payroll-input-filter-actions .button,
.payroll-input-filter-actions .secondary-button{min-width:112px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;white-space:nowrap}

.payroll-input-table-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}
.payroll-input-table{width:100%;max-width:100%;table-layout:auto}
.payroll-input-table th,.payroll-input-table td{min-width:0;overflow-wrap:anywhere;word-break:normal}
.payroll-input-table td:last-child{min-width:190px}
.payroll-input-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:stretch;width:100%;min-width:170px;max-width:220px}
.payroll-input-actions form,.payroll-input-actions>.payroll-input-cancel{width:100%;margin:0}
.payroll-input-actions .button.primary.small,
.payroll-input-actions>.payroll-input-cancel>summary.payroll-input-cancel-button{width:100%;min-width:0;min-height:48px;padding:10px 14px;display:flex;align-items:center;justify-content:center;text-align:center;box-sizing:border-box}
.payroll-input-actions>.payroll-input-cancel{display:block}
.payroll-input-cancel>form{width:min(320px,calc(100vw - 48px));max-width:100%;box-sizing:border-box}

@media(min-width:1180px){
  .payroll-input-filter-fields{grid-template-columns:minmax(190px,1.15fr) minmax(140px,.75fr) minmax(180px,1fr) minmax(210px,1.15fr) minmax(250px,1.45fr)}
}
@media(max-width:760px){
  .payroll-input-filter-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .payroll-input-filter-actions .button,.payroll-input-filter-actions .secondary-button{width:100%;min-width:0}
}
@media(max-width:520px){
  .payroll-input-filter-fields{grid-template-columns:1fr}
  .payroll-input-filter-actions{grid-template-columns:1fr}
}

@media(max-width:900px){
  .payroll-input-table-wrap{overflow:visible}
  .payroll-input-table,.payroll-input-table tbody,.payroll-input-table tr,.payroll-input-table td{display:block;width:100%;box-sizing:border-box}
  .payroll-input-table thead{display:none}
  .payroll-input-table tbody{display:grid;gap:14px}
  .payroll-input-table tr{border:1px solid #e5e9e5;border-radius:14px;padding:10px 14px;background:#fff}
  .payroll-input-table td{display:grid;grid-template-columns:minmax(105px,.38fr) minmax(0,1fr);gap:12px;padding:9px 0!important;border:0!important;min-width:0!important}
  .payroll-input-table td+td{border-top:1px solid #eef1ee!important}
  .payroll-input-table td::before{content:attr(data-label);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#707871;align-self:start}
  .payroll-input-table td[colspan]{display:block}
  .payroll-input-table td[colspan]::before{content:none}
  .payroll-input-table td:last-child{min-width:0}
  .payroll-input-actions{max-width:none;min-width:0;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
  .payroll-input-cancel>form{width:100%;max-width:none}
}
@media(max-width:560px){
  .payroll-input-table td{grid-template-columns:1fr;gap:5px}
  .payroll-input-actions{grid-template-columns:1fr}
}

/* v0.161.82 — viewport-modal + volledig responsieve payrollcontrolelijst */
.payroll-control-list{container-type:inline-size;overflow:visible}
.payroll-lines-wrap{max-width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}
.payroll-lines-table{width:100%;min-width:0!important;table-layout:fixed}
.payroll-lines-table th,.payroll-lines-table td{min-width:0;overflow-wrap:anywhere;word-break:normal}
.payroll-lines-table th:nth-child(1),.payroll-lines-table td:nth-child(1){width:42px}
.payroll-lines-table th:nth-child(2),.payroll-lines-table td:nth-child(2){width:17%}
.payroll-lines-table th:nth-child(3),.payroll-lines-table td:nth-child(3){width:9%}
.payroll-lines-table th:nth-child(4),.payroll-lines-table td:nth-child(4){width:15%}
.payroll-lines-table th:nth-child(5),.payroll-lines-table td:nth-child(5){width:18%}
.payroll-lines-table th:nth-child(6),.payroll-lines-table td:nth-child(6){width:9%}
.payroll-lines-table th:nth-child(7),.payroll-lines-table td:nth-child(7){width:11%}
.payroll-lines-table th:nth-child(8),.payroll-lines-table td:nth-child(8){width:13%}
.payroll-lines-table th:nth-child(9),.payroll-lines-table td:nth-child(9){width:92px!important;min-width:92px!important}
.payroll-line-manage-toggle{max-width:100%}
.payroll-global-modal-layer[hidden]{display:none!important}
.payroll-global-modal-layer{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;box-sizing:border-box;padding:clamp(12px,2.4vw,32px);background:rgba(24,32,27,.48);backdrop-filter:blur(2px);overflow:auto;overscroll-behavior:contain}
.payroll-global-modal-layer .payroll-line-action-panel{position:relative!important;inset:auto!important;transform:none!important;width:min(920px,calc(100vw - 32px))!important;max-width:920px!important;height:auto!important;max-height:calc(100dvh - 32px)!important;margin:auto!important;overflow:auto!important;box-sizing:border-box!important;border:1px solid #dce4de!important;border-radius:18px!important;background:#fff!important;box-shadow:0 28px 70px rgba(20,30,23,.25)!important;isolation:isolate}
body.payroll-modal-open{overflow:hidden!important}
body.payroll-modal-open .payroll-line-action-row{display:none!important}
.payroll-global-modal-layer .payroll-line-action-heading{position:sticky;top:0;z-index:4}
@container (max-width: 1080px){
  .payroll-lines-table thead{display:none}
  .payroll-lines-table,.payroll-lines-table tbody{display:block;width:100%}
  .payroll-lines-table tbody>tr:not(.payroll-line-action-row){display:grid;grid-template-columns:minmax(0,1.15fr) minmax(110px,.65fr);gap:0 18px;width:100%;box-sizing:border-box;margin:0 0 12px;padding:14px 16px;border:1px solid #e3e8e4;border-radius:14px;background:#fff}
  .payroll-lines-table tbody>tr.payroll-line-warning{background:#fffdf7}
  .payroll-lines-table tbody>tr.payroll-line-excluded{opacity:.78}
  .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td{display:grid;grid-template-columns:118px minmax(0,1fr);gap:10px;align-items:start;width:auto!important;min-width:0!important;padding:7px 0!important;border:0!important}
  .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td::before{content:attr(data-label);color:#7a827c;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
  .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td.payroll-line-select-col{grid-column:1/-1;grid-template-columns:118px minmax(0,1fr)}
  .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td[data-label="Medewerker"],
  .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td[data-label="Component"],
  .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td[data-label="Bron"],
  .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td[data-label="Controle"]{grid-column:1/2}
  .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td[data-label="Datum"],
  .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td[data-label="Waarde"],
  .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td[data-label="Externe code"],
  .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td[data-label="Acties"]{grid-column:2/3}
  .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td[data-label="Acties"]{align-self:end}
  .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td[data-label="Acties"] .payroll-line-manage-toggle{width:100%;justify-content:center;min-height:40px}
}
@container (max-width: 720px){
  .payroll-lines-table tbody>tr:not(.payroll-line-action-row){grid-template-columns:1fr;padding:13px 14px}
  .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td,
  .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td.payroll-line-select-col{grid-column:1!important;grid-template-columns:96px minmax(0,1fr)}
}
@media(max-width:760px){
  .payroll-global-modal-layer{padding:0;place-items:stretch}
  .payroll-global-modal-layer .payroll-line-action-panel{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border:0!important;border-radius:0!important}
  .payroll-global-modal-layer .payroll-line-action-heading{border-radius:0!important}
}

/* v0.161.83 — Payrollinput annuleren als responsieve viewport-modal */
.payroll-input-cancel-button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;box-sizing:border-box}
.payroll-input-cancel-modal[hidden]{display:none!important}
.payroll-input-cancel-modal{position:fixed;inset:0;z-index:100100;display:grid;place-items:center;padding:clamp(12px,2.5vw,30px);box-sizing:border-box;overflow:auto;overscroll-behavior:contain}
.payroll-input-cancel-backdrop{position:absolute;inset:0;background:rgba(24,32,27,.48);backdrop-filter:blur(2px)}
.payroll-input-cancel-dialog{position:relative;width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 32px);display:flex;flex-direction:column;background:#fff;border:1px solid #dce4de;border-radius:20px;box-shadow:0 28px 70px rgba(20,30,23,.25);overflow:hidden;color:#26342b}
.payroll-input-cancel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 26px 18px;border-bottom:1px solid #e5eae6;background:#fff}
.payroll-input-cancel-head .eyebrow{display:block;margin-bottom:5px;color:#778078;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.payroll-input-cancel-head h2{margin:0;font-size:24px;line-height:1.2}
.payroll-input-cancel-close{flex:0 0 auto}
.payroll-input-cancel-body{padding:22px 26px 26px;overflow:auto}
.payroll-input-cancel-body>p{margin:0 0 18px;color:#667168;line-height:1.55}
.payroll-input-cancel-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}
.payroll-input-cancel-summary>div{display:grid;gap:4px;padding:13px 14px;border:1px solid #e3e8e4;border-radius:12px;background:#fafbfa;min-width:0}
.payroll-input-cancel-summary span{font-size:11px;font-weight:750;color:#747d76}
.payroll-input-cancel-summary strong{font-size:14px;line-height:1.35;overflow-wrap:anywhere}
#payroll-input-cancel-form{display:grid;gap:16px}
#payroll-input-cancel-form label{display:grid;gap:7px}
#payroll-input-cancel-form label>span{font-size:12px;font-weight:800;color:#5f6b62}
#payroll-input-cancel-form textarea{width:100%;box-sizing:border-box;resize:vertical;border:1px solid #d7ded8;border-radius:12px;padding:12px 13px;background:#fff;color:#26342b;font:inherit;line-height:1.45}
#payroll-input-cancel-form small{color:#7b847d;font-size:11px}
.payroll-input-cancel-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:2px}
.payroll-input-cancel-modal-actions .secondary-button,.payroll-input-cancel-modal-actions .danger-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;box-sizing:border-box}
body.payroll-input-modal-open{overflow:hidden!important}
@media(max-width:620px){.payroll-input-cancel-modal{padding:0;place-items:stretch}.payroll-input-cancel-dialog{width:100vw;max-width:none;height:100dvh;max-height:100dvh;border:0;border-radius:0}.payroll-input-cancel-head{padding:18px 16px 14px}.payroll-input-cancel-body{padding:18px 16px 22px}.payroll-input-cancel-summary{grid-template-columns:1fr}.payroll-input-cancel-modal-actions{flex-direction:column-reverse}.payroll-input-cancel-modal-actions .secondary-button,.payroll-input-cancel-modal-actions .danger-button{width:100%}}


/* v0.161.87 — Provider-mapping: velden per rij exact uitlijnen */
.provider-mapping-form{align-items:start}
.provider-mapping-form>label{align-content:start;min-width:0}
.provider-mapping-form>label:nth-of-type(-n+4){display:grid;grid-template-rows:minmax(22px,auto) 46px minmax(34px,auto);gap:7px}
.provider-mapping-form>label:nth-of-type(-n+4)>span{align-self:end;min-height:22px}
.provider-mapping-form>label:nth-of-type(-n+4)>input,
.provider-mapping-form>label:nth-of-type(-n+4)>select,
.provider-mapping-form>label:nth-of-type(-n+4)>.flex-combobox{height:46px;min-height:46px;align-self:start}
.provider-mapping-form>label:nth-of-type(-n+4)>.flex-combobox .flex-combobox-button{height:46px;min-height:46px}
.provider-mapping-form>label:nth-of-type(-n+4)>.field-help{min-height:34px;margin:0;align-self:start}
.provider-mapping-form>label:nth-of-type(2)::after,
.provider-mapping-form>label:nth-of-type(3)::after,
.provider-mapping-form>label:nth-of-type(4)::after{content:"";display:block;min-height:34px}
.provider-mapping-form>label:nth-of-type(n+5){display:grid;grid-template-rows:minmax(22px,auto) 46px;gap:7px;align-content:start}
.provider-mapping-form>label:nth-of-type(n+5)>span{align-self:end;min-height:22px}
.provider-mapping-form>label:nth-of-type(n+5)>input,
.provider-mapping-form>label:nth-of-type(n+5)>select{height:46px;min-height:46px}
.provider-mapping-form>.form-actions{align-self:start;padding-top:29px}
@media(max-width:900px){.provider-mapping-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.provider-mapping-form{grid-template-columns:1fr}.provider-mapping-form>label:nth-of-type(-n+4){grid-template-rows:minmax(22px,auto) 46px auto}.provider-mapping-form>label:nth-of-type(2)::after,.provider-mapping-form>label:nth-of-type(3)::after,.provider-mapping-form>label:nth-of-type(4)::after{display:none}.provider-mapping-form>label:nth-of-type(-n+4)>.field-help{min-height:0}.provider-mapping-form>.form-actions{padding-top:0}}

/* Payroll component categories & provider mapping management */
.mapping-management-panel{display:grid;gap:18px;padding:8px 0}
.mapping-secondary-actions{display:grid;gap:12px;padding-top:4px;border-top:1px solid var(--border-color,#e4e8e5)}
.mapping-stop-form,.mapping-delete-form,.inline-danger-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.mapping-stop-form label,.mapping-delete-form label,.inline-danger-form label{min-width:min(260px,100%);flex:1 1 240px}
.mapping-stop-form .button,.mapping-delete-form .button,.inline-danger-form .button{flex:0 0 auto}
.mapping-edit-row>td,.component-edit-row>td{background:color-mix(in srgb,var(--surface,#fff) 96%,var(--accent,#789) 4%)}
@media(max-width:720px){.mapping-stop-form,.mapping-delete-form,.inline-danger-form{align-items:stretch;flex-direction:column}.mapping-stop-form label,.mapping-delete-form label,.inline-danger-form label{width:100%;min-width:0}.mapping-stop-form .button,.mapping-delete-form .button,.inline-danger-form .button{width:100%}}

/* v0.161.91 — Payrollcomponentencatalogus: duidelijke actiekaarten en filterhiërarchie */
#payroll-component-section .settings-card-head{margin-bottom:18px}
.payroll-catalog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 18px}
.payroll-catalog-action-card{margin:0;border:1px solid #dde4df;border-radius:14px;background:#fbfcfb;overflow:hidden;box-shadow:0 1px 0 rgba(32,49,38,.03)}
.payroll-catalog-action-card>summary{min-height:84px;padding:16px 17px;box-sizing:border-box;align-items:center!important}
.payroll-catalog-action-card>summary>div{display:grid;gap:5px;min-width:0}
.payroll-catalog-action-card>summary strong{font-size:15px;line-height:1.3;color:#29382f}
.payroll-catalog-action-card>summary>div>span{font-size:12px;line-height:1.45;color:#737d76}
.payroll-catalog-action-card>summary>span:last-child{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:38px;padding:8px 14px;border:1px solid #d4ddd6;border-radius:10px;background:#fff;color:#506259;font-size:12px;font-weight:800;white-space:nowrap}
.payroll-catalog-action-card[open]>summary{background:#f6f9f7;border-bottom:1px solid #e2e8e3}
.payroll-catalog-action-card[open]>summary>span:last-child::before{content:"Sluiten";font-size:12px}
.payroll-catalog-action-card[open]>summary>span:last-child{font-size:0}
.payroll-catalog-action-card>.payroll-config-body{margin:0;padding:18px;border-top:0;background:#fff}
.payroll-catalog-filter-panel{margin:0 0 18px;padding:16px 17px 17px;border:1px solid #e1e6e2;border-radius:14px;background:#fff}
.payroll-catalog-filter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}
.payroll-catalog-filter-head>div{display:grid;gap:3px}
.payroll-catalog-filter-head strong{font-size:14px;color:#2d3b32}
.payroll-catalog-filter-head span{font-size:11.5px;line-height:1.45;color:#7b847e}
.payroll-catalog-filters{grid-template-columns:minmax(220px,1.35fr) minmax(180px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end;margin:0}
.payroll-catalog-filters .form-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;margin:0}
.payroll-catalog-filters .form-actions .button{min-height:44px;white-space:nowrap}
.payroll-catalog-table{margin-top:0}
@media(max-width:1050px){.payroll-catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-catalog-filters .form-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:760px){.payroll-catalog-actions{grid-template-columns:1fr}.payroll-catalog-action-card>summary{min-height:0}.payroll-catalog-filters{grid-template-columns:1fr}.payroll-catalog-filters .form-actions{grid-column:auto}.payroll-catalog-filter-panel{padding:14px}.payroll-catalog-action-card>summary{padding:14px}.payroll-catalog-action-card>.payroll-config-body{padding:14px}}
@media(max-width:520px){.payroll-catalog-action-card>summary{align-items:flex-start!important;flex-direction:column!important}.payroll-catalog-action-card>summary>span:last-child{width:100%;box-sizing:border-box}.payroll-catalog-filters .form-actions{flex-direction:column;align-items:stretch}.payroll-catalog-filters .form-actions .button{width:100%;justify-content:center}}


/* v0.161.93 — Payrollcategoriebeheer responsive + provider-mapping spacing */
.payroll-catalog-action-card[open]{grid-column:1/-1}
#component-category-manager .settings-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
#component-category-manager .settings-table{min-width:720px}
#component-category-manager .category-row>td:last-child,#component-category-manager .settings-table thead th:last-child{position:sticky;right:0;z-index:2;background:#fff;box-shadow:-10px 0 14px -14px rgba(32,49,38,.45)}
#component-category-manager .settings-table thead th:last-child{z-index:3;background:#fbfcfb}
#component-category-manager .category-row:hover>td:last-child{background:#fbfcfb}
#component-category-manager .category-edit-row>td{position:static!important;background:#f8faf8}
.payroll-mapping-template{margin:20px 0 18px}
.payroll-mapping-template>summary{padding:14px 16px;gap:18px;align-items:center!important}
.payroll-mapping-template>summary>div{display:grid;gap:4px;min-width:0}
.payroll-mapping-template>summary strong{display:block;line-height:1.3}
.payroll-mapping-template>summary>div>span{display:block;line-height:1.45;color:var(--muted,#718096)}
@media(max-width:760px){#component-category-manager .settings-table{min-width:650px}.payroll-mapping-template>summary{align-items:flex-start!important;flex-direction:column!important;gap:10px}}


/* v0.161.95 — Provider-mapping beheeracties compacter en duidelijker */
.mapping-management-panel{gap:22px;padding:12px 0 4px}
.mapping-secondary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:18px;border-top:1px solid var(--border-color,#e4e8e5)}
.mapping-action-card{display:grid;gap:14px;padding:16px;border:1px solid #dde4df;border-radius:14px;background:#fff;min-width:0}
.mapping-action-card-danger{background:#fffdfd;border-color:#eadfdf}
.mapping-action-card-muted{background:#f8faf8}
.mapping-action-head>div{display:grid;gap:4px}
.mapping-action-head strong{font-size:14px;line-height:1.35;color:#2d3b32}
.mapping-action-head span{font-size:12px;line-height:1.5;color:#747f78}
.mapping-stop-form,.mapping-delete-form{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(240px,1.4fr) auto;gap:12px;align-items:end}
.mapping-delete-form{grid-template-columns:minmax(240px,1fr) auto}
.mapping-stop-form label,.mapping-delete-form label{min-width:0;flex:none}
.mapping-stop-form label>span,.mapping-delete-form label>span{display:block;margin-bottom:7px;font-weight:700}
.mapping-action-button{display:flex;align-items:flex-end}
.mapping-action-button .button{min-height:46px;white-space:nowrap}
@media(max-width:980px){
  .mapping-secondary-actions{grid-template-columns:1fr}
}
@media(max-width:720px){
  .mapping-stop-form,.mapping-delete-form{grid-template-columns:1fr}
  .mapping-action-button,.mapping-action-button .button{width:100%}
  .mapping-action-button .button{justify-content:center}
  .mapping-action-card{padding:14px}
}


/* v0.161.96 — Provider-mapping stopzetten/verwijderen zonder redenveld */
.mapping-stop-form{grid-template-columns:minmax(220px,360px);align-items:start}
.mapping-delete-form{grid-template-columns:1fr;align-items:start}
.mapping-stop-form .mapping-action-button,
.mapping-delete-form .mapping-action-button{margin-top:2px;justify-content:flex-start}
.mapping-stop-form .mapping-action-button .button,
.mapping-delete-form .mapping-action-button .button{min-width:150px}
.mapping-action-card{align-content:start}
@media(max-width:720px){
  .mapping-stop-form,.mapping-delete-form{grid-template-columns:1fr}
  .mapping-stop-form .mapping-action-button .button,
  .mapping-delete-form .mapping-action-button .button{width:100%;min-width:0}
}

/* v0.161.98 — Provider-sjabloon TEST/QA: duidelijke compacte workflow */
.payroll-mapping-template{border:1px solid #dde4df;border-radius:16px;background:#fff;overflow:hidden}
.payroll-mapping-template>summary{padding:18px 20px;background:#fbfcfb}
.payroll-mapping-template>summary>div{display:grid;gap:5px}
.payroll-mapping-template>summary>div>strong{font-size:16px;color:#27352c}
.payroll-mapping-template>summary>div>span{font-size:12px;line-height:1.45;color:var(--muted,#747f78)}
.payroll-template-toggle{display:inline-flex!important;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border:1px solid #d9dfda;border-radius:11px;background:#fff;color:#33453a!important;font-size:12px!important;font-weight:800;white-space:nowrap}
.payroll-template-toggle .toggle-close{display:none}
.payroll-mapping-template[open] .payroll-template-toggle .toggle-open{display:none}
.payroll-mapping-template[open] .payroll-template-toggle .toggle-close{display:inline}
.payroll-mapping-template>.payroll-config-body{margin:0;padding:20px;border-top:1px solid #e7ebe8}
.payroll-template-intro{display:flex;align-items:baseline;gap:12px;padding:12px 14px;border:1px solid #ead69b;border-radius:12px;background:#fffaf0;color:#735e27}
.payroll-template-intro strong{font-size:12px;white-space:nowrap}
.payroll-template-intro span{font-size:12px;line-height:1.45}
.payroll-template-controls{display:grid;grid-template-columns:minmax(240px,420px) auto;gap:12px;align-items:end;margin-top:16px}
.payroll-template-controls label,.payroll-template-apply label{display:grid;gap:7px;font-weight:700;color:#344039}
.payroll-template-controls select,.payroll-template-apply input{width:100%;box-sizing:border-box}
.payroll-template-control-action{display:flex;align-items:flex-end}
.payroll-template-control-action .button{min-height:46px;white-space:nowrap}
.payroll-template-preview{margin-top:20px;padding-top:18px;border-top:1px solid #e7ebe8}
.payroll-template-preview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:12px}
.payroll-template-preview-head>div:first-child{display:grid;gap:4px}
.payroll-template-preview-head>div:first-child>strong{font-size:15px;color:#27352c}
.payroll-template-preview-head>div:first-child>span{font-size:12px;color:var(--muted,#747f78)}
.payroll-template-stats{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.payroll-template-stats>span{display:inline-flex;gap:5px;align-items:center;padding:7px 10px;border-radius:999px;background:#f2f5f2;color:#5f6c64;font-size:11px;font-weight:700;white-space:nowrap}
.payroll-template-stats>span>strong{color:#33453a;font-size:12px}
.payroll-template-preview .settings-table-wrap{margin-top:0}
.payroll-template-apply{display:grid;grid-template-columns:minmax(180px,280px) minmax(260px,1fr) auto;gap:12px;align-items:end;margin-top:16px;padding-top:16px;border-top:1px solid #e7ebe8}
.payroll-template-apply-action{display:flex;align-items:flex-end}
.payroll-template-apply-action .button{min-height:46px;white-space:nowrap}
@media(max-width:900px){
  .payroll-template-preview-head{flex-direction:column}
  .payroll-template-stats{justify-content:flex-start}
  .payroll-template-apply{grid-template-columns:1fr 1fr}
  .payroll-template-apply-action{grid-column:1/-1}
}
@media(max-width:680px){
  .payroll-mapping-template>summary{align-items:flex-start!important;flex-direction:column!important}
  .payroll-template-toggle{width:100%;box-sizing:border-box}
  .payroll-mapping-template>.payroll-config-body{padding:14px}
  .payroll-template-intro{display:grid;gap:4px}
  .payroll-template-controls,.payroll-template-apply{grid-template-columns:1fr}
  .payroll-template-control-action,.payroll-template-control-action .button,.payroll-template-apply-action,.payroll-template-apply-action .button{width:100%}
  .payroll-template-control-action .button,.payroll-template-apply-action .button{justify-content:center}
  .payroll-template-apply-action{grid-column:auto}
}

/* v0.162.10 · bijzondere prestaties: responsieve correcties + beheer permanentietarieven */
.special-rate-list{display:grid;gap:18px}.special-rate-card{padding:20px;scroll-margin-top:104px}.special-rate-card>.settings-card-head{margin-bottom:14px}.special-rate-history{margin-bottom:16px}.special-rate-table{min-width:860px}.special-rate-table th:last-child,.special-rate-table td:last-child{min-width:220px}.special-rate-actions{display:flex;gap:8px;align-items:center;justify-content:flex-start;flex-wrap:wrap}.special-rate-edit-row[hidden]{display:none}.special-rate-edit-row>td{padding:0!important;background:#fafcfb}.special-rate-edit-panel{padding:18px;border-top:1px solid #e2e7e3;border-bottom:1px solid #e2e7e3}.special-rate-edit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.special-rate-edit-head strong{font-size:16px}.special-rate-edit-head p{margin:4px 0 0;color:#6c756f}.special-rate-edit-form{display:grid;position:static;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0;border:0;background:transparent;box-shadow:none}.special-rate-edit-form>.form-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.special-rate-create-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;padding-top:14px;border-top:1px solid #edf0ed}.special-rate-create-form .special-rate-guidance{grid-column:1/-1;margin:0}.special-rate-create-form>.form-actions{grid-column:1/-1}.special-rate-delete-modal[hidden]{display:none}.special-rate-delete-modal{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:20px}.special-rate-delete-backdrop{position:absolute;inset:0;background:rgba(22,30,25,.48);backdrop-filter:blur(2px)}.special-rate-delete-dialog{position:relative;width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #dce3dd;border-radius:20px;background:#fff;padding:26px;box-shadow:0 26px 72px rgba(20,31,23,.24)}.special-rate-delete-dialog h3{margin:0;font-size:24px}.special-rate-delete-dialog p{margin:10px 0 0;color:#69736c;line-height:1.55}.special-rate-delete-label{display:block;margin-top:16px;padding:13px 15px;border:1px solid #e3e8e4;border-radius:12px;background:#f8faf8}.special-rate-delete-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.special-rate-modal-open{overflow:hidden}
.special-correction-details{position:relative}.special-correction-details[open]{width:auto!important;max-width:none!important}.special-correction-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:75;width:min(720px,calc(100vw - 380px));max-height:calc(100dvh - 140px);overflow:auto;background:#fff;border:1px solid #dfe5e0;border-radius:14px;box-shadow:0 18px 46px rgba(23,36,27,.17)}.special-correction-panel .notice{max-width:100%;box-sizing:border-box}.special-correction-form{grid-template-columns:minmax(170px,220px) minmax(0,1fr)!important}.special-correction-form input,.special-correction-form textarea{max-width:100%;box-sizing:border-box}
@media(max-width:1180px){.special-rate-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.special-rate-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))}.special-correction-panel{position:fixed;left:50%;right:auto;top:50%;transform:translate(-50%,-50%);width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 32px)}}
@media(max-width:700px){.special-rate-card{padding:16px}.special-rate-create-form,.special-rate-edit-form{grid-template-columns:1fr}.special-rate-create-form .special-rate-guidance,.special-rate-create-form>.form-actions,.special-rate-edit-form>.form-actions{grid-column:1}.special-rate-edit-panel{padding:14px}.special-rate-create-form .button,.special-rate-edit-form .button{width:100%}.special-rate-edit-form>.form-actions,.special-rate-delete-actions{flex-direction:column}.special-rate-delete-actions .button{width:100%}.special-rate-delete-dialog{width:calc(100vw - 24px);padding:20px}.special-correction-panel{left:8px;right:8px;top:8px;bottom:8px;transform:none;width:auto;max-height:none;border-radius:16px}.special-correction-form{grid-template-columns:1fr!important}.special-correction-form>.form-actions .button{width:100%}}

/* v0.162.13 · globale mobiele shell & responsive hardening */
.mobile-sidebar-trigger,.mobile-sidebar-backdrop{display:none}
html,body{max-width:100%;}
.app-shell,.content,.content>*{min-width:0}
.content img,.content video,.content iframe{max-width:100%;height:auto}
.content input,.content select,.content textarea,.content button{max-width:100%;min-width:0}

@media(max-width:980px){
  html.mobile-sidebar-lock,body.mobile-sidebar-lock{overflow:hidden;overscroll-behavior:none}
  body{overflow-x:hidden}
  .app-shell{display:block;min-height:100dvh;width:100%;max-width:100%;overflow-x:clip}
  .content{width:100%;max-width:none;margin:0;padding:76px 16px 34px;overflow-x:clip}
  .content>*{max-width:100%}

  .mobile-sidebar-trigger{
    position:fixed;display:inline-flex;align-items:center;justify-content:center;gap:8px;
    top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));z-index:10020;
    min-height:44px;padding:0 14px;border:1px solid #dce2dd;border-radius:12px;background:rgba(255,255,255,.97);
    box-shadow:0 7px 24px rgba(22,32,25,.12);color:#26352c;font:inherit;font-size:13px;font-weight:800;cursor:pointer;
    backdrop-filter:blur(8px)
  }
  .mobile-sidebar-trigger svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
  .mobile-sidebar-backdrop[hidden]{display:none!important}
  .mobile-sidebar-backdrop{position:fixed;display:block;inset:0;z-index:10000;background:rgba(20,28,23,.42);backdrop-filter:blur(2px)}

  .sidebar{
    position:fixed!important;inset:0 auto 0 0!important;z-index:10010;width:min(88vw,350px);max-width:calc(100vw - 28px);height:100dvh!important;
    padding:18px 14px calc(20px + env(safe-area-inset-bottom));overflow-y:auto!important;overflow-x:hidden!important;
    transform:translateX(calc(-100% - 16px));transition:transform .22s ease;box-shadow:0 24px 70px rgba(18,28,21,.22);overscroll-behavior:contain
  }
  .app-shell.mobile-sidebar-open .sidebar{transform:translateX(0)}
  .app-shell.mobile-sidebar-open .mobile-sidebar-trigger{opacity:0;pointer-events:none}
  .sidebar-toggle{display:grid!important;position:absolute;top:16px;right:14px;width:38px;height:38px;place-items:center;border-radius:10px;background:#f6f8f6}
  .sidebar-toggle svg{transform:rotate(0deg)!important}
  .brand-row{padding-right:46px}
  .brand-name{font-size:15px}
  .organisation-chip{margin-top:2px}
  .nav{overflow:visible!important;padding:2px 0 0}
  .nav-item{min-height:44px;display:flex;align-items:center;gap:10px;font-size:14px;padding:10px 12px}
  .sidebar-footer{margin-top:18px}
  .logout-button{min-height:40px;margin-left:48px}

  .sidebar .context-switcher{
    position:static!important;inset:auto!important;width:100%;max-width:100%!important;margin:10px 0 14px!important;padding:12px!important;
    display:grid!important;grid-template-columns:1fr;gap:9px;border-radius:12px;box-shadow:none;background:#f7f9f7
  }
  .sidebar .context-switcher-label{display:block}
  .sidebar .context-switcher form{display:grid!important;grid-template-columns:1fr!important;gap:8px;width:100%;justify-content:stretch!important}
  .sidebar .context-switcher select,.sidebar .context-switcher select[name="organisation_id"],.sidebar .context-switcher select[name="mode"],
  .sidebar .context-switcher select[name="employee_user_id"],.sidebar .context-switcher select[name="manager_user_id"],.sidebar .context-switcher select[name="administrator_user_id"]{
    width:100%!important;max-width:none!important;min-width:0!important;min-height:42px;flex:none!important
  }
  .sidebar .context-switch-button{width:100%;min-height:42px}
  .sidebar .context-mode-note{position:static!important;width:100%;margin:2px 0 0!important;text-align:left!important;overflow-wrap:anywhere}

  .page-header,.settings-page-header{min-height:0!important;padding:22px 20px!important;align-items:flex-start!important;flex-direction:column!important;gap:12px!important;border-radius:22px}
  .page-header>*,.settings-page-header>*{max-width:100%;min-width:0}
  h1{font-size:clamp(28px,7vw,38px);overflow-wrap:anywhere}
  h2{overflow-wrap:anywhere}
  .muted,.page-header p,.settings-page-header p{overflow-wrap:anywhere}

  .metric-grid,.two-column{grid-template-columns:1fr!important}
  .card,.panel,.settings-card,.settings-panel,.settings-section{max-width:100%;min-width:0}
  .form-actions,.settings-actions,.toolbar,.page-actions{max-width:100%;flex-wrap:wrap}
  .button,.primary-button,.secondary-button,.danger-button,.compact-button{max-width:100%;white-space:normal;text-align:center}

  .section-nav{max-width:100%;min-width:0;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
  .section-nav-work-time{overflow:hidden}
  .section-nav-groups,.section-nav-subitems{max-width:100%;overflow-x:auto;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .section-nav-group-link,.section-nav-subitems .section-nav-item{flex:0 0 auto!important;width:auto!important;white-space:nowrap!important}

  .content :is(.table-wrap,.settings-table-wrap,.data-table-wrap,.responsive-table-wrap,.payroll-table-wrap,.report-table-wrap){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

@media(max-width:700px){
  .content{padding:70px 12px 28px}
  .mobile-sidebar-trigger{left:10px;top:max(10px,env(safe-area-inset-top));min-height:42px;padding:0 12px}
  .page-header,.settings-page-header{padding:20px 18px!important;border-radius:20px}
  .eyebrow{font-size:10px}
  h1{font-size:clamp(26px,8vw,34px);line-height:1.08}

  .section-nav:not(.section-nav-work-time){display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;padding:6px!important}
  .section-nav:not(.section-nav-work-time) .section-nav-item{flex:0 0 auto!important}
  .section-nav-groups,.section-nav-subitems{padding:6px}
  .section-nav-group-link,.section-nav-item{min-height:40px;padding:9px 11px!important;font-size:11px!important}

  .content form{max-width:100%}
  .content :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){width:100%;max-width:100%;min-width:0}
  .content :is(.form-grid,.settings-form-grid,.compact-grid,.filter-grid,.filters-grid,.settings-grid){max-width:100%}
  .content :is(.form-actions,.settings-actions){align-items:stretch}
  .content :is(.form-actions,.settings-actions)>.button,
  .content :is(.form-actions,.settings-actions)>button,
  .content :is(.form-actions,.settings-actions)>a.button{max-width:100%}

  /* Een brede tabel blijft bruikbaar via lokale horizontale scroll en duwt nooit de hele pagina open. */
  .content table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .content table thead,.content table tbody,.content table tfoot{min-width:max-content}

  .mini-row,.panel-heading,.settings-card-head,.section-heading,.page-toolbar{min-width:0;max-width:100%;flex-wrap:wrap}
  .auth-body,.auth-body-split{padding:16px 12px}
  .auth-card{padding:24px 18px}
}

@media(max-width:430px){
  .content{padding-left:10px;padding-right:10px}
  .sidebar{width:min(92vw,340px);max-width:calc(100vw - 18px)}
  .page-header,.settings-page-header{padding:18px 16px!important}
  .card{border-radius:18px}
  .section-nav{margin-left:0!important;margin-right:0!important}
  .button,.primary-button,.secondary-button,.danger-button{min-height:42px}
}

/* v0.162.14 · mobiele shell polish: echte topbar en stabiele sidebar-footer */
.mobile-topbar{display:none}
@media(max-width:980px){
  :root{--mobile-shell-topbar:68px}
  .mobile-topbar{
    position:fixed;display:flex;align-items:center;gap:12px;
    top:0;left:0;right:0;z-index:9990;
    min-height:calc(var(--mobile-shell-topbar) + env(safe-area-inset-top));
    padding:max(10px,env(safe-area-inset-top)) 14px 10px;
    border-bottom:1px solid #e7ebe7;background:rgba(255,255,255,.97);
    box-shadow:0 5px 20px rgba(22,32,25,.07);backdrop-filter:blur(12px)
  }
  .mobile-topbar-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:800;color:#26352c}
  .mobile-sidebar-trigger{
    position:static!important;inset:auto!important;z-index:auto!important;flex:0 0 auto;
    min-height:44px;padding:0 13px!important;border:1px solid #dce2dd;border-radius:12px;
    background:#fff;box-shadow:none!important;backdrop-filter:none!important
  }
  .app-shell.mobile-sidebar-open .mobile-topbar{pointer-events:none}
  .app-shell.mobile-sidebar-open .mobile-sidebar-trigger{opacity:1!important;pointer-events:none}
  .content{padding-top:calc(var(--mobile-shell-topbar) + env(safe-area-inset-top) + 18px)!important}

  .sidebar{
    display:flex!important;flex-direction:column!important;
    padding-top:max(18px,env(safe-area-inset-top))!important;
    overflow:hidden!important
  }
  .sidebar .brand-row{order:1;flex:0 0 auto}
  .sidebar .organisation-chip{order:2;flex:0 0 auto}
  .sidebar .nav{
    order:3;flex:1 1 auto;min-height:120px;overflow-y:auto!important;overflow-x:hidden!important;
    margin:2px 0 10px;padding:2px 2px 8px 0!important;overscroll-behavior:contain
  }
  .sidebar .context-switcher{
    order:4;flex:0 0 auto;margin:0 0 10px!important;border:1px solid #e2e6e2!important;
    max-height:42dvh;overflow:auto!important
  }
  .sidebar .sidebar-footer{
    order:5;position:static!important;flex:0 0 auto;margin:0!important;padding:10px 4px 0!important;
    border-top:1px solid #ecefec;background:#fff
  }
  .sidebar .logout-form{order:6;position:static!important;flex:0 0 auto;margin:6px 0 0!important}
  .sidebar .logout-button{margin-left:48px!important;min-height:34px!important}
  .sidebar .sidebar-version{order:7;position:static!important;flex:0 0 auto;margin:8px 4px 0!important;padding:0!important}
  .sidebar .sidebar-user-text strong,.sidebar .sidebar-user-text span{max-width:220px}
  .sidebar-toggle{z-index:2}
}
@media(max-width:700px){
  :root{--mobile-shell-topbar:64px}
  .mobile-topbar{padding-left:10px;padding-right:10px}
  .mobile-topbar-title{font-size:13px}
  .content{padding-top:calc(var(--mobile-shell-topbar) + env(safe-area-inset-top) + 14px)!important}
  .sidebar .context-switcher{max-height:46dvh}
}

/* v0.162.15 · mobiele tijdregistraties: kaarten i.p.v. afgesneden brede tabellen */
.time-recent-mobile-list,.time-registration-mobile-list{display:none}
@media(max-width:700px){
  .time-recent-desktop-table,.time-registration-desktop-table{display:none!important}
  .time-recent-mobile-list,.time-registration-mobile-list{display:grid;gap:12px}
  .time-recent-mobile-card,.time-registration-mobile-card{min-width:0;border:1px solid #dfe6e1;border-radius:18px;background:#fff;padding:16px;box-shadow:0 1px 0 rgba(40,58,47,.02)}
  .time-recent-mobile-head,.time-registration-mobile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
  .time-recent-mobile-head>strong,.time-registration-mobile-head strong{font-size:16px;color:#1e2922}
  .time-registration-mobile-head>div{display:grid;gap:3px;min-width:0}.time-registration-mobile-head>div>span{font-size:12px;color:#778078}
  .time-recent-mobile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}
  .time-recent-mobile-grid>div,.time-registration-mobile-metrics>div{min-width:0;padding:12px;border-radius:13px;background:#f7f9f7}
  .time-recent-mobile-grid dt,.time-registration-mobile-metrics span,.time-registration-mobile-context>span{font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:#7b847d}
  .time-recent-mobile-grid dd{margin:4px 0 0;font-size:15px;font-weight:800;color:#28352d;overflow-wrap:anywhere}
  .time-recent-mobile-context{grid-column:1/-1}.time-recent-mobile-context dd{display:grid;gap:3px}.time-recent-mobile-context small{font-weight:600;color:#727b74}
  .time-registration-mobile-card.is-attention{border-left:4px solid #93a797}
  .time-registration-mobile-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .time-registration-mobile-metrics>div{display:grid;gap:3px;padding:10px}.time-registration-mobile-metrics strong{font-size:14px;color:#26332b;white-space:nowrap}.time-registration-mobile-metrics small{font-size:10px;color:#7a837c}
  .time-registration-mobile-context,.time-registration-mobile-control{display:grid;gap:4px;margin-top:12px;padding-top:12px;border-top:1px solid #edf0ee;min-width:0}
  .time-registration-mobile-context strong{font-size:13px;color:#2d3c32}.time-registration-mobile-context small,.time-registration-mobile-control small{font-size:11px;color:#707a72}
  .time-registration-mobile-open{width:100%;margin-top:14px;justify-content:center}
  .time-recent-panel,.time-registration-overview{overflow:hidden}
}
@media(max-width:430px){
  .time-registration-mobile-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .time-registration-mobile-metrics>div:last-child{grid-column:1/-1}
}


/* v0.162.16 · afwezigheden: veilige annulering + mobiele kaarten */
.absence-requests-mobile{display:none}
.absence-cancel-pending{display:block;margin-top:6px;color:#95651e;font-weight:750}
.absence-cancel-request{min-width:220px}.absence-cancel-request>summary{list-style:none;cursor:pointer;display:inline-flex}.absence-cancel-request>summary::-webkit-details-marker{display:none}.absence-cancel-request form{display:grid;gap:8px;margin-top:10px;min-width:280px}.absence-cancel-request label{display:grid;gap:5px}.absence-cancel-request input{width:100%;min-height:42px;border:1px solid #d9dfda;border-radius:10px;padding:9px 11px;font:inherit;background:#fff}
.absence-mobile-card{display:grid;gap:14px;padding:18px;border:1px solid #dfe6e0;border-radius:18px;background:#fff}.absence-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.absence-mobile-card h3{margin:0;font-size:18px}.absence-mobile-metrics{display:grid;grid-template-columns:minmax(0,.35fr) minmax(0,1fr);gap:10px}.absence-mobile-metrics>div{padding:12px 14px;border-radius:13px;background:#f7f9f7}.absence-mobile-metrics span,.absence-mobile-metrics strong{display:block}.absence-mobile-metrics span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#768079;font-weight:800}.absence-mobile-metrics strong{margin-top:5px;font-size:14px;line-height:1.4}.absence-mobile-actions{display:grid;gap:10px}.absence-mobile-actions .secondary-button,.absence-mobile-actions .danger-button{width:100%;justify-content:center}.settings-info-note.compact{margin:0;padding:12px 14px}.settings-info-note.compact p{margin:4px 0 0}
@media(max-width:700px){.absence-requests-desktop{display:none}.absence-requests-mobile{display:grid;gap:12px}.absence-mobile-metrics{grid-template-columns:1fr}.absence-cancel-request,.absence-cancel-request form{min-width:0;width:100%}.absence-cancel-request>summary{width:100%;justify-content:center}.absence-cancellation-card{padding:16px}.absence-cancellation-card .absence-review-actions{width:100%}}

/* v0.162.18 · mobiele werknemer-selfservice: mobiliteit & onkosten */
.my-expense-mobile-list{display:none}
@media (max-width:980px){
  .mobility-submit-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .expense-submit-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start}
  .expense-submit-grid>.notes-field.wide,
  .expense-submit-grid>.expense-proof-field,
  .expense-submit-grid>.expense-submit-progress,
  .expense-submit-grid>.form-actions,
  .expense-submit-grid>.expense-other-payment{grid-column:1/-1!important}
  .expense-submit-grid>.form-actions{margin-top:2px}
}
@media (max-width:700px){
  .mobility-submit-grid,.expense-submit-grid{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
  .mobility-submit-grid>* ,.expense-submit-grid>*{grid-column:1!important;min-width:0!important;max-width:100%!important}
  .mobility-submit-grid .form-actions,.expense-submit-grid .form-actions{width:100%;margin-top:2px}
  .mobility-submit-grid .form-actions .button,.expense-submit-grid .form-actions .button{width:100%;justify-content:center}
  .expense-submit-grid label,.mobility-submit-grid label{width:100%;min-width:0}
  .expense-submit-grid input,.expense-submit-grid select,.mobility-submit-grid input,.mobility-submit-grid select{min-height:48px;font-size:16px}
  .expense-submit-grid .expense-proof-field{width:100%;display:grid;gap:8px}
  .expense-submit-grid .expense-dropzone{width:100%;box-sizing:border-box;min-height:0;padding:22px 18px;gap:8px;border-radius:16px}
  .expense-submit-grid .expense-dropzone strong{font-size:17px;line-height:1.25}
  .expense-submit-grid .expense-dropzone small{max-width:34ch;font-size:12px;line-height:1.45}
  .expense-submit-grid .expense-dropzone .button{width:min(100%,260px);justify-content:center}
  .expense-submit-grid .expense-file-item{align-items:flex-start;flex-wrap:wrap}
  .expense-submit-grid .expense-file-remove{margin-left:auto}
  .expense-other-payment{grid-template-columns:1fr!important;padding:14px!important}

  #my-expense-overview .settings-card-head{margin-bottom:14px}
  .my-expense-toolbar{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:14px}
  .my-expense-toolbar>span{font-size:12px}
  .my-expense-toolbar form,.my-expense-toolbar label{width:100%}
  .my-expense-toolbar label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px}
  .my-expense-toolbar select{width:100%;min-height:44px}
  .my-expense-desktop-table{display:none!important}
  .my-expense-mobile-list{display:grid;gap:12px}
  .my-expense-mobile-card{display:grid;gap:14px;padding:16px;border:1px solid #dfe6e1;border-radius:18px;background:#fff;min-width:0}
  .my-expense-mobile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
  .my-expense-mobile-head>div{display:grid;gap:4px;min-width:0}
  .my-expense-mobile-head>div>span{font-size:11px;font-weight:800;letter-spacing:.06em;color:#788179}
  .my-expense-mobile-head h3{margin:0;font-size:18px;line-height:1.2;color:#25322a}
  .my-expense-mobile-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .my-expense-mobile-metrics>div,.my-expense-mobile-note,.my-expense-mobile-proof{min-width:0;padding:12px 14px;border-radius:13px;background:#f7f9f7}
  .my-expense-mobile-metrics span,.my-expense-mobile-note>span,.my-expense-mobile-proof>span{display:block;margin-bottom:5px;font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:#7a837c}
  .my-expense-mobile-metrics strong,.my-expense-mobile-note strong,.my-expense-mobile-proof strong{font-size:14px;line-height:1.4;color:#29362e;overflow-wrap:anywhere}
  .my-expense-mobile-proof>div{display:grid;gap:6px;min-width:0}
  .my-expense-mobile-proof .text-link{display:block;overflow-wrap:anywhere}
  .my-expense-mobile-action{margin:0}
  .my-expense-mobile-action .button{width:100%;justify-content:center}
  .my-expense-mobile-empty{display:grid;gap:5px;padding:16px;border:1px dashed #d9e1da;border-radius:16px;background:#fafbfa;color:#334138}
  .my-expense-mobile-empty span{color:#727c74;font-size:13px}
  .my-expense-pagination{margin-top:14px}
}
@media (max-width:430px){
  .my-expense-mobile-metrics{grid-template-columns:1fr}
  .expense-submit-grid .expense-dropzone{padding:18px 14px}
}

/* v0.162.19 · mobiele medewerkersdirectory */
.employee-mobile-list{display:none}
@media(max-width:760px){
  .employee-list-panel .panel-heading{display:flex;align-items:flex-start;gap:12px;flex-direction:column}
  .employee-list-count{align-self:flex-start;padding:5px 9px;border-radius:999px;background:#f3f6f3}
  .employee-list-count strong{font-size:16px}.employee-list-count span{font-size:9px}
  .employee-table-wrap{display:none}
  .employee-mobile-list{display:grid;gap:12px;padding:0 14px 16px}
  .employee-mobile-card{display:grid;gap:14px;padding:16px;border:1px solid #e1e7e2;border-radius:16px;background:#fff;box-shadow:0 1px 0 rgba(31,47,38,.02)}
  .employee-mobile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
  .employee-mobile-identity{display:grid;gap:4px;min-width:0}
  .employee-mobile-identity strong{font-size:16px;line-height:1.2;color:#202923;overflow-wrap:anywhere}
  .employee-mobile-identity small{font-size:11px;line-height:1.35;color:#778078;overflow-wrap:anywhere}
  .employee-mobile-card .employee-state{flex:0 0 auto}
  .employee-mobile-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .employee-mobile-meta>div{display:grid;gap:4px;min-width:0;padding:11px 12px;border-radius:12px;background:#f7f9f7}
  .employee-mobile-meta>div:last-child:nth-child(odd){grid-column:1/-1}
  .employee-mobile-meta span{font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:#7a847d}
  .employee-mobile-meta strong{font-size:11px;line-height:1.35;color:#344139;overflow-wrap:anywhere}
  .employee-mobile-meta strong.ok{color:#3f6d4e}.employee-mobile-meta strong.missing{color:#8a5a2d}
  .employee-mobile-meta small{font-size:9.5px;line-height:1.35;color:#7a827d;overflow-wrap:anywhere}
  .employee-mobile-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .employee-mobile-actions .primary-button,.employee-mobile-actions .secondary-button,.employee-mobile-actions form,.employee-mobile-actions form button{width:100%;box-sizing:border-box;text-align:center;justify-content:center}
  .employee-mobile-actions form{margin:0}
}
@media(max-width:430px){
  .employee-mobile-list{padding-left:10px;padding-right:10px}
  .employee-mobile-card{padding:14px}
  .employee-mobile-meta{grid-template-columns:1fr}
  .employee-mobile-meta>div:last-child:nth-child(odd){grid-column:auto}
}

/* v0.162.20 · mobiele contextsubnavigatie: eerste/actieve tab altijd volledig zichtbaar */
@media(max-width:980px){
  .section-nav:not(.section-nav-work-time),
  .section-nav-groups,
  .section-nav-subitems{
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    scroll-padding-inline:12px;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
  }
  .section-nav:not(.section-nav-work-time){
    margin-inline:0!important;
    padding-inline:12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity;
  }
  .section-nav:not(.section-nav-work-time) .section-nav-item{
    scroll-snap-align:start;
  }
  .section-nav-groups,.section-nav-subitems{
    padding-inline:12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity;
  }
  .section-nav-group-link,.section-nav-subitems .section-nav-item{
    scroll-snap-align:start;
  }
}
@media(max-width:700px){
  .section-nav:not(.section-nav-work-time),
  .section-nav-groups,
  .section-nav-subitems{
    scrollbar-width:none;
  }
  .section-nav:not(.section-nav-work-time)::-webkit-scrollbar,
  .section-nav-groups::-webkit-scrollbar,
  .section-nav-subitems::-webkit-scrollbar{display:none}
}

/* v0.162.21 · mobiele subnavigatie robuust vanaf de eerste tab */
@media(max-width:980px){
  .section-nav:not(.section-nav-work-time),
  .section-nav-groups,
  .section-nav-subitems{
    position:relative;
    justify-content:flex-start!important;
    scroll-padding-inline:12px!important;
    scroll-snap-type:none!important;
  }
  .section-nav:not(.section-nav-work-time){
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .section-nav:not(.section-nav-work-time) > .section-nav-item:first-child,
  .section-nav-groups > .section-nav-group-link:first-child,
  .section-nav-subitems > .section-nav-item:first-child{
    margin-left:0!important;
  }
}


/* v0.162.22 · grondige mobiele sectienavigatie: alle submenu-items zichtbaar */
@media(max-width:700px){
  /* Lange contextmenu's worden op smartphone bewust niet meer horizontaal
     gescrold. Alle bestemmingen blijven meteen zichtbaar en bereikbaar. */
  .section-nav:not(.section-nav-work-time){
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:stretch!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:8px!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
    scroll-padding:0!important;
  }
  .section-nav:not(.section-nav-work-time) > .section-nav-item{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    margin:0!important;
    padding:10px 9px!important;
    box-sizing:border-box!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    text-align:center!important;
    line-height:1.25!important;
  }

  /* Ook de gegroepeerde Arbeidstijd-navigatie toont op smartphone alle
     hoofdgroepen en alle items van de actieve groep zonder afsnijden. */
  .section-nav-work-time{overflow:visible!important}
  .section-nav-groups,
  .section-nav-subitems{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:stretch!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    padding:8px!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
    scroll-padding:0!important;
  }
  .section-nav-group-link,
  .section-nav-subitems .section-nav-item{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    margin:0!important;
    padding:10px 9px!important;
    box-sizing:border-box!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    text-align:center!important;
    line-height:1.25!important;
  }
}
@media(max-width:360px){
  .section-nav:not(.section-nav-work-time),
  .section-nav-groups,
  .section-nav-subitems{
    grid-template-columns:1fr!important;
  }
}

/* v0.162.23 · Saldi & rechten / Opbouw & kwartaalrechten grondig mobiel */
@media(max-width:900px){
  .leave-policy-page .leave-policy-config-form,
  .leave-policy-page .leave-cascade-form,
  .leave-policy-page .leave-period-entitlement-form{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:start!important;
  }
  .leave-policy-page .leave-cascade-toggle,
  .leave-policy-page .notes-field,
  .leave-policy-page .form-actions{grid-column:1/-1!important}
}

@media(max-width:700px){
  /* Formulieren: nooit desktopkolommen op smartphone. */
  .leave-balances-page .settings-form-grid,
  .leave-policy-page .settings-form-grid,
  .leave-policy-page .leave-policy-config-form,
  .leave-policy-page .leave-cascade-form,
  .leave-policy-page .leave-period-entitlement-form{
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
    align-items:stretch!important;
  }
  .leave-balances-page .settings-form-grid>*,
  .leave-policy-page .settings-form-grid>*,
  .leave-policy-page .leave-policy-config-form>*,
  .leave-policy-page .leave-cascade-form>*,
  .leave-policy-page .leave-period-entitlement-form>*{
    grid-column:1!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .leave-balances-page .settings-form-grid input,
  .leave-balances-page .settings-form-grid select,
  .leave-policy-page .settings-form-grid input,
  .leave-policy-page .settings-form-grid select{
    min-height:48px!important;
    font-size:16px!important;
  }
  .leave-policy-page .leave-cascade-toggle{
    min-height:0!important;
    padding:14px!important;
    border:1px solid #dfe6e1;
    border-radius:14px;
    background:#f8faf8;
    align-items:flex-start!important;
  }
  .leave-policy-page .leave-cascade-toggle span{white-space:normal!important;line-height:1.35!important}
  .leave-policy-page .leave-cascade-toggle small{display:block;margin-top:5px;line-height:1.45}
  .leave-policy-page .form-actions .button,
  .leave-balances-page .form-actions .button{width:100%!important;justify-content:center!important}

  /* Filters en paginering compact maar volledig. */
  .leave-balances-page .leave-balance-filter-actions,
  .leave-policy-page .leave-filter-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:8px!important}
  .leave-balances-page .leave-balance-filter-actions>* ,
  .leave-policy-page .leave-filter-actions>*{width:100%!important;justify-content:center!important}
  .leave-balances-page .leave-balance-page-size{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;width:100%!important}
  .leave-balances-page .leave-balance-page-size select{width:100%!important}
  .leave-balances-page .leave-balance-export-menu{width:100%}
  .leave-balances-page .leave-balance-export-menu>summary{width:100%;justify-content:center}
  .leave-balances-page .leave-balance-export-menu form{position:static!important;width:100%!important;margin-top:8px;box-sizing:border-box}

  /* Brede saldotabellen worden echte mobiele kaarten. */
  .leave-balance-table-wrap,
  .leave-cascade-table-wrap,
  .leave-period-balance-table-wrap,
  .leave-policy-table-wrap{overflow:visible!important;border-top:0!important}
  .leave-balance-table,
  .leave-cascade-table,
  .leave-period-balance-table,
  .leave-policy-table{display:block!important;min-width:0!important;width:100%!important}
  .leave-balance-table thead,
  .leave-cascade-table thead,
  .leave-period-balance-table thead,
  .leave-policy-table thead{display:none!important}
  .leave-balance-table tbody,
  .leave-cascade-table tbody,
  .leave-period-balance-table tbody,
  .leave-policy-table tbody{display:grid!important;gap:12px!important;min-width:0!important}
  .leave-balance-table tr,
  .leave-cascade-table tr,
  .leave-period-balance-table tr,
  .leave-policy-table tr{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    padding:15px!important;
    border:1px solid #dfe6e1!important;
    border-radius:16px!important;
    background:#fff!important;
    min-width:0!important;
  }
  .leave-balance-table td,
  .leave-cascade-table td,
  .leave-period-balance-table td,
  .leave-policy-table td{
    display:grid!important;
    gap:4px!important;
    align-content:start!important;
    min-width:0!important;
    padding:11px 12px!important;
    border:0!important;
    border-radius:12px!important;
    background:#f7f9f7!important;
    overflow-wrap:anywhere!important;
  }
  .leave-balance-table td::before,
  .leave-cascade-table td::before,
  .leave-period-balance-table td::before,
  .leave-policy-table td::before{
    color:#7a847d;
    font-size:9px;
    font-weight:850;
    letter-spacing:.07em;
    line-height:1.2;
    text-transform:uppercase;
  }
  .leave-balance-table td:first-child,
  .leave-period-balance-table td:first-child,
  .leave-policy-table td:first-child{grid-column:1/-1!important;background:#f2f6f3!important}
  .leave-cascade-table td:first-child{grid-column:1/-1!important;background:#f2f6f3!important}
  .leave-cascade-table td:last-child{grid-column:1/-1!important;background:transparent!important;padding:2px 0 0!important}
  .leave-cascade-table td:last-child .button,
  .leave-cascade-table td:last-child form{width:100%!important}
  .leave-cascade-table td:last-child .button{justify-content:center!important}
  .leave-period-balance-table td:last-child{background:#eef5ef!important}

  /* Labels per kaartveld. */
  .leave-balance-table td:nth-child(1)::before{content:"Medewerker"}.leave-balance-table td:nth-child(2)::before{content:"Type"}.leave-balance-table td:nth-child(3)::before{content:"Toegekend"}.leave-balance-table td:nth-child(4)::before{content:"Overdracht"}.leave-balance-table td:nth-child(5)::before{content:"Correctie"}.leave-balance-table td:nth-child(6)::before{content:"Opgenomen"}.leave-balance-table td:nth-child(7)::before{content:"Beschikbaar"}
  .leave-cascade-table td:nth-child(1)::before{content:"Bij aanvraag van"}.leave-cascade-table td:nth-child(2)::before{content:"Volgorde"}.leave-cascade-table td:nth-child(3)::before{content:"Gebruikt daarna"}.leave-cascade-table td:nth-child(4)::before{content:"Actie"}
  .leave-period-balance-table td:nth-child(1)::before{content:"Medewerker"}.leave-period-balance-table td:nth-child(2)::before{content:"Type"}.leave-period-balance-table td:nth-child(3)::before{content:"Periode"}.leave-period-balance-table td:nth-child(4)::before{content:"Bron"}.leave-period-balance-table td:nth-child(5)::before{content:"Toegekend"}.leave-period-balance-table td:nth-child(6)::before{content:"Extern gebruikt"}.leave-period-balance-table td:nth-child(7)::before{content:"Opgenomen"}.leave-period-balance-table td:nth-child(8)::before{content:"Gereserveerd"}.leave-period-balance-table td:nth-child(9)::before{content:"Beschikbaar"}
  .leave-policy-table td:nth-child(1)::before{content:"Verloftype"}.leave-policy-table td:nth-child(2)::before{content:"Opbouw"}.leave-policy-table td:nth-child(3)::before{content:"Herkomst"}.leave-policy-table td:nth-child(4)::before{content:"Andere teller na uitputting"}

  .leave-balances-page .leave-balance-pagination,
  .leave-policy-page .settings-pagination{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;text-align:center!important}
  .leave-balances-page .leave-balance-pagination>a,
  .leave-policy-page .settings-pagination>a{width:100%!important;justify-content:center!important}

  /* Kaartkoppen en jaarkeuze mogen nooit de viewport open drukken. */
  .leave-policy-page .settings-card-head-action,
  .leave-balances-page .settings-card-head-action{width:100%;min-width:0}
  .leave-policy-page .year-switch,
  .leave-balances-page .year-switch{max-width:100%}
}

@media(max-width:430px){
  .leave-balance-table tr,
  .leave-cascade-table tr,
  .leave-period-balance-table tr,
  .leave-policy-table tr{grid-template-columns:1fr!important;padding:12px!important}
  .leave-balance-table td:first-child,
  .leave-period-balance-table td:first-child,
  .leave-policy-table td:first-child,
  .leave-cascade-table td:first-child{grid-column:1!important}
}


/* v0.162.24 · resterende Afwezigheden-pagina's grondig mobiel */
@media(max-width:700px){
  /* Wettelijke vakantie: medewerkerstabel wordt een kaartlijst. */
  .annual-leave-page .annual-leave-overview-wrap,
  .annual-leave-page .settings-table-wrap:has(.annual-leave-overview){overflow:visible!important}
  .annual-leave-page .annual-leave-overview{display:block!important;width:100%!important;min-width:0!important}
  .annual-leave-page .annual-leave-overview thead{display:none!important}
  .annual-leave-page .annual-leave-overview tbody{display:grid!important;gap:12px!important}
  .annual-leave-page .annual-leave-overview tr{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;padding:15px!important;border:1px solid #dfe6e1!important;border-radius:16px!important;background:#fff!important;min-width:0!important}
  .annual-leave-page .annual-leave-overview td{display:grid!important;gap:4px!important;min-width:0!important;padding:11px 12px!important;border:0!important;border-radius:12px!important;background:#f7f9f7!important;overflow-wrap:anywhere!important}
  .annual-leave-page .annual-leave-overview td::before{color:#7a847d;font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
  .annual-leave-page .annual-leave-overview td:nth-child(1){grid-column:1/-1!important;background:#f2f6f3!important}
  .annual-leave-page .annual-leave-overview td:nth-child(1)::before{content:"Medewerker"}
  .annual-leave-page .annual-leave-overview td:nth-child(2)::before{content:"Status"}
  .annual-leave-page .annual-leave-overview td:nth-child(3)::before{content:"Statuut"}
  .annual-leave-page .annual-leave-overview td:nth-child(4)::before{content:"Bevestigd recht"}
  .annual-leave-page .annual-leave-overview td:nth-child(5){grid-column:1/-1!important}
  .annual-leave-page .annual-leave-overview td:nth-child(5)::before{content:"Bron"}
  .annual-leave-page .annual-leave-overview td:nth-child(6){grid-column:1/-1!important;background:transparent!important;padding:0!important}
  .annual-leave-page .annual-leave-overview td:nth-child(6)::before{content:""}
  .annual-leave-page .annual-leave-overview td:nth-child(6) .button{width:100%!important;justify-content:center!important}
  .annual-leave-page .annual-leave-filter .form-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
  .annual-leave-page .annual-leave-filter .form-actions>*{width:100%!important;justify-content:center!important}
  .annual-leave-page .settings-pagination{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;text-align:center!important}
  .annual-leave-page .settings-pagination>a{width:100%!important;justify-content:center!important}

  /* Bijzondere vakantie: dossiers als kaarten, bevestigingsformulier volledig breed. */
  .special-leave-page .special-case-filter{grid-template-columns:1fr!important}
  .special-leave-page .special-case-filter .wide,
  .special-leave-page .special-case-filter .form-actions{grid-column:1!important}
  .special-leave-page .special-case-filter .form-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
  .special-leave-page .special-case-filter .form-actions>*{width:100%!important;justify-content:center!important}
  .special-leave-page .special-leave-case-table-wrap{overflow:visible!important}
  .special-leave-page .special-leave-case-table{display:block!important;min-width:0!important;width:100%!important}
  .special-leave-page .special-leave-case-table thead{display:none!important}
  .special-leave-page .special-leave-case-table tbody{display:grid!important;gap:12px!important}
  .special-leave-page .special-leave-case-table tr{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;padding:15px!important;border:1px solid #dfe6e1!important;border-radius:16px!important;background:#fff!important;min-width:0!important}
  .special-leave-page .special-leave-case-table td{display:grid!important;gap:4px!important;min-width:0!important;padding:11px 12px!important;border:0!important;border-radius:12px!important;background:#f7f9f7!important;overflow-wrap:anywhere!important}
  .special-leave-page .special-leave-case-table td::before{color:#7a847d;font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
  .special-leave-page .special-leave-case-table td:nth-child(1){grid-column:1/-1!important;background:#f2f6f3!important}
  .special-leave-page .special-leave-case-table td:nth-child(1)::before{content:"Medewerker"}
  .special-leave-page .special-leave-case-table td:nth-child(2)::before{content:"Type"}
  .special-leave-page .special-leave-case-table td:nth-child(3)::before{content:"Gewone vakantie"}
  .special-leave-page .special-leave-case-table td:nth-child(4)::before{content:"Max. aanvulling"}
  .special-leave-page .special-leave-case-table td:nth-child(5)::before{content:"Status"}
  .special-leave-page .special-leave-case-table td:nth-child(6)::before{content:"Bevestigd"}
  .special-leave-page .special-leave-case-table td:nth-child(7){grid-column:1/-1!important;background:transparent!important;padding:0!important}
  .special-leave-page .special-leave-case-table td:nth-child(7)::before{content:"Actie";padding:0 0 4px}
  .special-leave-page .special-case-details,
  .special-leave-page .special-confirm-details{width:100%!important;min-width:0!important}
  .special-leave-page .special-case-details>summary,
  .special-leave-page .special-confirm-details>summary{width:100%!important;box-sizing:border-box!important;justify-content:center!important}
  .special-leave-page .inline-special-confirm{grid-template-columns:1fr!important;min-width:0!important;width:100%!important}
  .special-leave-page .inline-special-confirm .button{width:100%!important;justify-content:center!important}

  /* Afwezigheidstypes: geconfigureerde types worden kaarten. */
  .absence-types-page .absence-type-grid{grid-template-columns:1fr!important}
  .absence-types-page .absence-type-grid>*{grid-column:1!important;min-width:0!important;max-width:100%!important}
  .absence-types-page .absence-type-grid input,
  .absence-types-page .absence-type-grid select{min-height:48px!important;font-size:16px!important}
  .absence-types-page .absence-type-grid .settings-checkbox{min-height:48px!important}
  .absence-types-page .absence-type-grid .form-actions .button{width:100%!important;justify-content:center!important}
  .absence-types-page .settings-table-wrap:has(.absence-types-table){overflow:visible!important}
  .absence-types-page .absence-types-table{display:block!important;width:100%!important;min-width:0!important}
  .absence-types-page .absence-types-table thead{display:none!important}
  .absence-types-page .absence-types-table tbody{display:grid!important;gap:12px!important}
  .absence-types-page .absence-types-table tr{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;padding:15px!important;border:1px solid #dfe6e1!important;border-radius:16px!important;background:#fff!important;min-width:0!important}
  .absence-types-page .absence-types-table td{display:grid!important;gap:4px!important;min-width:0!important;padding:11px 12px!important;border:0!important;border-radius:12px!important;background:#f7f9f7!important;overflow-wrap:anywhere!important}
  .absence-types-page .absence-types-table td::before{color:#7a847d;font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
  .absence-types-page .absence-types-table td:nth-child(1){grid-column:1/-1!important;background:#f2f6f3!important}
  .absence-types-page .absence-types-table td:nth-child(1)::before{content:"Code"}
  .absence-types-page .absence-types-table td:nth-child(2){grid-column:1/-1!important}
  .absence-types-page .absence-types-table td:nth-child(2)::before{content:"Naam"}
  .absence-types-page .absence-types-table td:nth-child(3)::before{content:"Categorie"}
  .absence-types-page .absence-types-table td:nth-child(4)::before{content:"Betaald"}
  .absence-types-page .absence-types-table td:nth-child(5)::before{content:"Goedkeuring"}
  .absence-types-page .absence-types-table td:nth-child(6)::before{content:"Saldo"}
  .absence-types-page .absence-types-table td:nth-child(7){grid-column:1/-1!important}
  .absence-types-page .absence-types-table td:nth-child(7)::before{content:"Payroll"}
  .absence-types-page .absence-types-table td:nth-child(8){grid-column:1/-1!important;background:transparent!important;padding:0!important}
  .absence-types-page .absence-types-table td:nth-child(8)::before{content:"Beheer";padding-bottom:4px}
  .absence-types-page .absence-type-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;width:100%!important}
  .absence-types-page .absence-type-actions .secondary-button,
  .absence-types-page .absence-type-actions .danger-button,
  .absence-types-page .absence-type-actions form{width:100%!important;justify-content:center!important}
  .absence-types-page .absence-type-actions form .danger-button{width:100%!important}
}
@media(max-width:430px){
  .annual-leave-page .annual-leave-overview tr,
  .special-leave-page .special-leave-case-table tr,
  .absence-types-page .absence-types-table tr{grid-template-columns:1fr!important}
  .annual-leave-page .annual-leave-overview td,
  .special-leave-page .special-leave-case-table td,
  .absence-types-page .absence-types-table td{grid-column:1!important}
}

/* v0.162.25 · grondige mobiele polish verzamelde pagina's */
@media (max-width:700px){
  /* Dashboard: live werknemers als kaarten in plaats van brede tabel */
  .dashboard-live-table-wrap{overflow:visible;border:0;background:transparent}
  .dashboard-live-table{display:block;min-width:0;width:100%}
  .dashboard-live-table thead{display:none}
  .dashboard-live-table tbody{display:grid;gap:12px}
  .dashboard-live-table tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;padding:14px;border:1px solid #e3e8e4;border-radius:14px;background:#fff}
  .dashboard-live-table tbody tr[hidden]{display:none!important}
  .dashboard-live-table tbody td{display:grid;gap:3px;min-width:0;padding:0!important;border:0!important;text-align:left!important;white-space:normal!important}
  .dashboard-live-table tbody td:nth-child(1){grid-column:1/-1}
  .dashboard-live-table tbody td:nth-child(4),
  .dashboard-live-table tbody td:nth-child(5),
  .dashboard-live-table tbody td:nth-child(6),
  .dashboard-live-table tbody td:nth-child(7){grid-column:1/-1}
  .dashboard-live-table tbody td::before{display:block;color:#7b857e;font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
  .dashboard-live-table tbody td:nth-child(2)::before{content:"Vandaag"}
  .dashboard-live-table tbody td:nth-child(3)::before{content:"Deze week"}
  .dashboard-live-table tbody td:nth-child(4)::before{content:"Status"}
  .dashboard-live-table tbody td:nth-child(5)::before{content:"Werkcontext"}
  .dashboard-live-table tbody td:nth-child(6)::before{content:"Rol"}
  .dashboard-live-table tbody td:nth-child(7)::before{content:"Actie"}
  .dashboard-live-person{min-width:0}.dashboard-live-person strong,.dashboard-live-person small,.dashboard-live-context strong,.dashboard-live-context small{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-overflow:clip}
  .dashboard-live-action a{display:inline-flex;width:100%;min-height:42px;align-items:center;justify-content:center;border:1px solid #dce2dd;border-radius:10px;background:#fff;text-decoration:none}
  .dashboard-live-toolbar-meta{align-items:stretch;flex-direction:column}.dashboard-live-toolbar-meta .secondary-button{width:100%;justify-content:center}

  /* Beschikbaarheid: forceer echte éénkoloms maandkaarten, ook tegen latere desktop overrides */
  .employer-availability-page .availability-month-panel{overflow:visible}
  .employer-availability-page .availability-month-weekdays{display:none}
  .employer-availability-page .employer-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;min-width:0!important;gap:10px!important}
  .employer-availability-page .availability-day.outside-month{display:none}
  .employer-availability-page .availability-day.employer-day{min-height:0;width:100%;overflow:hidden}
  .employer-availability-page .availability-day.employer-day>header{padding:12px 14px}
  .employer-availability-page .availability-day.employer-day>header strong{font-size:20px}
  .employer-availability-page .availability-day.employer-day>header a{font-size:12px;white-space:nowrap}
  .employer-availability-page .availability-day-entries{padding:10px}
  .employer-availability-page .availability-person{grid-template-columns:1fr auto;padding:10px 12px}
  .employer-availability-page .availability-person strong{font-size:13px}.employer-availability-page .availability-person span{font-size:11px}

  /* Instellingen-tabellen: kaarten voor bezetting, kampen en organisatiestructuur */
  .staffing-requirements-page .table-wrap,
  .camp-page .settings-table-wrap,
  .organisational-structure-page .table-wrap{overflow:visible}
  .staffing-requirements-page .data-table,
  .camp-page .camp-overview-table,
  .organisational-structure-page .os-structure-table{display:block!important;min-width:0!important;width:100%!important}
  .staffing-requirements-page .data-table thead,
  .camp-page .camp-overview-table thead,
  .organisational-structure-page .os-structure-table thead{display:none}
  .staffing-requirements-page .data-table tbody,
  .camp-page .camp-overview-table tbody,
  .organisational-structure-page .os-structure-table tbody{display:grid;gap:12px}
  .staffing-requirements-page .data-table tbody tr,
  .camp-page .camp-overview-table tbody tr,
  .organisational-structure-page .os-structure-table tbody tr{display:grid;grid-template-columns:1fr;gap:9px;padding:14px;border:1px solid #e3e8e4;border-radius:14px;background:#fff}
  .staffing-requirements-page .data-table tbody td,
  .camp-page .camp-overview-table tbody td,
  .organisational-structure-page .os-structure-table tbody td{display:grid;grid-template-columns:minmax(112px,.42fr) minmax(0,1fr);gap:10px;align-items:start;padding:0!important;border:0!important;min-width:0;white-space:normal;overflow-wrap:anywhere}
  .staffing-requirements-page .data-table tbody td::before,
  .camp-page .camp-overview-table tbody td::before,
  .organisational-structure-page .os-structure-table tbody td::before{color:#7b857e;font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}

  .staffing-requirements-page .data-table tbody td:nth-child(1)::before{content:"Eenheid"}.staffing-requirements-page .data-table tbody td:nth-child(2)::before{content:"Wanneer"}.staffing-requirements-page .data-table tbody td:nth-child(3)::before{content:"Minimum"}.staffing-requirements-page .data-table tbody td:nth-child(4)::before{content:"Functie"}.staffing-requirements-page .data-table tbody td:nth-child(5)::before{content:"Geldig"}.staffing-requirements-page .data-table tbody td:nth-child(6)::before{content:"Status"}.staffing-requirements-page .data-table tbody td:nth-child(7)::before{content:"Actie"}
  .staffing-requirements-page .data-table tbody td:nth-child(7) .secondary-button{width:100%;justify-content:center}
  .staffing-requirements-page .settings-form-grid{grid-template-columns:1fr!important}

  .camp-page .camp-filter-grid{grid-template-columns:1fr!important}.camp-page .camp-filter-actions{display:grid;grid-template-columns:1fr}.camp-page .camp-filter-actions .button,.camp-page .camp-filter-actions .secondary-button{width:100%;justify-content:center}
  .camp-page .camp-overview-table tbody td:nth-child(1)::before{content:"Kamp"}.camp-page .camp-overview-table tbody td:nth-child(2)::before{content:"Periode"}.camp-page .camp-overview-table tbody td:nth-child(3)::before{content:"Locatie"}.camp-page .camp-overview-table tbody td:nth-child(4)::before{content:"Scope"}.camp-page .camp-overview-table tbody td:nth-child(5)::before{content:"Deelnemers"}.camp-page .camp-overview-table tbody td:nth-child(6)::before{content:"Verantwoordelijken"}.camp-page .camp-overview-table tbody td:nth-child(7)::before{content:"Status"}.camp-page .camp-overview-table tbody td:nth-child(8)::before{content:"Actie"}
  .camp-page .camp-overview-table tbody td:nth-child(8) .secondary-button{width:100%;justify-content:center}

  .organisational-structure-page .os-structure-table tbody td:nth-child(1)::before{content:"Naam / eenheid"}.organisational-structure-page .os-structure-table tbody td:nth-child(2)::before{content:"Type / eenheid"}.organisational-structure-page .os-structure-table tbody td:nth-child(3)::before{content:"Onderdeel / rol"}.organisational-structure-page .os-structure-table tbody td:nth-child(4)::before{content:"Geldig"}.organisational-structure-page .os-structure-table tbody td:nth-child(5)::before{content:"Status"}.organisational-structure-page .os-structure-table tbody td:nth-child(6)::before{content:"Actie"}
  .organisational-structure-page .os-unit-cell{padding-left:0}.organisational-structure-page .os-unit-cell::before{display:none}
  .organisational-structure-page .os-structure-table tbody td:nth-child(6) .secondary-button{width:100%;justify-content:center}
}

@media (max-width:430px){
  .dashboard-live-table tbody tr{grid-template-columns:1fr}
  .dashboard-live-table tbody td:nth-child(2),.dashboard-live-table tbody td:nth-child(3){grid-column:1}
  .staffing-requirements-page .data-table tbody td,
  .camp-page .camp-overview-table tbody td,
  .organisational-structure-page .os-structure-table tbody td{grid-template-columns:1fr;gap:3px}
}


/* v0.162.26 · Arbeidstijd volledig mobiel leesbaar */
@media (max-width:700px){
  .work-time-page{min-width:0!important;overflow-x:hidden!important}
  .work-time-page .card,.work-time-page .work-time-section{min-width:0;max-width:100%}
  .work-time-page .work-time-section-head{align-items:flex-start;flex-direction:column;gap:10px}
  .work-time-page .work-time-section-head>div{min-width:0;max-width:100%}
  .work-time-page .work-time-inbox-summary{justify-content:flex-start;width:100%;max-width:none}

  .work-time-page .work-time-dashboard-summary{padding:18px 16px;gap:16px}
  .work-time-page .work-time-dashboard-summary-copy,.work-time-page .work-time-dashboard-shortcuts{max-width:100%;min-width:0;width:100%}
  .work-time-page .work-time-dashboard-shortcuts a{width:100%;box-sizing:border-box}

  .work-time-page .work-time-recent-reviews{padding:18px 14px 20px}
  .work-time-page .work-time-recent-item{grid-template-columns:1fr!important;gap:10px;padding:14px}
  .work-time-page .work-time-recent-meta{justify-self:start}
  .work-time-page .work-time-recent-reason,.work-time-page .work-time-recent-item>.button{grid-column:1!important;grid-row:auto!important;width:100%}
  .work-time-page .work-time-recent-reason span{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}

  .work-time-page .work-time-signal-worklist{padding:18px 14px 20px!important;overflow:visible!important}
  .work-time-page .work-time-signal-filters{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:12px!important;overflow:visible!important}
  .work-time-page .work-time-signal-filters>*{grid-column:1!important;min-width:0!important;max-width:100%!important}
  .work-time-page .work-time-signal-filters>label{display:grid!important;grid-template-rows:auto!important;gap:6px!important;height:auto!important}
  .work-time-page .work-time-signal-filters>label>span{height:auto!important;min-height:0!important}
  .work-time-page .work-time-signal-filters>label::after{display:none!important}
  .work-time-page .work-time-signal-filters input,.work-time-page .work-time-signal-filters select{width:100%!important;min-width:0!important;max-width:100%!important;height:46px!important;font-size:16px!important}
  .work-time-page .work-time-signal-employee-search>small{height:auto!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  .work-time-page #reset-signal-filters{width:100%!important;margin:0!important;min-height:46px!important}
  .work-time-page .work-time-filter-count{padding-top:2px!important}

  .work-time-page .work-time-bulk-toolbar{align-items:stretch!important;flex-direction:column!important;padding:12px!important}
  .work-time-page .work-time-bulk-toolbar-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
  .work-time-page .work-time-bulk-toolbar-actions .button{width:100%!important}

  .work-time-page .work-time-signal-table-wrap{overflow:visible!important;border:0!important;background:transparent!important;margin:0!important}
  .work-time-page .work-time-signal-table,.work-time-page .work-time-signal-table tbody{display:block!important;width:100%!important;min-width:0!important}
  .work-time-page .work-time-signal-table thead{display:none!important}
  .work-time-page .work-time-signal-table tbody{display:grid!important;gap:12px!important}
  .work-time-page .work-time-signal-table tbody tr{display:grid!important;grid-template-columns:1fr!important;gap:0!important;width:100%!important;min-width:0!important;padding:14px!important;border:1px solid #e3e8e4!important;border-radius:14px!important;background:#fff!important;box-sizing:border-box!important;overflow:hidden!important}
  .work-time-page .work-time-signal-table tbody td,
  .work-time-page .work-time-signal-table tbody td:nth-child(n){display:grid!important;grid-template-columns:1fr!important;gap:3px!important;grid-column:1!important;width:100%!important;min-width:0!important;max-width:100%!important;padding:10px 0!important;border:0!important;border-bottom:1px solid #edf0ed!important;text-align:left!important;white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere!important;word-break:normal!important;box-sizing:border-box!important}
  .work-time-page .work-time-signal-table tbody td:last-child{border-bottom:0!important;padding-bottom:0!important}
  .work-time-page .work-time-signal-table tbody td::before{display:block!important;content:attr(data-label)!important;color:#7b857e!important;font-size:10px!important;font-weight:850!important;line-height:1.3!important;letter-spacing:.05em!important;text-transform:uppercase!important}
  .work-time-page .work-time-signal-table .bulk-select-col{position:static!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;padding:0 0 10px!important}
  .work-time-page .work-time-signal-table .bulk-select-col::before{content:"Selecteren"!important;display:block!important;margin-right:10px}
  .work-time-page .work-time-signal-table td:nth-child(2){padding-right:0!important}
  .work-time-page .work-time-signal-table .work-time-signal-email{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important}
  .work-time-page .work-time-signal-table .status-chip{width:max-content;max-width:100%;white-space:normal!important}
  .work-time-page .work-time-signal-table td:last-child .work-time-action-button{width:100%!important;max-width:none!important;min-width:0!important;min-height:44px!important}

  .work-time-page .work-time-bulk-dialog{width:calc(100vw - 24px)!important;max-width:none!important;max-height:calc(100dvh - 24px)!important;overflow:auto!important;border-radius:16px!important}
  .work-time-page .work-time-bulk-dialog-head{padding:18px 16px 14px!important}
  .work-time-page .work-time-bulk-summary{grid-template-columns:1fr!important;padding:14px 16px!important}
  .work-time-page .work-time-bulk-dialog>label,.work-time-page .work-time-bulk-warning{margin-left:16px!important;margin-right:16px!important}
  .work-time-page .work-time-bulk-dialog-actions{display:grid!important;grid-template-columns:1fr!important;padding:16px!important}
  .work-time-page .work-time-bulk-dialog-actions .button{width:100%!important}

  .work-time-page .work-time-grid,.work-time-page .work-time-grid-operational,.work-time-page .work-time-grid-config{grid-template-columns:1fr!important}
  .work-time-page .work-time-card{min-width:0!important;min-height:0!important}
}
@media (max-width:430px){
  .work-time-page .work-time-dashboard-summary-copy h2,.work-time-page .work-time-section-head h2{overflow-wrap:anywhere}
  .work-time-page .work-time-signal-worklist{padding-left:12px!important;padding-right:12px!important}
  .work-time-page .work-time-signal-table tbody tr{padding:12px!important}
}

/* v0.162.27 · Planning op schaal: scopefilters en gedeelde inklapbare groepen */
.planning-commandbar-filterform{align-items:end}
.planning-commandbar-filterform .planning-filter-search{min-width:min(290px,100%)}
.planning-commandbar-filterform input[type="search"]{width:100%;min-width:220px}
.planning-shared-group-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border:1px solid var(--border,#dfe3e8);border-radius:12px;background:var(--surface,#fff)}
.planning-group-collapse-actions{display:flex;gap:8px;flex-wrap:wrap}
.planning-group-collapse-actions .secondary-button{min-height:36px;padding:7px 11px}
.planning-group-toggle-button{appearance:none;border:0;background:transparent;color:inherit;width:100%;display:flex;align-items:center;gap:9px;padding:0;text-align:left;font:inherit;cursor:pointer}
.planning-group-toggle-button>span:not(.planning-group-chevron){font-weight:750}
.planning-group-toggle-button small{margin-left:auto;font-weight:500;color:var(--muted,#667085)}
.planning-group-chevron{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:7px;background:rgba(15,23,42,.06);font-size:18px;line-height:1;transition:transform .16s ease}
.planning-group-toggle-button.is-collapsed .planning-group-chevron{transform:rotate(-90deg)}
.planning-collapsible-group-head.is-collapsed{border-bottom-color:transparent}
.planning-calendar-group-row th{padding:10px 12px!important;background:#f7f8fa!important;border-top:1px solid var(--border,#dfe3e8);border-bottom:1px solid var(--border,#dfe3e8);position:relative!important;left:auto!important;z-index:1!important}
.planning-list-group-head{margin:12px 0 6px;padding:10px 12px;border:1px solid var(--border,#dfe3e8);border-radius:10px;background:#f7f8fa}
.planning-board-group-row .planning-group-toggle-button{padding:2px 0}
[data-planning-group-item][hidden]{display:none!important}
@media(max-width:800px){
  .planning-commandbar-filterform{grid-template-columns:1fr!important}
  .planning-commandbar-filterform label,.planning-commandbar-filterform .planning-filter-search{width:100%;min-width:0}
  .planning-commandbar-filterform input[type="search"],.planning-commandbar-filterform select{width:100%;min-width:0}
  .planning-filter-button,.planning-filter-reset{width:100%;justify-content:center}
  .planning-shared-group-toolbar{align-items:stretch}
  .planning-board-group-toggle{width:100%}
  .planning-group-collapse-actions{width:100%}
  .planning-group-collapse-actions .secondary-button{flex:1}
  .planning-group-toggle-button small{white-space:nowrap}
}

/* v0.162.28 · Planninggroepering visuele polish en leesbare weektypografie */
.planning-shared-group-toolbar{
  justify-content:flex-start;
  gap:10px;
  padding:8px 10px;
  margin-bottom:14px;
  background:#fbfcfb;
  border-color:#dfe5e1;
  box-shadow:0 1px 2px rgba(31,45,36,.025);
}
.planning-shared-group-toolbar .planning-board-group-toggle{
  gap:3px;
  padding:3px;
  border-radius:10px;
  background:#f4f7f5;
}
.planning-shared-group-toolbar .planning-board-group-toggle>span{
  padding:0 8px;
  font-size:9.5px;
  letter-spacing:.055em;
}
.planning-shared-group-toolbar .planning-board-group-toggle a{
  min-height:32px;
  padding:6px 11px;
  border-radius:8px;
  font-size:11px;
}
.planning-shared-group-toolbar .planning-board-group-toggle a.is-active{
  box-shadow:0 1px 4px rgba(31,45,36,.10), inset 0 0 0 1px rgba(73,91,80,.06);
}
.planning-group-collapse-actions{
  margin-left:auto;
  gap:6px;
}
.planning-group-collapse-actions .secondary-button{
  min-height:32px;
  padding:6px 10px;
  border-radius:9px;
  font-size:10.5px;
  font-weight:800;
}

/* De groepskop is een echte navigatielaag: groter, rustiger en duidelijk klikbaar. */
.planning-group-toggle-button{
  gap:10px;
  min-height:30px;
  color:#33423a;
}
.planning-group-toggle-button>span:not(.planning-group-chevron){
  font-size:12.5px;
  font-weight:850;
  line-height:1.25;
}
.planning-group-toggle-button small{
  font-size:10.5px;
  font-weight:700;
  color:#737e76;
}
.planning-group-chevron{
  width:26px;
  height:26px;
  flex:0 0 26px;
  border:1px solid #e1e6e3;
  border-radius:8px;
  background:#fff;
  color:#435248;
  font-size:18px;
  box-shadow:0 1px 2px rgba(31,45,36,.035);
}
.planning-board-group-row th,
.planning-calendar-group-row th{
  padding:9px 11px!important;
  background:#f4f7f5!important;
  border-top:1px solid #dfe5e1!important;
  border-bottom:1px solid #dfe5e1!important;
}
.planning-board-group-row th span{font-size:12.5px}
.planning-board-group-row th small{font-size:10.5px;margin-left:auto}
.planning-list-group-head{
  margin:14px 0 7px;
  padding:9px 11px;
  border-radius:11px;
  background:#f4f7f5;
}

/* Weekoverzicht: de oude 7–10px desktoptypografie was te klein op brede schermen. */
.planning-board-table thead th{
  height:50px;
  padding:9px 7px;
}
.planning-board-table thead th>span{
  font-size:10.5px;
  letter-spacing:.045em;
}
.planning-board-table thead th>small{
  margin-top:3px;
  font-size:9.5px;
}
.planning-board-table tbody .planning-board-person-col,
.planning-board-table tfoot .planning-board-person-col{
  padding:10px 11px;
}
.planning-board-table tbody .planning-board-person-col strong,
.planning-board-table tfoot .planning-board-person-col strong{
  font-size:12px;
  line-height:1.3;
}
.planning-board-table tbody .planning-board-person-col small,
.planning-board-table tfoot .planning-board-person-col small{
  margin-top:3px;
  font-size:9.5px;
  line-height:1.3;
}
.planning-board-table tbody td{padding:6px}
.planning-board-card{
  gap:2px;
  padding:7px 8px 7px 10px;
  border-radius:9px;
}
.planning-board-card strong{
  font-size:10.5px;
  line-height:1.3;
}
.planning-board-card>span{
  font-size:10px;
  line-height:1.3;
}
.planning-board-card>small{
  font-size:8.8px;
  line-height:1.35;
}
.planning-board-card>em{
  font-size:8.5px;
  line-height:1.3;
}
.planning-board-card.is-open[draggable="true"]>em{font-size:8.4px}
.planning-board-open-origin{font-size:8.6px!important}
.planning-board-card>small.planning-board-absence b{font-size:8.8px}
.planning-board-card>small.planning-board-absence span{font-size:8.4px}
.planning-board-open-action{font-size:10px;padding:7px 10px}

/* Ook kalender/lijst dezelfde leesbaarheid geven zodat de drie weergaven visueel bij elkaar horen. */
.planning-list-member-head strong{font-size:13px}
.planning-list-member-head small{font-size:10.5px}
.planning-list-date strong{font-size:11.5px}
.planning-list-date span{font-size:10px}
.planning-list-empty{font-size:10.5px}
.planning-list-segment-main strong{font-size:11.5px}
.planning-list-segment-main span,
.planning-list-segment-unit,
.planning-list-segment-status{font-size:10px}
.planning-list-segment .secondary-button{font-size:9.5px}

@media(max-width:800px){
  .planning-shared-group-toolbar{padding:9px;gap:8px}
  .planning-shared-group-toolbar .planning-board-group-toggle{display:grid;grid-template-columns:1fr 1fr 1fr;width:100%}
  .planning-shared-group-toolbar .planning-board-group-toggle>span{grid-column:1/-1;padding:4px 6px 2px}
  .planning-shared-group-toolbar .planning-board-group-toggle a{justify-content:center;text-align:center;padding-left:7px;padding-right:7px}
  .planning-group-collapse-actions{margin-left:0;width:100%}
  .planning-group-collapse-actions .secondary-button{flex:1 1 0}
  .planning-group-toggle-button>span:not(.planning-group-chevron){font-size:12px}
  .planning-group-toggle-button small{font-size:10px}
}

/* v0.162.28 · Planning polish: grotere typografie en compactere groepsbediening */
.planning-shared-group-toolbar{
  padding:10px 14px;
  border-radius:14px;
  gap:14px;
}
.planning-shared-group-toolbar .planning-board-group-toggle{
  gap:4px;
  padding:3px;
  border:1px solid #e0e6e2;
  border-radius:11px;
  background:#f7f9f8;
}
.planning-shared-group-toolbar .planning-board-group-toggle>span{
  padding:0 8px;
  font-size:11px;
  letter-spacing:.055em;
}
.planning-shared-group-toolbar .planning-board-group-toggle a{
  min-height:36px;
  padding:8px 14px;
  border-radius:8px;
  font-size:12.5px;
  font-weight:800;
}
.planning-group-collapse-actions .secondary-button{
  min-height:36px;
  padding:8px 13px;
  border-radius:9px;
  font-size:12px;
  font-weight:800;
}
.planning-group-toggle-button{
  min-height:38px;
  gap:11px;
}
.planning-group-toggle-button>span:not(.planning-group-chevron){
  font-size:14px;
  font-weight:850;
  line-height:1.3;
}
.planning-group-toggle-button small{
  font-size:11.5px;
  font-weight:700;
}
.planning-group-chevron{
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:8px;
  font-size:20px;
}
.planning-board-group-row th,
.planning-calendar-group-row th{
  padding:10px 13px!important;
}
.planning-board-group-row th span{font-size:14px}
.planning-board-group-row th small{font-size:11.5px}

/* Weekraster leesbaar houden op desktop zonder de compactheid te verliezen. */
.planning-board-table thead th>span{font-size:12px}
.planning-board-table thead th>small{font-size:10.5px}
.planning-board-table tbody .planning-board-person-col strong,
.planning-board-table tfoot .planning-board-person-col strong{font-size:13.5px}
.planning-board-table tbody .planning-board-person-col small,
.planning-board-table tfoot .planning-board-person-col small{font-size:11px}
.planning-board-card strong{font-size:12.5px;line-height:1.32}
.planning-board-card>span{font-size:11.5px;line-height:1.34}
.planning-board-card>small{font-size:10.5px;line-height:1.35}
.planning-board-card>em{font-size:10px;line-height:1.35}
.planning-board-card.is-open[draggable="true"]>em{font-size:10px}
.planning-board-open-origin{font-size:10px!important}
.planning-board-card>small.planning-board-absence b{font-size:10.5px}
.planning-board-card>small.planning-board-absence span{font-size:10px}
.planning-board-open-action{font-size:11.5px;padding:8px 11px}

.planning-list-member-head strong{font-size:14px}
.planning-list-member-head small{font-size:11.5px}
.planning-list-date strong{font-size:12.5px}
.planning-list-date span{font-size:11px}
.planning-list-empty{font-size:11.5px}
.planning-list-segment-main strong{font-size:12.5px}
.planning-list-segment-main span,
.planning-list-segment-unit,
.planning-list-segment-status{font-size:11px}
.planning-list-segment .secondary-button{font-size:10.5px}

@media(max-width:800px){
  .planning-shared-group-toolbar .planning-board-group-toggle a{font-size:12px;padding:8px 7px}
  .planning-group-collapse-actions .secondary-button{font-size:11.5px}
  .planning-group-toggle-button>span:not(.planning-group-chevron){font-size:13.5px}
  .planning-group-toggle-button small{font-size:11px}
}


/* v0.162.29 · Planbord-header: compactere hiërarchie en grotere leesbaarheid */
.planning-board-panel .planning-board-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  column-gap:28px;
  row-gap:12px;
  margin-bottom:14px;
}
.planning-board-panel .planning-board-head>div:first-child{
  min-width:0;
  max-width:1120px;
}
.planning-board-panel .planning-section-kicker{
  margin-bottom:7px;
  font-size:11px;
  line-height:1.2;
  letter-spacing:.12em;
}
.planning-board-panel .planning-board-head h2{
  margin:0 0 8px;
  font-size:30px;
  line-height:1.12;
  letter-spacing:-.025em;
}
.planning-board-panel .planning-board-head p.muted{
  max-width:1080px;
  margin:0;
  font-size:17px;
  line-height:1.45;
  color:#6f756f;
}
.planning-board-panel .planning-board-head-actions{
  display:grid;
  grid-template-columns:auto;
  justify-items:end;
  align-content:start;
  gap:12px;
  min-width:190px;
}
.planning-board-panel .planning-week-scope{
  display:grid;
  grid-template-columns:auto auto;
  align-items:baseline;
  justify-content:end;
  column-gap:8px;
  row-gap:0;
}
.planning-board-panel .planning-week-scope strong{
  font-size:30px;
  line-height:1;
  letter-spacing:-.02em;
}
.planning-board-panel .planning-week-scope span{
  max-width:118px;
  font-size:14px;
  line-height:1.2;
  text-align:left;
}
.planning-board-panel .planning-board-open-action{
  min-height:42px;
  padding:9px 16px;
  border-radius:10px;
  font-size:14px;
  font-weight:800;
  white-space:nowrap;
}
.planning-board-panel .planning-board-dnd-hint{
  gap:12px;
  margin-bottom:12px;
  padding:12px 14px;
  border-radius:13px;
}
.planning-board-panel .planning-board-dnd-icon{
  width:32px;
  height:32px;
  flex-basis:32px;
  border-radius:9px;
  font-size:16px;
}
.planning-board-panel .planning-board-dnd-hint strong{
  font-size:15px;
  line-height:1.25;
}
.planning-board-panel .planning-board-dnd-hint small{
  font-size:12.5px;
  line-height:1.45;
}
@media(max-width:1100px){
  .planning-board-panel .planning-board-head{
    grid-template-columns:1fr;
  }
  .planning-board-panel .planning-board-head-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-width:0;
  }
  .planning-board-panel .planning-week-scope{
    justify-content:start;
  }
}
@media(max-width:700px){
  .planning-board-panel .planning-board-head h2{font-size:24px}
  .planning-board-panel .planning-board-head p.muted{font-size:15px}
  .planning-board-panel .planning-board-head-actions{align-items:stretch;flex-direction:column}
  .planning-board-panel .planning-week-scope{justify-content:start}
  .planning-board-panel .planning-board-open-action{width:100%;justify-content:center;text-align:center}
}

/* v0.162.30 · Planning visual system: rust, leesbaarheid en semantische kleurzones */
.planning-page{
  --planning-surface:#ffffff;
  --planning-neutral:#f7f9f7;
  --planning-neutral-strong:#eef3ef;
  --planning-info:#f3f7f6;
  --planning-info-border:#d6e2dd;
  --planning-success:#f4f9f5;
  --planning-success-border:#cfe0d3;
  --planning-attention:#fffaf0;
  --planning-attention-border:#ead6a4;
  --planning-danger:#fff7f4;
  --planning-danger-border:#e7c5ba;
  --planning-text:#1c2a21;
  --planning-muted:#667269;
}

/* Rustigere sectieritmes en beter leesbare basistekst. */
.planning-page .planning-section-kicker,
.planning-page .eyebrow{
  font-size:12px;
  line-height:1.2;
  letter-spacing:.11em;
}
.planning-page .muted{color:var(--planning-muted)}
.planning-page-header h1{font-size:32px;line-height:1.08;letter-spacing:-.025em}
.planning-page-header>div:first-child>.muted{font-size:16px;line-height:1.48;max-width:940px}

/* Workflow = zachte groene proceszone met duidelijke actieve stap. */
.planning-workflow-guide{
  padding:22px 24px;
  gap:16px;
  border-color:var(--planning-success-border);
  background:linear-gradient(135deg,#fbfdfb 0%,var(--planning-success) 100%);
  box-shadow:0 8px 24px rgba(39,67,48,.035);
}
.planning-workflow-head{gap:20px}
.planning-workflow-head h2{font-size:23px;line-height:1.2;letter-spacing:-.015em}
.planning-workflow-head p{font-size:14px;line-height:1.5;color:var(--planning-muted)}
.planning-workflow-steps{gap:10px}
.planning-workflow-step{
  min-height:68px;
  padding:13px 14px;
  border-radius:13px;
  border-color:#dfe7e1;
  background:rgba(255,255,255,.82);
}
.planning-workflow-step>span{width:34px;height:34px;flex:0 0 34px;font-size:13px}
.planning-workflow-step strong{font-size:14px;line-height:1.3}
.planning-workflow-step small{font-size:12px;line-height:1.4;margin-top:2px;color:var(--planning-muted)}
.planning-workflow-step.is-done{background:#f1f8f3;border-color:#cfe0d3}
.planning-workflow-step.is-current{background:#fffaf0;border-color:#dfcb92;box-shadow:inset 0 0 0 1px rgba(190,153,66,.08)}
.planning-workflow-summary{gap:8px}
.planning-workflow-summary>span{font-size:12px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.78)}

/* Periode + scope als één rustige bedieningskaart. */
.planning-commandbar{
  padding:16px 18px 18px;
  border-color:#dfe6e1;
  background:linear-gradient(180deg,#fff 0%,#fafcfb 100%);
  box-shadow:0 7px 22px rgba(35,52,40,.04);
}
.planning-commandbar-head{padding-bottom:14px}
.planning-commandbar-period{padding:13px 16px;background:#f5f8f6;border-color:#e5ebe7}
.planning-commandbar-filters{gap:14px;padding-top:15px}
.planning-commandbar-date label,.planning-commandbar-filterform label{
  gap:6px;
  font-size:11px;
  line-height:1.2;
  text-transform:none;
  letter-spacing:.01em;
  color:#637068;
}
.planning-commandbar-date input,
.planning-commandbar-filterform select,
.planning-commandbar-filterform input{
  min-height:44px;
  border-radius:10px;
  border-color:#d4ddd6;
  font-size:14px;
  padding:9px 11px;
}
.planning-commandbar-filterform .planning-filter-button,
.planning-commandbar-filterform .planning-filter-reset{min-height:44px;font-size:13px;padding:9px 15px;border-radius:10px}

/* Forecast = informatieve blauwgroene zone met leesbare weekkaarten. */
.planning-capacity-horizon{
  padding:18px;
  border:1px solid var(--planning-info-border);
  border-radius:18px;
  background:linear-gradient(135deg,#f8fbfa 0%,#f3f7f6 100%);
  gap:13px;
}
.planning-horizon-head span{font-size:13px;letter-spacing:.08em;color:#576a60}
.planning-horizon-head small{margin-top:4px;font-size:12.5px;line-height:1.45;color:var(--planning-muted)}
.planning-horizon-grid{gap:11px}
.planning-capacity-card{
  padding:14px 15px;
  gap:10px;
  border-radius:15px;
  background:#fff;
  box-shadow:0 4px 14px rgba(30,50,38,.025);
}
.planning-capacity-card.is-available{border-color:#bcd8c4;background:#fbfefc}
.planning-capacity-card.is-tight{border-color:#e4cf92;background:#fffdf7}
.planning-capacity-card.is-over{border-color:#e2b9ae;background:#fffaf8}
.planning-capacity-card-top{gap:4px}
.planning-capacity-card-top span{font-size:10.5px;letter-spacing:.07em}
.planning-capacity-card-top strong{font-size:16px;line-height:1.2}
.planning-capacity-priority{margin:0;padding:8px 10px;border-radius:10px}
.planning-capacity-priority small{font-size:9.5px}
.planning-capacity-priority strong{font-size:12px}
.planning-capacity-priority>em{font-size:10px;line-height:1.4}
.planning-capacity-metrics{gap:9px}
.planning-capacity-metrics small{font-size:10.5px;line-height:1.35;text-transform:none;letter-spacing:0}
.planning-capacity-metrics b{font-size:15px;line-height:1.2}
.planning-capacity-bar{height:6px}
.planning-capacity-foot{font-size:10.5px!important;line-height:1.45}
.planning-capacity-compact-signals{gap:8px;margin-top:1px}
.planning-capacity-compact-signals>span{padding:10px 11px;border-radius:10px;background:rgba(255,255,255,.9)}
.planning-capacity-compact-signals small{font-size:9.5px;letter-spacing:.045em}
.planning-capacity-compact-signals b{font-size:11px;line-height:1.42}
.planning-capacity-actions-compact .secondary-button{min-height:34px;padding:7px 10px;font-size:11px}
.planning-capacity-open-week{font-size:11px}

/* Weekstatus is de samenvatting: compacte semantische statusbalk. */
.planning-week-health{
  margin-top:14px;
  padding:17px 19px;
  gap:16px;
  border-radius:15px;
  box-shadow:none;
}
.planning-week-health.has-followup{background:var(--planning-attention);border-color:var(--planning-attention-border)}
.planning-week-health.has-blocking{background:var(--planning-danger);border-color:var(--planning-danger-border)}
.planning-week-health.is-ready{background:var(--planning-success);border-color:var(--planning-success-border)}
.planning-week-health-label{font-size:10.5px}
.planning-week-health-copy>strong{font-size:18px}
.planning-week-health-copy p{font-size:12.5px;line-height:1.5}
.planning-week-health-kpis{gap:8px}
.planning-week-health-kpis>span{min-height:58px;padding:9px 11px}
.planning-week-health-kpis small{font-size:10px;line-height:1.3}
.planning-week-health-kpis b{font-size:15px}

/* KPI-tegels: grotere cijfers, minder dashboardruis. */
.planning-kpi-grid{gap:10px}
.planning-kpi{
  min-height:112px;
  padding:16px 17px;
  border-radius:15px;
  background:#fff;
  box-shadow:0 4px 14px rgba(31,48,36,.025);
}
.planning-kpi>span{font-size:11px;line-height:1.25;letter-spacing:.06em}
.planning-kpi>strong{font-size:32px;line-height:1}
.planning-kpi>small{font-size:12px;line-height:1.45;color:var(--planning-muted)}
.planning-kpi.planning-kpi--workversions{background:#f7fafb}
.planning-kpi.planning-kpi--published{background:#f7fbf8}
.planning-kpi.planning-kpi--changed{background:#fffaf1}
.planning-kpi.planning-kpi--conflicts{background:#fff9f6}
.planning-kpi.planning-kpi--worktime{background:#fff7f5}

/* Planningcontrole = actieblok, visueel anders dan de weekstatus. */
.planning-control-summary{
  padding:16px 18px;
  border-radius:14px;
  background:#fff;
}
.planning-control-summary.has-signals{background:#fffdf8;border-color:#e7d8ab}
.planning-control-summary.is-clear{background:#f8fbf9;border-color:#d5e3d8}
.planning-control-summary h3{font-size:17px}
.planning-control-summary p{font-size:12.5px;line-height:1.5}
.planning-control-summary-actions .secondary-button,
.planning-control-summary-actions .primary-button{min-height:38px;padding:8px 12px;font-size:12px;border-radius:9px}

/* Impactcentrum: minder leegte, grotere tekst en zachte aandachtkleur. */
.planning-watch-center{
  padding:20px 22px;
  gap:15px;
  border-radius:18px;
  background:#fff;
}
.planning-watch-center.has-followup{background:linear-gradient(135deg,#fffdf8 0%,#fffaf0 100%);border-color:var(--planning-attention-border)}
.planning-watch-center.has-blocking{background:linear-gradient(135deg,#fffaf8 0%,#fff6f2 100%);border-color:var(--planning-danger-border)}
.planning-watch-center.is-clear{background:linear-gradient(135deg,#fbfdfb 0%,#f5faf6 100%);border-color:var(--planning-success-border)}
.planning-watch-head{gap:18px}
.planning-watch-head h3{font-size:20px;line-height:1.25;margin:0 0 5px}
.planning-watch-head p{font-size:13px;line-height:1.5}
.planning-watch-kpis{grid-template-columns:repeat(3,minmax(118px,1fr));gap:8px;min-width:min(500px,47%)}
.planning-watch-kpis span{padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.82)}
.planning-watch-kpis small{font-size:10px;line-height:1.25;letter-spacing:.045em}
.planning-watch-kpis strong{font-size:24px;line-height:1.1}
.planning-watch-kpis span em{font-size:10px;line-height:1.3}
.planning-watch-item{padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.84)}
.planning-watch-item strong{font-size:14px}
.planning-watch-item p{font-size:12.5px;line-height:1.45}

/* Planbord: kleur alleen gebruiken voor navigatie, groepen en status; data blijft rustig. */
.planning-board-panel{background:#fff}
.planning-board-legend{background:#f7f9f7;border-color:#e0e6e1}
.planning-board-legend span{font-size:11.5px}
.planning-board-group-row th,
.planning-calendar-group-row th{background:#f2f6f3!important;border-color:#dbe4dd!important}
.planning-group-toggle-button>span:not(.planning-group-chevron){font-size:16px}
.planning-group-toggle-button small{font-size:12.5px}
.planning-board-table thead th>span{font-size:13px}
.planning-board-table thead th>small{font-size:11.5px}
.planning-board-table tbody .planning-board-person-col strong,
.planning-board-table tfoot .planning-board-person-col strong{font-size:15px;line-height:1.3}
.planning-board-table tbody .planning-board-person-col small,
.planning-board-table tfoot .planning-board-person-col small{font-size:12px;line-height:1.35}
.planning-board-card strong{font-size:14px;line-height:1.32}
.planning-board-card>span{font-size:13px;line-height:1.35}
.planning-board-card>small{font-size:11.5px;line-height:1.4}
.planning-board-card>em{font-size:11px;line-height:1.4}
.planning-board-card .secondary-button,
.planning-board-table .plan-edit-trigger,
.planning-board-table .planning-inline-add,
.planning-board-table .planning-direct-publish-link{font-size:11.5px}

/* Onderste acties als compacte actierijen i.p.v. grote losse blokken. */
.planning-actions-heading{padding:10px 4px 2px}
.planning-actions-heading h2{font-size:22px;line-height:1.2;margin-bottom:5px}
.planning-actions-heading p{font-size:14px;line-height:1.5}
.planning-action-card{
  border-radius:14px;
  border-color:#dfe5e1;
  box-shadow:none;
  background:#fff;
}
.planning-action-summary{padding:13px 16px;min-height:66px}
.planning-action-summary>div{gap:12px}
.planning-action-icon{width:34px;height:34px;border-radius:10px;font-size:12px;background:#eef4f0}
.planning-action-summary strong{font-size:15px;line-height:1.3}
.planning-action-summary small{font-size:12px;line-height:1.4;margin-top:2px}
.planning-summary-chevron{font-size:12px;padding:7px 10px;border:1px solid #dde4df;border-radius:8px;background:#fafbfa}
.planning-action-card[open] .planning-summary-chevron:after{font-size:12px}

@media(max-width:1100px){
  .planning-capacity-horizon{padding:15px}
  .planning-watch-kpis{min-width:0;width:100%}
}
@media(max-width:900px){
  .planning-watch-head{display:grid}
  .planning-watch-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .planning-page-header h1{font-size:27px}
  .planning-page-header>div:first-child>.muted{font-size:15px}
  .planning-workflow-guide{padding:17px}
  .planning-workflow-head h2{font-size:20px}
  .planning-commandbar{padding:13px}
  .planning-capacity-horizon{padding:13px;border-radius:15px}
  .planning-watch-center{padding:16px}
  .planning-watch-kpis{grid-template-columns:1fr}
  .planning-kpi{min-height:100px;padding:14px}
  .planning-kpi>strong{font-size:28px}
  .planning-board-table tbody .planning-board-person-col strong{font-size:14px}
  .planning-board-card strong{font-size:13px}
  .planning-board-card>span{font-size:12.5px}
  .planning-action-summary{padding:12px 13px}
  .planning-action-summary small{display:block}
}

/* v0.162.31 · Planning polish: grotere leesbaarheid, minder nested cards, compacte status- en publicatiezones */
.planning-page .muted,
.planning-workflow-guide p,
.planning-commandbar small,
.planning-capacity-horizon small,
.planning-control-summary p,
.planning-watch-center p,
.planning-action-body p,
.planning-publication-center p{font-size:14px;line-height:1.5}

/* Capaciteit: minder kaart-in-kaart, duidelijkere waarden en rustiger semantisch kleurgebruik. */
.planning-capacity-card{padding:16px 16px 14px;gap:12px}
.planning-capacity-card-top span{font-size:11.5px;text-transform:none;letter-spacing:.035em}
.planning-capacity-card-top strong{font-size:18px}
.planning-capacity-priority{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0;border:0;background:transparent!important}
.planning-capacity-priority>div{display:flex;align-items:center;gap:7px}
.planning-capacity-priority small{font-size:11px;text-transform:none;letter-spacing:0;color:#737e76}
.planning-capacity-priority strong{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid #e3d19b;border-radius:999px;background:#fff9e9;font-size:12px}
.planning-capacity-priority.is-on-track strong{border-color:#cfe0d2;background:#f4faf5;color:#3f6d4c}
.planning-capacity-priority.is-first strong{border-color:#e2b9ae;background:#fff4f0;color:#8b493a}
.planning-capacity-priority>em{font-size:11.5px;line-height:1.4;color:#6d776f;text-align:right}
.planning-capacity-metrics{padding:2px 0 4px;gap:14px}
.planning-capacity-metrics small{font-size:12px;color:#6a756d}
.planning-capacity-metrics b{font-size:17px}
.planning-capacity-foot{font-size:12px!important}
.planning-capacity-compact-signals{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid #e5eae6;border-bottom:1px solid #e5eae6}
.planning-capacity-compact-signals>span{display:grid;grid-template-columns:92px 1fr;align-items:center;gap:10px;padding:9px 2px;border:0;border-bottom:1px solid #edf0ed;border-radius:0;background:transparent!important}
.planning-capacity-compact-signals>span:last-child{border-bottom:0}
.planning-capacity-compact-signals small{font-size:11.5px;text-transform:none;letter-spacing:0;color:#6e7971}
.planning-capacity-compact-signals b{font-size:12.5px;line-height:1.35}

/* Weekstatus blijft samenvatting; planningcontrole wordt een compacte actiebalk. */
.planning-control-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 16px!important;min-height:0}
.planning-control-summary h3{font-size:16px;margin-bottom:2px}
.planning-control-summary p{margin:0;font-size:13.5px!important}
.planning-control-summary-actions{flex-wrap:nowrap}
.planning-control-summary-actions .secondary-button,
.planning-control-summary-actions .primary-button{white-space:nowrap}

/* Planbord: meer ademruimte voor de medewerkercontext en grotere dagelijkse actietekst. */
.planning-board-person-col{width:205px!important;min-width:205px!important;max-width:205px!important}
.planning-board-table tbody .planning-board-person-col small,
.planning-board-table tfoot .planning-board-person-col small{font-size:13px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.planning-board-person-col .planning-board-weekload{font-size:12.5px!important;line-height:1.35!important}
.planning-board-person-col .planning-board-weekdelta{font-size:12px!important;line-height:1.3!important}
.planning-board-card .secondary-button,
.planning-board-table .plan-edit-trigger,
.planning-board-table .planning-inline-add,
.planning-board-table .planning-direct-publish-link{font-size:13px!important;min-height:30px;padding:5px 9px}
.planning-board-card>small,.planning-board-card>em{font-size:12.5px!important}

/* Publicatiecentrum: drie compacte statuskaarten bovenaan i.p.v. zes kleine blokken. */
.planning-publication-hr-summary{display:grid;grid-template-columns:minmax(250px,1.15fr) minmax(460px,1fr);gap:18px;align-items:start}
.planning-publication-hr-summary h2{font-size:20px}
.planning-publication-hr-summary p{font-size:14px!important}
.planning-publication-hr-kpis--compact{grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;gap:9px}
.planning-publication-hr-kpis--compact span{padding:11px 12px}
.planning-publication-hr-kpis--compact small{font-size:10.5px;text-transform:none;letter-spacing:0}
.planning-publication-hr-kpis--compact strong{font-size:13.5px;line-height:1.35}
.planning-publication-hr-kpis--compact em{font-size:11.5px;line-height:1.4}
.planning-publication-hr-route{grid-column:1/-1;margin-top:0;padding-top:14px;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(220px,1.25fr)}
.planning-publication-hr-route article{min-height:92px;padding:12px 13px}
.planning-publication-hr-route small{font-size:10.5px;text-transform:none;letter-spacing:0}
.planning-publication-hr-route strong{font-size:16px}
.planning-publication-hr-route span{font-size:11.5px}

/* Planningacties: één open stap tegelijk; visueel compacter wanneer open. */
.planning-action-card[open]{box-shadow:0 8px 22px rgba(34,52,40,.045)}
.planning-action-card[open]>.planning-action-summary{background:#f7faf8;border-bottom:1px solid #e2e8e3}
.planning-action-body{padding-top:18px}

@media(max-width:1180px){
  .planning-publication-hr-summary{grid-template-columns:1fr}
  .planning-publication-hr-route{grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .planning-board-person-col{width:175px!important;min-width:175px!important;max-width:175px!important}
  .planning-control-summary{align-items:flex-start;flex-direction:column}
  .planning-control-summary-actions{flex-wrap:wrap}
}
@media(max-width:700px){
  .planning-publication-hr-kpis--compact,.planning-publication-hr-route{grid-template-columns:1fr!important}
  .planning-board-person-col{width:160px!important;min-width:160px!important;max-width:160px!important}
}

/* v0.162.32 · Planning readability pass: larger secondary text and form typography. */
.planning-quick-actions{
  gap:10px;
  margin-bottom:18px;
  font-size:12px;
  line-height:1.35;
}
.planning-quick-actions>span{
  font-size:12px;
  letter-spacing:.07em;
}
.planning-quick-actions a{
  padding:8px 13px;
  font-size:13px;
  line-height:1.2;
}

.planning-action-summary strong{font-size:15px;line-height:1.3}
.planning-action-summary small{font-size:13px;line-height:1.4}
.planning-action-icon{font-size:12px}
.planning-summary-chevron{font-size:12px}
.planning-action-card[open] .planning-summary-chevron:after{font-size:13px}

.planning-action-body>.planning-section-head.compact h2,
.planning-action-body .planning-section-head.compact h2{font-size:19px;line-height:1.25}
.planning-action-body>.planning-section-head.compact p,
.planning-action-body .planning-section-head.compact p{font-size:15px;line-height:1.55;max-width:1050px}

.planning-shift-form label>span,
.planning-bulk-range label>span,
.planning-bulk-confirm label>span,
.planning-single-confirm label>span,
.planning-publish label>span,
.planning-generation-range label>span,
.planning-publication-range label>span{
  font-size:13px;
  line-height:1.3;
}
.planning-shift-form input,
.planning-shift-form select,
.planning-bulk-range input,
.planning-bulk-range select,
.planning-bulk-confirm input,
.planning-publish input,
.planning-publish select,
.planning-single-confirm input,
.planning-picker-search,
.planning-generation-range input,
.planning-generation-range select,
.planning-publication-range input,
.planning-publication-range select{
  min-height:44px;
  padding:10px 12px;
  font-size:14px;
}
.planning-shift-form small,
.planning-bulk-range small,
.planning-generation-range small,
.planning-publication-range small,
.planning-bulk-confirm small,
.planning-publish small,
.planning-single-confirm small{
  font-size:12.5px;
  line-height:1.45;
}

.planning-employee-picker{padding:15px 16px}
.planning-employee-picker legend{font-size:15px;line-height:1.3}
.planning-picker-tools .button-link{
  min-height:36px;
  padding:7px 11px;
  font-size:12px;
}
.planning-picker-search{
  min-height:42px;
  padding:9px 12px;
  font-size:14px;
}
.planning-employee-checks label{
  padding:9px 10px;
  font-size:13.5px;
  line-height:1.35;
}
.planning-employee-picker>small{
  margin-top:9px;
  font-size:12.5px;
  line-height:1.45;
}

.planning-publication-section-heading h3{font-size:19px;line-height:1.25}
.planning-publication-section-heading p{font-size:15px;line-height:1.5}
.planning-publication-history-scope strong{font-size:16px}
.planning-publication-history-scope span{font-size:13px;line-height:1.4}
.planning-publication-history-empty strong{font-size:16px;line-height:1.3}
.planning-publication-history-empty span{font-size:14px;line-height:1.45}
.planning-publication-post-audit summary strong{font-size:15px}
.planning-publication-post-audit summary span,
.planning-publication-post-audit-row small,
.planning-publication-post-audit-text p{font-size:13px;line-height:1.45}

.planning-shift-fieldset>p,
.planning-shift-form fieldset>p,
.planning-action-body fieldset>p,
.planning-action-body .muted{
  font-size:14px;
  line-height:1.5;
}

@media(max-width:700px){
  .planning-quick-actions{font-size:12px}
  .planning-quick-actions a{font-size:13px;padding:9px 12px}
  .planning-action-summary strong{font-size:14px}
  .planning-action-summary small{display:block;font-size:12px}
  .planning-shift-form label>span,
  .planning-bulk-range label>span,
  .planning-bulk-confirm label>span,
  .planning-single-confirm label>span,
  .planning-publish label>span{font-size:13px}
}

/* v0.162.33 · Planning filter + capacity readability refinement. */
.planning-commandbar-date label,
.planning-commandbar-filterform label{
  font-size:14px;
  font-weight:800;
  color:#536158;
  gap:7px;
}
.planning-commandbar-date input,
.planning-commandbar-filterform select,
.planning-commandbar-filterform input{
  min-height:48px;
  font-size:16px;
  line-height:1.25;
  padding:11px 13px;
  color:#1f2822;
}
.planning-commandbar-filterform input::placeholder{color:#747f77;opacity:1}
.planning-commandbar-filterform label:nth-of-type(1){min-width:190px}
.planning-commandbar-filterform label:nth-of-type(1) select{min-width:190px}
.planning-commandbar-filterform label:nth-of-type(2){min-width:280px}
.planning-commandbar-filterform .planning-filter-search{min-width:360px}
.planning-commandbar-filterform .planning-filter-button,
.planning-commandbar-filterform .planning-filter-reset{
  min-height:48px;
  font-size:15px;
  padding:11px 18px;
}
.planning-commandbar-period .planning-period-current span{font-size:12.5px}
.planning-commandbar-period .planning-period-current strong{font-size:20px}
.planning-commandbar-period .planning-period-today{font-size:14px}

.planning-horizon-head span{font-size:14px;letter-spacing:.055em}
.planning-horizon-head small{font-size:14px;line-height:1.5}
.planning-capacity-card{padding:17px 17px 15px;gap:13px}
.planning-capacity-card-top span{font-size:13px;font-weight:800;color:#6c796f}
.planning-capacity-card-top strong{font-size:20px;line-height:1.18}
.planning-capacity-priority small{font-size:12.5px;color:#6a766e}
.planning-capacity-priority strong{font-size:14px;padding:5px 10px}
.planning-capacity-priority>em{font-size:12.5px;line-height:1.45}
.planning-capacity-metrics{gap:12px}
.planning-capacity-metrics small{font-size:13px;line-height:1.35;color:#606d64}
.planning-capacity-metrics b{font-size:20px;line-height:1.15}
.planning-capacity-foot{font-size:13px!important;line-height:1.45;color:#657168}
.planning-capacity-compact-signals>span{grid-template-columns:105px 1fr;padding:10px 2px}
.planning-capacity-compact-signals small{font-size:12.5px;color:#69766d}
.planning-capacity-compact-signals b{font-size:13.5px;line-height:1.4}
.planning-capacity-actions-compact .secondary-button{min-height:38px;padding:8px 12px;font-size:13px}
.planning-capacity-open-week{font-size:13px;font-weight:750}

@media(max-width:1180px){
  .planning-commandbar-filterform label:nth-of-type(1),
  .planning-commandbar-filterform label:nth-of-type(1) select,
  .planning-commandbar-filterform label:nth-of-type(2),
  .planning-commandbar-filterform .planning-filter-search{min-width:0}
}
@media(max-width:700px){
  .planning-commandbar-date label,
  .planning-commandbar-filterform label{font-size:13.5px}
  .planning-commandbar-date input,
  .planning-commandbar-filterform select,
  .planning-commandbar-filterform input{font-size:15px}
  .planning-capacity-card-top strong{font-size:18px}
  .planning-capacity-metrics b{font-size:18px}
}

/* v0.162.34 · Modern planner control bar. */
.planning-commandbar{
  padding:18px 20px 20px;
  border:1px solid #dde5df;
  border-radius:22px;
  background:#fff;
  box-shadow:0 10px 30px rgba(38,53,43,.055);
  overflow:visible;
}
.planning-commandbar-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
  padding:0 0 16px;
}
.planning-commandbar-modes{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.planning-commandbar .planning-period-choice,
.planning-commandbar .planning-display-toggle{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:5px;
  border:1px solid #dce4de;
  border-radius:14px;
  background:#f4f7f5;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}
.planning-commandbar .planning-period-choice a,
.planning-commandbar .planning-display-toggle a{
  min-height:42px;
  padding:9px 18px;
  border-radius:10px;
  color:#5b685f;
  font-size:15px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.01em;
}
.planning-commandbar .planning-period-choice a.active,
.planning-commandbar .planning-display-toggle a.is-active{
  background:#fff;
  color:#2e4035;
  box-shadow:0 3px 10px rgba(39,56,45,.10);
}
.planning-commandbar-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-left:auto;
}
.planning-commandbar-actions .primary-button,
.planning-commandbar-actions .secondary-button,
.planning-commandbar-actions button{
  min-height:48px;
  padding:11px 19px;
  border-radius:13px;
  font-size:15px;
  line-height:1.15;
  font-weight:800;
  white-space:nowrap;
}
.planning-commandbar-history{padding-inline:17px!important}

.planning-commandbar-period{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:86px;
  margin:0 -2px;
  padding:14px 18px;
  border:1px solid #e3e9e5;
  border-radius:16px;
  background:linear-gradient(180deg,#f8faf9 0%,#f4f7f5 100%);
}
.planning-commandbar-period .planning-period-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border:1px solid #d9e1db;
  border-radius:12px;
  background:#fff;
  color:#33463a;
  font-size:31px;
  font-weight:650;
  text-decoration:none;
  box-shadow:0 2px 7px rgba(35,50,40,.06);
}
.planning-commandbar-period .planning-period-current{
  min-width:330px;
  text-align:center;
}
.planning-commandbar-period .planning-period-current span{
  display:block;
  margin-bottom:2px;
  color:#748178;
  font-size:13px;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.planning-commandbar-period .planning-period-current strong{
  color:#22342a;
  font-size:24px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:-.025em;
}
.planning-commandbar-period .planning-period-today{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 15px;
  border:1px solid #d9e1db;
  border-radius:11px;
  background:#fff;
  color:#526158;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
}

.planning-commandbar-filters{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:end;
  gap:14px;
  margin-top:14px;
  padding:16px;
  border:1px solid #e2e8e4;
  border-radius:16px;
  background:#fafcfb;
}
.planning-commandbar-date,
.planning-commandbar-filterform{
  display:flex;
  align-items:end;
  gap:10px;
  margin:0;
}
.planning-commandbar-date{
  padding:0 15px 0 0;
  border:0;
  border-right:1px solid #e1e7e3;
}
.planning-commandbar-date label,
.planning-commandbar-filterform label{
  display:grid;
  gap:7px;
  margin:0;
  color:#506057;
  font-size:14px;
  font-weight:800;
  line-height:1.2;
}
.planning-commandbar-date input,
.planning-commandbar-filterform select,
.planning-commandbar-filterform input{
  min-height:50px;
  border:1px solid #cfd9d2;
  border-radius:12px;
  background:#fff;
  color:#203128;
  font-size:16px;
  line-height:1.2;
  font-weight:650;
  padding:11px 14px;
  box-shadow:0 1px 0 rgba(255,255,255,.85), inset 0 1px 2px rgba(35,50,40,.02);
}
.planning-commandbar-date input:focus,
.planning-commandbar-filterform select:focus,
.planning-commandbar-filterform input:focus{
  border-color:#819489;
  outline:3px solid rgba(129,148,137,.13);
  outline-offset:1px;
}
.planning-commandbar-date input{width:175px}
.planning-date-go{
  min-width:48px;
  min-height:50px;
  padding:10px 12px;
  border:1px solid #d4ddd7;
  border-radius:12px;
  background:#fff;
  font-size:13px;
  font-weight:800;
}
.planning-commandbar-filterform{
  display:grid;
  grid-template-columns:minmax(210px,.8fr) minmax(260px,1fr) minmax(360px,1.35fr) auto auto;
  align-items:end;
  gap:10px;
  min-width:0;
}
.planning-commandbar-filterform label:nth-of-type(1),
.planning-commandbar-filterform label:nth-of-type(1) select,
.planning-commandbar-filterform label:nth-of-type(2),
.planning-commandbar-filterform .planning-filter-search{
  min-width:0;
  max-width:none;
  width:100%;
}
.planning-commandbar-filterform input[type="search"]{width:100%;min-width:0}
.planning-commandbar-filterform input::placeholder{color:#78847c;opacity:1;font-weight:500}
.planning-commandbar-filterform .planning-filter-button{
  min-height:50px;
  padding:11px 20px;
  border-radius:12px;
  font-size:15px;
  font-weight:800;
  white-space:nowrap;
}
.planning-commandbar-filterform .planning-filter-reset{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:10px 14px;
  border-radius:12px;
  font-size:14px;
  font-weight:800;
}

@media(max-width:1250px){
  .planning-commandbar-head{grid-template-columns:1fr}
  .planning-commandbar-actions{margin-left:0;justify-content:flex-start;flex-wrap:wrap}
  .planning-commandbar-filters{grid-template-columns:1fr}
  .planning-commandbar-date{padding-right:0;padding-bottom:14px;border-right:0;border-bottom:1px solid #e1e7e3}
  .planning-commandbar-filterform{grid-template-columns:minmax(180px,.8fr) minmax(220px,1fr) minmax(280px,1.2fr) auto auto}
}
@media(max-width:900px){
  .planning-commandbar{padding:14px}
  .planning-commandbar-modes{align-items:stretch}
  .planning-commandbar .planning-period-choice,
  .planning-commandbar .planning-display-toggle{flex:1}
  .planning-commandbar .planning-period-choice a,
  .planning-commandbar .planning-display-toggle a{flex:1}
  .planning-commandbar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .planning-commandbar-actions>*{width:100%;margin:0}
  .planning-commandbar-period .planning-period-current{min-width:0;flex:1}
  .planning-commandbar-filterform{grid-template-columns:1fr 1fr}
  .planning-commandbar-filterform .planning-filter-search{grid-column:1/-1}
  .planning-commandbar-filterform .planning-filter-button{grid-column:1/2}
}
@media(max-width:650px){
  .planning-commandbar-modes{display:grid;grid-template-columns:1fr;gap:10px}
  .planning-commandbar .planning-period-choice,
  .planning-commandbar .planning-display-toggle{width:100%}
  .planning-commandbar .planning-display-toggle{display:grid;grid-template-columns:repeat(3,1fr)}
  .planning-commandbar-actions{grid-template-columns:1fr}
  .planning-commandbar-period{gap:8px;min-height:74px;padding:11px 8px}
  .planning-commandbar-period .planning-period-arrow{width:42px;height:42px;font-size:27px}
  .planning-commandbar-period .planning-period-current strong{font-size:18px}
  .planning-commandbar-period .planning-period-current span{font-size:11.5px}
  .planning-commandbar-period .planning-period-today{display:none}
  .planning-commandbar-date{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}
  .planning-commandbar-date label{width:100%}
  .planning-commandbar-date input{width:100%}
  .planning-commandbar-filterform{grid-template-columns:1fr;width:100%}
  .planning-commandbar-filterform .planning-filter-search,
  .planning-commandbar-filterform .planning-filter-button,
  .planning-commandbar-filterform .planning-filter-reset{grid-column:auto;width:100%}
}

/* v0.162.35 · Fluid planner control bar: prevent filter/action clipping. */
.planning-commandbar-filters{
  grid-template-columns:minmax(235px,auto) minmax(0,1fr);
  column-gap:16px;
}
.planning-commandbar-date{
  min-width:0;
}
.planning-commandbar-date label{
  min-width:0;
}
.planning-commandbar-filterform{
  width:100%;
  min-width:0;
  margin-left:0;
  grid-template-columns:minmax(165px,.75fr) minmax(200px,1fr) minmax(260px,1.55fr) minmax(178px,auto) auto;
}
.planning-commandbar-filterform > *{min-width:0}
.planning-commandbar-filterform .planning-filter-button{
  width:100%;
  min-width:178px;
  padding-inline:17px;
}
.planning-commandbar-history{
  max-width:280px;
  padding-inline:16px!important;
}

@media(max-width:1550px){
  .planning-commandbar-filters{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .planning-commandbar-date{
    display:grid;
    grid-template-columns:minmax(0,240px) auto;
    justify-content:start;
    align-items:end;
    width:100%;
    padding:0 0 14px;
    border-right:0;
    border-bottom:1px solid #e1e7e3;
  }
  .planning-commandbar-date input{width:100%}
  .planning-commandbar-filterform{
    grid-template-columns:minmax(180px,.8fr) minmax(220px,1fr) minmax(280px,1.5fr) minmax(178px,auto) auto;
  }
}

@media(max-width:1180px){
  .planning-commandbar-filterform{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-areas:
      "unit function"
      "search search"
      "apply reset";
  }
  .planning-commandbar-filterform label:nth-of-type(1){grid-area:unit}
  .planning-commandbar-filterform label:nth-of-type(2){grid-area:function}
  .planning-commandbar-filterform .planning-filter-search{grid-area:search}
  .planning-commandbar-filterform .planning-filter-button{grid-area:apply;width:auto;min-width:0}
  .planning-commandbar-filterform .planning-filter-reset{grid-area:reset;width:auto;min-width:0}
}

@media(max-width:700px){
  .planning-commandbar-date{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .planning-commandbar-filterform{
    grid-template-columns:1fr;
    grid-template-areas:
      "unit"
      "function"
      "search"
      "apply"
      "reset";
  }
  .planning-commandbar-filterform .planning-filter-button,
  .planning-commandbar-filterform .planning-filter-reset{width:100%}
}


/* v0.162.36 · Capaciteitsforecast rustiger en semantischer + Open diensten als Nova-knop */
.planning-capacity-card{
  background:#fffdfa !important;
  border-color:#dfe5e0 !important;
  color:var(--text,#172017);
}
.planning-capacity-card.current{box-shadow:none}
.planning-capacity-card.is-over,
.planning-capacity-card.is-tight,
.planning-capacity-card.is-available,
.planning-capacity-card.is-neutral{
  background:#fffdfa !important;
  border-color:#dfe5e0 !important;
  color:var(--text,#172017);
}
.planning-capacity-priority{
  background:transparent !important;
  border:0 !important;
  border-radius:0;
  padding:2px 0 4px !important;
  margin:4px 0 8px !important;
  gap:8px 10px;
}
.planning-capacity-priority>div{gap:8px}
.planning-capacity-priority small{
  text-transform:none;
  letter-spacing:0;
  font-size:13px;
  color:#68756d;
}
.planning-capacity-priority strong{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:4px 11px;
  border-radius:999px;
  border:1px solid #dcc27b;
  background:#fff8e7;
  color:#805f16 !important;
  font-size:14px;
  line-height:1.2;
}
.planning-capacity-priority.is-on-track strong{
  border-color:#cbdccf;
  background:#f4faf5;
  color:#456b50 !important;
}
.planning-capacity-priority.is-first strong{
  border-color:#dfaaa5;
  background:#fff4f2;
  color:#9b4538 !important;
}
.planning-capacity-priority>em{
  margin-left:auto;
  font-size:13px !important;
  line-height:1.4;
  font-weight:650;
  color:#68756d;
}
.planning-capacity-metrics{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:end;
}
.planning-capacity-metrics>span{gap:5px}
.planning-capacity-metrics small{
  font-size:13px !important;
  line-height:1.3;
  color:#657269;
  text-transform:none;
  letter-spacing:0;
  overflow-wrap:normal;
}
.planning-capacity-metrics b{
  font-size:21px !important;
  line-height:1.1;
  letter-spacing:-.02em;
  color:#243329;
}
.planning-capacity-card.is-over .planning-capacity-metrics>span:last-child b,
.planning-capacity-card.is-tight .planning-capacity-metrics>span:last-child b{
  color:#9a6a1f;
}
.planning-capacity-bar{
  height:5px;
  background:#edf0ed;
}
.planning-capacity-bar i{
  background:#c49a4a !important;
  opacity:.82;
}
.planning-capacity-card.is-available .planning-capacity-bar i{
  background:#7fa08a !important;
}
.planning-capacity-foot{
  font-size:13px !important;
  line-height:1.45;
  color:#68756d !important;
}
.planning-capacity-compact-signals{
  grid-template-columns:1fr !important;
  gap:0 !important;
  margin-top:8px;
  border-top:1px solid #e4e9e5;
}
.planning-capacity-compact-signals>span{
  display:grid;
  grid-template-columns:minmax(112px,.8fr) minmax(0,1.7fr);
  align-items:center;
  gap:12px;
  padding:11px 2px;
  border:0 !important;
  border-bottom:1px solid #e4e9e5 !important;
  border-radius:0 !important;
  background:transparent !important;
}
.planning-capacity-compact-signals small{
  font-size:13px !important;
  line-height:1.35;
  text-transform:none;
  letter-spacing:0;
  color:#68756d;
  font-weight:750;
}
.planning-capacity-compact-signals b{
  font-size:14px !important;
  line-height:1.4;
  color:#243329 !important;
  font-weight:750;
  text-transform:none;
}
.planning-capacity-compact-signals .has-shortage b{color:#9a463d !important}
.planning-capacity-compact-signals .has-absence b{color:#94671e !important}
.planning-capacity-compact-signals .is-covered b,
.planning-capacity-compact-signals .is-clear b{color:#243329 !important}
.planning-capacity-actions-compact{
  margin-top:10px;
  padding-top:0;
  border-top:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.planning-capacity-actions-compact .secondary-button,
.planning-capacity-actions-compact .planning-capacity-open-week{
  width:100%;
  min-height:40px;
  margin:0 !important;
  padding:9px 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d5ddd7;
  border-radius:10px;
  background:#fff;
  color:#243329;
  font-size:14px !important;
  line-height:1.2;
  font-weight:750;
  text-decoration:none !important;
  white-space:nowrap;
}
.planning-capacity-actions-compact .planning-capacity-open-week:hover,
.planning-capacity-actions-compact .secondary-button:hover{
  background:#f4f7f4;
  border-color:#bcc9c0;
}
.planning-board-open-action{
  min-height:42px;
  padding:9px 15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #cbd6ce;
  border-radius:11px;
  background:#fff;
  color:#31493a !important;
  font-size:15px;
  font-weight:750;
  text-decoration:none !important;
  box-shadow:none;
}
.planning-board-open-action:hover{
  background:#f4f7f4;
  border-color:#aebfb3;
}
@media(max-width:1100px){
  .planning-capacity-metrics{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .planning-capacity-metrics>span:last-child{grid-column:auto}
}
@media(max-width:620px){
  .planning-capacity-metrics{grid-template-columns:1fr 1fr !important}
  .planning-capacity-metrics>span:last-child{grid-column:1/-1}
  .planning-capacity-compact-signals>span{grid-template-columns:1fr;gap:3px}
  .planning-capacity-actions-compact{grid-template-columns:1fr}
}

/* v0.162.37 · Planningstatus: moderne neutrale basis, semantische kleur alleen bij echte status */
:root{
  --planning-modern-border:#dfe5e1;
  --planning-modern-bg:#ffffff;
  --planning-modern-soft:#f7f9f7;
  --planning-modern-text:#233329;
  --planning-modern-muted:#69756d;
  --planning-modern-sage:#8fa092;
  --planning-modern-amber:#b98a32;
  --planning-modern-amber-soft:#fff9ed;
  --planning-modern-amber-border:#e7cf98;
  --planning-modern-red:#a65448;
  --planning-modern-red-soft:#fff7f5;
  --planning-modern-red-border:#e2b5ae;
  --planning-modern-green:#557a60;
  --planning-modern-green-soft:#f5faf6;
  --planning-modern-green-border:#cfe0d3;
}

/* Weekstatus: neutrale kaart; status wordt door een subtiel accent en alleen relevante chips gedragen. */
.planning-week-health,
.planning-week-health.has-followup,
.planning-week-health.has-blocking,
.planning-week-health.is-ready,
.planning-week-health.is-progress{
  background:var(--planning-modern-bg) !important;
  border:1px solid var(--planning-modern-border) !important;
  box-shadow:none !important;
}
.planning-week-health.has-followup{box-shadow:inset 4px 0 0 var(--planning-modern-amber) !important}
.planning-week-health.has-blocking{box-shadow:inset 4px 0 0 var(--planning-modern-red) !important}
.planning-week-health.is-ready{box-shadow:inset 4px 0 0 var(--planning-modern-green) !important}
.planning-week-health-kpis>span,
.planning-week-health-kpis .clear,
.planning-week-health-kpis .neutral{
  background:var(--planning-modern-soft) !important;
  border-color:var(--planning-modern-border) !important;
}
.planning-week-health-kpis .clear b,
.planning-week-health-kpis .neutral b{color:var(--planning-modern-text) !important}
.planning-week-health-kpis .attention{
  background:var(--planning-modern-amber-soft) !important;
  border-color:var(--planning-modern-amber-border) !important;
}
.planning-week-health-kpis .attention b{color:#7f5c18 !important}
.planning-week-health-kpis .blocked{
  background:var(--planning-modern-red-soft) !important;
  border-color:var(--planning-modern-red-border) !important;
}
.planning-week-health-kpis .blocked b{color:var(--planning-modern-red) !important}

/* KPI's: één rustig kaarttype. 0/gewone informatie krijgt geen eigen kleur meer. */
.planning-kpi,
.planning-kpi.planning-kpi--workversions,
.planning-kpi.planning-kpi--published,
.planning-kpi.planning-kpi--changed,
.planning-kpi.planning-kpi--conflicts,
.planning-kpi.planning-kpi--worktime{
  background:var(--planning-modern-bg) !important;
  border:1px solid var(--planning-modern-border) !important;
  box-shadow:none !important;
}
.planning-kpi.attention{
  background:var(--planning-modern-amber-soft) !important;
  border-color:var(--planning-modern-amber-border) !important;
  box-shadow:inset 0 3px 0 var(--planning-modern-amber) !important;
}
.planning-kpi.blocked{
  background:var(--planning-modern-red-soft) !important;
  border-color:var(--planning-modern-red-border) !important;
  box-shadow:inset 0 3px 0 var(--planning-modern-red) !important;
}
.planning-kpi>span{color:#667169 !important}
.planning-kpi>strong{color:#172019 !important}

/* Planningcontrole: alleen bij signalen een subtiele amber aanwijzing. */
.planning-control-summary,
.planning-control-summary.has-signals,
.planning-control-summary.is-clear{
  background:var(--planning-modern-bg) !important;
  border:1px solid var(--planning-modern-border) !important;
  box-shadow:none !important;
}
.planning-control-summary.has-signals{box-shadow:inset 4px 0 0 var(--planning-modern-amber) !important}
.planning-control-summary.is-clear{box-shadow:inset 4px 0 0 var(--planning-modern-green) !important}

/* Impactcentrum: geen groot amber/rood vlak; alleen echte statuscounters en het betrokken item kleuren. */
.planning-watch-center,
.planning-watch-center.has-followup,
.planning-watch-center.has-blocking,
.planning-watch-center.is-clear{
  background:var(--planning-modern-bg) !important;
  border:1px solid var(--planning-modern-border) !important;
  box-shadow:none !important;
}
.planning-watch-kpis span,
.planning-watch-kpis .clear{
  background:var(--planning-modern-soft) !important;
  border-color:var(--planning-modern-border) !important;
}
.planning-watch-kpis .attention{
  background:var(--planning-modern-amber-soft) !important;
  border-color:var(--planning-modern-amber-border) !important;
}
.planning-watch-kpis .blocked{
  background:var(--planning-modern-red-soft) !important;
  border-color:var(--planning-modern-red-border) !important;
}
.planning-watch-item{background:#fff !important;border-color:var(--planning-modern-border) !important}
.planning-watch-item.is-followup .planning-watch-count{
  background:var(--planning-modern-amber-soft) !important;
  color:#7f5c18 !important;
}
.planning-watch-item.is-blocking .planning-watch-count{
  background:var(--planning-modern-red-soft) !important;
  color:var(--planning-modern-red) !important;
}

/* Capaciteit: robuuste metrics, zodat labels en waarden nooit tegen elkaar lopen. */
.planning-capacity-metrics{
  display:grid !important;
  grid-template-columns:minmax(0,1.18fr) minmax(0,.9fr) minmax(0,.92fr) !important;
  gap:18px !important;
  align-items:end !important;
}
.planning-capacity-metrics>span{
  min-width:0 !important;
  display:grid !important;
  align-content:end !important;
  gap:6px !important;
}
.planning-capacity-metrics small{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  hyphens:auto;
  font-size:12.5px !important;
  line-height:1.25 !important;
}
.planning-capacity-metrics b{
  display:block !important;
  min-width:0 !important;
  white-space:nowrap !important;
  font-size:clamp(17px,1.15vw,20px) !important;
  line-height:1.12 !important;
  letter-spacing:-.015em !important;
}

@media(max-width:1450px){
  .planning-capacity-metrics{gap:12px !important}
  .planning-capacity-metrics small{font-size:12px !important}
  .planning-capacity-metrics b{font-size:17px !important}
}
@media(max-width:1100px){
  .planning-capacity-metrics{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:14px !important}
}
@media(max-width:620px){
  .planning-capacity-metrics{grid-template-columns:1fr 1fr !important}
  .planning-capacity-metrics>span:last-child{grid-column:1/-1}
}


/* v0.162.38 · Planningstatus: volledige moderne statuskaders, geen losse kleurstrepen */
:root{
  --planning-ui-neutral-bg:#f8fafb;
  --planning-ui-neutral-border:#d6e0e5;
  --planning-ui-info-bg:#f4f8fb;
  --planning-ui-info-border:#bfd0dc;
  --planning-ui-sage-bg:#f4faf5;
  --planning-ui-sage-border:#a8c7ae;
  --planning-ui-sage-text:#3f6b4d;
  --planning-ui-amber-bg:#fff9ed;
  --planning-ui-amber-border:#e4c36d;
  --planning-ui-amber-text:#8a6419;
  --planning-ui-coral-bg:#fff6f4;
  --planning-ui-coral-border:#df9183;
  --planning-ui-coral-text:#93493f;
}

/* Weekstatus: volledige kleurkaart op basis van de echte status. */
.planning-week-health,
.planning-week-health.is-progress{
  background:var(--planning-ui-info-bg) !important;
  border:1.5px solid var(--planning-ui-info-border) !important;
  box-shadow:none !important;
}
.planning-week-health.has-followup{
  background:var(--planning-ui-amber-bg) !important;
  border-color:var(--planning-ui-amber-border) !important;
  box-shadow:none !important;
}
.planning-week-health.has-blocking{
  background:var(--planning-ui-coral-bg) !important;
  border-color:var(--planning-ui-coral-border) !important;
  box-shadow:none !important;
}
.planning-week-health.is-ready{
  background:var(--planning-ui-sage-bg) !important;
  border-color:var(--planning-ui-sage-border) !important;
  box-shadow:none !important;
}

/* Kleine statustegels volgen dezelfde zachte moderne kleuren. */
.planning-week-health-kpis>span,
.planning-week-health-kpis .clear,
.planning-week-health-kpis .neutral{
  background:#fff !important;
  border-color:var(--planning-ui-neutral-border) !important;
}
.planning-week-health-kpis .attention{
  background:#fff6df !important;
  border-color:var(--planning-ui-amber-border) !important;
}
.planning-week-health-kpis .attention b{color:var(--planning-ui-amber-text) !important}
.planning-week-health-kpis .blocked{
  background:#fff0ed !important;
  border-color:var(--planning-ui-coral-border) !important;
}
.planning-week-health-kpis .blocked b{color:var(--planning-ui-coral-text) !important}

/* KPI's: neutrale, aangename basis; kleur alleen als status echt betekenis heeft. */
.planning-kpi,
.planning-kpi.planning-kpi--workversions,
.planning-kpi.planning-kpi--published,
.planning-kpi.planning-kpi--changed,
.planning-kpi.planning-kpi--conflicts,
.planning-kpi.planning-kpi--worktime{
  background:var(--planning-ui-neutral-bg) !important;
  border:1.5px solid var(--planning-ui-neutral-border) !important;
  box-shadow:none !important;
}
.planning-kpi.planning-kpi--workversions{
  background:var(--planning-ui-info-bg) !important;
  border-color:var(--planning-ui-info-border) !important;
}
.planning-kpi.planning-kpi--published.positive{
  background:var(--planning-ui-sage-bg) !important;
  border-color:var(--planning-ui-sage-border) !important;
}
.planning-kpi.attention{
  background:var(--planning-ui-amber-bg) !important;
  border-color:var(--planning-ui-amber-border) !important;
  box-shadow:none !important;
}
.planning-kpi.blocked{
  background:var(--planning-ui-coral-bg) !important;
  border-color:var(--planning-ui-coral-border) !important;
  box-shadow:none !important;
}

/* Planningcontrole: volledige omkadering in plaats van een statusstreep. */
.planning-control-summary,
.planning-control-summary.has-signals,
.planning-control-summary.is-clear{
  box-shadow:none !important;
  border-width:1.5px !important;
}
.planning-control-summary.has-signals{
  background:var(--planning-ui-amber-bg) !important;
  border-color:var(--planning-ui-amber-border) !important;
}
.planning-control-summary.is-clear{
  background:var(--planning-ui-sage-bg) !important;
  border-color:var(--planning-ui-sage-border) !important;
}

/* Impactcentrum gebruikt dezelfde statusfamilie, met volledige zachte kaartkleur. */
.planning-watch-center,
.planning-watch-center.is-clear{
  background:var(--planning-ui-neutral-bg) !important;
  border:1.5px solid var(--planning-ui-neutral-border) !important;
  box-shadow:none !important;
}
.planning-watch-center.has-followup{
  background:var(--planning-ui-amber-bg) !important;
  border-color:var(--planning-ui-amber-border) !important;
  box-shadow:none !important;
}
.planning-watch-center.has-blocking{
  background:var(--planning-ui-coral-bg) !important;
  border-color:var(--planning-ui-coral-border) !important;
  box-shadow:none !important;
}
.planning-watch-kpis span,
.planning-watch-kpis .clear{
  background:#fff !important;
  border-color:var(--planning-ui-neutral-border) !important;
}
.planning-watch-kpis .attention{
  background:#fff6df !important;
  border-color:var(--planning-ui-amber-border) !important;
}
.planning-watch-kpis .blocked{
  background:#fff0ed !important;
  border-color:var(--planning-ui-coral-border) !important;
}

/* v0.162.40 · Capaciteitskaarten visueel opgeschoond en beter leesbaar */
.planning-capacity-horizon{
  padding:22px !important;
  border-color:#d9e4df !important;
  background:linear-gradient(180deg,#f8fbfa 0%,#f5f9f7 100%) !important;
}
.planning-horizon-grid{gap:16px !important}
.planning-capacity-card,
.planning-capacity-card.is-over,
.planning-capacity-card.is-tight,
.planning-capacity-card.is-available,
.planning-capacity-card.is-neutral{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  min-height:100% !important;
  padding:20px 18px 18px !important;
  border-width:1.5px !important;
  border-radius:22px !important;
  background:#ffffff !important;
  box-shadow:0 10px 24px rgba(27,46,58,.05) !important;
  color:#203029 !important;
}
.planning-capacity-card.is-available{border-color:#cdded4 !important}
.planning-capacity-card.is-tight{border-color:#d8e2e8 !important}
.planning-capacity-card.is-over{border-color:#d8e2e8 !important}
.planning-capacity-card-top{gap:6px !important}
.planning-capacity-card-top span{
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.03em !important;
  color:#738278 !important;
}
.planning-capacity-card-top strong{
  font-size:21px !important;
  line-height:1.14 !important;
  color:#15211b !important;
}
.planning-capacity-priority{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
  align-items:start !important;
  padding:0 !important;
  margin:0 !important;
}
.planning-capacity-priority>div{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
.planning-capacity-priority small{
  font-size:12.5px !important;
  font-weight:700 !important;
  color:#6d7b74 !important;
}
.planning-capacity-priority strong{
  min-height:32px !important;
  padding:5px 12px !important;
  border-radius:999px !important;
  font-size:14px !important;
  font-weight:800 !important;
}
.planning-capacity-priority.is-attention strong{
  border-color:#d3c0ee !important;
  background:#f6f1fd !important;
  color:#694b96 !important;
}
.planning-capacity-priority.is-first strong{
  border-color:#e5b5b0 !important;
  background:#fff4f2 !important;
  color:#9a4c42 !important;
}
.planning-capacity-priority.is-on-track strong{
  border-color:#cbe0d0 !important;
  background:#f3faf5 !important;
  color:#416a4e !important;
}
.planning-capacity-priority>em{
  margin:0 !important;
  text-align:left !important;
  font-size:13px !important;
  line-height:1.45 !important;
  font-weight:650 !important;
  color:#66756d !important;
}
.planning-capacity-metrics{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  align-items:stretch !important;
  padding:0 !important;
}
.planning-capacity-metrics>span{
  display:grid !important;
  align-content:start !important;
  gap:8px !important;
  min-width:0 !important;
  padding:12px 12px 11px !important;
  border:1px solid #e1e8eb !important;
  border-radius:14px !important;
  background:#f8fbfc !important;
}
.planning-capacity-metrics>span:last-child{
  background:#faf7ef !important;
  border-color:#ead8b0 !important;
}
.planning-capacity-card.is-available .planning-capacity-metrics>span:last-child{
  background:#f3faf5 !important;
  border-color:#cfe0d3 !important;
}
.planning-capacity-metrics small{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
  text-wrap:balance;
  font-size:12px !important;
  line-height:1.28 !important;
  color:#66736c !important;
}
.planning-capacity-metrics b{
  display:block !important;
  min-width:0 !important;
  white-space:nowrap !important;
  font-size:18px !important;
  line-height:1.08 !important;
  letter-spacing:-.02em !important;
  color:#1b2a22 !important;
}
.planning-capacity-card.is-over .planning-capacity-metrics>span:last-child b,
.planning-capacity-card.is-tight .planning-capacity-metrics>span:last-child b{color:#99661c !important}
.planning-capacity-bar{
  height:7px !important;
  border-radius:999px !important;
  background:#e9efeb !important;
}
.planning-capacity-bar i{
  background:#caa255 !important;
  opacity:1 !important;
}
.planning-capacity-card.is-available .planning-capacity-bar i{background:#739883 !important}
.planning-capacity-foot{
  font-size:13px !important;
  line-height:1.5 !important;
  color:#67756e !important;
}
.planning-capacity-compact-signals{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  margin-top:0 !important;
  padding-top:0 !important;
  border:0 !important;
}
.planning-capacity-compact-signals>span{
  display:grid !important;
  grid-template-columns:1fr !important;
  align-items:start !important;
  gap:8px !important;
  padding:12px 13px !important;
  border:1px solid #e3e9e7 !important;
  border-radius:14px !important;
  background:#fbfcfc !important;
}
.planning-capacity-compact-signals small{
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  max-width:100% !important;
  padding:4px 8px !important;
  border-radius:999px !important;
  background:#eef3f5 !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  color:#5a6c76 !important;
}
.planning-capacity-compact-signals b{
  display:block !important;
  text-align:left !important;
  font-size:15px !important;
  line-height:1.4 !important;
  font-weight:750 !important;
  text-transform:none !important;
  color:#243329 !important;
}
.planning-capacity-compact-signals .has-shortage{
  background:#fff6f4 !important;
  border-color:#e5b8b0 !important;
}
.planning-capacity-compact-signals .has-shortage small{
  background:#fff !important;
  color:#9a4a41 !important;
}
.planning-capacity-compact-signals .has-shortage b{color:#9a4a41 !important}
.planning-capacity-compact-signals .has-absence{
  background:#fff9f0 !important;
  border-color:#e6ca9b !important;
}
.planning-capacity-compact-signals .has-absence small{
  background:#fff !important;
  color:#99661c !important;
}
.planning-capacity-compact-signals .has-absence b{color:#99661c !important}
.planning-capacity-compact-signals .is-covered,
.planning-capacity-compact-signals .is-clear{
  background:#f6fbf7 !important;
  border-color:#d3e3d7 !important;
}
.planning-capacity-compact-signals .is-covered small,
.planning-capacity-compact-signals .is-clear small{
  background:#fff !important;
  color:#416a4e !important;
}
.planning-capacity-compact-signals .is-covered b,
.planning-capacity-compact-signals .is-clear b{color:#274235 !important}
.planning-capacity-actions-compact{
  margin-top:auto !important;
  padding-top:2px !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
}
.planning-capacity-actions-compact .secondary-button,
.planning-capacity-actions-compact .planning-capacity-open-week{
  min-height:42px !important;
  padding:10px 12px !important;
  border-radius:12px !important;
  border:1px solid #d2dcd8 !important;
  background:#fff !important;
  color:#243329 !important;
  font-size:14px !important;
  font-weight:780 !important;
  box-shadow:none !important;
}
.planning-capacity-actions-compact .secondary-button:hover,
.planning-capacity-actions-compact .planning-capacity-open-week:hover{
  background:#f5f8f6 !important;
  border-color:#b9c8c0 !important;
}
@media(max-width:1450px){
  .planning-capacity-metrics{gap:10px !important}
  .planning-capacity-metrics>span{padding:11px 11px 10px !important}
  .planning-capacity-metrics b{font-size:17px !important}
  .planning-capacity-compact-signals b{font-size:14px !important}
}
@media(max-width:1180px){
  .planning-capacity-card,
  .planning-capacity-card.is-over,
  .planning-capacity-card.is-tight,
  .planning-capacity-card.is-available,
  .planning-capacity-card.is-neutral{padding:18px 16px 16px !important}
  .planning-capacity-priority>em{font-size:12.5px !important}
  .planning-capacity-metrics{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:9px !important}
  .planning-capacity-metrics small{font-size:11.5px !important}
  .planning-capacity-metrics b{font-size:16px !important}
}
@media(max-width:700px){
  .planning-capacity-actions-compact{grid-template-columns:1fr !important}
}

/* v0.162.41 · Capaciteit robuust per kaart + uniforme moderne groepsaccordions */

/* Capaciteitskaart reageert op haar eigen breedte i.p.v. alleen de viewport. */
.planning-capacity-card{container-type:inline-size}
@container (max-width: 360px){
  .planning-capacity-card .planning-capacity-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
  }
  .planning-capacity-card .planning-capacity-metrics>span:last-child{
    grid-column:1/-1 !important;
  }
  .planning-capacity-card .planning-capacity-actions-compact{
    grid-template-columns:max-content minmax(0,1fr) !important;
  }
  .planning-capacity-card .planning-capacity-actions-compact .secondary-button{
    width:auto !important;
    min-width:max-content !important;
    padding-inline:11px !important;
  }
  .planning-capacity-card .planning-capacity-actions-compact .planning-capacity-open-week{
    min-width:0 !important;
  }
}
@container (max-width: 305px){
  .planning-capacity-card .planning-capacity-metrics{
    grid-template-columns:1fr !important;
  }
  .planning-capacity-card .planning-capacity-metrics>span:last-child{
    grid-column:auto !important;
  }
  .planning-capacity-card .planning-capacity-actions-compact{
    grid-template-columns:1fr !important;
  }
  .planning-capacity-card .planning-capacity-actions-compact .secondary-button,
  .planning-capacity-card .planning-capacity-actions-compact .planning-capacity-open-week{
    width:100% !important;
  }
}
.planning-capacity-metrics>span{
  overflow:hidden !important;
}
.planning-capacity-metrics small,
.planning-capacity-metrics b{
  max-width:100% !important;
}
.planning-capacity-actions-compact{
  min-width:0 !important;
}
.planning-capacity-actions-compact>*{
  min-width:0 !important;
}

/* Groepskoppen: dezelfde rustige accordiontaal als de detailsecties. */
.planning-group-toggle-button{
  min-height:0 !important;
  gap:8px !important;
  padding:10px 12px !important;
  border-radius:10px !important;
  transition:background .15s ease,color .15s ease !important;
}
.planning-group-toggle-button:hover{
  background:rgba(75,96,83,.055) !important;
}
.planning-group-chevron{
  display:inline-block !important;
  width:auto !important;
  height:auto !important;
  flex:0 0 auto !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#2d3d34 !important;
  font-size:20px !important;
  line-height:1 !important;
  transform:none !important;
  transition:none !important;
}
.planning-group-toggle-button.is-collapsed .planning-group-chevron{
  transform:rotate(-90deg) !important;
}
.planning-group-toggle-button>span:not(.planning-group-chevron){
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  color:#304238 !important;
}
.planning-group-toggle-button small{
  margin-left:auto !important;
  padding-left:14px !important;
  font-size:12.5px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  color:#718078 !important;
  white-space:nowrap !important;
}

.planning-board-group-row th,
.planning-calendar-group-row th{
  padding:0 !important;
  background:#f5f8f6 !important;
  border-top:1px solid #dce5df !important;
  border-bottom:1px solid #dce5df !important;
}
.planning-board-group-row .planning-group-toggle-button,
.planning-calendar-group-row .planning-group-toggle-button{
  width:100% !important;
  min-height:54px !important;
}
.planning-board-group-row.is-collapsed th,
.planning-calendar-group-row.is-collapsed th{
  background:#f8faf9 !important;
}

.planning-list-group-head{
  margin:14px 0 7px !important;
  padding:0 !important;
  border:1px solid #dce5df !important;
  border-radius:12px !important;
  background:#f5f8f6 !important;
  overflow:hidden !important;
}
.planning-list-group-head .planning-group-toggle-button{
  min-height:52px !important;
}
.planning-list-group-head.is-collapsed{
  background:#f8faf9 !important;
}

/* Ingeklapt mag compacter ogen, maar blijft duidelijk herkenbaar. */
.planning-collapsible-group-head.is-collapsed .planning-group-toggle-button{
  min-height:48px !important;
}

@media(max-width:800px){
  .planning-group-toggle-button{padding:9px 10px !important}
  .planning-group-toggle-button>span:not(.planning-group-chevron){font-size:14px !important}
  .planning-group-toggle-button small{font-size:11.5px !important;padding-left:8px !important}
  .planning-group-chevron{font-size:18px !important}
}

/* v0.162.42 · Planning impact- en vervangingspolish */
:root{
  --planning42-border:#dbe4e8;
  --planning42-surface:#ffffff;
  --planning42-soft:#f8fafb;
  --planning42-info:#eef6fb;
  --planning42-info-border:#c8dbe6;
  --planning42-sage:#f3f9f4;
  --planning42-sage-border:#c9ddce;
  --planning42-amber:#fff7ec;
  --planning42-amber-border:#e6c58d;
  --planning42-coral:#fff4f2;
  --planning42-coral-border:#e3aaa2;
  --planning42-text:#223129;
  --planning42-muted:#66756e;
}

/* Impactcentrum: witte hoofdkaart; kleur alleen in counters en statusaccenten. */
.planning-watch-center,
.planning-watch-center.has-followup,
.planning-watch-center.has-blocking,
.planning-watch-center.is-clear{
  background:#fff !important;
  border:1.5px solid var(--planning42-border) !important;
  box-shadow:0 10px 26px rgba(31,48,58,.045) !important;
}
.planning-watch-center.has-blocking{border-color:var(--planning42-coral-border) !important}
.planning-watch-center.has-followup{border-color:var(--planning42-amber-border) !important}
.planning-watch-center.is-clear{border-color:var(--planning42-sage-border) !important}
.planning-watch-head h3{color:var(--planning42-text) !important}
.planning-watch-head p{color:var(--planning42-muted) !important}

.planning-watch-kpis span,
.planning-watch-kpis .clear{
  background:var(--planning42-info) !important;
  border-color:var(--planning42-info-border) !important;
}
.planning-watch-kpis .blocked{
  background:var(--planning42-coral) !important;
  border-color:var(--planning42-coral-border) !important;
}
.planning-watch-kpis .attention{
  background:var(--planning42-amber) !important;
  border-color:var(--planning42-amber-border) !important;
}
.planning-watch-kpis span:nth-child(3).clear{
  background:var(--planning42-sage) !important;
  border-color:var(--planning42-sage-border) !important;
}

/* Impactitems: witte kaart, teller draagt statuskleur, actie als echte Nova-knop. */
.planning-watch-list{gap:12px !important}
.planning-watch-item,
.planning-watch-item.is-blocking,
.planning-watch-item.is-followup{
  border:1.5px solid var(--planning42-border) !important;
  border-left-width:1.5px !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:none !important;
  padding:16px 18px !important;
}
.planning-watch-copy{gap:14px !important}
.planning-watch-count{
  min-width:42px !important;
  height:42px !important;
  border-radius:13px !important;
  background:var(--planning42-info) !important;
  color:#4f6772 !important;
  font-size:18px !important;
}
.planning-watch-item.is-followup .planning-watch-count{
  background:var(--planning42-amber) !important;
  color:#8c5d1d !important;
}
.planning-watch-item.is-blocking .planning-watch-count{
  background:var(--planning42-coral) !important;
  color:#a14e45 !important;
}
.planning-watch-copy strong{font-size:16px !important;line-height:1.3 !important;color:var(--planning42-text) !important}
.planning-watch-copy p{
  max-width:62ch;
  font-size:13.5px !important;
  line-height:1.45 !important;
  color:var(--planning42-muted) !important;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.planning-watch-item>.secondary-button,
.planning-watch-impact-actions .secondary-button,
.planning-watch-impact-actions button.secondary-button,
.planning-contract-redistribution .secondary-button{
  min-height:38px !important;
  padding:8px 12px !important;
  border:1px solid #ccd8d2 !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#31483c !important;
  text-decoration:none !important;
  font-size:12.5px !important;
  font-weight:780 !important;
  box-shadow:none !important;
}
.planning-watch-item>.secondary-button:hover,
.planning-watch-impact-actions .secondary-button:hover,
.planning-watch-impact-actions button.secondary-button:hover,
.planning-contract-redistribution .secondary-button:hover{
  background:#f5f8f6 !important;
  border-color:#b8c8bf !important;
}

/* Accordions behouden hun sterke compacte stijl. */
.planning-watch-impact,
.planning-contract-balance,
.planning-published-impact{
  border-top:1px solid #e4eaed !important;
  padding-top:0 !important;
}
.planning-watch-impact>summary,
.planning-contract-balance>summary,
.planning-published-impact>summary{
  display:flex !important;
  align-items:center !important;
  min-height:58px !important;
  padding:14px 2px !important;
  color:#17241d !important;
  font-size:16px !important;
  font-weight:800 !important;
  list-style:none !important;
}
.planning-watch-impact>summary::-webkit-details-marker,
.planning-contract-balance>summary::-webkit-details-marker,
.planning-published-impact>summary::-webkit-details-marker{display:none}
.planning-watch-impact>summary::before,
.planning-contract-balance>summary::before,
.planning-published-impact>summary::before{
  content:'▶';
  margin-right:8px;
  font-size:14px;
  transform-origin:center;
}
.planning-watch-impact[open]>summary::before,
.planning-contract-balance[open]>summary::before,
.planning-published-impact[open]>summary::before{transform:rotate(90deg)}

/* Tekortitems: uitleg één keer, kaarten compacter en acties duidelijker. */
.planning-watch-impact-list{gap:12px !important}
.planning-watch-impact-item{
  padding:16px 18px !important;
  border:1.5px solid var(--planning42-border) !important;
  border-radius:16px !important;
  background:#fff !important;
}
.planning-watch-impact-item strong{font-size:16px !important;line-height:1.3 !important}
.planning-watch-impact-item span{font-size:13.5px !important;line-height:1.4 !important}
.planning-watch-impact-item small{font-size:12.5px !important;line-height:1.45 !important;color:var(--planning42-muted) !important}
.planning-watch-impact-actions{gap:8px !important}
.planning-watch-impact-actions .primary-button{
  min-height:38px !important;
  padding:8px 12px !important;
  border-radius:10px !important;
  font-size:12.5px !important;
  font-weight:780 !important;
}

/* Contractbalans: subtiele semantische delta's en rustiger uitlegblok. */
.planning-contract-balance-body{gap:16px !important}
.planning-contract-balance-kpis{gap:12px !important}
.planning-contract-balance-kpis span{
  padding:13px 14px !important;
  border:1.5px solid var(--planning42-border) !important;
  border-radius:14px !important;
  background:var(--planning42-soft) !important;
}
.planning-contract-balance-kpis span:nth-child(1){background:var(--planning42-amber) !important;border-color:var(--planning42-amber-border) !important}
.planning-contract-balance-kpis span:nth-child(2){background:var(--planning42-info) !important;border-color:var(--planning42-info-border) !important}
.planning-contract-balance-kpis span:nth-child(3){background:var(--planning42-sage) !important;border-color:var(--planning42-sage-border) !important}
.planning-contract-balance-list{gap:10px !important}
.planning-contract-balance-list article{
  padding:13px 14px !important;
  border:1.5px solid var(--planning42-border) !important;
  border-radius:14px !important;
  background:#fff !important;
}
.planning-contract-balance-list .is-over b{
  background:var(--planning42-amber) !important;
  color:#8d5e1c !important;
}
.planning-contract-balance-list .is-under b{
  background:var(--planning42-info) !important;
  color:#466371 !important;
}
.planning-contract-no-redistribution{
  padding:15px 16px !important;
  border:1.5px solid var(--planning42-info-border) !important;
  border-radius:14px !important;
  background:var(--planning42-info) !important;
  gap:7px !important;
}
.planning-contract-no-redistribution>strong{font-size:15px !important;color:#294756 !important}
.planning-contract-no-redistribution p,
.planning-contract-no-redistribution>small,
.planning-contract-no-redistribution li{font-size:12.5px !important;line-height:1.45 !important}

/* Afwezigheid & bezetting: witte hoofdkaart, subtiele amber rand, nette actiekaarten. */
.planning-replacement-summary{
  grid-template-columns:minmax(280px,.78fr) minmax(0,1.35fr) !important;
  gap:20px !important;
  padding:22px 24px !important;
  border:1.5px solid var(--planning42-amber-border) !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 10px 26px rgba(31,48,58,.04) !important;
}
.planning-replacement-summary-copy h3{font-size:20px !important;color:var(--planning42-text) !important}
.planning-replacement-summary-copy p{font-size:13.5px !important;line-height:1.5 !important;color:var(--planning42-muted) !important}
.planning-replacement-summary-list{gap:10px !important}
.planning-replacement-summary-list>a{
  position:relative;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:3px 14px !important;
  padding:13px 14px !important;
  border:1.5px solid var(--planning42-border) !important;
  border-radius:14px !important;
  background:#fff !important;
  color:#2c3c34 !important;
  text-decoration:none !important;
}
.planning-replacement-summary-list>a:hover{background:#f8faf9 !important;border-color:#c5d2cc !important}
.planning-replacement-summary-list strong{font-size:14px !important}
.planning-replacement-summary-list span{font-size:12.5px !important;color:var(--planning42-muted) !important}
.planning-replacement-summary-list small{
  grid-column:2 !important;
  grid-row:1/3 !important;
  align-self:center !important;
  display:inline-flex !important;
  align-items:center !important;
  min-height:36px !important;
  padding:7px 11px !important;
  border:1px solid #d4ded8 !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#3e584a !important;
  font-size:12px !important;
  font-weight:800 !important;
  text-decoration:none !important;
}

/* Weekstatus en planningscontrole: grote kaart wit, kleur alleen op rand en kleine statustegels. */
.planning-week-health,
.planning-week-health.has-followup,
.planning-week-health.has-blocking,
.planning-week-health.is-ready,
.planning-week-health.is-progress,
.planning-control-summary,
.planning-control-summary.has-signals,
.planning-control-summary.is-clear{
  background:#fff !important;
  box-shadow:0 8px 22px rgba(31,48,58,.035) !important;
}
.planning-week-health.has-blocking{border-color:var(--planning42-coral-border) !important}
.planning-week-health.has-followup{border-color:var(--planning42-amber-border) !important}
.planning-control-summary.has-signals{border-color:var(--planning42-amber-border) !important}
.planning-control-summary.is-clear{border-color:var(--planning42-sage-border) !important}

/* Arbeidsduursignalen: neutrale kaart, badges dragen mix ernstig/opvolgen. */
.planning-kpi.planning-kpi--worktime.attention,
.planning-kpi.planning-kpi--worktime.blocked{
  background:#fff !important;
  border-color:var(--planning42-coral-border) !important;
  box-shadow:none !important;
}

@media(max-width:900px){
  .planning-replacement-summary{grid-template-columns:1fr !important}
  .planning-watch-copy p{-webkit-line-clamp:3}
}
@media(max-width:700px){
  .planning-watch-item>.secondary-button{width:100% !important}
  .planning-replacement-summary-list>a{grid-template-columns:1fr !important}
  .planning-replacement-summary-list small{grid-column:1 !important;grid-row:auto !important;justify-self:start !important;margin-top:6px !important}
}

/* v0.162.43 · Planbord visueel verfijnd voor snellere scanbaarheid en grotere teams */
.planning-board-panel{
  --board43-border:#dbe4e0;
  --board43-soft:#f7faf8;
  --board43-soft-blue:#f4f8fa;
  --board43-open-border:#c9d8e2;
  --board43-published:#eaf5ed;
  --board43-published-border:#b8d2bf;
  --board43-draft:#f5f8f6;
  --board43-draft-border:#ccd8d0;
  --board43-attention:#fff4ef;
  --board43-attention-border:#e3afa2;
  --board43-changed:#fff8e9;
  --board43-changed-border:#e3c684;
  --board43-text:#24372d;
  --board43-muted:#6d7b74;
}

/* Medewerkerkolom: iets ruimer, sterker onderscheid tussen naam, context en weekbalans. */
.planning-board-person-col{
  width:225px !important;
  min-width:225px !important;
  max-width:225px !important;
}
.planning-board-table tbody .planning-board-person-col,
.planning-board-table tfoot .planning-board-person-col{
  padding:13px 14px !important;
  background:#fbfcfb !important;
}
.planning-board-table tbody .planning-board-person-col strong,
.planning-board-table tfoot .planning-board-person-col strong{
  font-size:15px !important;
  line-height:1.28 !important;
  color:var(--board43-text) !important;
}
.planning-board-table tbody .planning-board-person-col small,
.planning-board-table tfoot .planning-board-person-col small{
  margin-top:4px !important;
  font-size:12px !important;
  line-height:1.38 !important;
  color:#7a867f !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
.planning-board-person-col .planning-board-weekload{
  margin-top:8px !important;
  font-size:12.5px !important;
  font-weight:760 !important;
  color:#52655a !important;
}
.planning-board-person-col .planning-board-weekdelta{
  display:inline-flex !important;
  width:max-content !important;
  max-width:100% !important;
  margin-top:5px !important;
  padding:3px 7px !important;
  border-radius:999px !important;
  background:#f0f4f1 !important;
  font-size:11px !important;
  line-height:1.25 !important;
  color:#6d7972 !important;
}
.planning-board-drag-handle{opacity:.42 !important}

/* Raster rustiger: zachte weekendkolommen, vandaag subtiel gemarkeerd. */
.planning-board-table tbody td{
  padding:8px !important;
  border-color:#e6ece8 !important;
  background:#fff !important;
}
.planning-board-table td.is-weekend,
.planning-board-table th.is-weekend{background:#fafbf9 !important}
.planning-board-table td.is-today,
.planning-board-table th.is-today{
  background:#f7faf8 !important;
  box-shadow:inset 0 2px 0 #90aa98 !important;
}
.planning-board-table thead th{
  height:56px !important;
  background:#f8faf9 !important;
  border-color:#e3e9e5 !important;
}
.planning-board-table thead th>span{font-size:13px !important;color:#52645a !important}
.planning-board-table thead th>small{font-size:11.5px !important;color:#7a867f !important}

/* Dienstkaarten: duidelijke hiërarchie, twee regels voor titel en compacte statusbadge. */
.planning-board-card{
  gap:5px !important;
  min-height:104px;
  padding:12px 12px 11px !important;
  border:1.5px solid var(--board43-draft-border) !important;
  border-left-width:1.5px !important;
  border-radius:13px !important;
  background:#fff !important;
  box-shadow:0 3px 10px rgba(27,45,36,.04) !important;
}
.planning-board-card:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 7px 18px rgba(27,45,36,.08) !important;
}
.planning-board-card strong{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:normal !important;
  font-size:14px !important;
  line-height:1.3 !important;
  color:#2d4036 !important;
}
.planning-board-card>span{
  font-size:14px !important;
  line-height:1.28 !important;
  font-weight:800 !important;
  color:#42574c !important;
}
.planning-board-card>small{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
  white-space:normal !important;
  font-size:11.5px !important;
  line-height:1.35 !important;
  color:#7b867f !important;
}
.planning-board-card>em{
  display:inline-flex !important;
  width:max-content !important;
  max-width:100% !important;
  align-items:center !important;
  margin-top:auto !important;
  padding:4px 8px !important;
  border-radius:999px !important;
  background:#eef3f0 !important;
  color:#5b6b62 !important;
  font-size:10.5px !important;
  font-style:normal !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  letter-spacing:0 !important;
}
.planning-board-card.is-published{
  border-color:var(--board43-published-border) !important;
  background:var(--board43-published) !important;
}
.planning-board-card.is-published>em{
  background:#fff !important;
  color:#4f755b !important;
}
.planning-board-card.is-draft{
  border-color:var(--board43-draft-border) !important;
  background:var(--board43-draft) !important;
}
.planning-board-card.is-changed{
  border-color:var(--board43-changed-border) !important;
  background:var(--board43-changed) !important;
}
.planning-board-card.is-changed>em{
  background:#fff !important;
  color:#8b6420 !important;
}
.planning-board-card.has-warning{
  border-color:var(--board43-attention-border) !important;
  background:var(--board43-attention) !important;
  box-shadow:none !important;
}
.planning-board-card.has-warning>em{
  background:#fff !important;
  color:#995345 !important;
}
.planning-board-card.is-off{
  opacity:1 !important;
  border-color:#dde4df !important;
  background:#fafbf9 !important;
}

/* Open diensten: herkenbare open-shift kaart, zonder harde linker streep. */
.planning-board-card.is-open,
.planning-board-card.is-assigned-open{
  border:1.5px dashed var(--board43-open-border) !important;
  background:var(--board43-soft-blue) !important;
}
.planning-board-card.is-open>em,
.planning-board-card.is-assigned-open>em{
  background:#fff !important;
  color:#526f80 !important;
}
.planning-board-open-stack .planning-board-card strong{
  -webkit-line-clamp:2 !important;
}
.planning-board-open-origin{
  -webkit-line-clamp:2 !important;
  color:#60798a !important;
}

/* Afwezigheidsinformatie compact en scanbaar. */
.planning-board-card>small.planning-board-absence{
  display:grid !important;
  gap:3px !important;
  margin-top:2px !important;
  padding:7px 8px !important;
  border:1px solid #ecd9ae !important;
  border-radius:9px !important;
  background:#fff8e9 !important;
}
.planning-board-card>small.planning-board-absence b{
  font-size:10.5px !important;
  line-height:1.3 !important;
  color:#86601e !important;
}
.planning-board-card>small.planning-board-absence span{
  font-size:10.5px !important;
  line-height:1.3 !important;
  color:#86601e !important;
}

/* Acties: beter leesbaar maar minder visuele drukte. */
.planning-board-edit-button{
  width:100% !important;
  min-height:32px !important;
  margin-top:5px !important;
  padding:6px 9px !important;
  border:1px solid #d6dfda !important;
  border-radius:9px !important;
  background:#fff !important;
  color:#4d6257 !important;
  font-size:11.5px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  text-decoration:none !important;
}
.planning-board-edit-button:hover{background:#f6f8f7 !important;border-color:#bccac2 !important}
.planning-board-table .planning-inline-add{
  min-height:34px !important;
  padding:7px 11px !important;
  font-size:12px !important;
  font-weight:800 !important;
  border-color:#cfdad3 !important;
  background:#fff !important;
}
.planning-board-table .planning-direct-publish-link,
.planning-board-table .planning-direct-withdraw-link{
  min-height:34px !important;
  padding:7px 10px !important;
  border-radius:9px !important;
  font-size:11.5px !important;
  font-weight:800 !important;
}

/* Niet gepland blijft rustig en compact. */
.planning-board-empty.planning-quick-add-empty{
  min-height:72px !important;
  gap:8px !important;
}
.planning-board-empty.planning-quick-add-empty>span{
  font-size:10.5px !important;
  color:#a0aaa4 !important;
}
.planning-inline-add.is-icon{
  width:32px !important;
  height:32px !important;
  padding:0 !important;
  font-size:17px !important;
}

/* Dagtotalen: compacte afsluitende samenvatting. */
.planning-board-total-row th,
.planning-board-total-row td{
  background:#f7faf8 !important;
}
.planning-board-total-row td strong{font-size:12.5px !important;color:#33493d !important}
.planning-board-total-row td span,
.planning-board-total-row td small{font-size:9.5px !important;color:#78857d !important}

/* Bestaande sticky medewerkerkolom en header expliciet behouden. */
.planning-board-table thead th{position:sticky !important;top:0;z-index:10 !important}
.planning-board-person-col{position:sticky !important;left:0;z-index:3 !important}
.planning-board-table thead .planning-board-person-col{z-index:12 !important}

@media(max-width:1400px){
  .planning-board-person-col{width:205px !important;min-width:205px !important;max-width:205px !important}
  .planning-board-card{padding:10px !important}
  .planning-board-card strong{font-size:13px !important}
  .planning-board-card>span{font-size:12.5px !important}
}
@media(max-width:1100px){
  .planning-board-person-col{width:180px !important;min-width:180px !important;max-width:180px !important}
  .planning-board-table{min-width:1120px !important}
}

/* v0.162.44 · Planbord terug naar compact operationeel raster met moderne Nova-kleuren */
.planning-board-panel{
  --board44-border:#d8e2de;
  --board44-border-strong:#c7d5cf;
  --board44-text:#25382e;
  --board44-muted:#708078;
  --board44-surface:#ffffff;
  --board44-soft:#f8faf9;
  --board44-draft:#f6f9f7;
  --board44-draft-border:#ccd8d1;
  --board44-open:#f3f7fa;
  --board44-open-border:#c8d9e3;
  --board44-success:#f3f8f4;
  --board44-success-border:#bdd3c2;
  --board44-attention:#fff5ef;
  --board44-attention-border:#e8b0a4;
  --board44-warning:#fff8eb;
  --board44-warning-border:#e5c982;
  --board44-chip:#edf3ef;
  --board44-chip-text:#56685e;
}

/* Raster compacter en rustiger. */
.planning-board-table tbody td{
  padding:6px !important;
  border-color:#e4ebe7 !important;
  background:#fff !important;
  vertical-align:top !important;
}
.planning-board-table td.is-weekend,
.planning-board-table th.is-weekend{background:#fbfcfb !important}
.planning-board-table td.is-today,
.planning-board-table th.is-today{
  background:#f8fbf9 !important;
  box-shadow:inset 0 2px 0 #89a894 !important;
}
.planning-board-table thead th{
  height:52px !important;
  background:#f8faf9 !important;
  border-color:#e2e9e5 !important;
}
.planning-board-table thead th>span{font-size:12.5px !important;color:#52645a !important}
.planning-board-table thead th>small{font-size:11px !important;color:#7a867f !important}

/* Medewerkerkolom weer compacter, zonder de leesbaarheid te verliezen. */
.planning-board-person-col{
  width:205px !important;
  min-width:205px !important;
  max-width:205px !important;
}
.planning-board-table tbody .planning-board-person-col,
.planning-board-table tfoot .planning-board-person-col{
  padding:11px 12px !important;
  background:#fbfcfb !important;
}
.planning-board-table tbody .planning-board-person-col strong,
.planning-board-table tfoot .planning-board-person-col strong{
  font-size:14px !important;
  line-height:1.24 !important;
  color:var(--board44-text) !important;
}
.planning-board-table tbody .planning-board-person-col small,
.planning-board-table tfoot .planning-board-person-col small{
  margin-top:3px !important;
  font-size:11px !important;
  line-height:1.32 !important;
  color:#7a867f !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
.planning-board-person-col .planning-board-weekload{
  margin-top:6px !important;
  font-size:11.5px !important;
  line-height:1.3 !important;
  color:#53665b !important;
}
.planning-board-person-col .planning-board-weekdelta{
  margin-top:3px !important;
  padding:2px 6px !important;
  font-size:10.5px !important;
  background:#eef3ef !important;
  color:#69776f !important;
}

/* Dienstkaarten: kleiner, minder kaart-in-kaart, meer focus op titel + tijd + status. */
.planning-board-card{
  gap:4px !important;
  min-height:0 !important;
  padding:9px 9px 8px !important;
  border:1px solid var(--board44-draft-border) !important;
  border-left-width:1px !important;
  border-radius:11px !important;
  background:#fff !important;
  box-shadow:none !important;
  transform:none !important;
}
.planning-board-card:hover{
  transform:none !important;
  border-color:#b8c8bf !important;
  box-shadow:0 3px 10px rgba(26,44,35,.05) !important;
}
.planning-board-card strong{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:normal !important;
  font-size:12.5px !important;
  line-height:1.24 !important;
  color:#2c4035 !important;
}
.planning-board-card>span{
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  color:#40564a !important;
}
.planning-board-card>small{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:1 !important;
  overflow:hidden !important;
  white-space:normal !important;
  font-size:10.5px !important;
  line-height:1.3 !important;
  color:#7c8881 !important;
}
.planning-board-card>em{
  display:inline-flex !important;
  width:max-content !important;
  max-width:100% !important;
  align-items:center !important;
  margin-top:3px !important;
  padding:3px 7px !important;
  border-radius:999px !important;
  background:var(--board44-chip) !important;
  color:var(--board44-chip-text) !important;
  font-size:9.5px !important;
  line-height:1.15 !important;
  font-style:normal !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
}
.planning-board-card.is-draft{
  border-color:var(--board44-draft-border) !important;
  background:var(--board44-draft) !important;
}
.planning-board-card.is-published{
  border-color:var(--board44-success-border) !important;
  background:var(--board44-success) !important;
}
.planning-board-card.is-published>em{background:#e6f1e9 !important;color:#4f745a !important}
.planning-board-card.is-changed{
  border-color:var(--board44-warning-border) !important;
  background:var(--board44-warning) !important;
}
.planning-board-card.is-changed>em{background:#f8edcf !important;color:#8a641f !important}
.planning-board-card.has-warning{
  border-color:var(--board44-attention-border) !important;
  background:var(--board44-attention) !important;
}
.planning-board-card.has-warning>em{background:#fde7e1 !important;color:#9a5144 !important}
.planning-board-card.is-off{
  border-color:#dde4df !important;
  background:#fafbf9 !important;
}

/* Afwezigheid als compacte waarschuwingchip i.p.v. groot subkaartje. */
.planning-board-card>small.planning-board-absence{
  display:block !important;
  margin-top:2px !important;
  padding:4px 6px !important;
  border:1px solid #ebd5a9 !important;
  border-radius:7px !important;
  background:#fff8e9 !important;
  color:#7d5b1d !important;
  white-space:normal !important;
  overflow:visible !important;
}
.planning-board-card>small.planning-board-absence b,
.planning-board-card>small.planning-board-absence span{
  display:inline !important;
  font-size:9.5px !important;
  line-height:1.3 !important;
  color:#7d5b1d !important;
}
.planning-board-card>small.planning-board-absence b::after{content:" · "}

/* Open diensten: compact, koel blauwgrijs, zonder onnodige hoogte. */
.planning-board-card.is-open,
.planning-board-card.is-assigned-open{
  min-height:0 !important;
  border:1px dashed var(--board44-open-border) !important;
  background:var(--board44-open) !important;
}
.planning-board-card.is-open>em,
.planning-board-card.is-assigned-open>em{
  background:#fff !important;
  color:#557184 !important;
}
.planning-board-open-stack{
  gap:5px !important;
}
.planning-board-open-stack .planning-board-card strong{
  -webkit-line-clamp:2 !important;
}
.planning-board-open-origin{
  font-size:9.5px !important;
  color:#60798a !important;
}

/* Acties onder kaarten: kleiner, rustiger en minder knopstapeling. */
.planning-board-edit-button{
  width:100% !important;
  min-height:27px !important;
  margin-top:4px !important;
  padding:4px 7px !important;
  border:1px solid #d8e0dc !important;
  border-radius:7px !important;
  background:#fff !important;
  color:#53685d !important;
  font-size:10px !important;
  font-weight:800 !important;
  line-height:1.15 !important;
}
.planning-board-table .planning-inline-add{
  min-height:29px !important;
  padding:5px 9px !important;
  border-radius:999px !important;
  font-size:10.5px !important;
  font-weight:800 !important;
  background:#fff !important;
  border-color:#ced9d2 !important;
}
.planning-board-table .planning-direct-publish-link,
.planning-board-table .planning-direct-withdraw-link{
  min-height:29px !important;
  padding:5px 8px !important;
  border-radius:7px !important;
  font-size:10px !important;
  font-weight:800 !important;
}
.planning-board-table .planning-direct-publish-link{background:#f6faf7 !important;border-color:#b9cdbf !important;color:#44624f !important}
.planning-board-table .planning-direct-withdraw-link{background:#fff9f5 !important;border-color:#dfc3b5 !important;color:#7a5948 !important}

/* Niet gepland compacter. */
.planning-board-empty.planning-quick-add-empty{min-height:56px !important;gap:5px !important}
.planning-board-empty.planning-quick-add-empty>span{font-size:9.5px !important;color:#a0aaa4 !important}
.planning-inline-add.is-icon{width:29px !important;height:29px !important;font-size:15px !important}

/* Open-dienstactie bovenaan blijft zichtbaar maar minder dominant. */
.planning-board-open-action{
  min-height:38px !important;
  padding:8px 14px !important;
  border-radius:10px !important;
  border-color:#cad7d0 !important;
  background:#fff !important;
  color:#355247 !important;
  font-size:13px !important;
}

/* Dagtotalen compact houden. */
.planning-board-total-row th,
.planning-board-total-row td{background:#f7faf8 !important}
.planning-board-total-row td strong{font-size:11.5px !important}
.planning-board-total-row td span,
.planning-board-total-row td small{font-size:9px !important}

/* Sticky gedrag behouden. */
.planning-board-table thead th{position:sticky !important;top:0;z-index:10 !important}
.planning-board-person-col{position:sticky !important;left:0;z-index:3 !important}
.planning-board-table thead .planning-board-person-col{z-index:12 !important}

@media(max-width:1400px){
  .planning-board-person-col{width:190px !important;min-width:190px !important;max-width:190px !important}
  .planning-board-card{padding:8px !important}
  .planning-board-card strong{font-size:12px !important}
  .planning-board-card>span{font-size:11.5px !important}
}
@media(max-width:1100px){
  .planning-board-person-col{width:175px !important;min-width:175px !important;max-width:175px !important}
  .planning-board-table{min-width:1080px !important}
}

/* v0.162.45 · Open diensten als eigen compact kaarttype in het Planbord */
.planning-board-open-row td{
  overflow:hidden !important;
}
.planning-board-open-stack{
  display:grid !important;
  gap:7px !important;
  min-width:0 !important;
  align-content:start !important;
}
.planning-board-card.is-open{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:5px !important;
  padding:9px !important;
  border:1.5px dashed #c4d6e1 !important;
  border-radius:11px !important;
  background:#f6f9fb !important;
  overflow:hidden !important;
}
.planning-board-card.is-open:hover{
  border-color:#9fb9c9 !important;
  background:#f1f6f9 !important;
  box-shadow:0 3px 9px rgba(50,78,94,.07) !important;
}
.planning-board-card.is-open>strong{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  min-width:0 !important;
  overflow:hidden !important;
  white-space:normal !important;
  text-overflow:ellipsis !important;
  font-size:12px !important;
  line-height:1.22 !important;
  color:#2e4338 !important;
}
.planning-board-card.is-open>.planning-board-open-time{
  display:block !important;
  min-width:0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  font-size:11.5px !important;
  line-height:1.2 !important;
  font-weight:850 !important;
  color:#41574b !important;
}
.planning-board-card.is-open>.planning-board-open-context{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  min-width:0 !important;
  overflow:hidden !important;
  white-space:normal !important;
  text-overflow:ellipsis !important;
  font-size:9.5px !important;
  line-height:1.25 !important;
  color:#788781 !important;
}
.planning-board-open-footer{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:6px !important;
  min-width:0 !important;
  margin-top:2px !important;
}
.planning-board-open-positions{
  display:inline-flex !important;
  align-items:center !important;
  min-width:0 !important;
  padding:3px 6px !important;
  border-radius:999px !important;
  background:#e7f0f5 !important;
  color:#526f80 !important;
  font-size:8.8px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}
.planning-board-card.is-open .planning-board-open-footer>em{
  display:inline-flex !important;
  flex:0 0 auto !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:4px 7px !important;
  border:1px solid #cad9e2 !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#49697b !important;
  font-size:9px !important;
  line-height:1.1 !important;
  font-style:normal !important;
  font-weight:850 !important;
  white-space:nowrap !important;
}
.planning-board-card.is-open .planning-board-open-footer>em::after{
  content:" →";
}
.planning-board-card.is-open.is-dragging{
  opacity:.72 !important;
  box-shadow:0 8px 18px rgba(50,78,94,.12) !important;
}
.planning-board-card.is-open.is-drop-target{
  border-style:solid !important;
  border-color:#8aaa96 !important;
  background:#eef7f1 !important;
}
@media(max-width:1400px){
  .planning-board-card.is-open{padding:8px !important;gap:4px !important}
  .planning-board-card.is-open>strong{font-size:11.5px !important}
  .planning-board-card.is-open>.planning-board-open-time{font-size:11px !important}
  .planning-board-open-footer{align-items:flex-start !important;flex-direction:column !important;gap:5px !important}
  .planning-board-card.is-open .planning-board-open-footer>em{width:auto !important}
}

/* v0.162.46 · Planbord teksthiërarchie neutraler: gewone inhoud zwart/donkergrijs, groen enkel als accent */
.planning-board-table thead th>span,
.planning-board-table thead th>small,
.planning-board-table tbody .planning-board-person-col strong,
.planning-board-table tfoot .planning-board-person-col strong,
.planning-board-person-col .planning-board-weekload,
.planning-board-card strong,
.planning-board-card>span,
.planning-board-card.is-open>strong,
.planning-board-card.is-open>.planning-board-open-time,
.planning-board-total-row td strong{
  color:#1f2522 !important;
}

.planning-board-table tbody .planning-board-person-col small,
.planning-board-table tfoot .planning-board-person-col small,
.planning-board-card>small,
.planning-board-card.is-open>.planning-board-open-context,
.planning-board-open-origin,
.planning-board-total-row td span,
.planning-board-total-row td small{
  color:#6f7772 !important;
}

.planning-board-person-col .planning-board-weekdelta{
  color:#5f6863 !important;
}

/* Neutrale statuschips: enkel semantische statussen behouden hun eigen kleur. */
.planning-board-card>em{
  color:#5d6661 !important;
}
.planning-board-card.is-published>em{color:#4f745a !important}
.planning-board-card.is-changed>em{color:#8a641f !important}
.planning-board-card.has-warning>em{color:#9a5144 !important}

/* Gewone secundaire acties worden donker; groene kleur blijft voor + Dienst en Publiceren als actie-accent. */
.planning-board-edit-button{
  color:#262d29 !important;
}
.planning-board-open-action{
  color:#262d29 !important;
}
.planning-board-table .planning-inline-add{
  color:#466451 !important;
}
.planning-board-table .planning-direct-publish-link{
  color:#44624f !important;
}
.planning-board-table .planning-direct-withdraw-link{
  color:#7a5948 !important;
}

/* Open-dienstkaarten: inhoud neutraal, blauwgrijs enkel voor badges/actie. */
.planning-board-open-positions{
  color:#526f80 !important;
}
.planning-board-card.is-open .planning-board-open-footer>em{
  color:#49697b !important;
}

/* Groepskoppen en open-dienstenrij neutraler voor betere leesbaarheid. */
.planning-board-group-row strong,
.planning-board-group-title,
.planning-board-open-row .planning-board-person-col strong{
  color:#1f2522 !important;
}

/* v0.162.47 · laatste Planbord-polish: Werkversie subtieler, afwezigheid compacter */
.planning-board-card.is-draft>em,
.planning-board-card>em:not(.planning-board-open-footer em){
  background:#f1f3f2 !important;
  color:#747c77 !important;
  font-weight:750 !important;
}
.planning-board-card.is-published>em{
  background:#e9f2eb !important;
  color:#4f745a !important;
}
.planning-board-card.is-changed>em{
  background:#f8edcf !important;
  color:#8a641f !important;
}
.planning-board-card.has-warning>em{
  background:#fde7e1 !important;
  color:#9a5144 !important;
}

/* Afwezigheidscontext blijft volledig beschikbaar via title/tooltip, maar neemt op het bord max. twee regels in. */
.planning-board-card>small.planning-board-absence{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  max-height:calc(2 * 1.3em + 8px) !important;
  padding:4px 6px !important;
  line-height:1.3 !important;
}
.planning-board-card>small.planning-board-absence b,
.planning-board-card>small.planning-board-absence span{
  font-size:9.4px !important;
  line-height:1.3 !important;
}
.planning-board-card>small.planning-board-absence b{
  font-weight:800 !important;
}

/* Gewone werkversiekaart blijft visueel rustig; titel/tijd blijven de hoofdhiërarchie. */
.planning-board-card.is-draft{
  background:#fbfcfb !important;
  border-color:#d4ddd7 !important;
}

/* v0.162.48 · Responsive fix Planning commandbar.
   Prevent the period/view toggles and action buttons from colliding at intermediate browser widths. */
.planning-commandbar{
  container-type:inline-size;
}
.planning-commandbar-head,
.planning-commandbar-modes,
.planning-commandbar-actions{
  min-width:0;
}
.planning-commandbar-actions > *{
  min-width:0;
  max-width:100%;
}
.planning-commandbar-quick-undo{
  margin:0;
}

/* Use the available commandbar width instead of relying only on the viewport/sidebar combination. */
@container (max-width: 1480px){
  .planning-commandbar-head{
    grid-template-columns:minmax(0,1fr);
    align-items:stretch;
    gap:14px;
  }
  .planning-commandbar-modes{
    width:100%;
    flex-wrap:wrap;
    align-items:center;
    gap:12px;
  }
  .planning-commandbar-actions{
    width:100%;
    margin-left:0;
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:10px;
  }
  .planning-commandbar-actions > *{
    flex:0 1 auto;
  }
}

@container (max-width: 1080px){
  .planning-commandbar-modes{
    display:grid;
    grid-template-columns:minmax(0,auto) minmax(0,1fr);
    align-items:stretch;
  }
  .planning-commandbar .planning-period-choice,
  .planning-commandbar .planning-display-toggle{
    width:100%;
    min-width:0;
  }
  .planning-commandbar .planning-period-choice a,
  .planning-commandbar .planning-display-toggle a{
    flex:1 1 0;
    min-width:0;
  }
  .planning-commandbar-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .planning-commandbar-actions > *{
    width:100%;
    margin:0;
  }
  .planning-commandbar-actions .primary-button,
  .planning-commandbar-actions .secondary-button,
  .planning-commandbar-actions button{
    width:100%;
  }
}

@container (max-width: 760px){
  .planning-commandbar-modes{
    grid-template-columns:1fr;
  }
  .planning-commandbar .planning-display-toggle{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .planning-commandbar-actions{
    grid-template-columns:1fr;
  }
}

/* Fallback for browsers without container queries. */
@media(max-width:1700px){
  .planning-commandbar-head{
    grid-template-columns:minmax(0,1fr);
    align-items:stretch;
    gap:14px;
  }
  .planning-commandbar-actions{
    width:100%;
    margin-left:0;
    justify-content:flex-start;
    flex-wrap:wrap;
  }
}

/* v0.162.49 · Nova Flex designlaag batch 1
   Dashboard + Medewerkers + Goedkeuringen + Afwezigheden volgen dezelfde visuele taal als Planning. */
:root{
  --nova-ui-surface:#ffffff;
  --nova-ui-surface-soft:#f8faf9;
  --nova-ui-surface-cool:#f5f8fa;
  --nova-ui-border:#d9e3df;
  --nova-ui-border-cool:#d6e2e8;
  --nova-ui-text:#1f2522;
  --nova-ui-muted:#65736d;
  --nova-ui-sage:#8fa193;
  --nova-ui-sage-dark:#3f5d4c;
  --nova-ui-sage-soft:#f2f7f3;
  --nova-ui-blue-soft:#f1f6f9;
  --nova-ui-blue-border:#c8dbe5;
  --nova-ui-amber-soft:#fff7ec;
  --nova-ui-amber-border:#e8c88e;
  --nova-ui-amber-text:#8d611d;
  --nova-ui-coral-soft:#fff4f1;
  --nova-ui-coral-border:#e5aca3;
  --nova-ui-coral-text:#9a4e45;
  --nova-ui-shadow:0 10px 28px rgba(29,45,37,.055);
}

/* Gedeelde hoofdkaarten */
.dashboard-body .card,
.employees-body .card,
.approvals-page .card,
.absence-management-page .settings-card,
.absence-management-page .settings-info-note{
  background:var(--nova-ui-surface);
  border:1.5px solid var(--nova-ui-border);
  border-radius:20px;
  box-shadow:var(--nova-ui-shadow);
}
.dashboard-body .page-header,
.employees-body .employee-page-header,
.approvals-page>.page-header,
.absence-management-page>.page-header{
  background:linear-gradient(180deg,#fff 0%,#fbfcfc 100%);
  border-color:var(--nova-ui-border);
}
.dashboard-body h1,.dashboard-body h2,.dashboard-body h3,.dashboard-body strong,
.employees-body h1,.employees-body h2,.employees-body h3,.employees-body strong,
.approvals-page h1,.approvals-page h2,.approvals-page h3,.approvals-page strong,
.absence-management-page h1,.absence-management-page h2,.absence-management-page h3,.absence-management-page strong{
  color:var(--nova-ui-text);
}
.dashboard-body .muted,.dashboard-body p,.dashboard-body small,
.employees-body .muted,.employees-body p,.employees-body small,
.approvals-page .muted,.approvals-page p,.approvals-page small,
.absence-management-page p,.absence-management-page small{
  color:var(--nova-ui-muted);
}
.dashboard-body .eyebrow,
.employees-body .eyebrow,
.approvals-page .eyebrow,
.absence-management-page .eyebrow{
  color:#72837a;
}

/* Gedeelde knophiërarchie */
.dashboard-body .primary-button,
.employees-body .primary-button,
.approvals-page .primary-button,
.absence-management-page .button.primary{
  background:var(--nova-ui-sage);
  border-color:var(--nova-ui-sage);
  color:#fff;
  box-shadow:none;
  border-radius:12px;
}
.dashboard-body .primary-button:hover,
.employees-body .primary-button:hover,
.approvals-page .primary-button:hover,
.absence-management-page .button.primary:hover{
  background:#819587;
  border-color:#819587;
}
.dashboard-body .secondary-button,
.employees-body .secondary-button,
.approvals-page .secondary-button,
.absence-management-page .button.secondary,
.absence-management-page .approval-reject-details>summary{
  background:#fff;
  border:1px solid var(--nova-ui-border);
  color:var(--nova-ui-text);
  border-radius:12px;
  box-shadow:none;
}
.dashboard-body .secondary-button:hover,
.employees-body .secondary-button:hover,
.approvals-page .secondary-button:hover,
.absence-management-page .button.secondary:hover,
.absence-management-page .approval-reject-details>summary:hover{
  background:var(--nova-ui-surface-soft);
}
.dashboard-body .danger-button,
.employees-body .danger-button,
.approvals-page .danger-button,
.absence-management-page .danger-button{
  background:#fff;
  color:var(--nova-ui-coral-text);
  border:1.5px solid var(--nova-ui-coral-border);
  border-radius:12px;
}

/* Dashboard */
.dashboard-body .dashboard-operational-grid{gap:18px}
.dashboard-body .dashboard-attention-panel,
.dashboard-body .dashboard-live-workforce,
.dashboard-body .dashboard-upcoming-panel,
.dashboard-body .dashboard-replacement-panel,
.dashboard-body .dashboard-hr-tasks{
  overflow:hidden;
}
.dashboard-body .panel-heading,
.dashboard-body .dashboard-hr-tasks-head,
.dashboard-body .dashboard-live-heading{
  border-bottom:1px solid #e6ece9;
  padding-bottom:14px;
}
.dashboard-body .dashboard-attention-metrics,
.dashboard-body .dashboard-upcoming-metrics{
  gap:12px;
}
.dashboard-body .dashboard-attention-metrics>*,
.dashboard-body .dashboard-upcoming-metrics>*{
  background:var(--nova-ui-blue-soft);
  border:1px solid var(--nova-ui-blue-border);
  border-radius:15px;
  box-shadow:none;
}
.dashboard-body .dashboard-attention-row,
.dashboard-body .dashboard-upcoming-row,
.dashboard-body .dashboard-replacement-item,
.dashboard-body .dashboard-hr-task{
  background:#fff;
  border:1px solid #e1e8e5;
  border-radius:14px;
  box-shadow:none;
}
.dashboard-body .dashboard-hr-task.is-warning,
.dashboard-body .dashboard-attention-severity.is-warning{
  background:var(--nova-ui-amber-soft);
  border-color:var(--nova-ui-amber-border);
  color:var(--nova-ui-amber-text);
}
.dashboard-body .dashboard-hr-task.is-error,
.dashboard-body .dashboard-attention-severity.is-error{
  background:var(--nova-ui-coral-soft);
  border-color:var(--nova-ui-coral-border);
  color:var(--nova-ui-coral-text);
}
.dashboard-body .dashboard-positive-state{
  background:var(--nova-ui-sage-soft);
  border:1px solid #c9ddcf;
  border-radius:14px;
  color:var(--nova-ui-sage-dark);
}
.dashboard-body .dashboard-live-filter,
.dashboard-body .dashboard-live-search,
.dashboard-body .dashboard-live-toolbar{
  border-color:var(--nova-ui-border-cool);
}
.dashboard-body .dashboard-live-filter.is-active{
  background:var(--nova-ui-sage-soft);
  color:var(--nova-ui-sage-dark);
}

/* Medewerkers */
.employees-body .employee-add-card,
.employees-body .employee-list-panel,
.employees-body .employee-test-card{
  overflow:hidden;
}
.employees-body .employee-admin-grid{gap:18px}
.employees-body .panel-heading{
  border-bottom:1px solid #e6ece9;
  padding-bottom:14px;
}
.employees-body .employee-list-count{
  background:var(--nova-ui-blue-soft);
  border:1px solid var(--nova-ui-blue-border);
  color:#49616d;
  border-radius:999px;
}
.employees-body .employee-state,
.employees-body .table-status{
  border-radius:999px;
  border:1px solid transparent;
}
.employees-body .employee-state.active,
.employees-body .table-status.ok{
  background:var(--nova-ui-sage-soft);
  border-color:#c8dccd;
  color:var(--nova-ui-sage-dark);
}
.employees-body .employee-state.inactive,
.employees-body .table-status.missing{
  background:var(--nova-ui-surface-cool);
  border-color:var(--nova-ui-border-cool);
  color:#62727a;
}
.employees-body .employee-mobile-card{
  background:#fff;
  border:1.5px solid var(--nova-ui-border);
  border-radius:16px;
  box-shadow:none;
}
.employees-body .employee-test-guide{
  background:var(--nova-ui-blue-soft);
  border:1px solid var(--nova-ui-blue-border);
  border-radius:14px;
}
.employees-body .employee-open-button{
  text-decoration:none !important;
}

/* Goedkeuringen */
.approvals-page .week-jump-toolbar,
.approvals-page .approval-control-panel,
.approvals-page .approval-rule-note{
  background:#fff;
}
.approvals-page .week-jump-toolbar{
  border-color:var(--nova-ui-border);
}
.approvals-page .approval-control-heading,
.approvals-page .panel-heading{
  border-bottom:1px solid #e6ece9;
  padding-bottom:14px;
}
.approvals-page .approval-row,
.approvals-page .approval-decision-box,
.approvals-page .approval-history-item{
  background:#fff;
  border:1.5px solid var(--nova-ui-border);
  border-radius:16px;
  box-shadow:none;
}
.approvals-page .approval-control-status,
.approvals-page .review-status{
  border-radius:999px;
  border:1px solid transparent;
}
.approvals-page .approval-control-status.ok,
.approvals-page .review-status.approved{
  background:var(--nova-ui-sage-soft);
  border-color:#c8dccd;
  color:var(--nova-ui-sage-dark);
}
.approvals-page .approval-control-status.warning,
.approvals-page .review-status.pending{
  background:var(--nova-ui-amber-soft);
  border-color:var(--nova-ui-amber-border);
  color:var(--nova-ui-amber-text);
}
.approvals-page .approval-control-status.error,
.approvals-page .review-status.rejected,
.approvals-page .approval-correction-required{
  background:var(--nova-ui-coral-soft);
  border-color:var(--nova-ui-coral-border);
  color:var(--nova-ui-coral-text);
}
.approvals-page .approval-hr-guide,
.approvals-page .approval-rule-note{
  background:var(--nova-ui-blue-soft);
  border-color:var(--nova-ui-blue-border);
}
.approvals-page .approval-action-stack,
.approvals-page .approval-actions{gap:8px}
.approvals-page .button-link{text-decoration:none !important}

/* Afwezigheden */
.absence-management-page .settings-card{
  overflow:hidden;
  padding:22px;
}
.absence-management-page .settings-card-head{
  border-bottom:1px solid #e6ece9;
  padding-bottom:14px;
  margin-bottom:18px;
}
.absence-management-page .absence-request-list{gap:14px}
.absence-management-page .absence-request-card{
  background:#fff;
  border:1.5px solid var(--nova-ui-border);
  border-radius:16px;
  box-shadow:none;
}
.absence-management-page .absence-cancellation-card{
  border-color:var(--nova-ui-amber-border);
  background:#fffdf9;
}
.absence-management-page .status-chip{
  border-radius:999px;
  border:1px solid transparent;
  font-weight:750;
}
.absence-management-page .status-chip.pending{
  background:var(--nova-ui-amber-soft);
  border-color:var(--nova-ui-amber-border);
  color:var(--nova-ui-amber-text);
}
.absence-management-page .status-chip.approved{
  background:var(--nova-ui-sage-soft);
  border-color:#c8dccd;
  color:var(--nova-ui-sage-dark);
}
.absence-management-page .status-chip.rejected,
.absence-management-page .status-chip.cancelled{
  background:var(--nova-ui-coral-soft);
  border-color:var(--nova-ui-coral-border);
  color:var(--nova-ui-coral-text);
}
.absence-management-page .settings-info-note{
  background:var(--nova-ui-blue-soft);
  border-color:var(--nova-ui-blue-border);
  box-shadow:none;
}
.absence-management-page .holiday-comp-balance,
.absence-management-page .holiday-comp-preview{
  background:var(--nova-ui-surface-soft);
  border:1px solid var(--nova-ui-border);
  border-radius:14px;
}
.absence-management-page .absence-review-actions{gap:8px}

/* Gedeelde formulieren en tabellen in batch 1 */
.dashboard-body input,.dashboard-body select,.dashboard-body textarea,
.employees-body input,.employees-body select,.employees-body textarea,
.approvals-page input,.approvals-page select,.approvals-page textarea,
.absence-management-page input,.absence-management-page select,.absence-management-page textarea{
  border-color:#ccd8d3;
  border-radius:11px;
  background:#fff;
  color:var(--nova-ui-text);
  box-shadow:none;
}
.dashboard-body input:focus,.dashboard-body select:focus,.dashboard-body textarea:focus,
.employees-body input:focus,.employees-body select:focus,.employees-body textarea:focus,
.approvals-page input:focus,.approvals-page select:focus,.approvals-page textarea:focus,
.absence-management-page input:focus,.absence-management-page select:focus,.absence-management-page textarea:focus{
  border-color:#8fa79a;
  outline:3px solid rgba(143,167,154,.14);
}
.dashboard-body .data-table thead th,
.employees-body .data-table thead th,
.approvals-page .data-table thead th{
  background:var(--nova-ui-surface-soft);
  color:#52615b;
  border-bottom-color:var(--nova-ui-border);
}
.dashboard-body .data-table td,
.employees-body .data-table td,
.approvals-page .data-table td{
  border-bottom-color:#e8edeb;
}
.dashboard-body .data-table tbody tr:hover,
.employees-body .data-table tbody tr:hover,
.approvals-page .data-table tbody tr:hover{
  background:#fbfcfb;
}

@media(max-width:900px){
  .dashboard-body .card,
  .employees-body .card,
  .approvals-page .card,
  .absence-management-page .settings-card{border-radius:16px}
  .absence-management-page .settings-card{padding:18px}
}

/* v0.162.50 · Dashboard secties krijgen consistente verticale ademruimte */
.dashboard-body .page-header + .dashboard-hr-tasks{
  margin-top:30px !important;
}
.dashboard-body .dashboard-hr-tasks + .dashboard-replacement-panel,
.dashboard-body .dashboard-replacement-panel + .dashboard-live-workforce,
.dashboard-body .dashboard-live-workforce + .dashboard-operational-grid{
  margin-top:24px !important;
}
@media(max-width:900px){
  .dashboard-body .page-header + .dashboard-hr-tasks{margin-top:22px !important}
  .dashboard-body .dashboard-hr-tasks + .dashboard-replacement-panel,
  .dashboard-body .dashboard-replacement-panel + .dashboard-live-workforce,
  .dashboard-body .dashboard-live-workforce + .dashboard-operational-grid{margin-top:18px !important}
}


/* v0.162.51 · Dashboard leesbaarheid, padding en responsieve werknemerslijst */
.dashboard-body .dashboard-hr-task{
  gap:16px;
  padding:20px 22px;
  min-height:118px;
}
.dashboard-body .dashboard-hr-task-state{
  width:11px;
  height:11px;
  margin-right:2px;
}
.dashboard-body .dashboard-hr-task-copy{
  gap:6px;
}
.dashboard-body .dashboard-hr-task-copy strong{
  font-size:16px;
  line-height:1.25;
  letter-spacing:-.01em;
}
.dashboard-body .dashboard-hr-task-copy small{
  font-size:14px;
  line-height:1.48;
  color:#66716b;
}
.dashboard-body .dashboard-hr-task>b{
  font-size:13px;
  line-height:1.3;
  margin-left:10px;
}

.dashboard-body .dashboard-attention-list,
.dashboard-body .dashboard-upcoming-list{
  gap:10px;
  border-top:0;
}
.dashboard-body .dashboard-attention-row,
.dashboard-body .dashboard-upcoming-row{
  gap:14px;
  padding:14px 18px !important;
  border:1px solid #e1e8e5 !important;
  border-radius:14px;
  background:#fff;
}
.dashboard-body .dashboard-attention-row>div,
.dashboard-body .dashboard-upcoming-row>div{
  gap:4px;
}
.dashboard-body .dashboard-attention-row strong,
.dashboard-body .dashboard-upcoming-row strong{
  font-size:15px;
  line-height:1.3;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
.dashboard-body .dashboard-attention-row small,
.dashboard-body .dashboard-upcoming-row small{
  font-size:13px;
  line-height:1.4;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  color:#6f7973;
}
.dashboard-body .dashboard-attention-row b,
.dashboard-body .dashboard-upcoming-row b{
  font-size:14px;
  line-height:1.2;
  padding-left:10px;
}
.dashboard-body .dashboard-upcoming-row .dashboard-upcoming-day,
.dashboard-body .dashboard-attention-row .dashboard-attention-severity{
  margin-right:2px;
}

/* Desktop: alle zeven kolommen blijven binnen de kaart. */
@media (min-width:901px){
  .dashboard-body .dashboard-live-table-wrap{
    overflow:hidden;
  }
  .dashboard-body .dashboard-live-table{
    width:100%;
    min-width:0;
    table-layout:fixed;
  }
  .dashboard-body .dashboard-live-table th,
  .dashboard-body .dashboard-live-table td{
    padding-left:14px;
    padding-right:14px;
    min-width:0;
  }
  .dashboard-body .dashboard-live-table th:nth-child(1),
  .dashboard-body .dashboard-live-table td:nth-child(1){width:25%}
  .dashboard-body .dashboard-live-table th:nth-child(2),
  .dashboard-body .dashboard-live-table td:nth-child(2){width:9%}
  .dashboard-body .dashboard-live-table th:nth-child(3),
  .dashboard-body .dashboard-live-table td:nth-child(3){width:10%}
  .dashboard-body .dashboard-live-table th:nth-child(4),
  .dashboard-body .dashboard-live-table td:nth-child(4){width:14%}
  .dashboard-body .dashboard-live-table th:nth-child(5),
  .dashboard-body .dashboard-live-table td:nth-child(5){width:17%}
  .dashboard-body .dashboard-live-table th:nth-child(6),
  .dashboard-body .dashboard-live-table td:nth-child(6){width:12%}
  .dashboard-body .dashboard-live-table th:nth-child(7),
  .dashboard-body .dashboard-live-table td:nth-child(7){width:13%}
  .dashboard-body .dashboard-live-person{min-width:0}
  .dashboard-body .dashboard-live-person strong{
    font-size:14px;
  }
  .dashboard-body .dashboard-live-person small{
    font-size:11px;
  }
  .dashboard-body .dashboard-live-time strong{
    font-size:14px;
  }
  .dashboard-body .dashboard-live-time small,
  .dashboard-body .dashboard-live-status-detail{
    font-size:10px;
  }
  .dashboard-body .dashboard-live-context{
    min-width:0;
  }
  .dashboard-body .dashboard-live-context strong{
    font-size:12px;
  }
  .dashboard-body .dashboard-live-context small{
    font-size:10px;
  }
  .dashboard-body .dashboard-live-role{
    display:block;
    font-size:12px;
    line-height:1.35;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .dashboard-body .dashboard-live-action{
    white-space:nowrap;
  }
  .dashboard-body .dashboard-live-action a{
    display:inline-flex;
    justify-content:flex-end;
    max-width:100%;
    font-size:12px;
    line-height:1.25;
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:normal;
  }
}

@media (max-width:1180px) and (min-width:701px){
  .dashboard-body .dashboard-live-table-wrap{
    overflow:visible;
    border:0;
    background:transparent;
  }
  .dashboard-body .dashboard-live-table{
    display:block;
    min-width:0;
    width:100%;
  }
  .dashboard-body .dashboard-live-table thead{display:none}
  .dashboard-body .dashboard-live-table tbody{display:grid;gap:12px}
  .dashboard-body .dashboard-live-table tbody tr{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:12px 16px;
    padding:18px;
    border:1px solid #e1e8e5;
    border-radius:15px;
    background:#fff;
  }
  .dashboard-body .dashboard-live-table tbody tr[hidden]{display:none!important}
  .dashboard-body .dashboard-live-table tbody td{
    display:grid;
    gap:4px;
    min-width:0;
    width:auto!important;
    padding:0!important;
    border:0!important;
    text-align:left!important;
    white-space:normal!important;
  }
  .dashboard-body .dashboard-live-table tbody td:nth-child(1){grid-column:1/-1}
  .dashboard-body .dashboard-live-table tbody td:nth-child(5){grid-column:1/3}
  .dashboard-body .dashboard-live-table tbody td:nth-child(7){grid-column:3}
  .dashboard-body .dashboard-live-table tbody td::before{
    display:block;
    color:#7b857e;
    font-size:10px;
    font-weight:850;
    letter-spacing:.05em;
    text-transform:uppercase;
  }
  .dashboard-body .dashboard-live-table tbody td:nth-child(2)::before{content:"Vandaag"}
  .dashboard-body .dashboard-live-table tbody td:nth-child(3)::before{content:"Deze week"}
  .dashboard-body .dashboard-live-table tbody td:nth-child(4)::before{content:"Status"}
  .dashboard-body .dashboard-live-table tbody td:nth-child(5)::before{content:"Werkcontext"}
  .dashboard-body .dashboard-live-table tbody td:nth-child(6)::before{content:"Rol"}
  .dashboard-body .dashboard-live-table tbody td:nth-child(7)::before{content:"Actie"}
  .dashboard-body .dashboard-live-action a{
    justify-content:flex-start;
  }
}

@media(max-width:900px){
  .dashboard-body .dashboard-hr-task{
    min-height:0;
    padding:18px;
  }
  .dashboard-body .dashboard-hr-task-copy strong{font-size:15px}
  .dashboard-body .dashboard-hr-task-copy small{font-size:13px}
  .dashboard-body .dashboard-attention-row,
  .dashboard-body .dashboard-upcoming-row{padding:14px 16px !important}
}
@media(max-width:600px){
  .dashboard-body .dashboard-hr-task>b{
    margin-left:0;
    padding-top:4px;
  }
  .dashboard-body .dashboard-attention-row,
  .dashboard-body .dashboard-upcoming-row{
    grid-template-columns:auto minmax(0,1fr);
  }
  .dashboard-body .dashboard-attention-row b,
  .dashboard-body .dashboard-upcoming-row b{
    grid-column:2;
    justify-self:start;
    padding-left:0;
  }
}


/* v0.162.52 · Dashboard werknemerslijst: actielabels altijd volledig zichtbaar */
@media (min-width:901px){
  .dashboard-body .dashboard-live-table th:nth-child(7),
  .dashboard-body .dashboard-live-table td:nth-child(7){
    min-width:112px;
    white-space:nowrap;
  }
  .dashboard-body .dashboard-live-action a{
    width:auto;
    min-width:max-content;
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:keep-all;
  }
}

/* v0.162.53 · Goedkeuringen: moderne, responsieve sectie-opbouw en betere spacing */
.approvals-page{
  display:grid;
  gap:24px;
}
.approvals-page>.page-header,
.approvals-page>.week-jump-toolbar,
.approvals-page>.section-nav,
.approvals-page>.approval-control-panel,
.approvals-page>.panel,
.approvals-page>.approval-rule-note{
  margin:0 !important;
}
.approvals-page>.page-header{
  padding:28px 30px;
}
.approvals-page>.page-header h1{
  margin:4px 0 8px;
}
.approvals-page>.page-header .muted{
  max-width:1120px;
  line-height:1.5;
}

.approvals-page .week-jump-toolbar{
  display:grid;
  grid-template-columns:minmax(360px,1fr) minmax(520px,1.15fr);
  align-items:center;
  gap:24px;
  padding:18px 22px;
}
.approvals-page .week-jump-toolbar .week-nav{
  display:grid;
  grid-template-columns:auto minmax(190px,1fr) auto;
  align-items:center;
  gap:18px;
  min-width:0;
}
.approvals-page .week-jump-toolbar .week-nav a{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  color:var(--nova-ui-text);
  font-size:15px;
  font-weight:800;
  white-space:nowrap;
}
.approvals-page .week-jump-toolbar .week-nav strong{
  font-size:16px;
  text-align:center;
  white-space:nowrap;
}
.approvals-page .week-jump-form{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto auto;
  align-items:end;
  gap:12px;
}
.approvals-page .week-jump-form label{
  display:grid;
  gap:7px;
  min-width:0;
  color:var(--nova-ui-text);
  font-size:13px;
  font-weight:800;
}
.approvals-page .week-jump-form input[type=date]{
  width:100%;
  min-width:0;
  min-height:46px;
  border:1.5px solid var(--nova-ui-border);
  border-radius:12px;
  padding:9px 12px;
  background:#fff;
  font:inherit;
  font-size:14px;
}
.approvals-page .week-jump-form .primary-button,
.approvals-page .week-jump-form .button-link{
  min-height:46px;
  padding:10px 18px;
  white-space:nowrap;
}
.approvals-page .week-jump-form .button-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1.5px solid var(--nova-ui-border);
  border-radius:12px;
  background:#fff;
  color:var(--nova-ui-text);
  font-size:14px;
  font-weight:800;
  text-decoration:none;
}

.approvals-page>.section-nav{
  padding:9px;
  border:1.5px solid var(--nova-ui-border);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--nova-ui-shadow);
}
.approvals-page>.section-nav .section-nav-item{
  min-height:42px;
  padding:10px 15px;
  border-radius:12px;
  font-size:13px;
  font-weight:800;
}

.approvals-page .approval-control-panel{
  padding:24px 26px;
  min-height:0;
  overflow:visible;
}
.approvals-page .approval-control-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,430px);
  align-items:start;
  gap:28px;
  padding:0 0 20px;
  border-bottom:1px solid #e6ece9;
}
.approvals-page .approval-control-heading>div:first-child{
  max-width:850px;
}
.approvals-page .approval-control-heading h2{
  margin:0 0 8px;
  font-size:22px;
}
.approvals-page .approval-control-heading .muted{
  margin:0;
  max-width:820px;
  font-size:15px;
  line-height:1.55;
}
.approvals-page .approval-control-status{
  display:grid;
  gap:5px;
  width:100%;
  min-width:0;
  max-width:none;
  padding:16px 18px;
  border:1.5px solid #c9ddcf;
  border-radius:18px;
  background:var(--nova-ui-sage-soft);
  box-shadow:none;
}
.approvals-page .approval-control-status strong{
  font-size:15px;
  line-height:1.35;
}
.approvals-page .approval-control-status span{
  font-size:13px;
  line-height:1.45;
}
.approvals-page .approval-control-status small{
  font-size:12px;
  line-height:1.45;
}
.approvals-page .approval-control-status.current{
  border-left-width:1.5px;
  border-color:#c9ddcf;
  background:var(--nova-ui-sage-soft);
}
.approvals-page .approval-control-status.stale{
  border-left-width:1.5px;
  border-color:var(--nova-ui-amber-border);
  background:var(--nova-ui-amber-soft);
}
.approvals-page .approval-control-status.failed{
  border-left-width:1.5px;
  border-color:var(--nova-ui-coral-border);
  background:var(--nova-ui-coral-soft);
}
.approvals-page .approval-control-status.running{
  border-left-width:1.5px;
  border-color:var(--nova-ui-blue-border);
  background:var(--nova-ui-blue-soft);
}

.approvals-page .approval-manual-control{
  margin-top:18px;
  padding-top:0;
  border-top:0;
  border:1.5px solid var(--nova-ui-border);
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}
.approvals-page .approval-manual-control summary{
  display:flex;
  align-items:center;
  min-height:54px;
  padding:14px 18px;
  color:var(--nova-ui-text);
  font-size:14px;
  font-weight:850;
  cursor:pointer;
  list-style-position:inside;
}
.approvals-page .approval-manual-control[open] summary{
  border-bottom:1px solid #e6ece9;
  background:var(--nova-ui-surface-soft);
  color:var(--nova-ui-text);
}
.approvals-page .approval-manual-control>p,
.approvals-page .approval-manual-control>.approval-run-form{
  margin-left:18px;
  margin-right:18px;
}
.approvals-page .approval-manual-control>p{
  margin-top:16px;
  margin-bottom:12px;
  font-size:13px;
  line-height:1.5;
}
.approvals-page .approval-run-form{
  margin-bottom:18px;
}

@media(max-width:1180px){
  .approvals-page .week-jump-toolbar{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .approvals-page .week-jump-form{
    grid-template-columns:minmax(220px,1fr) auto auto;
  }
}
@media(max-width:900px){
  .approvals-page{gap:18px}
  .approvals-page>.page-header{padding:22px}
  .approvals-page .approval-control-panel{padding:20px}
  .approvals-page .approval-control-heading{
    grid-template-columns:1fr;
    gap:18px;
  }
  .approvals-page .week-jump-toolbar .week-nav{
    grid-template-columns:auto minmax(0,1fr) auto;
  }
}
@media(max-width:700px){
  .approvals-page{gap:14px}
  .approvals-page .week-jump-toolbar{padding:16px}
  .approvals-page .week-jump-toolbar .week-nav{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .approvals-page .week-jump-toolbar .week-nav strong{
    grid-column:1/-1;
    grid-row:1;
  }
  .approvals-page .week-jump-toolbar .week-nav a:first-child{justify-self:start}
  .approvals-page .week-jump-toolbar .week-nav a:last-child{justify-self:end}
  .approvals-page .week-jump-form{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .approvals-page .week-jump-form .primary-button,
  .approvals-page .week-jump-form .button-link{
    width:100%;
  }
  .approvals-page>.section-nav{
    display:flex;
    overflow-x:auto;
    white-space:nowrap;
  }
  .approvals-page .approval-control-heading h2{font-size:20px}
  .approvals-page .approval-control-heading .muted{font-size:14px}
}

/* v0.162.57 · platformbrede leesbaarheid, responsive planningpagina's en spacing-pass */
:root{
  --nova-readable-muted:#647169;
  --nova-readable-soft:#748078;
  --nova-action-blue-soft:#f2f6f8;
  --nova-action-blue-border:#d8e3e8;
}

/* Contextswitcher: reserveer op de gecontroleerde beheerpagina's voldoende bovenzone zodat acties niet overlappen. */
@media (min-width:981px){
  .availability-page,
  .open-shifts-page,
  .staffing-requirements-page,
  .employer-shift-request-page,
  .camp-page,
  .organisational-structure-page,
  .workforce-input-page{
    padding-top:78px;
  }
}
@media (max-width:980px){
  .availability-page,
  .open-shifts-page,
  .staffing-requirements-page,
  .employer-shift-request-page,
  .camp-page,
  .organisational-structure-page,
  .workforce-input-page{padding-top:22px}
}

/* Dashboard: secundaire informatie moet ook scanbaar blijven. */
.dashboard-body .dashboard-live-person small,
.dashboard-body .dashboard-live-time small,
.dashboard-body .dashboard-live-status-detail,
.dashboard-body .dashboard-live-context small{
  color:var(--nova-readable-muted)!important;
}
@media (min-width:901px){
  .dashboard-body .dashboard-live-person small{font-size:12.5px}
  .dashboard-body .dashboard-live-time small,
  .dashboard-body .dashboard-live-status-detail{font-size:12px;line-height:1.4}
  .dashboard-body .dashboard-live-context strong{font-size:13px}
  .dashboard-body .dashboard-live-context small{font-size:12px}
  .dashboard-body .dashboard-live-role{font-size:13px}
}
.dashboard-body .dashboard-attention-metrics small,
.dashboard-body .dashboard-upcoming-metrics small{font-size:12px;color:var(--nova-readable-muted)}
.dashboard-body .dashboard-attention-panel .text-link,
.dashboard-body .dashboard-upcoming-panel .text-link,
.dashboard-body .dashboard-replacement-panel .text-link{font-size:12.5px;font-weight:800}
.dashboard-body .dashboard-replacement-item{padding:15px 18px}
.dashboard-body .dashboard-replacement-item small{font-size:12.5px;line-height:1.45;color:var(--nova-readable-muted)}

/* Beschikbaarheid */
.availability-page{min-width:0;max-width:100%;overflow-x:hidden}
.availability-page .page-header{gap:24px}
.availability-page .page-header .muted,
.availability-page .availability-month-head .muted{font-size:14px;line-height:1.55;color:var(--nova-readable-muted)}
.availability-page .availability-toolbar{padding:20px 22px;gap:18px}
.availability-page .availability-filter-row{grid-template-columns:minmax(210px,.8fr) minmax(260px,1.35fr) minmax(240px,1.05fr) auto;gap:14px;align-items:end}
.availability-page .availability-filter-row label>span{font-size:12px;color:#68756d}
.availability-page .employer-availability-kpis>div{padding:18px 20px;border:1px solid #dfe7e3;border-radius:16px;background:#fff}
.availability-page .employer-availability-kpis>div:nth-child(1){background:#f2f8f3;border-color:#d4e4d8}
.availability-page .employer-availability-kpis>div:nth-child(2){background:#fff8ea;border-color:#ecdcb7}
.availability-page .employer-availability-kpis>div:nth-child(3){background:#fff4f1;border-color:#ebd6cf}
.availability-page .employer-availability-kpis>div.attention{background:#fff8ea;border-color:#e8d5aa}
.availability-page .employer-availability-kpis span{font-size:11.5px}
.availability-page .employer-availability-kpis small{font-size:13px;line-height:1.4;color:var(--nova-readable-muted)}
.availability-page .availability-guidance{font-size:13px;line-height:1.5;padding:12px 16px}
.availability-page .availability-month-panel{overflow:hidden}
.availability-page .availability-day header{padding:10px 11px;gap:8px}
.availability-page .availability-day header a{font-size:11.5px;font-weight:800;white-space:nowrap}
.availability-page .availability-day header small{font-size:10.5px;color:#66736b}
.availability-page .availability-day header strong{font-size:17px}
.availability-page .availability-empty{font-size:18px;color:#aab5ae}
.availability-page .availability-disclaimer{font-size:12.5px;line-height:1.5;color:var(--nova-readable-muted)}
@media(max-width:1180px){
  .availability-page .availability-filter-row{grid-template-columns:1fr 1fr}
  .availability-page .availability-filter-row .button,
  .availability-page .availability-filter-row .secondary-button{width:100%;justify-content:center}
}
@media(max-width:760px){
  .availability-page .page-header{align-items:stretch}
  .availability-page .page-header .secondary-button{width:100%;justify-content:center}
  .availability-page .availability-filter-row{grid-template-columns:1fr}
  .availability-page .availability-toolbar-top{align-items:stretch;flex-direction:column}
  .availability-page .availability-toolbar-top>.secondary-button{width:100%;justify-content:center}
}

/* Open diensten */
.open-shifts-page .page-header .muted{font-size:14px;line-height:1.55;color:var(--nova-readable-muted)}
.open-shifts-page .open-shift-info-note{font-size:13px;line-height:1.5;padding:14px 16px}
.open-shifts-page .open-shift-info-note a,
.open-shifts-page .open-shift-template-field small a{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border:1px solid #dbe3df;border-radius:9px;background:#fff;color:#42584b;text-decoration:none;font-weight:800}
.open-shifts-page .open-shift-workflow-head p:not(.planning-section-kicker){font-size:13px;color:var(--nova-readable-muted)}
.open-shifts-page .open-shift-workflow-step strong{font-size:13px}
.open-shifts-page .open-shift-workflow-step small{font-size:12px;color:var(--nova-readable-muted)}
.open-shifts-page .open-shift-form-section-title small{font-size:12.5px;color:var(--nova-readable-muted)}
.open-shifts-page .open-shift-form-section label>span{font-size:12px}
.open-shifts-page .open-shift-function-field small{color:var(--nova-readable-muted);font-size:12.5px}
.open-shifts-page .open-shift-kpis small{font-size:13px!important;color:var(--nova-readable-muted)!important}
.open-shifts-page .open-shift-card small,
.open-shifts-page .open-shift-card .muted,
.open-shifts-page .open-shift-direct-copy span{font-size:12.5px;line-height:1.5;color:var(--nova-readable-muted)}
.open-shifts-page .open-shift-candidates .empty-state{font-size:13px;color:var(--nova-readable-muted)}
@media(max-width:1080px){
  .open-shifts-page .open-shift-direct-assign{grid-template-columns:1fr!important;gap:14px}
  .open-shifts-page .open-shift-direct-form{grid-template-columns:1fr!important;width:100%}
  .open-shifts-page .open-shift-direct-form .button{width:100%;justify-content:center}
}
@media(max-width:760px){
  .open-shifts-page .page-header>div:last-child{width:100%}
  .open-shifts-page .page-header .secondary-button{width:100%;justify-content:center}
}

/* Bezettingsvereisten */
.staffing-requirements-page{min-width:0;max-width:100%;overflow-x:hidden}
.staffing-requirements-page>.page-header p,
.staffing-requirements-page .settings-card-head p,
.staffing-requirements-page .settings-info-note p{font-size:13.5px;line-height:1.55;color:var(--nova-readable-muted)}
.staffing-requirements-page .data-table th{font-size:11.5px}
.staffing-requirements-page .data-table td{font-size:13px;line-height:1.4}
.staffing-requirements-page .data-table td:last-child{min-width:112px}
.staffing-requirements-page .data-table td:last-child form{display:block!important}
.staffing-requirements-page .danger-button.compact-button{white-space:nowrap}
@media(max-width:980px){
  .staffing-requirements-page .table-wrap{overflow-x:auto}
  .staffing-requirements-page .data-table{min-width:820px}
}

/* Vervanging & ruilen */
.employer-shift-request-page .page-header .muted,
.employer-shift-request-page .shift-request-workflow-head p,
.employer-shift-request-page .shift-request-section-head p{font-size:13.5px;line-height:1.5;color:var(--nova-readable-muted)}
.employer-shift-request-page .shift-request-workflow-steps strong{font-size:13px}
.employer-shift-request-page .shift-request-workflow-steps small{font-size:12.5px;color:var(--nova-readable-muted)}
.employer-shift-request-page .shift-request-policy-summary.compact-policy a,
.employer-shift-request-page .shift-request-card a[href*="planning"]{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border:1px solid #dbe3df;border-radius:9px;background:#fff;color:#42584b;text-decoration:none;font-size:11.5px;font-weight:800}
.employer-shift-request-page .shift-request-kpis span{font-size:11px}
.employer-shift-request-page .shift-request-kpis small{font-size:13px;color:var(--nova-readable-muted)}
.employer-shift-request-page .shift-request-card p,
.employer-shift-request-page .shift-request-card small{font-size:12.5px;line-height:1.5;color:var(--nova-readable-muted)}
.employer-shift-request-page details>summary{font-size:12.5px;font-weight:800;color:#4b5f53;padding-block:6px}
@media(max-width:900px){
  .employer-shift-request-page .shift-swap-pair{grid-template-columns:1fr!important;gap:8px}
  .employer-shift-request-page .shift-swap-pair>span{transform:rotate(90deg);justify-self:start}
}

/* Kampinstellingen */
.camp-page{min-width:0;max-width:100%;overflow-x:hidden}
.camp-page .settings-page-header p,
.camp-page .camp-settings-index p,
.camp-page .camp-payroll-block-head p,
.camp-page .camp-calendar-premium-config p,
.camp-page .settings-card p,
.camp-page small{color:var(--nova-readable-muted)}
.camp-page .camp-payroll-block-head p{font-size:13px;line-height:1.5}
.camp-page .camp-payroll-toggle-card p{font-size:13px;line-height:1.5}
.camp-page .camp-calendar-premium-config-head p{font-size:12.5px;line-height:1.5}
.camp-page .camp-payroll-table th{font-size:11px}
.camp-page .camp-payroll-table td{font-size:13px}
.camp-page .camp-settings-index-option small{font-size:12px;line-height:1.4}
.camp-page details>summary{font-size:12.5px}
@media(max-width:1100px){
  .camp-page .camp-payroll-toggle-grid{grid-template-columns:1fr 1fr!important}
  .camp-page .camp-payroll-time-grid{grid-template-columns:1fr!important}
}
@media(max-width:720px){
  .camp-page .camp-payroll-toggle-grid{grid-template-columns:1fr!important}
}

/* Organisatiestructuur: geen horizontale pagina-overflow. */
.organisational-structure-page,
.organisational-structure-page *{box-sizing:border-box}
.organisational-structure-page{min-width:0!important;max-width:100%!important;width:100%!important;overflow-x:hidden!important}
.organisational-structure-page>.settings-card,
.organisational-structure-page>.page-header,
.organisational-structure-page>.section-nav{min-width:0!important;max-width:100%!important;width:100%}
.organisational-structure-page .os-structure-form{min-width:0;max-width:100%}
.organisational-structure-page .os-structure-form>*{min-width:0;max-width:100%}
.organisational-structure-page input,
.organisational-structure-page select,
.organisational-structure-page textarea{min-width:0;max-width:100%;width:100%}
.organisational-structure-page .table-wrap{max-width:100%;overflow-x:auto}
.organisational-structure-page .settings-card-head p{font-size:13.5px;line-height:1.55;color:var(--nova-readable-muted)}

/* Mobiliteit & declaraties: duidelijke afstand tussen header en subnavigatie. */
.workforce-input-page{display:grid;gap:24px;min-width:0;max-width:100%}
.workforce-input-page>.page-header,
.workforce-input-page>.section-nav,
.workforce-input-page>.settings-card{margin:0!important}
.workforce-input-page>.page-header + .section-nav{margin-top:4px!important}
.workforce-input-page>.page-header .muted{font-size:14px;line-height:1.55;color:var(--nova-readable-muted)}
@media(max-width:900px){.workforce-input-page{gap:18px}}

/* Tijdregistraties: meer ademruimte en een herkenbaar handmatig-invoerblok. */
.time-registrations-body .content{display:grid;gap:26px}
.time-registrations-body .content>.time-registration-page-header,
.time-registrations-body .content>.time-manual-entry,
.time-registrations-body .content>.time-registration-overview{margin:0!important}
.time-registrations-body .time-manual-entry{border:1px solid var(--nova-action-blue-border);background:var(--nova-action-blue-soft);box-shadow:none}
.time-registrations-body .time-manual-entry-summary{padding:18px 22px}
.time-registrations-body .time-manual-entry-copy strong{font-size:16px;color:#2f4539}
.time-registrations-body .time-manual-entry-copy small{font-size:13px;color:var(--nova-readable-muted)}
.time-registrations-body .time-manual-entry-chevron{border-color:#8aa092}
.time-registrations-body .time-manual-entry[open]{background:#f7faf8}
.time-registrations-body .time-manual-entry-body{border-top-color:#dce6e1}
.time-registrations-body .time-registration-header-copy .muted{font-size:14px;color:var(--nova-readable-muted)}
@media(max-width:1180px){
  .time-registrations-body .time-context-switcher-slot .context-switcher form{grid-template-columns:1fr 1fr auto!important}
}
@media(max-width:760px){
  .time-registrations-body .content{gap:18px}
  .time-registrations-body .time-context-switcher-slot .context-switcher form{grid-template-columns:1fr!important}
  .time-registrations-body .time-context-switcher-slot .context-switcher .context-switch-button{width:100%}
}


/* v0.162.58 — Organisatiestructuur: structurele horizontale-overflowfix */
html:has(body.organisational-structure-body),
body.organisational-structure-body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
body.organisational-structure-body .app-shell{
  width:100%;
  max-width:100vw;
  min-width:0;
  overflow-x:hidden;
}
body.organisational-structure-body .app-shell>main.content{
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  overflow-x:hidden!important;
}
body.organisational-structure-body .organisational-structure-page{
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:hidden!important;
}
body.organisational-structure-body .organisational-structure-page>*{
  min-width:0!important;
  max-width:100%!important;
}
body.organisational-structure-body .organisational-structure-page :is(
  .settings-card,
  .page-header,
  .section-nav,
  form,
  .settings-form-grid,
  .os-structure-form
){
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
}
body.organisational-structure-body .organisational-structure-page .settings-form-grid,
body.organisational-structure-body .organisational-structure-page .os-structure-form{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
body.organisational-structure-body .organisational-structure-page :is(
  label,
  input,
  select,
  textarea,
  .form-actions
){
  min-width:0!important;
  max-width:100%!important;
}
body.organisational-structure-body .organisational-structure-page .table-wrap{
  width:100%;
  min-width:0;
  max-width:100%;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
}
@media(max-width:1100px){
  body.organisational-structure-body .organisational-structure-page .settings-form-grid,
  body.organisational-structure-body .organisational-structure-page .os-structure-form{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:700px){
  body.organisational-structure-body .organisational-structure-page .settings-form-grid,
  body.organisational-structure-body .organisational-structure-page .os-structure-form{
    grid-template-columns:minmax(0,1fr);
  }
}

/* v0.162.63 · tijdelijke QA-performanceprofiler voor Dashboard en Planning */
.perf-trace-panel{position:relative;z-index:90;margin:22px 28px 34px;padding:0;border:1px solid #ccd8d0;border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(30,40,33,.08);overflow:hidden;color:#26342b}
.perf-trace-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;cursor:pointer;background:#f4f7f5;list-style:none}
.perf-trace-panel>summary::-webkit-details-marker{display:none}.perf-trace-panel>summary strong{font-size:14px}.perf-trace-panel>summary span{font-size:12px;color:#647169;font-weight:700}.perf-trace-copy{padding:11px 16px;color:#647169;font-size:12px;line-height:1.5;border-top:1px solid #e7ece8}.perf-trace-copy code{padding:2px 5px;border-radius:5px;background:#eef2ef;color:#33463a}.perf-trace-table-wrap{overflow:auto}.perf-trace-panel table{width:100%;border-collapse:collapse;font-size:12px}.perf-trace-panel th,.perf-trace-panel td{padding:9px 12px;border-top:1px solid #edf0ed;text-align:left;white-space:nowrap}.perf-trace-panel th{color:#68746c;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.perf-trace-panel td:first-child{white-space:normal;font-weight:700}.perf-trace-warn{background:#fff9e9}.perf-trace-slow{background:#fff0ed}.perf-trace-slow td:nth-child(2){color:#9a4438;font-weight:900}.perf-trace-warn td:nth-child(2){color:#8a661c;font-weight:850}@media(max-width:760px){.perf-trace-panel{margin:18px 12px 28px}.perf-trace-panel>summary{align-items:flex-start;flex-direction:column;gap:4px}}


/* v0.162.66 · Robuust inklappen van Planning-groepen in Kalender, Planbord en Lijst. */
[data-planning-group-item].is-planning-group-collapsed{
  display:none!important;
}
.planning-group-toggle-button.is-collapsed .planning-group-chevron{
  transform:rotate(-90deg);
}


/* v0.162.67 · Planning-groepen: server-side standaard ingeklapt + JS-onafhankelijke fallback. */
[data-planning-group-item][hidden],
[data-planning-group-item].is-planning-group-collapsed{
  display:none!important;
}
.planning-group-collapse-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.planning-group-collapse-state{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 4px;
  color:#66756e;
  font-size:12.5px;
  font-weight:700;
  white-space:nowrap;
}
.planning-group-toggle-button[aria-expanded="false"] .planning-group-chevron{
  transform:rotate(-90deg)!important;
}
@media(max-width:800px){
  .planning-group-collapse-state{
    width:100%;
    min-height:0;
    padding-top:2px;
  }
}


/* v0.162.68 · Planning-groepen: afgewerkte Nova accordionbalken + robuuste linkbediening. */
.planning-group-bulk-button{
  text-decoration:none!important;
  min-height:34px!important;
  padding:7px 12px!important;
  border-radius:9px!important;
  font-size:12.5px!important;
  font-weight:750!important;
}
.planning-group-toggle-button{
  text-decoration:none!important;
  box-sizing:border-box!important;
  color:#26372e!important;
}
.planning-board-group-row>th,
.planning-calendar-group-row>th{
  padding:0!important;
  background:#fff!important;
  border:0!important;
}
.planning-board-group-row .planning-group-toggle-button,
.planning-calendar-group-row .planning-group-toggle-button{
  width:calc(100% - 20px)!important;
  min-height:54px!important;
  margin:8px 10px!important;
  padding:10px 13px!important;
  border:1px solid #d7e2da!important;
  border-radius:12px!important;
  background:#f5f8f6!important;
  box-shadow:0 1px 2px rgba(34,52,41,.035)!important;
}
.planning-board-group-row .planning-group-toggle-button:hover,
.planning-calendar-group-row .planning-group-toggle-button:hover,
.planning-list-group-head .planning-group-toggle-button:hover{
  background:#eef5f0!important;
  border-color:#c6d7cb!important;
}
.planning-board-group-row .planning-group-toggle-button[aria-expanded="true"],
.planning-calendar-group-row .planning-group-toggle-button[aria-expanded="true"],
.planning-list-group-head .planning-group-toggle-button[aria-expanded="true"]{
  background:#edf5ef!important;
  border-color:#bfd2c4!important;
}
.planning-group-chevron{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;
  height:28px!important;
  flex:0 0 28px!important;
  border:1px solid #d2ded6!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#476052!important;
  font-size:23px!important;
  font-weight:500!important;
  line-height:1!important;
  transform:rotate(90deg)!important;
  transition:transform .16s ease,background .16s ease,border-color .16s ease!important;
}
.planning-group-toggle-button.is-collapsed .planning-group-chevron,
.planning-group-toggle-button[aria-expanded="false"] .planning-group-chevron{
  transform:rotate(0deg)!important;
}
.planning-group-toggle-button>span:not(.planning-group-chevron){
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
  color:#2d4035!important;
}
.planning-group-toggle-button small{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:28px!important;
  margin-left:auto!important;
  padding:4px 10px!important;
  border:1px solid #d9e3dc!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#64766c!important;
  font-size:11.5px!important;
  line-height:1!important;
  font-weight:750!important;
  white-space:nowrap!important;
}
.planning-list-group-head{
  margin:12px 0 8px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.planning-list-group-head .planning-group-toggle-button{
  min-height:54px!important;
  padding:10px 13px!important;
  border:1px solid #d7e2da!important;
  border-radius:12px!important;
  background:#f5f8f6!important;
  box-shadow:0 1px 2px rgba(34,52,41,.035)!important;
}
.planning-collapsible-group-head.is-collapsed .planning-group-toggle-button{min-height:54px!important}
.planning-group-collapse-actions{gap:7px!important}
.planning-group-collapse-state{
  min-height:34px!important;
  padding:0 7px!important;
  color:#738079!important;
  font-size:11.5px!important;
  font-weight:700!important;
}
@media(max-width:800px){
  .planning-board-group-row .planning-group-toggle-button,.planning-calendar-group-row .planning-group-toggle-button{width:calc(100% - 12px)!important;margin:6px!important;padding:9px 10px!important}
  .planning-group-chevron{width:26px!important;height:26px!important;flex-basis:26px!important;font-size:21px!important}
  .planning-group-toggle-button>span:not(.planning-group-chevron){font-size:13.5px!important}
  .planning-group-toggle-button small{font-size:10.5px!important;padding:4px 8px!important}
}

/* v0.162.73 · Payroll afsluitassistent / exception-first HR workflow */
.payroll-close-wizard{margin:24px 0 18px;padding:20px;border:1px solid #dfe7e1;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(32,47,37,.035)}
.payroll-close-wizard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.payroll-close-wizard-head h2{margin:2px 0 6px;font-size:20px;color:#26342b}.payroll-close-wizard-head p:not(.eyebrow){margin:0;max-width:760px;color:#66736b;font-size:13px;line-height:1.5}.payroll-close-wizard-progress{min-width:260px;padding:12px 14px;border:1px solid #e0e8e2;border-radius:12px;background:#f7faf8}.payroll-close-wizard-progress strong,.payroll-close-wizard-progress small{display:block}.payroll-close-wizard-progress strong{font-size:13px;color:#32483a}.payroll-close-wizard-progress small{margin-top:4px;color:#748078;font-size:11px;line-height:1.4}
.payroll-wizard-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.payroll-wizard-step{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:9px;min-height:64px;padding:10px 11px;border:1px solid #e0e6e1;border-radius:11px;background:#fafcfb;color:#34463b;text-align:left;cursor:pointer}.payroll-wizard-step>span{grid-row:1/3;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #d4dfd7;border-radius:999px;background:#fff;color:#607067;font-size:12px;font-weight:850}.payroll-wizard-step strong{font-size:12px;line-height:1.15}.payroll-wizard-step small{color:#7a857f;font-size:10px;line-height:1.2}.payroll-wizard-step:hover{border-color:#c8d7cc;background:#f5f9f6}.payroll-wizard-step.active{border-color:#b9cfbf;background:#edf5ef;box-shadow:0 0 0 1px rgba(84,123,95,.05)}.payroll-wizard-step.active>span{border-color:#a9c3af;background:#dfeee2;color:#31523c}.payroll-wizard-active-label{margin-top:12px;color:#637169;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.payroll-wizard-step-panel[hidden]{display:none!important}.payroll-wizard-step-panel>.settings-card:first-child{margin-top:0}.payroll-wizard-panel-nav{display:flex;align-items:center;gap:10px;margin:16px 0 24px}.payroll-wizard-nav-spacer{flex:1}
.payroll-employee-filterbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 12px;padding:10px;border:1px solid #e5eae6;border-radius:12px;background:#f8faf9}.payroll-employee-filterbar .button.active{border-color:#b9cfbf;background:#edf5ef;color:#31523c}.payroll-employee-filterbar .button strong{margin-left:4px}.payroll-employee-filter-hint{margin-left:auto;color:#7b8580;font-size:11px}.payroll-employee-card{border:1px solid #e2e7e3!important;border-left-width:1px!important;background:#fff!important}.payroll-employee-card.employee-readiness-blocked{border-color:#eccdca!important;background:#fffafa!important}.payroll-employee-card.employee-readiness-attention{border-color:#eadfbe!important;background:#fffdf8!important}.payroll-employee-card.employee-readiness-ready{border-color:#cddfd1!important;background:#fbfdfb!important}.payroll-employee-card-head{grid-template-columns:auto minmax(220px,1fr) auto auto}.payroll-employee-expand{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 11px;border:1px solid #d8e0da;border-radius:9px;background:#fff;color:#45564b;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.payroll-employee-expand:hover{background:#f3f7f4;border-color:#c8d6cc}.payroll-employee-expand .when-open{display:none}.payroll-employee-expand[aria-expanded="true"] .when-open{display:inline}.payroll-employee-expand[aria-expanded="true"] .when-closed{display:none}.payroll-employee-card.is-collapsed .payroll-employee-metrics,.payroll-employee-card.is-collapsed .payroll-masterdata-strip,.payroll-employee-card.is-collapsed .payroll-employee-card-foot{display:none!important}.payroll-employee-card.is-collapsed .payroll-employee-card-head{border-bottom:0}.payroll-employee-list{gap:9px}
.payroll-control-details,.payroll-summary-details{border:1px solid #e0e7e2;border-radius:12px;background:#fbfcfb;overflow:hidden}.payroll-control-details>summary,.payroll-summary-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;cursor:pointer;list-style:none}.payroll-control-details>summary::-webkit-details-marker,.payroll-summary-details>summary::-webkit-details-marker{display:none}.payroll-control-details>summary>span:first-child,.payroll-summary-details>summary>span:first-child{display:grid;gap:3px}.payroll-control-details>summary strong,.payroll-summary-details>summary strong{color:#314239;font-size:13px}.payroll-control-details>summary small,.payroll-summary-details>summary small{color:#758079;font-size:11px}.payroll-details-toggle{color:#557062;font-size:11px;font-weight:800;white-space:nowrap}.payroll-details-toggle .when-open{display:none}.payroll-control-details[open] .payroll-details-toggle .when-open,.payroll-summary-details[open] .payroll-details-toggle .when-open{display:inline}.payroll-control-details[open] .payroll-details-toggle .when-closed,.payroll-summary-details[open] .payroll-details-toggle .when-closed{display:none}.payroll-control-details-body{padding:0 14px 14px;border-top:1px solid #e5eae6;background:#fff}.payroll-control-details[open]>summary,.payroll-summary-details[open]>summary{background:#f2f7f3}.payroll-final-check-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}.payroll-final-check-strip>div{padding:13px 14px;border:1px solid #e3e8e4;border-radius:11px;background:#fafbfa}.payroll-final-check-strip span,.payroll-final-check-strip strong{display:block}.payroll-final-check-strip span{color:#79827d;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.03em}.payroll-final-check-strip strong{margin-top:5px;color:#2f3d34;font-size:17px}.payroll-final-check-strip .ok{border-color:#c8ddcc;background:#f3f9f4}.payroll-final-check-strip .attention{border-color:#eadfbe;background:#fffaf0}.payroll-final-check-strip .blocked{border-color:#eccdca;background:#fff4f3}
@media(max-width:980px){.payroll-close-wizard-head{flex-direction:column}.payroll-close-wizard-progress{width:100%;min-width:0}.payroll-wizard-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-final-check-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-employee-card-head{grid-template-columns:auto minmax(0,1fr) auto}.payroll-employee-expand{grid-column:2/-1;justify-self:end}.payroll-employee-filter-hint{width:100%;margin-left:0}}
@media(max-width:620px){.payroll-close-wizard{padding:14px}.payroll-wizard-steps{grid-template-columns:1fr}.payroll-final-check-strip{grid-template-columns:1fr}.payroll-employee-filterbar .button{flex:1 1 100%}.payroll-wizard-panel-nav{align-items:stretch;flex-direction:column}.payroll-wizard-panel-nav .button{width:100%}.payroll-wizard-nav-spacer{display:none}.payroll-employee-card-head{grid-template-columns:auto minmax(0,1fr)}.payroll-employee-expand{grid-column:1/-1;width:100%}}

/* v0.162.74 payroll visual polish */
.payroll-period-focus-card{
  border-color:#d9e4dc;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfb 100%);
  box-shadow:0 10px 26px rgba(47,66,56,.04);
}
.payroll-close-wizard{
  border-color:#d9e4dc;
  background:linear-gradient(180deg,#fcfdfc 0%,#f6faf7 100%);
  box-shadow:0 12px 28px rgba(32,47,37,.05);
}
.payroll-close-wizard-progress{
  position:relative;
  border-width:2px;
  box-shadow:0 4px 14px rgba(34,49,40,.04);
}
.payroll-close-wizard-progress.is-ready{background:#f4faf5;border-color:#5d9a72}
.payroll-close-wizard-progress.has-attention{background:#fffaf2;border-color:#e0af47}
.payroll-close-wizard-progress.has-blocking{background:#fff6f4;border-color:#d87970}

.payroll-wizard-step{
  position:relative;
  border-width:2px;
  border-color:#d8e1db;
  background:#fff;
  box-shadow:0 4px 12px rgba(34,49,40,.035);
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.payroll-wizard-step:hover{transform:translateY(-1px)}
.payroll-wizard-step.is-done{background:#f5faf6;border-color:#4d9867}
.payroll-wizard-step.is-done>span{border-color:#9fceac;background:#eaf5ed;color:#2f6a44}
.payroll-wizard-step.has-attention{background:#fffaf2;border-color:#e0af47}
.payroll-wizard-step.has-attention>span{border-color:#efcf83;background:#fff4d9;color:#976d14}
.payroll-wizard-step.has-blocking{background:#fff5f3;border-color:#d97a71}
.payroll-wizard-step.has-blocking>span{border-color:#edb3ac;background:#ffe8e4;color:#9c473f}
.payroll-wizard-step.active{
  border-color:#6d97d7;
  background:#f5f8fd;
  box-shadow:0 0 0 3px rgba(109,151,215,.14),0 10px 22px rgba(85,113,152,.08);
}
.payroll-wizard-step.active>span{
  border-color:#b9cce6;
  background:#edf3fb;
  color:#466481;
}
.payroll-wizard-step.is-done.active{
  border-color:#8eb2db;
  background:#f4f8fc;
}
.payroll-wizard-step.is-done.active>span{
  border-color:#b9cce6;
  background:#edf3fb;
  color:#466481;
  box-shadow:0 0 0 3px rgba(109,151,215,.10);
}
.payroll-wizard-step.has-attention.active{
  border-color:#8eb2db;
  background:#f4f8fc;
}
.payroll-wizard-step.has-blocking.active{
  border-color:#8eb2db;
  background:#f4f8fc;
}

.payroll-kpi-card,
.payroll-employee-kpis>div{
  position:relative;
  border:2px solid #e0e6e2;
  border-radius:13px;
  background:#fff;
  box-shadow:0 5px 16px rgba(34,49,40,.03);
}
.payroll-kpi-card.tone-ready,
.payroll-employee-kpis .tone-ready{background:#f4faf5;border-color:#69a17a}
.payroll-kpi-card.tone-attention,
.payroll-employee-kpis .tone-attention{background:#fffaf1;border-color:#d9a63f}
.payroll-kpi-card.tone-warning{background:#fff6f3;border-color:#dd7b70}
.payroll-kpi-card.tone-info{background:#f5f8fd;border-color:#6d97d7}
.payroll-kpi-card.tone-muted,
.payroll-employee-kpis .tone-muted{background:#fafbfa;border-color:#bcc9c2}
.payroll-employee-kpis .tone-total{background:#f7f9fa;border-color:#8da0ae}
.payroll-employee-kpis .tone-blocked{background:#fff4f2;border-color:#d97a71}

.payroll-kpis strong,
.payroll-employee-kpis strong{color:#223129}
.payroll-kpis span,
.payroll-employee-kpis span{color:#68756d}

.payroll-period-table tr.selected-row{
  background:linear-gradient(180deg,#f5faf6 0%,#eef5f0 100%);
}
.payroll-period-table tr.selected-row td{
  box-shadow:inset 0 1px 0 #d7e6db,inset 0 -1px 0 #d7e6db;
}
.payroll-open-period{
  box-shadow:0 2px 8px rgba(50,71,58,.05);
}
.payroll-toolbar{
  margin-top:20px;
  padding:16px 18px;
  border:1px solid #e1e7e2;
  border-radius:14px;
  background:#f8fbf9;
}
.payroll-sync-state strong{font-size:13px}
.payroll-sync-state small{line-height:1.45}

@media(max-width:760px){
  .payroll-kpi-card,
  .payroll-employee-kpis>div,
  .payroll-wizard-step,
  .payroll-close-wizard-progress{box-shadow:none}
}

/* v0.162.75 · payroll afsluitflow: onderscheid controlewerk vs. echte aandacht */
.payroll-period-management-card{padding:0;overflow:hidden}
.payroll-period-management>summary,
.payroll-step1-details>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  cursor:pointer;
  list-style:none;
  background:#fbfcfb;
}
.payroll-period-management>summary::-webkit-details-marker,
.payroll-step1-details>summary::-webkit-details-marker{display:none}
.payroll-period-management>summary>span:first-child,
.payroll-step1-details>summary>span:first-child{display:grid;gap:4px;min-width:0}
.payroll-period-management>summary strong,
.payroll-step1-details>summary strong{color:#2f4137;font-size:13px}
.payroll-period-management>summary small,
.payroll-step1-details>summary small{color:#748078;font-size:11px;line-height:1.35}
.payroll-period-management-body{padding:0 18px 18px;border-top:1px solid #e4e9e5;background:#fff}
.payroll-period-management[open]>summary,
.payroll-step1-details[open]>summary{background:#f3f7f4}
.payroll-period-management .payroll-details-toggle .when-open,
.payroll-step1-details .payroll-details-toggle .when-open{display:none}
.payroll-period-management[open] .payroll-details-toggle .when-open,
.payroll-step1-details[open] .payroll-details-toggle .when-open{display:inline}
.payroll-period-management[open] .payroll-details-toggle .when-closed,
.payroll-step1-details[open] .payroll-details-toggle .when-closed{display:none}

.payroll-close-wizard-progress.is-pending{background:#f5f8fc;border-color:#8ea3b6}
.payroll-wizard-step.is-pending{background:#f6f8fb;border-color:#8ea3b6}
.payroll-wizard-step.is-pending>span{border-color:#c4d0db;background:#edf2f6;color:#5d7386}

.payroll-core-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}
.payroll-core-kpis>div{min-height:100px;padding:15px 16px}
.payroll-core-kpis>div strong{font-size:25px}
.payroll-step1-details{margin-top:14px;border:1px solid #e1e7e2;border-radius:13px;overflow:hidden;background:#fbfcfb}
.payroll-step1-details .payroll-kpis{margin:0;padding:14px;border-top:1px solid #e4e9e5;background:#fff}
.payroll-step1-detail-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}

.payroll-employee-kpis .tone-info{background:#f4f8fb;border-color:#d6e1ea}
.payroll-employee-kpis .tone-info::before{background:#6b8aa3}
.payroll-employee-kpis .tone-ready{background:#f4faf5;border-color:#d5e6d9}
.payroll-employee-kpis .tone-ready::before{background:#6f9477}

.payroll-final-check-strip{grid-template-columns:repeat(5,minmax(0,1fr))}

@media(max-width:1150px){
  .payroll-core-kpis,.payroll-step1-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .payroll-final-check-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .payroll-period-management>summary,.payroll-step1-details>summary{align-items:flex-start;padding:14px}
  .payroll-period-management-body{padding:0 14px 14px}
  .payroll-core-kpis,.payroll-step1-detail-kpis,.payroll-final-check-strip{grid-template-columns:1fr}
}

/* v0.162.76 · Payrollwizard robuuste navigatie + voltooidstatus */
.payroll-wizard-step{
  text-decoration:none;
}
.payroll-wizard-step:hover,
.payroll-wizard-step:focus-visible{
  text-decoration:none;
}
.payroll-wizard-step.is-done>span{
  font-size:17px;
  font-weight:900;
  line-height:1;
  border-color:#a9c9b0;
  background:#e5f3e8;
  color:#315c3d;
  box-shadow:0 0 0 3px rgba(111,148,119,.08);
}
.payroll-wizard-step.is-done small{
  color:#4f7659;
  font-weight:800;
}
.payroll-wizard-step.is-done.active small,
.payroll-wizard-step.has-attention.active small,
.payroll-wizard-step.has-blocking.active small,
.payroll-wizard-step.is-pending.active small{
  color:#5c6f81;
}
.payroll-wizard-step.is-done.active strong,
.payroll-wizard-step.has-attention.active strong,
.payroll-wizard-step.has-blocking.active strong,
.payroll-wizard-step.is-pending.active strong{
  color:#2d3f52;
}
.payroll-wizard-step:focus-visible{
  outline:3px solid rgba(82,111,91,.18);
  outline-offset:2px;
}

/* v0.162.77 · compact payroll employee review */
.payroll-employee-card{scroll-margin-top:120px}
.payroll-employee-card-head{padding-bottom:10px}
.payroll-employee-quick-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.payroll-quick-review-form{margin:0}
.payroll-employee-glance{display:flex;align-items:center;gap:7px 8px;flex-wrap:wrap;padding:0 16px 13px 50px;border-bottom:1px solid #edf0ed;background:rgba(248,250,249,.62)}
.payroll-glance-chip{display:inline-flex;align-items:center;gap:4px;min-height:27px;padding:4px 8px;border:1px solid #e0e6e2;border-radius:999px;background:#fff;color:#66736b;font-size:10.5px;line-height:1.2;white-space:nowrap}
.payroll-glance-chip strong{color:#314239;font-size:10.5px}
.payroll-glance-chip.has-attention{border-color:#eadab5;background:#fff9ee;color:#80642f}
.payroll-glance-chip.has-attention strong{color:#72551f}
.payroll-glance-chip.has-info{border-color:#d4e0e9;background:#f4f8fb;color:#5b7080}
.payroll-glance-message{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border-radius:8px;font-size:10.5px;font-weight:750;line-height:1.35}
.payroll-glance-message.is-ok{border:1px solid #d6e6da;background:#f3f9f4;color:#4d7156}
.payroll-glance-message.has-attention{border:1px solid #eadab5;background:#fff8e9;color:#806128}
.payroll-glance-message.is-blocked{border:1px solid #ebc9c3;background:#fff1ef;color:#8f4b45}
.payroll-employee-card.is-collapsed .payroll-employee-glance{border-bottom:0}
.payroll-employee-expand{text-decoration:none}
.payroll-employee-expand:focus-visible{outline:2px solid #6f8fb3;outline-offset:2px}
.payroll-employee-card.employee-readiness-attention .payroll-employee-expand,
.payroll-employee-card.employee-readiness-blocked .payroll-employee-expand{font-weight:850}

@media(max-width:980px){
  .payroll-employee-glance{padding-left:50px}
  .payroll-employee-quick-actions{grid-column:2/-1;justify-self:end}
}
@media(max-width:700px){
  .payroll-employee-glance{padding:0 14px 13px 14px}
  .payroll-employee-quick-actions{grid-column:1/-1;width:100%;justify-content:stretch}
  .payroll-employee-quick-actions .button,.payroll-employee-quick-actions .payroll-employee-expand{flex:1 1 auto}
  .payroll-glance-chip{white-space:normal}
}

/* v0.162.78 · exception-first medewerkercontrole */
.payroll-glance-reasons{
  display:grid;
  gap:7px;
  padding:0 16px 13px 50px;
  background:rgba(248,250,249,.62);
}
.payroll-glance-reason{
  display:grid;
  grid-template-columns:24px minmax(0,1fr) auto;
  align-items:center;
  gap:6px 9px;
  min-height:42px;
  padding:8px 10px;
  border:1px solid #eadab5;
  border-radius:10px;
  background:#fff8e9;
  color:#705722;
}
.payroll-glance-reason.is-blocked{
  border-color:#ebc9c3;
  background:#fff1ef;
  color:#864a44;
}
.payroll-glance-reason.is-ok{
  border-color:#d6e6da;
  background:#f3f9f4;
  color:#456a50;
}
.payroll-glance-reason.is-neutral{
  border-color:#d7e2e9;
  background:#f5f8fa;
  color:#566d7d;
}
.payroll-glance-reason-mark{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border:1px solid currentColor;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  line-height:1;
  opacity:.78;
}
.payroll-glance-reason strong{
  min-width:0;
  font-size:11px;
  line-height:1.35;
  color:inherit;
}
.payroll-glance-reason>span:not(.payroll-glance-reason-mark){
  grid-column:2;
  color:inherit;
  font-size:10px;
  line-height:1.35;
  opacity:.82;
}
.payroll-glance-reason-action{
  grid-column:3;
  grid-row:1 / span 2;
  align-self:center;
  white-space:nowrap;
}
.payroll-glance-more{
  padding:2px 8px 0 33px;
  color:#6f7b74;
  font-size:10px;
  line-height:1.35;
}
.payroll-employee-card.is-collapsed .payroll-glance-reasons{
  padding-bottom:13px;
}
@media(max-width:760px){
  .payroll-glance-reasons{padding:0 14px 13px}
  .payroll-glance-reason{grid-template-columns:24px minmax(0,1fr)}
  .payroll-glance-reason-action{grid-column:2;grid-row:auto;justify-self:start;margin-top:2px}
  .payroll-glance-more{padding-left:33px}
}
.payroll-issue-neutral{background:#f2f6f8;color:#607583}

/* v0.162.79 · payroll empty-period classification */
.payroll-core-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.payroll-employee-card.employee-readiness-no_data{border-color:#dde5e8!important;background:#fbfcfd!important}
.payroll-no-data-chip{background:#eef3f6!important;color:#587083!important}
.payroll-employee-card.employee-readiness-no_data .payroll-glance-reason.is-neutral{background:#f4f7f9;border-color:#dbe5eb;color:#566d7d}
.payroll-employee-card.employee-readiness-no_data .payroll-glance-chip{background:#fafcfd;border-color:#e1e8ec;color:#74828a}
.payroll-employee-filterbar [data-payroll-employee-filter="no_data"].active{border-color:#c8d7df;background:#eef4f7;color:#496879}
@media(max-width:1150px){.payroll-core-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.payroll-core-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.payroll-core-kpis{grid-template-columns:1fr}}

/* v0.162.80 · Payrollcontrole: robuuste filters, ontbrekende prikken en exports */
.payroll-glance-chip.has-blocked{border-color:#ebc9c3;background:#fff3f1;color:#914f48}
.payroll-glance-chip.has-blocked strong{color:#87443e}
.payroll-employee-export{position:relative;margin-left:2px}
.payroll-employee-export>summary{list-style:none;cursor:pointer}
.payroll-employee-export>summary::-webkit-details-marker{display:none}
.payroll-employee-export[open]>summary{border-color:#b9cfbf;background:#edf5ef;color:#31523c}
.payroll-employee-export-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:min(360px,calc(100vw - 40px));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:13px;border:1px solid #dce5df;border-radius:13px;background:#fff;box-shadow:0 14px 36px rgba(30,45,36,.14)}
.payroll-employee-export-menu>strong,.payroll-employee-export-menu>small{grid-column:1/-1}
.payroll-employee-export-menu>strong{color:#2f4036;font-size:12px}
.payroll-employee-export-menu>small{margin-top:-3px;color:#758079;font-size:10.5px;line-height:1.4}
.payroll-employee-export-menu .button{justify-content:center;margin:0}
.payroll-final-export-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.payroll-final-export-actions .button{margin:0}
@media(max-width:900px){.payroll-employee-export{width:100%}.payroll-employee-export>summary{width:100%;justify-content:center}.payroll-employee-export-menu{left:0;right:auto}.payroll-final-export-actions{width:100%;margin-top:10px}}
@media(max-width:620px){.payroll-employee-export-menu{grid-template-columns:1fr}.payroll-employee-export-menu>strong,.payroll-employee-export-menu>small{grid-column:1}.payroll-final-export-actions .button{width:100%}}

/* v0.162.81 · Payrollactieknoppen, filters en selectiepolish */
.payroll-employee-bulk{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid #e0e7e2;
  border-radius:14px;
  background:#f8faf9;
}
.payroll-employee-selection-tools,
.payroll-employee-bulk-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.payroll-employee-selection-tools .payroll-selection-count{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 10px;
  border:1px solid #e1e6e2;
  border-radius:999px;
  background:#fff;
  color:#6f7a73;
  font-size:10.5px;
  font-weight:800;
}
.payroll-employee-bulk .button{
  min-height:38px;
  padding:8px 13px;
  border-radius:10px;
  white-space:nowrap;
}
.payroll-employee-bulk .button.secondary,
.payroll-employee-filterbar>a.button,
.payroll-employee-export>summary.button,
.payroll-glance-reason-action.button{
  border:1px solid #d5dfd8;
  background:#fff;
  color:#405248!important;
  box-shadow:none;
  text-decoration:none!important;
}
.payroll-employee-bulk .button.secondary:hover,
.payroll-employee-filterbar>a.button:hover,
.payroll-employee-export>summary.button:hover,
.payroll-glance-reason-action.button:hover{
  border-color:#bfd0c4;
  background:#f4f8f5;
  color:#31523c!important;
  transform:none;
}
.payroll-employee-bulk .button.primary{
  background:#7e9183;
  border-color:#7e9183;
  color:#fff!important;
}
.payroll-employee-bulk .button.primary:hover{
  background:#6f8375;
  border-color:#6f8375;
}
.payroll-employee-bulk .button:disabled{
  opacity:.48;
  box-shadow:none;
}
#payroll-employee-select-all[aria-pressed="true"]{
  border-color:#b8cdbd;
  background:#edf5ef;
  color:#31523c!important;
}

.payroll-employee-filterbar{
  gap:7px;
  padding:12px;
}
.payroll-employee-filterbar>a.button{
  min-height:38px;
  padding:8px 13px;
  border-radius:10px;
  font-size:11px;
  font-weight:800;
}
.payroll-employee-filterbar>a.button:visited{
  color:#405248!important;
}
.payroll-employee-filterbar>a.button strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  min-height:22px;
  margin-left:6px;
  padding:2px 6px;
  border-radius:999px;
  background:#eef2ef;
  color:#506158;
  font-size:10px;
  line-height:1;
}
.payroll-employee-filterbar>a.button.active,
.payroll-employee-filterbar>a.button.active:visited{
  border-color:#aec8b5;
  background:#eaf4ec;
  color:#31523c!important;
  box-shadow:inset 0 0 0 1px rgba(84,123,95,.04);
}
.payroll-employee-filterbar>a.button.active strong{
  background:#dcecdf;
  color:#31523c;
}
.payroll-employee-filterbar>a.button:focus-visible,
.payroll-employee-export>summary.button:focus-visible,
.payroll-glance-reason-action.button:focus-visible,
.payroll-employee-bulk .button:focus-visible{
  outline:3px solid rgba(92,128,104,.20);
  outline-offset:2px;
}
.payroll-employee-filterbar [data-payroll-employee-filter="no_data"].active,
.payroll-employee-filterbar [data-payroll-employee-filter="no_data"].active:visited{
  border-color:#c4d5de;
  background:#eef4f7;
  color:#496879!important;
}
.payroll-employee-filterbar [data-payroll-employee-filter="no_data"].active strong{
  background:#dfeaf0;
  color:#496879;
}
.payroll-employee-filterbar [data-payroll-employee-filter="blocked"].active,
.payroll-employee-filterbar [data-payroll-employee-filter="blocked"].active:visited{
  border-color:#e4bbb7;
  background:#fff0ef;
  color:#93443d!important;
}
.payroll-employee-filterbar [data-payroll-employee-filter="blocked"].active strong{
  background:#f8dcd9;
  color:#93443d;
}
.payroll-employee-filterbar [data-payroll-employee-filter="attention"].active,
.payroll-employee-filterbar [data-payroll-employee-filter="attention"].active:visited{
  border-color:#dfcf9f;
  background:#fff8e8;
  color:#755d20!important;
}
.payroll-employee-filterbar [data-payroll-employee-filter="attention"].active strong{
  background:#f5e8bf;
  color:#755d20;
}

.payroll-employee-export>summary.button{
  position:relative;
  min-height:38px;
  padding:8px 34px 8px 13px;
  border-radius:10px;
  font-size:11px;
  font-weight:800;
}
.payroll-employee-export>summary.button::after{
  content:'▾';
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  font-size:10px;
  transition:transform .18s ease;
}
.payroll-employee-export[open]>summary.button{
  border-color:#aec8b5;
  background:#edf5ef;
  color:#31523c!important;
}
.payroll-employee-export[open]>summary.button::after{
  transform:translateY(-50%) rotate(180deg);
}
.payroll-employee-export-menu .button.secondary{
  border:1px solid #d5dfd8;
  background:#fff;
  color:#405248!important;
}
.payroll-employee-export-menu .button.primary{
  background:#7e9183;
  border-color:#7e9183;
  color:#fff!important;
}

.payroll-glance-reason-action.button{
  min-height:34px;
  padding:7px 11px;
  border-radius:9px;
  font-size:10px;
  font-weight:850;
}
.payroll-glance-reason.has-attention .payroll-glance-reason-action{
  border-color:#e2c98d;
  background:#fffaf0;
  color:#76581f!important;
}
.payroll-glance-reason.has-attention .payroll-glance-reason-action:hover{
  border-color:#d3b56d;
  background:#fff4de;
  color:#684b15!important;
}
.payroll-glance-reason.is-blocked .payroll-glance-reason-action{
  border-color:#dfb5ae;
  background:#fff7f5;
  color:#874b45!important;
}
.payroll-glance-reason.is-blocked .payroll-glance-reason-action:hover{
  border-color:#cf968d;
  background:#fff0ed;
  color:#763e39!important;
}

@media(max-width:900px){
  .payroll-employee-bulk{align-items:stretch;flex-direction:column}
  .payroll-employee-selection-tools,.payroll-employee-bulk-actions{width:100%}
  .payroll-employee-bulk-actions .button{flex:1 1 220px}
}
@media(max-width:620px){
  .payroll-employee-selection-tools,.payroll-employee-bulk-actions{display:grid;grid-template-columns:1fr}
  .payroll-employee-bulk .button,.payroll-employee-selection-tools .payroll-selection-count{width:100%;justify-content:center}
  .payroll-employee-filterbar>a.button{width:100%;justify-content:space-between}
}


/* v0.162.82 · Payroll functional fallback polish */
.payroll-line-manage-toggle,.payroll-line-action-close{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.payroll-page-size-apply,.payroll-profile-apply{white-space:nowrap}
.payroll-period-list-toolbar form{flex-wrap:wrap}
.payroll-profile-select{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.payroll-profile-select select{flex:1 1 220px}
@media(max-width:700px){.payroll-page-size-apply,.payroll-profile-apply{width:100%}.payroll-profile-select{align-items:stretch}}


/* v0.162.83 · Payroll wizard navigation + afgeronde controlelijst */
.payroll-wizard-panel-nav>a.button{
  min-height:40px;
  padding:9px 14px;
  border-radius:10px;
  font-size:11px;
  font-weight:800;
  text-decoration:none!important;
  box-shadow:none;
}
.payroll-wizard-panel-nav>a.button.secondary,
.payroll-wizard-panel-nav>a.button.secondary:visited{
  border:1px solid #d4ded7;
  background:#fff;
  color:#405248!important;
}
.payroll-wizard-panel-nav>a.button.secondary:hover{
  border-color:#bdcec2;
  background:#f5f8f6;
  color:#31523c!important;
  transform:none;
}
.payroll-wizard-panel-nav>a.button.primary,
.payroll-wizard-panel-nav>a.button.primary:visited{
  border:1px solid #7e9183;
  background:#7e9183;
  color:#fff!important;
}
.payroll-wizard-panel-nav>a.button.primary:hover{
  border-color:#6f8375;
  background:#6f8375;
  color:#fff!important;
  transform:none;
}
.payroll-wizard-panel-nav>a.button:focus-visible{
  outline:3px solid rgba(92,128,104,.20);
  outline-offset:2px;
}
.payroll-line-bulk-complete{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:12px 0;
  padding:11px 13px;
  border:1px solid #cfe0d2;
  border-radius:10px;
  background:#f3f9f4;
  color:#31523c;
}
.payroll-line-bulk-complete>span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  flex:0 0 22px;
  border-radius:999px;
  background:#dfeee2;
  font-size:12px;
  font-weight:900;
}
.payroll-line-bulk-complete>div{display:grid;gap:2px}
.payroll-line-bulk-complete strong{font-size:11px}
.payroll-line-bulk-complete small{color:#607168;font-size:10px;line-height:1.4}
@media(max-width:620px){
  .payroll-wizard-panel-nav>a.button{width:100%}
}

/* v0.162.84 · Medewerkerdetail actieconsistentie */
/* De compacte bevestigactie hoort alleen bij de ingeklapte kaart. In het detail
   staat één primaire bevestigactie onderaan, zodat dezelfde actie niet dubbel
   zichtbaar wordt wanneer Details wordt geopend (ook na client-side togglen). */
.payroll-employee-card:not(.is-collapsed) .payroll-quick-review-form{
  display:none!important;
}
.payroll-employee-card-foot .payroll-employee-action .button.primary{
  min-height:38px;
  padding:8px 13px;
  border-color:#7e9183;
  background:#7e9183;
  color:#fff!important;
  box-shadow:0 3px 10px rgba(74,98,80,.10);
}
.payroll-employee-card-foot .payroll-employee-action .button.primary:hover{
  border-color:#6f8375;
  background:#6f8375;
  color:#fff!important;
  transform:none;
}
.payroll-masterdata-action .payroll-masterdata-link,
.payroll-masterdata-action .payroll-masterdata-link:visited{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:7px 11px;
  border:1px solid #d4ded7!important;
  border-radius:9px;
  background:#fff!important;
  color:#405248!important;
  font-size:10.5px;
  font-weight:800;
  line-height:1.2;
  text-decoration:none!important;
  white-space:nowrap;
  box-shadow:none;
}
.payroll-masterdata-action .payroll-masterdata-link:hover{
  border-color:#bdcec2!important;
  background:#f5f8f6!important;
  color:#31523c!important;
  transform:none;
}
.payroll-masterdata-action .payroll-masterdata-link:focus-visible{
  outline:3px solid rgba(92,128,104,.20);
  outline-offset:2px;
}
@media(max-width:700px){
  .payroll-masterdata-action{width:100%;justify-self:stretch}
  .payroll-masterdata-action .payroll-masterdata-link{width:100%;white-space:normal}
}


/* v0.162.85 · Eindcontrole exportacties */
.payroll-final-export-actions>a.button.secondary,
.payroll-final-export-actions>a.button.secondary:visited{
  border:1px solid #d5dfd8;
  background:#fff;
  color:#405248!important;
  box-shadow:none;
}
.payroll-final-export-actions>a.button.secondary:hover{
  border-color:#b8c9bd;
  background:#f5f8f6;
  color:#30463a!important;
  transform:translateY(-1px);
}
.payroll-final-export-actions>a.button.primary,
.payroll-final-export-actions>a.button.primary:visited{
  background:#7e9183;
  border-color:#7e9183;
  color:#fff!important;
}
.payroll-final-export-actions>a.button.primary:hover{
  background:#6f8375;
  border-color:#6f8375;
  color:#fff!important;
}
.payroll-final-export-actions>a.button:focus-visible{
  outline:0;
  box-shadow:0 0 0 3px rgba(126,145,131,.18);
}

/* v0.162.88 · Payrollsnapshot / dynamische cut-off */
.payroll-snapshot-panel{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.95fr);
  gap:18px 22px;
  margin:18px 0;
  padding:18px;
  border:1px solid #d9e3dc;
  border-radius:14px;
  background:#fbfdfb;
  box-shadow:0 7px 22px rgba(45,67,51,.04);
}
.payroll-snapshot-panel.needs-snapshot{
  border-color:#e3d9bd;
  background:#fffdf8;
}
.payroll-snapshot-panel.is-historical{
  border-color:#dfe4e0;
  background:#f8faf8;
  box-shadow:none;
}
.payroll-snapshot-copy{display:grid;align-content:start;gap:6px;min-width:0}
.payroll-snapshot-eyebrow{
  color:#66776c;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
}
.payroll-snapshot-copy>strong{font-size:18px;line-height:1.25;color:#1f2923}
.payroll-snapshot-copy>small{max-width:780px;color:#65716a;line-height:1.55}
.payroll-snapshot-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  align-self:start;
}
.payroll-snapshot-stats>span{
  display:grid;
  gap:3px;
  min-width:0;
  padding:11px 12px;
  border:1px solid #e0e7e2;
  border-radius:10px;
  background:#fff;
}
.payroll-snapshot-stats>span:last-child:nth-child(3){grid-column:1/-1}
.payroll-snapshot-stats small{color:#758179;font-size:10px;font-weight:700}
.payroll-snapshot-stats strong{color:#2c3a31;font-size:12px;line-height:1.35}
.payroll-snapshot-form{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto;
  align-items:end;
  gap:10px;
  padding-top:14px;
  border-top:1px solid #e4e9e5;
}
.payroll-snapshot-form label{display:grid;gap:6px;min-width:0}
.payroll-snapshot-form label>span{font-size:11px;font-weight:800;color:#45554b}
.payroll-snapshot-form input{width:100%}
.payroll-snapshot-form .button{min-height:40px;white-space:nowrap}
.payroll-snapshot-note{
  grid-column:1/-1;
  margin:0;
  padding:11px 12px;
  border:1px solid #dce6df;
  border-radius:10px;
  background:#f5f9f6;
  color:#53635a;
  font-size:11px;
  line-height:1.5;
}
@media(max-width:820px){
  .payroll-snapshot-panel{grid-template-columns:1fr}
  .payroll-snapshot-form{grid-template-columns:1fr}
  .payroll-snapshot-form .button{width:100%}
}
@media(max-width:520px){
  .payroll-snapshot-panel{padding:14px;gap:14px}
  .payroll-snapshot-stats{grid-template-columns:1fr}
  .payroll-snapshot-stats>span:last-child:nth-child(3){grid-column:auto}
}

/* v0.162.92 · Ontbrekende registraties / administratieve reconstructie */
.time-registration-header-actions,.missing-time-header-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.missing-time-body .content{min-width:0}
.missing-time-page-header{margin-bottom:18px}
.missing-time-page-header>div{max-width:980px}
.missing-time-context-card{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px;align-items:end;margin-bottom:18px}
.missing-time-context-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;gap:12px;align-items:end}
.missing-time-context-form label,.missing-time-reason-grid label,.missing-time-batch-undo label,.time-reconstruction-undo-form label{display:grid;gap:6px;min-width:0}
.missing-time-context-form label>span,.missing-time-reason-grid label>span,.missing-time-batch-undo label>span,.time-reconstruction-undo-form label>span{font-size:11px;font-weight:800;color:#47564d}
.missing-time-context-form select,.missing-time-reason-grid select,.missing-time-reason-grid input,.missing-time-batch-undo textarea,.time-reconstruction-undo-form textarea{width:100%}
.missing-time-cutoff{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:14px 16px;border:1px solid #dce5df;border-radius:12px;background:#f7faf8}
.missing-time-cutoff>div{display:grid;gap:2px;min-width:150px}
.missing-time-cutoff span{font-size:10px;font-weight:900;letter-spacing:.06em;color:#6e7c73}
.missing-time-cutoff strong{font-size:17px;color:#27342c}
.missing-time-cutoff small,.missing-time-cutoff p{color:#66736b;font-size:11px;line-height:1.5}
.missing-time-cutoff p{margin:0;padding-left:14px;border-left:1px solid #e0e7e2}
.missing-time-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 24px}
.missing-time-kpis>div{display:grid;gap:4px;padding:16px 17px;border:1px solid #e1e7e2;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(42,58,48,.035)}
.missing-time-kpis span{font-size:11px;font-weight:800;color:#647169}
.missing-time-kpis strong{font-size:24px;line-height:1;color:#25332a}
.missing-time-kpis small{font-size:11px;color:#617168}
.missing-time-kpis .safe{border-color:#d3e0d7;background:#fbfdfb}
.missing-time-kpis .manual{border-color:#eadfc3;background:#fffdf8}
.missing-time-bulk-form{display:grid;gap:26px}
.missing-time-bulk-controls{display:grid;gap:18px;border-color:#d7e2da}
.missing-time-bulk-intro{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.missing-time-bulk-intro h2,.missing-time-section-head h2,.missing-time-preview h2,.missing-time-batch-result h2{margin:2px 0 6px;color:#202c24}
.missing-time-bulk-intro p,.missing-time-section-head p,.missing-time-preview p,.missing-time-batch-result p{margin:0;color:#68746d;line-height:1.5}
.missing-time-selection-actions,.missing-time-expand-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.missing-time-reason-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:12px;padding-top:16px;border-top:1px solid #e5ebe7}
.missing-time-bulk-footer{display:flex;justify-content:space-between;gap:14px;align-items:center;padding-top:14px;border-top:1px solid #e5ebe7}
.missing-time-bulk-footer>div{display:grid;gap:3px}.missing-time-bulk-footer strong{color:#2c3b31}.missing-time-bulk-footer small{color:#748078;font-size:11px}
.missing-time-section{display:grid;gap:12px;margin:2px 0 28px}
.missing-time-section-head{display:flex;justify-content:space-between;gap:18px;align-items:end;padding:0 2px}
.missing-time-groups{display:grid;gap:12px}
.missing-time-group{padding:0;overflow:hidden}
.missing-time-group>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 18px;background:#fff}
.missing-time-group>summary::-webkit-details-marker{display:none}
.missing-time-group>summary>div:first-child{display:grid;gap:2px}.missing-time-group>summary strong{color:#27342c}.missing-time-group>summary small{color:#77817b}
.missing-time-group-summary{display:flex;align-items:center;gap:10px;color:#59675e;font-size:12px;font-weight:700}
.missing-time-group[open]>summary{border-bottom:1px solid #e7ece8;background:#fbfcfb}
.missing-time-group-body{padding:14px 18px 18px;display:grid;gap:12px}
.missing-time-group-actions{display:flex;flex-wrap:wrap;gap:8px}
.missing-time-table th{white-space:nowrap}
.missing-time-table td{vertical-align:middle}
.missing-time-table td small{display:block;margin-top:3px;color:#7a857e;font-size:10px}
.missing-time-table input[type="checkbox"]{width:17px;height:17px;accent-color:#7e9183}
.missing-time-group.manual{border-color:#e8ddc4}
.missing-time-group.manual>summary{background:#fffdf9}
.missing-time-manual-reason{display:inline-block;max-width:520px;padding:6px 9px;border:1px solid #eadfc3;border-radius:8px;background:#fffaf0;color:#6a5a33;font-size:11px;line-height:1.4}
.missing-time-preview{display:grid;gap:18px;margin:24px 0;border-color:#ccdacf;background:#fcfdfc}
.missing-time-preview-head,.missing-time-batch-result-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.missing-time-preview-total{max-width:440px;padding:11px 13px;border:1px solid #d8e3db;border-radius:10px;background:#f4f8f5;color:#34483a;text-align:right}
.missing-time-preview-list{display:grid;border:1px solid #e1e7e3;border-radius:12px;overflow:hidden;background:#fff}
.missing-time-preview-list>div{display:flex;justify-content:space-between;gap:16px;padding:10px 12px;border-bottom:1px solid #edf0ee;font-size:11px}.missing-time-preview-list>div:last-child{border-bottom:0}.missing-time-preview-list span{color:#617067}.missing-time-preview-list strong{color:#314036;text-align:right}.missing-time-preview-list .more{display:block;color:#68766d;font-weight:700;background:#fafcfa}
.missing-time-confirm-form{display:grid;gap:16px;padding-top:16px;border-top:1px solid #e0e7e2}
.missing-time-confirm-check{display:flex;gap:11px;align-items:flex-start;padding:13px 14px;border:1px solid #d4e0d7;border-radius:11px;background:#f7faf8}.missing-time-confirm-check input{margin-top:3px;width:17px;height:17px;accent-color:#7e9183}.missing-time-confirm-check span{display:grid;gap:4px}.missing-time-confirm-check strong{color:#2e4034;font-size:12px;line-height:1.45}.missing-time-confirm-check small{color:#6e7a72;line-height:1.45}
.missing-time-confirm-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.missing-time-batch-result{display:grid;gap:16px;margin:24px 0;border-color:#d8e1da}
.missing-time-batch-undo{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;padding-top:15px;border-top:1px solid #e5e9e6}
.missing-time-destructive,.time-reconstruction-undo-button{border-color:#dfb9b4!important;color:#974940!important;background:#fff!important}
.missing-time-destructive:hover,.time-reconstruction-undo-button:hover{border-color:#cf9f98!important;background:#fff7f6!important;color:#873e36!important}
.missing-time-locked,.time-reconstruction-lock-note{display:grid;gap:4px;padding:12px 13px;border:1px solid #e6ddd0;border-radius:10px;background:#fffaf5;color:#6b5b46}.missing-time-locked span,.time-reconstruction-lock-note span{font-size:11px;line-height:1.45}
.time-status-badge.reconstructed{background:#eef4ef;color:#3f5b46;border-color:#ceddd1}
.time-status-badge.voided{background:#f5f3f1;color:#75685f;border-color:#ded8d3}
.time-control-badge.muted{background:#f5f3f1;color:#75685f;border-color:#ded8d3}
.time-reconstruction-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:16px;margin:14px 0;padding:16px;border:1px solid #d3e0d6;border-radius:13px;background:#f9fcfa}
.time-reconstruction-detail.is-voided{border-color:#dfd9d4;background:#faf9f8}
.time-reconstruction-detail-copy{display:grid;align-content:start;gap:5px}.time-reconstruction-detail-copy>span{font-size:10px;font-weight:900;letter-spacing:.07em;color:#6d7c72}.time-reconstruction-detail-copy>strong{font-size:16px;color:#2e3d33}.time-reconstruction-detail-copy>p{margin:0;color:#65726a;font-size:11px;line-height:1.5}
.time-reconstruction-detail-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:5px}.time-reconstruction-detail-meta small{padding:5px 7px;border:1px solid #dde5df;border-radius:7px;background:#fff;color:#647169}
.time-reconstruction-undo-form{display:grid;gap:10px;align-content:start}
@media(max-width:1050px){.missing-time-context-card{grid-template-columns:1fr}.missing-time-context-form{grid-template-columns:1fr 1fr}.missing-time-context-form .button{grid-column:1/-1}.missing-time-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.missing-time-bulk-intro,.missing-time-section-head,.missing-time-preview-head,.missing-time-batch-result-head{display:grid}.missing-time-selection-actions,.missing-time-expand-actions{justify-content:flex-start}.missing-time-reason-grid{grid-template-columns:1fr}.missing-time-batch-undo,.time-reconstruction-detail{grid-template-columns:1fr}.missing-time-preview-total{text-align:left;max-width:none}.missing-time-bulk-footer{align-items:stretch;flex-direction:column}.missing-time-bulk-footer .button{width:100%}.missing-time-table .button{white-space:normal}}
@media(max-width:620px){.missing-time-context-form{grid-template-columns:1fr}.missing-time-context-form .button{grid-column:auto}.missing-time-cutoff{grid-template-columns:1fr}.missing-time-cutoff p{padding-left:0;padding-top:10px;border-left:0;border-top:1px solid #e0e7e2}.missing-time-kpis{grid-template-columns:1fr}.missing-time-group>summary{align-items:flex-start}.missing-time-group-summary{align-items:flex-end;flex-direction:column}.missing-time-group-body{padding:12px}.missing-time-preview-list>div{display:grid}.missing-time-preview-list strong{text-align:left}.missing-time-confirm-actions{display:grid}.missing-time-confirm-actions .button{width:100%}}

/* v0.162.93 · Ontbrekende registraties: layout polish + selectiestatus */
.missing-time-body .content{max-width:1720px;padding-top:24px}
.missing-time-body .button.secondary,
.missing-time-body a.button.secondary:visited{
  border-color:#d7dfd9;
  background:#fff;
  color:#405147;
  box-shadow:0 2px 8px rgba(38,54,44,.035);
}
.missing-time-body .button.secondary:hover{
  border-color:#bac8be;
  background:#f7faf8;
  color:#2f4136;
  transform:translateY(-1px);
}
.missing-time-body .button.small{min-height:38px;padding:8px 12px;border-radius:10px;font-size:11px}

.missing-time-page-header{
  display:grid;
  grid-template-columns:minmax(420px,.9fr) minmax(560px,1.1fr);
  align-items:start;
  gap:30px;
  min-height:0;
  padding:30px 34px;
  margin-bottom:20px;
  box-shadow:0 10px 30px rgba(33,45,37,.035);
}
.missing-time-page-header>div{max-width:none}
.missing-time-header-copy{min-width:0;max-width:760px}
.missing-time-header-copy .muted{max-width:720px;line-height:1.55}
.missing-time-header-actions{gap:8px;margin-top:18px}
.missing-time-header-context{min-width:0}
.missing-time-context-switcher-slot{width:100%}
.missing-time-context-switcher-slot .context-switcher{
  position:static!important;
  inset:auto!important;
  z-index:auto!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:14px 16px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px 16px!important;
  border-color:#dfe6e1!important;
  border-radius:14px!important;
  background:#f8faf8!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  opacity:1!important;
  transform:none!important;
  pointer-events:auto!important;
}
.missing-time-context-switcher-slot .context-switcher form{
  min-width:0;
  width:100%;
  display:grid;
  grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) auto;
  gap:8px;
  justify-content:stretch;
}
.missing-time-context-switcher-slot .context-switcher select,
.missing-time-context-switcher-slot .context-switcher select[name="organisation_id"],
.missing-time-context-switcher-slot .context-switcher select[name="mode"]{
  width:100%;min-width:0;max-width:none
}
.missing-time-context-switcher-slot .context-switcher .context-mode-note{
  grid-column:2/-1;
  position:static!important;
  width:auto!important;
  margin:0!important;
  text-align:left!important;
  line-height:1.4;
}

.missing-time-context-card{
  grid-template-columns:minmax(0,1.35fr) minmax(390px,.65fr);
  gap:22px;
  align-items:stretch;
  padding:22px 24px;
  margin-bottom:18px;
  border-radius:20px;
  box-shadow:0 8px 24px rgba(33,45,37,.025);
}
.missing-time-context-form{
  grid-template-columns:minmax(260px,1.05fr) minmax(320px,1.25fr) minmax(180px,.6fr);
  gap:14px;
  align-self:center;
  align-items:end;
}
.missing-time-context-form label>span,
.missing-time-reason-grid label>span,
.missing-time-batch-undo label>span,
.time-reconstruction-undo-form label>span{
  font-size:11px;
  font-weight:800;
  color:#536159;
}
.missing-time-context-form select,
.missing-time-reason-grid select,
.missing-time-reason-grid input,
.missing-time-batch-undo textarea,
.time-reconstruction-undo-form textarea{
  min-width:0;
  min-height:44px;
  border:1px solid #d6ded8;
  border-radius:11px;
  background:#fff;
  padding:10px 12px;
  color:#202820;
  font:inherit;
  font-size:12px;
  outline:none;
}
.missing-time-context-form select:focus,
.missing-time-reason-grid select:focus,
.missing-time-reason-grid input:focus,
.missing-time-batch-undo textarea:focus,
.time-reconstruction-undo-form textarea:focus{
  border-color:#8ea193;
  box-shadow:0 0 0 3px rgba(126,145,131,.12);
}
.missing-time-refresh{min-height:44px;white-space:normal}
.missing-time-cutoff{
  min-height:100%;
  grid-template-columns:minmax(155px,.72fr) minmax(0,1.28fr);
  gap:18px;
  padding:18px 20px;
  border-color:#d8e3dc;
  border-radius:15px;
  background:#f7faf8;
}
.missing-time-cutoff>div{align-content:center}
.missing-time-cutoff strong{font-size:20px;letter-spacing:-.02em}
.missing-time-cutoff small,.missing-time-cutoff p{font-size:11.5px;line-height:1.55}
.missing-time-cutoff p{padding-left:18px}

.missing-time-kpis{gap:14px;margin:0 0 24px}
.missing-time-kpis>div{
  min-height:118px;
  align-content:center;
  gap:6px;
  padding:20px 22px;
  border-radius:17px;
  box-shadow:0 8px 22px rgba(42,58,48,.03);
}
.missing-time-kpis span{font-size:11.5px}
.missing-time-kpis strong{font-size:28px;letter-spacing:-.03em}
.missing-time-kpis small{font-size:12px;font-weight:700}

.missing-time-bulk-form{gap:30px}
.missing-time-bulk-controls{
  gap:20px;
  padding:26px 28px;
  border-color:#d7e2da;
  border-radius:20px;
  box-shadow:0 10px 30px rgba(35,50,40,.035);
  overflow:hidden;
}
.missing-time-bulk-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,340px);
  gap:28px;
  align-items:start;
}
.missing-time-bulk-copy{max-width:980px}
.missing-time-bulk-intro h2{font-size:21px;letter-spacing:-.02em}
.missing-time-bulk-intro p{max-width:920px;font-size:13px;line-height:1.6}
.missing-time-selection-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  justify-items:stretch;
}
.missing-time-selection-actions .button{width:100%;min-height:40px;padding:9px 13px;white-space:normal;line-height:1.25}
.missing-time-selection-actions .missing-time-select-all{
  border-color:#cbdacf;
  background:#f3f8f4;
  color:#3c5743;
}
.missing-time-selection-actions .missing-time-clear{background:#fff;color:#59655e}
.missing-time-reason-grid{
  grid-template-columns:minmax(280px,.78fr) minmax(360px,1.22fr);
  gap:16px;
  padding:18px;
  border:1px solid #e1e8e3;
  border-radius:15px;
  background:#fafcfb;
}
.missing-time-bulk-footer{
  min-height:82px;
  padding:15px 17px;
  border:1px solid #e1e8e3;
  border-radius:15px;
  background:#f8faf8;
}
.missing-time-selection-summary{display:grid;gap:4px;min-width:0}
.missing-time-selection-value{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.missing-time-selection-value strong{font-size:18px;color:#26352b;letter-spacing:-.02em}
.missing-time-selection-value span{font-size:12px;font-weight:800;color:#64756a}
.missing-time-selection-summary small{font-size:11px;color:#748078;line-height:1.45}
.missing-time-preview-button{min-width:190px;min-height:46px}
.missing-time-preview-button:disabled{transform:none;box-shadow:none}

.missing-time-section{gap:14px;margin:0 0 30px}
.missing-time-section-head{padding:0 4px;align-items:center}
.missing-time-section-head h2{font-size:20px;letter-spacing:-.02em}
.missing-time-section-head p{font-size:12.5px}
.missing-time-expand-actions{gap:8px}
.missing-time-group{
  border-radius:18px;
  box-shadow:0 8px 22px rgba(42,58,48,.025);
}
.missing-time-group>summary{padding:18px 22px}
.missing-time-group>summary>div:first-child{gap:3px}
.missing-time-group>summary>div:first-child>strong{font-size:15px}
.missing-time-group>summary>div:first-child>small{font-size:11.5px}
.missing-time-group-body{padding:16px 22px 22px;gap:15px}
.missing-time-group-actions{gap:8px;padding-bottom:2px}
.missing-time-table{min-width:960px}
.missing-time-table th{padding-top:11px;padding-bottom:11px;color:#657168;font-size:10.5px;letter-spacing:.035em;text-transform:uppercase}
.missing-time-table td{padding-top:12px;padding-bottom:12px}
.missing-time-table tbody tr:hover{background:#fafcfb}
.missing-time-table td small{margin-top:4px;font-size:10px;line-height:1.4}
.missing-time-table td:last-child{width:1%;white-space:nowrap}
.missing-time-row-action{min-width:150px!important;white-space:nowrap!important}
.missing-time-table input[type="checkbox"]{width:18px;height:18px;margin:0;accent-color:#7e9183}

.missing-time-preview,.missing-time-batch-result{padding:24px 26px;border-radius:20px}

@media(max-width:1280px){
  .missing-time-page-header{grid-template-columns:1fr;gap:22px}
  .missing-time-header-copy{max-width:820px}
  .missing-time-context-card{grid-template-columns:1fr}
  .missing-time-context-form{grid-template-columns:minmax(230px,1fr) minmax(280px,1.15fr) auto}
  .missing-time-cutoff{min-height:0}
}
@media(max-width:900px){
  .missing-time-context-switcher-slot .context-switcher{display:flex!important;flex-direction:column;align-items:stretch!important}
  .missing-time-context-switcher-slot .context-switcher form{grid-template-columns:1fr 1fr auto}
  .missing-time-context-switcher-slot .context-switcher .context-mode-note{grid-column:auto;width:100%!important}
  .missing-time-context-form{grid-template-columns:1fr 1fr}
  .missing-time-context-form .missing-time-refresh{grid-column:1/-1;width:100%}
  .missing-time-bulk-intro{grid-template-columns:1fr}
  .missing-time-selection-actions{grid-template-columns:minmax(0,1fr) auto;justify-content:start}
  .missing-time-selection-actions .button{width:auto}
  .missing-time-reason-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .missing-time-body .content{padding-left:12px;padding-right:12px}
  .missing-time-page-header{padding:22px 20px}
  .missing-time-header-actions{display:grid;grid-template-columns:1fr}
  .missing-time-header-actions .button{width:100%}
  .missing-time-context-switcher-slot .context-switcher form{grid-template-columns:1fr}
  .missing-time-context-card{padding:18px}
  .missing-time-context-form{grid-template-columns:1fr}
  .missing-time-context-form .missing-time-refresh{grid-column:auto}
  .missing-time-cutoff{grid-template-columns:1fr;padding:16px}
  .missing-time-cutoff p{padding-left:0;padding-top:12px;border-left:0;border-top:1px solid #e0e7e2}
  .missing-time-kpis{grid-template-columns:1fr 1fr}
  .missing-time-bulk-controls{padding:20px 18px}
  .missing-time-selection-actions{grid-template-columns:1fr}
  .missing-time-selection-actions .button{width:100%}
  .missing-time-bulk-footer{align-items:stretch;flex-direction:column}
  .missing-time-preview-button{width:100%;min-width:0}
  .missing-time-section-head{display:grid;gap:12px}
  .missing-time-expand-actions{justify-content:flex-start}
  .missing-time-group>summary{padding:16px 17px}
  .missing-time-group-body{padding:14px 16px 18px}
}
@media(max-width:500px){
  .missing-time-kpis{grid-template-columns:1fr}
}
.missing-time-body:not(.has-missing-time-context-switcher) .missing-time-page-header{grid-template-columns:1fr}
.missing-time-body:not(.has-missing-time-context-switcher) .missing-time-header-context{display:none}

/* v0.162.94 · Ontbrekende registraties: compacte context- en filterzone */
.missing-time-page-header{
  padding:26px 30px;
  gap:24px;
  margin-bottom:18px;
}
.missing-time-header-copy .muted{
  line-height:1.45;
}
.missing-time-header-actions{
  margin-top:16px;
}

.missing-time-context-card{
  grid-template-columns:minmax(0,1fr) minmax(480px,520px);
  gap:24px;
  align-items:center;
  padding:24px 28px;
  margin-bottom:18px;
}
.missing-time-context-form{
  grid-template-columns:minmax(250px,1fr) minmax(330px,1.25fr) minmax(170px,.52fr);
  gap:14px;
  align-self:auto;
  align-items:end;
  min-width:0;
}
.missing-time-context-form label{
  align-content:end;
}
.missing-time-context-form select{
  min-height:46px;
  padding:10px 13px;
}
.missing-time-refresh{
  min-width:170px;
  min-height:46px;
  padding:9px 16px;
  line-height:1.25;
}
.missing-time-cutoff{
  min-height:0;
  grid-template-columns:minmax(175px,.66fr) minmax(0,1.34fr);
  gap:16px;
  align-items:center;
  padding:16px 18px;
}
.missing-time-cutoff>div{
  min-width:0;
  align-content:center;
}
.missing-time-cutoff strong{
  font-size:19px;
}
.missing-time-cutoff small{
  font-size:10.5px;
  line-height:1.45;
}
.missing-time-cutoff p{
  padding-left:16px;
  font-size:10.5px;
  line-height:1.45;
}

@media(max-width:1380px){
  .missing-time-context-card{
    grid-template-columns:1fr;
    align-items:start;
  }
  .missing-time-context-form{
    grid-template-columns:minmax(230px,1fr) minmax(290px,1.2fr) minmax(180px,.55fr);
  }
  .missing-time-cutoff{
    grid-template-columns:minmax(190px,.42fr) minmax(0,1fr);
  }
}
@media(max-width:900px){
  .missing-time-context-form{
    grid-template-columns:1fr 1fr;
  }
  .missing-time-context-form .missing-time-refresh{
    grid-column:1/-1;
    width:100%;
  }
}
@media(max-width:700px){
  .missing-time-page-header{
    padding:22px 20px;
  }
  .missing-time-context-card{
    padding:18px;
  }
  .missing-time-context-form{
    grid-template-columns:1fr;
  }
  .missing-time-context-form .missing-time-refresh{
    grid-column:auto;
  }
  .missing-time-cutoff{
    grid-template-columns:1fr;
    padding:16px;
  }
  .missing-time-cutoff p{
    padding-left:0;
    padding-top:12px;
    border-left:0;
    border-top:1px solid #e0e7e2;
  }
}

/* v0.162.95 · Ontbrekende registraties: echte content-responsive contextkaart */
.missing-time-body .content{
  container-type:inline-size;
  container-name:missing-time-content;
}
.missing-time-context-card{
  grid-template-columns:minmax(0,1fr) minmax(360px,460px);
  gap:20px;
  align-items:center;
  overflow:hidden;
}
.missing-time-context-form{
  width:100%;
  max-width:100%;
  min-width:0;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.18fr) minmax(155px,.48fr);
  gap:12px;
}
.missing-time-context-form label,
.missing-time-context-form select,
.missing-time-context-form .missing-time-refresh{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.missing-time-context-form select{
  width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
.missing-time-refresh{
  width:100%;
  min-width:0;
}
.missing-time-cutoff{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  grid-template-columns:minmax(150px,.62fr) minmax(0,1.38fr);
}
.missing-time-cutoff>div,
.missing-time-cutoff p{
  min-width:0;
  max-width:100%;
}
.missing-time-cutoff p{
  overflow-wrap:anywhere;
}

/* Reageert op de werkelijke beschikbare contentbreedte na sidebar/resize,
   niet alleen op de volledige viewportbreedte. */
@container missing-time-content (max-width:1320px){
  .missing-time-context-card{
    grid-template-columns:minmax(0,1fr);
    align-items:start;
  }
  .missing-time-context-form{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) minmax(155px,.42fr);
  }
  .missing-time-cutoff{
    grid-template-columns:minmax(180px,.4fr) minmax(0,1fr);
  }
}
@container missing-time-content (max-width:900px){
  .missing-time-context-form{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  .missing-time-context-form .missing-time-refresh{
    grid-column:1/-1;
    width:100%;
  }
}
@container missing-time-content (max-width:650px){
  .missing-time-context-card{
    gap:16px;
    padding:18px;
  }
  .missing-time-context-form{
    grid-template-columns:minmax(0,1fr);
  }
  .missing-time-context-form .missing-time-refresh{
    grid-column:auto;
  }
  .missing-time-cutoff{
    grid-template-columns:minmax(0,1fr);
  }
  .missing-time-cutoff p{
    padding-left:0;
    padding-top:12px;
    border-left:0;
    border-top:1px solid #e0e7e2;
  }
}


/* v0.162.98 · Administratieve reconstructies terugvindbaar voor HR */
.missing-time-history{
  margin-top:24px;
}
.missing-time-history-list{
  display:grid;
  gap:14px;
}
.missing-time-history-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  padding:18px 20px;
}
.missing-time-history-card.is-selected{
  box-shadow:0 0 0 2px rgba(36,74,59,.12);
}
.missing-time-history-main{
  min-width:0;
}
.missing-time-history-title{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.missing-time-history-title>strong{
  font-size:15px;
  overflow-wrap:anywhere;
}
.missing-time-history-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px 14px;
  margin-top:8px;
  color:#5d6b64;
  font-size:13px;
}
.missing-time-history-reason{
  display:grid;
  gap:3px;
  margin:10px 0 0;
}
.missing-time-history-reason span{
  color:#6b7771;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.missing-time-history-reason strong{
  color:#1f2924;
  font-size:13px;
}
.missing-time-history-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}
.missing-time-history-current{
  border-color:#d5dde0!important;
  background:#f2f5f6!important;
  color:#58656a!important;
  cursor:default!important;
  pointer-events:none;
  box-shadow:none!important;
}
.missing-time-history-card.is-selected{
  border-color:#cfd9dc;
  background:#fbfcfc;
}

.payroll-reconstruction-strip{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  margin-top:14px;
  padding:15px 16px;
  border:1px solid #dfe7e2;
  border-radius:12px;
  background:#f8faf9;
}
.payroll-reconstruction-strip>div:first-child{
  display:grid;
  gap:3px;
  min-width:0;
}
.payroll-reconstruction-strip span{
  color:#66736c;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.payroll-reconstruction-strip strong{
  color:#1f2924;
}
.payroll-reconstruction-strip small{
  color:#66736c;
}
.payroll-reconstruction-action{
  display:flex;
  justify-content:flex-end;
}

.time-reconstruction-batch-link{
  color:inherit;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.time-reconstruction-batch-link:hover,
.time-reconstruction-batch-link:focus-visible{
  text-decoration-thickness:2px;
}

@media (max-width:900px){
  .missing-time-history-card,
  .payroll-reconstruction-strip{
    grid-template-columns:minmax(0,1fr);
  }
  .missing-time-history-actions,
  .payroll-reconstruction-action{
    justify-content:flex-start;
  }
}
@media (max-width:600px){
  .missing-time-history-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }
  .missing-time-history-actions .button,
  .payroll-reconstruction-action .button{
    width:100%;
    justify-content:center;
  }
}


/* v0.162.99 · Payroll medewerkerkaart: rustigere semantische kleuren + Nova-actie */
.payroll-employee-card.employee-readiness-blocked{
  border-color:#ead6d2!important;
  background:#fff!important;
}
.payroll-employee-card.employee-readiness-attention{
  border-color:#e8dfc9!important;
  background:#fff!important;
}
.payroll-employee-glance,
.payroll-glance-reasons{
  background:#fbfcfb;
}
.payroll-glance-chip{
  border-color:#dfe5e1;
  background:#fff;
  color:#66736b;
}
.payroll-glance-chip strong{
  color:#2f3e35;
}
.payroll-glance-chip.has-info{
  border-color:#d6e1e8;
  background:#f6f9fb;
  color:#5d7180;
}
.payroll-glance-chip.has-info strong{
  color:#405d70;
}
.payroll-glance-chip.has-blocked{
  border-color:#e8cbc5;
  background:#fff6f4;
  color:#8a514a;
}
.payroll-glance-chip.has-blocked strong{
  color:#7d453f;
}
.payroll-glance-chip.has-attention{
  border-color:#e8dab8;
  background:#fffbf2;
  color:#7a612e;
}
.payroll-glance-chip.has-attention strong{
  color:#6d531f;
}
.payroll-glance-reason.is-blocked{
  border-color:#e8cbc5;
  background:#fff7f5;
  color:#804a44;
}
.payroll-glance-reason.has-attention{
  border-color:#e8dab8;
  background:#fffbf2;
  color:#715925;
}
.payroll-reconstruction-strip{
  border-color:#dbe5de;
  background:#fbfcfb;
}
.payroll-reconstruction-strip span,
.payroll-reconstruction-strip small{
  color:#657169;
}
.payroll-reconstruction-strip strong{
  color:#26332c;
}
.payroll-reconstruction-action .button,
.payroll-reconstruction-action a.button:visited{
  min-height:38px;
  padding:8px 13px;
  border:1px solid #cfdad3;
  border-radius:10px;
  background:#fff;
  color:#405248!important;
  font-size:11px;
  font-weight:800;
  text-decoration:none!important;
  box-shadow:0 2px 8px rgba(38,54,44,.04);
}
.payroll-reconstruction-action .button:hover{
  border-color:#b9c9be;
  background:#f4f8f5;
  color:#31523c!important;
  transform:none;
}
.payroll-reconstruction-action .button:focus-visible{
  outline:3px solid rgba(82,111,91,.16);
  outline-offset:2px;
}

/* v0.162.100 · Payroll filters en reconstructiehistoriek neutraler */
.payroll-employee-filterbar>a.button.active,
.payroll-employee-filterbar>a.button.active:visited,
.payroll-employee-filterbar [data-payroll-employee-filter="blocked"].active,
.payroll-employee-filterbar [data-payroll-employee-filter="blocked"].active:visited,
.payroll-employee-filterbar [data-payroll-employee-filter="attention"].active,
.payroll-employee-filterbar [data-payroll-employee-filter="attention"].active:visited,
.payroll-employee-filterbar [data-payroll-employee-filter="no_data"].active,
.payroll-employee-filterbar [data-payroll-employee-filter="no_data"].active:visited{
  border-color:#c7d3d8!important;
  background:#f1f5f7!important;
  color:#405864!important;
  box-shadow:inset 0 0 0 1px rgba(66,91,103,.035);
}
.payroll-employee-filterbar>a.button.active strong,
.payroll-employee-filterbar [data-payroll-employee-filter="blocked"].active strong,
.payroll-employee-filterbar [data-payroll-employee-filter="attention"].active strong,
.payroll-employee-filterbar [data-payroll-employee-filter="no_data"].active strong{
  background:#e3ebee!important;
  color:#405864!important;
}
.payroll-employee-filterbar>a.button.active:hover,
.payroll-employee-filterbar [data-payroll-employee-filter="blocked"].active:hover,
.payroll-employee-filterbar [data-payroll-employee-filter="attention"].active:hover,
.payroll-employee-filterbar [data-payroll-employee-filter="no_data"].active:hover{
  border-color:#b8c7ce!important;
  background:#eaf0f3!important;
  color:#354d59!important;
}
.payroll-reconstruction-strip{
  border-color:#d9e0e3;
  background:#fff;
}
.payroll-reconstruction-strip span,
.payroll-reconstruction-strip small{
  color:#69767b;
}
.payroll-reconstruction-strip strong{
  color:#263238;
}
.payroll-reconstruction-action .button,
.payroll-reconstruction-action a.button:visited{
  border-color:#cfd9dd;
  background:#fff;
  color:#40545d!important;
}
.payroll-reconstruction-action .button:hover{
  border-color:#bccbd1;
  background:#f5f8f9;
  color:#314852!important;
}

/* v0.162.102 · payroll contextacties en secundaire Nova-knoppen */
.payroll-issue-next-step .payroll-issue-cta,
.payroll-issue-with-cta .payroll-context-cta{
  display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 13px;
  border:1px solid #cfd8d1;border-radius:10px;background:#fff;color:#405047!important;
  font-weight:800;text-decoration:none!important;box-shadow:0 2px 7px rgba(42,58,47,.05);
}
.payroll-issue-next-step .payroll-issue-cta:hover,
.payroll-issue-with-cta .payroll-context-cta:hover{background:#f4f7f4;border-color:#bcc9bf;color:#2e3d34!important}
.payroll-issue-next-step .payroll-issue-cta:focus-visible,
.payroll-issue-with-cta .payroll-context-cta:focus-visible{outline:3px solid rgba(126,145,131,.2);outline-offset:2px}
.payroll-issue-with-cta{display:flex!important;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.payroll-issue-with-cta .payroll-context-cta{margin-left:auto;white-space:nowrap}
@media(max-width:700px){.payroll-issue-with-cta{align-items:stretch}.payroll-issue-with-cta .payroll-context-cta{width:100%;margin-left:0}}
.mobility-entry-filter-actions .button.secondary,
.mobility-entry-filter-actions a.button.secondary:visited{border:1px solid #cfd8d1;background:#fff;color:#405047;text-decoration:none}
.mobility-entry-filter-actions .button.secondary:hover{background:#f4f7f4;border-color:#bcc9bf;color:#2e3d34}


/* v0.162.103 expense review reject action */
.expense-review-pending .approval-reject-details>summary.expense-reject-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 12px;
  border:1px solid #efcaca;
  border-radius:9px;
  background:#fff8f8;
  color:#a83232;
  font-size:11px;
  font-weight:800;
  line-height:1.1;
  text-decoration:none;
  cursor:pointer;
  box-sizing:border-box;
}
.expense-review-pending .approval-reject-details>summary.expense-reject-toggle:hover{
  background:#fff0f0;
  border-color:#e4b7b7;
}
.expense-review-pending .approval-reject-details>summary.expense-reject-toggle:focus-visible{
  outline:3px solid rgba(168,50,50,.16);
  outline-offset:2px;
}
@media(max-width:700px){
  .expense-review-pending .declaration-review-actions>.approval-quick-form,
  .expense-review-pending .declaration-review-actions>.approval-reject-details{
    width:100%;
  }
  .expense-review-pending .declaration-review-actions>.approval-quick-form .button,
  .expense-review-pending .approval-reject-details>summary.expense-reject-toggle{
    width:100%;
  }
}

/* v0.162.104 · equal-size expense review actions */
.expense-review-pending .declaration-review-actions>.approval-quick-form,
.expense-review-pending .declaration-review-actions>.approval-reject-details{
  flex:0 0 150px;
  width:150px;
}
.expense-review-pending .declaration-review-actions>.approval-quick-form .button,
.expense-review-pending .approval-reject-details>summary.expense-reject-toggle{
  width:100%;
  min-width:150px;
  min-height:42px;
  padding:10px 15px;
  border-radius:10px;
  font-size:15px;
  font-weight:750;
  line-height:1.2;
  box-sizing:border-box;
}
@media(max-width:700px){
  .expense-review-pending .declaration-review-actions>.approval-quick-form,
  .expense-review-pending .declaration-review-actions>.approval-reject-details{
    flex-basis:auto;
    width:100%;
  }
}
/* v0.162.105 · expense review actions share one Nova button foundation */
.expense-review-pending .approval-reject-details>summary.button.expense-reject-toggle{
  list-style:none;
  width:100%;
  min-width:150px;
  min-height:42px;
  padding:10px 15px;
  border:1px solid #efcaca;
  border-radius:10px;
  background:#fff8f8;
  color:#a83232;
  font:inherit;
  font-size:12px;
  font-weight:750;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  box-sizing:border-box;
}
.expense-review-pending .approval-reject-details>summary.button.expense-reject-toggle::-webkit-details-marker{display:none}
.expense-review-pending .approval-reject-details>summary.button.expense-reject-toggle:hover{
  background:#fff0f0;
  border-color:#e4b7b7;
  color:#962d2d;
  transform:none;
}
.expense-review-pending .approval-reject-details>summary.button.expense-reject-toggle:focus-visible{
  outline:3px solid rgba(168,50,50,.16);
  outline-offset:2px;
}
/* Force both review actions through the same typography/box model, independent of older compact danger rules. */
.expense-review-pending .declaration-review-actions>.approval-quick-form .button.primary.small,
.expense-review-pending .approval-reject-details>summary.button.expense-reject-toggle{
  min-height:42px;
  padding:10px 15px;
  border-radius:10px;
  font-family:inherit;
  font-size:12px;
  font-weight:750;
  line-height:1.2;
  letter-spacing:normal;
  box-sizing:border-box;
}
@media(max-width:700px){
  .expense-review-pending .approval-reject-details>summary.button.expense-reject-toggle{min-width:0;width:100%}
}

/* v0.162.109 · mobiliteitsafwijzing in Nova-modal: tabel blijft stabiel, redenveld krijgt volwaardige ruimte */
.mobility-entry-table .mobility-entry-actions{
  display:grid;
  grid-template-columns:150px;
  gap:.55rem;
  justify-content:start;
  align-items:stretch;
}
.mobility-entry-table .mobility-entry-actions>form,
.mobility-entry-table .mobility-entry-reject-trigger{
  width:150px;
  max-width:150px;
  margin:0;
}
.mobility-entry-table .mobility-entry-actions>form .button,
.mobility-entry-table .mobility-entry-reject-trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:150px;
  min-height:42px;
  padding:10px 15px;
  border-radius:10px;
  box-sizing:border-box;
  font-family:inherit;
  font-size:12px;
  font-weight:750;
  line-height:1.2;
  letter-spacing:normal;
  text-align:center;
  text-decoration:none;
}
.mobility-entry-table .mobility-entry-reject-trigger{
  border:1px solid #efcaca;
  background:#fff8f8;
  color:#a83232;
  box-shadow:none;
}
.mobility-entry-table .mobility-entry-reject-trigger:hover{
  border-color:#e4b7b7;
  background:#fff0f0;
  color:#962d2d;
  transform:none;
}
.mobility-entry-table .mobility-entry-reject-trigger:focus-visible{
  outline:3px solid rgba(168,50,50,.16);
  outline-offset:2px;
}
.mobility-entry-reject-modal-card{
  width:min(820px,100%);
  padding:1.4rem;
}
.mobility-entry-reject-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.7rem;
  margin-top:1.15rem;
}
.mobility-entry-reject-summary>div{
  display:grid;
  gap:.2rem;
  min-width:0;
  padding:.75rem .85rem;
  border:1px solid #e2e7e2;
  border-radius:11px;
  background:#f7f9f7;
}
.mobility-entry-reject-summary>div>span{
  font-size:.73rem;
  font-weight:800;
  letter-spacing:.025em;
  text-transform:uppercase;
  color:#748078;
}
.mobility-entry-reject-summary>div>strong{
  min-width:0;
  color:#27342d;
  font-size:.95rem;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.mobility-entry-reject-summary-wide{grid-column:1/-1}
.mobility-entry-reject-form{
  display:grid;
  gap:1rem;
  margin-top:1rem;
}
.mobility-entry-reject-field{
  display:grid;
  gap:.45rem;
  margin:0;
  padding:1rem;
  border:1px solid #ead8d5;
  border-radius:12px;
  background:#fffafa;
}
.mobility-entry-reject-field>span{
  color:#584844;
  font-size:.9rem;
  font-weight:800;
}
.mobility-entry-reject-field textarea{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  min-height:210px;
  box-sizing:border-box;
  margin:0;
  padding:14px 15px;
  resize:vertical;
  border:1px solid #d9d0cd;
  border-radius:10px;
  background:#fff;
  color:var(--text,#26332b);
  font:inherit;
  font-size:15px;
  line-height:1.5;
}
.mobility-entry-reject-field textarea:focus{
  outline:3px solid rgba(168,50,50,.10);
  outline-offset:1px;
  border-color:#d4aaa3;
}
.mobility-entry-reject-field small{
  color:#796861;
  font-size:.8rem;
  line-height:1.4;
}
.mobility-entry-reject-actions{
  margin-top:0;
}
.mobility-entry-reject-actions .button{
  min-width:180px;
  min-height:44px;
  padding:10px 18px;
  border-radius:10px;
  font-size:13px;
  font-weight:750;
  line-height:1.2;
}
.mobility-entry-reject-confirm{
  border:1px solid #e2aaa3!important;
  background:#fff5f4!important;
  color:#9b332e!important;
}
.mobility-entry-reject-confirm:hover{
  border-color:#d99188!important;
  background:#ffeceb!important;
  color:#862a26!important;
}
@media(max-width:760px){
  .mobility-entry-table .mobility-entry-actions{grid-template-columns:1fr}
  .mobility-entry-table .mobility-entry-actions>form,
  .mobility-entry-table .mobility-entry-reject-trigger{
    width:100%;
    max-width:none;
  }
  .mobility-entry-table .mobility-entry-actions>form .button,
  .mobility-entry-table .mobility-entry-reject-trigger{
    width:100%;
    min-width:0;
  }
  .mobility-entry-reject-modal-card{padding:1rem}
  .mobility-entry-reject-summary{grid-template-columns:1fr}
  .mobility-entry-reject-summary-wide{grid-column:auto}
  .mobility-entry-reject-field{padding:.85rem}
  .mobility-entry-reject-field textarea{min-height:180px}
  .mobility-entry-reject-actions{display:grid;grid-template-columns:1fr}
  .mobility-entry-reject-actions .button{width:100%;min-width:0}
}


/* v0.162.110 · onkostenafwijzing in Nova-modal: één duidelijke afwijsactie en ruim redenveld */
.expense-review-pending .declaration-review-actions{
  display:grid;
  grid-template-columns:150px;
  gap:.55rem;
  justify-content:start;
  align-items:stretch;
}
.expense-review-pending .declaration-review-actions>.approval-quick-form,
.expense-review-pending .expense-reject-trigger{
  width:150px;
  max-width:150px;
  margin:0;
}
.expense-review-pending .declaration-review-actions>.approval-quick-form .button,
.expense-review-pending .expense-reject-trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:150px;
  min-height:42px;
  padding:10px 15px;
  border-radius:10px;
  box-sizing:border-box;
  font-family:inherit;
  font-size:12px;
  font-weight:750;
  line-height:1.2;
  letter-spacing:normal;
  text-align:center;
  text-decoration:none;
}
.expense-review-pending .expense-reject-trigger{
  border:1px solid #efcaca;
  background:#fff8f8;
  color:#a83232;
  box-shadow:none;
}
.expense-review-pending .expense-reject-trigger:hover{
  border-color:#e4b7b7;
  background:#fff0f0;
  color:#962d2d;
  transform:none;
}
.expense-review-pending .expense-reject-trigger:focus-visible{
  outline:3px solid rgba(168,50,50,.16);
  outline-offset:2px;
}
.expense-reject-modal-card{
  width:min(820px,100%);
  padding:1.4rem;
}
.expense-reject-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.7rem;
  margin-top:1.15rem;
}
.expense-reject-summary>div{
  display:grid;
  gap:.2rem;
  min-width:0;
  padding:.75rem .85rem;
  border:1px solid #e2e7e2;
  border-radius:11px;
  background:#f7f9f7;
}
.expense-reject-summary>div>span{
  font-size:.73rem;
  font-weight:800;
  letter-spacing:.025em;
  text-transform:uppercase;
  color:#748078;
}
.expense-reject-summary>div>strong{
  min-width:0;
  color:#27342d;
  font-size:.95rem;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.expense-reject-summary-wide{grid-column:1/-1}
.expense-reject-form{
  display:grid;
  gap:1rem;
  margin-top:1rem;
}
.expense-reject-field{
  display:grid;
  gap:.45rem;
  margin:0;
  padding:1rem;
  border:1px solid #ead8d5;
  border-radius:12px;
  background:#fffafa;
}
.expense-reject-field>span{
  color:#584844;
  font-size:.9rem;
  font-weight:800;
}
.expense-reject-field textarea{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  min-height:210px;
  box-sizing:border-box;
  margin:0;
  padding:14px 15px;
  resize:vertical;
  border:1px solid #d9d0cd;
  border-radius:10px;
  background:#fff;
  color:var(--text,#26332b);
  font:inherit;
  font-size:15px;
  line-height:1.5;
}
.expense-reject-field textarea:focus{
  outline:3px solid rgba(168,50,50,.10);
  outline-offset:1px;
  border-color:#d4aaa3;
}
.expense-reject-field small{
  color:#796861;
  font-size:.8rem;
  line-height:1.4;
}
.expense-reject-actions{margin-top:0}
.expense-reject-actions .button{
  min-width:180px;
  min-height:44px;
  padding:10px 18px;
  border-radius:10px;
  font-size:13px;
  font-weight:750;
  line-height:1.2;
}
.expense-reject-confirm{
  border:1px solid #e2aaa3!important;
  background:#fff5f4!important;
  color:#9b332e!important;
}
.expense-reject-confirm:hover{
  border-color:#d99188!important;
  background:#ffeceb!important;
  color:#862a26!important;
}
@media(max-width:760px){
  .expense-review-pending .declaration-review-actions{grid-template-columns:1fr}
  .expense-review-pending .declaration-review-actions>.approval-quick-form,
  .expense-review-pending .expense-reject-trigger{width:100%;max-width:none}
  .expense-review-pending .declaration-review-actions>.approval-quick-form .button,
  .expense-review-pending .expense-reject-trigger{width:100%;min-width:0}
  .expense-reject-modal-card{padding:1rem}
  .expense-reject-summary{grid-template-columns:1fr}
  .expense-reject-summary-wide{grid-column:auto}
  .expense-reject-field{padding:.85rem}
  .expense-reject-field textarea{min-height:180px}
  .expense-reject-actions{display:grid;grid-template-columns:1fr}
  .expense-reject-actions .button{width:100%;min-width:0}
}

/* v0.162.111 · responsive afwijsmodals voor onkosten en mobiliteit */
.workforce-review-modal{
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:clamp(8px,2vw,20px);
  overflow:hidden;
}
.workforce-review-modal-card{
  display:flex;
  flex-direction:column;
  width:min(900px,calc(100vw - 2 * clamp(8px,2vw,20px)));
  max-width:900px;
  max-height:calc(100dvh - 2 * clamp(8px,2vw,20px));
  min-height:0;
  box-sizing:border-box;
  padding:0!important;
  overflow:hidden!important;
}
.workforce-review-modal-head{
  flex:0 0 auto;
  padding:20px 24px 14px;
  border-bottom:1px solid #e7ebe8;
  background:#fff;
}
.workforce-review-modal-head>div{min-width:0}
.workforce-review-modal-head h3{font-size:clamp(19px,2vw,24px);line-height:1.2}
.workforce-review-modal-head p{font-size:clamp(13px,1.3vw,15px);line-height:1.45}
.workforce-review-modal-form{
  display:flex!important;
  flex:1 1 auto;
  flex-direction:column;
  min-height:0;
  margin:0!important;
  gap:0!important;
  overflow:hidden;
}
.workforce-review-modal-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding:16px 24px 18px;
  -webkit-overflow-scrolling:touch;
}
.workforce-review-modal-scroll .mobility-entry-reject-summary,
.workforce-review-modal-scroll .expense-reject-summary{
  margin-top:0;
}
.workforce-review-reject-field{
  margin-top:16px!important;
}
.workforce-review-reject-field textarea{
  min-height:clamp(140px,24dvh,220px)!important;
  max-height:40dvh;
}
.workforce-review-modal-actions{
  flex:0 0 auto;
  margin:0!important;
  padding:16px 24px 20px;
  border-top:1px solid #e7ebe8;
  background:#fff;
  box-shadow:0 -10px 24px rgba(31,45,36,.05);
}
.workforce-review-modal-actions .button{
  min-height:46px;
}
@media(max-height:760px){
  .workforce-review-modal-head{padding:14px 18px 10px}
  .workforce-review-modal-scroll{padding:12px 18px 14px}
  .workforce-review-modal-scroll .mobility-entry-reject-summary,
  .workforce-review-modal-scroll .expense-reject-summary{gap:.5rem}
  .workforce-review-modal-scroll .mobility-entry-reject-summary>div,
  .workforce-review-modal-scroll .expense-reject-summary>div{padding:.58rem .7rem}
  .workforce-review-reject-field{margin-top:12px!important;padding:.75rem!important}
  .workforce-review-reject-field textarea{min-height:clamp(120px,20dvh,170px)!important;max-height:30dvh}
  .workforce-review-modal-actions{padding:12px 18px 14px}
}
@media(max-width:760px){
  .workforce-review-modal{padding:8px}
  .workforce-review-modal-card{
    width:calc(100vw - 16px);
    max-width:none;
    max-height:calc(100dvh - 16px);
    border-radius:14px;
  }
  .workforce-review-modal-head{padding:14px 16px 10px}
  .workforce-review-modal-scroll{padding:12px 16px 14px;scrollbar-gutter:auto}
  .workforce-review-reject-field{padding:.8rem!important}
  .workforce-review-reject-field textarea{min-height:clamp(120px,22dvh,180px)!important;max-height:34dvh}
  .workforce-review-modal-actions{
    display:grid!important;
    grid-template-columns:1fr;
    gap:8px;
    padding:12px 16px 14px;
  }
  .workforce-review-modal-actions .button{width:100%;min-width:0!important}
}
@media(max-width:520px){
  .workforce-review-modal-scroll .mobility-entry-reject-summary,
  .workforce-review-modal-scroll .expense-reject-summary{grid-template-columns:1fr}
  .workforce-review-modal-scroll .mobility-entry-reject-summary-wide,
  .workforce-review-modal-scroll .expense-reject-summary-wide{grid-column:auto}
}


/* v0.162.112 · Payroll maandcontroleduiding */
.payroll-employee-bulk{
  flex-direction:column;
  align-items:stretch;
}
.payroll-employee-bulk-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.payroll-employee-bulk-help{
  display:block;
  padding-top:9px;
  border-top:1px solid #e3e9e5;
  color:#66736b;
  font-size:11.5px;
  line-height:1.45;
}
@media(max-width:760px){
  .payroll-employee-bulk-main{align-items:stretch;flex-direction:column}
}

/* v0.162.113 · Payroll Stap 3 exception-first controlecockpit */
.payroll-control-head{margin-bottom:14px}
.payroll-line-state-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 16px}
.payroll-line-state-card{display:grid;gap:3px;min-width:0;padding:14px 15px;border:2px solid #dfe5e1;border-radius:14px;background:#fff;color:#2f3d34;text-decoration:none;box-shadow:0 1px 2px rgba(24,37,28,.03);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.payroll-line-state-card:hover{box-shadow:0 7px 18px rgba(24,37,28,.07);transform:translateY(-1px)}
.payroll-line-state-card.active{box-shadow:0 0 0 3px rgba(119,139,125,.10)}
.payroll-line-state-card>span{color:#6e7972;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.payroll-line-state-card>strong{font-size:24px;line-height:1.05;color:#29382f}
.payroll-line-state-card>small{color:#657169;font-size:10px;line-height:1.35}
.payroll-line-state-card.warning{background:#fff7f5;border-color:#de7e72}.payroll-line-state-card.changed{background:#f5f8fd;border-color:#6e97d8}.payroll-line-state-card.pending{background:#fffaf2;border-color:#d9a841}.payroll-line-state-card.accepted{background:#f4faf5;border-color:#6aa27b}.payroll-line-state-card.all{background:#f7f9fa;border-color:#8ea2b1}
.payroll-exception-section{margin:0 0 16px;padding:15px;border:1px solid #ead4d1;border-radius:15px;background:#fffafa}
.payroll-exception-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.payroll-exception-heading h3{margin:2px 0 3px;font-size:16px;color:#3c302f}.payroll-exception-heading p{margin:0;color:#746563;font-size:11px;line-height:1.5}.payroll-exception-heading .eyebrow{color:#a55750;font-size:9px;font-weight:850;letter-spacing:.06em}
.payroll-exception-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.payroll-exception-card{display:grid;gap:11px;padding:14px;border:1px solid #eadedc;border-radius:13px;background:#fff;min-width:0}.payroll-exception-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.payroll-exception-card-top>div{display:grid;gap:2px;min-width:0}.payroll-exception-card-top strong{font-size:12px;color:#2f3d34}.payroll-exception-card-top small{color:#778079;font-size:10px;overflow-wrap:anywhere}.payroll-exception-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;align-items:baseline}.payroll-exception-main>span{grid-row:1/3;color:#6d7770;font-size:10px;font-weight:800}.payroll-exception-main>strong{font-size:12px;color:#2d3b32}.payroll-exception-main>small{color:#778079;font-size:10px}.payroll-exception-card>p{margin:0;padding:9px 10px;border-radius:9px;background:#fff6f5;color:#744944;font-size:10.5px;line-height:1.45}
.payroll-source-replacement{display:flex;gap:9px;align-items:center;padding:9px 10px;border:1px solid #dce7df;border-radius:10px;background:#f7fbf8}.payroll-source-replacement>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e8f1eb;color:#50705a;font-weight:900}.payroll-source-replacement>div{display:grid;gap:1px}.payroll-source-replacement strong{font-size:10.5px;color:#36513e}.payroll-source-replacement small{font-size:9.5px;color:#6b786f}.payroll-exception-actions{display:flex;gap:8px;flex-wrap:wrap}.payroll-exception-actions .button{min-height:36px}.payroll-exception-more{margin-top:10px}
.payroll-line-filters{display:grid;grid-template-columns:1.35fr repeat(3,minmax(150px,1fr));gap:10px;padding:14px;margin:0 0 10px;border:1px solid #e1e7e3;border-radius:14px;background:#fbfcfb}.payroll-line-filters label{display:grid;gap:5px;min-width:0}.payroll-line-filters label>span{color:#657169;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.payroll-line-filters input,.payroll-line-filters select{width:100%;min-width:0}.payroll-line-filter-search{grid-column:span 2}.payroll-line-filter-actions{display:flex;align-items:end;gap:8px;grid-column:span 2;flex-wrap:wrap}.payroll-line-filter-actions .button{min-height:39px}
.payroll-line-result-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 10px;padding:0 2px;color:#6c7870;font-size:10.5px}.payroll-line-result-summary strong{color:#35453b}
.payroll-line-employee-groups{margin:0 0 12px;border:1px solid #e1e7e3;border-radius:13px;background:#fff;overflow:hidden}.payroll-line-employee-groups>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;cursor:pointer;list-style:none;background:#fbfcfb}.payroll-line-employee-groups>summary::-webkit-details-marker{display:none}.payroll-line-employee-groups>summary>span:first-child{display:grid;gap:2px}.payroll-line-employee-groups>summary strong{font-size:12px;color:#34443a}.payroll-line-employee-groups>summary small{font-size:10px;color:#738078}.payroll-line-employee-groups .when-open{display:none}.payroll-line-employee-groups[open] .when-open{display:inline}.payroll-line-employee-groups[open] .when-closed{display:none}.payroll-line-employee-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;border-top:1px solid #e7ebe8;background:#fff}.payroll-line-employee-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid #e5eae6;border-radius:10px;background:#fff;text-decoration:none;color:#314038}.payroll-line-employee-card:hover{border-color:#c8d3cb;background:#fafcfb}.payroll-line-employee-card>span:first-child{display:grid;gap:1px;min-width:0}.payroll-line-employee-card strong{font-size:11px}.payroll-line-employee-card small{color:#7b837e;font-size:9.5px;overflow-wrap:anywhere}.payroll-line-employee-counts{display:grid;justify-items:end;gap:1px;white-space:nowrap}.payroll-line-employee-counts b{font-size:14px;color:#34443a}.payroll-line-employee-counts em{font-style:normal;color:#6e7972;font-size:9px}
.payroll-control-details{margin-top:0}.payroll-control-details-body{padding-top:12px}.payroll-line-empty{display:grid;justify-items:center;gap:4px;padding:28px 18px;color:#637067;text-align:center}.payroll-line-empty strong{font-size:12px;color:#35443b}.payroll-line-empty span{font-size:10px}.payroll-line-pagination{margin-top:12px}.payroll-lines-table tbody tr:target{outline:3px solid rgba(112,139,120,.18);outline-offset:-3px;background:#f8fbf9}
@media(max-width:1080px){.payroll-line-state-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.payroll-line-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-line-filter-search,.payroll-line-filter-actions{grid-column:span 2}}
@media(max-width:760px){.payroll-line-state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-exception-grid,.payroll-line-employee-grid{grid-template-columns:1fr}.payroll-exception-heading{display:grid}.payroll-line-filters{grid-template-columns:1fr}.payroll-line-filter-search,.payroll-line-filter-actions{grid-column:1}.payroll-line-result-summary{align-items:flex-start;flex-direction:column}.payroll-exception-actions .button{width:100%}}
@media(max-width:480px){.payroll-line-state-grid{grid-template-columns:1fr}.payroll-line-state-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.payroll-line-state-card>span,.payroll-line-state-card>small{grid-column:1}.payroll-line-state-card>strong{grid-column:2;grid-row:1/3}.payroll-exception-section{padding:11px}.payroll-line-filters{padding:11px}}

/* v0.162.115 · Payrollcontrole filter- en waarschuwingstyling verfijnd */
.payroll-exception-section{
  margin:0 0 18px;
  padding:22px 24px;
  border:1px solid #ecd7d3;
  border-radius:22px;
  background:#fffbfb;
}
.payroll-exception-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.payroll-exception-heading h3{
  margin:4px 0 6px;
  font-size:18px;
  line-height:1.25;
  color:#2f2827;
}
.payroll-exception-heading p{
  margin:0;
  color:#6f6462;
  font-size:14px;
  line-height:1.55;
  max-width:76ch;
}
.payroll-exception-heading .eyebrow{
  color:#a55750;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
}
.payroll-exception-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.payroll-exception-card{
  display:grid;
  gap:14px;
  padding:20px;
  border:1px solid #e6dad7;
  border-radius:18px;
  background:#fff;
  min-width:0;
  box-shadow:0 1px 0 rgba(32,54,40,.03);
}
.payroll-exception-card-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.payroll-exception-card-top>div{display:grid;gap:4px;min-width:0}
.payroll-exception-card-top strong{font-size:17px;line-height:1.25;color:#26352d}
.payroll-exception-card-top small{color:#778079;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.payroll-exception-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 12px;align-items:baseline}
.payroll-exception-main>span{grid-row:1/3;color:#5f6963;font-size:14px;font-weight:800}
.payroll-exception-main>strong{font-size:16px;color:#2d3b32;line-height:1.3}
.payroll-exception-main>small{color:#6f7973;font-size:14px;line-height:1.35}
.payroll-exception-card>p{margin:0;padding:14px 16px;border-radius:14px;background:#fff5f4;color:#744944;font-size:14px;line-height:1.5}
.payroll-source-replacement{display:flex;gap:12px;align-items:center;padding:14px 16px;border:1px solid #d8e5db;border-radius:14px;background:#f7fbf8}
.payroll-source-replacement>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e8f1eb;color:#50705a;font-weight:900;font-size:18px}
.payroll-source-replacement>div{display:grid;gap:3px}
.payroll-source-replacement strong{font-size:14px;color:#36513e;line-height:1.35}
.payroll-source-replacement small{font-size:14px;color:#6b786f;line-height:1.35}
.payroll-exception-actions{display:flex;gap:10px;flex-wrap:wrap}
.payroll-exception-actions .button,
.payroll-exception-cta,
.payroll-line-filter-actions .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:11px 18px;
  border-radius:14px;
  font-size:14px;
  font-weight:800;
  line-height:1.2;
  text-decoration:none;
  white-space:normal;
}
.payroll-exception-actions .button.primary,
.payroll-line-filter-actions .button.primary{
  background:#7f9282;
  border:1px solid #7f9282;
  color:#fff;
}
.payroll-exception-actions .button.primary:hover,
.payroll-line-filter-actions .button.primary:hover{
  background:#70836f;
  border-color:#70836f;
}
.payroll-exception-cta,
.payroll-exception-cta:visited,
.payroll-line-filter-actions .button.secondary,
.payroll-line-filter-actions .button.secondary:visited{
  background:#fff;
  border:1px solid #cfd8d1;
  color:#405047;
  text-decoration:none;
}
.payroll-exception-cta:hover,
.payroll-line-filter-actions .button.secondary:hover{
  background:#f4f7f4;
  border-color:#bcc9bf;
  color:#2e3d34;
}
.payroll-exception-more{margin-top:14px}

.payroll-line-filters{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:14px 16px;
  padding:22px 24px;
  margin:0 0 16px;
  border:1px solid #dfe7e1;
  border-radius:22px;
  background:#fbfcfb;
  box-shadow:0 1px 0 rgba(32,54,40,.03);
}
.payroll-line-filter-field{display:grid;gap:8px;min-width:0}
.payroll-line-filter-field>span{
  color:#66736b;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.payroll-line-filters input,
.payroll-line-filters select{
  width:100%;
  min-width:0;
  min-height:50px;
  padding:0 16px;
  border:1px solid #cbd6ce;
  border-radius:14px;
  background:#fff;
  color:#27342c;
  font-size:15px;
  line-height:1.35;
  box-shadow:inset 0 1px 2px rgba(32,54,40,.04);
}
.payroll-line-filters input:focus,
.payroll-line-filters select:focus{
  border-color:#91a798;
  outline:none;
  box-shadow:0 0 0 3px rgba(127,146,130,.12);
}
.payroll-line-filter-search{grid-column:1 / span 6}
.payroll-line-filter-employee{grid-column:7 / span 3}
.payroll-line-filter-status{grid-column:10 / span 3}
.payroll-line-filter-component{grid-column:1 / span 4}
.payroll-line-filter-source{grid-column:5 / span 3}
.payroll-line-filter-from{grid-column:8 / span 2}
.payroll-line-filter-until{grid-column:10 / span 3}
.payroll-line-filter-per-page{grid-column:1 / span 3}
.payroll-line-filter-actions{display:flex;align-items:end;justify-content:flex-end;gap:12px;grid-column:9 / span 4;flex-wrap:wrap}
.payroll-line-filter-actions .button{min-width:210px}
.payroll-line-result-summary{font-size:15px}

@media(max-width:1240px){
  .payroll-line-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .payroll-line-filter-search,
  .payroll-line-filter-employee,
  .payroll-line-filter-status,
  .payroll-line-filter-component,
  .payroll-line-filter-source,
  .payroll-line-filter-from,
  .payroll-line-filter-until,
  .payroll-line-filter-per-page,
  .payroll-line-filter-actions{grid-column:auto}
  .payroll-line-filter-actions{justify-content:flex-start}
}
@media(max-width:900px){
  .payroll-exception-grid{grid-template-columns:1fr}
  .payroll-exception-heading{display:grid}
}
@media(max-width:760px){
  .payroll-exception-section,
  .payroll-line-filters{padding:16px}
  .payroll-line-filters{grid-template-columns:1fr}
  .payroll-line-filter-actions{grid-column:1;justify-content:stretch}
  .payroll-line-filter-actions .button,
  .payroll-exception-actions .button,
  .payroll-exception-cta{width:100%;min-width:0}
}

/* v0.162.116 · Payrollcontrole filters compacter en zoekbare medewerkerselector */
.payroll-line-filters{
  gap:12px 16px;
  padding:20px 22px 16px;
}
.payroll-line-filter-field{gap:7px}
.payroll-line-filter-hint{display:block;margin-top:-1px;color:#7b867f;font-size:11px;line-height:1.35}
.payroll-line-filter-field>span{
  font-size:11px;
  letter-spacing:.055em;
}
.payroll-line-filters input,
.payroll-line-filters select,
.payroll-line-filters .flex-combobox-button{
  min-height:46px;
  height:46px;
  padding:0 14px;
  border:1px solid #cdd8d0;
  border-radius:12px;
  background:#fff;
  color:#27342c;
  font-size:14px;
  line-height:1.3;
  box-shadow:inset 0 1px 1px rgba(32,54,40,.025);
}
.payroll-line-filters .flex-combobox-button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-weight:500;
}
.payroll-line-filters .flex-combobox-button:hover{border-color:#aebeb2}
.payroll-line-filters .flex-combobox-button:focus-visible{
  outline:none;
  border-color:#91a798;
  box-shadow:0 0 0 3px rgba(127,146,130,.12);
}
.payroll-line-filters .flex-combobox-button>b{font-size:14px;color:#627168}
.payroll-line-filter-footer{
  grid-column:1 / -1;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding-top:14px;
  margin-top:2px;
  border-top:1px solid #e3e9e5;
}
.payroll-line-filter-per-page{
  width:160px;
  min-width:160px;
}
.payroll-line-filter-per-page select{min-height:44px;height:44px}
.payroll-line-filter-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  grid-column:auto;
  flex-wrap:nowrap;
}
.payroll-line-filter-actions .button{
  min-width:0;
  min-height:44px;
  padding:10px 18px;
  border-radius:12px;
  font-size:13px;
  white-space:nowrap;
}
.payroll-line-filter-actions .button.primary{min-width:176px}
.payroll-line-filter-actions .button.secondary{min-width:150px}
.payroll-line-result-summary{margin-top:2px}
.payroll-line-employee-groups{margin-bottom:10px;border-radius:12px}
.payroll-line-employee-groups>summary{padding:10px 13px}
.payroll-line-employee-grid{gap:7px;padding:8px}
.payroll-line-employee-card{padding:8px 10px;border-radius:9px}
.payroll-line-employee-card strong{font-size:12px}
.payroll-line-employee-card small{font-size:10px}
.payroll-line-employee-counts b{font-size:13px}
.payroll-line-employee-counts em{font-size:9.5px}

@media(max-width:1240px){
  .payroll-line-filter-footer{grid-column:1 / -1}
  .payroll-line-filter-per-page{width:150px;min-width:150px}
}
@media(max-width:760px){
  .payroll-line-filter-footer{
    align-items:stretch;
    flex-direction:column;
    gap:12px;
    padding-top:12px;
  }
  .payroll-line-filter-per-page{width:100%;min-width:0}
  .payroll-line-filter-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .payroll-line-filter-actions .button{width:100%;min-width:0}
}
@media(max-width:520px){
  .payroll-line-filter-actions{grid-template-columns:1fr}
}

/* v0.162.119 · Payroll eindcontrole: voorlopige planning expliciet zichtbaar */
.payroll-final-check-strip .provisional{border-color:#cfded5;background:#f4f8f5}
.payroll-final-check-strip .provisional small{display:block;margin-top:3px;color:#69776e;font-size:10px;font-weight:700}
.payroll-final-provisional-card{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin:0 0 16px;padding:18px 20px;border:1px solid #d7e2da;border-radius:14px;background:#f7faf8}
.payroll-final-provisional-copy{min-width:0;display:grid;gap:7px}
.payroll-final-provisional-kicker{color:#64766b;font-size:10px;font-weight:850;letter-spacing:.06em}
.payroll-final-provisional-card h3{margin:0;color:#2f4036;font-size:16px;line-height:1.3}
.payroll-final-provisional-card p{max-width:920px;margin:0;color:#66736b;font-size:12px;line-height:1.55}
.payroll-final-provisional-meta{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;margin-top:3px}
.payroll-final-provisional-meta span{color:#6d7871;font-size:11px}
.payroll-final-provisional-meta strong{color:#35483c;font-weight:800}
.payroll-final-provisional-actions{flex:0 0 auto;align-self:center}
.payroll-export-provisional a{font-weight:800}
@media(max-width:820px){.payroll-final-provisional-card{flex-direction:column}.payroll-final-provisional-actions{width:100%;align-self:stretch}.payroll-final-provisional-actions .button{width:100%}}

/* v0.162.121 · Administratieve reconstructie: duidelijke verwerkingsstatus */
.missing-time-processing{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  border:1px solid #d5e1d8;
  border-radius:12px;
  background:#f7faf8;
  color:#33463a;
}
.missing-time-processing[hidden]{display:none}
.missing-time-processing>span:last-child{display:grid;gap:3px;min-width:0}
.missing-time-processing strong{font-size:12.5px;line-height:1.4}
.missing-time-processing small{color:#65736a;font-size:11px;line-height:1.5}
.missing-time-processing-spinner{
  flex:0 0 auto;
  width:20px;
  height:20px;
  margin-top:1px;
  border:2px solid #d7e0d9;
  border-top-color:#536b5a;
  border-radius:50%;
  animation:missing-time-processing-spin .75s linear infinite;
}
@keyframes missing-time-processing-spin{to{transform:rotate(360deg)}}
.missing-time-confirm-form.is-processing .missing-time-confirm-check{opacity:.72}
.missing-time-confirm-form.is-processing [data-processing-back].is-disabled{
  pointer-events:none;
  opacity:.58;
}
.missing-time-confirm-form [data-processing-submit]:disabled{
  cursor:wait;
  opacity:.78;
}
@media (prefers-reduced-motion:reduce){
  .missing-time-processing-spinner{animation-duration:1.8s}
}
/* v0.162.122 · Administratieve reconstructie: busy-status bij bulk-undo */
.missing-time-batch-undo .missing-time-undo-processing{grid-column:1/-1}
.missing-time-batch-undo.is-processing textarea{opacity:.72}
.missing-time-batch-undo [data-undo-processing-submit]:disabled{cursor:wait;opacity:.78}
@media(max-width:820px){.missing-time-batch-undo .missing-time-undo-processing{grid-column:1}}


/* v0.162.123 · administratieve reconstructie batchintegriteit */
.missing-time-integrity{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:16px 18px;margin:18px 0;border:1px solid #dfe8e1;border-radius:16px;background:#fbfcfb}
.missing-time-integrity.is-ok{border-color:#d9e7dd;background:#f8fbf9}
.missing-time-integrity.is-blocking{border-color:#eadfc7;background:#fffdf8}
.missing-time-integrity.has-processing-error{border-color:#e5caca;background:#fffafa}
.missing-time-integrity-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.missing-time-integrity-copy strong{font-size:14px;color:#26352b}
.missing-time-integrity-copy span{font-size:12.5px;line-height:1.5;color:#647168}
.missing-time-integrity-error{display:block;margin-top:4px;color:#9a3e3e;font-weight:700;line-height:1.45}
.missing-time-integrity-metrics{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.missing-time-integrity-metrics span{display:inline-flex;gap:4px;align-items:baseline;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #e1e7e2;font-size:11.5px;color:#66736a;white-space:nowrap}
.missing-time-integrity-metrics b{color:#26352b;font-size:13px}
@media(max-width:900px){.missing-time-integrity{grid-template-columns:1fr}.missing-time-integrity-metrics{justify-content:flex-start}.missing-time-integrity .button{width:100%}}

/* v0.162.131 · Stap 3 bulkbevestiging blijft zichtbaar bij ingeklapte detailregels */
.payroll-line-bulk-form-anchor{display:none}
.payroll-line-bulk-overview{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 12px;
  padding:13px 14px;
  border-color:#d8e4db;
  background:#f8fbf9;
}
.payroll-line-bulk-overview-copy{display:grid;gap:3px;min-width:0}
.payroll-line-bulk-overview-copy strong{color:#314239;font-size:12px}
.payroll-line-bulk-overview-copy small{margin:0;color:#6f7a73;font-size:10.5px;line-height:1.4}
.payroll-line-bulk-overview .payroll-line-bulk-filtered-submit{flex:0 0 auto;white-space:nowrap}
.payroll-line-selection-toolbar{margin:0 0 12px}
.payroll-line-bulk-overview-complete{margin:0 0 12px}
@media(max-width:760px){
  .payroll-line-bulk-overview{align-items:stretch;flex-direction:column}
  .payroll-line-bulk-overview .payroll-line-bulk-filtered-submit{width:100%;white-space:normal}
}


/* v0.162.136 · Correcties na afsluiting: volledig automatisch + rustige payrolllayout */
.payroll-correction-auto-notice{
  margin:18px 0 16px;
  padding:16px 18px;
  border:2px solid #91a9bd;
  border-radius:15px;
  background:#f5f8fb;
  color:#405466;
}
.payroll-correction-auto-notice strong{color:#2f4658}
.payroll-correction-kpis{gap:14px;margin:16px 0 20px}
.payroll-correction-kpis>div{min-height:104px;padding:16px 18px;border:2px solid #dfe6e2;border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(34,49,40,.03)}
.payroll-correction-kpis>div.tone-total{background:#f7f9fa;border-color:#8ea2b1}
.payroll-correction-kpis>div.tone-attention{background:#fffaf2;border-color:#d9a841}
.payroll-correction-kpis>div.tone-ready{background:#f4faf5;border-color:#6aa27b}
.payroll-correction-kpis>div.tone-info{background:#f5f8fd;border-color:#6e97d8}
.payroll-correction-kpis>div.tone-muted{background:#fafbfa;border-color:#b9c6be}
.payroll-correction-kpis>div span{color:#68756d;font-size:11px;font-weight:850;letter-spacing:.055em;text-transform:uppercase}
.payroll-correction-kpis>div strong{margin-top:7px;color:#25352c;font-size:28px;line-height:1}
.payroll-correction-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 16px;margin:0 0 18px;padding:20px 22px;border:1px solid #dde6df;border-radius:16px;background:#fbfcfb}
.payroll-correction-filters label{min-width:0}
.payroll-correction-filters label.wide{grid-column:span 2}
.payroll-correction-filters input,.payroll-correction-filters select{width:100%;min-width:0;box-sizing:border-box}
.payroll-correction-filter-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:14px;margin-top:2px;border-top:1px solid #e3e9e5}
.payroll-correction-filter-actions .button{min-width:150px;justify-content:center;text-decoration:none}
.payroll-correction-filter-actions .button.secondary,.payroll-correction-filter-actions .button.secondary:visited{background:#fff;border:1px solid #cfd8d1;color:#405047}
.payroll-correction-filter-actions .button.secondary:hover{background:#f4f7f4;border-color:#bcc9bf;color:#2e3d34}
@media(max-width:1100px){.payroll-correction-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-correction-filters label.wide{grid-column:span 2}}
@media(max-width:700px){.payroll-correction-kpis{grid-template-columns:1fr}.payroll-correction-filters{grid-template-columns:1fr;padding:16px}.payroll-correction-filters label.wide{grid-column:auto}.payroll-correction-filter-actions{align-items:stretch;flex-direction:column}.payroll-correction-filter-actions .button{width:100%;min-width:0}}


/* v0.162.137 · post-close correcties: automatische afhankelijkheid van arbeidstijdkwalificatie zichtbaar */
.payroll-correction-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.payroll-correction-dependencies{display:grid;gap:14px;margin:0 0 20px;padding:18px 20px;border:2px solid #d9a841;border-radius:16px;background:#fffaf2;box-shadow:0 4px 14px rgba(95,72,25,.035)}
.payroll-correction-dependencies-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.payroll-correction-dependencies-head h3{margin:4px 0 6px;color:#2f3d34;font-size:17px;line-height:1.3}
.payroll-correction-dependencies-head p{max-width:980px;margin:0;color:#6b746d;font-size:12px;line-height:1.55}
.payroll-correction-dependency-list{display:grid;gap:9px}
.payroll-correction-dependency-item{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(220px,.9fr) auto;gap:14px;align-items:center;padding:13px 14px;border:1px solid #ead8ad;border-radius:12px;background:#fff}
.payroll-correction-dependency-item>div{display:grid;gap:3px;min-width:0}
.payroll-correction-dependency-item strong{color:#2f3d34;font-size:12px;line-height:1.35}
.payroll-correction-dependency-item span{color:#765a20;font-size:11px;font-weight:850}
.payroll-correction-dependency-item small{color:#727b74;font-size:10.5px;line-height:1.4;overflow-wrap:anywhere}
.payroll-correction-dependency-item .button{justify-self:end;white-space:nowrap}
@media(max-width:1180px){.payroll-correction-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.payroll-correction-dependency-item{grid-template-columns:1fr 1fr}.payroll-correction-dependency-item .button{grid-column:1/-1;justify-self:start}}
@media(max-width:760px){.payroll-correction-kpis{grid-template-columns:1fr}.payroll-correction-dependencies{padding:15px}.payroll-correction-dependency-item{grid-template-columns:1fr}.payroll-correction-dependency-item .button{grid-column:auto;width:100%;justify-content:center}}


/* v0.162.138 · Arbeidstijdkwalificatie: leesbaarheid, expliciete overloonlabels en slimme inhaalrust */
.overtime-candidate-actions{gap:14px}
.overtime-decision-form{gap:14px}
.overtime-action-section{
  padding:18px 20px;
  border-width:2px;
  border-radius:16px;
  background:#fff;
  box-shadow:0 4px 14px rgba(37,53,43,.025);
}
.overtime-action-main{border-color:#91aed4;background:#f7fafe}
.overtime-duration-section{border-color:#9ebba6;background:#f7fbf8}
.overtime-premium-auto{border:2px solid #dfb45d;background:#fffaf1;border-radius:16px;padding:18px 20px}
.overtime-rest-section{border-color:#8eabd0;background:#f7fafe}
.overtime-final-section{border-color:#9ebba6;background:#f7fbf8}
.overtime-action-title{gap:4px;padding-bottom:11px;border-bottom-color:#dce4de}
.overtime-action-title strong{font-size:16px;line-height:1.25;color:#26382e}
.overtime-action-title small{font-size:12.5px;line-height:1.5;color:#65736a;font-weight:600}
.overtime-action-section label{display:grid;gap:7px;color:#34483b;font-size:13px;font-weight:850}
.overtime-action-section label>b{color:#8b4039}
.overtime-action-section select,
.overtime-action-section input[type="text"],
.overtime-action-section input[type="number"],
.overtime-action-section input[type="date"],
.overtime-final-section input{
  min-height:50px;
  border:1px solid #c7d3ca;
  border-radius:12px;
  background:#fff;
  color:#202f27;
  padding:11px 14px;
  font:inherit;
  font-size:14px;
  font-weight:650;
}
.overtime-action-section select:focus,
.overtime-action-section input:focus{
  border-color:#819a89;
  outline:none;
  box-shadow:0 0 0 3px rgba(112,139,120,.13);
}
.overtime-action-main select{font-size:14.5px;font-weight:750}
.overtime-duration-section>small,
.comp-rest-help,
.comp-rest-due-help{color:#5f6e64;font-size:11.5px;line-height:1.5;font-weight:600}
.comp-rest-help,.comp-rest-due-help{display:block;margin-top:2px}
.overtime-premium-auto>span{font-size:15px;color:#5f4619}
.overtime-time-result{min-height:50px;border-width:2px;border-color:#d3ddd6;border-radius:12px}
.overtime-time-result strong{font-size:18px}
.overtime-time-result span{font-size:11px;color:#66736b}
.overtime-time-simulator .button{min-height:50px}
.overtime-final-section .button.primary{min-height:50px;padding-left:22px;padding-right:22px}
.overtime-reject-form{padding:16px 18px;border:2px solid #edc8c2;border-radius:16px;background:#fff8f7}
.overtime-reject-copy strong{color:#8a3e37}
.overtime-reject-copy small{color:#7b625f}
.overtime-reject-form input{min-height:48px;border:1px solid #d8c9c6;border-radius:11px;background:#fff;padding:10px 13px;font:inherit;font-size:14px}
.overtime-reject-form .danger-button{min-height:48px;border-radius:11px}
.overtime-period-shortcuts .button.secondary.small{border:1px solid #cbd6ce;background:#fff;color:#405247;font-weight:800}
.overtime-period-shortcuts .button.secondary.small:hover{background:#f3f7f4;border-color:#aebfb3}
@media(max-width:760px){
  .overtime-action-section{padding:15px}
  .overtime-action-title strong{font-size:15px}
  .overtime-final-section .button.primary,.overtime-reject-form .danger-button{width:100%}
}


/* v0.162.139 · Overuren: consistente Nova-acties + lokale auditdatum */
.overtime-admin-links .button.secondary,
.overtime-admin-links .button.secondary:visited,
.overtime-profile-card .button.secondary,
.overtime-profile-card .button.secondary:visited{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 15px;
  border:1px solid #cbd6ce;
  border-radius:10px;
  background:#fff;
  color:#405247;
  font-weight:800;
  text-decoration:none;
  box-shadow:none;
}
.overtime-admin-links .button.secondary:hover,
.overtime-profile-card .button.secondary:hover{
  background:#f3f7f4;
  border-color:#aebfb3;
  color:#2f4136;
  text-decoration:none;
}
.overtime-admin-links{align-items:center}
.overtime-profile-card .button.secondary{white-space:nowrap}
.payroll-correction-dependency-item .button.secondary,
.payroll-correction-dependency-item .button.secondary:visited{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 14px;
  border:1px solid #cbd6ce;
  border-radius:10px;
  background:#fff;
  color:#405247;
  font-weight:800;
  text-decoration:none;
  box-shadow:none;
}
.payroll-correction-dependency-item .button.secondary:hover{
  background:#f3f7f4;
  border-color:#aebfb3;
  color:#2f4136;
  text-decoration:none;
}
@media(max-width:680px){
  .overtime-admin-links{display:grid;grid-template-columns:1fr}
  .overtime-admin-links .button.secondary,
  .overtime-profile-card .button.secondary,
  .payroll-correction-dependency-item .button.secondary{width:100%;white-space:normal;text-align:center}
}


/* v0.162.141 · Payrollcorrecties: robuuste detailbediening met server fallback */
.payroll-correction-toggle.button.secondary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 11px;border:1px solid #cfd8d1;border-radius:10px;background:#fff;color:#33453a;text-decoration:none;font-weight:800;white-space:nowrap}
.payroll-correction-toggle.button.secondary:hover{border-color:#aebfb2;background:#f7faf7;color:#263c2e;text-decoration:none}
.payroll-correction-toggle.button.secondary:focus-visible{outline:3px solid rgba(99,132,108,.24);outline-offset:2px}
.payroll-correction-toggle[aria-expanded="true"]{border-color:#8eaa95;background:#f1f7f2}
.payroll-correction-detail-row>td{background:#fff}
.payroll-correction-panel{margin:10px 0 14px;padding:16px;border:1px solid #b9cbbd;border-radius:16px;background:#fbfdfb}
.payroll-correction-detail-row:target .payroll-correction-panel{box-shadow:0 0 0 3px rgba(101,139,111,.09)}
[id^="payroll-correction-row-"]{scroll-margin-top:18px}
@media(max-width:760px){.payroll-correction-toggle.button.secondary{width:100%}.payroll-correction-panel{margin:8px 0 12px;padding:12px}}


/* v0.162.142 · post-close correctie auditcontext */
.payroll-correction-qualification-hint{color:#506f5c!important;font-weight:800}
.payroll-correction-audit-card{display:grid;gap:14px;padding:16px;border:2px solid #9db9d8;border-radius:16px;background:#f8fbff}
.payroll-correction-audit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid #d6e2ee}
.payroll-correction-audit-head h3{margin:2px 0 4px;font-size:15px;color:#20342a}.payroll-correction-audit-head p{margin:0;color:#66716a;font-size:12px;line-height:1.5}.payroll-correction-audit-head .eyebrow{display:block;color:#5b7187;font-size:10px;font-weight:900;letter-spacing:.08em}
.payroll-correction-audit-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.payroll-correction-audit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.payroll-correction-audit-grid>div{min-width:0;padding:12px 13px;border:1px solid #dbe5ef;border-radius:12px;background:#fff}.payroll-correction-audit-grid>.wide{grid-column:1/-1}.payroll-correction-audit-grid span{display:block;margin-bottom:4px;color:#68767f;font-size:10px;font-weight:900;letter-spacing:.035em;text-transform:uppercase}.payroll-correction-audit-grid strong,.payroll-correction-audit-grid small{display:block;overflow-wrap:anywhere}.payroll-correction-audit-grid strong{font-size:12px;line-height:1.4;color:#27352d}.payroll-correction-audit-grid small{margin-top:4px;color:#68736d;font-size:11px;line-height:1.45}.payroll-correction-transfer-context{border-color:#e1c56f!important;background:#fffaf0!important}
@media(max-width:900px){.payroll-correction-audit-head{flex-direction:column}.payroll-correction-audit-links{justify-content:flex-start}.payroll-correction-audit-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.payroll-correction-audit-grid{grid-template-columns:1fr}.payroll-correction-audit-grid>.wide{grid-column:auto}.payroll-correction-audit-links{width:100%}.payroll-correction-audit-links .button{width:100%;justify-content:center}}

.payroll-correction-source-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.payroll-correction-source-actions .button.secondary.small{min-height:34px;padding:7px 10px;border:1px solid #cfd8d1;background:#fff;color:#33453a;text-decoration:none;font-weight:800}.payroll-correction-source-actions .button.secondary.small:hover{background:#f4f8f5;border-color:#acbdb1;color:#2e4235;text-decoration:none}@media(max-width:620px){.payroll-correction-source-actions{display:grid;grid-template-columns:1fr}.payroll-correction-source-actions .button{width:100%;justify-content:center}}

@media(max-width:980px){.payroll-line-source-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.payroll-line-source-context{padding:14px}.payroll-line-source-context-head{flex-direction:column}.payroll-line-source-context-grid{grid-template-columns:1fr}.payroll-line-source-context-grid .payroll-source-reason{grid-column:auto}.payroll-line-source-actions{align-items:stretch;flex-direction:column}.payroll-line-source-actions .button{width:100%;box-sizing:border-box;text-align:center}}

/* v0.162.149 · post-close kwalificaties zichtbaar in payrollwizard */
.payroll-post-close-qualifications{border:1px solid #d9cfae;background:#fffdf7}
.payroll-post-close-qualifications .settings-card-head{align-items:flex-start}
.payroll-post-close-qualification-list{display:grid;gap:10px;margin-top:12px}
.payroll-post-close-qualification-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #e5ddc5;border-radius:13px;background:#fff}
.payroll-post-close-qualification-copy{display:grid;gap:4px;min-width:0}
.payroll-post-close-qualification-copy>strong{font-size:14px;color:#26352b}
.payroll-post-close-qualification-copy>span{font-size:12px;font-weight:750;color:#4d5d53}
.payroll-post-close-qualification-copy>small{font-size:11px;line-height:1.5;color:#6b756e}
.payroll-post-close-final-block{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0;padding:16px 18px;border:1px solid #d9cfae;border-radius:14px;background:#fffaf0}
.payroll-post-close-final-block>div{display:grid;gap:5px}.payroll-post-close-final-block strong{font-size:14px;color:#3b3524}.payroll-post-close-final-block p{margin:0;font-size:11.5px;line-height:1.55;color:#6b6555}
.payroll-post-close-step5-block{display:flex;align-items:center;justify-content:space-between;gap:16px}
/* Technische heranalyse blijft een secundaire fallback: geen losse kleurstreep. */
.overtime-reanalysis-panel .settings-info-note.overtime-reanalysis-note{border:1px solid #d8e2da;border-left:1px solid #d8e2da;border-radius:13px;background:#f4f8f5}
@media(max-width:760px){.payroll-post-close-qualification-item,.payroll-post-close-final-block,.payroll-post-close-step5-block{align-items:stretch;flex-direction:column}.payroll-post-close-qualification-item .button,.payroll-post-close-final-block .button,.payroll-post-close-step5-block .button{width:100%;justify-content:center}}

/* v0.162.152 · Payrollregel beheren — vloeiendere modal-scroll */
/* De payrollmodal ligt boven een zware controlepagina. Een live backdrop-blur en twee
   gelijktijdige scrollcontainers zorgden tijdens scrollen voor onnodige compositing en
   repaints. Houd de achtergrond verduisterd, maar laat alleen het dialoogpaneel scrollen. */
.payroll-global-modal-layer{
  overflow:hidden;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.payroll-global-modal-layer .payroll-line-action-panel{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  contain:layout paint style;
  -webkit-overflow-scrolling:touch;
}
.payroll-global-modal-layer .payroll-line-action-heading{
  isolation:isolate;
  transform:translateZ(0);
  backface-visibility:hidden;
}
@media(max-width:760px){
  .payroll-global-modal-layer .payroll-line-action-panel{scrollbar-gutter:auto}
}


/* v0.162.153 · Arbeidstijdkaarten: volledige omkadering en duidelijkere beheerblokken */
/* Arbeidstijd → overzicht: geen smalle accentstreep meer; de volledige kaart draagt de statuskleur. */
.work-time-dashboard-summary{
  border:1px solid #d8e2da;
  border-left:1px solid #d8e2da;
  border-radius:18px;
}
.work-time-dashboard-summary.attention{
  border-color:#dcc68f;
  background:#fffdf8;
}
.work-time-dashboard-summary.clear{
  border-color:#d5e0d8;
  background:#f8fbf9;
}

/* Overuren & inhaalrust → vrijwillige overuren: uitgeklapt formulier als duidelijk zelfstandig beheerblok. */
.overtime-agreements-card>details[open]{
  border:1px solid #c9d8cd;
  border-radius:14px;
  background:#f4f8f5;
  box-shadow:0 8px 24px rgba(35,58,43,.045);
}
.overtime-agreements-card>details[open]>summary{
  background:#f7faf8;
  border-bottom:1px solid #d8e2da;
}
.overtime-agreements-card>details[open]>.overtime-agreements-body{
  border-top:0;
  background:#f4f8f5;
}
.overtime-agreements-body>.settings-info-note{
  border:1px solid #d4e0d6;
  border-left:1px solid #d4e0d6;
  border-radius:13px;
  background:#fbfdfb;
}

/* Overwerkbeleid → Controle vóór opslaan: dezelfde volledige Nova-omkadering. */
.overtime-policy-checklist.settings-info-note{
  border:1px solid #d4e0d6;
  border-left:1px solid #d4e0d6;
  border-radius:13px;
  background:#f4f8f5;
}

@media(max-width:680px){
  .work-time-dashboard-summary{border-radius:15px}
  .overtime-agreements-card>details[open]{border-radius:12px}
}


/* v0.162.154 · Vrijwillige overuren: actieblok ook ingeklapt herkenbaar + hoger contrast */
.overtime-agreements-card>details{
  border:1px solid #bfd1c3;
  border-radius:15px;
  background:#f3f8f4;
  box-shadow:0 6px 20px rgba(35,58,43,.035);
}
.overtime-agreements-card>details>summary{
  min-height:76px;
  padding:17px 20px;
  background:#f3f8f4;
  color:#33493a;
}
.overtime-agreements-card>details>summary .overtime-task-kicker{
  font-size:10.5px;
  color:#5f7365;
  letter-spacing:.09em;
}
.overtime-agreements-card>details>summary strong{
  font-size:15.5px;
  line-height:1.3;
  font-weight:850;
  color:#2d4334;
}
.overtime-agreements-card>details>summary small{
  font-size:12px;
  line-height:1.5;
  color:#66756b;
}
.overtime-agreements-card>details[open]{
  border-color:#b7ccbc;
  background:#f3f8f4;
  box-shadow:0 8px 24px rgba(35,58,43,.05);
}
.overtime-agreements-card>details[open]>summary{
  background:#eef5f0;
  border-bottom:1px solid #d1ddd4;
}
.overtime-agreements-card>details[open]>.overtime-agreements-body{
  background:#f3f8f4;
}
.overtime-agreements-body>.settings-info-note{
  border-color:#cbdacf;
  background:#fbfdfb;
}
.overtime-agreement-grid>label>span,
.overtime-agreement-grid>.settings-field>span,
.overtime-agreement-grid .settings-checkbox>span{
  color:#3f5145;
}
.overtime-agreement-grid .overtime-human-duration>small,
.overtime-agreement-grid .duration-preview small{
  color:#5d6d62;
}
.overtime-agreement-grid input::placeholder,
.overtime-agreement-grid textarea::placeholder{
  color:#7c8880;
  opacity:1;
}
@media(max-width:680px){
  .overtime-agreements-card>details{border-radius:12px}
  .overtime-agreements-card>details>summary{min-height:0;padding:15px 16px}
}

/* v0.162.155 · gerichte QA/UI-verfijningen */
/* Vrijwillige overuren: warm beheerblok + zoekbare medewerkerkeuze. */
.overtime-agreements-card>details,
.overtime-agreements-card>details[open]{
  border-color:#dfcc96;
  background:#fffaf0;
  box-shadow:0 6px 20px rgba(116,86,24,.045);
}
.overtime-agreements-card>details>summary,
.overtime-agreements-card>details[open]>summary{
  background:#fff8e8;
  color:#4d452d;
}
.overtime-agreements-card>details[open]>summary{border-bottom-color:#eadbb5}
.overtime-agreements-card>details[open]>.overtime-agreements-body{background:#fffaf0}
.overtime-agreements-card>details>summary .overtime-task-kicker{color:#7b6a3f}
.overtime-agreements-card>details>summary strong{color:#3f3a29}
.overtime-agreements-card>details>summary small{color:#746d59}
.overtime-agreements-body>.settings-info-note{
  border-color:#e5d7ae;
  background:#fffdf8;
}
.overtime-agreement-grid .flex-combobox{width:100%;min-width:0}
.overtime-agreement-grid .flex-combobox-button{width:100%;min-width:0}

/* Afwijkingen: statuskleur rondom de volledige samenvattingskaart, geen zijstrook. */
.deviation-action-summary{
  border:1px solid #d6e1d8;
  border-left:1px solid #d6e1d8;
  border-radius:18px;
  background:#f8faf8;
}
.deviation-action-summary.attention{
  border-color:#e4c0bc;
  background:#fff9f8;
}
.deviation-action-summary.clear{
  border-color:#cdddcf;
  background:#f8fbf9;
}

/* Afwezigheden: afwijsacties zijn echte destructieve Nova-knoppen. */
.absence-management-page .approval-reject-details>summary.button.absence-reject-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:44px;
  box-sizing:border-box;
  padding:10px 16px;
  border:1.5px solid var(--nova-ui-coral-border);
  border-radius:12px;
  background:#fff;
  color:var(--nova-ui-coral-text);
  font:inherit;
  font-size:12px;
  font-weight:800;
  line-height:1.2;
  cursor:pointer;
  list-style:none;
  text-decoration:none;
}
.absence-management-page .approval-reject-details>summary.button.absence-reject-toggle::-webkit-details-marker{display:none}
.absence-management-page .approval-reject-details>summary.button.absence-reject-toggle:hover{
  border-color:#d9aaa6;
  background:var(--nova-ui-coral-soft);
  color:var(--nova-ui-coral-text);
  transform:none;
}
.absence-management-page .approval-reject-details>summary.button.absence-reject-toggle:focus-visible{
  outline:3px solid rgba(181,91,83,.16);
  outline-offset:2px;
}
@media(max-width:700px){
  .absence-management-page .approval-reject-details>summary.button.absence-reject-toggle{width:100%}
}


/* v0.162.156 · Vrijwillige overuren: compactere, gelaagde beheerflow */
.overtime-agreements-card>details>summary{
  min-height:68px;
  padding:14px 18px;
}
.overtime-agreements-card>details>summary strong{
  font-size:16px;
  line-height:1.25;
}
.overtime-agreements-card>details[open]>.overtime-agreements-body{
  display:grid;
  gap:14px;
  padding:16px 18px 18px;
  background:#fffaf0;
}
.overtime-agreements-body>.settings-info-note{
  margin:0;
  padding:13px 15px;
  border-color:#e6d7aa;
  background:#fffdf8;
}
.overtime-agreement-form-card{
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:14px;
  align-items:start;
  margin:0;
  padding:18px;
  border:1px solid #eadfbe;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(101,78,27,.035);
}
.overtime-agreement-form-card>.agreement-employee{grid-column:span 3}
.overtime-agreement-form-card>.agreement-policy{grid-column:span 3}
.overtime-agreement-form-card>.agreement-written{grid-column:span 3}
.overtime-agreement-form-card>.agreement-from{grid-column:span 3}
.overtime-agreement-form-card>.agreement-until{grid-column:span 3}
.overtime-agreement-form-card>.agreement-annual{grid-column:span 3}
.overtime-agreement-form-card>.agreement-no-premium{grid-column:span 3}
.overtime-agreement-form-card>.agreement-reference{grid-column:span 3}
.overtime-agreement-form-card>.agreement-renewal{grid-column:span 3}
.overtime-agreement-form-card>.agreement-notes{grid-column:span 6}
.overtime-agreement-form-card>.agreement-reason{grid-column:span 6}
.overtime-agreement-form-card>.agreement-actions{
  grid-column:1/-1;
  justify-content:flex-end;
  min-height:0;
  padding-top:2px;
}
.overtime-agreement-form-card>.agreement-actions .button.primary{
  min-width:190px;
}
.overtime-agreement-form-card>.agreement-limit-card{
  display:grid;
  align-content:start;
  gap:8px;
  min-width:0;
  padding:13px;
  border:1px solid #ece2c7;
  border-radius:12px;
  background:#fffaf2;
}
.overtime-agreement-form-card>.agreement-limit-card>span{
  color:#504a38;
  font-size:12.5px;
  font-weight:800;
}
.overtime-agreement-form-card>.agreement-limit-card .overtime-duration-input{
  margin-top:0;
}
.overtime-agreement-form-card>.agreement-limit-card>small{
  margin-top:0;
  color:#6b6657;
  font-size:11px;
  line-height:1.45;
}
.overtime-agreement-form-card>.agreement-renewal{
  align-self:end;
  min-height:46px;
  padding:11px 13px!important;
  border:1px solid #ece4cf;
  border-radius:11px;
  background:#fffdf8;
}
.overtime-agreement-form-card input,
.overtime-agreement-form-card select,
.overtime-agreement-form-card .flex-combobox-button{
  background:#fff;
}
.overtime-agreement-form-card input:focus,
.overtime-agreement-form-card select:focus,
.overtime-agreement-form-card .flex-combobox-button:focus-visible{
  border-color:#b7a46d;
  box-shadow:0 0 0 3px rgba(183,164,109,.14);
}
@media(max-width:1180px){
  .overtime-agreement-form-card>.agreement-employee,
  .overtime-agreement-form-card>.agreement-policy,
  .overtime-agreement-form-card>.agreement-written,
  .overtime-agreement-form-card>.agreement-from,
  .overtime-agreement-form-card>.agreement-until,
  .overtime-agreement-form-card>.agreement-annual,
  .overtime-agreement-form-card>.agreement-no-premium,
  .overtime-agreement-form-card>.agreement-reference,
  .overtime-agreement-form-card>.agreement-renewal{grid-column:span 6}
  .overtime-agreement-form-card>.agreement-notes,
  .overtime-agreement-form-card>.agreement-reason{grid-column:span 6}
}
@media(max-width:700px){
  .overtime-agreements-card>details>summary{min-height:0;padding:14px 15px}
  .overtime-agreements-card>details[open]>.overtime-agreements-body{padding:13px}
  .overtime-agreement-form-card{grid-template-columns:1fr;padding:14px;gap:12px}
  .overtime-agreement-form-card>.agreement-employee,
  .overtime-agreement-form-card>.agreement-policy,
  .overtime-agreement-form-card>.agreement-written,
  .overtime-agreement-form-card>.agreement-from,
  .overtime-agreement-form-card>.agreement-until,
  .overtime-agreement-form-card>.agreement-annual,
  .overtime-agreement-form-card>.agreement-no-premium,
  .overtime-agreement-form-card>.agreement-reference,
  .overtime-agreement-form-card>.agreement-renewal,
  .overtime-agreement-form-card>.agreement-notes,
  .overtime-agreement-form-card>.agreement-reason,
  .overtime-agreement-form-card>.agreement-actions{grid-column:auto}
  .overtime-agreement-form-card>.agreement-actions{justify-content:stretch}
  .overtime-agreement-form-card>.agreement-actions .button.primary{width:100%;min-width:0}
}

/* v0.162.157 · Vrijwillige overuren: rustige witte binnenzones en stabiele formuliergrid */
.overtime-agreements-body>.settings-info-note{
  background:#fff;
  border-color:#e6dcc1;
}
.overtime-agreement-form-card>.agreement-limit-card{
  background:#fff;
  border-color:#e3ded0;
}
.overtime-agreement-form-card>.agreement-renewal{
  background:#fff;
  border-color:#e3ded0;
}
.overtime-agreement-form-card>.agreement-employee,
.overtime-agreement-form-card>.agreement-policy,
.overtime-agreement-form-card>.agreement-written,
.overtime-agreement-form-card>.agreement-from,
.overtime-agreement-form-card>.agreement-until,
.overtime-agreement-form-card>.agreement-annual,
.overtime-agreement-form-card>.agreement-no-premium,
.overtime-agreement-form-card>.agreement-reference{
  grid-column:span 3;
  min-width:0;
}
.overtime-agreement-form-card>.agreement-renewal,
.overtime-agreement-form-card>.agreement-notes,
.overtime-agreement-form-card>.agreement-reason{
  grid-column:span 4;
  min-width:0;
}
.overtime-agreement-form-card>.agreement-notes input,
.overtime-agreement-form-card>.agreement-reason input{
  width:100%;
  min-width:0;
}
@media(max-width:1180px){
  .overtime-agreement-form-card>.agreement-employee,
  .overtime-agreement-form-card>.agreement-policy,
  .overtime-agreement-form-card>.agreement-written,
  .overtime-agreement-form-card>.agreement-from,
  .overtime-agreement-form-card>.agreement-until,
  .overtime-agreement-form-card>.agreement-annual,
  .overtime-agreement-form-card>.agreement-no-premium,
  .overtime-agreement-form-card>.agreement-reference,
  .overtime-agreement-form-card>.agreement-renewal,
  .overtime-agreement-form-card>.agreement-notes{
    grid-column:span 6;
  }
  .overtime-agreement-form-card>.agreement-reason{
    grid-column:1/-1;
  }
}
@media(max-width:700px){
  .overtime-agreement-form-card>.agreement-renewal,
  .overtime-agreement-form-card>.agreement-notes,
  .overtime-agreement-form-card>.agreement-reason{
    grid-column:auto;
  }
}

/* v0.162.158 — vrijwillige overuren: akkoord- en contingentcontext */
.overtime-voluntary-context{
  display:grid;
  gap:14px;
  padding:18px 20px;
  border:1px solid #cfd9d1;
  border-radius:18px;
  background:#fbfcfb;
}
.overtime-voluntary-context.is-warning{
  border-color:#e7c979;
  background:#fffaf0;
}
.overtime-voluntary-context-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.overtime-voluntary-context-head>div{display:grid;gap:4px}
.overtime-voluntary-context-head strong{font-size:17px;line-height:1.25}
.overtime-voluntary-context-meta,
.overtime-voluntary-quota-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.overtime-voluntary-quota-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.overtime-voluntary-context-meta>span,
.overtime-voluntary-quota-grid>span{
  display:grid;
  gap:4px;
  min-width:0;
  padding:12px 14px;
  border:1px solid #e1e6e2;
  border-radius:13px;
  background:#fff;
}
.overtime-voluntary-context-meta small,
.overtime-voluntary-quota-grid small{
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.overtime-voluntary-context-meta b,
.overtime-voluntary-quota-grid b{overflow-wrap:anywhere}
.overtime-voluntary-quota-grid em{
  color:var(--muted);
  font-size:12px;
  font-style:normal;
}
.overtime-voluntary-warning,
.overtime-voluntary-ready{
  margin:0;
  padding:11px 13px;
  border:1px solid #ecd89f;
  border-radius:12px;
  background:#fffdf7;
  color:#6d5520;
  line-height:1.45;
}
.overtime-voluntary-ready{
  border-color:#d7e2d9;
  background:#f7faf7;
  color:#405347;
}
.overtime-policy-voluntary-cell,
.overtime-agreement-quota-cell{min-width:190px}
.overtime-policy-voluntary-cell>strong,
.overtime-agreement-quota-cell>strong{display:block}
.overtime-limit-missing{color:#9a6516!important;font-weight:700}

@media (max-width: 900px){
  .overtime-voluntary-context-meta{grid-template-columns:1fr}
  .overtime-voluntary-quota-grid{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .overtime-voluntary-context{padding:15px}
  .overtime-voluntary-context-head{display:grid}
}

/* v0.162.159 · Vrijwillige overuren: auditbaar akkoordbeheer en destructieve beheerkaart */
.overtime-agreement-actions details.overtime-agreement-manage{
  margin-top:6px;
}
.overtime-agreement-actions details.overtime-agreement-manage>summary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:8px 12px;
  border:1px solid #d9dfda;
  border-radius:9px;
  background:#fff;
  color:#4f5f55;
  font-size:11.5px;
  font-weight:800;
  cursor:pointer;
  list-style:none;
}
.overtime-agreement-actions details.overtime-agreement-manage>summary::-webkit-details-marker{display:none}
.overtime-agreement-actions details.overtime-agreement-manage[open]>summary{
  background:#f5f8f5;
  border-color:#cfd9d1;
}
.overtime-agreement-manage-body{
  display:grid;
  gap:12px;
  margin-top:10px;
  min-width:360px;
}
.overtime-agreement-manage-card{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid #dfe5e0;
  border-radius:13px;
  background:#fff;
  box-shadow:0 4px 14px rgba(36,50,40,.025);
}
.overtime-agreement-manage-card.is-edit{
  border-color:#d7e0d8;
  background:#fbfcfb;
}
.overtime-agreement-manage-card.is-danger{
  border-color:#ebc9c5;
  background:#fffafa;
}
.overtime-agreement-manage-head{
  display:grid;
  gap:5px;
}
.overtime-agreement-manage-head>div{
  display:grid;
  gap:3px;
}
.overtime-agreement-manage-head strong{
  color:#2f4035;
  font-size:14px;
  line-height:1.3;
}
.overtime-agreement-manage-head>small{
  color:#6f7972;
  font-size:10.5px;
  line-height:1.45;
}
.overtime-agreement-manage-card.is-danger .overtime-task-kicker,
.overtime-agreement-manage-card.is-danger .overtime-agreement-manage-head strong{
  color:var(--nova-ui-coral-text);
}
.overtime-agreement-edit-form,
.overtime-agreement-end-form{
  display:grid;
  gap:11px;
}
.overtime-agreement-edit-form>label,
.overtime-agreement-end-form>label{
  display:grid;
  gap:6px;
  min-width:0;
}
.overtime-agreement-edit-form>label>span,
.overtime-agreement-end-form>label>span,
.agreement-manage-limit>span{
  color:#4f5c54;
  font-size:11px;
  font-weight:800;
}
.overtime-agreement-edit-form input,
.overtime-agreement-end-form input{
  width:100%;
  min-width:0;
  min-height:42px;
  padding:9px 11px;
  border:1px solid #d9dfda;
  border-radius:9px;
  background:#fff;
  color:var(--text);
  font:inherit;
  box-sizing:border-box;
}
.overtime-agreement-manage-card.is-danger .overtime-agreement-end-form input{
  border-color:#e4cfcc;
}
.agreement-manage-limit{
  display:grid;
  gap:4px;
  padding:11px;
  border:1px solid #e1e6e2;
  border-radius:10px;
  background:#fff;
}
.agreement-manage-limit>small{
  color:#788078;
  font-size:10px;
  line-height:1.4;
}
.agreement-manage-limit .overtime-duration-input{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:8px;
  margin-top:2px;
}
.agreement-manage-limit .overtime-duration-input .duration-preview{
  grid-column:1/-1;
  min-height:40px;
}
.agreement-manage-limit .duration-control input.duration-hours,
.agreement-manage-limit .duration-control input.duration-minutes{
  min-height:40px;
}
.agreement-manage-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding-top:2px;
}
.overtime-agreement-end-form .danger-button{
  min-height:40px;
  padding:9px 13px;
  border:1.5px solid var(--nova-ui-coral-border);
  background:#fff;
  color:var(--nova-ui-coral-text);
  box-shadow:none;
}
.overtime-agreement-end-form .danger-button:hover{
  background:var(--nova-ui-coral-soft);
  border-color:var(--nova-ui-coral-border);
  color:var(--nova-ui-coral-text);
}
@media(max-width:980px){
  .overtime-agreement-manage-body{min-width:310px}
}
@media(max-width:700px){
  .overtime-agreement-manage-body{min-width:0;width:100%}
  .overtime-agreement-actions details.overtime-agreement-manage>summary{width:100%}
  .agreement-manage-actions{justify-content:stretch}
  .agreement-manage-actions .button,
  .agreement-manage-actions .danger-button{width:100%;justify-content:center}
}

/* v0.162.160 · Vrijwillige overuren: full-width responsief akkoordbeheer */
.overtime-agreement-list{
  display:grid;
  margin-top:18px;
  border:1px solid #e0e6e1;
  border-radius:16px;
  overflow:hidden;
  background:#fff;
}
.overtime-agreement-list-head,
.overtime-agreement-record-summary{
  display:grid;
  grid-template-columns:minmax(140px,1fr) minmax(150px,.95fr) minmax(110px,.72fr) minmax(220px,1.55fr) minmax(150px,1fr) minmax(185px,1.2fr) minmax(90px,.62fr) minmax(105px,.68fr);
  gap:14px;
  align-items:center;
}
.overtime-agreement-list-head{
  padding:12px 16px;
  background:#fafbf9;
  border-bottom:1px solid #e5e9e6;
  color:#69746d;
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.overtime-agreement-record{
  min-width:0;
  border-top:1px solid #e8ece9;
  background:#fff;
}
.overtime-agreement-list-head + .overtime-agreement-record{
  border-top:0;
}
.overtime-agreement-record>summary{
  list-style:none;
}
.overtime-agreement-record>summary::-webkit-details-marker{
  display:none;
}
.overtime-agreement-record-summary{
  min-width:0;
  padding:16px;
  color:#26362c;
  font-size:13.5px;
  line-height:1.4;
}
details.overtime-agreement-record>.overtime-agreement-record-summary{
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease;
}
details.overtime-agreement-record>.overtime-agreement-record-summary:hover,
details.overtime-agreement-record[open]>.overtime-agreement-record-summary{
  background:#f8faf8;
}
.overtime-agreement-record.is-history .overtime-agreement-record-summary{
  background:#fcfcfb;
}
.agreement-record-cell{
  display:block;
  min-width:0;
  overflow-wrap:anywhere;
}
.agreement-record-cell>strong{
  color:#27382e;
  font-size:14px;
  line-height:1.35;
}
.agreement-record-name>strong{
  font-size:14.5px;
}
.agreement-record-manage{
  justify-self:end;
}
.agreement-manage-trigger{
  pointer-events:none;
  min-width:88px;
  justify-content:center;
}
.overtime-agreement-quota-cell .table-subline{
  display:block;
  margin-top:2px;
  font-size:12px;
  line-height:1.35;
}
.overtime-agreement-manage-body{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);
  gap:18px;
  width:100%;
  min-width:0;
  box-sizing:border-box;
  margin:0;
  padding:18px 16px 20px;
  border-top:1px solid #e1e7e2;
  background:#f7f9f7;
}
.overtime-agreement-manage-card{
  min-width:0;
  gap:16px;
  padding:18px;
  border-radius:14px;
  box-shadow:none;
}
.overtime-agreement-manage-card.is-edit{
  border-color:#d6e0d8;
  background:#fff;
}
.overtime-agreement-manage-card.is-danger{
  align-self:start;
  border-color:#e8c9c5;
  background:#fffafa;
}
.overtime-agreement-manage-head{
  gap:7px;
}
.overtime-agreement-manage-head strong{
  font-size:16px;
  line-height:1.3;
}
.overtime-agreement-manage-head>small{
  max-width:900px;
  color:#657169;
  font-size:13px;
  line-height:1.5;
}
.overtime-agreement-edit-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 16px;
}
.overtime-agreement-end-form{
  display:grid;
  grid-template-columns:minmax(200px,.72fr) minmax(0,1.28fr);
  gap:14px 16px;
  align-items:end;
}
.overtime-agreement-edit-form>label,
.overtime-agreement-end-form>label{
  gap:7px;
  min-width:0;
}
.overtime-agreement-edit-form>label>span,
.overtime-agreement-end-form>label>span,
.agreement-manage-limit>span{
  color:#435248;
  font-size:13px;
  font-weight:800;
  line-height:1.35;
}
.overtime-agreement-edit-form input,
.overtime-agreement-end-form input{
  min-height:48px;
  padding:11px 13px;
  border-radius:10px;
  font-size:14px;
}
.agreement-manage-limit{
  min-width:0;
  gap:7px;
  padding:14px;
  border-color:#dfe5e0;
  border-radius:12px;
}
.agreement-manage-limit>small{
  color:#69756d;
  font-size:12px;
  line-height:1.45;
}
.agreement-manage-limit .overtime-duration-input{
  gap:10px;
}
.agreement-manage-limit .duration-control input.duration-hours,
.agreement-manage-limit .duration-control input.duration-minutes,
.agreement-manage-limit .overtime-duration-input .duration-preview{
  min-height:46px;
}
.agreement-manage-reason{
  grid-column:1/-1;
}
.agreement-manage-actions{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding-top:2px;
}
.agreement-manage-actions .button,
.agreement-manage-actions .danger-button{
  min-height:44px;
  padding:10px 16px;
  font-size:13px;
  font-weight:800;
}
.overtime-agreement-manage-card.is-danger .overtime-agreement-end-form input{
  border-color:#e3cfcc;
}
.overtime-agreement-end-form .danger-button{
  min-width:170px;
  border:1.5px solid var(--nova-ui-coral-border);
  background:#fff;
  color:var(--nova-ui-coral-text);
}

@media(max-width:1380px){
  .overtime-agreement-list-head{display:none}
  .overtime-agreement-record + .overtime-agreement-record{
    border-top:1px solid #dfe5e0;
  }
  .overtime-agreement-record-summary{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px 20px;
    padding:18px;
  }
  .agreement-record-cell{
    display:grid;
    gap:4px;
  }
  .agreement-record-cell::before{
    content:attr(data-label);
    color:#7a847e;
    font-size:10.5px;
    font-weight:800;
    letter-spacing:.045em;
    line-height:1.2;
    text-transform:uppercase;
  }
  .agreement-record-manage{
    justify-self:start;
  }
  .overtime-agreement-manage-body{
    grid-template-columns:1fr;
  }
}

@media(max-width:900px){
  .overtime-agreement-record-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .overtime-agreement-edit-form,
  .overtime-agreement-end-form{
    grid-template-columns:1fr;
  }
  .agreement-manage-reference,
  .agreement-manage-notes,
  .agreement-manage-reason,
  .agreement-manage-actions{
    grid-column:1;
  }
}

@media(max-width:620px){
  .overtime-agreement-list{
    border-radius:13px;
  }
  .overtime-agreement-record-summary{
    grid-template-columns:1fr;
    gap:13px;
    padding:15px;
  }
  .overtime-agreement-manage-body{
    padding:14px;
    gap:14px;
  }
  .overtime-agreement-manage-card{
    padding:15px;
  }
  .agreement-record-manage,
  .agreement-manage-actions{
    justify-self:stretch;
  }
  .agreement-manage-trigger,
  .agreement-manage-actions .button,
  .agreement-manage-actions .danger-button{
    width:100%;
    justify-content:center;
  }
  .overtime-agreement-end-form .danger-button{
    min-width:0;
  }
}

/* v0.162.161 · vrijwillige overuren: historische akkoord-/contingentcontext in payrollaudit */
.payroll-voluntary-audit-card{display:grid;gap:12px;padding:14px;border:1px solid #cfded3;border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(31,55,39,.035)}
.payroll-voluntary-audit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid #e2e9e4}
.payroll-voluntary-audit-head>div{min-width:0}.payroll-voluntary-audit-head strong,.payroll-voluntary-audit-head small{display:block;overflow-wrap:anywhere}.payroll-voluntary-audit-head strong{color:#27382d;font-size:13px;line-height:1.4}.payroll-voluntary-audit-head small{margin-top:4px;color:#6c7770;font-size:10px;line-height:1.45}
.payroll-voluntary-audit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.payroll-voluntary-audit-grid>div{min-width:0;padding:10px 11px;border:1px solid #e0e7e2;border-radius:11px;background:#fafcfb}
.payroll-voluntary-audit-grid>.wide{grid-column:1/-1}.payroll-voluntary-audit-grid span,.payroll-voluntary-audit-grid strong,.payroll-voluntary-audit-grid small{display:block;overflow-wrap:anywhere}.payroll-voluntary-audit-grid span{margin-bottom:4px;color:#6b7970;font-size:9px;font-weight:850;letter-spacing:.045em;text-transform:uppercase}.payroll-voluntary-audit-grid strong{color:#27372d;font-size:12px;line-height:1.35}.payroll-voluntary-audit-grid small{margin-top:3px;color:#717c75;font-size:10px;line-height:1.4}
.payroll-correction-voluntary-audit{margin-top:12px}
@media(max-width:980px){.payroll-voluntary-audit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.payroll-voluntary-audit-head{flex-direction:column}.payroll-voluntary-audit-grid{grid-template-columns:1fr}.payroll-voluntary-audit-grid>.wide{grid-column:auto}}


/* v0.162.164 — Bijzondere prestaties: leesbare beoordeelde tabel en Nova-acties */
.special-performance-page .special-reviewed-panel>summary,
.special-performance-page .special-operation-panel>summary,
.special-performance-page .special-settings-panel>summary{padding:20px 22px}
.special-performance-page .special-reviewed-panel>summary strong,
.special-performance-page .special-operation-panel>summary strong,
.special-performance-page .special-settings-panel>summary strong{font-size:17px;line-height:1.25;color:#2d3b32}
.special-performance-page .special-reviewed-panel>summary small,
.special-performance-page .special-operation-panel>summary small,
.special-performance-page .special-settings-panel>summary small{font-size:14px;line-height:1.45;color:#5f6d64;font-weight:600}
.special-performance-page .special-reviewed-table{min-width:1080px;font-size:15px;color:#344139}
.special-performance-page .special-reviewed-table th{padding-top:13px;padding-bottom:13px;font-size:13px;line-height:1.25;color:#5c6861;letter-spacing:.035em}
.special-performance-page .special-reviewed-table td{padding-top:16px;padding-bottom:16px;line-height:1.42;vertical-align:top}
.special-performance-page .special-reviewed-table td>strong,
.special-performance-page .special-reviewed-primary{display:block;font-size:15px;line-height:1.35;color:#28352d}
.special-performance-page .special-reviewed-table td>small,
.special-performance-page .special-reviewed-table .special-reviewed-performance small,
.special-performance-page .special-reviewed-table .special-reviewed-value small{display:block;margin-top:4px;color:#637068;font-size:13px;line-height:1.42}
.special-performance-page .special-reviewed-performance strong,
.special-performance-page .special-reviewed-value strong{display:block;font-size:16px;line-height:1.32;color:#2b382f}
.special-performance-page .special-reviewed-status{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border:1px solid #dce4de;border-radius:999px;background:#f5f7f5;color:#58665d;font-size:13px;font-weight:750;white-space:nowrap}
.special-performance-page .special-reviewed-status.is-approved{border-color:#cadbce;background:#f0f6f1;color:#4f6b58}
.special-performance-page .special-reviewed-status.is-rejected{border-color:#ead0cc;background:#fff5f3;color:#9a544d}
.special-performance-page .special-reviewed-action-cell{min-width:240px}
.special-performance-page .special-reviewed-actions{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;min-width:220px}
.special-performance-page .special-reviewed-actions>details{margin:0;min-width:0}
.special-performance-page .special-reviewed-actions>details>summary.button{display:inline-flex;min-height:38px;padding:8px 13px;font-size:12px;line-height:1.2;list-style:none}
.special-performance-page .special-reviewed-actions>details>summary.button::-webkit-details-marker{display:none}
.special-performance-page .special-reviewed-actions>details[open]{flex-basis:100%}
.special-performance-page .special-reviewed-actions .special-record-details>div{max-width:none;margin-top:9px;padding:12px 13px;border:1px solid #dfe6e0;border-radius:11px;background:#fafcfb;color:#56645b;font-size:12px;line-height:1.5}
.special-performance-page .special-reviewed-actions .special-record-details>div span{display:block}
.special-performance-page .special-reviewed-actions .special-record-details code{font-size:11px}
.special-performance-page .special-reviewed-actions .special-correction-details{position:relative}
.special-performance-page .special-reviewed-actions .special-correction-panel{margin-top:9px;width:min(720px,calc(100vw - 120px));max-width:720px;padding:15px;border:1px solid #dfe6e0;border-radius:12px;background:#fbfcfb}
.special-performance-page .special-reviewed-actions .special-correction-form label>span{font-size:13px;color:#4f5f55}
.special-performance-page .special-reviewed-actions .special-correction-form label>small{font-size:12px;color:#647169}
.special-performance-page .special-hr-task.has-actions{border:1px solid #e2cea4}
.special-performance-page .special-hr-task.is-clear{border:1px solid #c9d9cd}
.special-performance-page .special-review-card{border:1px solid #e4d2ac}
@media(max-width:1100px){
  .special-performance-page .special-reviewed-table{min-width:980px}
  .special-performance-page .special-reviewed-action-cell{min-width:210px}
}
@media(max-width:700px){
  .special-performance-page .special-reviewed-panel>summary,
  .special-performance-page .special-operation-panel>summary,
  .special-performance-page .special-settings-panel>summary{padding:18px 16px}
  .special-performance-page .special-reviewed-panel>summary strong,
  .special-performance-page .special-operation-panel>summary strong,
  .special-performance-page .special-settings-panel>summary strong{font-size:16px}
  .special-performance-page .special-reviewed-panel>summary small,
  .special-performance-page .special-operation-panel>summary small,
  .special-performance-page .special-settings-panel>summary small{font-size:13px}
  .special-performance-page .special-reviewed-actions .special-correction-panel{width:min(620px,calc(100vw - 48px));max-width:620px}
}

/* v0.162.165 — Bijzondere prestaties: correctieformulier als volledige rij onder de prestatie */
.special-performance-page .special-correction-toggle{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}
.special-performance-page .special-correction-trigger{cursor:pointer}
.special-performance-page .special-reviewed-row:has(.special-correction-toggle:checked) .special-correction-trigger{
  border-color:#c7d5cb;
  background:#eef4ef;
  color:#31483a;
}
.special-performance-page .special-correction-row{display:none}
.special-performance-page .special-reviewed-row:has(.special-correction-toggle:checked)+.special-correction-row{display:table-row}
.special-performance-page .special-correction-row>td{
  padding:0 16px 18px!important;
  border-top:0!important;
  background:#fff!important;
}
.special-performance-page .special-correction-row .special-correction-panel{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  z-index:auto!important;
  display:grid!important;
  gap:16px!important;
  width:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:20px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
  border:1px solid #d9e3dc!important;
  border-radius:14px!important;
  background:#fbfcfb!important;
  box-shadow:none!important;
}
.special-performance-page .special-correction-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding-bottom:14px;
  border-bottom:1px solid #e4e9e5;
}
.special-performance-page .special-correction-head>div{display:grid;gap:4px;min-width:0}
.special-performance-page .special-correction-head strong{font-size:17px;line-height:1.3;color:#2c3a31}
.special-performance-page .special-correction-head span{font-size:14px;line-height:1.45;color:#657169;overflow-wrap:anywhere}
.special-performance-page .special-correction-row .special-correction-form{
  position:static!important;
  width:100%!important;
  max-width:none!important;
  grid-template-columns:minmax(190px,280px) minmax(0,1fr)!important;
  gap:16px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.special-performance-page .special-correction-row .special-correction-form label>span{
  font-size:14px!important;
  line-height:1.35;
  color:#4f5e55!important;
}
.special-performance-page .special-correction-row .special-correction-form input,
.special-performance-page .special-correction-row .special-correction-form textarea{
  font-size:15px!important;
}
.special-performance-page .special-correction-row .special-correction-form .special-correction-text,
.special-performance-page .special-correction-row .special-correction-form>.form-actions{grid-column:1/-1!important}
.special-performance-page .special-correction-row .special-correction-form>.form-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:0;
}
@media(max-width:760px){
  .special-performance-page .special-correction-row>td{padding:0 10px 14px!important}
  .special-performance-page .special-correction-row .special-correction-panel{padding:16px!important}
  .special-performance-page .special-correction-head{align-items:stretch;flex-direction:column}
  .special-performance-page .special-correction-head .button{width:100%;justify-content:center}
  .special-performance-page .special-correction-row .special-correction-form{grid-template-columns:1fr!important}
  .special-performance-page .special-correction-row .special-correction-form .special-correction-text,
  .special-performance-page .special-correction-row .special-correction-form>.form-actions{grid-column:1!important}
  .special-performance-page .special-correction-row .special-correction-form>.form-actions,
  .special-performance-page .special-correction-row .special-correction-form>.form-actions .button{width:100%}
  .special-performance-page .special-correction-row .special-correction-form>.form-actions .button{justify-content:center}
}

/* v0.162.167 — Bijzondere prestaties: medewerkerfilter en rustigere Nova-kaarthiërarchie */
.special-performance-page .special-daily-card{
  border:1px solid #c9d9cd;
  background:#fff;
  box-shadow:0 8px 24px rgba(37,50,42,.035);
}
.special-performance-page .special-daily-card .special-daily-head{
  padding-bottom:14px;
  border-bottom:1px solid #e7ede9;
}
.special-performance-page .special-control-filter{
  grid-template-columns:minmax(280px,1.35fr) minmax(170px,.72fr) minmax(170px,.72fr) auto;
  gap:14px;
  align-items:end;
}
.special-performance-page .special-control-filter .special-filter-employee{align-self:start}
.special-performance-page .special-control-filter .form-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.special-performance-page .special-control-filter .button{min-height:46px}
.special-performance-page .special-filter-employee .special-employee-help{font-size:12px;color:#65736a}
.special-performance-page .special-filter-employee>span,
.special-performance-page .special-control-filter label>span{font-size:14px;color:#46564c;font-weight:760}
.special-performance-page .special-filter-employee input[type=search],
.special-performance-page .special-control-filter input[type=date]{min-height:48px;font-size:15px}

.special-performance-page .special-reviewed-panel{
  border:1px solid #d2ded5;
  background:#fff;
  box-shadow:0 7px 22px rgba(37,50,42,.028);
}
.special-performance-page .special-reviewed-panel>summary{background:#f9fbf9}
.special-performance-page .special-reviewed-panel[open]>summary{background:#f5f9f6;border-bottom-color:#dfe8e1}

.special-performance-page .special-operation-panel{
  border:1px solid #d2dde7;
  background:#fff;
  box-shadow:0 7px 22px rgba(45,62,75,.026);
}
.special-performance-page .special-operation-panel>summary{background:#fafcfd}
.special-performance-page .special-operation-panel[open]>summary{background:#f5f9fb;border-bottom-color:#e0e8ee}

.special-performance-page .special-settings-intro{
  border:1px solid #ddd8c9;
  background:#fffdf8;
  box-shadow:0 7px 22px rgba(75,66,43,.025);
}
.special-performance-page .special-settings-intro .settings-card-head h2{color:#2f392f}
.special-performance-page .special-settings-intro .settings-card-head p{color:#667067}

.special-performance-page .special-settings-panel{
  border:1px solid #d9e1dc;
  background:#fff;
  box-shadow:0 6px 20px rgba(37,50,42,.022);
}
.special-performance-page #automatic-qualification{border-color:#c9d9cd}
.special-performance-page #automatic-qualification>summary{background:#f8fbf8}
.special-performance-page #new-performance-type{border-color:#d4dce7}
.special-performance-page #new-performance-type>summary{background:#fafbfd}
.special-performance-page #quantity-unit-labels{border-color:#d8e2dc}
.special-performance-page #quantity-unit-labels>summary{background:#fafcfb}
.special-performance-page #standby-rates{border-color:#e4d7bc}
.special-performance-page #standby-rates>summary{background:#fffdf8}
.special-performance-page #counting-rules{border-color:#ceddd3}
.special-performance-page #counting-rules>summary{background:#f8fbf9}
.special-performance-page #reference-template{border-color:#d7dce7}
.special-performance-page #reference-template>summary{background:#fafbfd}
.special-performance-page .special-settings-panel[open]>summary{border-bottom-color:#e1e7e3}
.special-performance-page .special-settings-panel>summary,
.special-performance-page .special-reviewed-panel>summary,
.special-performance-page .special-operation-panel>summary{border-radius:inherit}
.special-performance-page .special-settings-panel[open]>summary,
.special-performance-page .special-reviewed-panel[open]>summary,
.special-performance-page .special-operation-panel[open]>summary{border-radius:inherit inherit 0 0}

.special-performance-page .special-scope-note{
  margin-top:18px;
  padding:18px 20px;
  border:1px solid #cbd9cf!important;
  border-left:1px solid #cbd9cf!important;
  border-radius:14px;
  background:#f8fbf9;
  box-shadow:0 6px 18px rgba(37,50,42,.02);
}
.special-performance-page .special-scope-note>summary{gap:12px}
.special-performance-page .special-scope-note>summary strong{font-size:17px;color:#314239}
.special-performance-page .special-scope-note>summary span{font-size:13px;color:#647169;font-weight:600}
.special-performance-page .special-scope-note p{font-size:14px;line-height:1.55;color:#5f6d64}

@media(max-width:1120px){
  .special-performance-page .special-control-filter{grid-template-columns:minmax(260px,1fr) 1fr 1fr}
  .special-performance-page .special-control-filter .form-actions{grid-column:1/-1}
}
@media(max-width:760px){
  .special-performance-page .special-control-filter{grid-template-columns:1fr}
  .special-performance-page .special-control-filter .form-actions{grid-column:1;width:100%}
  .special-performance-page .special-control-filter .form-actions .button{flex:1 1 100%;justify-content:center}
  .special-performance-page .special-scope-note{padding:16px}
}


/* v0.162.168 — Bijzondere prestaties: werkende medewerkerzoeker en uitgelijnde filters */
.special-performance-page .special-control-filter{
  grid-template-columns:minmax(300px,1.35fr) minmax(180px,.72fr) minmax(180px,.72fr);
  gap:14px;
  align-items:start;
}
.special-performance-page .special-control-filter>.special-filter-employee,
.special-performance-page .special-control-filter>label{
  display:grid;
  grid-template-rows:20px 48px auto;
  gap:8px;
  align-content:start;
  min-width:0;
  margin:0;
}
.special-performance-page .special-control-filter>.special-filter-employee>span,
.special-performance-page .special-control-filter>label>span{
  min-height:20px;
  display:flex;
  align-items:flex-end;
  line-height:1.2;
  margin:0;
}
.special-performance-page .special-control-filter .special-employee-input-wrap,
.special-performance-page .special-control-filter input[type=date],
.special-performance-page .special-control-filter input[type=search]{
  width:100%;
  height:48px;
  min-height:48px;
  box-sizing:border-box;
  margin:0;
}
.special-performance-page .special-control-filter .special-filter-employee{align-self:stretch}
.special-performance-page .special-control-filter .special-employee-help{
  min-height:18px;
  margin:0;
  line-height:1.35;
}
.special-performance-page .special-control-filter>.form-actions{
  grid-column:1/-1;
  min-height:46px;
  margin:0;
  padding-top:2px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.special-performance-page .special-filter-employee .special-employee-results{
  top:76px;
  z-index:120;
  max-height:300px;
}
.special-performance-page .special-daily-card{overflow:visible}
@media(max-width:980px){
  .special-performance-page .special-control-filter{grid-template-columns:1fr 1fr}
  .special-performance-page .special-filter-employee{grid-column:1/-1}
}
@media(max-width:760px){
  .special-performance-page .special-control-filter{grid-template-columns:1fr}
  .special-performance-page .special-filter-employee,
  .special-performance-page .special-control-filter>.form-actions{grid-column:1}
}

/* v0.162.169 — Bijzondere prestaties: tijdinvoer, leesbare HR-review en transparante typeconfiguratie */
.special-performance-page .special-review-card{
  padding:20px 22px;
}
.special-performance-page .special-review-card-head .special-record-title>strong{
  font-size:19px;
  line-height:1.3;
  color:#26362c;
}
.special-performance-page .special-review-card-head p{
  margin-top:7px;
  font-size:14px;
  line-height:1.45;
  color:#627068;
}
.special-performance-page .special-review-card .status-chip{
  font-size:12px;
}
.special-performance-page .special-review-meta{
  gap:12px;
  margin-top:16px;
}
.special-performance-page .special-review-meta>div{
  gap:5px;
  padding:14px 16px;
  border-radius:12px;
}
.special-performance-page .special-review-meta span{
  font-size:11px;
  color:#67746c;
}
.special-performance-page .special-review-meta strong{
  font-size:16px;
  line-height:1.35;
  color:#2e3e34;
}
.special-performance-page .special-review-meta strong>small{
  margin-top:4px;
  font-size:12px;
  line-height:1.45;
  color:#68756d;
}
.special-performance-page .special-why-record,
.special-performance-page .special-review-guidance{
  gap:5px;
  margin-top:14px;
  padding:14px 16px;
  border:1px solid #d9e4dc;
  border-left:1px solid #d9e4dc;
  border-radius:12px;
  background:#f8fbf9;
}
.special-performance-page .special-review-guidance{
  border-color:#ead8b2;
  background:#fffaf1;
}
.special-performance-page .special-why-record strong,
.special-performance-page .special-review-guidance strong{
  font-size:14px;
  color:#33443a;
}
.special-performance-page .special-why-record span,
.special-performance-page .special-review-guidance span{
  font-size:14px;
  line-height:1.55;
  color:#5e6c63;
}
.special-performance-page .special-why-record small{
  font-size:13px;
  line-height:1.45;
  color:#68756d;
}
.special-performance-page .special-review-footer{
  align-items:flex-end;
  gap:18px;
  margin-top:16px;
  padding-top:14px;
}
.special-performance-page .special-review-footer .special-record-details>summary{
  font-size:14px;
  color:#526259;
}
.special-performance-page .special-review-footer .special-record-details>div{
  font-size:13px;
  line-height:1.5;
}
.special-performance-page .special-review-actions{
  align-items:flex-end;
  gap:10px;
}
.special-performance-page .special-review-actions form{margin:0}
.special-performance-page .special-review-actions .button.primary,
.special-performance-page .special-review-actions .special-reject-trigger{
  min-height:48px;
  padding:11px 18px;
  border-radius:11px;
  font-size:14px;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
}
.special-performance-page .special-reject-details>summary.special-reject-trigger{
  list-style:none;
  border:1.5px solid var(--nova-ui-coral-border);
  background:#fff;
  color:var(--nova-ui-coral-text);
  cursor:pointer;
}
.special-performance-page .special-reject-details>summary.special-reject-trigger:hover,
.special-performance-page .special-reject-details[open]>summary.special-reject-trigger{
  background:var(--nova-ui-coral-soft);
}
.special-performance-page .special-reject-details>form{
  min-width:340px;
  padding:14px;
  border-color:#e5c8c4;
}
.special-performance-page .special-reject-details>form label span{
  font-size:13px;
  color:#5f504e;
}
.special-performance-page .special-reject-details>form input{
  min-height:44px;
  font-size:14px;
}
.special-performance-page .special-reject-details>form .danger-button{
  min-height:44px;
  justify-content:center;
  border:1.5px solid var(--nova-ui-coral-border);
  background:#fff;
  color:var(--nova-ui-coral-text);
}

.special-performance-page .special-manual-form{
  align-items:start;
}
.special-performance-page .special-manual-duration{
  display:grid;
  gap:8px;
  min-width:0;
}
.special-performance-page .special-manual-duration[hidden],
.special-performance-page .special-manual-quantity[hidden],
.special-performance-page .special-fixed-duration-note[hidden]{display:none!important}
.special-performance-page .special-field-label,
.special-performance-page .special-fixed-duration-note>span{
  color:#46564c;
  font-size:14px;
  font-weight:760;
  line-height:1.3;
}
.special-performance-page .special-duration-inputs{
  display:grid;
  grid-template-columns:minmax(110px,.55fr) minmax(110px,.55fr) minmax(180px,1fr);
  gap:10px;
  align-items:end;
}
.special-performance-page .special-duration-inputs label{
  display:grid;
  gap:6px;
  min-width:0;
}
.special-performance-page .special-duration-inputs label>span,
.special-performance-page .special-duration-preview>span{
  color:#69766e;
  font-size:12px;
  font-weight:760;
}
.special-performance-page .special-duration-inputs input{
  min-height:48px;
  font-size:15px;
}
.special-performance-page .special-duration-preview{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 13px;
  border:1px solid #dfe6e1;
  border-radius:10px;
  background:#f7faf8;
  box-sizing:border-box;
}
.special-performance-page .special-duration-preview strong{
  color:#2e4035;
  font-size:15px;
}
.special-performance-page .special-manual-duration>small,
.special-performance-page .special-fixed-duration-note>small{
  color:#65736a;
  font-size:12.5px;
  line-height:1.45;
}
.special-performance-page .special-fixed-duration-note{
  display:grid;
  gap:5px;
  min-height:92px;
  padding:13px 14px;
  border:1px solid #dfe6e1;
  border-radius:12px;
  background:#f8faf8;
  box-sizing:border-box;
}
.special-performance-page .special-fixed-duration-note>strong{
  color:#2f4035;
  font-size:16px;
}

.special-performance-page .special-type-overview{
  display:grid;
  gap:14px;
  margin-bottom:22px;
  padding-bottom:22px;
  border-bottom:1px solid #e2e8e4;
}
.special-performance-page .special-type-overview-head,
.special-performance-page .special-type-summary-head,
.special-performance-page .special-type-create-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.special-performance-page .special-type-overview-head>div,
.special-performance-page .special-type-create-head{
  min-width:0;
}
.special-performance-page .special-type-overview-head strong,
.special-performance-page .special-type-create-head>strong{
  color:#2c3d32;
  font-size:16px;
}
.special-performance-page .special-type-overview-head>div>span,
.special-performance-page .special-type-create-head>span{
  display:block;
  margin-top:4px;
  color:#657269;
  font-size:13px;
  line-height:1.45;
}
.special-performance-page .special-type-overview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.special-performance-page .special-type-summary-card{
  display:grid;
  gap:12px;
  min-width:0;
  padding:15px;
  border:1px solid #dfe6e1;
  border-radius:13px;
  background:#fbfcfb;
}
.special-performance-page .special-type-summary-card.is-inactive{opacity:.72}
.special-performance-page .special-type-summary-head>div{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  min-width:0;
}
.special-performance-page .special-type-summary-head strong{
  color:#2b3b31;
  font-size:15px;
}
.special-performance-page .special-type-summary-head code,
.special-performance-page .special-type-summary-grid code{
  padding:3px 6px;
  border-radius:6px;
  background:#eef2ef;
  color:#526158;
  font-size:11px;
}
.special-performance-page .special-type-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.special-performance-page .special-type-summary-grid>div{
  min-width:0;
  padding:10px 11px;
  border:1px solid #e5eae6;
  border-radius:10px;
  background:#fff;
}
.special-performance-page .special-type-summary-grid span,
.special-performance-page .special-type-summary-grid strong,
.special-performance-page .special-type-summary-grid small{
  display:block;
  overflow-wrap:anywhere;
}
.special-performance-page .special-type-summary-grid span{
  margin-bottom:4px;
  color:#758078;
  font-size:10px;
  font-weight:850;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.special-performance-page .special-type-summary-grid strong{
  color:#34443a;
  font-size:13px;
  line-height:1.35;
}
.special-performance-page .special-type-summary-grid small{
  margin-top:3px;
  color:#6e7a72;
  font-size:11px;
}
.special-performance-page .special-type-summary-card>p{
  margin:0;
  color:#66736b;
  font-size:12.5px;
  line-height:1.45;
}
.special-performance-page .special-type-create-head{
  margin-bottom:14px;
  padding:13px 14px;
  border:1px solid #dfe6e1;
  border-radius:12px;
  background:#f8faf9;
}

@media(max-width:980px){
  .special-performance-page .special-type-overview-grid{grid-template-columns:1fr}
  .special-performance-page .special-type-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .special-performance-page .special-duration-inputs{grid-template-columns:1fr 1fr}
  .special-performance-page .special-duration-preview{grid-column:1/-1}
}
@media(max-width:700px){
  .special-performance-page .special-review-card{padding:17px 16px}
  .special-performance-page .special-review-actions{width:100%;align-items:stretch;flex-direction:column}
  .special-performance-page .special-review-actions form,
  .special-performance-page .special-review-actions .button.primary,
  .special-performance-page .special-review-actions .special-reject-details,
  .special-performance-page .special-review-actions .special-reject-trigger{width:100%}
  .special-performance-page .special-reject-details>form{min-width:0;width:100%;box-sizing:border-box}
  .special-performance-page .special-duration-inputs,
  .special-performance-page .special-type-summary-grid{grid-template-columns:1fr}
  .special-performance-page .special-duration-preview{grid-column:1}
  .special-performance-page .special-type-overview-head,
  .special-performance-page .special-type-summary-head,
  .special-performance-page .special-type-create-head{flex-direction:column}
}

/* v0.162.174 · Feestdagen & inhaalrust + beleidsversies */
.holiday-comp-page .hc-hr-summary{
  border:1px solid #b9d2c0!important;
  border-left:1px solid #b9d2c0!important;
  border-radius:18px;
  background:#fbfdfb;
  box-shadow:0 8px 24px rgba(45,68,54,.035);
}
.holiday-comp-page .hc-rights-filters{
  grid-template-columns:minmax(300px,1.35fr) minmax(210px,.8fr) minmax(280px,1fr) auto;
  align-items:end;
}
.holiday-comp-page .hc-filter-employee{min-width:0}
.holiday-comp-page .hc-filter-employee>span{display:block;margin-bottom:7px}
.holiday-comp-page .hc-filter-employee>small{display:block;margin-top:7px;color:#68766d;font-size:12px;line-height:1.4}
.holiday-comp-page .hc-filter-employee .flex-combobox{width:100%}
.holiday-comp-page .hc-filter-employee .flex-combobox-button{min-height:48px;font-size:15px}
.holiday-comp-page .hc-filter-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
@media(max-width:1260px){
  .holiday-comp-page .hc-rights-filters{grid-template-columns:minmax(280px,1.2fr) minmax(210px,.8fr) minmax(260px,1fr)}
  .holiday-comp-page .hc-filter-actions{grid-column:1/-1}
}
@media(max-width:820px){
  .holiday-comp-page .hc-rights-filters{grid-template-columns:1fr}
  .holiday-comp-page .hc-filter-actions{grid-column:auto}
  .holiday-comp-page .hc-filter-actions .button{width:100%;justify-content:center}
}

.overtime-policy-history{
  margin-top:18px!important;
  border:1px solid #cbded0!important;
  border-radius:16px!important;
  background:#fff!important;
  overflow:visible!important;
  box-shadow:0 8px 22px rgba(43,67,51,.035);
}
.overtime-policy-history>.overtime-policy-history-summary{
  min-height:86px;
  padding:16px 18px!important;
  background:#fbfdfb;
  border-radius:16px;
  align-items:center!important;
}
.overtime-policy-history[open]>.overtime-policy-history-summary{border-radius:16px 16px 0 0;border-bottom:1px solid #dce7df}
.overtime-policy-history-title{display:grid!important;gap:4px!important;min-width:0}
.overtime-policy-history-title strong{font-size:17px!important;line-height:1.3;color:#2d3d33}
.overtime-policy-history-title small{font-size:12.5px!important;line-height:1.45;color:#68766d}
.overtime-policy-history-glance{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
.overtime-policy-current{display:grid;gap:1px;min-width:220px;text-align:right}
.overtime-policy-current small{font-size:10.5px;color:#77837b;text-transform:uppercase;letter-spacing:.04em;font-weight:800}
.overtime-policy-current b{font-size:13px;line-height:1.3;color:#304137;white-space:normal}
.overtime-policy-current em{font-size:11px;color:#718078;font-style:normal}
.overtime-policy-chevron{font-size:18px;color:#66766c;transition:transform .15s ease}
.overtime-policy-history[open] .overtime-policy-chevron{transform:rotate(180deg)}
.overtime-policy-history-body{display:grid;gap:14px;padding:16px;background:#f8faf8;border-radius:0 0 16px 16px}
.overtime-policy-version-card{padding:17px;border:1px solid #dce4de;border-radius:14px;background:#fff}
.overtime-policy-version-card.is-current{border-color:#b9d4c0;background:#fcfefc}
.overtime-policy-version-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid #e6ebe7}
.overtime-policy-version-copy{min-width:0;max-width:760px}
.overtime-policy-version-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.overtime-policy-version-title h3{margin:0;font-size:18px;line-height:1.28;color:#27372e}
.overtime-policy-version-copy p{margin:6px 0 0;color:#66736b;font-size:13px;line-height:1.5}
.overtime-policy-version-period{display:grid;gap:3px;min-width:210px;text-align:right}
.overtime-policy-version-period small,.overtime-policy-fact small{font-size:10.5px;font-weight:850;text-transform:uppercase;letter-spacing:.045em;color:#748078}
.overtime-policy-version-period strong{font-size:13.5px;color:#314239}
.overtime-policy-version-period span{font-size:11px;color:#7a857e}
.overtime-policy-version-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.overtime-policy-fact{display:grid;align-content:start;gap:4px;min-height:104px;padding:12px 13px;border:1px solid #e0e7e2;border-radius:12px;background:#fafcfa}
.overtime-policy-fact strong{font-size:14px;line-height:1.35;color:#2e4035}
.overtime-policy-fact span{font-size:12.5px;line-height:1.4;color:#536359}
.overtime-policy-fact em{margin-top:2px;font-size:11.5px;line-height:1.4;color:#6e7d73;font-style:normal}
.overtime-policy-fact.has-warning{border-color:#ead9b6;background:#fffaf1}
.overtime-policy-fact.has-warning em{color:#8a651d;font-weight:750}
.overtime-policy-version-actions{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid #e6ebe7}
.overtime-policy-version-guidance{display:grid;gap:2px;max-width:720px}
.overtime-policy-version-guidance strong{font-size:13px;color:#35463b}
.overtime-policy-version-guidance span{font-size:12px;line-height:1.45;color:#718078}
.overtime-policy-version-buttons{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.overtime-policy-manage{position:relative}
.overtime-policy-manage>summary{list-style:none;cursor:pointer}
.overtime-policy-manage>summary::-webkit-details-marker{display:none}
.overtime-policy-manage-panel{position:absolute;z-index:20;right:0;top:calc(100% + 8px);width:min(520px,calc(100vw - 48px));display:grid;gap:10px;padding:13px;border:1px solid #d7e0d9;border-radius:13px;background:#fff;box-shadow:0 18px 40px rgba(39,58,46,.14)}
.overtime-policy-manage .policy-inline-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end;padding:11px;border:1px solid #e2e7e3;border-radius:11px;background:#fafbfa}
.overtime-policy-manage .policy-inline-action label{display:grid;gap:5px;min-width:0}
.overtime-policy-manage .policy-inline-action label>span{font-size:11.5px;font-weight:750;color:#5d6c63}
.overtime-policy-manage .policy-inline-action input{min-height:42px;width:100%}
.overtime-policy-history-kept{font-size:12.5px}
@media(max-width:1050px){
  .overtime-policy-version-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .overtime-policy-history>.overtime-policy-history-summary{align-items:flex-start!important}
  .overtime-policy-history-glance{align-items:flex-end;flex-direction:column;gap:5px}
  .overtime-policy-current{min-width:0;text-align:right}
  .overtime-policy-version-head,.overtime-policy-version-actions{flex-direction:column;align-items:stretch}
  .overtime-policy-version-period{text-align:left;min-width:0}
  .overtime-policy-version-buttons{justify-content:flex-start}
  .overtime-policy-manage{width:100%}
  .overtime-policy-manage>summary{width:100%;justify-content:center}
  .overtime-policy-manage-panel{position:static;width:100%;margin-top:8px;box-shadow:none}
}
@media(max-width:560px){
  .overtime-policy-history>.overtime-policy-history-summary{flex-direction:column;gap:10px}
  .overtime-policy-history-glance{width:100%;align-items:flex-start}
  .overtime-policy-current{text-align:left}
  .overtime-policy-version-facts{grid-template-columns:1fr}
  .overtime-policy-manage .policy-inline-action{grid-template-columns:1fr}
  .overtime-policy-version-buttons .button,.overtime-policy-version-buttons .danger-button{width:100%;justify-content:center}
}

/* v0.162.175 · Feestdagen & inhaalrust · filteruitlijning */
.holiday-comp-page .hc-rights-filters{
  align-items:start;
}
.holiday-comp-page .hc-rights-filters>label:not(.hc-action-only){
  align-self:start;
}
.holiday-comp-page .hc-rights-filters>label:not(.hc-action-only)>span:first-child{
  display:flex;
  align-items:center;
  min-height:20px;
  margin-bottom:0;
}
.holiday-comp-page .hc-rights-filters select,
.holiday-comp-page .hc-filter-employee .flex-combobox-button{
  min-height:48px;
  height:48px;
  box-sizing:border-box;
}
.holiday-comp-page .hc-action-only,
.holiday-comp-page .hc-filter-actions{
  margin-top:26px;
  align-self:start;
}
.holiday-comp-page .hc-action-only{
  box-sizing:border-box;
  min-height:48px;
}
.holiday-comp-page .hc-filter-actions .button{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
@media(max-width:1260px){
  .holiday-comp-page .hc-filter-actions{
    margin-top:0;
  }
}
@media(max-width:820px){
  .holiday-comp-page .hc-action-only,
  .holiday-comp-page .hc-filter-actions{
    margin-top:0;
  }
}


/* v0.162.178 · payrollopvolging feestdaginhaalrust */
.payroll-holiday-comp-followup{
  border:1px solid #d5e2d8!important;
  background:#fff!important;
}
.payroll-holiday-comp-followup .settings-card-head{
  margin-bottom:12px;
}
.payroll-holiday-comp-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.payroll-holiday-comp-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-width:0;
  padding:14px 16px;
  border:1px solid #dfe6e1;
  border-radius:12px;
  background:#fbfcfb;
}
.payroll-holiday-comp-card>div{
  display:grid;
  gap:4px;
  min-width:0;
}
.payroll-holiday-comp-card span{
  color:#66736b;
  font-size:11px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.payroll-holiday-comp-card strong{
  color:#2f3d34;
  font-size:15px;
}
.payroll-holiday-comp-card small{
  color:#647069;
  font-size:12px;
  line-height:1.45;
}
.payroll-holiday-comp-card.is-blocking{
  border-color:#e7c9c6;
  background:#fff7f6;
}
.payroll-holiday-comp-card.is-followup{
  border-color:#e6dcc0;
  background:#fffaf1;
}
.payroll-final-check-strip .holiday-followup{
  border-color:#e6dcc0;
  background:#fffaf1;
}
.payroll-final-check-strip .holiday-followup small{
  display:block;
  margin-top:3px;
  color:#756a50;
  font-size:10px;
  font-weight:700;
}
@media(max-width:850px){
  .payroll-holiday-comp-grid{grid-template-columns:1fr}
  .payroll-holiday-comp-card{align-items:flex-start;flex-direction:column}
  .payroll-holiday-comp-card .button{width:100%}
}

/* v0.162.186 · Payroll Stap 3: uitgelijnde filters + zoekresultaten + herleidbare feestdaginhaalrust */
.payroll-line-filter-field{align-content:start}
.payroll-line-filter-field>span,
.payroll-line-filter-search>label>span{
  min-height:16px;
  display:flex;
  align-items:flex-end;
  color:#66736b;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.055em;
  line-height:1.2;
}
.payroll-line-filter-search{
  position:relative;
  display:block;
  padding-bottom:18px;
}
.payroll-line-filter-search>label{
  display:grid;
  grid-template-rows:16px 46px;
  gap:7px;
  min-width:0;
}
.payroll-line-filter-employee,
.payroll-line-filter-status,
.payroll-line-filter-component,
.payroll-line-filter-source,
.payroll-line-filter-from,
.payroll-line-filter-until{
  grid-template-rows:16px 46px;
  gap:7px;
}
.payroll-line-filter-employee>.flex-combobox,
.payroll-line-filter-employee>.flex-combobox .flex-combobox-button{
  height:46px;
  min-height:46px;
}
.payroll-line-filter-hint{
  position:absolute;
  left:0;
  bottom:0;
  margin:0;
  line-height:16px;
}
.payroll-line-search-suggestions{
  position:absolute;
  z-index:10040;
  top:72px;
  left:0;
  right:0;
  overflow:auto;
  max-height:310px;
  padding:7px;
  border:1px solid #d3ddd6;
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 42px rgba(30,48,36,.18);
}
.payroll-line-search-suggestion[hidden],
.payroll-line-search-empty[hidden]{
  display:none !important;
}
.payroll-line-search-suggestion{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:10px 11px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#2c3b32;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.payroll-line-search-suggestion:hover,
.payroll-line-search-suggestion:focus-visible{
  outline:none;
  background:#f1f5f2;
}
.payroll-line-search-suggestion>span{min-width:0;display:grid;gap:2px}
.payroll-line-search-suggestion strong{font-size:13px;line-height:1.3}
.payroll-line-search-suggestion small{overflow:hidden;color:#748078;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.payroll-line-search-suggestion em{flex:0 0 auto;color:#718077;font-size:10px;font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.payroll-line-search-empty{padding:14px 12px;color:#77827b;font-size:12px;font-weight:700;text-align:center}
.payroll-holiday-comp-source-context{border-color:#cddfd2;background:#f8fbf8}
.payroll-holiday-comp-right{grid-column:span 2}
@media(max-width:760px){
  .payroll-line-filter-search{padding-bottom:19px}
  .payroll-line-search-suggestions{top:72px}
  .payroll-holiday-comp-right{grid-column:1}
}


/* v0.162.192 — leesbare kandidaatgroepen in slimme planning */
.planning-smart-candidate-group{margin:11px 12px;border:1px solid #dde5e0;border-radius:12px;background:#fff;overflow:hidden}
.planning-smart-candidate-group>summary{display:flex;justify-content:space-between;align-items:center;gap:14px;cursor:pointer;padding:13px 16px;font-size:15px;color:#23362d}
.planning-smart-candidate-group>summary span{font-size:13px;color:#52665b;font-weight:600}
.planning-smart-candidate-group.is-within>summary{background:#f1f7f2}
.planning-smart-candidate-group.is-review>summary{background:#fff7ec}
.planning-smart-candidate-group.is-excluded>summary{background:#f7f7f6}
.planning-smart-candidate-group-note{margin:0;padding:10px 16px;color:#654d28;font-size:14px;line-height:1.5;border-top:1px solid #f0e4d0}
.planning-smart-candidate-group .planning-smart-comparison-list{border-top:1px solid #e7eae7}
@media(max-width:680px){.planning-smart-candidate-group{margin:9px 7px}.planning-smart-candidate-group>summary{padding:12px;align-items:flex-start}}

/* v0.162.194 · bijzondere prestaties: responsieve handmatige invoer */
.special-performance-page .special-manual-form{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:16px 14px;
  align-items:start;
  max-width:100%;
}
.special-performance-page .special-manual-form>*{min-width:0;max-width:100%;box-sizing:border-box}
.special-performance-page .special-manual-form>.special-employee-combobox{grid-column:span 2}
.special-performance-page .special-manual-form>.special-manual-date{grid-column:span 1}
.special-performance-page .special-manual-form>.special-manual-type{grid-column:span 1}
.special-performance-page .special-manual-form>.special-manual-duration,
.special-performance-page .special-manual-form>.special-fixed-duration-note{grid-column:span 2}
.special-performance-page .special-manual-form>.special-manual-quantity{grid-column:span 2}
.special-performance-page .special-manual-form>.special-manual-note,
.special-performance-page .special-manual-form>.notes-field.wide{grid-column:span 3}
.special-performance-page .special-manual-form>.form-actions{grid-column:1/-1}
.special-performance-page .special-duration-inputs{
  grid-template-columns:minmax(0,.7fr) minmax(0,.7fr) minmax(150px,1.5fr);
  width:100%;
  max-width:100%;
}
.special-performance-page .special-duration-inputs>*{min-width:0;max-width:100%;box-sizing:border-box}
.special-performance-page .special-duration-preview{min-width:0;max-width:100%;flex-wrap:wrap;overflow-wrap:anywhere}
.special-performance-page .special-duration-preview strong{overflow-wrap:anywhere}
@media(max-width:1400px){
  .special-performance-page .special-manual-form{grid-template-columns:repeat(4,minmax(0,1fr))}
  .special-performance-page .special-manual-form>.special-employee-combobox{grid-column:span 2}
  .special-performance-page .special-manual-form>.special-manual-date,
  .special-performance-page .special-manual-form>.special-manual-type{grid-column:span 1}
  .special-performance-page .special-manual-form>.special-manual-duration,
  .special-performance-page .special-manual-form>.special-fixed-duration-note{grid-column:1/-1}
  .special-performance-page .special-manual-form>.special-manual-quantity{grid-column:span 2}
  .special-performance-page .special-manual-form>.special-manual-note,
  .special-performance-page .special-manual-form>.notes-field.wide{grid-column:span 2}
}
@media(max-width:900px){
  .special-performance-page .special-manual-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .special-performance-page .special-manual-form>.special-employee-combobox,
  .special-performance-page .special-manual-form>.special-manual-duration,
  .special-performance-page .special-manual-form>.special-fixed-duration-note,
  .special-performance-page .special-manual-form>.special-manual-quantity{grid-column:1/-1}
  .special-performance-page .special-manual-form>.special-manual-date,
  .special-performance-page .special-manual-form>.special-manual-type,
  .special-performance-page .special-manual-form>.special-manual-note,
  .special-performance-page .special-manual-form>.notes-field.wide{grid-column:span 1}
}
@media(max-width:620px){
  .special-performance-page .special-manual-form{grid-template-columns:minmax(0,1fr)}
  .special-performance-page .special-manual-form>*{grid-column:1!important}
  .special-performance-page .special-duration-inputs{grid-template-columns:1fr 1fr}
  .special-performance-page .special-duration-preview{grid-column:1/-1}
  .special-performance-page .special-manual-form>.form-actions .button{width:100%;justify-content:center}
}

/* v0.162.195 - Plan edit dialog must remain visible and centered above board. */
dialog.plan-edit-dialog:modal {
  position: fixed;
  inset: 0;
  margin: auto;
  max-height: min(92vh, 900px);
  z-index: 2147483000;
}
dialog.plan-edit-dialog:modal .plan-dialog-shell {
  max-height: min(92vh, 900px);
  overflow-y: auto;
}

/* v0.162.197: native Nova confirmation for applying a smart planning proposal */
.planning-smart-confirm-dialog{width:min(550px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:20px;background:#fff;color:#24332a;box-shadow:0 24px 80px rgba(24,40,31,.28);overflow:auto}
.planning-smart-confirm-dialog::backdrop{background:rgba(18,28,23,.48);backdrop-filter:blur(2px)}
.planning-smart-confirm-shell{display:flex;flex-direction:column;min-width:0}
.planning-smart-confirm-header{display:flex;gap:14px;align-items:center;padding:25px 25px 15px}
.planning-smart-confirm-symbol{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:14px;background:#edf4ef;color:#42674c;font-size:24px;font-weight:800}
.planning-smart-confirm-header>div:nth-child(2){min-width:0;flex:1}.planning-smart-confirm-header h3{margin:4px 0 0;font-size:23px;line-height:1.2;color:#1e2922}
.planning-smart-confirm-header .planning-board-move-close{align-self:flex-start;flex-shrink:0}
.planning-smart-confirm-content{padding:0 25px 24px;display:grid;gap:16px;font-size:15px;line-height:1.55}.planning-smart-confirm-content>p{margin:0}
.planning-smart-confirm-selection{display:grid;gap:8px;padding:14px 17px;border:1px solid #cfdfd3;border-radius:12px;background:#f5faf6}
.planning-smart-confirm-line{font-weight:750;color:#233c2c}.planning-smart-confirm-line::before{content:'✓';color:#537b5c;margin-right:9px}
.planning-smart-confirm-checks,.planning-smart-confirm-safety{display:grid;gap:5px;padding:12px 15px;border-radius:12px;background:#f6f7f6;border:1px solid #e2e6e1}
.planning-smart-confirm-checks strong,.planning-smart-confirm-safety strong{font-size:14px;color:#25372a}.planning-smart-confirm-checks span,.planning-smart-confirm-safety span{color:#4c5c50}
.planning-smart-confirm-safety{background:#fcfaf2;border-color:#e6dec0}
.planning-smart-confirm-footer{display:flex;gap:11px;justify-content:flex-end;padding:17px 25px 23px;border-top:1px solid #e8ece7}
@media(max-width:540px){.planning-smart-confirm-header{padding:20px 18px 14px}.planning-smart-confirm-content{padding:0 18px 19px}.planning-smart-confirm-footer{padding:16px 18px;flex-direction:column}.planning-smart-confirm-footer button{width:100%}.planning-smart-confirm-header h3{font-size:20px}}

/* v0.162.199 · Bijzondere prestaties: filter op prestatietype */
.special-performance-page .special-control-filter{
  grid-template-columns:minmax(280px,1.25fr) minmax(220px,.9fr) minmax(165px,.68fr) minmax(165px,.68fr);
  gap:14px;
  align-items:start;
}
.special-performance-page .special-control-filter>.special-filter-type,
.special-performance-page .special-control-filter>.special-filter-type select{
  min-width:0;
  width:100%;
}
.special-performance-page .special-control-filter>.special-filter-type select{
  height:48px;
  min-height:48px;
  margin:0;
  box-sizing:border-box;
  font-size:15px;
}
@media(max-width:1180px){
  .special-performance-page .special-control-filter{grid-template-columns:repeat(2,minmax(0,1fr))}
  .special-performance-page .special-control-filter>.special-filter-employee{grid-column:auto}
}
@media(max-width:760px){
  .special-performance-page .special-control-filter{grid-template-columns:minmax(0,1fr)}
  .special-performance-page .special-control-filter>.special-filter-employee,
  .special-performance-page .special-control-filter>.special-filter-type,
  .special-performance-page .special-control-filter>.form-actions{grid-column:1}
}

/* v0.162.201 - bronduur en payrollwaarde bijzondere prestaties */
.special-performance-page .special-duration-preview small[data-special-payroll-preview]{
  flex:1 1 100%;
  color:#5f6f65;
  font-size:12px;
  line-height:1.4;
  font-weight:650;
}
.special-performance-page .special-duration-preview small[data-special-payroll-preview][hidden]{display:none!important}

/* v0.162.206 · foutlogdiagnostiek */
.error-console .panel-heading{gap:14px;align-items:flex-start}
.error-console .panel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.error-console .panel-actions .secondary-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}
.error-diagnostic-note{display:flex;align-items:flex-start;gap:10px;margin:14px 0 16px;padding:13px 15px;border:1px solid #dfe5e0;border-radius:12px;background:#fafbf9;color:#4f5c53;font-size:12px;line-height:1.5}
.error-diagnostic-note strong{color:#27342c;white-space:nowrap}
.error-diagnostic-note span{min-width:0}
@media(max-width:760px){.error-console .panel-heading{flex-direction:column}.error-console .panel-actions,.error-console .panel-actions .secondary-button{width:100%}.error-diagnostic-note{display:grid;gap:4px}.error-diagnostic-note strong{white-space:normal}}


/* v0.162.217 · uniforme ziekte-/infokaarten en dossierbron */
.sickness-case-origin{display:block;margin-top:5px;color:#6c786f;font-size:11px;line-height:1.45;font-weight:650}
.sickness-employee-card[id]{scroll-margin-top:24px}

.sickness-closed-payroll-note{margin:0;border:1px solid #c8d9cc!important;border-left:1px solid #c8d9cc!important;border-radius:16px;background:#f1f7f2!important;padding:17px 18px;box-shadow:0 2px 8px rgba(35,60,43,.045)}
.sickness-closed-payroll-note .button{margin-top:10px}

/* v0.162.218 — diensteditor: hiërarchie en leesbaarheid, geen zijaccenten */
.plan-edit-dialog{width:min(1050px,calc(100vw - 32px));max-width:1050px;border:1px solid #dfe6e0;border-radius:22px}
.plan-dialog-header{padding:24px 28px 20px;background:#fff;border-bottom:1px solid #e2e8e2}
.plan-dialog-header h2{font-size:clamp(21px,2vw,27px);line-height:1.25;letter-spacing:-.025em;color:#222d26;margin:5px 0}
.plan-dialog-header p{font-size:14px;line-height:1.5;color:#58665d}
.plan-dialog-form{gap:18px;padding:24px 28px 26px}
.plan-dialog-section{gap:18px;padding:21px 23px;border:1px solid #dfe6e0;border-radius:16px;background:#fff;box-shadow:0 2px 10px rgba(22,35,27,.025)}
.plan-dialog-section-details{background:#fff}
.plan-dialog-section-hours{background:#f5f8f6;border-color:#dce7df}
.plan-dialog-section-night{background:#f8f9fb;border-color:#e1e5eb}
.plan-dialog-section-audit{background:#fcfaf6;border-color:#eae3d7}
.plan-dialog-section-head{gap:5px}
.plan-dialog-section-head strong{font-size:17px;line-height:1.3;color:#24352b;letter-spacing:-.01em}
.plan-dialog-section-head small{font-size:12px;line-height:1.55;color:#59665e}
.plan-dialog-grid{gap:17px 18px}
.plan-dialog-grid label{gap:7px}
.plan-dialog-grid label>span,.plan-dialog-delete label>span{font-size:13px;line-height:1.4;font-weight:700;color:#34443a}
.plan-dialog-grid input,.plan-dialog-grid select,.plan-dialog-delete input{min-height:47px;border:1px solid #cdd8cf;border-radius:11px;padding:10px 12px;font-size:14px;color:#26342b;background:#fff}
.plan-dialog-grid input:focus,.plan-dialog-grid select:focus{outline:2px solid #a2bba9;outline-offset:1px;border-color:#648874}
.plan-dialog-grid label>small{font-size:12px;line-height:1.55;color:#58665e}
.plan-dialog-section-night:has(select[name="night_context"] option[value="none"]:checked) .plan-dialog-sleeping-type{display:none}
.plan-republish-help{font-size:12px;line-height:1.5}
.plan-dialog-actions{margin:0 -28px -26px;padding:16px 28px 18px}
.plan-dialog-actions button{min-height:44px;font-size:14px}
@media(max-width:760px){
 .plan-dialog-header{padding:18px}
 .plan-dialog-form{padding:16px;gap:14px}
 .plan-dialog-section{padding:16px;gap:14px}
 .plan-dialog-actions{margin:0 -16px -16px;padding:14px 16px}
}

/* v0.162.219 · leesbaarheid Arbeidsongeschiktheidsdossiers en Afwezigheden-submenu */
.section-nav-absences{
  gap:8px;
  padding:8px;
}
.section-nav-absences .section-nav-item{
  padding:10px 14px;
  font-size:14px;
  line-height:1.35;
  font-weight:760;
}

.sickness-cases-card .settings-card-head{
  margin-bottom:22px;
}
.sickness-cases-card .settings-card-head h2{
  font-size:22px;
  line-height:1.3;
  letter-spacing:-.015em;
}
.sickness-cases-card .settings-card-head p{
  max-width:980px;
  font-size:14px;
  line-height:1.6;
}
.sickness-cases-card .sickness-case-toolbar{
  gap:14px;
  padding:16px;
}
.sickness-cases-card .sickness-case-toolbar label{
  gap:7px;
  font-size:13px;
}
.sickness-cases-card .sickness-case-toolbar input,
.sickness-cases-card .sickness-case-toolbar select{
  min-height:44px;
  padding:9px 11px;
  font-size:14px;
}
.sickness-cases-card .sickness-filter-count{
  min-height:44px;
  min-width:92px;
}
.sickness-cases-card .sickness-filter-count strong{
  font-size:20px;
}
.sickness-cases-card .sickness-filter-count span{
  font-size:10px;
}
.sickness-cases-card .sickness-case-table-head{
  padding:0 16px 10px;
  font-size:10.5px;
  line-height:1.35;
}
.sickness-cases-card .sickness-case-row{
  padding:16px;
}
.sickness-cases-card .sickness-case-cell{
  font-size:13px;
  line-height:1.45;
}
.sickness-cases-card .sickness-case-cell.employee{
  gap:3px;
}
.sickness-cases-card .sickness-case-cell.employee strong{
  font-size:14px;
}
.sickness-cases-card .sickness-case-cell.employee small{
  font-size:12px;
}
.sickness-cases-card .sickness-case-cell .status-chip{
  font-size:12px;
  line-height:1.35;
}
.sickness-cases-card .sickness-case-chevron{
  width:11px;
  height:11px;
}
.sickness-cases-card .sickness-case-detail{
  padding:20px;
}
.sickness-cases-card .sickness-detail-heading h3{
  font-size:18px;
}
.sickness-cases-card .sickness-detail-heading .eyebrow{
  font-size:10px;
}
.sickness-cases-card .sickness-case-origin{
  font-size:12px;
}
.sickness-cases-card .sickness-case-meta span{
  font-size:13px;
}
.sickness-cases-card .sickness-case-meta strong{
  font-size:12px;
}
.sickness-cases-card .sickness-subsection-head{
  font-size:14px;
}
.sickness-cases-card .sickness-subsection-head span{
  font-size:12px;
}
.sickness-cases-card .sickness-action-form label{
  font-size:13px;
}
.sickness-cases-card .sickness-action-form input,
.sickness-cases-card .sickness-action-form select{
  min-height:45px;
  font-size:14px;
}
.sickness-cases-card .sickness-muted{
  font-size:13px;
  line-height:1.5;
}
.sickness-cases-card .sickness-document-link{
  font-size:13px;
}
.sickness-cases-card .sickness-document-link span,
.sickness-cases-card .sickness-upload-copy span{
  font-size:12px;
}
.sickness-cases-card .sickness-dropzone-title{
  font-size:14px!important;
}
.sickness-cases-card .sickness-dropzone-help,
.sickness-cases-card .sickness-file-name{
  font-size:12px!important;
}

@media(max-width:900px){
  .section-nav-absences .section-nav-item{
    padding:10px 13px;
    font-size:13.5px;
  }
  .sickness-cases-card .sickness-case-row{
    padding:15px;
  }
  .sickness-cases-card .sickness-case-row>.sickness-case-cell{
    grid-template-columns:104px minmax(0,1fr);
  }
  .sickness-cases-card .mobile-label{
    font-size:10px;
  }
}
@media(max-width:620px){
  .section-nav-absences{
    gap:6px;
    padding:7px;
  }
  .section-nav-absences .section-nav-item{
    padding:9px 11px;
    font-size:13px;
  }
  .sickness-cases-card .sickness-case-row>.sickness-case-cell{
    grid-template-columns:90px minmax(0,1fr);
  }
}


/* v0.162.220 - tijdsgebonden pauze, ruime editor behouden */
.plan-edit-dialog .plan-dialog-break-times{
  padding:18px 20px;
  margin-top:18px;
  border:1px solid #dce5df;
  border-radius:16px;
  background:#fbfcfb;
}
.plan-edit-dialog .plan-dialog-break-times strong{
  display:block;
  font-size:16px;
  font-weight:700;
  color:#23352c;
}
.plan-edit-dialog .plan-dialog-break-times small{
  display:block;
  margin:5px 0 14px;
  font-size:14px;
  line-height:1.55;
  color:#53645b;
}
.plan-edit-dialog .plan-dialog-break-times .plan-dialog-grid{margin-top:10px;}
.plan-edit-dialog .plan-dialog-shell{
  scroll-padding-bottom:120px;
}
.plan-edit-dialog .plan-dialog-section:last-of-type{
  margin-bottom:30px;
}

.planning-break-time-fields{
  padding:18px 20px;
  margin-top:16px;
  background:#fbfcfb;
  border:1px solid #dce5df;
  border-radius:16px;
}
.planning-break-time-fields>strong{display:block;font-size:16px;color:#26362b}
.planning-break-time-fields>p{color:#53645b;font-size:14px;line-height:1.6;margin:7px 0 15px}
.plan-edit-dialog .plan-dialog-section-night:has(select[name="night_context"] option[value="none"]:checked){
  padding-bottom:20px;
}
@media(max-width:620px){
 .plan-edit-dialog .plan-dialog-break-times,.planning-break-time-fields{padding:16px}
}

/* ==========================================================================
   NOVA FLEX · MODERN DESIGN LAYER (v2)
   Laatste laag in app.css: overschrijft uitsluitend uiterlijk (kleur, vorm,
   typografie, schaduw, spacing). Geen markup of functionaliteit gewijzigd.
   ========================================================================== */

:root{
  /* Merk: salie (uit het logo) wordt dieper en krijgt een warm zandaccent */
  --brand-50:#effaf5;
  --brand-100:#d7f2e5;
  --brand-200:#b0e3cc;
  --brand-300:#7ccdaa;
  --brand-400:#46b088;
  --brand-500:#2a9170;
  --brand-600:#1f7459;
  --brand-700:#1b5c49;
  --brand-800:#18493b;
  --brand-900:#10332a;
  --sand-100:#fbf1e1;
  --sand-300:#f0d3a1;
  --sand-500:#e2b57c;
  --sand-700:#9a6a2c;
  --ink-950:#0e1a16;
  --ink-900:#14231e;
  --ink-800:#1d2f28;
  --ink-700:#2b3f37;
  --slate-900:#16202a;
  --slate-700:#3a4756;
  --slate-600:#536171;
  --slate-500:#6b7a8a;
  --slate-400:#93a0ae;
  --slate-300:#c4ccd6;
  --slate-200:#e1e6ec;
  --slate-100:#eef1f5;
  --slate-50:#f6f8fa;
  --ok-50:#ecfaf2;  --ok-200:#b5e8cb;  --ok-600:#1d8a55;  --ok-800:#145f3b;
  --warn-50:#fff7e8; --warn-200:#f6dca4; --warn-600:#c47a0a; --warn-800:#8a5407;
  --bad-50:#fff1f0;  --bad-200:#f7c4bf;  --bad-600:#d03a30;  --bad-800:#9a2a22;
  --info-50:#eef5ff; --info-200:#bcd5fb; --info-600:#2f6fdb; --info-800:#1f4c9c;

  --bg:#f3f5f8;
  --surface:#ffffff;
  --text:var(--slate-900);
  --muted:var(--slate-500);
  --line:var(--slate-200);
  --accent:var(--brand-600);
  --accent-soft:var(--brand-100);
  --dark:var(--ink-900);
  --radius-lg:20px;
  --radius-md:14px;
  --radius-sm:10px;

  --shadow-xs:0 1px 2px rgba(16,24,40,.05);
  --shadow-sm:0 1px 3px rgba(16,24,40,.07),0 1px 2px rgba(16,24,40,.04);
  --shadow-md:0 6px 18px -4px rgba(16,24,40,.09),0 2px 6px rgba(16,24,40,.04);
  --shadow-lg:0 18px 40px -12px rgba(16,24,40,.18),0 4px 10px rgba(16,24,40,.05);
  --ring:0 0 0 3px rgba(42,145,112,.22);
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- Basis ---------- */
html{-webkit-text-size-adjust:100%}
body{
  font-family:"Inter var",Inter,"Segoe UI Variable","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Roboto,sans-serif;
  font-feature-settings:"cv11","ss01","tnum" 0;
  -webkit-font-smoothing:antialiased;
  background:
    radial-gradient(1100px 520px at 100% -8%,rgba(42,145,112,.07),transparent 60%),
    radial-gradient(900px 480px at 0% 110%,rgba(226,181,124,.09),transparent 60%),
    var(--bg);
  background-attachment:fixed;
  color:var(--text);
  font-size:14px;
  line-height:1.5;
}
h1,h2,h3,h4{color:var(--slate-900);letter-spacing:-.018em}
h1{font-size:28px;font-weight:750;line-height:1.15}
h2{font-size:17px;font-weight:700}
h3{font-size:15px;font-weight:700}
a{color:var(--brand-700)}
a:hover{color:var(--brand-800)}
.muted{color:var(--slate-500)}
::selection{background:var(--brand-200);color:var(--brand-900)}
:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}

/* Fijne scrollbars */
*{scrollbar-width:thin;scrollbar-color:var(--slate-300) transparent}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:999px;border:2px solid transparent;background-clip:content-box}
::-webkit-scrollbar-thumb:hover{background:var(--slate-400);background-clip:content-box;border:2px solid transparent}

/* ---------- Layout ---------- */
.app-shell{grid-template-columns:272px minmax(0,1fr)}
.content{padding:26px 34px 56px;max-width:1640px}

/* ---------- Sidebar (donker, rustig, duidelijke hiërarchie) ---------- */
html body .sidebar{
  background:
    radial-gradient(420px 260px at 0% 0%,rgba(70,176,136,.16),transparent 70%),
    linear-gradient(180deg,var(--ink-900) 0%,var(--ink-950) 100%);
  border-right:0;
  color:#d6e4dd;
  padding:20px 14px 14px;
  box-shadow:8px 0 30px -18px rgba(8,18,14,.55);
  overflow:visible;
}
html body .sidebar .nav{overflow-y:auto;overflow-x:hidden;min-height:0;flex:0 1 auto;scrollbar-color:rgba(255,255,255,.18) transparent}
html body .sidebar .nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);background-clip:content-box}
html body .sidebar .brand-row{padding:2px 6px 18px;gap:12px}
html body .sidebar .brand-mark{
  width:38px;height:38px;border-radius:12px;font-size:17px;font-weight:800;color:#fff;
  background:linear-gradient(135deg,var(--brand-400),var(--brand-700));
  box-shadow:0 6px 16px -4px rgba(70,176,136,.6),inset 0 1px 0 rgba(255,255,255,.28);
}
html body .sidebar .brand-name{color:#fff;font-size:14.5px;font-weight:700;letter-spacing:-.01em;line-height:1.2}
html body .sidebar .organisation-chip{
  margin:0 2px 16px;padding:11px 13px;border-radius:12px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);
}
html body .sidebar .organisation-chip span{color:#fff;font-size:13px;font-weight:650}
html body .sidebar .organisation-chip small{color:#8fb0a2;font-size:11px;margin-top:3px}

html body .sidebar .context-switcher{
  margin:0 2px 16px;padding:12px;border-radius:12px;
  background:rgba(226,181,124,.09);border:1px solid rgba(226,181,124,.22);
}
html body .sidebar .context-switcher-label{color:var(--sand-500);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
html body .sidebar .context-switcher select{
  background:rgba(0,0,0,.28);color:#eaf3ef;border:1px solid rgba(255,255,255,.12);border-radius:9px;min-height:36px;font-size:12px;
}
html body .sidebar .context-switcher select option{background:var(--ink-900);color:#eaf3ef}
html body .sidebar .context-switch-button{
  background:var(--sand-500);color:#3a2610;border:0;border-radius:9px;font-weight:750;min-height:36px;cursor:pointer;
}
html body .sidebar .context-switch-button:hover{background:var(--sand-300)}
html body .sidebar .context-mode-note{color:#b9cdc4;font-size:11px;line-height:1.45}

html body .sidebar .nav{gap:2px;margin-top:2px}
html body .sidebar .nav-item{
  color:#b7cbc2;font-size:13.5px;font-weight:550;padding:10px 12px;border-radius:11px;
  transition:background .16s var(--ease),color .16s var(--ease),transform .16s var(--ease);
}
html body .sidebar .nav-icon{color:#7fa092}
html body .sidebar .nav-item:hover{background:rgba(255,255,255,.07);color:#fff}
html body .sidebar .nav-item:hover .nav-icon{color:#d9efe6}
html body .sidebar .nav-item.active{
  background:linear-gradient(90deg,rgba(70,176,136,.28),rgba(70,176,136,.12));
  color:#fff;font-weight:700;
  box-shadow:inset 0 0 0 1px rgba(124,205,170,.22);
}
html body .sidebar .nav-item.active::before{
  content:"";position:absolute;left:-14px;top:9px;bottom:9px;width:4px;border-radius:0 4px 4px 0;
  background:var(--brand-300);box-shadow:0 0 14px rgba(124,205,170,.8);
}
html body .sidebar .nav-item.active .nav-icon{color:var(--brand-300)}
html body .sidebar .nav-notification-badge{background:#ef5b4f;box-shadow:0 0 0 2px var(--ink-900)}
html body .sidebar .nav-count-badge{background:var(--sand-500);color:#3a2610;box-shadow:0 0 0 2px var(--ink-900)}

html body .sidebar .sidebar-footer{
  margin-top:auto;padding:14px 6px 8px;border-top:1px solid rgba(255,255,255,.09);gap:11px;
}
html body .sidebar .user-avatar{
  width:38px;height:38px;border-radius:12px;font-weight:750;color:#fff;
  background:linear-gradient(135deg,var(--sand-500),#c98a42);color:#3a2610;
}
html body .sidebar .sidebar-user-text a{color:#fff;text-decoration:none}
html body .sidebar .sidebar-user-text strong{font-size:13px;font-weight:650}
html body .sidebar .sidebar-user-text span{color:#8fb0a2;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}
html body .sidebar .logout-button{color:#a7bfb5;margin-left:55px;font-size:12px;font-weight:600}
html body .sidebar .logout-button:hover{color:#fff;text-decoration:none}
html body .sidebar .sidebar-version{color:#5f7d70;font-size:10px;padding:0 6px}

html body .sidebar .sidebar-toggle{
  background:#fff;border:1px solid var(--slate-200);color:var(--slate-600);
  box-shadow:var(--shadow-md);top:26px;right:-15px;
}
html body .sidebar .sidebar-toggle:hover{background:var(--brand-50);color:var(--brand-700);border-color:var(--brand-200)}

@media(min-width:981px){
  html body .app-shell.sidebar-collapsed{grid-template-columns:80px minmax(0,1fr)}
  html body .app-shell.sidebar-collapsed .sidebar .nav-item.active::before{left:-10px}
  html body .app-shell.sidebar-collapsed .sidebar .logout-button{color:#a7bfb5}
  html body .app-shell.sidebar-collapsed .sidebar .logout-button:hover{background:rgba(255,255,255,.08);color:#fff}
}

/* Mobiele topbalk */
html body .mobile-topbar{
  background:var(--ink-900);color:#fff;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow-md);
}
html body .mobile-topbar-title{color:#fff;font-weight:700}
html body .mobile-sidebar-trigger{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:10px}
html body .mobile-sidebar-trigger svg{stroke:currentColor}

/* ---------- Kaarten & paginakop ---------- */
.card,.settings-card,.panel{
  background:var(--surface);
  border:1px solid var(--slate-200);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}
html body .settings-card{padding:24px 26px;margin-top:20px;border-radius:18px;box-shadow:var(--shadow-sm);transition:box-shadow .2s var(--ease)}
html body .settings-card:hover{box-shadow:var(--shadow-md)}
html body .settings-card-head{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--slate-100)}
html body .settings-card-head h2{color:var(--slate-900);font-size:17px;font-weight:720;letter-spacing:-.015em}
html body .settings-card-head p{color:var(--slate-500);font-size:13px;line-height:1.55}
.panel-heading{margin-bottom:14px}
.panel-heading h2{font-size:16px}

/* Paginakop: gekleurde band met accentlijn, verschilt duidelijk van kaarten */
html body .page-header{
  position:relative;overflow:hidden;min-height:112px;padding:28px 34px 28px 38px;
  border:1px solid var(--slate-200);border-radius:22px;
  background:
    radial-gradient(520px 200px at 100% 0%,rgba(42,145,112,.13),transparent 70%),
    radial-gradient(360px 160px at 0% 100%,rgba(226,181,124,.16),transparent 70%),
    #fff;
  box-shadow:var(--shadow-sm);
}
html body .page-header::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:6px;
  background:linear-gradient(180deg,var(--brand-400),var(--brand-700));
}
html body .page-header h1{font-size:28px;font-weight:760}
html body .page-header .muted{max-width:760px;margin-top:8px;color:var(--slate-500);font-size:14px;line-height:1.55}
html body .eyebrow{
  display:inline-flex;align-items:center;gap:7px;margin:0 0 8px;
  font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-600);
}
html body .eyebrow::before{content:"";width:18px;height:2px;border-radius:2px;background:var(--sand-500)}

/* ---------- Subnavigatie als tabs ---------- */
html body .section-nav,
html body .section-nav-groups,
html body .section-nav-subitems{
  border:1px solid var(--slate-200);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs);padding:6px;gap:4px;
}
html body .section-nav-subitems{background:var(--slate-50)}
html body .section-nav-work-time{border:0;box-shadow:none;background:transparent;padding:0}
html body .section-nav-item,
html body .section-nav-group-link{
  color:var(--slate-600);font-size:12.5px;font-weight:650;padding:9px 14px;border-radius:10px;
  transition:background .15s var(--ease),color .15s var(--ease);
}
html body .section-nav-item:hover,
html body .section-nav-group-link:hover{background:var(--slate-100);color:var(--slate-900)}
html body .section-nav-item.active,
html body .section-nav-group-link.active{
  background:var(--brand-600);color:#fff;font-weight:750;box-shadow:0 4px 10px -3px rgba(31,116,89,.5);
}

/* ---------- Knoppen ---------- */
html body .primary-button,
html body button.primary,
html body .button.primary,
html body a.primary-button{
  background:linear-gradient(180deg,var(--brand-500),var(--brand-600));
  color:#fff;border:1px solid var(--brand-700);border-radius:11px;
  padding:11px 18px;font-weight:700;font-size:13.5px;line-height:1.2;text-decoration:none;
  box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 4px 10px -3px rgba(31,116,89,.45);
  transition:transform .12s var(--ease),box-shadow .15s var(--ease),filter .15s var(--ease);
  cursor:pointer;
}
html body .primary-button:hover,
html body button.primary:hover,
html body .button.primary:hover{filter:brightness(1.07);box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 8px 16px -4px rgba(31,116,89,.5);transform:translateY(-1px)}
html body .primary-button:active,
html body button.primary:active{transform:translateY(0);filter:brightness(.97)}
html body .primary-button:disabled,
html body button.primary:disabled{opacity:.55;cursor:not-allowed;transform:none;filter:none}

html body .secondary-button,
html body button.secondary,
html body .button.secondary,
html body .text-button,
html body .compact-button{
  background:#fff;color:var(--slate-700);border:1px solid var(--slate-300);border-radius:11px;
  padding:10px 16px;font-weight:650;font-size:13.5px;text-decoration:none;box-shadow:var(--shadow-xs);
  transition:background .15s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease),color .15s var(--ease);
  cursor:pointer;
}
html body .secondary-button:hover,
html body button.secondary:hover,
html body .text-button:hover,
html body .compact-button:hover{background:var(--brand-50);border-color:var(--brand-300);color:var(--brand-800);box-shadow:var(--shadow-sm)}
html body .compact-button{padding:7px 12px;font-size:12.5px;border-radius:9px}
html body .danger-button,
html body button.danger{
  background:#fff;color:var(--bad-600);border:1px solid var(--bad-200);border-radius:11px;padding:10px 16px;font-weight:700;cursor:pointer;
}
html body .danger-button:hover,
html body button.danger:hover{background:var(--bad-50);border-color:var(--bad-600)}
html body .button-link{display:inline-flex;align-items:center;gap:7px;text-decoration:none}
html body .text-link{color:var(--brand-700);font-weight:650;text-decoration:none}
html body .text-link:hover{text-decoration:underline}
html body .form-actions{gap:10px;padding-top:6px}

/* ---------- Formulieren ---------- */
html body input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=hidden]),
html body select,
html body textarea{
  font-family:inherit;color:var(--slate-900);background:#fff;
  border:1px solid var(--slate-300);border-radius:10px;
  transition:border-color .15s var(--ease),box-shadow .15s var(--ease),background .15s var(--ease);
}
html body input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=hidden]):hover,
html body select:hover,html body textarea:hover{border-color:var(--slate-400)}
html body input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=hidden]):focus,
html body select:focus,html body textarea:focus{
  border-color:var(--brand-500);box-shadow:var(--ring);outline:none;background:#fff;
}
html body input::placeholder,html body textarea::placeholder{color:var(--slate-400)}
html body input:disabled,html body select:disabled,html body textarea:disabled{background:var(--slate-50);color:var(--slate-400);cursor:not-allowed}
html body .settings-form-grid input,
html body .settings-form-grid select,
html body .settings-form-grid textarea{border:1px solid var(--slate-300);min-height:44px;font-size:13.5px;border-radius:10px;padding:9px 12px}
html body .settings-form-grid label,
html body .settings-field > span,
html body .settings-field label{color:var(--slate-700);font-size:12.5px;font-weight:650}
html body .field-help{color:var(--slate-500);font-size:12px}
input[type=checkbox],input[type=radio]{accent-color:var(--brand-600)}
html body .settings-checkbox{border-radius:12px}

/* ---------- Tabellen ---------- */
html body .settings-table-wrap,
html body .table-wrap{
  border:1px solid var(--slate-200);border-radius:14px;overflow:auto;background:#fff;
}
html body .settings-table,
html body .data-table,
html body .report-table{border-collapse:separate;border-spacing:0;font-size:13px}
html body .settings-table th,
html body .data-table th,
html body .report-table th{
  background:var(--slate-50);color:var(--slate-600);font-size:11px;font-weight:750;letter-spacing:.06em;
  padding:12px 14px;border-bottom:1px solid var(--slate-200);text-transform:uppercase;
}
html body .settings-table td,
html body .data-table td,
html body .report-table td{padding:13px 14px;border-bottom:1px solid var(--slate-100);color:var(--slate-700)}
html body .settings-table td strong,
html body .data-table td strong{color:var(--slate-900);font-weight:680}
html body .settings-table td small{color:var(--slate-500);font-size:11.5px}
html body .settings-table tbody tr,
html body .data-table tbody tr{transition:background .12s var(--ease)}
html body .settings-table tbody tr:hover,
html body .data-table tbody tr:hover,
html body .report-table tbody tr:hover{background:var(--brand-50)}
html body .settings-table tbody tr:last-child td,
html body .data-table tbody tr:last-child td{border-bottom:0}

/* ---------- Badges / chips ---------- */
html body .type-badge,html body .paid-indicator,html body .status-chip,html body .review-chip,
html body .status-pill,html body .plan-status-chip,html body .time-status-badge,html body .system-badge{
  font-size:11px;font-weight:700;padding:5px 10px;border-radius:999px;letter-spacing:.01em;
  background:var(--slate-100);color:var(--slate-700);border:1px solid var(--slate-200);
}
html body .status-chip.active,html body .status-pill.active,html body .status-chip.published,html body .status-pill.success,
html body .status-chip.approved{background:var(--ok-50);color:var(--ok-800);border-color:var(--ok-200)}
html body .status-chip.warning,html body .status-chip.pending,html body .status-pill.warning,html body .status-pill.pending{
  background:var(--warn-50);color:var(--warn-800);border-color:var(--warn-200)}
html body .status-chip.review,html body .status-chip.manual{background:var(--info-50);color:var(--info-800);border-color:var(--info-200)}
html body .status-chip.danger,html body .status-chip.error,html body .status-pill.error,html body .status-pill.danger{
  background:var(--bad-50);color:var(--bad-800);border-color:var(--bad-200)}
html body .status-chip.neutral,html body .status-chip.unpublished{background:var(--slate-100);color:var(--slate-600);border-color:var(--slate-200)}

/* ---------- Meldingen ---------- */
html body .notice{
  border-radius:12px;padding:13px 16px 13px 16px;font-size:13.5px;line-height:1.5;border:1px solid var(--info-200);
  background:var(--info-50);color:var(--info-800);box-shadow:var(--shadow-xs);
}
html body .success-notice{background:var(--ok-50);border-color:var(--ok-200);color:var(--ok-800)}
html body .error-notice{background:var(--bad-50);border-color:var(--bad-200);color:var(--bad-800)}
html body .warning-notice{background:var(--warn-50);border-color:var(--warn-200);color:var(--warn-800)}
html body .info-notice{background:var(--info-50);border-color:var(--info-200);color:var(--info-800)}
html body .empty-state,html body .settings-empty,html body .compact-empty-state{
  border:1.5px dashed var(--slate-300);border-radius:14px;background:var(--slate-50);color:var(--slate-500);
}

/* ---------- Dashboard / KPI-kaarten (met kleurnuances i.p.v. één grijs) ---------- */
html body .metric-card,
html body .employee-dashboard-kpi,
html body .payroll-kpis>div,
html body .error-kpi-grid article,
html body .payroll-preflight-grid>div,
html body .payroll-kpi-card{
  position:relative;overflow:hidden;background:#fff;border:1px solid var(--slate-200);border-radius:16px;box-shadow:var(--shadow-sm);
  transition:transform .18s var(--ease),box-shadow .18s var(--ease);
}
html body .metric-card::before,
html body .employee-dashboard-kpi::before,
html body .payroll-kpis>div::before,
html body .error-kpi-grid article::before,
html body .payroll-kpi-card::before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--brand-400);
}
html body .metric-card:hover,html body .employee-dashboard-kpi:hover,html body .payroll-kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
html body .metric-card:nth-child(2)::before,html body .employee-dashboard-kpi:nth-child(2)::before,html body .payroll-kpis>div:nth-child(2)::before,html body .error-kpi-grid article:nth-child(2)::before{background:var(--info-600)}
html body .metric-card:nth-child(3)::before,html body .employee-dashboard-kpi:nth-child(3)::before,html body .payroll-kpis>div:nth-child(3)::before,html body .error-kpi-grid article:nth-child(3)::before{background:var(--sand-500)}
html body .metric-card:nth-child(4)::before,html body .employee-dashboard-kpi:nth-child(4)::before,html body .payroll-kpis>div:nth-child(4)::before,html body .error-kpi-grid article:nth-child(4)::before{background:#8b6fd6}
html body .metric-card:nth-child(5)::before,html body .employee-dashboard-kpi:nth-child(5)::before,html body .payroll-kpis>div:nth-child(5)::before,html body .error-kpi-grid article:nth-child(5)::before{background:var(--bad-600)}
html body .metric-card strong,html body .employee-dashboard-kpi strong{color:var(--slate-900);letter-spacing:-.02em}
html body .metric-card.dark{
  background:linear-gradient(135deg,var(--ink-800),var(--ink-950));border-color:var(--ink-900);color:#fff;
}
html body .metric-card.dark strong{color:#fff}
html body .metric-card.dark::before{background:var(--brand-300)}

/* Kaarten in overzichtspagina's (rapportages, arbeidstijd, ...) krijgen duidelijke hover */
html body .work-time-card,
html body .policy-card,
html body .camp-card{
  background:#fff;border:1px solid var(--slate-200);border-radius:16px;box-shadow:var(--shadow-sm);
  transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);
}
html body a.work-time-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--brand-300)}
html body .work-time-card-title{color:var(--slate-900);font-weight:720}
html body .work-time-card strong{color:var(--brand-700)}

/* ---------- Modals ---------- */
html body .nova-modal-backdrop{background:rgba(14,26,22,.55);backdrop-filter:blur(4px)}
html body .nova-modal-card{border-radius:20px;box-shadow:var(--shadow-lg);border:1px solid var(--slate-200)}
html body .nova-modal-head{border-bottom:1px solid var(--slate-100)}
html body .nova-modal-close{border-radius:10px}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .content{padding:20px 22px 44px}
}
@media(max-width:980px){
  .content{padding:16px 14px 40px}
  html body .page-header{padding:22px 20px 22px 26px;min-height:0;border-radius:18px}
  html body .page-header h1{font-size:23px}
  html body .settings-card{padding:18px 16px}
}
@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
}
/* v0.162.221 · responsive navigatie, rapportpaginering en consistente infokaarten */

/* Afwezigheden: grotere typografie behouden, maar de navigatie laat zich door de echte contentbreedte sturen. */
.section-nav.section-nav-absences{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center;
  align-content:flex-start;
  gap:8px;
  max-width:100%;
  min-width:0;
  overflow:visible!important;
}
.section-nav.section-nav-absences .section-nav-item{
  flex:0 1 auto!important;
  min-width:0;
  max-width:100%;
  white-space:normal!important;
  text-align:center;
  overflow-wrap:anywhere;
}

/* Arbeidsongeschiktheidsdossiers reageren op de beschikbare kaartbreedte, ook met open zijbalk. */
.sickness-cases-card{
  min-width:0;
  max-width:100%;
  container-type:inline-size;
}
.sickness-cases-card .sickness-case-toolbar,
.sickness-cases-card .sickness-case-list,
.sickness-cases-card .sickness-case-item,
.sickness-cases-card .sickness-case-row{min-width:0;max-width:100%}
@container (max-width:1180px){
  .sickness-cases-card .sickness-case-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sickness-cases-card .sickness-filter-count{justify-self:stretch}
  .sickness-cases-card .sickness-case-table-head{display:none}
  .sickness-cases-card .sickness-case-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:15px}
  .sickness-cases-card .sickness-case-row>.sickness-case-cell{display:grid!important;grid-column:1;grid-template-columns:108px minmax(0,1fr);gap:9px;min-width:0}
  .sickness-cases-card .sickness-case-row>.sickness-case-cell.employee{grid-template-columns:1fr;gap:3px;margin-bottom:3px}
  .sickness-cases-card .sickness-case-row>.sickness-case-chevron{grid-column:2;grid-row:1 / span 7;align-self:center}
  .sickness-cases-card .mobile-label{display:block;color:#8a918c;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
  .sickness-cases-card .sickness-case-cell.employee strong,
  .sickness-cases-card .sickness-case-cell.employee small{white-space:normal;overflow-wrap:anywhere}
  .sickness-cases-card .sickness-case-detail-grid{grid-template-columns:1fr}
}
@container (max-width:620px){
  .sickness-cases-card .sickness-case-toolbar{grid-template-columns:1fr}
  .sickness-cases-card .sickness-case-row>.sickness-case-cell{grid-template-columns:92px minmax(0,1fr)}
  .sickness-cases-card .sickness-case-detail{padding:12px}
}

/* Mobiliteit & declaraties: echte links blijven visueel tabs. */
.workforce-tabs .workforce-tab{text-decoration:none}

/* Tijdregistraties: compacte, evenwichtige header en twee echte Nova-acties naast elkaar. */
.time-registrations-body .time-registration-page-header{
  padding-right:24px!important;
  min-height:0;
  grid-template-columns:minmax(340px,.9fr) minmax(460px,1.1fr);
  gap:24px;
}
.time-registrations-body .time-registration-header-copy{align-self:start}
.time-registrations-body .time-registration-header-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:16px;
}
.time-registrations-body .time-registration-header-actions .time-report-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  margin:0!important;
  padding:9px 14px;
  border:1px solid #cfdad2;
  border-radius:11px;
  background:#f8faf8;
  color:#344a3b;
  font-weight:760;
  text-decoration:none!important;
}
.time-registrations-body .time-registration-header-actions .time-report-link:hover{background:#f1f6f2;border-color:#bdcdc1}
@media(max-width:1180px){
  .time-registrations-body .time-registration-page-header{grid-template-columns:1fr;padding-right:22px!important}
}
@media(max-width:680px){
  .time-registrations-body .time-registration-header-actions{display:grid;grid-template-columns:1fr}
  .time-registrations-body .time-registration-header-actions .time-report-link{width:100%}
}

/* Rapportages: één consistente paginatiecomponent. */
.report-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-top:16px;
  padding-top:15px;
  border-top:1px solid #e4e9e5;
}
.report-pagination-summary{color:#68756d;font-size:12px;font-weight:700}
.report-pagination nav{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.report-page-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:7px 11px;
  border:1px solid #d8e0da;
  border-radius:10px;
  background:#fff;
  color:#405248;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
}
.report-page-button:hover{background:#f4f7f5;border-color:#c7d3ca}
.report-page-button.active{background:#eaf0eb;border-color:#bfcfc3;color:#2f4738}
.report-page-size{min-width:105px}
.camp-report-filter{grid-template-columns:minmax(220px,1.35fr) repeat(4,minmax(135px,.72fr)) auto}
@media(max-width:1380px){.camp-report-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.camp-report-filter-actions{grid-column:auto}}
@media(max-width:900px){.report-pagination{align-items:flex-start;flex-direction:column}.report-pagination nav{justify-content:flex-start}.camp-report-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.camp-report-filter{grid-template-columns:1fr}.report-page-button{min-height:40px}.report-pagination nav{width:100%}}

/* HR-hulpkaarten: volledige rustige omkadering in plaats van een verticale accentstreep. */
.wr-hr-summary,.st-hr-summary,.sliding-hr-summary,.bp-hr-summary,.ds-hr-summary,.rules-hr-summary,.holiday-hr-summary,.ref-hr-summary{
  border:1px solid #cfded3!important;
  border-left:1px solid #cfded3!important;
  border-radius:18px;
  background:#f4f8f5!important;
  box-shadow:0 4px 16px rgba(49,70,56,.035);
}
.sliding-hr-summary.attention,.bp-hr-summary.has-actions{
  border-color:#e4d3ad!important;
  border-left-color:#e4d3ad!important;
  background:#fffaf1!important;
}
.sliding-hr-summary.clear{
  border-color:#cfded3!important;
  background:#f4f8f5!important;
}

/* Afwijkingen: duidelijke ademruimte tussen de HR-opdracht en het weekoverzicht. */
.deviation-action-summary{margin-bottom:24px}
.deviation-action-summary + .card.panel{margin-top:0}

/* v0.162.222 · officieel Flex-logo in de zijbalk */
html body .sidebar .brand-row.sidebar-brand-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  padding:2px 6px 18px;
  min-width:0;
}
html body .sidebar .sidebar-brand-link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:220px;
  min-width:0;
  padding:9px 10px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(151,170,161,.98),rgba(132,153,143,.98));
  box-shadow:0 8px 22px -12px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.2);
  text-decoration:none;
  overflow:hidden;
}
html body .sidebar .sidebar-brand-link:hover{
  border-color:rgba(255,255,255,.28);
  background:linear-gradient(145deg,rgba(162,180,171,.99),rgba(140,161,151,.99));
}
html body .sidebar .sidebar-brand-link:focus-visible{
  outline:2px solid var(--brand-300);
  outline-offset:3px;
}
html body .sidebar .sidebar-brand-logo-full{
  display:block;
  width:100%;
  height:auto;
  max-height:116px;
  object-fit:contain;
}
html body .sidebar .sidebar-brand-logo-mark{display:none}

@media(min-width:981px){
  html body .app-shell.sidebar-collapsed .sidebar .brand-row.sidebar-brand-logo{
    padding:2px 0 18px;
  }
  html body .app-shell.sidebar-collapsed .sidebar .sidebar-brand-link{
    width:48px;
    height:48px;
    max-width:48px;
    flex:0 0 48px;
    padding:7px;
    border-radius:14px;
  }
  html body .app-shell.sidebar-collapsed .sidebar .sidebar-brand-logo-full{display:none}
  html body .app-shell.sidebar-collapsed .sidebar .sidebar-brand-logo-mark{
    display:block;
    width:auto;
    height:32px;
    max-width:100%;
    object-fit:contain;
  }
}

@media(max-width:980px){
  html body .sidebar .brand-row.sidebar-brand-logo{padding-right:48px}
  html body .sidebar .sidebar-brand-link{max-width:230px}
  html body .sidebar .sidebar-brand-logo-full{max-height:122px}
}

@media(max-width:430px){
  html body .sidebar .brand-row.sidebar-brand-logo{padding-left:2px;padding-right:46px}
  html body .sidebar .sidebar-brand-link{max-width:215px;padding:8px 9px}
}


/* v0.162.224 · compacte sidebar-branding en Mijn planning interacties */
html body .sidebar .brand-row.sidebar-brand-logo{
  justify-content:flex-start;
  padding:8px 14px 12px;
}
html body .sidebar .sidebar-brand-link{
  width:auto;
  max-width:176px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
html body .sidebar .sidebar-brand-link:hover{
  border-color:transparent;
  background:transparent;
  opacity:.9;
}
html body .sidebar .sidebar-brand-logo-full{
  width:auto;
  max-width:176px;
  max-height:64px;
  object-fit:contain;
}
@media(min-width:981px){
  html body .app-shell.sidebar-collapsed .sidebar .brand-row.sidebar-brand-logo{
    justify-content:center;
    padding:8px 0 12px;
  }
  html body .app-shell.sidebar-collapsed .sidebar .sidebar-brand-link{
    width:48px;
    height:48px;
    max-width:48px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  html body .app-shell.sidebar-collapsed .sidebar .sidebar-brand-logo-mark{
    display:block;
    width:auto;
    height:38px;
    max-width:32px;
    object-fit:contain;
  }
}
@media(max-width:980px){
  html body .sidebar .brand-row.sidebar-brand-logo{padding:8px 48px 12px 14px}
  html body .sidebar .sidebar-brand-link{max-width:176px}
  html body .sidebar .sidebar-brand-logo-full{max-width:176px;max-height:64px}
}
@media(max-width:430px){
  html body .sidebar .brand-row.sidebar-brand-logo{padding:8px 46px 12px 12px}
  html body .sidebar .sidebar-brand-link{max-width:158px}
  html body .sidebar .sidebar-brand-logo-full{max-width:158px;max-height:58px}
}

/* Het exportpaneel van Mijn planning mag buiten de paginakop vallen. */
html body .page-header.employee-plan-header-v2{overflow:visible;z-index:20}
html body .employee-plan-header-actions{position:relative;z-index:30}
html body .employee-planning-export-details{z-index:40}
html body .employee-planning-export-details .planning-export-form{z-index:50}


/* ==========================================================================
   v0.162.226 · Weekoverzicht (Kalender): compacte, rustige layout
   Uitsluitend presentatie. Alle bestaande meldingen, statussen, links en
   acties blijven in de markup aanwezig; enkel hiërarchie, kleur en spacing
   wijzigen. Acties per dag verschijnen op desktop bij hover/focus en blijven
   op touchtoestellen altijd zichtbaar.
   ========================================================================== */

/* Sectiekop: compacter */
html body .planning-week-panel{padding:16px 18px}
html body .planning-week-panel>.planning-section-head{align-items:flex-end;gap:12px;margin-bottom:12px}
html body .planning-week-panel>.planning-section-head h2{margin:2px 0 3px;font-size:19px;line-height:1.25}
html body .planning-week-panel>.planning-section-head .muted{margin:0;max-width:760px;font-size:12.5px;line-height:1.45;color:var(--slate-600)}
html body .planning-week-panel .planning-week-scope{display:flex;align-items:baseline;gap:6px}
html body .planning-week-panel .planning-week-scope strong{font-size:18px;line-height:1}
html body .planning-week-panel .planning-week-scope span{font-size:12px;color:var(--slate-600)}

/* Tabelraster */
html body .planning-week-panel .planning-table-wrap{border:1px solid var(--slate-200);border-radius:12px;background:#fff}
html body .planning-week-panel .planning-table th,
html body .planning-week-panel .planning-table td{padding:4px;border-right:1px solid #eef1f0;border-bottom:1px solid #eef1f0;vertical-align:top}
html body .planning-week-panel .planning-table thead th:first-child,
html body .planning-week-panel .planning-table tbody th{width:176px;min-width:176px;max-width:176px}

/* Dagkop: vandaag en weekend */
html body .planning-week-panel .planning-table thead th{padding:8px 4px;background:#fafbfa;color:var(--slate-700);text-align:center}
html body .planning-week-panel .planning-table thead th:first-child{padding:8px 12px;text-align:left;font-size:12px;font-weight:700;color:var(--slate-600)}
html body .planning-week-panel .planning-table thead th span{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
html body .planning-week-panel .planning-table thead th small{margin-top:1px;font-size:11.5px;color:var(--slate-600)}
html body .planning-week-panel .planning-table thead th.is-weekend{background:#f5f6f5;color:var(--slate-600)}
html body .planning-week-panel .planning-table thead th.is-today{background:var(--brand-50);color:var(--brand-800);box-shadow:inset 0 -2px 0 var(--brand-600),0 1px 0 #dfe5e1}
html body .planning-week-panel .planning-table thead th.is-today small{color:var(--brand-800);font-weight:700}
html body .planning-week-panel .planning-table td.is-weekend{background:#fafaf9}
html body .planning-week-panel .planning-table td.is-today{background:#f6fbf8}

/* Medewerkerkolom */
html body .planning-week-panel .planning-table tbody>tr>th{padding:8px 10px 8px 12px;background:#fff;font-size:12px;line-height:1.3}
html body .planning-week-panel .planning-table tbody>tr>th>strong{display:block;font-size:13px;font-weight:650;color:var(--slate-900);overflow-wrap:anywhere}
html body .planning-week-panel .planning-table tbody>tr>th .planning-calendar-weekload{margin-top:3px;font-size:11.5px;font-weight:500;color:var(--slate-600)}
html body .planning-week-panel .planning-table tbody>tr>th .planning-calendar-weekdelta{display:inline-block;margin-top:4px;padding:1px 6px;border-radius:6px;background:var(--warn-50);color:var(--warn-800);font-size:11px;font-weight:700}

/* Afdelingsrij: dunne balk in het raster i.p.v. losse kaart */
html body .planning-week-panel .planning-calendar-group-row>th{padding:0!important;background:#f3f6f4!important;border-top:1px solid #e3e9e5!important;border-bottom:1px solid #e3e9e5!important}
html body .planning-week-panel .planning-calendar-group-row .planning-group-toggle-button{width:100%!important;min-height:40px!important;margin:0!important;padding:6px 12px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;gap:8px!important}
html body .planning-week-panel .planning-calendar-group-row .planning-group-toggle-button:hover{background:#ebf1ed!important}
html body .planning-week-panel .planning-calendar-group-row .planning-group-toggle-button[aria-expanded="true"]{background:transparent!important}
html body .planning-week-panel .planning-calendar-group-row .planning-group-toggle-button>span:not(.planning-group-chevron){font-size:13.5px!important;font-weight:700}
html body .planning-week-panel .planning-calendar-group-row .planning-group-toggle-button small{margin-left:2px;font-size:12px!important;font-weight:500;color:var(--slate-600)}
html body .planning-week-panel .planning-calendar-group-row .planning-group-chevron{width:22px;height:22px;min-width:22px;font-size:15px}

/* Dienstkaart */
html body .planning-week-panel .plan-segment-stack,
html body .planning-week-panel .plan-segment-stack.has-multiple{gap:4px;min-width:0}
html body .planning-week-panel .plan-cell{position:relative;display:grid;gap:3px;min-width:0;padding:6px 8px;border:1px solid var(--slate-200);border-radius:8px;background:#fff;box-shadow:none}
html body .planning-week-panel .plan-segment-stack.has-multiple .plan-cell{box-shadow:none}
html body .planning-week-panel .plan-cell.overridden{border-left:1px solid var(--slate-200);padding-left:8px}
html body .planning-week-panel .plan-cell-main{display:flex;flex-direction:column;gap:0;min-width:0}
html body .planning-week-panel .plan-time{order:-1;font-size:13px!important;font-weight:700;line-height:1.3;color:var(--slate-900);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .planning-week-panel .plan-cell-main strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:11.5px;font-weight:500;line-height:1.3;color:var(--slate-600);white-space:normal;overflow:hidden;overflow-wrap:anywhere}
html body .planning-week-panel .plan-unit{font-size:11px!important;font-weight:500!important;color:var(--slate-500)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .planning-week-panel .plan-segment-label{margin:0 0 1px;padding:0;background:transparent;border:0}
html body .planning-week-panel .plan-segment-label span{font-size:10.5px!important;font-weight:700;color:var(--slate-600)}
html body .planning-week-panel .plan-segment-label small{font-size:10px;color:var(--slate-500)}

/* Status: gepubliceerd is de rustige standaard, afwijkingen vallen op */
html body .planning-week-panel .plan-status-row{gap:3px;margin-top:1px}
html body .planning-week-panel .plan-status-chip{max-width:100%;padding:1px 6px;border-radius:5px;font-size:10.5px!important;font-weight:650;line-height:1.35;white-space:normal}
html body .planning-week-panel .plan-status-chip.published{display:block;width:auto;padding:0;border:0;background:transparent;color:var(--slate-600)}
html body .planning-week-panel .plan-status-chip.published::before{content:"";display:inline-block;width:6px;height:6px;margin:0 5px 1px 0;border-radius:50%;background:var(--ok-600);vertical-align:middle}
/* Eenheid gelijk aan de afdelingsrij erboven: niet herhalen (tooltip blijft) */
html body .planning-week-panel .plan-unit.is-same-as-group{display:none}
html body .planning-week-panel .plan-status-chip.unpublished{background:var(--warn-50);color:var(--warn-800);border:1px solid var(--warn-200)}
html body .planning-week-panel .plan-status-chip.changed{background:var(--info-50);color:var(--info-800);border:1px solid var(--info-200)}
html body .planning-week-panel .plan-status-chip.manual{background:var(--slate-100);color:var(--slate-700);border:1px solid var(--slate-200)}
html body .planning-week-panel .plan-status-chip.night{background:#eef0f8;color:#3f4c6e;border:1px solid #d8ddef}

html body .planning-week-panel .plan-cell.is-unpublished{border:1.5px dashed var(--warn-600);padding:5.5px 7.5px}
html body .planning-week-panel .plan-cell.is-changed{border:1.5px solid var(--info-600);padding:5.5px 7.5px}
html body .planning-week-panel .plan-cell.has-conflict{border:2px solid var(--bad-600);padding:5px 7px;background:var(--bad-50)}

/* Niet-werkdag: zichtbaar maar teruggetrokken */
html body .planning-week-panel .plan-cell.is-non-working{background:transparent;border:1px dashed #e2e6e3;padding:6px 8px}
html body .planning-week-panel .plan-cell.is-non-working .plan-time{font-size:12px!important;font-weight:600;color:var(--slate-500)}
html body .planning-week-panel .plan-cell.is-non-working .plan-cell-main strong,
html body .planning-week-panel .plan-cell.is-non-working .plan-unit{color:var(--slate-400)!important}
html body .planning-week-panel .plan-cell.is-non-working.has-conflict{border:2px solid var(--bad-600);background:var(--bad-50)}
html body .planning-week-panel .plan-cell.is-non-working.is-unpublished{border:1.5px dashed var(--warn-600)}

/* Meldingen in de kaart: leesbaar, kleur blijft de betekenis dragen */
html body .planning-week-panel .plan-day-publication-state{margin:0 0 4px;padding:4px 7px;border-radius:6px;background:var(--warn-50);border:1px solid var(--warn-200)}
html body .planning-week-panel .plan-day-publication-state strong{font-size:10.5px;color:var(--warn-800)}
html body .planning-week-panel .plan-absence-replacement{gap:5px;padding:4px 6px;border-radius:6px;font-size:10.5px}
html body .planning-week-panel .plan-absence-replacement strong{font-size:10.5px;line-height:1.3}
html body .planning-week-panel .plan-absence-replacement small{font-size:10px}
html body .planning-week-panel .plan-absence-replacement-icon{width:15px;height:15px;min-width:15px;font-size:9px}
html body .planning-week-panel .availability-state-copy strong{font-size:10.5px}
html body .planning-week-panel .availability-state-copy small{font-size:10px}
html body .planning-week-panel .availability-mini-chip.availability-state,
html body .planning-week-panel .availability-mini-chip.availability-warning{min-height:0;padding:3px 6px;border-radius:6px}
html body .planning-week-panel .availability-warning-copy strong{font-size:10.5px;line-height:1.3}
html body .planning-week-panel .availability-warning-icon{width:15px;height:15px;font-size:9px}
html body .planning-week-panel .plan-conflicts span{font-size:10.5px;line-height:1.3;color:var(--bad-800)}
html body .planning-week-panel .plan-worktime-signals a,
html body .planning-week-panel .plan-worktime-signals span{font-size:10.5px!important;line-height:1.3}
html body .planning-week-panel .plan-night-followup>a,
html body .planning-week-panel .plan-night-followup>span:not(.plan-status-chip){font-size:10.5px}
html body .planning-week-panel .plan-camp-link{font-size:10.5px!important;padding:1px 6px;border-radius:5px}
html body .planning-week-panel .plan-note{font-size:10.5px!important;color:var(--slate-600)!important}

/* Lege dag */
html body .planning-week-panel .plan-empty-state{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-height:52px;padding:4px;border:0;border-radius:6px;background:transparent;text-align:center}
html body .planning-week-panel .plan-empty-state span{font-size:11px;font-weight:600;color:var(--slate-500)}
html body .planning-week-panel .plan-empty-state small{font-size:10px;color:var(--slate-400)}
html body .planning-week-panel .plan-empty-state .planning-inline-add.is-icon{width:28px!important;height:28px!important;margin-top:3px;font-size:16px!important}

/* Acties: compact */
html body .planning-week-panel .plan-edit-trigger{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:26px;margin:2px 0 0;padding:3px 9px;border:1px solid var(--slate-200);border-radius:6px;background:#fff;color:var(--slate-700);font-size:11px!important;font-weight:650;text-decoration:none}
html body .planning-week-panel .plan-edit-trigger:hover{background:var(--slate-50);border-color:var(--slate-300)}
html body .planning-week-panel .planning-day-quick-actions{gap:4px;margin-top:4px}
html body .planning-week-panel .planning-direct-publish-link,
html body .planning-week-panel .planning-direct-withdraw-link,
html body .planning-week-panel .planning-inline-add.planning-inline-add-after{min-height:26px!important;padding:3px 8px!important;border-radius:6px!important;font-size:11px!important;font-weight:650!important;line-height:1.2}
html body .planning-week-panel .planning-direct-publish-link{background:var(--brand-600);border-color:var(--brand-600);color:#fff}
html body .planning-week-panel .planning-direct-publish-link:hover{background:var(--brand-700);border-color:var(--brand-700);color:#fff}
html body .planning-week-panel .planning-direct-withdraw-link{background:#fff;border-color:var(--slate-200);color:var(--bad-800)}
html body .planning-week-panel .planning-direct-withdraw-link:hover{background:var(--bad-50);border-color:var(--bad-200)}
html body .planning-week-panel .planning-inline-add.planning-inline-add-after{background:#fff;border-color:var(--slate-200);color:var(--brand-700)}

/* Desktop met muis: secundaire acties verschijnen bij hover of toetsenbordfocus */
@media (hover:hover) and (pointer:fine){
  html body .planning-week-panel .planning-table td.planning-day-cell{position:relative}
  html body .planning-week-panel .plan-edit-trigger{position:absolute;top:4px;right:4px;z-index:2;margin:0;box-shadow:0 1px 4px rgba(20,35,30,.12);opacity:0;pointer-events:none;transition:opacity .12s ease}
  html body .planning-week-panel .plan-cell:hover .plan-edit-trigger,
  html body .planning-week-panel .plan-cell:focus-within .plan-edit-trigger{opacity:1;pointer-events:auto}
  html body .planning-week-panel .planning-day-quick-actions{position:absolute;left:4px;right:4px;bottom:4px;z-index:3;justify-content:flex-end;margin:0;padding:4px;border-radius:8px;background:rgba(255,255,255,.96);box-shadow:0 2px 8px rgba(20,35,30,.14);opacity:0;pointer-events:none;transition:opacity .12s ease}
  html body .planning-week-panel td.planning-day-cell:hover .planning-day-quick-actions,
  html body .planning-week-panel td.planning-day-cell:focus-within .planning-day-quick-actions{opacity:1;pointer-events:auto}
  /* Een openstaande publicatieactie is een melding: altijd zichtbaar; de overige acties verschijnen bij hover/focus */
  html body .planning-week-panel .planning-day-quick-actions:has(.planning-direct-publish-link){position:static;justify-content:flex-start;margin-top:4px;padding:0;background:transparent;box-shadow:none;opacity:1;pointer-events:auto}
  html body .planning-week-panel .planning-day-quick-actions:has(.planning-direct-publish-link) .planning-direct-withdraw-link,
  html body .planning-week-panel .planning-day-quick-actions:has(.planning-direct-publish-link) .planning-inline-add-after{display:none}
  html body .planning-week-panel td.planning-day-cell:hover .planning-day-quick-actions:has(.planning-direct-publish-link) .planning-direct-withdraw-link,
  html body .planning-week-panel td.planning-day-cell:hover .planning-day-quick-actions:has(.planning-direct-publish-link) .planning-inline-add-after,
  html body .planning-week-panel td.planning-day-cell:focus-within .planning-day-quick-actions:has(.planning-direct-publish-link) .planning-direct-withdraw-link,
  html body .planning-week-panel td.planning-day-cell:focus-within .planning-day-quick-actions:has(.planning-direct-publish-link) .planning-inline-add-after{display:inline-flex}
  html body .planning-week-panel .plan-empty-state .planning-inline-add.is-icon{opacity:0;transition:opacity .12s ease}
  html body .planning-week-panel td.planning-day-cell:hover .plan-empty-state .planning-inline-add.is-icon,
  html body .planning-week-panel .plan-empty-state:focus-within .planning-inline-add.is-icon{opacity:1}
}

@media (max-width:1280px){
  html body .planning-week-panel .planning-table-wrap{overflow-x:auto}
  html body .planning-week-panel .planning-table{min-width:1000px}
}
@media (max-width:760px){
  html body .planning-week-panel{padding:12px}
  html body .planning-week-panel>.planning-section-head{flex-direction:column;align-items:flex-start}
  html body .planning-week-panel .planning-table thead th:first-child,
  html body .planning-week-panel .planning-table tbody th{width:136px;min-width:136px;max-width:136px}
}

/* v0.162.227 · Weekoverzicht: kortere publicatiestatus en notitie op één regel */
html body .planning-week-panel .plan-status-chip.published{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .planning-week-panel .plan-status-chip.published .plan-status-prefix{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
html body .planning-week-panel .plan-note{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:unset}

/* v0.162.228 · Weekoverzicht: dienstnaam op één regel (volledige naam in tooltip) */
html body .planning-week-panel .plan-cell-main strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:unset}
html body .planning-week-panel .plan-cell{gap:2px}

/* v0.162.229 · Weekoverzicht: compacte aandachtsmeldingen in de dienstkaart */
html body .planning-week-panel .plan-cell.has-attention:not(.has-conflict):not(.is-unpublished):not(.is-changed){border:1.5px solid var(--warn-600);padding:5.5px 7.5px}
html body .planning-week-panel .plan-absence-replacement{margin-top:1px;padding:0;border:0;background:transparent;align-items:flex-start}
html body .planning-week-panel .plan-absence-replacement>span:last-child{display:grid;gap:0;min-width:0}
html body .planning-week-panel .plan-absence-replacement strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--warn-800)}
html body .planning-week-panel .plan-absence-replacement small{color:var(--slate-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .planning-week-panel .plan-absence-replacement-icon{margin-top:1px;width:14px;height:14px;min-width:14px}
html body .planning-week-panel .availability-mini-chip.availability-warning{padding:0;border:0;background:transparent}
html body .planning-week-panel .availability-warning-copy strong{color:var(--warn-800)}
html body .planning-week-panel .plan-worktime-signals a{padding:0!important;background:transparent!important;border:0!important}

/* v0.162.230 · Weekoverzicht: dienstnaam volledig zichtbaar (max. 2 regels) zodat de duur leesbaar blijft */
html body .planning-week-panel .plan-cell-main strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;overflow:hidden;text-overflow:clip;overflow-wrap:anywhere}

/* v0.162.231 · Weekoverzicht: afwezigheidsstatus nooit afkappen */
html body .planning-week-panel .plan-absence-replacement strong{display:block;-webkit-line-clamp:unset;overflow:visible;overflow-wrap:anywhere}
html body .planning-week-panel .plan-absence-replacement small{white-space:normal}

/* ==========================================================================
   v0.162.232 · Operationele planning: werkende headeracties
   Het exportpaneel mag buiten de algemene page-header vallen. De algemene
   designlaag gebruikt daar overflow:hidden, waardoor het paneel visueel werd
   afgesneden. Alleen de planningsheader krijgt daarom overflow:visible.
   ========================================================================== */
html body .page-header.planning-page-header{overflow:visible;z-index:20}
html body .planning-page-header .planning-header-actions{position:relative;z-index:30}
html body .planning-page-header .planning-export-details{z-index:40}
html body .planning-page-header .planning-export-details .planning-export-form{z-index:50}


/* ==========================================================================
   v0.162.233 · Capaciteit komende 4 weken: compacte weekkaarten
   Uitsluitend presentatie. Dezelfde gegevens, signalen, acties en Weekdetail;
   uren als één verhouding, publicatiestatus als eigen regel, signalen als
   compacte regels met statusstip. Kleur volgt de ernst.
   ========================================================================== */
html body .planning-capacity-horizon .planning-horizon-head span{font-size:12px!important;letter-spacing:.08em}
html body .planning-capacity-horizon .planning-horizon-head small{font-size:12.5px!important;color:var(--slate-600)!important}
html body .planning-capacity-horizon .planning-horizon-grid{gap:12px!important;align-items:stretch}
html body .planning-capacity-horizon .planning-capacity-card{display:flex!important;flex-direction:column!important;gap:10px!important;min-height:0!important;padding:16px!important;border:1px solid var(--slate-200)!important;border-radius:14px!important;background:#fff!important;box-shadow:0 1px 2px rgba(20,35,30,.04)!important}
html body .planning-capacity-horizon .planning-capacity-card.current{border-color:var(--brand-300)!important;box-shadow:0 0 0 3px var(--brand-50)!important}
html body .planning-capacity-horizon .planning-capacity-card *{text-transform:none}

/* Kop */
html body .planning-capacity-horizon .planning-capacity-card-title-link{text-decoration:none!important;color:inherit!important}
html body .planning-capacity-horizon .planning-capacity-card-top{display:grid!important;gap:1px!important}
html body .planning-capacity-horizon .planning-capacity-card-top span{font-size:12px!important;font-weight:650!important;letter-spacing:0!important;color:var(--slate-600)!important}
html body .planning-capacity-horizon .planning-capacity-card-top strong{font-size:17px!important;font-weight:750!important;line-height:1.25!important;color:var(--slate-900)!important}

/* Weekprioriteit: badge volgt de ernst, reden eronder */
html body .planning-capacity-horizon .planning-capacity-priority{display:grid!important;gap:3px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
html body .planning-capacity-horizon .planning-capacity-priority>div{display:flex!important;align-items:center!important;gap:8px!important}
html body .planning-capacity-horizon .planning-capacity-priority small{font-size:12px!important;font-weight:600!important;letter-spacing:0!important;color:var(--slate-600)!important}
html body .planning-capacity-horizon .planning-capacity-priority strong{display:inline-flex!important;align-items:center!important;padding:2px 9px!important;border-radius:999px!important;font-size:12px!important;font-weight:700!important;line-height:1.4!important;border:1px solid var(--slate-200)!important;background:var(--slate-100)!important;color:var(--slate-700)!important}
html body .planning-capacity-horizon .planning-capacity-priority.is-on-track strong{background:var(--ok-50)!important;border-color:var(--ok-200)!important;color:var(--ok-800)!important}
html body .planning-capacity-horizon .planning-capacity-priority.is-attention strong{background:var(--warn-50)!important;border-color:var(--warn-200)!important;color:var(--warn-800)!important}
html body .planning-capacity-horizon .planning-capacity-priority.is-first strong{background:var(--bad-50)!important;border-color:var(--bad-200)!important;color:var(--bad-800)!important}
html body .planning-capacity-horizon .planning-capacity-priority em{display:block!important;font-style:normal!important;font-size:12px!important;line-height:1.4!important;color:var(--slate-600)!important}

/* Uren: gepland t.o.v. contract */
html body .planning-capacity-horizon .planning-capacity-hours{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid var(--slate-100)}
html body .planning-capacity-horizon .planning-capacity-hours-main{display:grid;gap:0;min-width:0}
html body .planning-capacity-horizon .planning-capacity-hours-main small{font-size:12px;font-weight:600;color:var(--slate-600)}
html body .planning-capacity-horizon .planning-capacity-hours-main b{font-size:19px;font-weight:750;line-height:1.25;color:var(--slate-900);font-variant-numeric:tabular-nums}
html body .planning-capacity-horizon .planning-capacity-hours-main span{font-size:12px;line-height:1.35;color:var(--slate-600)}
html body .planning-capacity-horizon .planning-capacity-pct{font-style:normal;font-size:14px;font-weight:750;color:var(--slate-800,#1e293b);font-variant-numeric:tabular-nums}
html body .planning-capacity-horizon .planning-capacity-bar{height:6px!important;margin:0!important;border-radius:999px!important;background:var(--slate-100)!important;overflow:hidden!important}
html body .planning-capacity-horizon .planning-capacity-bar i{display:block!important;height:100%!important;border-radius:999px!important;background:var(--slate-400)!important}
html body .planning-capacity-horizon .planning-capacity-card.is-tight .planning-capacity-bar i{background:var(--brand-600)!important}
html body .planning-capacity-horizon .planning-capacity-card.is-available .planning-capacity-bar i{background:var(--info-600)!important}
html body .planning-capacity-horizon .planning-capacity-card.is-over .planning-capacity-bar i{background:var(--bad-600)!important}
html body .planning-capacity-horizon .planning-capacity-card.is-over .planning-capacity-pct{color:var(--bad-800)}
html body .planning-capacity-horizon .planning-capacity-hours-sub{display:flex;align-items:baseline;gap:6px;font-size:12px}
html body .planning-capacity-horizon .planning-capacity-hours-sub small{font-size:12px;color:var(--slate-600)}
html body .planning-capacity-horizon .planning-capacity-hours-sub b{font-size:12.5px;font-weight:700;color:var(--slate-700);font-variant-numeric:tabular-nums}
html body .planning-capacity-horizon .planning-capacity-hours-sub.is-over b{color:var(--bad-800)}

/* Publicatie */
html body .planning-capacity-horizon .planning-capacity-publication{display:grid;gap:2px;padding-top:10px;border-top:1px solid var(--slate-100)}
html body .planning-capacity-horizon .planning-capacity-publication small{font-size:12px;font-weight:600;color:var(--slate-600)}
html body .planning-capacity-horizon .planning-capacity-publication b{font-size:12.5px;font-weight:650;line-height:1.4;color:var(--slate-800,#1e293b)}
html body .planning-capacity-horizon .planning-capacity-publication b::before{content:"";display:inline-block;width:7px;height:7px;margin:0 6px 1px 0;border-radius:50%;background:var(--slate-300);vertical-align:middle}
html body .planning-capacity-horizon .planning-capacity-publication.is-complete b::before{background:var(--ok-600)}
html body .planning-capacity-horizon .planning-capacity-publication.is-partial b::before,
html body .planning-capacity-horizon .planning-capacity-publication.is-concept b::before{background:var(--warn-600)}
html body .planning-capacity-horizon .planning-capacity-publication span{justify-self:start;margin-top:2px;padding:1px 7px;border-radius:6px;border:1px solid var(--warn-200);background:var(--warn-50);color:var(--warn-800);font-size:11.5px;font-weight:700}

/* Signalen: compacte regels met stip */
html body .planning-capacity-horizon .planning-capacity-compact-signals{display:grid!important;gap:6px!important;margin:0!important;padding-top:10px!important;border-top:1px solid var(--slate-100)!important;grid-template-columns:1fr!important}
html body .planning-capacity-horizon .planning-capacity-compact-signals>span{display:grid!important;grid-template-columns:8px minmax(0,1fr)!important;column-gap:8px!important;row-gap:0!important;align-items:baseline!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html body .planning-capacity-horizon .planning-capacity-compact-signals>span::before{content:"";grid-row:1/span 2;align-self:start;width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--slate-300)}
html body .planning-capacity-horizon .planning-capacity-compact-signals small{grid-column:2;font-size:12px!important;font-weight:600!important;letter-spacing:0!important;line-height:1.35!important;color:var(--slate-600)!important;background:transparent!important;padding:0!important;border:0!important}
html body .planning-capacity-horizon .planning-capacity-compact-signals b{grid-column:2;font-size:12.5px!important;font-weight:650!important;line-height:1.4!important;color:var(--slate-700)!important}
html body .planning-capacity-horizon .planning-capacity-compact-signals>span.is-covered b,
html body .planning-capacity-horizon .planning-capacity-compact-signals>span.is-clear b{font-weight:500!important;color:var(--slate-600)!important}
html body .planning-capacity-horizon .planning-capacity-compact-signals>span.has-shortage::before{background:var(--bad-600)}
html body .planning-capacity-horizon .planning-capacity-compact-signals>span.has-shortage b{color:var(--bad-800)!important}
html body .planning-capacity-horizon .planning-capacity-compact-signals>span.has-absence::before{background:var(--warn-600)}
html body .planning-capacity-horizon .planning-capacity-compact-signals>span.has-absence b{color:var(--warn-800)!important}

/* Acties: één regel */
html body .planning-capacity-horizon .planning-capacity-card .planning-capacity-actions-compact{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin-top:auto!important;padding-top:10px!important;border-top:1px solid var(--slate-100)!important;grid-template-columns:none!important}
html body .planning-capacity-horizon .planning-capacity-card .planning-capacity-actions-compact .secondary-button{width:auto!important;flex:0 0 auto!important;min-height:36px!important;font-size:12.5px!important}
html body .planning-capacity-horizon .planning-capacity-card .planning-capacity-actions-compact button.secondary-button{padding:6px 2px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--brand-700)!important;font-weight:650!important;text-decoration:underline!important;text-underline-offset:3px}
html body .planning-capacity-horizon .planning-capacity-card .planning-capacity-actions-compact button.secondary-button:hover{color:var(--brand-800)!important}
html body .planning-capacity-horizon .planning-capacity-card .planning-capacity-actions-compact .planning-capacity-open-week{padding:6px 12px!important;border-radius:8px!important;font-weight:700!important}
html body .planning-capacity-horizon .planning-capacity-card .planning-capacity-hours-main span{font-weight:500!important}


/* ==========================================================================
   v0.162.234 · Beschikbaarheid: maandoverzicht past volledig in de breedte
   Uitsluitend presentatie. Oorzaak: de dagkolommen hadden een minimumbreedte
   (7 × 165px, min-width 1220px) binnen een paneel met overflow:hidden,
   waardoor zondag werd afgesneden en de weekdagkop niet uitlijnde.
   Mobiel (≤700px) blijft de bestaande éénkoloms weergave gebruiken.
   ========================================================================== */
@media (min-width:701px){
  html body .employer-availability-page .availability-month-panel{overflow-x:auto!important;overflow-y:visible!important}
  html body .employer-availability-page .availability-month-weekdays,
  html body .employer-availability-page .employer-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:6px!important;min-width:840px!important;width:100%!important;box-sizing:border-box}
  html body .employer-availability-page .availability-month-weekdays{margin:0 0 6px!important}
  html body .employer-availability-page .availability-month-weekdays span{padding:4px 10px!important;text-align:left!important;font-size:11.5px!important;font-weight:800!important;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-600)!important}

  /* Dagcel */
  html body .employer-availability-page .availability-day.employer-day{position:relative;display:flex;flex-direction:column;min-width:0!important;min-height:112px!important;border:1px solid var(--slate-200)!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;overflow:hidden}
  html body .employer-availability-page .availability-day.employer-day.is-weekend{background:#fafaf9!important}
  html body .employer-availability-page .availability-day.employer-day.today{border-color:var(--brand-400)!important;box-shadow:0 0 0 2px var(--brand-50)!important}
  html body .employer-availability-page .availability-day.employer-day.outside-month{opacity:.5;background:#f7f8f7!important}
  html body .employer-availability-page .availability-day.employer-day>header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:6px!important;min-width:0;padding:6px 8px!important;border-bottom:0!important;background:transparent!important}
  html body .employer-availability-page .availability-day.employer-day>header>div{display:flex;align-items:baseline;gap:4px;min-width:0}
  /* Weekdaglabel staat al in de kolomkop */
  html body .employer-availability-page .availability-day.employer-day>header small{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  html body .employer-availability-page .availability-day.employer-day>header strong{font-size:15px!important;font-weight:750!important;line-height:1.2!important;color:var(--slate-900)}
  html body .employer-availability-page .availability-day.employer-day.today>header strong{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 5px;border-radius:999px;background:var(--brand-600);color:#fff}
  html body .employer-availability-page .availability-day.employer-day>header a{flex:none;font-size:11px!important;font-weight:650!important;color:var(--brand-700)!important;white-space:nowrap;text-decoration:none}
  html body .employer-availability-page .availability-day.employer-day>header a:hover{text-decoration:underline}

  /* Inhoud */
  html body .employer-availability-page .availability-day-entries{display:grid!important;gap:4px!important;padding:0 6px 6px!important;min-width:0}
  html body .employer-availability-page .availability-empty{min-height:0!important;padding:10px 0 4px;font-size:13px!important;color:var(--slate-300)!important}
  html body .employer-availability-page .availability-person{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:3px!important;min-width:0;padding:5px 7px!important;border:1px solid var(--slate-200)!important;border-left-width:1px!important;border-radius:7px!important;background:var(--slate-50)!important;box-shadow:none!important}
  html body .employer-availability-page .availability-person>div{display:grid;gap:0!important;min-width:0}
  html body .employer-availability-page .availability-person strong{display:block;font-size:12px!important;font-weight:650!important;line-height:1.3!important;color:var(--slate-900)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  html body .employer-availability-page .availability-person span{display:block;font-size:11px!important;line-height:1.35!important;color:var(--slate-600)!important;white-space:normal!important}
  html body .employer-availability-page .availability-person.available{border-color:var(--ok-200)!important;background:var(--ok-50)!important}
  html body .employer-availability-page .availability-person.preferred{border-color:var(--warn-200)!important;background:var(--warn-50)!important}
  html body .employer-availability-page .availability-person.unavailable{border-color:var(--bad-200)!important;background:var(--bad-50)!important}
  html body .employer-availability-page .availability-person.conflict{border:1.5px solid var(--warn-600)!important}
  html body .employer-availability-page .availability-conflict-link{justify-self:start;font-size:11px!important;font-weight:700!important;color:var(--warn-800)!important}
}
@media (hover:hover) and (pointer:fine) and (min-width:701px){
  /* "Bekijk week" per dag enkel bij hover of focus, zodat de kalender rustig blijft */
  html body .employer-availability-page .availability-day.employer-day>header a{opacity:0;transition:opacity .12s ease}
  html body .employer-availability-page .availability-day.employer-day:hover>header a,
  html body .employer-availability-page .availability-day.employer-day:focus-within>header a{opacity:1}
}


/* ==========================================================================
   v0.162.235 · Paginakop: rustige, strakke kop op alle pagina's
   - Geen gekleurde zijstreep en geen kleurvlekken meer in de achtergrond.
   - Witte kop met fijne rand; hiërarchie via typografie en ruimte.
   - Herstel: het blok "Overnemen" (platformcontext) stond met position:fixed
     rechtsboven over/achter de paginakop. Het staat opnieuw in de zijbalk,
     waar zijn opmaak voor bedoeld is. Werking ongewijzigd.
   ========================================================================== */
html body .page-header{
  min-height:0;
  padding:24px 28px;
  border:1px solid var(--slate-200);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--shadow-xs);
}
html body .page-header::before{content:none;display:none}
html body .page-header h1{margin:0;font-size:26px;font-weight:750;line-height:1.2;letter-spacing:-.02em;color:var(--slate-900)}
html body .page-header .muted{max-width:720px;margin-top:6px;font-size:14px;line-height:1.55;color:var(--slate-600)}
html body .page-header .eyebrow{margin:0 0 6px;font-size:11px;letter-spacing:.1em;color:var(--brand-700)}
html body .page-header .eyebrow::before{content:none;display:none}
@media (max-width:760px){
  html body .page-header{padding:18px 18px!important;border-radius:14px}
  html body .page-header h1{font-size:22px}
}

/* Overnemen hoort in de zijbalk, niet zwevend boven de inhoud */
@media (min-width:701px){
  html body .sidebar .context-switcher{position:static!important;top:auto!important;right:auto!important;z-index:auto!important;display:block;width:auto;box-shadow:none!important;backdrop-filter:none!important;opacity:1!important;transform:none!important;pointer-events:auto!important}
}


/* ==========================================================================
   v0.162.236 · Overnemen als hoofdmenu-item met submenu (alleen platformeigenaar)
   ========================================================================== */
html body .sidebar .nav-context-group{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.09)}
html body .sidebar .nav-context-group>summary{display:flex;align-items:center;gap:11px;list-style:none;cursor:pointer;position:relative}
html body .sidebar .nav-context-group>summary::-webkit-details-marker{display:none}
html body .sidebar .nav-context-group>summary .nav-icon{color:var(--sand-500)}
html body .sidebar .nav-group-label{display:grid!important;gap:1px;min-width:0;flex:1}
html body .sidebar .nav-group-label>span{color:inherit}
html body .sidebar .nav-group-label>small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#8fb0a2;font-size:11px;font-weight:500;line-height:1.3}
html body .sidebar .nav-group-chevron{display:flex;flex:none;width:16px;height:16px;color:#7fa092;transition:transform .16s var(--ease)}
html body .sidebar .nav-group-chevron svg{width:16px;height:16px}
html body .sidebar .nav-context-group[open]>summary{background:rgba(255,255,255,.06);color:#fff}
html body .sidebar .nav-context-group[open] .nav-group-chevron{transform:rotate(90deg)}
html body .sidebar .nav-group-body{padding:8px 4px 4px 4px}
html body .sidebar .nav-group-body .context-switcher{position:static!important;display:block!important;width:auto!important;margin:0!important;padding:10px!important;border-radius:11px!important;background:rgba(0,0,0,.16)!important;border:1px solid rgba(255,255,255,.07)!important;box-shadow:none!important;backdrop-filter:none!important;opacity:1!important;transform:none!important;pointer-events:auto!important;max-height:none!important}
html body .sidebar .nav-group-body .context-switcher form{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
html body .sidebar .nav-group-body .context-switcher select{width:100%!important;min-width:0}
html body .sidebar .nav-group-body .context-switch-button{width:100%!important;justify-self:stretch}
html body .sidebar .nav-group-body .context-mode-note{display:block;margin-top:8px;text-align:left!important}
/* Ingeklapte zijbalk: enkel het icoon; openen klapt de zijbalk uit (sidebar.js) */
@media(min-width:981px){
  html body .app-shell.sidebar-collapsed .sidebar .nav-context-group .nav-group-label,
  html body .app-shell.sidebar-collapsed .sidebar .nav-context-group .nav-group-chevron,
  html body .app-shell.sidebar-collapsed .sidebar .nav-context-group .nav-group-body{display:none!important}
  html body .app-shell.sidebar-collapsed .sidebar .nav-context-group>summary{justify-content:center}
}

/* v0.162.237 · Overnemen staat in het hoofdmenu: lege kop-slots van vroeger niet tonen */
.pw-context-slot:empty,
.employee-context-switcher-slot:empty,
.time-context-switcher-slot:empty,
.missing-time-context-switcher-slot:empty{display:none!important}

/* v0.162.239 · Subnavigatie (o.a. Planning) wrapt over meerdere regels i.p.v. af te snijden.
   Desktop/tablet: alle items zichtbaar. Mobiel (≤700px): bestaande horizontale scroll blijft. */
@media (min-width:701px){
  html body .section-nav:not(.section-nav-work-time){display:flex!important;flex-wrap:wrap!important;overflow:visible!important;row-gap:4px;max-width:100%;min-width:0}
  html body .section-nav:not(.section-nav-work-time) .section-nav-item{flex:0 0 auto!important;white-space:nowrap}
  html body .section-nav-work-time .section-nav-groups,
  html body .section-nav-work-time .section-nav-subitems{display:flex!important;flex-wrap:wrap!important;overflow:visible!important}
}

/* v0.162.240 · Organisatiestructuur: zijbalk blijft staan bij scrollen.
   overflow-x:hidden op body/.app-shell maakte daar een scrollcontainer van, waardoor de
   sticky zijbalk meescrolde. overflow-x:clip knipt even goed af zonder dat neveneffect. */
html body.organisational-structure-body,
html body.organisational-structure-body .app-shell{overflow-x:clip!important;overflow-y:visible!important}


/* ==========================================================================
   v0.162.242 · Medewerkers: compacte toevoegkaart en rustigere lijst
   Uitsluitend presentatie; formulier, acties en menu "Meer" ongewijzigd.
   ========================================================================== */
/* Toevoegen + testgids: geen uitgerekte lege kaart */
html body.employees-body .employee-admin-grid{align-items:start!important;gap:16px!important}
html body.employees-body .employee-test-card{align-self:start;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
html body.employees-body .employee-test-guide{border-radius:14px!important}

/* Toevoegformulier op twee compacte regels */
html body.employees-body .employee-add-card .panel-heading{margin-bottom:14px}
html body.employees-body .employee-add-card .panel-heading h2{font-size:17px}
html body.employees-body .employee-add-card .panel-heading .muted{font-size:13px;line-height:1.5}
@media (min-width:761px){
  html body.employees-body .employee-add-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px!important;align-items:start}
  html body.employees-body .employee-add-form .form-grid{display:contents!important}
  html body.employees-body .employee-add-form>label,
  html body.employees-body .employee-add-form .form-grid>label{margin:0!important;min-width:0}
  html body.employees-body .employee-add-form .employee-add-note{grid-column:1/-1;margin:0!important;font-size:12px;color:var(--slate-600)}
  html body.employees-body .employee-add-form>button.primary-button{grid-column:1/-1;justify-self:start;width:auto!important;min-width:200px}
}
@media (min-width:1280px){
  html body.employees-body .employee-add-form{grid-template-columns:repeat(4,minmax(0,1fr))}
}
html body.employees-body .employee-add-form small{font-size:11.5px;color:var(--slate-500)}

/* Knoppen in normaal merkgroen (zagen er uitgeschakeld uit) */
html body.employees-body .employee-add-form .primary-button,
html body.employees-body .employee-directory-actions .primary-button{background:var(--brand-600)!important;border-color:var(--brand-700)!important;color:#fff!important;opacity:1!important}
html body.employees-body .employee-add-form .primary-button:hover,
html body.employees-body .employee-directory-actions .primary-button:hover{background:var(--brand-700)!important}

/* Lijst */
html body.employees-body .employee-list-count{padding:4px 12px!important;background:var(--slate-100)!important;border-color:var(--slate-200)!important;color:var(--slate-600)!important}
html body.employees-body .employee-list-count strong{font-size:16px!important;color:var(--slate-900)!important}
html body.employees-body .employee-list-count span{font-size:11.5px!important;text-transform:none!important;letter-spacing:0!important}
html body.employees-body .employee-directory-table th{padding:10px 14px!important;font-size:11px!important;letter-spacing:.06em}
html body.employees-body .employee-directory-table td{padding:10px 14px!important;vertical-align:middle!important}
html body.employees-body .employee-directory-table tbody tr:hover td{background:var(--slate-50)}
html body.employees-body .employee-directory-person strong{display:block;font-size:13.5px;font-weight:650;color:var(--slate-900)}
html body.employees-body .employee-directory-person small{display:block;font-size:12px;color:var(--slate-500)}
html body.employees-body .employee-directory-table .table-status{display:inline-block;padding:2px 9px!important;font-size:12px!important;font-weight:600!important;white-space:nowrap;background:var(--slate-100)!important;border:1px solid var(--slate-200)!important;color:var(--slate-700)!important}
html body.employees-body .employee-directory-table .employee-state{display:inline-block;padding:2px 9px!important;font-size:12px!important;font-weight:650!important;white-space:nowrap}
html body.employees-body .employee-access-cell strong,
html body.employees-body .employee-hr-status>span{display:block;font-size:13px!important;font-weight:600!important;line-height:1.35!important;color:var(--slate-800,#1e293b)!important}
html body.employees-body .employee-access-cell small,
html body.employees-body .employee-hr-status small{display:block;font-size:12px!important;color:var(--slate-500)!important}
html body.employees-body .employee-hr-status>span::before{content:"";display:inline-block;width:7px;height:7px;margin:0 6px 1px 0;border-radius:50%;background:var(--slate-300);vertical-align:middle}
html body.employees-body .employee-hr-status>span.ok::before{background:var(--ok-600)}
html body.employees-body .employee-hr-status>span.missing{color:var(--warn-800)!important}
html body.employees-body .employee-hr-status>span.missing::before{background:var(--warn-600)}

/* Acties op één regel */
html body.employees-body .employee-directory-actions{white-space:nowrap}
html body.employees-body .employee-directory-actions>*{vertical-align:middle}
html body.employees-body .employee-directory-actions .employee-open-button{display:inline-flex!important;width:auto!important;min-height:32px!important;padding:6px 12px!important;border-radius:8px!important;font-size:12.5px!important;margin:0 6px 0 0!important}
html body.employees-body .employee-actions-menu{display:inline-block!important;position:relative;margin:0!important}
html body.employees-body .employee-actions-menu>summary{display:inline-flex!important;align-items:center;min-height:32px!important;padding:6px 10px!important;border:1px solid var(--slate-200)!important;border-radius:8px!important;background:#fff!important;font-size:12.5px!important;font-weight:650!important;color:var(--slate-700)!important;cursor:pointer;list-style:none}
html body.employees-body .employee-actions-menu>summary::-webkit-details-marker{display:none}
html body.employees-body .employee-actions-menu>summary::after{content:"";width:6px;height:6px;margin:0 0 3px 7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
html body.employees-body .employee-actions-menu[open]>div{right:0;left:auto;z-index:30}

/* v0.162.243 · Medewerkers: kaart "Testen als werknemer" verwijderd; toevoegkaart over de volle breedte */
html body.employees-body .employee-admin-grid{grid-template-columns:minmax(0,1fr)!important}

/* v0.162.249 · Medewerkergegevens: persoonlijke accountgegevens beheren */
.employee-payroll-personal-card{grid-column:1/-1}
.employee-payroll-personal-form{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}
.employee-payroll-personal-form .wide{grid-column:span 2}
.employee-payroll-personal-form .form-actions{grid-column:1/-1}
.employee-payroll-personal-form .field-help{font-size:11.5px;line-height:1.45;color:#718079;font-weight:500}
@media(max-width:900px){.employee-payroll-personal-form{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-payroll-personal-form .wide{grid-column:1/-1}}
@media(max-width:620px){.employee-payroll-personal-form{grid-template-columns:1fr}.employee-payroll-personal-form .wide{grid-column:auto}}


/* v0.162.255 · Planning: vervangingsacties op gelijke hoogte in Dienst bewerken */
html body .plan-edit-dialog .plan-dialog-absence-actions{display:flex;align-items:center;align-content:center;gap:12px;flex-wrap:wrap}
html body .plan-edit-dialog .plan-dialog-absence-actions>form{margin:0;display:flex;align-items:center;min-height:46px;max-width:100%}
html body .plan-edit-dialog .plan-dialog-absence-actions .plan-dialog-direct-replacement{display:flex;align-items:center;flex:1 1 490px;min-width:0;flex-wrap:nowrap;gap:12px}
html body .plan-edit-dialog .plan-dialog-direct-replacement .flex-combobox{flex:1 1 260px;min-width:0;width:auto;max-width:none;margin:0}
html body .plan-edit-dialog .plan-dialog-direct-replacement select{flex:1 1 260px;min-width:0;width:100%;max-width:100%;margin:0}
html body .plan-edit-dialog .plan-dialog-absence-actions button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;margin:0}
@media(max-width:900px){
 html body .plan-edit-dialog .plan-dialog-absence-actions .plan-dialog-direct-replacement{flex:1 1 100%;order:3}
}
@media(max-width:700px){
 html body .plan-edit-dialog .plan-dialog-absence-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}
 html body .plan-edit-dialog .plan-dialog-absence-actions>form{display:flex;width:100%;min-height:0}
 html body .plan-edit-dialog .plan-dialog-absence-actions .plan-dialog-direct-replacement{order:initial;flex-direction:column;align-items:stretch;flex:0 1 auto;gap:10px}
 html body .plan-edit-dialog .plan-dialog-direct-replacement .flex-combobox,
 html body .plan-edit-dialog .plan-dialog-direct-replacement select{flex:0 1 auto;width:100%;min-width:0}
 html body .plan-edit-dialog .plan-dialog-absence-actions button{width:100%}
}

/* v0.162.256 · Planning → Handmatige uitzondering: grotere, responsieve formuliertekst. */
#planning-shift .planning-action-summary strong{
  font-size:17px;
  line-height:1.3;
}
#planning-shift .planning-action-summary small{
  font-size:14px;
  line-height:1.45;
}
#planning-shift .planning-action-icon,
#planning-shift .planning-summary-chevron,
#planning-shift[open] .planning-summary-chevron:after{
  font-size:13px;
}
#planning-shift .planning-action-body>.planning-section-head.compact h2,
#planning-shift .planning-action-body .planning-section-head.compact h2{
  font-size:23px;
  line-height:1.25;
}
#planning-shift .planning-action-body>.planning-section-head.compact p,
#planning-shift .planning-action-body .planning-section-head.compact p{
  max-width:1150px;
  font-size:16px;
  line-height:1.55;
}
#planning-shift .planning-quick-add-context{
  gap:7px 12px;
  padding:12px 14px;
  margin-bottom:16px;
}
#planning-shift .planning-quick-add-context strong{
  font-size:14px;
  line-height:1.4;
}
#planning-shift .planning-quick-add-context span{
  font-size:13px;
  line-height:1.45;
}
#planning-shift .planning-shift-form{
  gap:18px;
}
#planning-shift .planning-form-section{
  padding:20px 22px 22px;
  border-radius:16px;
}
#planning-shift .planning-form-section legend{
  padding:0 7px;
  font-size:16px;
  line-height:1.3;
}
#planning-shift .planning-form-section>p,
#planning-shift .planning-shift-form fieldset>p{
  margin-bottom:16px;
  font-size:15px;
  line-height:1.55;
}
#planning-shift .planning-form-grid{
  gap:15px 18px;
}
#planning-shift .planning-form-grid label{
  gap:7px;
}
#planning-shift .planning-form-grid label>span,
#planning-shift .planning-shift-form label>span{
  color:#526158;
  font-size:15px;
  line-height:1.3;
  font-weight:800;
}
#planning-shift .planning-form-grid input,
#planning-shift .planning-form-grid select,
#planning-shift .planning-shift-form input,
#planning-shift .planning-shift-form select{
  min-height:50px;
  padding:12px 14px;
  border-radius:11px;
  font-size:16px;
  line-height:1.25;
}
#planning-shift .planning-form-grid label>small,
#planning-shift .planning-shift-form small{
  font-size:13px;
  line-height:1.5;
}
#planning-shift .planning-break-time-fields{
  padding:20px 22px;
  margin-top:18px;
}
#planning-shift .planning-break-time-fields>strong{
  font-size:17px;
  line-height:1.35;
}
#planning-shift .planning-break-time-fields>p{
  margin:8px 0 16px;
  font-size:15px;
  line-height:1.55;
}
#planning-shift .planning-advanced-context>summary{
  padding:17px 20px;
}
#planning-shift .planning-advanced-context>summary strong{
  font-size:15px;
  line-height:1.35;
}
#planning-shift .planning-advanced-context>summary span{
  font-size:13px;
  line-height:1.4;
}
#planning-shift .planning-advanced-context>summary:after{
  font-size:13px;
}
#planning-shift .planning-advanced-context-body{
  gap:16px;
  padding:0 16px 16px;
}
#planning-shift .planning-shift-form>.planning-form-actions{
  margin-top:2px;
}
#planning-shift .planning-shift-form>.planning-form-actions .primary-button{
  min-width:180px;
  min-height:50px;
  padding:11px 18px;
  font-size:16px;
}

/* Op doorsnee laptopbreedtes krijgt grotere tekst voldoende ruimte door vroeger te herschikken. */
@media(max-width:1400px){
  #planning-shift .planning-form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  #planning-shift .planning-form-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  #planning-shift .planning-action-body{padding-left:14px;padding-right:14px}
  #planning-shift .planning-form-section{padding:17px 16px 18px}
  #planning-shift .planning-form-grid-4,
  #planning-shift .planning-form-grid-3,
  #planning-shift .planning-form-grid-2{grid-template-columns:1fr}
  #planning-shift .planning-field-span-2,
  #planning-shift .planning-field-span-all{grid-column:auto}
  #planning-shift .planning-advanced-context>summary{align-items:flex-start;flex-direction:column}
  #planning-shift .planning-shift-form>.planning-form-actions .primary-button{width:100%}
}
@media(max-width:520px){
  #planning-shift .planning-action-body>.planning-section-head.compact h2,
  #planning-shift .planning-action-body .planning-section-head.compact h2{font-size:21px}
  #planning-shift .planning-action-body>.planning-section-head.compact p,
  #planning-shift .planning-action-body .planning-section-head.compact p{font-size:15px}
  #planning-shift .planning-form-grid input,
  #planning-shift .planning-form-grid select,
  #planning-shift .planning-shift-form input,
  #planning-shift .planning-shift-form select{font-size:16px}
}

/* v0.162.313: leesbare kaartlayout en expliciete keuze voor vroegtijdig inklokken */
.time-early-option{display:grid;grid-template-columns:24px minmax(0,1fr);gap:14px;align-items:center;position:relative;cursor:pointer;min-height:88px}
.time-early-option .time-early-radio{height:21px;width:21px;border:2px solid #92a59b;border-radius:50%;display:block;position:relative}
.time-early-option input:checked + .time-early-radio{border-color:#278565}
.time-early-option input:checked + .time-early-radio:after{content:"";position:absolute;inset:4px;border-radius:50%;background:#278565}
.time-early-option:has(input:checked){background:#edf6f1;border-color:#73b59b}
.time-early-option:focus-within{outline:2px solid #278565;outline-offset:2px}
.time-early-option>span:last-child{grid-column:2;display:grid;gap:4px;min-width:0}
.time-info-panel{width:100%;max-width:620px;box-sizing:border-box;margin:0 auto 16px;border:1px solid #dce6df;border-radius:16px;padding:18px;background:#f8faf8;display:flex;flex-direction:column;gap:14px;color:#26362d}
.time-info-heading{display:flex;align-items:center;gap:12px;min-width:0}
.time-info-heading>div{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.time-info-heading strong{font-size:16px;line-height:1.3}
.time-info-heading small,.time-info-panel p{font-size:12px;line-height:1.5;color:#68776e;margin:0}
.time-info-icon{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:10px;background:#e7eee9;color:#52745d;font-size:20px}
.time-info-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.time-info-metrics>div{display:flex;flex-direction:column;gap:5px;padding:12px;background:#fff;border:1px solid #e3eae5;border-radius:11px;min-width:0}
.time-info-metrics span,.time-break-countdown>span{font-size:11px;color:#64746b}
.time-info-metrics strong{font-size:18px;line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.time-break-countdown{text-align:center;border-radius:13px;background:#f1f4ee;padding:18px;display:flex;flex-direction:column;gap:5px}
.time-break-countdown strong{font-size:42px;line-height:1.2;font-variant-numeric:tabular-nums;color:#25352b}
.time-break-countdown small{font-size:12px;color:#68776e}
@media(max-width:600px){.time-info-metrics{grid-template-columns:1fr 1fr}.time-info-metrics>div:last-child{grid-column:1/-1}.time-info-panel{padding:14px}.time-early-option{grid-template-columns:24px minmax(0,1fr)}}

/* HR-bronnen: compact overzicht met uitklapbaar boekingsformulier (v0.162.336). */
.early-clock-source-table{width:100%;min-width:780px}
.early-clock-source-table th,.early-clock-source-table td{vertical-align:middle}
.early-clock-source-table td:last-child{min-width:185px}
.early-clock-source-actions{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.early-clock-source-status{display:inline-block;color:#58687b;font-size:.88rem;font-weight:600}
.early-clock-precision{display:block;line-height:1.4;margin-top:4px}
.early-clock-prepare-form{margin:0}
.early-clock-booking-row>td{padding:0 12px 18px!important;border-top:0!important}
.early-clock-booking-details{display:block;max-width:100%}
.early-clock-booking-details>summary{display:inline-flex!important;align-items:center;gap:10px;cursor:pointer;list-style:none;margin:2px 0 0}
.early-clock-booking-details>summary::-webkit-details-marker{display:none}
.early-clock-booking-details[open]>summary{margin-bottom:12px}
.early-clock-booking-panel{background:#f6f8f7;border:1px solid #dfe7e3;border-radius:12px;padding:18px 20px}
.early-clock-booking-heading{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:22px;line-height:1.45}
.early-clock-booking-heading strong{display:block;font-size:18px;font-weight:700;line-height:1.4;color:#1e2933}
.early-clock-booking-heading .muted{display:block;font-size:16px;line-height:1.5;color:#526577}
.early-clock-booking-form{display:grid;grid-template-columns:minmax(230px,1fr) minmax(300px,1.6fr);gap:20px;align-items:start}
.early-clock-booking-form label{display:flex;flex-direction:column;gap:9px;font-size:16px;font-weight:600;line-height:1.45;min-width:0;color:#334155}
.early-clock-booking-form select,.early-clock-booking-form textarea{width:100%;min-width:0;box-sizing:border-box;font-size:16px;line-height:1.5;min-height:48px;padding:11px 13px}
.early-clock-booking-form textarea{resize:vertical;min-height:100px}
.early-clock-booking-buttons{grid-column:1/-1;display:flex;justify-content:flex-end;margin-top:2px}
.early-clock-booking-buttons .button{font-size:16px;line-height:1.4;min-height:48px;padding:12px 20px}
.early-clock-booking-disclaimer{margin:18px 0 0;font-size:15px;line-height:1.55;color:#536579!important}
.early-clock-source-notice{margin-top:14px}
@media(max-width:760px){.early-clock-booking-form{grid-template-columns:minmax(0,1fr)}.early-clock-booking-buttons{grid-column:1}.early-clock-booking-panel{padding:14px}}

/* v0.162.392 — responsieve payrollregelacties zonder letter-voor-letter afbreken. */
.payroll-lines-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.payroll-lines-table{min-width:1320px!important;table-layout:auto!important}
.payroll-lines-table th:nth-child(9),.payroll-lines-table td:nth-child(9){width:166px!important;min-width:166px!important}
.payroll-lines-table td[data-label="Acties"]{white-space:nowrap;overflow-wrap:normal;word-break:normal}
.payroll-lines-table .payroll-historical-source-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;white-space:nowrap!important;overflow-wrap:normal!important;word-break:keep-all!important;min-width:142px;max-width:none;min-height:36px;padding:8px 12px;font-size:12px;line-height:1.2;text-align:center;text-decoration:none}
@container (max-width:1080px){
 .payroll-lines-table{min-width:0!important;table-layout:auto!important}
 .payroll-lines-table th:nth-child(9),.payroll-lines-table td:nth-child(9){width:auto!important;min-width:0!important}
 .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td[data-label="Acties"]{white-space:normal;overflow-wrap:normal}
 .payroll-lines-table .payroll-historical-source-button{width:auto;max-width:100%;min-width:0;white-space:nowrap!important}
}
@container (max-width:720px){
 .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td[data-label="Acties"]{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center}
 .payroll-lines-table .payroll-historical-source-button{justify-self:start;padding-inline:12px}
}

/* v0.162.394 — de bestaande responsive payrollkaarten inschakelen zodra de
   inhoudscontainer kleiner is dan de volledige 9-kolomstabel. Overschrijft
   de te brede v0.162.392-min-width (ook bij smalle desktopvensters). */
.payroll-control-details,.payroll-control-details-body,.payroll-lines-wrap{min-width:0;max-width:100%;box-sizing:border-box}
.payroll-control-list{container-type:inline-size}
.payroll-lines-table .payroll-historical-source-button{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}
@container (max-width:1450px){
 .payroll-lines-wrap{overflow-x:visible!important}
 .payroll-lines-table{display:block!important;width:100%!important;min-width:0!important;table-layout:auto!important}
 .payroll-lines-table thead{display:none!important}
 .payroll-lines-table tbody{display:block!important;width:100%!important;min-width:0!important}
 .payroll-lines-table tbody>tr:not(.payroll-line-action-row){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:2px 18px!important;width:100%!important;min-width:0!important;box-sizing:border-box!important;margin:0 0 12px!important;padding:14px 16px!important;border:1px solid #e3e8e4!important;border-radius:14px!important;background:#fff}
 .payroll-lines-table tbody>tr.payroll-line-warning{background:#fffdf7!important}
 .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td{display:grid!important;grid-template-columns:105px minmax(0,1fr)!important;gap:8px!important;align-items:start!important;grid-column:auto!important;width:auto!important;min-width:0!important;padding:7px 0!important;border:0!important;overflow-wrap:anywhere}
 .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td::before{content:attr(data-label)!important;color:#7a827c!important;font-size:10px!important;font-weight:800!important;text-transform:uppercase!important}
 .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td.payroll-line-select-col{grid-column:1/-1!important}
 .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td[data-label="Acties"]{white-space:normal!important;align-self:start!important}
 .payroll-lines-table .payroll-historical-source-button{min-width:142px!important;max-width:100%!important;min-height:40px!important;justify-self:start!important}
 .payroll-lines-table tbody>tr.payroll-line-action-row{display:block!important;width:100%!important;min-width:0!important;margin:0 0 14px!important}
 .payroll-lines-table tbody>tr.payroll-line-action-row>td{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:0!important;box-sizing:border-box!important}
 .payroll-lines-table .payroll-line-source-context{max-width:100%!important;min-width:0!important;box-sizing:border-box!important;margin:12px 0!important;overflow-wrap:anywhere!important}
 .payroll-lines-table .payroll-line-source-context-head{flex-wrap:wrap!important;min-width:0!important}
 .payroll-lines-table .payroll-line-source-context p{overflow-wrap:anywhere!important}
}
@container (max-width:740px){
 .payroll-lines-table tbody>tr:not(.payroll-line-action-row){grid-template-columns:minmax(0,1fr)!important;padding:12px!important}
 .payroll-lines-table tbody>tr:not(.payroll-line-action-row)>td{grid-column:1!important;grid-template-columns:96px minmax(0,1fr)!important}
 .payroll-lines-table .payroll-historical-source-button{min-width:142px!important}
}
@supports not (container-type:inline-size){
 @media(max-width:1550px){.payroll-lines-wrap{overflow-x:auto!important}.payroll-lines-table{min-width:1240px!important}}
}
