/* Besucherliste - Akzent und Sonderbausteine fuer den Bildschirm. Das gemeinsame Bild kommt aus firmen.css,
   der Ausdruck aus styles.css (unveraendert). Farben nur ueber die Variablen aus firmen.css. */
:root {
  --g: linear-gradient(135deg, #38bdf8 0%, #0284c7 60%, #1e3a8a 120%);
  --accent: #0284c7;
}

input[type="datetime-local"] { background: var(--feld); border: 1px solid var(--border-stark); border-radius: var(--radius-s); padding: 10px 12px; width: 100%; min-width: 0; color-scheme: var(--schema); }
.row { align-items: end; }
nav.tabs button { min-width: 0; overflow-wrap: anywhere; }
button:disabled { opacity: .5; cursor: default; }
.gap { border: 1px dashed color-mix(in srgb, var(--warn) 60%, transparent); color: var(--warn); border-radius: 12px; padding: 8px 12px; margin-bottom: 10px; font-size: 14px; overflow-wrap: anywhere; }
.gap ul { margin: 6px 0 0; padding-left: 20px; font-weight: 700; }
.badge.vortag { color: #fff; background: var(--off); border-color: var(--off); }
.fehlt { color: var(--off); font-weight: 600; }
details { font-size: 13px; color: var(--text-soft); min-width: 0; }
details summary { cursor: pointer; font-weight: 600; padding: 4px 0; }
details .mehr { display: grid; gap: 12px; margin-top: 8px; }
#hError { margin-bottom: 10px; }
@media (max-width: 560px) {
  nav.tabs { gap: 2px; }
  nav.tabs button { font-size: 13px; padding: 10px 4px; flex: 1 1 auto; }
  input[type="datetime-local"] { padding: 10px 4px; font-size: 13px; letter-spacing: -0.01em; }
  input[type="datetime-local"]::-webkit-calendar-picker-indicator { margin-left: 0; padding-left: 0; }
}
.buttons { display: grid; }
.liste { list-style: none; padding: 0; display: grid; gap: 0; margin-top: 8px; }
.liste li { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; padding: 9px 0; border-top: 1px solid var(--border); font-size: 14px; }
.liste li > span:first-child { min-width: 0; overflow-wrap: anywhere; line-height: 1.5; }
.knoepfe { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; flex: none; max-width: 45%; }
.blatt .entwurf { border: 1px dashed color-mix(in srgb, var(--warn) 60%, transparent); color: var(--warn); border-radius: 10px; padding: 6px 10px; font-weight: 700; font-size: 13px; margin-bottom: 12px; }
.blatt h2 { font-size: 18px; margin-bottom: 10px; overflow-wrap: anywhere; }
.blatt table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 14px; }
.blatt th, .blatt td { border-top: 1px solid var(--border); padding: 8px 6px 8px 0; text-align: left; vertical-align: top; overflow-wrap: anywhere; line-height: 1.5; }
.blatt th { width: 34%; color: var(--text-soft); font-weight: 600; }
