/* Buchungsablauf: Zusatzpositionen, Stagetimer-Schreiben (Konflikte, Protokoll, Rechte), Kalender */
.stack-s { display: flex; flex-direction: column; gap: 6px; }
.toast.warn { border-left-color: var(--warn); }
.spiegeln svg { transform: rotate(180deg); }

/* Zusatzpositionen */
.positionen-tabelle { width: 100%; }
.positionen-tabelle input { width: 100%; padding: 5px 8px; font-size: 13.5px; }
.positionen-tabelle input.schmal { width: 84px; }
.positionen-tabelle input.zahl { text-align: right; }
.positionen-tabelle td, .positionen-tabelle th { padding-left: 4px; padding-right: 4px; }
.positionen-tabelle tfoot td { border-top: 1px solid var(--line); padding-top: 8px; }

/* Stagetimer: Rechte, Konflikte, Protokoll */
.faehigkeiten td:not(:first-child), .faehigkeiten th:not(:first-child) { text-align: center; width: 90px; }
.faehigkeiten-folgen { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; }
.konflikt-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.konflikt-liste > li { border: 1px solid var(--line); border-left: 3px solid var(--warn); border-radius: var(--radius-s); padding: 10px 12px; background: var(--surface); }
.konflikt-kopf { margin-bottom: 8px; font-size: 14px; }
.konflikt-werte { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.konflikt-werte > div { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.konflikt-wert { font-size: 14px; padding: 6px 9px; border-radius: 6px; background: var(--surface-2); width: 100%; white-space: pre-wrap; word-break: break-word; min-height: 32px; }
.schreib-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.schreib-liste > li { padding: 8px 0; border-bottom: 1px solid var(--line); display: flex; flex-direction: column; gap: 3px; font-size: 14px; }
.schreib-liste > li:last-child { border-bottom: 0; }
.schreib-liste code { color: var(--muted); }
.schreib-liste.kurz > li { padding: 5px 0; }
.schreib-inhalt { margin: 4px 0 0; padding: 8px 10px; background: var(--surface-2); border-radius: 6px; font-size: 12px; max-height: 320px; overflow: auto; }
.stagetimer-aktionen { padding: 8px 12px; border-radius: var(--radius-s); background: var(--surface-2); }
.phasen-status { display: flex; flex-direction: column; gap: 4px; max-width: 560px; }
.phasen-status select { width: 250px; }

/* Kalender */
.kalender-monat { min-width: 150px; text-align: center; font-size: 16px; }
.kalender-filter .chip-btn { font-size: 13px; padding: 4px 11px; }
.kalender-filter .chip-btn:not(.on) { opacity: .6; }
.kal-punkt { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.kal-punkt.kal-auftritt { background: var(--ok); }
.kal-punkt.kal-blockung { background: repeating-linear-gradient(45deg, var(--muted) 0 2px, transparent 2px 4px); border: 1px solid var(--muted); }
.kal-punkt.kal-deal { background: transparent; border: 2px dashed var(--warn); }
.kalender { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: var(--surface); box-shadow: var(--shadow); }
.kal-kopf { padding: 7px 8px; font-size: 12px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; border-bottom: 1px solid var(--line); background: var(--surface-2); }
.kal-tag { min-height: 112px; padding: 4px 5px 6px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.kal-tag:nth-child(7n) { border-right: 0; }
.kal-tag.wochenende { background: color-mix(in srgb, var(--surface-2) 70%, var(--surface)); }
.kal-tag.fremd { background: var(--surface-2); }
.kal-tag.fremd .kal-datum { color: color-mix(in srgb, var(--muted) 55%, transparent); }
.kal-tag.geblockt { background: repeating-linear-gradient(135deg, transparent 0 7px, color-mix(in srgb, var(--muted) 9%, transparent) 7px 9px); }
.kal-datum { font-size: 12.5px; font-weight: 600; color: var(--muted); padding: 1px 3px; align-self: flex-start; border-radius: 999px; min-width: 22px; text-align: center; }
.kal-tag.heute .kal-datum { background: var(--gold); color: var(--on-gold, #fff); }
.kal-eintrag { display: block; font-size: 12.5px; line-height: 1.3; padding: 2px 6px; border-radius: 5px; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border: 1px solid transparent; }
.kal-eintrag:hover { filter: brightness(.96); text-decoration: none; }
.kal-zeit { font-variant-numeric: tabular-nums; color: var(--muted); margin-right: 4px; }
.kal-eintrag.kal-auftritt { background: var(--info-soft); border-left: 3px solid var(--info); }
.kal-eintrag.kal-auftritt.st-bestaetigt, .kal-eintrag.kal-auftritt.st-gespielt { background: var(--ok-soft); border-left-color: var(--ok); }
.kal-eintrag.kal-auftritt.st-abgesagt { background: var(--err-soft); border-left-color: var(--err); text-decoration: line-through; color: var(--muted); }
.kal-eintrag.kal-blockung { background: var(--chip-bg); color: var(--text-2); border-left: 3px solid var(--muted); font-style: italic; }
.kal-eintrag.kal-deal { background: var(--surface); border: 1px dashed var(--warn); color: var(--text-2); }

/* Mail: Erkennung, Einschätzung, Vertrag, KI */
.ta-erkannt-block { display: flex; flex-direction: column; gap: 6px; }
.erk-vertrag { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 12px; border-radius: var(--radius-s); background: var(--ok-soft); border: 1px solid color-mix(in srgb, var(--ok) 30%, var(--surface)); font-size: 14px; }
.erk-vertrag > svg { flex: none; }
.erk-vertrag-text { flex: 1 1 240px; min-width: 0; }
.erk-vertrag.erledigt { background: var(--surface-2); border-color: var(--line); color: var(--muted); }
.erk-hinweis { font-size: 13px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; color: var(--text-2); }
.erk-hinweis.err { color: var(--err); }
.erk-ki { display: flex; flex-direction: column; gap: 5px; padding: 8px 10px; border-radius: var(--radius-s); background: var(--surface-2); border: 1px dashed var(--line); }
.erk-ki > .chip-btn { align-self: flex-start; padding: 3px 10px; font-size: 12.5px; }
.warn-text { color: var(--warn); }

/* Dokumente und Angebote */
.dok-liste, .angebot-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.dok-liste > li { padding: 8px 0; border-bottom: 1px solid var(--line); display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.dok-liste > li:last-child, .angebot-liste > li:last-child { border-bottom: 0; }
.dok-titel { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; font-size: 14px; min-width: 0; }
.dok-titel > a { font-weight: 600; overflow-wrap: anywhere; }
.dok-marken { display: inline-flex; gap: 4px; }
.dok-aktionen { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.dok-aktionen .chip-btn { font-size: 12.5px; padding: 2px 9px; }
.angebot-liste > li { display: flex; align-items: center; gap: 8px; padding: 7px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.angebot-liste .zahl { font-variant-numeric: tabular-nums; }
.angebot-dialog { display: flex; flex-direction: column; gap: 12px; }
.angebot-kopf, .vorlage-kopf { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); gap: 12px; align-items: start; }
.angebot-positionen .gage-zeile td { background: var(--surface-2); }
.angebot-summen { align-self: flex-end; width: min(380px, 100%); display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border-radius: var(--radius-s); background: var(--surface-2); }
.angebot-summen .zahl { font-variant-numeric: tabular-nums; }
.angebot-summen .summe { border-top: 1px solid var(--line); padding-top: 6px; margin-top: 2px; font-size: 15px; }
.angebot-summen input { width: 70px; padding: 3px 6px; }
.modal-actions.wrap { flex-wrap: wrap; }
.formular-raster { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0 14px; margin: 8px 0; }
.vorlagen-tabelle tr.aus td { opacity: .55; }
.vorlagen-tabelle td.zeile { gap: 2px; justify-content: flex-end; flex-wrap: nowrap; }
.platzhalter-bericht { max-height: 52vh; overflow: auto; border: 1px solid var(--line); border-radius: var(--radius-s); }
.platzhalter-bericht tr.unbekannt td { background: color-mix(in srgb, var(--warn) 9%, transparent); }
.probe-wert { white-space: pre-wrap; overflow-wrap: anywhere; }
.platzhalter-tabelle td:first-child { width: 42%; }
.card details > summary { cursor: pointer; padding: 6px 0; }
@media (max-width: 760px) { .angebot-kopf, .vorlage-kopf { grid-template-columns: 1fr; } }
.angebot-positionen th:first-child { width: 44%; }
.angebot-positionen th:nth-child(2) { width: 90px; }
.angebot-positionen th:nth-child(3), .angebot-positionen th:nth-child(5) { width: 130px; }

/* Telefonie übers Handy (MacroDroid) */
.handy-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.handy-zeile { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--radius-s); }
.handy-zeile > .grow { min-width: 240px; display: flex; flex-direction: column; gap: 2px; }
.handy-zugang { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.handy-zugang-teil { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.handy-wert { display: block; padding: 8px 10px; background: var(--surface-2, var(--bg)); border: 1px solid var(--line); border-radius: var(--radius-s); word-break: break-all; font-size: 13px; }
.handy-tabelle { margin: 8px 0; font-size: 13px; }
.handy-tabelle td { vertical-align: top; }
.handy-pruefen { gap: 6px; flex-wrap: nowrap; }
.tel-zeile.pruefen { border-style: dashed; border-color: color-mix(in srgb, var(--warn) 55%, var(--line)); }
.tel-pruefen { display: flex; flex-direction: column; gap: 6px; padding: 8px; border-radius: var(--radius-s); background: color-mix(in srgb, var(--warn) 12%, var(--surface)); }
.handy-ki { border: 1px solid var(--line); border-radius: var(--radius-s); padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; }
.handy-ki-text { white-space: pre-line; }
.handy-ki-aufgaben { margin: 0; padding-left: 18px; }
.handy-ki-aufgaben li { display: flex; gap: 8px; align-items: baseline; }
