/* kalender – Stile des Pakets K (seit 0.8): fremde Kalender, beantragter Urlaub, Einstellungen → Kalender-Abgleich.
   Nur Variablen aus app.css (Dunkelmodus), Präfix .kal-. Grundstile des Kalenders (.kal-termin, .kal-extra …) stehen in app.css. */

/* ---------- Kalender: fremde Kalender (ICS) in eigener Farbe, nur lesen ---------- */
.kal-termin.kal-fremd {
  border-left: 3px dotted var(--t);
  background: color-mix(in srgb, var(--t) 7%, var(--surface));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--t) 28%, transparent);
  color: var(--ink-2);
}
.kal-punkt.kal-punkt-fremd { background: transparent; box-shadow: inset 0 0 0 2px var(--t); display: inline-block; vertical-align: -1px; }

/* Liste: Spalte nie breiter als der Bildschirm (lange Titel werden gekürzt statt die Seite zu verbreitern) */
.kal-liste { grid-template-columns: minmax(0, 1fr); }

/* ---------- Wartungen (App „Wartung“): Link zur Wartung; erledigt gedämpft, überfällig rot ---------- */
.kal-extra.kal-wartung { background: var(--copper-tint); color: var(--copper-dark); }
:root[data-theme="dark"] .kal-extra.kal-wartung:not(.kal-erledigt):not(.kal-ueber) { color: var(--copper-light); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .kal-extra.kal-wartung:not(.kal-erledigt):not(.kal-ueber) { color: var(--copper-light); } }
.kal-extra.kal-wartung.kal-erledigt { background: var(--surface-3); color: var(--ink-3); }
.kal-extra.kal-wartung.kal-ueber { background: var(--bad-tint); color: var(--bad); }

/* ---------- Urlaub: beantragt (noch nicht genehmigt) gestrichelt ---------- */
.kal-extra.abw.kal-beantragt { background: transparent; border: 1px dashed var(--ink-3); color: var(--ink-3); padding: 1px 6px; }
.team-plan .kal-extra.kal-beantragt { align-self: flex-start; }

/* ---------- Einstellungen → Kalender-Abgleich ---------- */
.kal-karte .card-head h2 { display: flex; align-items: center; gap: 8px; }
.kal-karte .card-head h2 .ico { width: 18px; height: 18px; color: var(--ink-3); }
.kal-fuss { border-top: 1px solid var(--line); }
.card-empty + .kal-fuss, .list + .kal-fuss { border-top: 1px solid var(--line); }

.kal-zugang { margin-top: 12px; border-top: 1px solid var(--line); }
.kal-zeile { display: grid; grid-template-columns: 130px minmax(0, 1fr) auto; align-items: center; gap: 4px 12px; padding: 6px 0; border-bottom: 1px solid var(--line); min-height: 48px; }
.kal-label { font-size: 13px; color: var(--ink-3); }
.kal-wert { overflow-wrap: anywhere; font-size: 14px; user-select: all; }

.kal-pw-symbol { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 8px; background: var(--surface-3); color: var(--ink-2); flex: none; }
.kal-pw-symbol .ico { width: 16px; height: 16px; }
.kal-geheim { overflow-wrap: anywhere; font-size: 14px; padding: 8px 8px 8px 14px; }
.kal-geheim > span { min-width: 0; }
.kal-geheim.kal-pw { font-size: 17px; letter-spacing: .02em; }
.kal-geheim.kal-pw > span { white-space: nowrap; overflow-x: auto; overflow-wrap: normal; }
.kal-geheim .icon-btn { flex: none; }

.kal-geraete { margin-bottom: 6px; flex-wrap: wrap; overflow: visible; }
.kal-schritte { margin: 8px 0 0; padding-left: 22px; display: grid; gap: 10px; line-height: 1.5; font-size: 14.5px; }
.kal-schritte li::marker { color: var(--copper-dark); font-weight: 600; }
.kal-inline { font-size: 13px; background: var(--surface-3); color: var(--ink); padding: 1px 6px; border-radius: 4px; overflow-wrap: anywhere; user-select: all; }
.kal-hinweis { margin: 16px 0 0; display: flex; gap: 8px; align-items: flex-start; }
.kal-hinweis .ico { flex: none; margin-top: 1px; }

.kal-fehler { color: var(--bad); }
.kal-fehler .ico { width: 14px; height: 14px; vertical-align: -2px; display: inline-block; }
.list .m.kal-fehler { color: var(--bad); }
.kal-fremd-liste .kal-punkt { width: 14px; height: 14px; }
.kal-fremd-liste li.kal-aus .t, .kal-fremd-liste li.kal-aus .kal-punkt { opacity: .55; }

@media (max-width: 560px) {
  .kal-zeile { grid-template-columns: minmax(0, 1fr) auto; }
  .kal-label { grid-column: 1 / -1; }
  .kal-fremd-liste .end .btn { min-height: 40px; }
}
