.weekstaat-werkblad,
.invulstaat-werkblad,
.weekstaat-keuze {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
}

.weekstaat-werkblad > header,
.invulstaat-werkblad > header,
.weekstaat-keuze > header {
    display: flex;
    min-height: 68px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 11px 16px;
    border-bottom: 1px solid #b8b8b8;
    background: #fff;
}

.weekstaat-werkblad > header small,
.invulstaat-werkblad > header small,
.weekstaat-keuze > header small { color: var(--primair); font-size: 10px; font-weight: 750; }
.weekstaat-werkblad > header h1,
.invulstaat-werkblad > header h1,
.weekstaat-keuze > header h1 { margin: 1px 0; font-size: 20px; }
.weekstaat-werkblad > header p,
.invulstaat-werkblad > header p,
.weekstaat-keuze > header p { margin: 0; color: var(--subtiel); }

.uitvoering-status { padding: 4px 8px; border: 1px solid #a9a9a9; border-radius: 3px; color: #444; background: #f5f5f5; font-size: 11px; font-weight: 700; white-space: nowrap; }
.uitvoering-status.actief,
.uitvoering-status.vastgelegd,
.uitvoering-status.verwerkt { border-color: #6a9d7e; color: #0b5a28; background: #e3f3e9; }
.uitvoering-status.concept { border-color: #b28a31; color: #694b00; background: #fff4ce; }
.uitvoering-status.gereserveerdvoortermijn,
.uitvoering-status.gereserveerd,
.uitvoering-status.bevrorenintermijn,
.uitvoering-status.bevroren { border-color: #5c87a8; color: #174d72; background: #e7f1f8; }

.uitvoering-samenvatting { display: grid; min-height: 54px; flex: 0 0 auto; grid-template-columns: repeat(4, minmax(120px, 1fr)); border-bottom: 1px solid #b8b8b8; background: #f7f7f7; }
.uitvoering-samenvatting > div { min-width: 0; padding: 8px 11px; border-right: 1px solid #c8c8c8; }
.uitvoering-samenvatting > div:last-child { border-right: 0; }
.uitvoering-samenvatting span,
.uitvoering-samenvatting strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uitvoering-samenvatting span { color: var(--subtiel); font-size: 10px; }
.uitvoering-samenvatting strong { margin-top: 2px; font-variant-numeric: tabular-nums; }

.weekstaat-metadata { display: grid; flex: 0 0 auto; grid-template-columns: 190px minmax(220px, 1fr); border-bottom: 1px solid #c8c8c8; background: #fff; }
.weekstaat-metadata label,
.uitvoering-bewerkbalk label { display: grid; min-width: 0; gap: 3px; padding: 7px 10px; }
.weekstaat-metadata label { border-right: 1px solid #d1d1d1; }
.weekstaat-metadata label > span,
.uitvoering-bewerkbalk label > span { color: var(--subtiel); font-size: 10px; font-weight: 650; }
.weekstaat-metadata input,
.uitvoering-bewerkbalk input,
.weekstaat-mobiele-rubriek select { width: 100%; min-width: 0; height: 30px; border: 1px solid #8f8f8f; border-radius: 2px; padding: 4px 7px; background: #fff; }
.weekstaat-metadata input:focus,
.uitvoering-bewerkbalk input:focus,
.weekstaat-mobiele-rubriek select:focus { border-color: var(--primair); outline: 2px solid color-mix(in srgb, var(--primair) 24%, transparent); outline-offset: 0; }

.uitvoering-bewerkbalk { display: grid; min-height: 48px; flex: 0 0 auto; grid-template-columns: minmax(260px, 430px) minmax(240px, 1fr); align-items: center; border-bottom: 1px solid #b8b8b8; background: #fafafa; }
.uitvoering-bewerkbalk p { margin: 0; padding: 7px 11px; color: #425047; }
.uitvoering-bewerkbalk p.fout { color: #a4262c; background: #fdf2f3; font-weight: 650; }

.uitvoering-werkgebied { display: grid; min-width: 0; min-height: 0; flex: 1 1 auto; grid-template-columns: 205px minmax(0, 1fr); overflow: hidden; }
.uitvoering-staat { display: flex; min-width: 0; min-height: 0; flex-direction: column; overflow: hidden; }
.weekstaat-rubrieken { min-height: 0; overflow-y: auto; border-right: 1px solid #9fa7a2; background: #f8f9f8; scrollbar-gutter: stable; }
.weekstaat-rubrieken > header { display: flex; position: sticky; z-index: 2; top: 0; min-height: 38px; align-items: center; justify-content: space-between; padding: 7px 9px; border-bottom: 1px solid #b8b8b8; background: #f3f3f3; }
.weekstaat-rubrieken > header small { color: var(--subtiel); }
.weekstaat-rubriek { display: grid; width: 100%; min-height: 38px; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 5px; border: 0; border-bottom: 1px solid #e0e0e0; border-left: 3px solid transparent; padding: 5px 7px; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.weekstaat-rubriek:hover { background: #edf5f0; }
.weekstaat-rubriek.actief { border-left-color: var(--primair); background: #dfeee5; }
.weekstaat-rubriek small { color: #0b5a28; font-family: "Cascadia Mono", Consolas, monospace; font-weight: 700; }
.weekstaat-rubriek span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.weekstaat-rubriek.niveau-2 { padding-left: 12px; }
.weekstaat-rubriek.niveau-3 { padding-left: 20px; }
.weekstaat-rubriek.niveau-4 { padding-left: 28px; }

.invulstaat-desktop-raster,
.weekstaat-desktop-raster { min-width: 0; min-height: 0; flex: 1 1 auto; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; font-variant-numeric: tabular-nums; }
.invulstaat-raster-inhoud { min-width: 920px; min-height: 100%; }
.weekstaat-raster-inhoud { min-width: 1260px; min-height: 100%; }
.invulstaat-raster-kop,
.invulstaat-raster-rij { display: grid; grid-template-columns: 42px 90px minmax(300px, 1fr) 70px 100px 90px 100px 76px; }
.weekstaat-raster-kop,
.weekstaat-raster-rij { display: grid; grid-template-columns: 42px 90px minmax(310px, 1fr) 65px 84px 84px 112px 88px 104px 112px; }
.invulstaat-raster-kop,
.weekstaat-raster-kop { position: sticky; z-index: 4; top: 0; height: 40px; border-bottom: 1px solid #747c77; color: #454545; background: #f1f1f1; font-size: 11px; font-weight: 650; }
.invulstaat-raster-kop > div,
.weekstaat-raster-kop > div { display: flex; min-width: 0; align-items: center; border-right: 1px solid #aeb5b1; padding: 5px 7px; }
.invulstaat-raster-kop .getal,
.weekstaat-raster-kop .getal { justify-content: flex-end; }
.invulstaat-raster-rij { height: 44px; border-bottom: 1px solid #cfd4d1; background: #fff; }
.weekstaat-raster-rij { height: 48px; border-bottom: 1px solid #cfd4d1; background: #fff; }
.invulstaat-raster-rij:hover,
.weekstaat-raster-rij:hover { background: #f1f7f3; }
.invulstaat-raster-rij.actief,
.weekstaat-raster-rij.actief { background: #dfeee5; box-shadow: inset 3px 0 var(--primair); }
.uitvoering-cel { display: flex; min-width: 0; align-items: center; overflow: hidden; border-right: 1px solid #aeb5b1; padding: 5px 7px; }
.uitvoering-cel.rijhoofd { justify-content: flex-end; color: var(--subtiel); background: #f8f8f8; }
.uitvoering-cel.postnummer { color: #0b5a28; font-family: "Cascadia Mono", Consolas, monospace; font-weight: 700; }
.uitvoering-cel.omschrijving { text-overflow: ellipsis; white-space: nowrap; }
.uitvoering-cel.getal { justify-content: flex-end; text-align: right; white-space: nowrap; }
.uitvoering-cel.resterend,
.uitvoering-cel.cumulatief,
.uitvoering-cel.regelbedrag { font-weight: 700; }
.uitvoering-cel.cumulatief.overschreden { flex-direction: column; align-items: flex-end; justify-content: center; color: #714400; background: #fff4ce; line-height: 1.15; }
.uitvoering-cel.cumulatief.overschreden small { font-size: 9px; font-weight: 700; }
.uitvoering-cel.kenmerk { justify-content: center; font-weight: 700; }
.uitvoering-cel.prijs-voorlopig { text-decoration: underline dotted #777; text-underline-offset: 3px; }
.uitvoering-cel.bedrag-fout { color: #a4262c; background: #fff1f1; font-size: 10px; }
.uitvoering-rubriek-rij { background: #e5f0e9; box-shadow: inset 3px 0 #2f7048; }
.uitvoering-rubriek-rij:hover { background: #dcebe2; }
.uitvoering-rubriek-inhoud { display: flex; min-width: 0; grid-column: 1 / -1; align-items: center; gap: 10px; padding: 6px 12px; }
.uitvoering-rubriek-inhoud span { color: #0b5a28; font-family: "Cascadia Mono", Consolas, monospace; font-weight: 750; }
.uitvoering-rubriek-inhoud strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uitvoering-rubriek-rij.niveau-2 .uitvoering-rubriek-inhoud { padding-left: 26px; }
.uitvoering-rubriek-rij.niveau-3 .uitvoering-rubriek-inhoud { padding-left: 42px; }
.uitvoering-rubriek-rij.niveau-4 .uitvoering-rubriek-inhoud { padding-left: 58px; }

.weekstaat-invoer-omhulsel { display: flex; width: 100%; height: 30px; align-items: center; }
.weekstaat-getal { width: 100%; min-width: 0; height: 30px; border: 1px solid #8a9b90; border-radius: 2px; padding: 3px 7px; background: #fff; text-align: right; font: inherit; font-variant-numeric: tabular-nums; }
.weekstaat-getal:disabled { border-color: transparent; color: inherit; background: transparent; opacity: 1; }
.weekstaat-getal:not(:disabled):hover { border-color: #456e56; }
.weekstaat-getal:focus { border-color: var(--primair); outline: 2px solid color-mix(in srgb, var(--primair) 25%, transparent); outline-offset: 0; }
.weekstaat-getal.ongeldig { border-color: #c42b1c; background: #fff4f4; }
.weekstaat-fouticoon { display: grid; width: 18px; height: 18px; flex: 0 0 18px; place-items: center; margin-left: -21px; border-radius: 50%; color: #fff; background: #c42b1c; font-size: 11px; font-weight: 800; }
.weekstaat-raster-totaal { display: flex; min-height: 42px; flex: 0 0 auto; align-items: center; justify-content: flex-end; gap: 24px; padding: 7px 16px; border-top: 2px solid var(--primair); background: #eef6f1; font-variant-numeric: tabular-nums; }
.weekstaat-raster-totaal strong { min-width: 120px; text-align: right; }
.uitvoering-leeg { display: grid; min-height: 160px; place-items: center; color: var(--subtiel); }

.weekstaat-keuzelijst { min-height: 0; overflow-y: auto; padding: 12px 16px 28px; }
.weekstaat-keuzeregel { display: grid; width: min(820px, 100%); min-height: 62px; grid-template-columns: 32px minmax(0, 1fr) 24px; align-items: center; gap: 10px; border: 1px solid #b8b8b8; border-radius: 4px; padding: 8px 11px; color: inherit; background: #fff; text-align: left; cursor: pointer; }
.weekstaat-keuzeregel + .weekstaat-keuzeregel { margin-top: 8px; }
.weekstaat-keuzeregel:hover { border-color: #5b7f68; background: #f1f7f3; box-shadow: 0 2px 7px #0001; }
.weekstaat-keuzeregel strong,
.weekstaat-keuzeregel small { display: block; }
.weekstaat-keuzeregel small { margin-top: 3px; color: var(--subtiel); }
.weekstaat-keuzepijl { color: var(--primair); font-size: 18px; }
.weekstaat-leeg { padding: 24px; color: var(--subtiel); text-align: center; }
.weekstaat-leeg h2 { color: #242424; }
.blad-icoon.week { color: #0b5a28; border-color: #48805d; }
.blad-icoon.weekstaat { width: 24px; height: 24px; border-radius: 50%; color: #174d72; border-color: #5c87a8; }
.administratie-navregel.weekstaat { min-height: 48px; padding-left: 28px; background: #f7faf8; }
.administratie-navregel.weekstaat.actief { background: #dfeee5; }

.weekstaat-regeldetails p { line-height: 1.4; }
.weekstaat-detailfout,
.weekstaat-detailgoed { display: grid; gap: 3px; padding: 9px 10px; border-left: 3px solid #c42b1c; background: #fff1f1; }
.weekstaat-detailfout { color: #8a1c13 !important; }
.weekstaat-detailgoed { border-left-color: #2f7048; color: #245437 !important; background: #edf7f0; }
.weekstaat-regeldetails dl .detail-overschrijding { color: #714400; background: #fff4ce; }
.weekstaat-regelopmerking { display: grid; gap: 5px; margin-top: 12px; font-weight: 650; }
.weekstaat-regelopmerking textarea { min-height: 80px; resize: vertical; border: 1px solid #8f8f8f; border-radius: 2px; padding: 7px; font: inherit; font-weight: 400; }
.weekstaat-revisie { display: flex; justify-content: space-between; gap: 8px; padding: 6px 0; border-bottom: 1px solid #e0e0e0; }
.weekstaat-revisie span { color: var(--subtiel); }
.weekstaat-dialoogvelden { display: grid; gap: 12px; margin: 16px 0; }
.weekstaat-dialoogvelden label { display: grid; gap: 5px; font-weight: 650; }
.weekstaat-dialoogvelden input,
.weekstaat-dialoogvelden textarea { width: 100%; border: 1px solid #8f8f8f; border-radius: 3px; padding: 8px; font: inherit; }
.weekstaat-dialoogvelden textarea { min-height: 86px; resize: vertical; }
.dialoog-melding.waarschuwing { border-left-color: #b36b00; background: #fff7e6; }
.invulstaat-mobiele-lijst,
.weekstaat-mobiele-lijst { display: none; }

@media (max-width: 1180px) and (min-width: 901px) {
    .uitvoering-werkgebied { grid-template-columns: 180px minmax(0, 1fr); }
}

@media (max-width: 700px) {
    .weekstaat-werkblad > header,
    .invulstaat-werkblad > header,
    .weekstaat-keuze > header { align-items: flex-start; padding: 9px 11px; }
    .weekstaat-werkblad > header h1,
    .invulstaat-werkblad > header h1 { max-width: calc(100vw - 105px); overflow: hidden; font-size: 17px; text-overflow: ellipsis; white-space: nowrap; }
    .uitvoering-samenvatting { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .uitvoering-samenvatting > div:nth-child(2) { border-right: 0; }
    .uitvoering-samenvatting > div:nth-child(-n+2) { border-bottom: 1px solid #c8c8c8; }
    .weekstaat-metadata { grid-template-columns: 140px minmax(0, 1fr); }
    .uitvoering-bewerkbalk { grid-template-columns: minmax(0, 1fr) 150px; }
    .uitvoering-bewerkbalk p { grid-column: 1 / -1; border-top: 1px solid #d1d1d1; }
    .uitvoering-werkgebied { display: block; }
    .invulstaat-desktop-raster,
    .weekstaat-desktop-raster { display: none; }
    .invulstaat-mobiele-lijst,
    .weekstaat-mobiele-lijst { display: block; min-height: 0; flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
    .invulstaat-mobiele-rij,
    .weekstaat-mobiele-rij { box-sizing: border-box; border-bottom: 1px solid #b8b8b8; background: #fff; }
    .invulstaat-mobiele-rij { height: 144px; padding: 9px 11px; }
    .weekstaat-mobiele-rij { display: grid; height: 220px; grid-template-rows: 24px 38px 20px 54px 28px; gap: 5px; padding: 9px 11px; }
    .invulstaat-mobiele-rij.actief,
    .weekstaat-mobiele-rij.actief { background: #e2f1e8; box-shadow: inset 3px 0 var(--primair); }
    .invulstaat-mobiele-rij header,
    .weekstaat-mobiele-rij header { display: flex; align-items: center; gap: 9px; }
    .invulstaat-mobiele-rij header strong,
    .weekstaat-mobiele-rij header strong { color: #0b5a28; font-family: "Cascadia Mono", Consolas, monospace; }
    .invulstaat-mobiele-rij header small,
    .weekstaat-mobiele-rij header small { margin-left: auto; }
    .invulstaat-mobiele-rij p,
    .weekstaat-mobiele-rij p { margin: 7px 0; overflow: hidden; line-height: 18px; }
    .invulstaat-mobiele-rij dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 8px 0 0; }
    .invulstaat-mobiele-rij dl div { text-align: right; }
    .invulstaat-mobiele-rij dt { color: var(--subtiel); font-size: 10px; }
    .invulstaat-mobiele-rij dd { margin: 2px 0 0; font-weight: 700; }
    .weekstaat-mobiele-getallen { display: flex; justify-content: space-between; color: var(--subtiel); font-size: 10px; }
    .weekstaat-mobiele-getallen .mobiele-overschrijding { color: #714400; background: #fff4ce; font-weight: 750; }
    .weekstaat-mobiele-rij > label { display: grid; grid-template-columns: minmax(0, 1fr) 120px; align-items: center; gap: 8px; }
    .weekstaat-mobiele-fout { grid-column: 1 / -1; overflow: hidden; color: #a4262c; font-size: 10px; font-weight: 700; line-height: 12px; text-overflow: ellipsis; white-space: nowrap; }
    .weekstaat-mobiele-rij footer { display: flex; align-items: center; justify-content: space-between; }
    .weekstaat-raster-totaal { min-height: 46px; padding-inline: 11px; }
}

@media (max-width: 430px) {
    .weekstaat-metadata { grid-template-columns: 1fr; }
    .weekstaat-metadata label { border-right: 0; border-bottom: 1px solid #ddd; }
    .uitvoering-bewerkbalk { grid-template-columns: 1fr; }
    .uitvoering-bewerkbalk p { grid-column: 1; }
    .weekstaat-mobiele-rubriek { border-top: 1px solid #ddd; }
}
