/* ── Fristenkalender (2026-10-25) ─ Optik wie die Einsatzplanung in RangeLib ─────────────────────────────── */
.fk-chip { position:relative; display:flex; align-items:center; gap:4px; min-height:20px; padding:2px 7px; border-radius:6px; color:#fff; font-size:0.72rem; line-height:1.25;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis; box-sizing:border-box; width:100%; cursor:pointer; user-select:none; border:0;
    box-shadow:0 1px 2px rgba(0,0,0,0.24), 0 2px 6px rgba(0,0,0,0.14); transition:box-shadow .15s ease, transform .15s ease; }
.fk-chip:hover { box-shadow:0 2px 4px rgba(0,0,0,0.28), 0 6px 14px rgba(0,0,0,0.20); transform:translateY(-1px); }
.fk-chip:focus-visible { outline:2px solid var(--mud-palette-primary); outline-offset:1px; }
.fk-chip-text { overflow:hidden; text-overflow:ellipsis; }
/* Überfällig = roter Rand im Inneren der Karte (Pseudo-Element statt outline, das in Safari mit Rundung nicht überall sichtbar ist). */
.fk-ueberfaellig::after { content:""; position:absolute; inset:0; border:2px solid #ef9a9a; border-radius:6px; pointer-events:none; }
.fk-chip-breit { white-space:normal; align-items:flex-start; padding:4px 8px; }

.fk-monat { display:grid; grid-template-columns:44px repeat(7, minmax(0, 1fr)); border-top:1px solid var(--mud-palette-lines-default); border-left:1px solid var(--mud-palette-lines-default); border-radius:10px; overflow:hidden; background:var(--mud-palette-surface); box-shadow:var(--mud-elevation-2); }
.fk-kopf, .fk-kw { padding:4px 6px; font-size:0.78rem; font-weight:600; text-align:center; border-right:1px solid var(--mud-palette-lines-default); border-bottom:1px solid var(--mud-palette-lines-default); background:var(--mud-palette-background-gray); }
.fk-kw { font-weight:400; opacity:0.75; display:flex; align-items:flex-start; justify-content:center; padding-top:6px; }
.fk-tag { min-height:112px; padding:2px 3px; display:flex; flex-direction:column; gap:2px; border-right:1px solid var(--mud-palette-lines-default); border-bottom:1px solid var(--mud-palette-lines-default); min-width:0; }
.fk-tag-fremd { background:var(--mud-palette-background-gray); opacity:0.7; }
.fk-tag-we { background:rgba(128,128,128,0.07); }
.fk-tag-heute { box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--mud-palette-primary) 75%, transparent); background:color-mix(in srgb, var(--mud-palette-primary) 6%, transparent); }
.fk-tag-nr { font-size:0.78rem; text-align:right; padding:0 3px; cursor:pointer; border-radius:3px; align-self:flex-end; }
.fk-tag-nr:hover { background:var(--mud-palette-action-default-hover); }
.fk-tag-heute .fk-tag-nr { font-weight:700; color:var(--mud-palette-primary); }
.fk-mehr { font-size:0.7rem; padding:0 6px; cursor:pointer; color:var(--mud-palette-primary); }

.fk-woche { display:grid; grid-template-columns:repeat(7, minmax(150px, 1fr)); gap:0; border-top:1px solid var(--mud-palette-lines-default); border-left:1px solid var(--mud-palette-lines-default); overflow-x:auto; border-radius:10px; background:var(--mud-palette-surface); box-shadow:var(--mud-elevation-2); }
.fk-woche-kopf { padding:6px; text-align:center; font-size:0.82rem; font-weight:600; background:var(--mud-palette-background-gray); border-right:1px solid var(--mud-palette-lines-default); border-bottom:1px solid var(--mud-palette-lines-default); cursor:pointer; }
.fk-woche-kopf-heute { color:var(--mud-palette-primary); box-shadow:inset 0 -3px 0 var(--mud-palette-primary); }
.fk-woche-spalte { min-height:280px; padding:4px; display:flex; flex-direction:column; gap:4px; border-right:1px solid var(--mud-palette-lines-default); border-bottom:1px solid var(--mud-palette-lines-default); min-width:0; }
.fk-woche-heute { background:rgba(25,118,210,0.05); }

.fk-jahr { display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:16px; }
.fk-mini { border-radius:10px; padding:10px; background:var(--mud-palette-surface); box-shadow:var(--mud-elevation-2); }
.fk-mini-titel { font-weight:600; font-size:0.9rem; margin-bottom:4px; cursor:pointer; }
.fk-mini-gitter { display:grid; grid-template-columns:repeat(7, 1fr); gap:1px; text-align:center; font-size:0.72rem; }
.fk-mini-wt { opacity:0.65; font-size:0.65rem; }
.fk-mini-tag { position:relative; padding:3px 0 7px; border-radius:3px; cursor:pointer; }
.fk-mini-tag:hover { background:var(--mud-palette-action-default-hover); }
.fk-mini-heute { box-shadow:inset 0 0 0 2px var(--mud-palette-primary); font-weight:700; }
.fk-mini-punkte { position:absolute; left:0; right:0; bottom:1px; display:flex; justify-content:center; gap:2px; }
.fk-mini-punkt { width:5px; height:5px; border-radius:50%; }
.fk-mini-ueber { color:#c62828; font-weight:700; }

.fk-liste-art { display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:6px; }
.fk-liste tr { cursor:pointer; }
