/* Ferien-Überblick — Jahres-Raster */
.fu-empty{ padding:24px; color:var(--text-muted); }
.fu-year{ font-weight:600; min-width:54px; text-align:center; display:inline-block; }

.fu-legend{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:4px 0 12px; font-size:12px; color:var(--text-muted); }
.fu-leg{ display:inline-flex; align-items:center; gap:5px; }
.fu-leg.fu-sep{ margin-left:8px; font-weight:600; }
.fu-sw{ width:13px; height:13px; border-radius:3px; display:inline-block; background:#cbd5e1; }

/* Absenz-Typ-Farben (Legenden-Swatch .fu-sw.X + Zelle .fu-c.X) */
.fu-sw.kr,.fu-c.kr{ background:#ef4444; }   /* Krankheit     rot    */
.fu-sw.un,.fu-c.un{ background:#f97316; }   /* Unfall        orange */
.fu-sw.fe,.fu-c.fe{ background:#22c55e; }   /* Ferien        grün   */
.fu-sw.mi,.fu-c.mi{ background:#6366f1; }   /* Militär/ZS    indigo */
.fu-sw.ka,.fu-c.ka{ background:#94a3b8; }   /* Kurzarbeit    grau   */
.fu-sw.wb,.fu-c.wb{ background:#a855f7; }   /* Weiterbildung lila   */
.fu-sw.ub,.fu-c.ub{ background:#64748b; }   /* Unbezahlt     slate  */
.fu-sw.ba,.fu-c.ba{ background:#14b8a6; }   /* Bez. Absenz   teal   */
.fu-sw.ko,.fu-c.ko{ background:#f59e0b; }   /* Kompensation  amber  */

/* Status-Intensität */
.st-beantragt{ opacity:.42; outline:1px dashed rgba(0,0,0,.4); outline-offset:-2px; }
.st-bewilligt{ opacity:.72; }
.st-bestaetigt,.st-verbucht{ opacity:1; }

.fu-wrap{ overflow:auto; border:1px solid var(--border,#e5e7eb); border-radius:8px; max-height:72vh; }
.fu-grid{ border-collapse:separate; border-spacing:0; font-size:11px; }
.fu-grid th,.fu-grid td{ border-bottom:1px solid #eef2f7; }
.fu-grid thead th{ position:sticky; top:0; background:#fff; z-index:2; }
.fu-mh{ text-align:center; font-weight:600; border-left:2px solid #cbd5e1; color:var(--text-muted); }
.fu-dh{ width:14px; min-width:14px; text-align:center; color:#94a3b8; font-weight:400; padding:2px 0; }
.fu-dh.we{ background:#f1f5f9; }
.fu-dh.m1{ border-left:2px solid #cbd5e1; }

.fu-name{ text-align:left; white-space:nowrap; padding:3px 10px; font-size:12px; max-width:240px; overflow:hidden; text-overflow:ellipsis; }
.fu-stick{ position:sticky; left:0; background:#fff; z-index:3; border-right:2px solid #cbd5e1; }
thead .fu-stick{ z-index:4; }
.fu-cnt{ display:inline-block; min-width:18px; text-align:center; margin-left:6px; padding:0 5px; border-radius:9px; background:var(--brand-soft,#e0f2fe); color:var(--brand-dark,#075985); font-size:10px; font-weight:600; }

.fu-c{ width:14px; min-width:14px; height:22px; padding:0; }
.fu-c.we{ background:#f1f5f9; }   /* Wochenende */
.fu-c.ft{ background:#fde68a; }   /* Feiertag hell */
.fu-c.m1{ border-left:2px solid #94a3b8; }   /* Monatstrenner kräftiger */
.fu-dh.m1, .fu-mh{ border-left:2px solid #94a3b8; }

/* Segmented Umschalter Jahr/Monat */
.fu-seg{ display:inline-flex; border:1px solid var(--border,#e5e7eb); border-radius:8px; overflow:hidden; }
.fu-seg button{ border:0; background:#fff; padding:6px 12px; font-size:13px; cursor:pointer; color:var(--text-muted); }
.fu-seg button.on{ background:var(--brand,#0ea5e9); color:#fff; font-weight:600; }

/* Suche */
.fu-search{ gap:6px; }
.fu-q{ border:1px solid var(--border,#e5e7eb); border-radius:7px; padding:5px 9px; font-size:13px; min-width:200px; }

/* Monatsansicht: breite, lesbare Zellen + Wochentag-Kürzel */
.fu-month .fu-dh{ width:26px; min-width:26px; font-size:11px; line-height:1.1; padding:3px 0; }
.fu-month .fu-dh small{ display:block; font-size:9px; color:#cbd5e1; }
.fu-month .fu-dh.we small{ color:#94a3b8; }
.fu-month .fu-c{ width:26px; min-width:26px; height:26px; }
.fu-month .fu-mh{ font-size:13px; }
