/* „Heute“ kompakt: Kopf in einer Zeile, leise Standardzeilen, Ausnahmen kräftig, Meldeleiste als Zustandsort.
   Wird nach styles.css und apple.css geladen und überschreibt deren Heute-Regeln. */

/* Kopf: Kolonne · ‹ Mo 02.11. › · Baustelle – bricht nur um, wenn der Platz nicht reicht */
.heute-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.heute-head .heute-kol { width: auto; max-width: 42vw; min-height: 40px; }
.heute-head .stepper { flex: none; }
.heute-head .heute-site { flex: 1 1 140px; min-width: 0; margin: 0; font-size: 17px; font-weight: 700; line-height: 1.25;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.date-pick { position: relative; display: inline-grid; place-items: center; min-width: 92px; min-height: 40px; padding: 0 6px;
  font-weight: 600; font-variant-numeric: tabular-nums; cursor: pointer; }
.date-pick input[type="date"] { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; opacity: 0; border: 0; padding: 0; cursor: pointer; }
.date-pick:focus-within { outline: 3px solid var(--accent); outline-offset: 1px; border-radius: 8px; }

/* Korrekturwünsche: eine Zeile, aufklappbar */
.korr-hint { border-radius: var(--radius); background: color-mix(in srgb, var(--late) 12%, var(--surface)); }
.korr-hint > summary { list-style: none; display: flex; align-items: center; min-height: 44px; padding: 0 14px; color: var(--late); font-weight: 600; cursor: pointer; }
.korr-hint > summary::-webkit-details-marker { display: none; }
.korr-hint > summary::after { content: "›"; margin-left: auto; font-size: 20px; transition: transform .15s; }
.korr-hint[open] > summary::after { transform: rotate(90deg); }
.korr-hint .korr-list { padding: 0 14px 12px; }

/* Werkzeugzeile über der Liste: „Wie gestern“ links, „Auswählen“ rechts – als Textknöpfe */
.list-tools { display: flex; align-items: center; gap: 8px; min-height: 44px; margin: -4px 0; }
.list-tools .link { min-height: 44px; padding: 0 4px; border: 0; background: transparent; color: var(--accent); font-weight: 600; font-size: 15px; }
.list-tools .link.push, .list-tools .link.done { margin-left: auto; }
.list-tools .link:disabled { opacity: .5; }

/* Zeilen: 52 px, Standard leise, Ausnahmen kräftig */
.member { min-height: 52px; padding: 6px 14px; gap: 2px 10px; scroll-margin: 72px 0 calc(160px + env(safe-area-inset-bottom, 0px)); }
.member .name { font-size: 16px; font-weight: 500; }
.member .chip { font-size: 13.5px; padding: 3px 10px; }
.member .chip.c-none { color: var(--muted); background: var(--fill); font-weight: 500; }
.member .chip.strong { font-weight: 700; background: color-mix(in srgb, currentColor 18%, transparent); }
.member.is-exception .name { font-weight: 600; }
.member-list { margin-bottom: 12px; }
@keyframes iz-row-flash { from { background: color-mix(in srgb, var(--accent) 22%, transparent); } to { background: transparent; } }
.member.flash-row { animation: iz-row-flash 1.2s ease-out; }
@media (prefers-reduced-motion: reduce) { .member.flash-row { animation: none; box-shadow: inset 4px 0 0 var(--accent); } }

/* Auswahl immer sichtbar: links das Kästchen (eigenes Ziel), rechts die Zeile, die den Tag öffnet */
.member-row { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: stretch; }
.member-list > .member-row + .member-row { box-shadow: inset 0 .5px 0 var(--hairline); }
.member-row .pick { display: grid; place-items: center; min-height: 52px; cursor: pointer; }
.member-row .pick input { width: 24px; height: 24px; margin: 0; accent-color: var(--accent); cursor: pointer; }
.member-row .member { padding-left: 2px; }
.member-row.disabled .pick { cursor: default; opacity: .35; }
.member-row.selected { background: var(--accent-soft); }

/* Meldeleiste: sticky über der Bottom-Nav (Daumenzone) */
.report-bar { padding: 8px; gap: 10px; }
.report-bar .rb-text { flex: 1; min-width: 0; display: grid; gap: 2px; font-weight: 600; }
.report-bar .rb-sub { font-size: 13px; font-weight: 400; color: var(--muted); }
.report-bar .rb-note { font-weight: 400; color: var(--muted); }
.report-bar button { flex: none; }
.report-bar button.all-present { flex: 1; width: 100%; min-height: 60px; padding: 6px 14px; flex-direction: column; gap: 0; border-radius: 14px; }
.report-bar .all-present .ap-main { font-size: 18px; }
.report-bar .all-present .ap-sub:empty { display: none; }
.report-bar.bar-gemeldet { padding: 10px 12px; background: color-mix(in srgb, var(--ok) 14%, var(--surface)); }
.report-bar.bar-gemeldet.pending { background: color-mix(in srgb, var(--late) 12%, var(--surface)); }
.report-bar .rd-check { width: 32px; height: 32px; font-size: 18px; }
.report-bar.pending .rd-check { background: var(--late); }
/* Kurz nach dem Schließen eines Dialogs: kein Geistertipp auf der Leiste */
.report-bar.cooling { pointer-events: none; }

/* Erinnerung nach Meldeschluss: eine Zeile statt Kasten, damit die Liste oben bleibt */
.banner.late-report { padding: 8px 12px; font-size: 14px; font-weight: 600; }

/* Baustelle als Auswahl im Kopf: groß genug für den Daumen, Name bleibt fett */
.heute-head select.heute-site { flex: 1 1 160px; min-width: 0; min-height: 44px; padding: 0 32px 0 12px;
  font-size: 17px; font-weight: 700; color: var(--fg); text-overflow: ellipsis; }
