/* RC13: bezetting per team, controlelijst uit dienst, meldingen en teamoverzicht. */

.rc13-toast{position:fixed;right:18px;bottom:18px;z-index:60;max-width:min(520px,calc(100% - 36px));padding:12px 16px;border-radius:12px;background:var(--green);color:#fff;font-weight:650;box-shadow:var(--shadow)}
.rc13-toast.problem{background:var(--red)}
.form-message.problem{color:var(--red)}

.rc13-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:end}
.rc13-controls label{display:grid;gap:4px}
.rc13-controls input,.rc13-controls select{min-width:0;width:auto}
.rc13-occupancy-scroll{overflow-x:auto;margin-top:10px}
.rc13-occupancy{border-collapse:collapse;width:auto;min-width:100%;font-variant-numeric:tabular-nums}
.rc13-occupancy th,.rc13-occupancy td{padding:4px 5px;border:1px solid var(--line);text-align:center;font-size:12px;white-space:nowrap}
.rc13-occupancy thead th{position:sticky;top:0;background:#f5f6f2;z-index:2;text-transform:none;letter-spacing:0;font-size:11px;line-height:1.2}
.rc13-occupancy tbody th{text-align:left;background:#fff;position:sticky;left:0;z-index:1;font-size:13px;font-weight:650}
.rc13-occupancy .rc13-team th{background:var(--green-soft);color:var(--green);text-align:left;font-size:13px;letter-spacing:.04em}
.rc13-occupancy .rc13-totals th,.rc13-occupancy .rc13-totals td{background:#f5f6f2;font-weight:750}
.rc13-occupancy .rc13-grand th,.rc13-occupancy .rc13-grand td{background:var(--blue-soft);color:var(--blue);font-weight:800}
.rc13-occupancy .weekend{background:#f4f4f1;color:var(--muted)}
.rc13-occupancy .today{box-shadow:inset 0 0 0 2px var(--green)}
/* 5.2.0: voorbije kolommen (geteld volgens de klok) in een eigen tint, met een scheidslijn vóór de eerste komende dag. */
.rc13-occupancy th.past,.rc13-occupancy td.past{background:#eef3f6}
.rc13-occupancy .weekend.past{background:#e7ecef}
.rc13-occupancy thead th.past{background:#e4ebf0}
.rc13-occupancy th.first-future,.rc13-occupancy td.first-future{border-left:3px solid var(--blue)}
.rc13-cell.actual{color:var(--blue);font-weight:750}
.rc13-cell.missing{background:#fdf3e6;color:var(--red);font-weight:900}
.rc13-cell.absent{background:var(--red-soft);color:var(--red);font-weight:800}
.rc13-cell.sick{background:var(--amber-soft);color:var(--amber);font-weight:800}
.rc13-cell.partial{background:#fdf3e6;color:var(--amber);font-weight:700}
.rc13-cell.partial.actual{color:var(--amber)}
.rc13-cell.holiday{background:#ecefed;color:var(--muted);font-weight:700}
.rc13-cell.off{color:#c3c9c5}
.rc13-controls .rc13-occ-toggle{display:flex;align-self:center;gap:7px;color:var(--ink);font-size:13px;white-space:nowrap}
.rc13-name{border:0;padding:0;background:transparent;color:inherit;font:inherit;font-weight:650;cursor:pointer;text-align:left}
.rc13-name:hover{color:var(--green);text-decoration:underline}
.rc13-offboarding{margin-top:16px;padding:16px;border:1px solid #dfaaa5;border-radius:12px;background:var(--red-soft)}
.rc13-offboarding h3{margin:0 0 4px}
.rc13-checklist{display:grid;gap:8px;margin-top:10px}
.rc13-checklist .check-label{align-items:start;color:var(--ink)}
.rc13-checklist small{display:block;margin:2px 0 0;color:var(--muted)}

/* Eigen rooster: teamoverzicht. */
.rc13-team-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:8px;font-size:12px}
.rc13-team-head{color:var(--muted);text-align:center;font-weight:700}
.rc13-team-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;align-items:center}
.rc13-team-name{grid-column:1/-1;margin-top:6px;font-weight:700}
.rc13-team-day{min-height:26px;border-radius:6px;background:#ecefed;color:var(--muted);text-align:center;line-height:26px}
.rc13-team-day.on{background:var(--green-soft);color:var(--green);font-weight:800}
.rc13-team-week{grid-column:1/-1;margin-top:10px;color:var(--muted);font-weight:700}

@media(max-width:800px){.rc13-controls{width:100%}.rc13-controls .button{flex:1}}
@media print{
  body.rc13-print-occupancy *{visibility:hidden}
  body.rc13-print-occupancy #rc13-occupancy,body.rc13-print-occupancy #rc13-occupancy *{visibility:visible}
  body.rc13-print-occupancy #rc13-occupancy{position:absolute;left:0;top:0;width:100%;padding:0;border:0;box-shadow:none}
  body.rc13-print-occupancy .rc13-controls,body.rc13-print-occupancy #rc13-occ-message,body.rc13-print-occupancy .hx-stored{display:none}
  body.rc13-print-occupancy .rc13-occupancy th,body.rc13-print-occupancy .rc13-occupancy td{font-size:9px;padding:2px 3px}
}
