/* ============================================================
   Urenregistratie op de server (WP21): weekstaat, accorderen,
   doorzetten en de HR-weekmatrix. Alleen bestaande tokens.
   ============================================================ */
.uws-scroll { overflow-x: auto; }
.uws-grid { display: grid; grid-template-columns: minmax(170px, 1.2fr) minmax(190px, 1.4fr) minmax(170px, 1.3fr) repeat(7, 56px) 70px 176px; gap: 6px; align-items: center; padding: 7px 18px; min-width: 1210px; }
.uws-grid--kop { padding: 12px 18px; border-bottom: 1px solid var(--line-strong); }
.uws-grid--kop > span, .uws-acc--kop > span, .uws-hr--kop > span, .uws-dz-rij--kop > span { font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-3); }
.uws-dag { display: flex; flex-direction: column; align-items: center; line-height: 1.15; }
.uws-dag i { font-style: normal; font-size: 10px; color: var(--text-3); font-weight: 500; text-transform: none; letter-spacing: 0; }
/* h92: .uws-dag--we had hier opacity .75 (kop 3,24:1); het weekend blijft herkenbaar aan de grijze urencellen (.uws-uur--we) */
.uws-rij { border-bottom: 1px solid var(--line); }
.uws-rij select, .uws-rij input { width: 100%; min-width: 0; font: inherit; font-size: 12.5px; padding: 6px 8px; border-radius: 7px; border: 1px solid var(--line-strong); background: var(--surface); color: var(--text); }
.uws-rij select:focus, .uws-rij input:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-soft); }
.uws-rij select:disabled { color: var(--text-3); background: var(--bg-2); }
.uws-kop { display: flex; gap: 6px; min-width: 0; }
.uws-kop select:first-child { flex: 1; }
.uws-hfd { width: 92px !important; flex: none; }
.uws-uur { text-align: center; padding: 6px 4px !important; }
.uws-uur--we { background: var(--bg-2) !important; }
.uws-uur--vast.uws-uur--we { background: transparent !important; }
.uws-uur--vast { display: block; text-align: center; font-size: 12.5px; font-weight: 600; color: var(--text-2); }
.uws-rij--vast { background: color-mix(in srgb, var(--bg-2) 55%, transparent); }
.uws-rij--af { background: var(--signal-soft); }
.uws-afkeur { grid-column: 1 / -1; display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--signal); padding: 2px 2px 4px; }
.uws-num { text-align: right; font-variant-numeric: tabular-nums; font-size: 12.5px; }
.uws-num--dag { text-align: center; color: var(--text-2); }
.uws-teveel { color: var(--signal); }
.uws-weg { justify-self: end; width: 28px; height: 28px; border-radius: 7px; display: inline-flex; align-items: center; justify-content: center; color: var(--text-3); }
.uws-weg:hover { background: var(--signal-soft); color: var(--signal); }
.uws-cel { display: flex; flex-direction: column; min-width: 0; font-size: 12.5px; }
.uws-cel b { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.uws-cel i { font-style: normal; font-size: 11px; color: var(--text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.uws-cel--oms { color: var(--text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
.uws-st { display: flex; justify-content: flex-end; }
.uws-rij--vast .uws-st { grid-column: auto; }
.uws-grid--voet { padding: 10px 18px 12px; }
.uws-kies { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--text-3); }
.uws-kies select { font: inherit; font-size: 12.5px; padding: 6px 9px; border-radius: 8px; border: 1px solid var(--line-strong); background: var(--surface); color: var(--text); min-width: 240px; }
.uws-vuil { font-size: 12px; color: var(--amber-tekst); font-weight: 600; }
.uws-uitleg { display: flex; align-items: flex-start; gap: 8px; font-size: 12px; color: var(--text-3); line-height: 1.5; margin: 12px 4px 0; }
.uws-uitleg svg { flex-shrink: 0; margin-top: 2px; }
.uws-melding { display: flex; align-items: flex-start; gap: 10px; margin: 10px 18px; padding: 11px 14px; border-radius: 10px; background: color-mix(in srgb, var(--amber) 10%, var(--surface)); border: 1px solid color-mix(in srgb, var(--amber) 30%, transparent); font-size: 12.5px; color: var(--text); }
.uws-melding > svg { color: var(--amber); flex-shrink: 0; margin-top: 1px; }
.uws-melding div { display: flex; flex-direction: column; gap: 3px; }
.uws-melding span { color: var(--text-2); line-height: 1.45; }
.uws-melding--fout { background: var(--signal-soft); border-color: color-mix(in srgb, var(--signal) 30%, transparent); }
.uws-melding--fout > svg { color: var(--signal); }
.screen > .uws-melding, .uws-hrkop + .uws-melding { margin: 0 0 var(--gap); }

/* accorderen */
.uws-acc { display: grid; grid-template-columns: minmax(170px, 1.4fr) repeat(7, 48px) 64px minmax(190px, 1.4fr) minmax(250px, 1.4fr); gap: 8px; align-items: center; padding: 10px 18px; min-width: 1080px; }
.uws-acc--kop { border-bottom: 1px solid var(--line-strong); }
.uws-acc--rij { border-bottom: 1px solid var(--line); }
.uws-acc--rij:last-child { border-bottom: none; }
.uws-tags { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; }
.uws-tagrij { display: inline-flex; align-items: center; gap: 6px; }
.uws-tagrij i { font-style: normal; font-size: 11.5px; color: var(--text-2); font-variant-numeric: tabular-nums; }
.uws-acties { display: flex; gap: 7px; justify-content: flex-end; align-items: center; flex-wrap: wrap; }
.uws-acties button:disabled { opacity: .55; cursor: default; }
.uws-wacht { font-style: normal; font-size: 11.5px; color: var(--text-3); text-align: right; }

/* doorzetten */
.uws-dz-knop:disabled { opacity: .45; cursor: not-allowed; filter: grayscale(.4); }
/* kerncijfers als rasterband bovenin de kaart: geen eigen kaartrand, wel een lijn eronder */
.uws-dz-kpi.kpi-strip--raster { margin: 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: none; }
.uws-dz-tabel { padding: 4px 0 8px; }
.uws-dz-rij { display: grid; grid-template-columns: 1.4fr .8fr .7fr 1.1fr .6fr .8fr .9fr; gap: 10px; padding: 7px 18px; font-size: 12.5px; border-bottom: 1px solid var(--line); align-items: center; }
.uws-dz-rij:last-child { border-bottom: none; }
.uws-dz-som { display: grid; grid-template-columns: 1.2fr 1fr .8fr; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.uws-dz-som b { text-align: right; font-variant-numeric: tabular-nums; }
.uws-dz-som--tot { font-weight: 700; border-bottom: none; }

/* HR weekmatrix */
.uws-hrkop { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: var(--gap); }
.uws-hr { display: grid; grid-template-columns: minmax(190px, 1.4fr) repeat(7, 40px) 66px 62px 70px 88px 80px 90px 80px minmax(200px, 1.3fr); gap: 8px; align-items: center; padding: 9px 18px; min-width: 1340px; }
.uws-hr-stap { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.15; }
.uws-hr-stap i { font-style: normal; font-size: 10px; color: var(--text-3); font-weight: 500; text-transform: none; letter-spacing: 0; }
.uws-hr-gang { gap: 2px; padding-left: 8px; }
.uws-hr--kop { border-bottom: 1px solid var(--line-strong); }
.uws-hr--rij { border-bottom: 1px solid var(--line); }
.uws-hr--rij:last-child { border-bottom: none; }
