@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');
/* ==========================================================================
   utic.css — eigenes UTIC-Stylesheet (Phase-1-Fundament der Design-Migration).
   Wird NACH style.css geladen und greift nur bei :root[data-ui="utic"].
   Enthält die UTIC-Token-/Optik-Ebene (aus style.css hierher ausgelagert) und
   die schrittweisen Prototyp-Angleichungen. Alt-UI (ohne data-ui) bleibt unberührt.
   ========================================================================== */

/* ============================================================================
   UTIC-Stil (Beta) — persönliches Test-Theme, pro Gerät gemerkt, nur über den
   „UTIC"-Schalter oben (Super-Admin). Es werden ausschliesslich Farb-, Form-
   und Schrift-Tokens neu belegt — die App nutzt Farben durchgängig über Tokens,
   daher greift dieser eine Block flächendeckend, ohne Layout zu verschieben.
   Charcoal #202224 + Lime #7bd302 + Roboto, flacher Grund (kein Verlauf),
   deckende Karten. UTIC erzwingt die dunkle Basis (überschreibt Hell).
   ========================================================================== */
:root[data-ui="utic"] {
  --brand: #7bd302;  --brand-green: #7bd302;  --brand-strong: #6bb902;
  --brand-soft: rgba(123, 211, 2, 0.13);  --brand-softer: rgba(123, 211, 2, 0.06);
  --brand-line: rgba(123, 211, 2, 0.34);  --on-brand: #173600;

  --bg: #202224;
  --bg-grad: #202224;                 /* flach, kein Verlauf */
  --bg-panel: #2b2d2f;  --bg-panel-2: #222426;
  --surface: #2b2d2f;   --surface-2: #222426;
  --border: #34363a;    --border-soft: rgba(255, 255, 255, 0.06);

  --text: #ffffff;  --text-dim: #9a9d9f;  --text-mute: #71757a;

  --accent: #7bd302;  --accent-dim: #1e2a16;  --ring: rgba(123, 211, 2, 0.5);

  --success: #7bd302;  --success-soft: rgba(123, 211, 2, 0.14);
  --warning: #f5a524;  --warning-soft: rgba(245, 165, 36, 0.14);
  --danger:  #ef5a5a;  --danger-soft:  rgba(239, 90, 90, 0.14);
  --info:    #4aa3ff;  --info-soft:    rgba(74, 163, 255, 0.14);
  --purple:  #a07bff;  --purple-soft:  rgba(160, 123, 255, 0.14);

  --green: #7bd302;  --on-green: #173600;
  --yellow: #f5a524;  --red: #ef5a5a;  --cyan: #4aa3ff;

  --radius: 14px;  --radius-sm: 10px;  --radius-lg: 18px;
  --shadow-brand: 0 12px 34px -12px rgba(123, 211, 2, 0.30);

  --font-body: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-heading: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  color-scheme: dark;
}
/* UTIC-Überschriften: Roboto ist nicht condensed → etwas engere Laufweite und
   mittlere Stärke, damit Titel klar/modern statt breit wirken. */
:root[data-ui="utic"] h1,
:root[data-ui="utic"] h2,
:root[data-ui="utic"] h3,
:root[data-ui="utic"] .section-head h1 { letter-spacing: -0.01em; font-weight: 500; }
/* Aktiver Zustand des UTIC-Schalters oben. */
.ui-style-toggle.on { background: rgba(123, 211, 2, 0.16); border-color: rgba(123, 211, 2, 0.5); color: #7bd302; }

/* UTIC: Übersichts-Show-Karten im Prototyp-Look (nur bei aktivem UTIC-Stil).
   Reiner Optik-Layer über die bestehende Karte – Markup/Logik unverändert. */
:root[data-ui="utic"] .show-grid { gap: 16px; }
:root[data-ui="utic"] .show-card {
  position: relative;
  padding: 20px 18px 18px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: none;
}
:root[data-ui="utic"] .show-card::before {
  content: "";
  position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 38%, transparent));
}
:root[data-ui="utic"] .show-card:hover {
  border-color: color-mix(in srgb, var(--accent) 50%, transparent);
  box-shadow: 0 12px 28px -16px rgba(0, 0, 0, 0.65);
}
:root[data-ui="utic"] .show-card-name { font-size: 19px; letter-spacing: -0.01em; margin-bottom: 10px; }
:root[data-ui="utic"] .show-card-meta { font-size: 13px; margin-bottom: 6px; }
:root[data-ui="utic"] .show-card-venue { font-size: 12.5px; }
/* Buchungsstatus & Versand-Chips als klare Pills. */
:root[data-ui="utic"] .show-card-booking-status,
:root[data-ui="utic"] .show-sent-row { margin-top: 10px; }

/* UTIC: ShowAdvance-Logo im Marken-Grün zum Leuchten bringen. */
:root[data-ui="utic"] .brand-logo,
:root[data-ui="utic"] .sidebar-brand img {
  filter: drop-shadow(0 0 5px rgba(123, 211, 2, 0.65)) drop-shadow(0 0 13px rgba(123, 211, 2, 0.4));
}

/* UTIC: App-Fußzeile bleibt sichtbar (auf Wunsch) – inkl. Release-Notes-Block,
   damit Neuerungen auch im UTIC-View auffindbar sind (auf Wunsch wieder
   eingeblendet). */


/* ============================================================================
   Phase 1 — Show-Detail: Angleichung an den Prototyp (flache, deckende Karten,
   klare Abstände/Typo). Nur Optik über bestehendem Markup; Logik unverändert.
   ============================================================================ */
:root[data-ui="utic"] .overview-section { padding: 18px 20px; }
:root[data-ui="utic"] .overview-cards { gap: 12px; }
/* Prototyp: flache, deckende Kacheln – kein Top-Verlauf. */
:root[data-ui="utic"] .overview-card {
  background: var(--surface-2);
  background-image: none;
  border: 1px solid var(--border);
  border-left-width: 4px;
  border-radius: 12px;
  padding: 13px 15px;
  box-shadow: none;
  transition: border-color .12s, transform .12s;
}
:root[data-ui="utic"] .overview-card:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--accent) 45%, var(--border));
}
:root[data-ui="utic"] .overview-card.active {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 55%, transparent);
}
:root[data-ui="utic"] .overview-card-title { font-size: 13.5px; font-weight: 600; }
:root[data-ui="utic"] .overview-card-pct { font-variant-numeric: tabular-nums; color: var(--text-dim); }
/* Hero-Fakten: dezente Labels, klare Werte (wie im Prototyp). */
:root[data-ui="utic"] .show-facts { gap: 8px 18px; }
:root[data-ui="utic"] .show-facts b { font-weight: 500; }


/* ============================================================================
   Phase 1 — Prototyp-Parität: Elemente ausblenden, die es im Prototyp (noch)
   nicht gibt. Nur im UTIC-View versteckt (display:none), Markup/Logik bleiben –
   jederzeit reversibel. Alt-UI unberührt.
   ============================================================================ */
/* "Meine Aufgaben"-Panel auf der Shows-Übersicht – im Prototyp nicht vorhanden. */
:root[data-ui="utic"] #myTasksSection { display: none; }


/* ============================================================================
   Phase 1 — Seitenleiste: ORGANISATION-Block (Prototyp-Look). Zeigt Org-Identität
   mit Logo-Chip (Initialen als Platzhalter, bis Branding-Logo angebunden ist).
   ============================================================================ */
:root[data-ui="utic"] .ws-org { padding: 12px 6px 6px; margin: 2px 0 4px; border-top: 1px solid var(--border); }
:root[data-ui="utic"] .ws-org-label { font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: var(--text-mute); margin-bottom: 7px; }
:root[data-ui="utic"] .ws-org-id { display: flex; align-items: center; gap: 9px; }
:root[data-ui="utic"] .ws-org-mark { width: 30px; height: 30px; border-radius: 8px; background: var(--brand-soft); color: var(--brand); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 11px; letter-spacing: .02em; flex: 0 0 auto; }
:root[data-ui="utic"] .ws-org-name { font-weight: 600; font-size: 14px; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* "Aktive Zeit"-Box und "Dein Kürzel"-Editor in der Seitenleiste – im Prototyp
   nicht vorhanden, im UTIC-View ausgeblendet (Mein Profil bleibt). */
:root[data-ui="utic"] .sidebar .active-time-box,
:root[data-ui="utic"] .sidebar .editor-box { display: none; }

/* Sidebar-Restgruppen im UTIC-View ausblenden (Prototyp hat sie nicht – die
   Funktionen bleiben über das Toolbar-Menü „Verwaltung" erreichbar). "Mein Konto"
   (Mein Profil) sowie Hilfe/Feedback/Abmelden bleiben. */
:root[data-ui="utic"] .sb-group[data-group="nav"],
:root[data-ui="utic"] .sb-group[data-group="fin"],
:root[data-ui="utic"] .sb-group[data-group="verw"],
:root[data-ui="utic"] .sb-group[data-group="arch"] { display: none; }

/* Auch "Mein Konto"-Gruppe im UTIC-View ausblenden – Mein Profil kommt direkt
   unten (uticProfileBtn), wie im Prototyp. */
:root[data-ui="utic"] .sb-group[data-group="konto"] { display: none; }


/* ============================================================================
   Phase 1 — Seitenleiste als 1:1-Nachbau des Prototyps (exakte Icons/Farben/
   Abstände). Greift nur im UTIC-View auf #sidebar; eigene Prototyp-Tokens
   lokal, damit Farben exakt sind. Markup kommt aus paintSidebarUtic().
   ============================================================================ */
:root[data-ui="utic"] #sidebar {
  --p-bg-deep:#1a1c1e; --p-line:#34363a; --p-faint:#71757a; --p-dim:#9a9d9f;
  --p-fg:#ffffff; --p-lime:#78d000; --p-lime-ink:#173600; --p-r:8px; --p-card2:#222426;
  background: var(--p-bg-deep); border-right: 1px solid var(--p-line);
  display: flex; flex-direction: column; padding: 22px 16px; gap: 22px;
}
/* Hell-Modus: Seitenleisten-Tokens hell (Prototyp: .side = var(--bg-deep) = #fff). */
:root[data-ui="utic"][data-theme="light"] #sidebar {
  --p-bg-deep:#ffffff; --p-line:#e3e5e9; --p-faint:#878c93; --p-dim:#5b6066;
  --p-fg:#1b1d1f; --p-lime:#5fa800; --p-lime-ink:#ffffff; --p-card2:#f1f3f5;
}
:root[data-ui="utic"][data-theme="light"] #sidebar .nav:hover { color:#1b1d1f; background:#f1f3f5; }
/* Hell/Dunkel-Übergang wie im Prototyp: kurzer weicher Farb-Cross-Fade. */
:root[data-ui="utic"].theme-anim, :root[data-ui="utic"].theme-anim * { transition: background-color .55s ease, color .55s ease, border-color .55s ease, fill .55s ease, box-shadow .55s ease !important; }

/* ============================================================================
   Formular-Checkboxen/Radios im App-Stil (Lime statt Browser-Blau) — u.a.
   PDF-Export-Optionen, Sende-Dialoge, Gruppen-Auswahl.
   ============================================================================ */
/* App-weit eigene Checkboxen/Radios: native Controls zeichnet der Browser im
   hellen Modus teils fast schwarz. Hier dezenter grauer Rahmen, Lime wenn aktiv
   (konsistent mit der Rechte-Matrix und den übrigen Auswahlfeldern). */
:root[data-ui="utic"] input[type="checkbox"],
:root[data-ui="utic"] input[type="radio"] { appearance: none; -webkit-appearance: none; box-sizing: border-box; width: 16px; height: 16px; flex: 0 0 auto; cursor: pointer; border: 1.5px solid var(--line); background: var(--card); position: relative; transition: background .12s, border-color .12s; }
:root[data-ui="utic"] input[type="checkbox"] { border-radius: 50%; }
:root[data-ui="utic"] input[type="radio"] { border-radius: 50%; }
:root[data-ui="utic"] input[type="checkbox"]:hover,
:root[data-ui="utic"] input[type="radio"]:hover { border-color: var(--dim); }
/* Punkt per radial-gradient statt ::after-Positionierung: dadurch IMMER exakt
   mittig im Kreis, unabhängig von Boxgröße (auch ungerade px) und Rand. */
:root[data-ui="utic"] input[type="checkbox"]:checked,
:root[data-ui="utic"] input[type="radio"]:checked { border-color: var(--lime); background: var(--lime) radial-gradient(circle at 50% 50%, var(--lime-ink) 0 3px, transparent 3.5px) no-repeat center / 100% 100%; }
:root[data-ui="utic"] input[type="checkbox"]:checked::after,
:root[data-ui="utic"] input[type="radio"]:checked::after { content: none; }
:root[data-ui="utic"] input[type="checkbox"]:disabled,
:root[data-ui="utic"] input[type="radio"]:disabled { opacity: .45; cursor: not-allowed; }
:root[data-ui="utic"] input[type="checkbox"]:focus-visible,
:root[data-ui="utic"] input[type="radio"]:focus-visible { outline: 2px solid var(--lime); outline-offset: 1px; }
:root[data-ui="utic"] .checkbox-list,
:root[data-ui="utic"] .checkbox-group { display: flex; flex-direction: column; gap: 2px; }
:root[data-ui="utic"] .checkbox-row { display: flex; align-items: center; gap: 9px; font-size: 13.5px; color: var(--txt); padding: 6px 2px; cursor: pointer; }
:root[data-ui="utic"] .checkbox-row:hover { color: var(--fg); }

/* ============================================================================
   Mitteilungen (#s-mitteil) — 1:1 Prototyp
   ============================================================================ */
:root[data-ui="utic"] .mit-list{display:flex;flex-direction:column;gap:10px;max-width:720px}
:root[data-ui="utic"] .mit-card{display:flex;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;text-align:left;width:100%;cursor:pointer}
:root[data-ui="utic"] .mit-card.unread{border-color:rgba(120,208,0,.32);background:rgba(120,208,0,.05)}
:root[data-ui="utic"] .mit-card:hover{border-color:rgba(120,208,0,.45)}
:root[data-ui="utic"] .mit-dot{width:8px;height:8px;border-radius:50%;background:var(--lime);flex:0 0 auto;margin-top:6px}
:root[data-ui="utic"] .mit-card:not(.unread) .mit-dot{background:transparent;border:1px solid var(--line)}
:root[data-ui="utic"] .mit-notif-ic{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;margin-top:1px}
:root[data-ui="utic"] .mit-notif.is-cancel .mit-notif-ic{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}
:root[data-ui="utic"] .mit-notif.is-archive .mit-notif-ic{color:var(--faint);background:var(--card-2)}
:root[data-ui="utic"] .mit-notif.is-cancel.unread{border-color:color-mix(in srgb,var(--danger) 40%,transparent);background:color-mix(in srgb,var(--danger) 6%,transparent)}
:root[data-ui="utic"] .mit-notif.is-cancel.unread:hover{border-color:color-mix(in srgb,var(--danger) 55%,transparent)}
:root[data-ui="utic"] .mit-main{flex:1;min-width:0}
:root[data-ui="utic"] .mit-top{display:flex;align-items:center;gap:9px;margin-bottom:5px}
:root[data-ui="utic"] .mit-show{font-size:14px;font-weight:500}
:root[data-ui="utic"] .mit-cat{color:var(--dim);font-size:12.5px}
:root[data-ui="utic"] .mit-time{margin-left:auto;color:var(--faint);font-size:11.5px}
:root[data-ui="utic"] .mit-text{font-size:13.5px;color:#d6d8da;line-height:1.5}
:root[data-ui="utic"] .mit-text .men,:root[data-ui="utic"] .mit-text .mention{color:var(--lime)}
:root[data-ui="utic"] .mit-read{flex:0 0 auto;align-self:center;background:none;border:1px solid var(--line);border-radius:var(--r);color:var(--dim);font-size:12px;padding:6px 11px;white-space:nowrap;cursor:pointer;font-family:inherit}
:root[data-ui="utic"] .mit-read:hover{color:var(--lime);border-color:rgba(120,208,0,.4)}
:root[data-ui="utic"] .mit-empty{color:var(--faint);font-size:13.5px;padding:18px 2px}

/* ============================================================================
   Shows · Liste + Kalender/Agenda — 1:1 Prototyp
   ============================================================================ */
:root[data-ui="utic"] .shows-list{display:flex;flex-direction:column;gap:8px}
:root[data-ui="utic"] .slist-row{display:grid;grid-template-columns:112px 1fr auto 88px;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 15px;text-align:left;width:100%;text-decoration:none;color:inherit}
:root[data-ui="utic"] .slist-row:hover{border-color:color-mix(in srgb,var(--lime) 45%,transparent)}
:root[data-ui="utic"] .slist-date{font-size:12.5px;color:var(--dim);font-variant-numeric:tabular-nums}
:root[data-ui="utic"] .slist-main{min-width:0}
:root[data-ui="utic"] .slist-name{font-size:14.5px;font-weight:500}
:root[data-ui="utic"] .slist-city{font-size:12px;color:var(--faint)}
:root[data-ui="utic"] .slist-mgr{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--dim);margin-left:10px;white-space:nowrap}
:root[data-ui="utic"] .slist-mgr svg{color:var(--faint);flex:0 0 auto}
:root[data-ui="utic"] .agenda-meta .slist-mgr,:root[data-ui="utic"] .agenda-main .slist-mgr{margin-left:0;margin-top:2px}
:root[data-ui="utic"] .slist-pills{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
:root[data-ui="utic"] .slist-prog{display:flex;align-items:center;gap:8px;justify-content:flex-end}
:root[data-ui="utic"] .slist-prog .pv{font-size:12px;color:var(--dim);font-variant-numeric:tabular-nums}
:root[data-ui="utic"] .slist-prog .pb{width:44px;height:5px;border-radius:3px;background:#3a3c3e;overflow:hidden}
:root[data-ui="utic"] .slist-prog .pb i{display:block;height:100%;background:var(--lime)}
:root[data-ui="utic"] .agenda-mlabel{font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin:16px 0 10px;display:flex;align-items:center;gap:9px}
:root[data-ui="utic"] .agenda-mlabel::after{content:"";flex:1;height:1px;background:var(--line)}
:root[data-ui="utic"] .agenda-row{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:11px 15px;margin-bottom:8px;text-align:left;width:100%;text-decoration:none;color:inherit}
:root[data-ui="utic"] .agenda-row:hover{border-color:color-mix(in srgb,var(--lime) 45%,transparent)}
:root[data-ui="utic"] .agenda-day{display:flex;flex-direction:column;align-items:center;justify-content:center;width:46px;flex:0 0 auto;background:var(--card-2);border:1px solid var(--line);border-radius:9px;padding:5px 0}
:root[data-ui="utic"] .agenda-day .d{font-size:17px;font-weight:700;line-height:1}
:root[data-ui="utic"] .agenda-day .wd{font-size:9.5px;color:var(--faint);text-transform:uppercase;margin-top:2px}
:root[data-ui="utic"] .agenda-day .yr{font-size:9px;font-weight:700;color:var(--lime);margin-top:2px;letter-spacing:.03em}
:root[data-ui="utic"] .agenda-main{flex:1;min-width:0}
:root[data-ui="utic"] .agenda-name{font-size:14px;font-weight:500}
:root[data-ui="utic"] .agenda-meta{font-size:12px;color:var(--dim);margin-top:2px;display:block}
@media(max-width:640px){:root[data-ui="utic"] .slist-row{grid-template-columns:92px 1fr;row-gap:8px}:root[data-ui="utic"] .slist-pills,:root[data-ui="utic"] .slist-prog{grid-column:2;justify-content:flex-start}:root[data-ui="utic"] .agenda-meta{display:block}}
/* Echter Monats-Kalender (Kalender-Ansicht) */
:root[data-ui="utic"] .cal-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
:root[data-ui="utic"] .cal-title{display:flex;align-items:center;justify-content:center;gap:6px;min-width:150px}
:root[data-ui="utic"] .cal-sel{appearance:auto;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);color:var(--txt);font-family:var(--font-heading);font-size:14.5px;font-weight:600;padding:5px 7px;cursor:pointer}
:root[data-ui="utic"] .cal-sel:focus{outline:none;border-color:var(--lime)}
:root[data-ui="utic"] .cal-sel-m{min-width:96px}
:root[data-ui="utic"] .cal-nav{width:30px;height:30px;border-radius:var(--r);border:1px solid var(--line);background:var(--card-2);color:var(--dim);font-size:17px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
:root[data-ui="utic"] .cal-nav:hover{color:var(--lime);border-color:color-mix(in srgb,var(--lime) 45%,var(--line))}
:root[data-ui="utic"] .cal-today{margin-left:auto;border:1px solid var(--line);background:var(--card-2);color:var(--dim);border-radius:var(--r);padding:6px 12px;font-size:12.5px;cursor:pointer}
:root[data-ui="utic"] .cal-today:hover{color:var(--lime);border-color:color-mix(in srgb,var(--lime) 45%,var(--line))}
:root[data-ui="utic"] .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
:root[data-ui="utic"] .cal-wdrow{margin-bottom:6px}
:root[data-ui="utic"] .cal-wdh{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);text-align:center;padding:2px 0}
:root[data-ui="utic"] .cal-cell{min-height:92px;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:5px 5px 6px;display:flex;flex-direction:column;gap:3px;overflow:hidden}
:root[data-ui="utic"] .cal-cell.out{background:transparent;border-color:transparent}
:root[data-ui="utic"] .cal-cell.out .cal-dnum{opacity:.45}
:root[data-ui="utic"] .cal-cell.today{border-color:color-mix(in srgb,var(--lime) 55%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lime) 45%,transparent)}
:root[data-ui="utic"] .cal-dnum{font-size:11.5px;font-weight:600;color:var(--dim);align-self:flex-end;line-height:1}
:root[data-ui="utic"] .cal-cell.today .cal-dnum{color:var(--lime)}
:root[data-ui="utic"] .cal-ev{display:block;font-size:10px;line-height:1.3;padding:2px 5px;border-radius:5px;background:color-mix(in srgb,var(--lime) 14%,var(--card));color:var(--txt);border:1px solid color-mix(in srgb,var(--lime) 30%,transparent);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:root[data-ui="utic"] .cal-ev b{font-weight:700}
:root[data-ui="utic"] .cal-ev:hover{background:color-mix(in srgb,var(--lime) 24%,var(--card))}
:root[data-ui="utic"] .cal-ev.opt{background:color-mix(in srgb,var(--warn) 14%,var(--card));border-color:color-mix(in srgb,var(--warn) 32%,transparent)}
:root[data-ui="utic"] .cal-more{font-size:9.5px;color:var(--faint);padding:0 4px}
:root[data-ui="utic"] .cal-nodate{margin-top:12px;display:flex;align-items:center;gap:7px;font-size:12px;color:var(--dim)}
@media(max-width:720px){:root[data-ui="utic"] .cal-grid{gap:3px}:root[data-ui="utic"] .cal-cell{min-height:62px;padding:3px}:root[data-ui="utic"] .cal-ev{font-size:8.5px;padding:1px 3px}:root[data-ui="utic"] .cal-ev b{display:none}:root[data-ui="utic"] .cal-wdh{font-size:9px}:root[data-ui="utic"] .cal-title{font-size:14px;min-width:0}}
:root[data-ui="utic"] #sidebar .sidebar-inner { display: flex; flex-direction: column; gap: 22px; flex: 1; min-height: 0; }
:root[data-ui="utic"] #sidebar .brand { display: flex; align-items: center; gap: 11px; padding: 8px 10px; background: none; border: 0; border-radius: 10px; text-align: left; align-self: flex-start; cursor: pointer; }
:root[data-ui="utic"] #sidebar .brand .mark { width: 36px; height: 36px; border-radius: var(--p-r); background: #141516; display: flex; align-items: center; justify-content: center; }
:root[data-ui="utic"] #sidebar .brand .mark img { width: 24px; height: 24px; display: block; filter: drop-shadow(0 0 5px rgba(120,208,0,.7)) drop-shadow(0 0 12px rgba(120,208,0,.4)); }
:root[data-ui="utic"] #sidebar .brand b { font-weight: 700; font-size: 18px; letter-spacing: .01em; color: var(--p-fg); }
:root[data-ui="utic"] #sidebar .brand-cust { padding: 11px 6px 0; margin-top: -8px; border-top: 1px solid var(--p-line); cursor: pointer; position: relative; border-radius: 8px; transition: background .12s; }
:root[data-ui="utic"] #sidebar .brand-cust:hover { background: rgba(255,255,255,.03); }
:root[data-ui="utic"] #sidebar .brand-cust-lbl { display: block; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: var(--p-faint); margin-bottom: 6px; }
:root[data-ui="utic"] #sidebar .brand-cust-logo { display: flex; align-items: center; gap: 9px; }
:root[data-ui="utic"] #sidebar .cust-chip { display: inline-flex; align-items: center; justify-content: center; background: var(--p-lime); color: var(--p-lime-ink); border-radius: 8px; width: 30px; height: 30px; font-weight: 700; font-size: 11px; letter-spacing: .02em; flex: 0 0 auto; }
/* Hochgeladenes Kundenlogo (statt Initialen-Chip): Bild ohne grünen Hintergrund. */
:root[data-ui="utic"] #sidebar .cust-chip.has-logo { background: none; width: auto; height: auto; min-width: 30px; padding: 0; border-radius: 6px; overflow: hidden; }
:root[data-ui="utic"] #sidebar .cust-chip img { display: block; height: 30px; width: auto; max-width: 176px; object-fit: contain; }
/* Wenn das Kundenlogo als Bild da ist, den Org-Namen daneben ausblenden (Logo
   allein, sonst doppelt gemoppelt). */
:root[data-ui="utic"] #sidebar .cust-chip.has-logo + .cust-cap { display: none; }
:root[data-ui="utic"] #sidebar .cust-cap { font-size: 13px; font-weight: 600; color: var(--p-fg); letter-spacing: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
:root[data-ui="utic"] #sidebar .bc-caret { position: absolute; right: 6px; top: 8px; color: var(--p-faint); }
:root[data-ui="utic"] #sidebar .navgrp { display: flex; flex-direction: column; gap: 3px; }
:root[data-ui="utic"] #sidebar .navgrp .lbl { font-size: 10.5px; font-weight: 500; letter-spacing: .11em; text-transform: uppercase; color: var(--p-faint); padding: 0 12px 6px; }
:root[data-ui="utic"] #sidebar .nav { display: flex; align-items: center; gap: 12px; padding: 10px 13px; border-radius: var(--p-r); color: var(--p-dim); font-size: 14px; border: 1px solid transparent; text-decoration: none; background: none; width: 100%; text-align: left; cursor: pointer; font-family: inherit; }
:root[data-ui="utic"] #sidebar .nav svg { flex: 0 0 auto; }
:root[data-ui="utic"] #sidebar .nav:hover { color: #cfd1d3; background: #212325; }
:root[data-ui="utic"] #sidebar .nav.on { background: rgba(120,208,0,.13); color: var(--p-lime); font-weight: 500; }
:root[data-ui="utic"] #sidebar .nav-badge { margin-left: auto; background: var(--p-lime); color: var(--p-lime-ink); font-size: 10.5px; font-weight: 700; border-radius: 999px; padding: 1px 7px; min-width: 18px; text-align: center; }
:root[data-ui="utic"] #sidebar .me { margin-top: auto; display: flex; align-items: center; gap: 11px; padding: 11px; border-radius: var(--p-r); background: var(--p-card2); border: 0; width: 100%; text-align: left; cursor: pointer; }
:root[data-ui="utic"] #sidebar .me:hover { background: #26282a; }
:root[data-ui="utic"] #sidebar .me .av { width: 38px; height: 38px; border-radius: 50%; background: var(--p-lime); color: var(--p-lime-ink); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 12px; flex: 0 0 auto; }
:root[data-ui="utic"] #sidebar .me div > div { color: var(--p-fg); }
:root[data-ui="utic"] #sidebar .me small { color: var(--p-faint); font-size: 11px; }
:root[data-ui="utic"] #sidebar .me-logout { margin-top: 6px; display: flex; align-items: center; justify-content: center; gap: 7px; width: 100%; padding: 8px; border-radius: var(--p-r); background: transparent; border: 1px solid var(--p-line); color: var(--p-faint); font-size: 12px; font-weight: 500; cursor: pointer; }
:root[data-ui="utic"] #sidebar .me-logout:hover { background: #26282a; color: var(--p-fg); }
:root[data-ui="utic"] #sidebar .me-logout .icon { width: 14px; height: 14px; }
:root[data-ui="utic"] #sidebar .sidebar-cat { border-top: 1px solid var(--p-line); padding-top: 12px; }
:root[data-ui="utic"] #sidebar .sidebar-cat .sidebar-section-label { font-size: 10.5px; font-weight: 500; letter-spacing: .11em; text-transform: uppercase; color: var(--p-faint); padding: 0 12px 6px; }

/* ORGANISATION-Wechsler-Popover (UTIC), Prototyp-Look */
:root[data-ui="utic"] #sidebar .utic-org-menu { position: absolute; left: 6px; right: 6px; top: 100%; margin-top: 4px; background: var(--p-card2); border: 1px solid var(--p-line); border-radius: 10px; padding: 6px; z-index: 40; box-shadow: 0 12px 32px rgba(0,0,0,.45); }
:root[data-ui="utic"] #sidebar .utic-org-menu .ws-menu-label { font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: var(--p-faint); padding: 4px 8px 6px; }
:root[data-ui="utic"] #sidebar .utic-org-menu .ws-item { display: flex; align-items: center; gap: 7px; width: 100%; text-align: left; background: none; border: 0; color: var(--p-dim); font-size: 13px; padding: 8px 9px; border-radius: 7px; cursor: pointer; font-family: inherit; }
:root[data-ui="utic"] #sidebar .utic-org-menu .ws-item:hover { background: #2c2e30; color: var(--p-fg); }
:root[data-ui="utic"] #sidebar .utic-org-menu .ws-item.active { color: var(--p-lime); }
/* Org-/Band-Wechsler als zentriertes Modal (Prototyp orgModal) */
:root[data-ui="utic"] .ws-modal .ws-groups { display: flex; flex-direction: column; gap: 14px; margin: 6px 0 4px; }
:root[data-ui="utic"] .ws-modal .ws-group { display: flex; flex-direction: column; gap: 2px; }
:root[data-ui="utic"] .ws-modal .ws-menu-label { font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--faint); padding: 2px 4px 6px; }
:root[data-ui="utic"] .ws-modal .ws-item { display: flex; align-items: center; gap: 8px; width: 100%; text-align: left; background: var(--card-2); border: 1px solid var(--line); color: var(--txt); font-size: 13.5px; padding: 11px 13px; border-radius: var(--r); cursor: pointer; font-family: inherit; }
:root[data-ui="utic"] .ws-modal .ws-item:hover { border-color: rgba(120,208,0,.45); }
:root[data-ui="utic"] .ws-modal .ws-item.active { color: var(--lime); border-color: rgba(120,208,0,.5); }
:root[data-ui="utic"] .ws-modal .ws-item.ws-add { color: var(--lime); border-style: dashed; }

/* ============================================================================
   Prototyp-Tokens als Alias — damit Prototyp-CSS 1:1 übernommen werden kann.
   Werte exakt aus utic-testbox.html (:root dark + [data-theme=light]).
   ============================================================================ */
:root[data-ui="utic"] {
  --card:#2b2d2f; --card-2:#222426;
  --line:#34363a; --line-soft:#2c2e30;
  --txt:#ffffff; --fg:#ffffff; --dim:#9a9d9f; --faint:#71757a;
  --lime:#78d000; --lime-hi:#8fe61a; --lime-ink:#173600;
  --warn:#f5a524;
  --r:8px;
  /* --info, --danger, --bg, --bg-deep sind bereits definiert */
}
:root[data-ui="utic"][data-theme="light"] {
  --card:#ffffff; --card-2:#f1f3f5;
  --line:#e3e5e9; --line-soft:#edeff2;
  --txt:#1b1d1f; --fg:#1b1d1f; --dim:#5b6066; --faint:#878c93;
  --lime:#5fa800; --lime-hi:#6cb800; --lime-ink:#ffffff;
  --warn:#b9760a; --info:#1f6fd0; --danger:#d33b3b; --purple:#7a4fdc; --purple-soft:rgba(122,79,220,0.12);
  /* Hintergründe/Flächen/Rahmen/Text auch für Hell überschreiben – sonst bleibt
     die Seite dunkel, während nur die Karten hell werden (Prototyp: heller Grund). */
  --bg:#f3f4f6; --bg-deep:#ffffff; --bg-grad:#f3f4f6;
  --bg-panel:#ffffff; --bg-panel-2:#f1f3f5;
  --surface:#ffffff; --surface-2:#f1f3f5;
  --border:#e3e5e9; --border-soft:rgba(0,0,0,.06);
  --text:#1b1d1f; --text-dim:#5b6066; --text-mute:#878c93;
}

/* ============================================================================
   Shows-Übersicht — Karten 1:1 wie Prototyp (utic-testbox.html).
   ============================================================================ */
:root[data-ui="utic"] .shows{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
:root[data-ui="utic"] .shows-mgroup:first-child .agenda-mlabel{margin-top:2px}
@media(max-width:960px){:root[data-ui="utic"] .shows{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){:root[data-ui="utic"] .shows{grid-template-columns:1fr}}
:root[data-ui="utic"] .showc{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:0;overflow:hidden;text-align:left;display:flex;flex-direction:column;transition:border-color .15s,transform .15s;text-decoration:none;color:inherit}
:root[data-ui="utic"] .showc:hover{border-color:rgba(120,208,0,.45);transform:translateY(-2px)}
:root[data-ui="utic"] .showc .band{height:5px;background:linear-gradient(90deg,var(--lime),#4e8a00)}
:root[data-ui="utic"] .showc.is-ghost .band{background:linear-gradient(90deg,var(--purple),color-mix(in srgb,var(--purple) 55%,#000))}
:root[data-ui="utic"] .showc .in{padding:16px 17px 17px;display:flex;flex-direction:column;gap:9px}
:root[data-ui="utic"] .showc .city{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--lime)}
:root[data-ui="utic"] .showc .ttl{font-size:17px;font-weight:500;line-height:1.25;color:var(--txt)}
:root[data-ui="utic"] .showc .meta{font-size:12.5px;color:var(--dim);display:flex;flex-wrap:wrap;gap:4px 12px}
:root[data-ui="utic"] .showc .meta span{display:inline-flex;align-items:center;gap:6px}
:root[data-ui="utic"] .showc .showc-mgr{display:inline-flex;align-items:baseline;gap:6px;font-size:12px;color:var(--dim);margin-top:5px;flex-wrap:wrap}
:root[data-ui="utic"] .showc .showc-mgr svg{color:var(--faint);flex:0 0 auto;align-self:center}
:root[data-ui="utic"] .mgr-lbl{color:var(--faint)}
:root[data-ui="utic"] .mgr-name{color:var(--dim)}
:root[data-ui="utic"] .showc .prog{margin-top:8px}
:root[data-ui="utic"] .showc .prog .barwrap{height:5px;border-radius:3px;background:#3a3c3e;overflow:hidden;margin-top:5px}
:root[data-ui="utic"] .showc .prog .barwrap i{display:block;height:100%;background:var(--lime);border-radius:3px}
:root[data-ui="utic"] .showc .prog .lab{display:flex;justify-content:space-between;font-size:11.5px;color:var(--faint)}
:root[data-ui="utic"] .showc .prog .lab .tn{color:var(--dim);font-variant-numeric:tabular-nums}
/* Wetter-Badge (Live-Element .show-card-weather) im Prototyp-Look .wchip */
:root[data-ui="utic"] .showc .show-card-weather{display:inline-flex;align-items:center;gap:5px;color:var(--dim);font-size:12.5px}
:root[data-ui="utic"] .showc .show-card-weather b{color:var(--dim);font-weight:600}
:root[data-ui="utic"] .showc .show-card-weather svg{width:13px;height:13px;color:var(--warn)}
/* Status-Pills */
:root[data-ui="utic"] .pillrow{display:flex;flex-wrap:wrap;gap:6px}
:root[data-ui="utic"] .pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:500;padding:5px 11px;border-radius:var(--r);border:1px solid;white-space:nowrap}
/* Einheitliche Badge-Form (Prototyp .pill) auch für Showtyp-/Buchungs-/Versand-/
   Import-Badges – kein 999px-Oval, gleiche Größe/Padding wie .pill. Farbe bleibt
   (inline über showCategoryColor/bookingStatusColor bzw. je Klasse). */
:root[data-ui="utic"] .show-card-category,
:root[data-ui="utic"] .show-card-booking-status,
:root[data-ui="utic"] .show-card-imported,
:root[data-ui="utic"] .show-sent-item,
:root[data-ui="utic"] .show-sent-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:500;letter-spacing:normal;text-transform:none;padding:5px 11px;border-radius:var(--r);border-width:1px;white-space:nowrap}
:root[data-ui="utic"] .pill.ok{color:var(--lime);border-color:rgba(120,208,0,.4);background:rgba(120,208,0,.11)}
:root[data-ui="utic"] .pill.warn{color:var(--warn);border-color:rgba(245,165,36,.4);background:rgba(245,165,36,.1)}
:root[data-ui="utic"] .pill.info{color:var(--info);border-color:rgba(74,163,255,.4);background:rgba(74,163,255,.1)}
:root[data-ui="utic"] .pill.mut{color:var(--faint);border-color:var(--line);background:transparent}
:root[data-ui="utic"] .pill.bad{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent);background:color-mix(in srgb,var(--danger) 12%,transparent)}
/* Showtyp-Pille (Open Air, Festival …): neutrale, gefüllte „Label"-Form –
   als beschreibender Typ erkennbar, ohne mit den farbigen Status-Pillen zu
   konkurrieren. */
:root[data-ui="utic"] .pill.type{color:var(--dim);border-color:var(--line);background:var(--card-2)}
/* Tour-Markierung: zeigt, dass die Show Teil einer Tour ist (Icon + Tourname);
   eigene Farbe, klar unterscheidbar von Showtyp (neutral) und Status (lime/orange). */
:root[data-ui="utic"] .pill.tour{color:var(--info);border-color:rgba(74,163,255,.4);background:rgba(74,163,255,.1)}
:root[data-ui="utic"] .pill.tour svg{flex:0 0 auto}
:root[data-ui="utic"] .pill.removed{color:var(--purple);border-color:color-mix(in srgb,var(--purple) 50%,transparent);background:var(--purple-soft)}
/* Kleiner Lade-Spinner (Sofort-Feedback, z.B. beim Archivieren) */
@keyframes uspin{to{transform:rotate(360deg)}}
:root[data-ui="utic"] .uspin{display:inline-block;width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:uspin .6s linear infinite;vertical-align:-2px}
:root[data-ui="utic"] .fb-row.arch-busy,:root[data-ui="utic"] .pin-row.arch-busy{opacity:.45;transition:opacity .18s ease}
/* „Geister"-Karten: kürzlich gelöschte/archivierte Shows – ausgegraut, lila
   umrandet, nicht klickbar. Gilt für Karten-, Listen- und Agenda-Ansicht. */
:root[data-ui="utic"] .showc.is-ghost,
:root[data-ui="utic"] .slist-row.is-ghost,
:root[data-ui="utic"] .agenda-row.is-ghost{
  border-color:color-mix(in srgb,var(--purple) 55%,transparent);
  background:color-mix(in srgb,var(--purple) 7%,var(--card));
  opacity:.72;cursor:default;box-shadow:none;
}
:root[data-ui="utic"] .showc.is-ghost:hover,
:root[data-ui="utic"] .slist-row.is-ghost:hover,
:root[data-ui="utic"] .agenda-row.is-ghost:hover{
  border-color:color-mix(in srgb,var(--purple) 55%,transparent);background:color-mix(in srgb,var(--purple) 7%,var(--card));opacity:.72;transform:none;
}
:root[data-ui="utic"] .is-ghost .ttl,:root[data-ui="utic"] .is-ghost .slist-name,:root[data-ui="utic"] .is-ghost .agenda-name{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--purple) 60%,transparent)}
:root[data-ui="utic"] .ghost-restore{display:inline-flex;align-items:center;gap:5px;background:var(--card-2);border:1px solid color-mix(in srgb,var(--purple) 45%,var(--line));border-radius:var(--r);color:var(--purple);font-size:12px;padding:5px 10px;cursor:pointer;font-family:inherit;margin-top:6px}
:root[data-ui="utic"] .ghost-restore:hover{background:var(--purple-soft)}
:root[data-ui="utic"] .ghost-dismiss{display:inline-flex;align-items:center;gap:5px;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);color:var(--muted);font-size:12px;padding:5px 10px;cursor:pointer;font-family:inherit;margin-top:6px;margin-left:6px}
:root[data-ui="utic"] .ghost-dismiss:hover{background:var(--card);color:var(--fg)}
:root[data-ui="utic"] .ghost-hidden-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;font-size:13px;color:var(--muted)}
/* „wieder zeigen" ganz rechts (Flucht „Neue Show") als Pille in Geister-Farbe. */
:root[data-ui="utic"] .ghost-hidden-bar .link-btn{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;width:auto;margin:0;background:var(--card-2);border:1px solid color-mix(in srgb,var(--purple) 45%,var(--line));border-radius:var(--r);color:var(--purple);font-size:11.5px;font-weight:500;padding:5px 11px;cursor:pointer;font-family:inherit;text-decoration:none;white-space:nowrap}
:root[data-ui="utic"] .ghost-hidden-bar .link-btn:hover{background:var(--purple-soft);color:var(--purple)}
/* Mobil: Geister-Karte (gelöscht/archiviert) hat eine lange „Gelöscht …"-Pille
   plus zwei Buttons – die passen neben dem Namen nicht und überlappten ihn.
   Daher auf schmalen Screens in eine eigene Zeile unter den Namen umbrechen
   und die Pille umbrechen lassen. */
@media (max-width:640px){
  :root[data-ui="utic"] .agenda-row.is-ghost{flex-wrap:wrap}
  :root[data-ui="utic"] .agenda-row.is-ghost .slist-pills{flex:1 0 100%;align-items:flex-start;margin-top:4px}
  :root[data-ui="utic"] .is-ghost .pill.removed{white-space:normal;text-align:left}
}
:root[data-ui="utic"] .cal-sub-btn{margin-left:10px}
/* Favoritenstern (Live .show-fav, Prototyp-Optik .fav-star) */
:root[data-ui="utic"] .showc .fav-star{position:absolute;top:12px;right:12px;z-index:2;width:26px;height:26px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;color:var(--faint);background:var(--card-2);border:1px solid var(--line);cursor:pointer;flex:0 0 auto;transition:color .12s,border-color .12s;padding:0}
:root[data-ui="utic"] .showc .fav-star:hover{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,var(--line))}
:root[data-ui="utic"] .showc .fav-star.is-fav{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,var(--line))}
:root[data-ui="utic"] .showc .fav-star.is-fav svg{fill:var(--warn)}
:root[data-ui="utic"] .showc .fav-star svg{width:15px;height:15px}

/* ============================================================================
   Shows-Übersicht — Kopf & Filterleisten 1:1 wie Prototyp.
   ============================================================================ */
:root[data-ui="utic"] .page-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:6px}
:root[data-ui="utic"] .page-h h1{font-size:26px;letter-spacing:-.01em}
:root[data-ui="utic"] .page-sub{color:var(--dim);font-size:13.5px;margin-bottom:20px}
:root[data-ui="utic"] .toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}
:root[data-ui="utic"] .tb-lbl{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-weight:600;margin-right:2px;min-width:52px}
:root[data-ui="utic"] .toolbar .spacer{flex:1}
:root[data-ui="utic"] .seg{display:inline-flex;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:3px;gap:2px}
:root[data-ui="utic"] .seg::-webkit-scrollbar{height:0}
:root[data-ui="utic"] .seg button{border:0;background:none;color:var(--dim);font-size:13px;padding:6px 13px;border-radius:var(--r);cursor:pointer;font-family:inherit;white-space:nowrap;flex:0 0 auto}
:root[data-ui="utic"] .seg button.on,
:root[data-ui="utic"] .seg button.active{background:color-mix(in srgb,var(--lime) 18%,var(--card));color:var(--lime);font-weight:600;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lime) 45%,transparent)}
/* Verwaltung: 12 Tabs — im schmalen Pane intern horizontal scrollen statt die
   ganze Seite seitlich zu schieben (Prototyp: gleiche Technik in Mobile). */
:root[data-ui="utic"] .toolbar{max-width:100%}
:root[data-ui="utic"] #adm-tabs{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}
:root[data-ui="utic"] #adm-tabs button{white-space:nowrap;flex:0 0 auto}
:root[data-ui="utic"] #adm-tabs::-webkit-scrollbar{height:0}
/* View-Switcher (Live-Markup .view-switcher/.view-pill) im Segment-Look */
:root[data-ui="utic"] .view-switcher{display:inline-flex;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:3px;gap:2px}
:root[data-ui="utic"] .view-switcher .view-pill{border:0;background:none;color:var(--dim);font-size:13px;padding:6px 13px;border-radius:var(--r);cursor:pointer;font-family:inherit}
:root[data-ui="utic"] .view-switcher .view-pill.active{background:var(--card);color:var(--txt)}
/* Chip-Buttons (Favoriten etc.) im Prototyp-Look */
:root[data-ui="utic"] .toolbar .btn.secondary,
:root[data-ui="utic"] .toolbar .chipbtn{display:inline-flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--line);color:var(--dim);border-radius:var(--r);padding:8px 13px;font-size:13px;cursor:pointer}
:root[data-ui="utic"] .toolbar .btn.secondary.is-active,
:root[data-ui="utic"] .toolbar .chipbtn.on{color:var(--lime);border-color:rgba(120,208,0,.4);background:rgba(120,208,0,.1)}
:root[data-ui="utic"] .tb-typesel{appearance:auto;background:var(--card);border:1px solid var(--line);color:var(--dim);border-radius:var(--r);padding:8px 11px;font-size:13px;font-family:inherit;cursor:pointer}
:root[data-ui="utic"] .tb-typesel:focus{outline:none;border-color:var(--lime)}
:root[data-ui="utic"] .tb-typesel.is-active{color:var(--lime);border-color:rgba(120,208,0,.4);background:rgba(120,208,0,.1)}
:root[data-ui="utic"] .tb-multi{position:relative}
:root[data-ui="utic"] .tb-multibtn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;max-width:230px}
:root[data-ui="utic"] .tb-multilabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:root[data-ui="utic"] .tb-multimenu{position:absolute;top:calc(100% + 5px);left:0;z-index:60;min-width:190px;max-height:calc(100vh - 170px);overflow-y:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:5px;display:flex;flex-direction:column;gap:1px;box-shadow:0 10px 30px rgba(0,0,0,.4)}
:root[data-ui="utic"] .tb-multimenu[hidden]{display:none}
:root[data-ui="utic"] .tb-multi-all{text-align:left;background:none;border:none;border-bottom:1px solid var(--line);color:var(--dim);font:inherit;font-size:12.5px;padding:6px 9px;margin-bottom:3px;cursor:pointer}
:root[data-ui="utic"] .tb-multi-all:hover{color:var(--fg)}
:root[data-ui="utic"] .tb-multi-item{display:flex;align-items:center;gap:8px;padding:6px 9px;font-size:13px;color:var(--txt);cursor:pointer;border-radius:6px}
:root[data-ui="utic"] .tb-multi-item:hover{background:var(--card-2)}
:root[data-ui="utic"] .tb-multi-allitem{color:var(--dim);border-bottom:1px solid var(--line);border-radius:6px 6px 0 0;margin-bottom:2px}
:root[data-ui="utic"] .tb-multi-item input{width:15px;height:15px;accent-color:var(--lime);cursor:pointer;margin:0}
:root[data-ui="utic"] .tb-multi-sep{height:1px;background:var(--line);margin:4px 2px}
:root[data-ui="utic"] .tb-multi-fav .icon{color:#f5c518}
:root[data-ui="utic"] .tb-multi-head{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);padding:3px 9px 2px;font-weight:600}
:root[data-ui="utic"] .tb-multi-done{position:sticky;bottom:-5px;background:var(--card);border-top:1px solid var(--line);margin-top:5px;padding:6px 0 0}
:root[data-ui="utic"] .tb-multi-donebtn{width:100%;text-align:center;background:var(--lime);color:var(--lime-ink);border:none;border-radius:6px;padding:7px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
:root[data-ui="utic"] .tb-multi-donebtn:hover{background:var(--lime-hi)}
/* Neu angelegte Show kurz hervorheben (nach dem Anlegen in den Blick gescrollt) */
:root[data-ui="utic"] .just-created{animation:justCreatedPulse 2.4s ease-out 1}
@keyframes justCreatedPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--lime) 70%,transparent),0 0 0 1px color-mix(in srgb,var(--lime) 60%,transparent) inset}35%{box-shadow:0 0 0 4px color-mix(in srgb,var(--lime) 28%,transparent),0 0 0 1px var(--lime) inset}100%{box-shadow:0 0 0 0 transparent}}
@media (prefers-reduced-motion: reduce){:root[data-ui="utic"] .just-created{animation:none;outline:2px solid color-mix(in srgb,var(--lime) 55%,transparent);outline-offset:2px}}

/* Zeitraum-Filter in der Shows-Filterleiste */
:root[data-ui="utic"] .tb-daterange{display:inline-flex;align-items:center;gap:6px}
:root[data-ui="utic"] .tb-dr-lbl{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-weight:600}
:root[data-ui="utic"] .tb-daterange .tb-dr-input{width:auto;min-width:0;padding:6px 9px;font-size:12.5px}
:root[data-ui="utic"] .tb-dr-dash{color:var(--faint)}
:root[data-ui="utic"] .tb-dr-clear{width:26px;height:26px;flex:0 0 auto;border-radius:var(--r);border:1px solid var(--line);background:var(--card);color:var(--dim);font-size:16px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
:root[data-ui="utic"] .tb-dr-clear:hover{color:var(--lime);border-color:color-mix(in srgb,var(--lime) 45%,transparent)}
/* Zeitraum-Filter der Kosten-Prognose (eigene Zeile über dem Tour-Segment). */
:root[data-ui="utic"] .fin-filterbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
/* Freigaben-Übersicht: Gruppen + Link-Zeilen. */
:root[data-ui="utic"] .frg-group{margin-bottom:22px}
:root[data-ui="utic"] .frg-grouphead{display:flex;align-items:center;gap:8px}
:root[data-ui="utic"] .frg-grouphead svg{color:var(--lime)}
:root[data-ui="utic"] .frg-row{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 15px;margin-bottom:9px}
:root[data-ui="utic"] .frg-main{flex:1;min-width:0}
:root[data-ui="utic"] .frg-title{font-size:14.5px;font-weight:600;color:var(--txt)}
:root[data-ui="utic"] .frg-sub{font-size:12.5px;color:var(--faint);margin-top:2px;word-break:break-word}
:root[data-ui="utic"] .frg-acts{flex:0 0 auto;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
:root[data-ui="utic"] .frg-revoke{color:var(--faint)}
:root[data-ui="utic"] .frg-revoke:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}
/* „Showtypen verwalten"-Dialog im App-Stil + Drag&Drop-Sortierung. */
:root[data-ui="utic"] .stm-modal{max-width:640px}
:root[data-ui="utic"] .stm-list{display:flex;flex-direction:column;gap:8px;margin:12px 0 14px}
:root[data-ui="utic"] .stm-head{display:flex;align-items:center;gap:10px;padding:2px 11px 0;font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}
:root[data-ui="utic"] .stm-head .h-grip{flex:0 0 14px}
:root[data-ui="utic"] .stm-head .h-name{flex:1;min-width:120px}
:root[data-ui="utic"] .stm-head .h-cat{flex:0 0 auto;min-width:150px}
:root[data-ui="utic"] .stm-head .h-vis{flex:0 0 auto;min-width:138px;color:var(--dim)}
:root[data-ui="utic"] .stm-head .h-del{flex:0 0 auto;width:32px}
:root[data-ui="utic"] .stm-row{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:9px 11px}
:root[data-ui="utic"] .stm-row.stm-dragging{opacity:.5}
:root[data-ui="utic"] .stm-grip{flex:0 0 auto;cursor:grab;color:var(--faint);display:inline-flex}
:root[data-ui="utic"] .stm-grip:active{cursor:grabbing}
:root[data-ui="utic"] .stm-name,:root[data-ui="utic"] .stm-newinp{flex:1;min-width:120px;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);color:var(--txt);font:inherit;font-size:13.5px;padding:8px 11px}
:root[data-ui="utic"] .stm-cat{flex:0 0 auto;min-width:150px;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);color:var(--txt);font:inherit;font-size:13.5px;padding:8px 11px}
:root[data-ui="utic"] .stm-band{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap;color:var(--dim)}
:root[data-ui="utic"] .stm-band input{width:auto}
/* Modul-Sichtbarkeit als klarer An/Aus-Chip: aus = blass/gestrichelt, an =
   farbig gefüllt mit Häkchen (Band blau, Tänzer pink) – auf einen Blick lesbar. */
:root[data-ui="utic"] .stm-vis{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;cursor:pointer;user-select:none;position:relative;white-space:nowrap;font-size:12px;font-weight:600;letter-spacing:.01em;padding:5px 10px;border-radius:var(--r);border:1px solid var(--line);background:transparent;color:var(--faint);transition:background .12s,border-color .12s,color .12s}
:root[data-ui="utic"] .stm-vis input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
:root[data-ui="utic"] .stm-vis .stm-vis-mark{display:inline-flex;align-items:center;justify-content:center;width:0;overflow:hidden;opacity:0;transition:width .12s,opacity .12s}
:root[data-ui="utic"] .stm-vis:hover{border-color:var(--dim);color:var(--dim)}
:root[data-ui="utic"] .stm-vis-band.on{--stmc:#4f8cff}
:root[data-ui="utic"] .stm-vis-dancers.on{--stmc:#ec4899}
:root[data-ui="utic"] .stm-vis.on{color:var(--txt);border-color:color-mix(in srgb,var(--stmc) 60%,transparent);background:color-mix(in srgb,var(--stmc) 18%,transparent)}
:root[data-ui="utic"] .stm-vis.on .stm-vis-mark{width:12px;opacity:1;color:var(--stmc)}
:root[data-ui="utic"] .stm-vis:has(input:disabled){opacity:.35;cursor:default;border-style:dashed}
:root[data-ui="utic"] .stm-vis:has(input:disabled):hover{border-color:var(--line);color:var(--faint)}
:root[data-ui="utic"] .stm-del{flex:0 0 auto;background:transparent;border:1px solid var(--line);border-radius:var(--r);color:var(--faint);padding:7px 9px;cursor:pointer;display:inline-flex}
:root[data-ui="utic"] .stm-del:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}
:root[data-ui="utic"] .stm-addrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
@media(max-width:560px){:root[data-ui="utic"] .stm-head{display:none}:root[data-ui="utic"] .stm-row{flex-wrap:wrap}:root[data-ui="utic"] .stm-name,:root[data-ui="utic"] .stm-cat{min-width:0;width:100%;flex:1 1 100%}:root[data-ui="utic"] .stm-vis{flex:0 0 auto}}
@media(max-width:640px){:root[data-ui="utic"] .frg-row{flex-wrap:wrap}:root[data-ui="utic"] .frg-acts{width:100%}}

/* ============================================================================
   Show-Detail (Advancing) — Hero 1:1 wie Prototyp (utic-testbox.html).
   ============================================================================ */
:root[data-ui="utic"] .crumb{font-size:12.5px;color:var(--faint);margin-bottom:14px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
:root[data-ui="utic"] .crumb button,:root[data-ui="utic"] .crumb a{color:var(--faint);text-decoration:none;background:none;border:0;font-size:12.5px;padding:0;cursor:pointer;font-family:inherit}
:root[data-ui="utic"] .crumb button:hover{color:var(--dim)}
:root[data-ui="utic"] .crumb .crumb-edit{margin-left:4px;display:inline-flex;align-items:center;gap:5px;color:var(--lime);font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:1px solid color-mix(in srgb,var(--lime) 42%,transparent);background:color-mix(in srgb,var(--lime) 13%,transparent);border-radius:var(--r);padding:5px 11px}
:root[data-ui="utic"] .crumb .crumb-edit:hover{color:var(--lime);background:color-mix(in srgb,var(--lime) 22%,transparent);border-color:color-mix(in srgb,var(--lime) 62%,transparent)}
:root[data-ui="utic"] .crumb .crumb-edit svg{width:12px;height:12px}
:root[data-ui="utic"] .crumb .crumb-nav{margin-left:auto;display:inline-flex;gap:6px;align-items:center}
:root[data-ui="utic"] .crumb .crumb-navbtn{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--dim);border:1px solid var(--line);background:var(--card-2);border-radius:var(--r);padding:5px 11px;cursor:pointer}
:root[data-ui="utic"] .crumb .crumb-navbtn:hover:not([disabled]){color:var(--lime);border-color:color-mix(in srgb,var(--lime) 45%,transparent)}
:root[data-ui="utic"] .crumb .crumb-navbtn[disabled]{opacity:.4;cursor:default}
:root[data-ui="utic"] .hero{background:linear-gradient(180deg,#26282a,#202224);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:18px}
:root[data-ui="utic"][data-theme="light"] .hero{background:linear-gradient(180deg,#ffffff,#f5f6f8)}
:root[data-ui="utic"] .hero .ey{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
:root[data-ui="utic"] .hero h1{font-size:27px;margin:7px 0 12px;letter-spacing:-.01em;color:var(--txt)}
:root[data-ui="utic"] .hero .facts{display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--dim);font-size:13.5px}
:root[data-ui="utic"] .hero .facts span{display:inline-flex;align-items:center;gap:7px}
:root[data-ui="utic"] .hero .pillrow{margin-top:16px;display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
:root[data-ui="utic"] .hero .pillrow > *{min-width:0;justify-content:center;overflow:hidden;text-overflow:ellipsis;font-size:11px;height:28px;box-sizing:border-box}
:root[data-ui="utic"] .hero .resp-row{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:10px}
:root[data-ui="utic"] .hero .resp-row .resp{grid-column:span 2;min-width:0}
:root[data-ui="utic"] .resp{display:inline-flex;align-items:center;gap:7px;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:0 11px 0 4px;height:28px;box-sizing:border-box}
:root[data-ui="utic"] .resp .rav{width:20px;height:20px;border-radius:50%;background:var(--card);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:8.5px;font-weight:700;color:var(--lime);flex:0 0 auto}
:root[data-ui="utic"] .resp > span:last-child{display:inline-flex;align-items:baseline;gap:6px;min-width:0}
:root[data-ui="utic"] .resp .rlbl{color:var(--faint);text-transform:uppercase;letter-spacing:.05em;font-size:9px;white-space:nowrap}
:root[data-ui="utic"] .resp .rname{color:#d6d8da;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:root[data-ui="utic"] .count{flex:0 0 auto;text-align:center;align-self:center}
:root[data-ui="utic"] .count .n{font-size:42px;font-weight:700;line-height:1;color:var(--lime)}
:root[data-ui="utic"] .count small{display:block;color:var(--dim);font-size:12px;margin-top:6px}
/* Aktionsleiste unter dem Hero (Live-Buttons im Prototyp-Look) */
:root[data-ui="utic"] .show-actions-bar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:18px}
@media(max-width:820px){
  :root[data-ui="utic"] .hero .pillrow,:root[data-ui="utic"] .hero .resp-row{grid-template-columns:1fr 1fr}
  :root[data-ui="utic"] .hero .resp-row .resp{grid-column:auto}
}

/* ============================================================================
   Show-Detail — Zeitplan/Showtag-Timeline 1:1 wie Prototyp.
   ============================================================================ */
:root[data-ui="utic"] .sched-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 8px}
:root[data-ui="utic"] .sched-title{font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}
:root[data-ui="utic"] .doc-btn{background:none;border:1px solid var(--line);border-radius:var(--r);color:var(--dim);font-size:12.5px;padding:6px 11px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-family:inherit}
:root[data-ui="utic"] .doc-btn:hover{color:var(--txt);border-color:#4a4d50}
:root[data-ui="utic"] .doc-btn.on{color:var(--lime);border-color:color-mix(in srgb,var(--lime) 40%,var(--line))}
:root[data-ui="utic"] .sched{background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:16px 8px;display:flex;overflow-x:auto;margin-bottom:24px}
:root[data-ui="utic"] .sched .sstep{flex:1;min-width:104px;text-align:center;position:relative;padding:0 8px}
:root[data-ui="utic"] .sched .sstep .t{font-size:16px;font-weight:700;color:var(--txt)}
:root[data-ui="utic"] .sched .sstep .l{font-size:11.5px;color:var(--dim);margin-top:4px}
:root[data-ui="utic"] .sched .sstep::before{content:"";position:absolute;top:7px;left:50%;right:-50%;height:2px;background:var(--line)}
:root[data-ui="utic"] .sched .sstep:last-child::before{display:none}
:root[data-ui="utic"] .sched .sstep .dotc{width:11px;height:11px;border-radius:50%;background:#4a4d50;border:2px solid var(--card-2);margin:0 auto 10px;position:relative;z-index:1}
:root[data-ui="utic"] .sched .sstep.now .dotc{background:var(--lime);box-shadow:0 0 0 4px rgba(120,208,0,.18)}
:root[data-ui="utic"] .sched .sstep.now .t{color:var(--lime)}
:root[data-ui="utic"] .sched .sstep.done .dotc{background:var(--lime)}
/* Zeitplan-Editor (Live-Inputs im Prototyp-Look) */
:root[data-ui="utic"] .sched-edit{background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:12px;margin-bottom:24px;display:flex;flex-wrap:wrap;gap:12px}
:root[data-ui="utic"] .sched-edit .schedule-field{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:7px 11px}
:root[data-ui="utic"] .sched-edit .schedule-field-label{font-size:12.5px;color:var(--dim)}
:root[data-ui="utic"] .sched-edit .schedule-time-input{background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--txt);font-family:inherit;font-size:13px;padding:5px 8px}
:root[data-ui="utic"] .sched-edit .schedule-icon svg{color:var(--faint)}

/* ============================================================================
   Show-Detail — „Details & Infos"-Karte 1:1 wie Prototyp.
   ============================================================================ */
:root[data-ui="utic"] .c{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:17px 18px}
:root[data-ui="utic"] .c-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
:root[data-ui="utic"] .c-role{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--lime)}
:root[data-ui="utic"] .show-det-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 24px}
:root[data-ui="utic"] .show-det-grid .sd-k{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
:root[data-ui="utic"] .show-det-grid .sd-v{font-size:13.5px;margin-top:3px;color:var(--txt)}
:root[data-ui="utic"] .show-det-grid .sd-v a{color:var(--lime);text-decoration:none}
:root[data-ui="utic"] .show-det-grid .sd-v a:hover{text-decoration:underline}
:root[data-ui="utic"] .show-det-info{margin-top:14px;border-top:1px solid var(--line-soft);padding-top:12px;font-size:13px;color:#d6d8da;line-height:1.5}
:root[data-ui="utic"][data-theme="light"] .show-det-info{color:var(--dim)}
:root[data-ui="utic"] .show-det-info .sd-k{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);display:block;margin-bottom:5px}
:root[data-ui="utic"] .show-det-info .general-info-input{width:100%;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);color:var(--txt);font-family:inherit;font-size:13px;padding:9px 11px;resize:vertical}
@media(max-width:640px){:root[data-ui="utic"] .show-det-grid{grid-template-columns:1fr 1fr}}

/* ============================================================================
   Show-Detail — „Intern zuständig" (Zuständigkeits-Selects) 1:1 wie Prototyp.
   ============================================================================ */
:root[data-ui="utic"] .resp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
:root[data-ui="utic"] .resp-grid-3{grid-template-columns:repeat(4,1fr)}
:root[data-ui="utic"] .resp-grid .mf{margin-bottom:0}
:root[data-ui="utic"] .resp-grid .mf label{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin-bottom:5px}
:root[data-ui="utic"] .resp-grid select{width:100%;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);color:var(--fg);font-size:13px;font-family:inherit;padding:9px 11px}
:root[data-ui="utic"] .resp-grid .resp-ro{font-size:13.5px;color:var(--txt);padding:9px 0}
@media(max-width:640px){:root[data-ui="utic"] .resp-grid,:root[data-ui="utic"] .resp-grid-3{grid-template-columns:1fr}}

/* ============================================================================
   Show-Detail — „Aktionen für diese Show" + Statistik-Kacheln 1:1 wie Prototyp.
   ============================================================================ */
:root[data-ui="utic"] .da-label{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin:18px 0 8px}
:root[data-ui="utic"] .detail-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0}
:root[data-ui="utic"] .da-wrap{position:relative}
:root[data-ui="utic"] .da-btn{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:9px 13px;text-align:left;width:100%;cursor:pointer;font-family:inherit}
:root[data-ui="utic"] .da-btn:hover{border-color:color-mix(in srgb,var(--lime) 45%,transparent);background:#26282a}
:root[data-ui="utic"][data-theme="light"] .da-btn:hover{background:var(--card-2)}
:root[data-ui="utic"] .da-ic{width:30px;height:30px;border-radius:8px;background:var(--card-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--lime);flex:0 0 auto}
:root[data-ui="utic"] .da-ic.ok{background:rgba(120,208,0,.15);border-color:rgba(120,208,0,.3)}
:root[data-ui="utic"] .da-lock{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--faint);background:var(--card-2);border:1px dashed var(--line);border-radius:var(--r);padding:10px 13px}
/* Bulk-Auswahl auf den UTIC-Karten (Prototyp: gleiche Karten + selcb) */
/* Rider analysieren: zweispaltiges Ergebnis (Erkannte Punkte / Abklärungen) */
:root[data-ui="utic"] .ai-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:600;margin-left:6px}
:root[data-ui="utic"] .ai-count.ok{background:rgba(120,208,0,.15);color:var(--lime)}
:root[data-ui="utic"] .ai-count.warn{background:rgba(224,172,31,.16);color:var(--warn)}
:root[data-ui="utic"] .ai-list{display:flex;flex-direction:column;gap:4px;margin-top:6px}
:root[data-ui="utic"] .ai-item{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:9px 12px;cursor:pointer}
:root[data-ui="utic"] .ai-item.clarify{border-color:rgba(224,172,31,.4)}
:root[data-ui="utic"] .ai-item input{accent-color:var(--lime);flex:0 0 auto}
:root[data-ui="utic"] .ai-item-main{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}
:root[data-ui="utic"] .ai-item-l{font-size:13.5px;color:var(--txt)}
:root[data-ui="utic"] .ai-item-v{font-size:12px;color:var(--dim)}
/* Zeitplan-Editor: freie Programmpunkte (Prototyp .se-row) */
:root[data-ui="utic"] .se-freehead{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:14px 0 6px}
:root[data-ui="utic"] .se-list{display:flex;flex-direction:column;gap:2px}
:root[data-ui="utic"] .se-empty{font-size:12.5px;color:var(--faint);padding:6px 8px}
:root[data-ui="utic"] .se-row{display:flex;align-items:center;gap:10px;padding:5px 0}
:root[data-ui="utic"] .se-row .grip{color:var(--faint);flex:0 0 auto;display:inline-flex}
:root[data-ui="utic"] .se-lbl{flex:1;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:8px 11px;color:var(--txt);font:inherit;font-size:13.5px;outline:none}
:root[data-ui="utic"] .se-time{width:104px;flex:0 0 auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:8px 11px;color:var(--txt);font:inherit;font-size:13.5px;outline:none;font-variant-numeric:tabular-nums}
/* Tag-Auswahl (Vortag/Showtag/Folgetag) je Programmpunkt + Tages-Gruppenkopf. */
:root[data-ui="utic"] .se-day{flex:0 0 104px;width:104px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;color:var(--txt);font:inherit;font-size:13px;outline:none;cursor:pointer}
:root[data-ui="utic"] .se-daygroup{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--lime);font-weight:600;margin:10px 0 2px}
:root[data-ui="utic"] .se-daygroup:first-child{margin-top:2px}
:root[data-ui="utic"] .se-dash{flex:0 0 auto;color:var(--dim);font-weight:600}
:root[data-ui="utic"] .se-addend{flex:0 0 auto;display:inline-flex;align-items:center;gap:3px;background:var(--card-2);border:1px dashed var(--line);border-radius:var(--r);color:var(--dim);font:inherit;font-size:11.5px;padding:6px 9px;cursor:pointer;white-space:nowrap}
:root[data-ui="utic"] .se-addend:hover{color:var(--txt);border-color:#4a4d50}
:root[data-ui="utic"] .se-lbl:focus,:root[data-ui="utic"] .se-time:focus{border-color:color-mix(in srgb,var(--lime) 55%,transparent)}
:root[data-ui="utic"] .se-del{background:none;border:0;color:var(--faint);padding:4px;flex:0 0 auto;cursor:pointer;display:inline-flex}
:root[data-ui="utic"] .se-del:hover{color:var(--warn)}
/* Feste Slots (Load-In/Soundcheck/…) im gemeinsamen Tagesablauf: dezent abgesetzt, Bezeichnung fix, Schloss statt Löschen */
:root[data-ui="utic"] .se-row-fix .se-lbl-fix{background:color-mix(in srgb,var(--lime) 7%,var(--card));border-color:color-mix(in srgb,var(--lime) 22%,var(--line));color:var(--txt);font-weight:500;cursor:default}
:root[data-ui="utic"] .se-fix{color:color-mix(in srgb,var(--lime) 60%,var(--faint));padding:4px;flex:0 0 auto;display:inline-flex;align-items:center}
/* Read-only Zeitplan-Überblick oberhalb der Bearbeiten-Liste */
:root[data-ui="utic"] .se-peek{margin:2px 0 12px;padding-bottom:12px;border-bottom:1px solid var(--line);opacity:.92}
/* Aktionen unter der Zeitplan-Liste (Punkt hinzufügen / aus Vorlage übernehmen) */
:root[data-ui="utic"] .se-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
/* Aktionsleiste oberhalb der Zeitplan-Liste (aus Vorlage übernehmen) */
:root[data-ui="utic"] .se-topbar{display:flex;justify-content:flex-end;margin:0 0 10px}
/* Zweite Zeile je Eintrag: optionale Felder Team · Location – klein als
   „+ …"-Chip, wachsen beim Eintrag zum Feld (eingerückt unter der Zeile). */
/* Zweite Zeile: „+ Team" (unter dem Tag-Feld, gleiche Breite) und „+ Location"
   (unter der Uhrzeit, gleiche Breite) – über padding-left + 10px gap spaltenbündig
   zum Tag/Uhrzeit darüber. Aktive Felder (Team-Chips, Location-Eingabe) wachsen. */
:root[data-ui="utic"] .se-sub{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:1px 0 7px;padding-left:23px}
:root[data-ui="utic"] .se-sub .se-addopt{flex:0 0 104px;width:104px;display:inline-flex;align-items:center;gap:3px;background:var(--card-2);border:1px dashed var(--line);border-radius:var(--r);color:var(--dim);font:inherit;font-size:11.5px;padding:6px 9px;cursor:pointer;white-space:nowrap}
:root[data-ui="utic"] .se-sub .se-addopt:hover{color:var(--txt);border-color:#4a4d50}
:root[data-ui="utic"] .se-sub .se-opt{flex:1 1 200px;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:6px 10px;color:var(--txt);font:inherit;font-size:12.5px;outline:none}
:root[data-ui="utic"] .se-sub .se-opt:focus{border-color:color-mix(in srgb,var(--lime) 55%,transparent)}
:root[data-ui="utic"] .se-sub .se-opt::placeholder{color:var(--faint)}
/* Drag & Drop am Griff (Reihenfolge bei gleicher Zeit) */
:root[data-ui="utic"] #schedFreeList .grip-drag{cursor:grab}
:root[data-ui="utic"] #schedFreeList .se-row.se-dragging{opacity:.45}
/* Mobil: Zeitplan-Zeile umbrechen – Tag/Zeit/Ende/Löschen oben, Bezeichnung
   darunter auf voller Breite (sonst wird der Programmpunkt rechts abgeschnitten). */
@media(max-width:600px){
  :root[data-ui="utic"] .se-row{flex-wrap:wrap;row-gap:8px;gap:8px}
  :root[data-ui="utic"] .se-row .se-day{flex:0 0 94px;width:94px;font-size:12.5px;padding:8px 8px}
  :root[data-ui="utic"] .se-row .se-time{width:88px;padding:8px 8px}
  :root[data-ui="utic"] .se-row .se-del,:root[data-ui="utic"] .se-row .se-fix{margin-left:auto}
  :root[data-ui="utic"] .se-lbl{order:1;flex:1 1 100%}
  :root[data-ui="utic"] .tpl-sched .se-lbl{min-width:0}
  :root[data-ui="utic"] .tpl-sched{padding:8px 10px}
  :root[data-ui="utic"] .se-sub{padding-left:0;gap:8px}
}
/* Team-Zelle mit gewählten Teams/Personen als Chips (klickbar = bearbeiten) */
:root[data-ui="utic"] .se-sub .se-teamval{flex:1 1 104px;min-width:104px;display:flex;flex-wrap:wrap;gap:4px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:5px 8px;min-height:30px;cursor:pointer;text-align:left}
:root[data-ui="utic"] .se-sub .se-teamval:hover{border-color:color-mix(in srgb,var(--lime) 40%,var(--line))}
:root[data-ui="utic"] .se-chip-ro{display:inline-flex;align-items:center;background:color-mix(in srgb,var(--lime) 14%,var(--card));border:1px solid color-mix(in srgb,var(--lime) 30%,var(--line));color:var(--txt);border-radius:var(--r);padding:5px 11px;font-size:11.5px;font-weight:500;line-height:1.1;white-space:nowrap}
:root[data-ui="utic"] .st-free-wrap{display:flex;flex-direction:column;gap:5px;margin:12px 0 2px;font-size:12.5px;color:var(--dim)}
:root[data-ui="utic"] .st-free-wrap input{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:8px 11px;color:var(--txt);font:inherit;font-size:13.5px;outline:none}
:root[data-ui="utic"] .st-free-wrap input:focus{border-color:color-mix(in srgb,var(--lime) 55%,transparent)}
/* Eigene Teams verwalten (im Team-Fenster) */
:root[data-ui="utic"] .st-manage{border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;margin:4px 0 2px;background:color-mix(in srgb,var(--lime) 4%,var(--card))}
:root[data-ui="utic"] .st-manage-head{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}
:root[data-ui="utic"] .st-manage-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
:root[data-ui="utic"] .st-manage-chip{gap:6px}
:root[data-ui="utic"] .st-manage-del{background:none;border:0;color:var(--dim);cursor:pointer;font-size:14px;line-height:1;padding:0}
:root[data-ui="utic"] .st-manage-del:hover{color:var(--warn)}
:root[data-ui="utic"] .st-manage-add{display:flex;gap:8px}
:root[data-ui="utic"] .st-manage-add input{flex:1;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:7px 10px;color:var(--txt);font:inherit;font-size:13px;outline:none}
:root[data-ui="utic"] .st-manage-add input:focus{border-color:color-mix(in srgb,var(--lime) 55%,transparent)}
/* Auswahl-Fenster: Zeitplan übernehmen (Standard / benannte Vorlagen) */
:root[data-ui="utic"] .st-pick-list{display:flex;flex-direction:column;gap:8px;margin:6px 0 2px}
:root[data-ui="utic"] .st-pick-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:11px 14px;color:var(--txt);font:inherit;font-size:14px;cursor:pointer;text-align:left;width:100%}
:root[data-ui="utic"] .st-pick-row:hover{border-color:color-mix(in srgb,var(--lime) 45%,var(--line));background:color-mix(in srgb,var(--lime) 5%,var(--card))}
:root[data-ui="utic"] .st-pick-name{font-weight:500}
:root[data-ui="utic"] .st-pick-count{color:var(--faint);font-size:12px;flex:0 0 auto}
/* Benannte Zeitplan-Vorlagen in den Vorlagen (Custom-Bereich) */
:root[data-ui="utic"] .tpl-sched-saved{border-top:1px dashed var(--line);margin-top:4px;padding:10px 16px}
:root[data-ui="utic"] .tpl-sched-saved-head{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}
:root[data-ui="utic"] .tpl-sched-saved-row{display:flex;align-items:center;gap:10px;padding:5px 0}
:root[data-ui="utic"] .tpl-sched-saved-row .tss-name{flex:1;min-width:0;font-size:13.5px;color:var(--txt)}
:root[data-ui="utic"] .tpl-sched-saved-row .tss-count{color:var(--faint);font-size:12px}
:root[data-ui="utic"] .tpl-sched-saved-row .tss-act{background:none;border:0;color:var(--faint);padding:4px;cursor:pointer;display:inline-flex}
:root[data-ui="utic"] .tpl-sched-saved-row .tss-act:hover{color:var(--txt)}
:root[data-ui="utic"] .tpl-sched-saved-row .tss-del:hover{color:var(--warn)}
/* Dokumente-Tab (Prototyp .doc-list/.doc-row) */
:root[data-ui="utic"] .doc-list{display:flex;flex-direction:column;gap:9px}
:root[data-ui="utic"] .doc-row{display:flex;align-items:center;gap:13px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 15px}
:root[data-ui="utic"] .doc-ic{width:38px;height:38px;border-radius:9px;background:var(--card-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--lime);flex:0 0 auto}
:root[data-ui="utic"] .doc-main{flex:1;min-width:0}
:root[data-ui="utic"] .doc-name{font-size:14px;font-weight:500;color:var(--txt);text-decoration:none;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:root[data-ui="utic"] .doc-name:hover{color:var(--lime)}
:root[data-ui="utic"] .doc-meta{font-size:12px;color:var(--dim);margin-top:2px;display:flex;flex-wrap:wrap;gap:3px 12px}
:root[data-ui="utic"] .doc-acts{display:flex;align-items:center;gap:8px;flex:0 0 auto}
:root[data-ui="utic"] .doc-btn{background:none;border:1px solid var(--line);border-radius:var(--r);color:var(--dim);font-size:12.5px;padding:6px 11px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-family:inherit}
:root[data-ui="utic"] .doc-btn:hover{color:var(--lime);border-color:rgba(120,208,0,.4)}
:root[data-ui="utic"] .doc-iconbtn{background:none;border:1px solid var(--line);border-radius:var(--r);color:var(--faint);padding:6px 8px;display:inline-flex;cursor:pointer}
:root[data-ui="utic"] .doc-iconbtn:hover{color:var(--lime);border-color:rgba(120,208,0,.4)}
:root[data-ui="utic"] .doc-share-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--line-soft)}
:root[data-ui="utic"] .doc-share-row .doc-share-label{font-size:11.5px;color:var(--faint)}
:root[data-ui="utic"] .doc-share-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--dim)}
:root[data-ui="utic"] .doc-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}
/* Mobil: die Karten stapeln (flex-direction:column aus style.css). align-items
   bleibt sonst 'center', wodurch .doc-main nicht auf volle Breite geht und lange
   Dateinamen aus der Karte laufen. Hier: volle Breite, linksbündig, Name umbricht. */
@media(max-width:640px){
  :root[data-ui="utic"] .doc-row{align-items:stretch;text-align:left}
  :root[data-ui="utic"] .doc-main{width:100%}
  :root[data-ui="utic"] .doc-name{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word}
  :root[data-ui="utic"] .doc-acts{flex-wrap:wrap}
}
:root[data-ui="utic"] .doc-sechead{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:18px 0 8px}
/* Nutzer-Modal: Profil-Row + Sehen/Bearbeiten-Matrix (Prototyp userPermModal) */
:root[data-ui="utic"] .up-prof-row{display:flex;align-items:center;gap:14px;margin:10px 0 16px}
:root[data-ui="utic"] .up-avatar{width:44px;height:44px;border-radius:50%;background:var(--lime);color:var(--lime-ink);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex:0 0 auto;overflow:hidden}
:root[data-ui="utic"] .up-avatar.has-img{background:none}
:root[data-ui="utic"] .up-avatar img{width:100%;height:100%;object-fit:cover}
:root[data-ui="utic"] .up-prof-name{font-size:15px;font-weight:600;color:var(--txt)}
:root[data-ui="utic"] .up-prof-sub{font-size:12.5px;color:var(--dim)}
:root[data-ui="utic"] .up-prof-hint{font-size:11px;color:var(--faint);margin-top:2px}
:root[data-ui="utic"] .se-matrix{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
:root[data-ui="utic"] .se-mhead,:root[data-ui="utic"] .se-mrow{display:grid;grid-template-columns:1fr 70px 92px;align-items:center;gap:8px;padding:10px 13px}
:root[data-ui="utic"] .se-mhead{background:var(--card-2);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}
:root[data-ui="utic"] .se-mhead span:nth-child(n+2){justify-self:center}
:root[data-ui="utic"] .se-mrow{border-top:1px solid var(--line-soft);font-size:13.5px;color:var(--txt)}
:root[data-ui="utic"] .se-mcell{justify-self:center;display:inline-flex;margin:0}
/* Rechte-Matrix: eigene Checkbox statt nativ — im hellen Modus zeichnet der
   Browser native Boxen fast schwarz (rgb 27,29,31); hier dezentes Grau als
   Rahmen, Lime-Haken wenn aktiv (konsistent mit den Zugriff-Checkboxen). */
:root[data-ui="utic"] .se-mcell input{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1.5px solid var(--line);border-radius:50%;background:var(--card);cursor:pointer;position:relative;margin:0;transition:background .12s,border-color .12s}
:root[data-ui="utic"] .se-mcell input:hover{border-color:var(--dim)}
:root[data-ui="utic"] .se-mcell input:checked{background:var(--lime);border-color:var(--lime)}
:root[data-ui="utic"] .se-mcell input:checked::after{content:"";position:absolute;left:5px;top:1.5px;width:4px;height:8px;border:solid var(--lime-ink);border-width:0 2px 2px 0;transform:rotate(45deg)}
:root[data-ui="utic"] .se-mcell input:disabled{opacity:.4;cursor:not-allowed}
/* Unterüberschrift in der Modulzugriff-Matrix (z.B. „Navigation") */
:root[data-ui="utic"] .se-msub{background:var(--card-2);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);padding:7px 13px;border-top:1px solid var(--line)}
/* Geburtsdatum-Picker: Monats-/Jahr-Dropdown im Kopf + Kalender-Icon am Feld */
:root[data-ui="utic"] .utic-datepop .dp-head-sel{gap:8px}
:root[data-ui="utic"] .utic-datepop .dp-sel{flex:1;min-width:0;appearance:auto;background:var(--card-2);border:1px solid var(--line);border-radius:8px;color:var(--txt);font:inherit;font-size:13px;padding:5px 7px;cursor:pointer}
:root[data-ui="utic"] .utic-datepop .dp-sel-m{flex:1.5}
:root[data-ui="utic"] .utic-datepop .dp-sel:focus{outline:none;border-color:var(--lime)}
.bd-wrap{position:relative;display:block}
.bd-wrap > input{padding-right:38px !important}
.bd-btn{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:0;background:none;color:var(--dim);cursor:pointer;border-radius:7px;padding:0}
.bd-btn:hover{color:var(--lime);background:var(--card-2)}
.bd-btn svg{width:17px;height:17px}
/* Travel-Agency: Inline-Reise-Editor + Freigabe-Dialog */
:root[data-ui="utic"] .tve-leg{border:1px solid var(--line);border-radius:var(--r);padding:10px 11px;margin-bottom:9px;background:var(--card-2)}
:root[data-ui="utic"] .tve-leg-head{display:flex;gap:8px;align-items:center;margin-bottom:8px}
:root[data-ui="utic"] .tve-leg-head select{flex:1;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:7px;color:var(--txt);font:inherit;font-size:12.5px;padding:5px 7px}
:root[data-ui="utic"] .tve-leg-head .tve-leg-del{margin-left:auto;flex:0 0 auto;color:var(--dim)}
:root[data-ui="utic"] .tve-leg-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
:root[data-ui="utic"] .tve-leg-grid input{background:var(--card);border:1px solid var(--line);border-radius:7px;color:var(--txt);font:inherit;font-size:12.5px;padding:7px 9px;width:100%}
:root[data-ui="utic"] .tve-leg-grid input:focus{outline:none;border-color:var(--lime)}
@media(max-width:560px){:root[data-ui="utic"] .tve-leg-grid{grid-template-columns:1fr}}
:root[data-ui="utic"] .tv-via{color:var(--lime)}
:root[data-ui="utic"] .tv-band{display:inline-flex;align-items:center;gap:3px;color:var(--lime);font-weight:600}
:root[data-ui="utic"] .tv-band svg{vertical-align:-1px}
/* Übergabe an die Travel Agency – deutlicher Chip in der Modul-Farbe (cyan). */
:root[data-ui="utic"] .tv-handover{display:inline-flex;align-items:center;gap:3px;color:var(--cyan);font-weight:600}
:root[data-ui="utic"] .tv-handover svg{vertical-align:-1px}
:root[data-ui="utic"] .booking-handover-hint{display:flex;align-items:center;gap:6px;margin-top:8px;padding:7px 10px;border-radius:var(--r);font-size:12px;color:var(--cyan);border:1px solid color-mix(in srgb,var(--cyan) 40%,var(--line));background:color-mix(in srgb,var(--cyan) 8%,transparent)}
:root[data-ui="utic"] .booking-handover-hint svg{flex:0 0 auto}
:root[data-ui="utic"] .bandreq-box{border:1px solid color-mix(in srgb,var(--lime) 40%,var(--line));background:color-mix(in srgb,var(--lime) 6%,transparent);border-radius:var(--r);padding:12px 14px;margin-top:8px}
:root[data-ui="utic"] .bandreq-hint{font-size:12.5px;color:var(--dim);margin-bottom:10px;display:flex;align-items:center;gap:6px}
:root[data-ui="utic"] .bandreq-hint svg{color:var(--lime);flex:0 0 auto}
:root[data-ui="utic"] .bp-badge-edit{display:inline-flex;align-items:center;gap:3px;background:color-mix(in srgb,#e0ac1f 18%,transparent);color:#e0ac1f;border:1px solid color-mix(in srgb,#e0ac1f 40%,transparent)}
:root[data-ui="utic"] .bp-badge-edit svg{flex:0 0 auto}
/* Von der Tour geänderte Reise: deutlicher Rahmen (amber) um den Eintrag,
   analog zur Markierung einer gelöschten Show – damit die Änderung auffällt. */
:root[data-ui="utic"] .bp-item.is-edited{border-color:color-mix(in srgb,#e0ac1f 60%,transparent);background:color-mix(in srgb,#e0ac1f 9%,var(--card))}
/* Technik-Advancing-Status in „Intern zuständig" (läuft/abgeschlossen + Balken). */
:root[data-ui="utic"] .iz-techstatus{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
:root[data-ui="utic"] .iz-ts-head{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--dim)}
:root[data-ui="utic"] .iz-ts-head svg{color:var(--lime);flex:0 0 auto}
:root[data-ui="utic"] .iz-ts-bar{height:6px;border-radius:999px;background:var(--card-2);overflow:hidden;margin:8px 0 5px}
:root[data-ui="utic"] .iz-ts-bar span{display:block;height:100%;background:var(--lime);border-radius:999px;transition:width .2s}
:root[data-ui="utic"] .iz-ts-sub{font-size:11.5px;color:var(--faint)}
/* Tourmanager-Zuständigkeits-Abfrage (Show-Detail-Karte + Mitteilungs-Aktionen) */
:root[data-ui="utic"] .btn.sm{padding:6px 12px;font-size:12.5px}
:root[data-ui="utic"] .iz-assign .c-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
:root[data-ui="utic"] .iz-arows{margin-top:12px;display:flex;flex-direction:column;gap:7px}
:root[data-ui="utic"] .iz-ar{display:flex;align-items:center;justify-content:space-between;gap:10px}
:root[data-ui="utic"] .iz-arn{font-size:13px;color:var(--text)}
:root[data-ui="utic"] .iz-arn small{color:var(--faint);font-size:11px;margin-left:4px}
:root[data-ui="utic"] .iz-arespond,:root[data-ui="utic"] .iz-aassign{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
:root[data-ui="utic"] .iz-arq{font-size:12.5px;color:var(--dim);margin-bottom:9px}
:root[data-ui="utic"] .iz-abtns{display:flex;gap:9px;flex-wrap:wrap}
:root[data-ui="utic"] .iz-aassign .iz-ar{margin-top:8px}
:root[data-ui="utic"] .mit-notif.is-assign .mit-notif-ic{color:var(--lime);background:color-mix(in srgb,var(--lime) 14%,transparent)}
:root[data-ui="utic"] .mit-notif.is-ok .mit-notif-ic{color:var(--lime);background:color-mix(in srgb,var(--lime) 14%,transparent)}
:root[data-ui="utic"] .mit-acts{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}
:root[data-ui="utic"] .tmg-subs{display:flex;flex-direction:column;gap:9px;margin-top:4px}
:root[data-ui="utic"] .tmg-sub{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--text);cursor:pointer}
:root[data-ui="utic"] .tmg-sub input{width:16px;height:16px;accent-color:var(--lime)}
/* Eingerückter Seitenleisten-Unterpunkt (z. B. TM-Verfügbarkeit unter Tourmanagement) */
:root[data-ui="utic"] .utic-side .nav.nav-sub{margin-left:18px;font-size:12.5px;opacity:.9}
:root[data-ui="utic"] .utic-side .nav.nav-sub svg{width:14px;height:14px}
/* TM-Verfügbarkeits-Board */
:root[data-ui="utic"] .tmb-tblwrap{overflow:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
:root[data-ui="utic"] .tmb-tbl{width:100%;border-collapse:collapse;font-size:13px}
:root[data-ui="utic"] .tmb-tbl th{position:sticky;top:0;background:var(--card-2);text-align:left;padding:9px 10px;font-weight:600;font-size:11.5px;letter-spacing:.03em;color:var(--dim);border-bottom:1px solid var(--line);white-space:nowrap}
:root[data-ui="utic"] .tmb-tbl td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
:root[data-ui="utic"] .tmb-tbl tbody tr:hover{background:var(--card-2)}
:root[data-ui="utic"] .tmb-tbl th.tmb-mcol{text-align:center}
:root[data-ui="utic"] .tmb-mname{display:block}
:root[data-ui="utic"] .tmb-tags{display:inline-flex;gap:5px;justify-content:center;margin-top:4px}
:root[data-ui="utic"] .tmb-cell{text-align:center}
:root[data-ui="utic"] .tmb-cell-pill{min-width:22px;display:inline-block;text-align:center}
:root[data-ui="utic"] .tmb-cell-empty{color:var(--faint)}
/* Tänzer-Board: „dabei"-Bestätigen-Chip (grün = als Teilnehmer bestätigt). */
:root[data-ui="utic"] .dcb-cellconf{margin-top:5px;display:flex;justify-content:center;min-height:22px}
:root[data-ui="utic"] .dcb-confirm{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:var(--r);border:1px solid var(--line);background:transparent;color:var(--dim);cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}
:root[data-ui="utic"] .dcb-confirm:hover{border-color:rgba(120,208,0,.45);color:var(--txt)}
:root[data-ui="utic"] .dcb-confirm svg{color:var(--lime)}
:root[data-ui="utic"] .dcb-confirm.on{background:rgba(120,208,0,.14);border-color:rgba(120,208,0,.5);color:var(--txt)}
:root[data-ui="utic"] .tmb-cell.dcb-confirmed{background:rgba(120,208,0,.09)}
:root[data-ui="utic"] .tmb-card-mgr.dcb-confirmed{background:rgba(120,208,0,.09)}
:root[data-ui="utic"] .dcb-confspace{display:inline-block;height:22px}
/* Zelle des zugeteilten Zuständigen neutral markieren (nicht grün – Grün ist
   „verfügbar"); dezenter Hintergrund + Rahmen, damit die Spalte erkennbar ist. */
:root[data-ui="utic"] .tmb-isassigned{background:color-mix(in srgb,var(--text) 6%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 18%,transparent)}
:root[data-ui="utic"] .tmb-ownsel{min-width:96px;font-weight:500}
:root[data-ui="utic"] .tmb-ownsel.is-yes{color:var(--lime);border-color:rgba(120,208,0,.5);background:rgba(120,208,0,.12)}
:root[data-ui="utic"] .tmb-ownsel.is-maybe{color:var(--warn);border-color:rgba(245,165,36,.5);background:rgba(245,165,36,.12)}
:root[data-ui="utic"] .tmb-ownsel.is-no{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 50%,transparent);background:color-mix(in srgb,var(--danger) 13%,transparent)}
:root[data-ui="utic"] .tmb-date{white-space:nowrap}
:root[data-ui="utic"] .tmb-show a{color:var(--text);font-weight:500;text-decoration:none}
:root[data-ui="utic"] .tmb-show a:hover{color:var(--lime)}
:root[data-ui="utic"] .tmb-show small{display:block;color:var(--faint);font-size:11px;margin-top:1px}
:root[data-ui="utic"] .tmb-tbl th.tmb-assignhead{text-align:center}
:root[data-ui="utic"] .tmb-assigncell{white-space:nowrap;text-align:center}
:root[data-ui="utic"] .tmb-assign{min-width:150px}
:root[data-ui="utic"] .tmb-statepill{margin-left:6px}
:root[data-ui="utic"] .tmb-pastrow{opacity:.62}
/* Geklärte Zeile (Zuständiger zugeteilt): grüner Rahmen wie unsere ok-Pille. */
:root[data-ui="utic"] .tmb-tbl tr.tmb-done td{border-top:1px solid rgba(120,208,0,.5);border-bottom:1px solid rgba(120,208,0,.5)}
:root[data-ui="utic"] .tmb-tbl tr.tmb-done td:first-child{border-left:1px solid rgba(120,208,0,.5)}
:root[data-ui="utic"] .tmb-tbl tr.tmb-done td:last-child{border-right:1px solid rgba(120,208,0,.5)}
:root[data-ui="utic"] .tmb-cb{width:34px;text-align:center}
:root[data-ui="utic"] .tmb-cb input{width:16px;height:16px;accent-color:var(--lime)}
:root[data-ui="utic"] .tmb-legend{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--dim);flex-wrap:wrap}
:root[data-ui="utic"] .tmb-legend .pill{min-width:20px;text-align:center}
:root[data-ui="utic"] .tmb-bulkbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--lime) 35%,transparent);background:color-mix(in srgb,var(--lime) 8%,transparent);border-radius:var(--r);font-size:12.5px}
:root[data-ui="utic"] .tmb-pasthint{margin-top:10px;font-size:12px;color:var(--faint)}
:root[data-ui="utic"] .tmb-deadline-ban{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:9px 13px;border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);background:color-mix(in srgb,var(--warn) 9%,transparent);border-radius:var(--r);font-size:13px;color:var(--text)}
:root[data-ui="utic"] .tmb-deadline-ban svg{color:var(--warn);flex:0 0 auto}
:root[data-ui="utic"] .tmb-deadline-ban .link-btn{margin-left:auto}
/* Mobile Ansichts-Umschalter (Karten/Liste) – nur auf dem Handy */
:root[data-ui="utic"] .tmb-mobview{display:none}
@media(max-width:760px){:root[data-ui="utic"] .tmb-mobview{display:inline-flex;margin-bottom:12px}}
/* Mobile Listenansicht (kompakte Übersicht) */
:root[data-ui="utic"] .tmb-list{display:flex;flex-direction:column;gap:8px}
:root[data-ui="utic"] .tmb-litem{border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:10px 12px;cursor:pointer}
:root[data-ui="utic"] .tmb-litem:active{background:var(--card-2)}
:root[data-ui="utic"] .tmb-litem.tmb-done{border-color:rgba(120,208,0,.5)}
:root[data-ui="utic"] .tmb-li-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
:root[data-ui="utic"] .tmb-li-name{font-weight:600;font-size:14px}
:root[data-ui="utic"] .tmb-li-facts{color:var(--faint);font-size:11.5px;margin-top:2px}
:root[data-ui="utic"] .tmb-li-dots{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}
:root[data-ui="utic"] .tmb-li-chip{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;border:1px solid var(--line);background:var(--card-2);color:var(--faint)}
:root[data-ui="utic"] .tmb-li-chip.av-yes{background:rgba(120,208,0,.16);border-color:rgba(120,208,0,.5);color:var(--lime)}
:root[data-ui="utic"] .tmb-li-chip.av-maybe{background:rgba(245,165,36,.14);border-color:rgba(245,165,36,.5);color:var(--warn)}
:root[data-ui="utic"] .tmb-li-chip.av-no{background:color-mix(in srgb,var(--danger) 14%,transparent);border-color:color-mix(in srgb,var(--danger) 50%,transparent);color:var(--danger)}
/* Mobile Karten-Ansicht des TM-Boards */
:root[data-ui="utic"] .tmb-cards{display:flex;flex-direction:column;gap:10px}
:root[data-ui="utic"] .tmb-mgroup-m{margin:8px 2px 2px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lime)}
:root[data-ui="utic"] .tmb-card{border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:12px 13px}
:root[data-ui="utic"] .tmb-card.tmb-done{border-color:rgba(120,208,0,.5)}
:root[data-ui="utic"] .tmb-card-h{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}
:root[data-ui="utic"] .tmb-card-h a{color:var(--text);font-weight:600;text-decoration:none;font-size:14.5px}
:root[data-ui="utic"] .tmb-card-facts{color:var(--faint);font-size:11.5px}
:root[data-ui="utic"] .tmb-card-mgrs{display:flex;flex-direction:column;gap:10px}
:root[data-ui="utic"] .tmb-card-mgr{display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:8px;border-radius:10px}
:root[data-ui="utic"] .tmb-card-mgr.tmb-isassigned{background:color-mix(in srgb,var(--text) 6%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 14%,transparent)}
:root[data-ui="utic"] .tmb-card-mgrn{font-size:13.5px;font-weight:500;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
:root[data-ui="utic"] .tmb-choices{margin-bottom:0}
:root[data-ui="utic"] .tmb-choices .av-status{padding:9px 6px;font-size:13px}
:root[data-ui="utic"] .tmb-ro{font-size:13px}
:root[data-ui="utic"] .tmb-card-assign{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;padding-top:10px;border-top:1px solid var(--line)}
:root[data-ui="utic"] .tmb-card-lbl{font-size:11.5px;color:var(--dim);text-transform:uppercase;letter-spacing:.04em}
:root[data-ui="utic"] .tmb-card-assign .tmb-assign{min-width:150px}
:root[data-ui="utic"] .tmb-card-sel{display:flex;align-items:center;gap:7px;margin-top:10px;font-size:12px;color:var(--dim)}
:root[data-ui="utic"] .tmb-card-sel input{width:16px;height:16px;accent-color:var(--lime)}
/* Kostenplan: automatisch aus Teilnehmern/Tourmanager */
:root[data-ui="utic"] .cp-auto-box{border:1px dashed color-mix(in srgb,var(--lime) 40%,transparent);background:color-mix(in srgb,var(--lime) 6%,transparent);border-radius:var(--r);padding:11px 13px;margin:4px 0 12px}
:root[data-ui="utic"] .cp-auto-h{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--dim)}
:root[data-ui="utic"] .cp-auto-h .btn{margin-left:auto}
:root[data-ui="utic"] .cp-auto-hint{font-size:11.5px;color:var(--faint);margin:5px 0 8px}
:root[data-ui="utic"] .cp-auto-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0;font-size:13px;border-top:1px solid var(--line)}
:root[data-ui="utic"] .cp-auto-tag{margin-left:5px}
:root[data-ui="utic"] .kp-chip-auto{border-color:color-mix(in srgb,var(--lime) 40%,transparent);color:var(--lime)}
:root[data-ui="utic"] .kp-chip-ist{border-color:color-mix(in srgb,var(--warn) 45%,transparent);color:var(--warn);display:inline-flex;align-items:center;gap:4px}
:root[data-ui="utic"] .kp-exp-pdf{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;cursor:pointer;white-space:nowrap;color:var(--dim);background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:5px 10px;transition:border-color .12s,color .12s}
:root[data-ui="utic"] .kp-exp-pdf:hover{border-color:var(--dim);color:var(--txt)}
:root[data-ui="utic"] .kp-row:hover .kp-row-export{border-color:var(--dim);color:var(--txt)}
:root[data-ui="utic"] .xp-menu{display:flex;flex-direction:column;gap:9px;margin-bottom:6px}
:root[data-ui="utic"] .xp-menu .btn{justify-content:flex-start;text-align:left;gap:8px}
:root[data-ui="utic"] .xp-menu .btn small{color:var(--dim);font-weight:400}
:root[data-ui="utic"] .kp-selbox{flex:0 0 auto;display:inline-flex;align-items:center;cursor:pointer}
:root[data-ui="utic"] .kp-selbox input{width:16px;height:16px;cursor:pointer;accent-color:var(--lime)}
:root[data-ui="utic"] .kp-selbox-empty{width:16px;height:16px}
:root[data-ui="utic"] .kp-bulkbar{display:flex;align-items:center;gap:10px;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:9px 14px;margin:8px 0 10px;font-size:13px;color:var(--dim)}
:root[data-ui="utic"] .kp-bulkbar .spacer{flex:1}
:root[data-ui="utic"] .tmb-daterange{display:inline-flex;align-items:center;gap:6px;color:var(--dim)}
:root[data-ui="utic"] .tmb-daterange input[type="date"]{width:140px}
:root[data-ui="utic"] .tmb-dash{color:var(--faint)}
:root[data-ui="utic"] .tmb-mgroup td{position:sticky;left:0;background:var(--bg);padding:11px 10px 6px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lime);border-bottom:1px solid var(--line)}
:root[data-ui="utic"] .tmb-mgroup:hover td{background:var(--bg)}
:root[data-ui="utic"] .tmb-mcount{color:var(--faint);font-weight:500}
:root[data-ui="utic"] .tv-has-ticket{color:var(--lime);border-color:color-mix(in srgb,var(--lime) 45%,transparent);background:color-mix(in srgb,var(--lime) 12%,transparent);max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:root[data-ui="utic"] .tvs-list{display:flex;flex-direction:column;gap:12px;max-height:52vh;overflow:auto}
:root[data-ui="utic"] .tvs-group{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
:root[data-ui="utic"] .tvs-group-head{display:flex;align-items:center;gap:8px;background:var(--card-2);padding:8px 12px;font-size:13px;border-bottom:1px solid var(--line-soft)}
:root[data-ui="utic"] .tvs-group-head .tvs-tour{margin-left:auto}
:root[data-ui="utic"] .tvs-row{display:flex;align-items:center;gap:9px;padding:8px 12px;font-size:13px;border-top:1px solid var(--line-soft);cursor:pointer}
:root[data-ui="utic"] .tvs-row:first-of-type{border-top:0}
/* Eigenes Vorschlags-Dropdown (z.B. Funktion) – ersetzt die native datalist */
.fn-suggest{position:fixed;z-index:10050;max-height:220px;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 10px 28px rgba(0,0,0,.28);padding:4px}
.fn-suggest-item{display:block;width:100%;text-align:left;border:0;background:none;color:var(--txt);font:inherit;font-size:13.5px;padding:8px 11px;border-radius:7px;cursor:pointer}
.fn-suggest-item:hover,.fn-suggest-item.on{background:var(--card-2)}
/* Gästeliste-Leiste: gleiche Formen wie überall (radius var(--r), keine 999px) */
:root[data-ui="utic"] .guest-quota-field,:root[data-ui="utic"] .guest-quota-badge{border-radius:var(--r)}
:root[data-ui="utic"] .guest-quota-field input{border-radius:6px}
:root[data-ui="utic"] .selcb{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line);background:var(--card);display:inline-flex;align-items:center;justify-content:center;color:transparent;flex:0 0 auto}
:root[data-ui="utic"] .selcb.on{background:var(--lime);border-color:var(--lime);color:var(--lime-ink)}
:root[data-ui="utic"] .showc .selcb{position:absolute;top:12px;right:12px;z-index:2}
:root[data-ui="utic"] .slist-row .selcb,:root[data-ui="utic"] .agenda-row .selcb{margin-right:4px}
:root[data-ui="utic"] .showc.is-sel,:root[data-ui="utic"] .slist-row.is-sel,:root[data-ui="utic"] .agenda-row.is-sel{border-color:var(--lime);box-shadow:inset 0 0 0 1px var(--lime)}
/* „Option"-Shows (noch nicht fix gebucht): bernsteinfarbener Akzentstreifen
   links + sehr dezenter Tint – in Karten, Liste und Kalender. */
:root[data-ui="utic"] .showc.is-option,
:root[data-ui="utic"] .slist-row.is-option,
:root[data-ui="utic"] .agenda-row.is-option{background:color-mix(in srgb,var(--warn) 7%,var(--card));box-shadow:inset 3px 0 0 var(--warn)}
:root[data-ui="utic"] .showc.is-option:hover,
:root[data-ui="utic"] .slist-row.is-option:hover,
:root[data-ui="utic"] .agenda-row.is-option:hover{box-shadow:inset 3px 0 0 var(--warn)}
/* Auswahl (Bulk) hat Vorrang vor der Option-Hervorhebung. */
:root[data-ui="utic"] .showc.is-option.is-sel,
:root[data-ui="utic"] .slist-row.is-option.is-sel,
:root[data-ui="utic"] .agenda-row.is-option.is-sel{box-shadow:inset 0 0 0 1px var(--lime),inset 3px 0 0 var(--warn)}
:root[data-ui="utic"] .da-txt{display:flex;flex-direction:column;line-height:1.25;min-width:0}
:root[data-ui="utic"] .da-txt b{font-size:13.5px;font-weight:500;color:var(--txt)}
:root[data-ui="utic"] .da-txt small{font-size:11px;color:var(--faint)}
:root[data-ui="utic"] .da-menu{position:absolute;top:100%;left:0;right:0;margin-top:6px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:6px;z-index:40;box-shadow:0 12px 32px rgba(0,0,0,.4);display:flex;flex-direction:column;gap:2px}
:root[data-ui="utic"] .da-menu-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:0;color:var(--dim);font-size:13px;padding:9px 10px;border-radius:7px;cursor:pointer;font-family:inherit}
:root[data-ui="utic"] .da-menu-item:hover{background:var(--card-2);color:var(--txt)}
:root[data-ui="utic"] .show-actions-secondary{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0 22px}
:root[data-ui="utic"] .chip-act{display:inline-flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--line);color:var(--dim);border-radius:var(--r);padding:8px 13px;font-size:12.5px;cursor:pointer;font-family:inherit}
:root[data-ui="utic"] .chip-act:hover{color:var(--txt);border-color:#4a4d50}
:root[data-ui="utic"] .tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0 22px}
:root[data-ui="utic"] .tile{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
:root[data-ui="utic"] .tile .k{font-size:11px;color:var(--faint);letter-spacing:.08em;text-transform:uppercase}
:root[data-ui="utic"] .tile .v{font-size:23px;font-weight:700;margin-top:8px;color:var(--txt)}
:root[data-ui="utic"] .tile .v small{font-size:14px;font-weight:400;color:var(--dim)}
:root[data-ui="utic"] .tile .tile-sub{font-size:11.5px;color:var(--dim);margin-top:4px}
:root[data-ui="utic"] .tile .bar{height:5px;border-radius:3px;background:#3a3c3e;margin-top:11px;overflow:hidden}
:root[data-ui="utic"][data-theme="light"] .tile .bar{background:#e6e8ec}
:root[data-ui="utic"] .tile .bar i{display:block;height:100%;background:var(--lime);border-radius:3px}
:root[data-ui="utic"] button.tile{font:inherit;text-align:left;width:100%;cursor:pointer;transition:border-color .15s,background .15s}
:root[data-ui="utic"] button.tile.tile-link:hover{border-color:var(--lime);background:var(--card-2)}
:root[data-ui="utic"] button.tile.tile-link:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
@media(max-width:820px){:root[data-ui="utic"] .tiles,:root[data-ui="utic"] .detail-actions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){:root[data-ui="utic"] .tiles,:root[data-ui="utic"] .detail-actions{grid-template-columns:1fr}}
/* Nutzerverwaltung-Aktionen: gleiches Raster wie die Kacheln darunter (eine
   Kachelspalte pro Button), damit sie exakt gleich breit sind. */
:root[data-ui="utic"] .adm-user-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:10px}
@media(max-width:820px){:root[data-ui="utic"] .adm-user-actions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){:root[data-ui="utic"] .adm-user-actions{grid-template-columns:1fr}}

/* ============================================================================
   Show-Detail — Gewerke/Bereiche als Kachelraster 1:1 wie Prototyp.
   ============================================================================ */
:root[data-ui="utic"] #tabs{display:block;border-bottom:0;padding:0;margin-bottom:18px}
:root[data-ui="utic"] .gw-label{margin:0 0 10px}
:root[data-ui="utic"] .gw-infonote{display:flex;align-items:flex-start;gap:9px;margin:0 0 13px;padding:10px 13px;background:color-mix(in srgb,var(--lime) 7%,var(--card));border:1px solid color-mix(in srgb,var(--lime) 30%,var(--line));border-radius:var(--r);font-size:12.5px;line-height:1.5;color:var(--dim)}
:root[data-ui="utic"] .gw-infonote svg{flex:0 0 auto;margin-top:1px;color:var(--lime)}
:root[data-ui="utic"] .gw-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
:root[data-ui="utic"] .gw-tile{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:17px 12px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;transition:border-color .15s,transform .15s;cursor:pointer;font-family:inherit}
:root[data-ui="utic"] .gw-tile:hover{border-color:rgba(120,208,0,.45);transform:translateY(-2px)}
:root[data-ui="utic"] .gw-tile.on{border-color:var(--lime);box-shadow:inset 0 0 0 1px var(--lime)}
:root[data-ui="utic"] .gw-ic{width:50px;height:50px;border-radius:50%;border:1.5px solid var(--lime);display:flex;align-items:center;justify-content:center;color:var(--lime)}
:root[data-ui="utic"] .gw-name{font-size:13.5px;font-weight:500;color:var(--txt)}
:root[data-ui="utic"] .gw-sub{font-size:11px;color:var(--faint);display:inline-flex;align-items:center;gap:5px}
:root[data-ui="utic"] .gw-sub.ok{color:var(--lime)}
:root[data-ui="utic"] .gw-sub.warn{color:var(--warn)}
@media(max-width:820px){:root[data-ui="utic"] .gw-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){:root[data-ui="utic"] .gw-grid{grid-template-columns:1fr 1fr}}

/* ============================================================================
   GLOBALE UTIC-DESIGN-EBENE — zwingt die gemeinsamen Bausteine app-weit auf
   das Prototyp-Design (Radien 8px statt 999px-Pillen, Buttons, Eingaben,
   Modals). Damit sieht auch alles, was nicht eigens umgebaut wurde, wie der
   Prototyp aus. Scope: :root[data-ui="utic"].
   ============================================================================ */
/* Radien-Tokens auf Prototyp (8px) umbiegen → alle token-basierten Radien */
:root[data-ui="utic"] { --radius: 8px; --radius-sm: 8px; --radius-lg: 10px; --radius-pill: 8px; }

/* Buttons — Prototyp: primär = Lime, sekundär/ghost = Karte+Rand, Radius 8px.
   Überschreibt auch die harte Regel .btn{border-radius:999px}. */
:root[data-ui="utic"] .btn{background:var(--lime);color:var(--lime-ink);border:0;border-radius:var(--r);padding:11px 18px;font-weight:500;font-size:14px}
:root[data-ui="utic"] .btn:hover{filter:brightness(1.05)}
:root[data-ui="utic"] .btn.secondary,:root[data-ui="utic"] .btn.ghost{background:var(--card);border:1px solid var(--line);color:var(--dim)}
:root[data-ui="utic"] .btn.secondary:hover,:root[data-ui="utic"] .btn.ghost:hover{color:var(--txt);border-color:#4a4d50;filter:none}
:root[data-ui="utic"] .btn.danger{background:transparent;border:1px solid color-mix(in srgb,var(--danger) 45%,transparent);color:var(--danger)}
:root[data-ui="utic"] .btn-sm,:root[data-ui="utic"] .btn.btn-sm{padding:6px 12px;font-size:12.5px;border-radius:var(--r)}
:root[data-ui="utic"] .link-btn{border-radius:var(--r)}

/* Rider 2.0 · Send-Modal (Portal-Links) */
:root[data-ui="utic"] .asf-result{margin:6px 0 4px}
/* §8.2 Kapitel-Auswahl im Sende-Dialog */
:root[data-ui="utic"] .asf-cats{margin:2px 0 12px;border:1px solid var(--line);border-radius:var(--r);padding:9px 12px;background:var(--card-2)}
:root[data-ui="utic"] .asf-cats>summary{cursor:pointer;font-size:13px;color:var(--dim);font-weight:500}
:root[data-ui="utic"] .asf-cat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:5px 12px;margin-top:4px}
:root[data-ui="utic"] .asf-cat{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--txt)}
:root[data-ui="utic"] .asf-cat input{width:15px;height:15px;accent-color:var(--lime)}
:root[data-ui="utic"] .asf-link{margin-bottom:8px}
:root[data-ui="utic"] .asf-linkrow{display:flex;gap:6px;align-items:center}
:root[data-ui="utic"] .asf-linkrow input{flex:1;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);color:var(--dim);padding:6px 9px;font-size:12px}

/* Rider 2.0 · Phase 3 — Öffentliches Veranstalterportal (mobil-first, unscoped) */
.adv-portal{max-width:640px;margin:0 auto;padding:18px 14px 60px}
.adv-head{background:var(--card,#202224);border:1px solid var(--line,#34363a);border-radius:14px;padding:18px 16px;margin-bottom:14px}
.adv-band{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--lime,#7bd302)}
.adv-head h1{font-size:20px;margin:4px 0 6px;color:var(--txt,#f2f5f7)}
.adv-meta{font-size:13px;color:var(--dim,#a2a7ad)}
.adv-progress{display:flex;align-items:center;gap:10px;margin-top:12px}
.adv-prog-bar{flex:1;height:7px;border-radius:4px;background:#2a2c2f;overflow:hidden}
.adv-prog-bar i{display:block;height:100%;background:var(--lime,#7bd302)}
.adv-progress span{font-size:12px;color:var(--dim,#a2a7ad);white-space:nowrap}
.adv-saved{font-size:11.5px;color:var(--faint,#6b7075);margin-top:6px;min-height:14px}
.adv-intro{font-size:13.5px;color:var(--dim,#a2a7ad);margin:0 0 14px}
.adv-grp{margin-bottom:16px}
.adv-grp-h{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint,#6b7075);margin:0 0 8px}
.adv-grp-n{color:var(--dim,#a2a7ad)}
.adv-req{background:var(--card,#202224);border:1px solid var(--line,#34363a);border-radius:12px;padding:13px 14px;margin-bottom:10px}
.adv-req-t{display:flex;align-items:center;gap:8px;font-size:14.5px;color:var(--txt,#f2f5f7)}
.adv-req-badge{font-size:10.5px;color:var(--warn,#e0a800);border:1px solid color-mix(in srgb,var(--warn,#e0a800) 45%,transparent);border-radius:999px;padding:2px 8px}
.adv-req-s{font-size:12.5px;color:var(--dim,#a2a7ad);margin-top:4px}
.adv-abtns{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.adv-abtn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px;border:1px solid var(--line,#34363a);border-radius:10px;background:transparent;color:var(--dim,#a2a7ad);font-size:11.5px;cursor:pointer;min-height:56px;justify-content:center}
.adv-abtn .adv-sym{font-size:18px;line-height:1}
.adv-abtn:disabled{opacity:.4;cursor:not-allowed}
.adv-a-fulfilled.on{border-color:var(--lime,#7bd302);color:var(--lime,#7bd302);background:color-mix(in srgb,var(--lime,#7bd302) 12%,transparent)}
.adv-a-alternative.on{border-color:#4f8cff;color:#4f8cff;background:rgba(79,140,255,.12)}
.adv-a-cannot.on{border-color:var(--danger,#ff6b7d);color:var(--danger,#ff6b7d);background:color-mix(in srgb,var(--danger,#ff6b7d) 12%,transparent)}
.adv-a-question.on{border-color:var(--warn,#e0a800);color:var(--warn,#e0a800);background:color-mix(in srgb,var(--warn,#e0a800) 12%,transparent)}
.adv-detail{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.adv-detail .field label{font-size:12px;color:var(--dim,#a2a7ad)}
.adv-detail input,.adv-detail textarea{width:100%;background:var(--card-2,#26282b);border:1px solid var(--line,#34363a);border-radius:8px;color:var(--txt,#f2f5f7);padding:8px 10px;font:inherit;font-size:13px}
.adv-2col{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.adv-card{background:var(--card,#202224);border:1px solid var(--line,#34363a);border-radius:14px;padding:26px 20px}
.adv-card h2{margin:8px 0 12px}
@media(max-width:400px){.adv-abtns{grid-template-columns:repeat(2,1fr)}}

/* Rider 2.0 (Band-Master-Rider + Advancing, Beta) */
:root[data-ui="utic"] .rd2-wrap{max-width:960px}
:root[data-ui="utic"] .rd2-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin:12px 0 18px}
:root[data-ui="utic"] .rd2-tab{background:none;border:0;border-bottom:2px solid transparent;color:var(--dim);font:500 14px/1 inherit;padding:9px 2px;cursor:pointer}
:root[data-ui="utic"] .rd2-tab.on{color:var(--txt);border-bottom-color:var(--lime)}
:root[data-ui="utic"] .rd2-verbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
:root[data-ui="utic"] .rd2-verbar-sp{flex:1}
:root[data-ui="utic"] .rd2-versel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);color:var(--txt);padding:8px 11px;font:inherit;font-size:13px}
:root[data-ui="utic"] .rd2-progress{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin-bottom:14px}
:root[data-ui="utic"] .rd2-prog-txt{font-size:13px;color:var(--dim);margin-bottom:8px}
:root[data-ui="utic"] .rd2-prog-bar{height:6px;border-radius:4px;background:#2a2c2f;overflow:hidden}
:root[data-ui="utic"] .rd2-prog-bar i{display:block;height:100%;background:var(--lime);border-radius:4px}
:root[data-ui="utic"] .rd2-catbar{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
:root[data-ui="utic"] .rd2-catbar .pill{cursor:pointer}
:root[data-ui="utic"] .rd2-catbar .pill.sel{color:var(--on-lime,#173600);background:var(--lime);border-color:var(--lime)}
:root[data-ui="utic"] .rd2-actionsbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
:root[data-ui="utic"] .rd2-grp{margin-bottom:16px}
:root[data-ui="utic"] .rd2-grp-h{font:600 13px/1 var(--font-head,inherit);text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin:0 0 8px}
:root[data-ui="utic"] .rd2-req{display:flex;align-items:flex-start;gap:12px;justify-content:space-between;padding:11px 13px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);margin-bottom:8px}
:root[data-ui="utic"] .rd2-req.is-draft{border-left:3px solid var(--warn,#e0a800)}
:root[data-ui="utic"] .rd2-req-main{min-width:0;flex:1}
:root[data-ui="utic"] .rd2-req-h{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--txt)}
:root[data-ui="utic"] .rd2-req-title{flex:1;min-width:0}
:root[data-ui="utic"] .rd2-req-badges{flex:0 0 auto;display:flex;align-items:center;gap:6px;justify-content:flex-end;white-space:nowrap}
:root[data-ui="utic"] .rd2-req-sub{font-size:12.5px;color:var(--dim);margin-top:3px}
:root[data-ui="utic"] .rd2-req-act{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:0 0 auto}
:root[data-ui="utic"] .r2-lowconf{font-size:11px;color:var(--warn,#e0a800);border:1px solid color-mix(in srgb,var(--warn,#e0a800) 45%,transparent);border-radius:999px;padding:2px 8px}
:root[data-ui="utic"] .r2-srcbtn{font-size:12px;margin-top:4px;display:inline-block}
:root[data-ui="utic"] .r2-srcbox{margin-top:6px;padding:8px 10px;border-left:2px solid var(--line);background:var(--card-2,rgba(255,255,255,.03));border-radius:6px;font-size:12.5px;color:var(--dim)}
:root[data-ui="utic"] .rd2-req-note{font-size:12px;color:var(--dim);margin-top:4px;display:flex;align-items:center;gap:5px}
/* Phase 4 · Entscheidungen / Final Agreement / Thread */
:root[data-ui="utic"] .rd2-presp{font-size:12.5px;margin-top:8px;padding:7px 10px;border-radius:8px;border:1px solid var(--line);background:var(--card-2,rgba(255,255,255,.03))}
:root[data-ui="utic"] .rd2-presp.ok{border-color:color-mix(in srgb,var(--lime) 40%,var(--line))}
:root[data-ui="utic"] .rd2-presp.warn{border-color:color-mix(in srgb,var(--warn,#e0a800) 45%,var(--line))}
:root[data-ui="utic"] .rd2-presp.danger{border-color:color-mix(in srgb,var(--danger) 45%,var(--line));color:var(--danger)}
:root[data-ui="utic"] .rd2-decide{display:flex;gap:8px;margin-top:8px}
:root[data-ui="utic"] .rd2-final{font-size:12.5px;margin-top:8px;padding:7px 10px;border-radius:8px;border:1px solid color-mix(in srgb,var(--lime) 45%,var(--line));color:var(--lime);background:color-mix(in srgb,var(--lime) 10%,transparent)}
:root[data-ui="utic"] .rd2-thread{margin-top:6px}
:root[data-ui="utic"] .rd2-thread-box{margin-top:6px;border-left:2px solid var(--line);padding:6px 10px;display:flex;flex-direction:column;gap:6px}
:root[data-ui="utic"] .rd2-msg{font-size:12.5px;color:var(--dim)}
:root[data-ui="utic"] .rd2-msg-by{display:inline-block;font-weight:600;color:var(--txt);margin-right:6px}
:root[data-ui="utic"] .rd2-msg-promoter .rd2-msg-by{color:#4f8cff}
:root[data-ui="utic"] .rd2-msg-add{display:flex;gap:6px;margin-top:2px}
:root[data-ui="utic"] .rd2-msg-add input{flex:1;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:8px;color:var(--txt);padding:6px 9px;font:inherit;font-size:12.5px}
:root[data-ui="utic"] .rd2-done{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:color-mix(in srgb,var(--lime) 12%,transparent);border:1px solid color-mix(in srgb,var(--lime) 40%,transparent);color:var(--lime);border-radius:var(--r);padding:10px 13px;font-size:13px;margin-bottom:14px}
:root[data-ui="utic"] .rd2-done-docs{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}
/* Phase 5 · Benachrichtigung neue Antworten */
:root[data-ui="utic"] .rd2-notify{display:flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--warn) 12%,transparent);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);color:var(--warn);border-radius:var(--r);padding:10px 13px;font-size:13px;margin-bottom:12px}
:root[data-ui="utic"] .rd2-notify .link-btn{color:var(--warn);text-decoration:underline;font-size:13px}
/* Phase 5 · Diff-Hinweis veralteter Master */
:root[data-ui="utic"] .rd2-diff{display:flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--dim) 10%,transparent);border:1px solid var(--line);color:var(--dim);border-radius:var(--r);padding:9px 13px;font-size:12.5px;margin-bottom:12px}
:root[data-ui="utic"] .rd2-masterref{display:flex;align-items:center;gap:6px;background:var(--card-2);border:1px solid var(--line);color:var(--dim);border-radius:var(--r-sm);padding:7px 10px;font-size:12px;margin:0 0 12px}
/* Phase 5 · Aufgabe-Flag an der Anforderung */
:root[data-ui="utic"] .rd2-taskflag{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--lime);border:1px solid color-mix(in srgb,var(--lime) 35%,transparent);border-radius:var(--r);padding:3px 7px;white-space:nowrap}
/* Phase 5 · Audit-Log */
:root[data-ui="utic"] .rd2-audit{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin-bottom:14px}
:root[data-ui="utic"] .rd2-audit-h{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}
:root[data-ui="utic"] .rd2-audit-list{display:flex;flex-direction:column;gap:2px;max-height:340px;overflow:auto}
:root[data-ui="utic"] .rd2-audit-row{display:flex;gap:9px;padding:7px 4px;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}
:root[data-ui="utic"] .rd2-audit-row:last-child{border-bottom:0}
:root[data-ui="utic"] .rd2-audit-ic{flex:0 0 auto;width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--dim);margin-top:1px}
:root[data-ui="utic"] .rd2-audit-promoter .rd2-audit-ic{color:var(--warn)}
:root[data-ui="utic"] .rd2-audit-body{flex:1;min-width:0}
:root[data-ui="utic"] .rd2-audit-top{font-size:12.5px;color:var(--txt)}
:root[data-ui="utic"] .rd2-audit-det{font-size:12px;color:var(--dim);margin-top:1px;overflow-wrap:anywhere}
:root[data-ui="utic"] .rd2-audit-meta{font-size:11px;color:var(--faint);margin-top:2px}
/* Portal: Thread + Final */
.adv-thread{margin-top:10px;border-left:2px solid var(--line,#34363a);padding:6px 10px;display:flex;flex-direction:column;gap:5px}
.adv-thread .adv-msg{font-size:12.5px;color:var(--dim,#a2a7ad)}
.adv-thread .adv-msg b{color:var(--txt,#f2f5f7)}
.adv-final-note{margin-top:8px;font-size:12.5px;color:var(--lime,#7bd302)}
/* Phase 2 · Show-Advancing */
:root[data-ui="utic"] .rd2-advmeta{font-size:12px;color:var(--faint);margin:2px 0 14px}
:root[data-ui="utic"] .rd2-dash{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}
:root[data-ui="utic"] .rd2-dcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 10px;text-align:center}
:root[data-ui="utic"] .rd2-dcard.ok{border-color:color-mix(in srgb,var(--lime) 40%,var(--line))}
:root[data-ui="utic"] .rd2-dcard.warn{border-color:color-mix(in srgb,var(--warn,#e0a800) 45%,var(--line))}
:root[data-ui="utic"] .rd2-dcard.danger{border-color:color-mix(in srgb,var(--danger) 50%,var(--line))}
:root[data-ui="utic"] .rd2-dnum{font:600 20px/1 var(--font-head,inherit);color:var(--txt)}
:root[data-ui="utic"] .rd2-dcard.danger .rd2-dnum{color:var(--danger)}
:root[data-ui="utic"] .rd2-dlbl{font-size:11px;color:var(--dim);margin-top:4px;letter-spacing:.03em}
:root[data-ui="utic"] .rd2-blocker{display:flex;align-items:center;flex-wrap:wrap;gap:8px;background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid color-mix(in srgb,var(--danger) 40%,transparent);color:var(--danger);border-radius:var(--r);padding:10px 13px;font-size:13px;margin-bottom:14px}
/* §11 Zwei-Spuren-Dashboard */
:root[data-ui="utic"] .rd2-track{margin-bottom:12px}
:root[data-ui="utic"] .rd2-track-h{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin:0 2px 7px}
:root[data-ui="utic"] .rd2-track-pct{margin-left:auto;font-weight:500;letter-spacing:.02em;text-transform:none;color:var(--dim)}
:root[data-ui="utic"] .rd2-track .rd2-dash{grid-template-columns:repeat(5,1fr);margin-bottom:0}
:root[data-ui="utic"] .rd2-dcard[data-advkpi]{cursor:pointer;transition:border-color .12s,background .12s}
:root[data-ui="utic"] .rd2-dcard[data-advkpi]:hover{background:var(--card-2)}
:root[data-ui="utic"] .rd2-dcard.sel{border-color:var(--lime);background:color-mix(in srgb,var(--lime) 10%,transparent)}
:root[data-ui="utic"] .rd2-blk-chip{cursor:pointer;background:color-mix(in srgb,var(--danger) 16%,transparent);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);border-radius:999px;padding:3px 10px;font-size:12px}
:root[data-ui="utic"] .rd2-blk-chip:hover{background:color-mix(in srgb,var(--danger) 26%,transparent)}
:root[data-ui="utic"] .rd2-sfchip{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--dim);margin:0 0 10px}
:root[data-ui="utic"] .rd2-sfchip .link-btn{display:inline-flex;align-items:center;gap:3px}
/* §9.5 Mehrfach-Auswahl */
:root[data-ui="utic"] .btn.ghost.on{border-color:var(--lime);color:var(--lime)}
:root[data-ui="utic"] .rd2-selbar{display:flex;align-items:center;gap:10px;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:8px 13px;font-size:13px;margin:0 0 12px}
:root[data-ui="utic"] .rd2-selbar-sp{flex:1}
:root[data-ui="utic"] .rd2-selbox{display:flex;align-items:flex-start;padding-top:2px;flex:0 0 auto}
:root[data-ui="utic"] .rd2-selbox input{width:17px;height:17px;accent-color:var(--lime);cursor:pointer}
:root[data-ui="utic"] .rd2-selbox-off{width:17px;height:17px;opacity:.25}
:root[data-ui="utic"] .rd2-req-sel{border-color:var(--lime);background:color-mix(in srgb,var(--lime) 7%,transparent)}
/* §10 Historie der früheren Entscheidungen */
:root[data-ui="utic"] .rd2-hist{margin-top:6px}
:root[data-ui="utic"] .rd2-hist .link-btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--dim)}
:root[data-ui="utic"] .rd2-hist-loaded .link-btn{color:var(--txt)}
:root[data-ui="utic"] .rd2-hist-list{margin:7px 0 2px;padding:8px 11px;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;gap:8px}
:root[data-ui="utic"] .rd2-hist-row{font-size:12.5px}
:root[data-ui="utic"] .rd2-hist-dec{font-weight:600;font-size:11.5px}
:root[data-ui="utic"] .rd2-hist-ok{color:var(--lime)}
:root[data-ui="utic"] .rd2-hist-no{color:var(--danger)}
:root[data-ui="utic"] .rd2-hist-tag{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);border:1px solid var(--line);border-radius:999px;padding:1px 6px;margin-left:4px}
:root[data-ui="utic"] .rd2-hist-meta{font-size:11.5px;margin-top:1px}
/* §15 Versions-Vergleich */
:root[data-ui="utic"] .r2diff-head{font-size:12.5px;margin:-4px 0 10px}
:root[data-ui="utic"] .r2diff-body{max-height:52vh;overflow:auto}
:root[data-ui="utic"] .r2diff-sum{display:flex;gap:8px;margin-bottom:12px}
:root[data-ui="utic"] .r2diff-badge{font-size:12px;font-weight:600;border-radius:999px;padding:3px 11px;border:1px solid var(--line)}
:root[data-ui="utic"] .r2diff-badge.add{color:var(--lime);border-color:color-mix(in srgb,var(--lime) 40%,var(--line))}
:root[data-ui="utic"] .r2diff-badge.rem{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}
:root[data-ui="utic"] .r2diff-badge.chg{color:var(--warn,#e0a800);border-color:color-mix(in srgb,var(--warn,#e0a800) 45%,var(--line))}
:root[data-ui="utic"] .r2diff-sec{margin-bottom:12px}
:root[data-ui="utic"] .r2diff-sec-h{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
:root[data-ui="utic"] .r2diff-sec-h.add{color:var(--lime)}
:root[data-ui="utic"] .r2diff-sec-h.rem{color:var(--danger)}
:root[data-ui="utic"] .r2diff-sec-h.chg{color:var(--warn,#e0a800)}
:root[data-ui="utic"] .r2diff-row{background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:7px 11px;margin-bottom:6px;font-size:13px}
:root[data-ui="utic"] .r2diff-fields{margin-top:5px;display:flex;flex-direction:column;gap:3px}
:root[data-ui="utic"] .r2diff-field{font-size:12px;color:var(--dim)}
:root[data-ui="utic"] .r2diff-flbl{color:var(--faint)}
:root[data-ui="utic"] .r2diff-from{color:var(--danger);text-decoration:line-through}
:root[data-ui="utic"] .r2diff-to{color:var(--lime)}
/* §4 Import-Prüfung Split-View */
:root[data-ui="utic"] .r2rev-modal{max-width:min(1200px,94vw);width:94vw;padding:0;display:flex;flex-direction:column;max-height:92vh}
:root[data-ui="utic"] .r2rev-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
:root[data-ui="utic"] .r2rev-sub{font-size:12.5px;margin-top:3px}
:root[data-ui="utic"] .r2rev-ok{color:var(--lime)}
:root[data-ui="utic"] .r2rev-warn{color:var(--warn,#e0a800)}
:root[data-ui="utic"] .r2rev-split{display:flex;gap:0;flex:1;min-height:0}
:root[data-ui="utic"] .r2rev-pdf{flex:1 1 55%;border-right:1px solid var(--line);background:#333;min-width:0}
:root[data-ui="utic"] .r2rev-pdf iframe{width:100%;height:100%;border:0;display:block}
:root[data-ui="utic"] .r2rev-reqs{flex:1 1 45%;overflow:auto;padding:14px 16px}
:root[data-ui="utic"] .r2rev-grp{margin-bottom:12px}
:root[data-ui="utic"] .r2rev-grp-h{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:6px}
:root[data-ui="utic"] .r2rev-row{display:flex;gap:10px;align-items:flex-start;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:9px 11px;margin-bottom:7px}
:root[data-ui="utic"] .r2rev-row.is-checked{border-color:color-mix(in srgb,var(--lime) 35%,var(--line))}
:root[data-ui="utic"] .r2rev-row.is-unsure{border-color:color-mix(in srgb,var(--warn,#e0a800) 45%,var(--line))}
:root[data-ui="utic"] .r2rev-row-main{flex:1;min-width:0}
:root[data-ui="utic"] .r2rev-row-h{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13.5px}
:root[data-ui="utic"] .r2rev-chk{font-size:10.5px}
:root[data-ui="utic"] .r2rev-spec{font-size:12.5px;color:var(--dim);margin-top:2px}
:root[data-ui="utic"] .r2rev-src{font-size:11.5px;margin-top:3px}
:root[data-ui="utic"] .r2rev-page{display:inline-flex;align-items:center;gap:3px;color:var(--lime)}
:root[data-ui="utic"] .r2rev-row-act{display:flex;align-items:center;gap:5px;flex:0 0 auto}
@media(max-width:760px){:root[data-ui="utic"] .r2rev-split{flex-direction:column}:root[data-ui="utic"] .r2rev-pdf{flex-basis:300px;border-right:0;border-bottom:1px solid var(--line)}}
/* §14 PDF-Layout */
:root[data-ui="utic"] .r2pl-checks{display:flex;flex-direction:column;gap:7px;margin:4px 0 12px}
/* Analyse-Auswahl (Datei wählen / gespeicherte Datei / Beispiel) */
:root[data-ui="utic"] .r2an-opts{display:flex;flex-direction:column;gap:8px;margin:2px 0 4px}
:root[data-ui="utic"] .r2an-opts .btn{width:100%;justify-content:center}
/* §2.3 Gemeinsame Anforderungen */
:root[data-ui="utic"] .r2-shared-tag{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--lime);border:1px solid color-mix(in srgb,var(--lime) 40%,var(--line));border-radius:999px;padding:1px 7px}
:root[data-ui="utic"] .r2-venue-tag{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line);border-radius:999px;padding:1px 7px;background:var(--card-2)}
:root[data-ui="utic"] textarea.r2f-grow{resize:vertical;min-height:58px;line-height:1.45;overflow:hidden}
:root[data-ui="utic"] .r2sh-list{max-height:52vh;overflow:auto;margin-bottom:4px}
:root[data-ui="utic"] .r2sh-row{display:flex;gap:10px;align-items:flex-start;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:9px 11px;margin-bottom:7px}
:root[data-ui="utic"] .r2sh-cb{flex:0 0 auto;padding-top:2px}
:root[data-ui="utic"] .r2sh-cb input{width:16px;height:16px;accent-color:var(--lime)}
:root[data-ui="utic"] .r2sh-main{flex:1;min-width:0}
:root[data-ui="utic"] .r2sh-h{font-size:13.5px}
:root[data-ui="utic"] .r2sh-spec{font-size:12.5px;color:var(--dim);margin-top:2px}
:root[data-ui="utic"] .r2sh-act{display:flex;gap:4px;flex:0 0 auto}
:root[data-ui="utic"] .rd2-search{background:var(--card);border:1px solid var(--line);border-radius:var(--r);color:var(--txt);padding:7px 11px;font:inherit;font-size:13px;min-width:180px}
:root[data-ui="utic"] .rd2-checkinline{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--dim)}
:root[data-ui="utic"] .rd2-adv-act{align-items:center}
:root[data-ui="utic"] .rd2-mini{background:var(--card);border:1px solid var(--line);border-radius:var(--r);color:var(--txt);padding:5px 8px;font:inherit;font-size:12px;max-width:150px}
:root[data-ui="utic"] .rd2-mini.rd2-st-ok{border-color:color-mix(in srgb,var(--lime) 45%,var(--line));color:var(--lime)}
:root[data-ui="utic"] .rd2-mini.rd2-st-warn{border-color:color-mix(in srgb,var(--warn,#e0a800) 50%,var(--line));color:var(--warn,#e0a800)}
@media(max-width:820px){:root[data-ui="utic"] .rd2-dash{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){
  :root[data-ui="utic"] .rd2-req{flex-direction:column}
  :root[data-ui="utic"] .rd2-req-act{width:100%}
  :root[data-ui="utic"] .rd2-dash{grid-template-columns:repeat(2,1fr)}
  :root[data-ui="utic"] .rd2-mini{max-width:none;flex:1}
}

/* Reise-Karte(n) im Tab „Hotel & Anreise" — eine Karte je Reise/Person */
:root[data-ui="utic"] .reise-map-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
:root[data-ui="utic"] .reise-map-card{min-width:0}
:root[data-ui="utic"] .reise-map-cap{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;color:var(--dim);margin:0 0 6px}
:root[data-ui="utic"] .reise-map-cap svg{opacity:.75}
/* Reise-Karte direkt in der Reise-Karte (pro Reise/Person) */
:root[data-ui="utic"] .reise-leg-map{margin-top:10px}
/* Eine Karte pro Reise: Aktionen, Etappen-Liste */
:root[data-ui="utic"] .reise-card .c-head{align-items:flex-start}
:root[data-ui="utic"] .reise-acts{display:flex;align-items:center;gap:4px;flex:0 0 auto}
:root[data-ui="utic"] .reise-legs{display:flex;flex-direction:column;gap:5px;margin-top:4px}
/* Etappen dezent voneinander trennen: schwacher Zeilengrund + farbige Leiste
   links in der Richtungsfarbe (nur die zwei vorhandenen Töne, gedämpft). */
:root[data-ui="utic"] .reise-leg-row{display:flex;align-items:center;gap:9px;font-size:13px;padding:6px 10px;border-radius:7px;background:color-mix(in srgb,var(--card-2) 55%,transparent);border-left:3px solid var(--line)}
:root[data-ui="utic"] .reise-leg-row.reise-row-anreise{border-left-color:color-mix(in srgb,var(--lime) 50%,var(--line))}
:root[data-ui="utic"] .reise-leg-row.reise-row-abreise{border-left-color:color-mix(in srgb,var(--yellow) 50%,var(--line))}
/* Einheitliche Badge-Form (wie .pill/.bd-chip): var(--r), 5px 11px, 11.5px/500, 1px. */
:root[data-ui="utic"] .reise-leg-dir{display:inline-flex;align-items:center;flex:0 0 auto;font-size:11.5px;font-weight:500;padding:5px 11px;border-radius:var(--r);border:1px solid transparent;white-space:nowrap}
:root[data-ui="utic"] .reise-dir-anreise{color:var(--lime);border-color:color-mix(in srgb,var(--lime) 40%,var(--line));background:color-mix(in srgb,var(--lime) 13%,transparent)}
:root[data-ui="utic"] .reise-dir-abreise{color:var(--yellow);border-color:color-mix(in srgb,var(--yellow) 40%,var(--line));background:color-mix(in srgb,var(--yellow) 13%,transparent)}
:root[data-ui="utic"][data-theme="light"] .reise-dir-anreise{color:#3f6b00}
:root[data-ui="utic"] .reise-leg-body{min-width:0;color:var(--txt)}
:root[data-ui="utic"] .reise-leg-body svg{vertical-align:-2px;margin-right:2px;color:var(--dim)}
:root[data-ui="utic"] .reise-leg-when{color:var(--faint)}
/* Reise-Editor: Etappen-Blöcke */
:root[data-ui="utic"] .reise-seg{border:1px solid var(--line);border-left:3px solid var(--line);border-radius:var(--r);padding:12px;margin-bottom:10px;background:var(--card)}
:root[data-ui="utic"] .reise-seg.reise-seg-anreise{border-left-color:color-mix(in srgb,var(--lime) 50%,var(--line))}
:root[data-ui="utic"] .reise-seg.reise-seg-abreise{border-left-color:color-mix(in srgb,var(--yellow) 50%,var(--line))}
:root[data-ui="utic"] .reise-seg-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
:root[data-ui="utic"] .reise-seg-n{font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--dim)}
/* Reisedokument pro Etappe */
:root[data-ui="utic"] .reise-seg-doc{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
:root[data-ui="utic"] .reise-seg-doc svg{color:var(--dim)}
:root[data-ui="utic"] .reise-doc-file{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--dim);font-size:12.5px}
:root[data-ui="utic"] .reise-doc-dl{background:none;border:none;color:var(--lime);font:inherit;font-size:12.5px;cursor:pointer;text-decoration:underline;padding:0;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:root[data-ui="utic"] .reise-doc-acts{display:flex;align-items:center;gap:4px;flex:0 0 auto}
:root[data-ui="utic"] .reise-doc-hint{display:inline-flex;align-items:center;gap:6px;color:var(--faint);font-size:12px}
:root[data-ui="utic"] .reise-leg-doc{display:inline-flex;align-items:center;margin-left:6px;color:var(--lime)}

/* Vorlagen: Admin-Leiste (Startpunkt / Zurücksetzen) */
:root[data-ui="utic"] .tpl-adminbar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:space-between;margin:0 0 14px;padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
:root[data-ui="utic"] .tpl-adminbar-info{display:inline-flex;align-items:center;gap:6px;color:var(--dim);font-size:12px}
:root[data-ui="utic"] .tpl-adminbar-info svg{opacity:.7}
:root[data-ui="utic"] .tpl-adminbar-btns{display:inline-flex;flex-wrap:wrap;gap:8px}
:root[data-ui="utic"] .tpl-adminbar .btn.tpl-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}
:root[data-ui="utic"] .tpl-adminbar .btn.tpl-danger:hover{color:var(--danger);border-color:var(--danger)}

/* Eingaben — Prototyp-Formfelder (Karte-2, Rand, 8px), app-weit */
:root[data-ui="utic"] .field input,
:root[data-ui="utic"] .field select,
:root[data-ui="utic"] .field textarea,
:root[data-ui="utic"] input[type="text"],
:root[data-ui="utic"] input[type="search"],
:root[data-ui="utic"] input[type="email"],
:root[data-ui="utic"] input[type="password"],
:root[data-ui="utic"] input[type="number"],
:root[data-ui="utic"] input[type="date"],
:root[data-ui="utic"] input[type="time"],
:root[data-ui="utic"] input[type="tel"],
:root[data-ui="utic"] input[type="url"],
:root[data-ui="utic"] textarea,
:root[data-ui="utic"] select{background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);color:var(--txt);font-family:inherit}
:root[data-ui="utic"] .field input:focus,
:root[data-ui="utic"] .field select:focus,
:root[data-ui="utic"] textarea:focus,
:root[data-ui="utic"] select:focus,
:root[data-ui="utic"] input:focus{border-color:color-mix(in srgb,var(--lime) 55%,transparent);outline:none}
/* Hilfe-Suche: das Suchfeld selbst ist nur das Innere des gestylten
   .help-search-Rahmens – kein eigener Rand/Hintergrund („Feld im Feld"). */
:root[data-ui="utic"] .help-search input[type="search"],
:root[data-ui="utic"] .help-search input[type="search"]:focus{background:transparent;border:0;border-radius:0;padding:0;-webkit-appearance:none;appearance:none}
/* Zahlenfelder: native Spinner (hoch/runter) ausblenden – nicht im App-Stil. */
:root[data-ui="utic"] input[type="number"]{-moz-appearance:textfield;appearance:textfield}
:root[data-ui="utic"] input[type="number"]::-webkit-outer-spin-button,
:root[data-ui="utic"] input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}
/* Zeitfelder: natives Dropdown ausblenden und durch unseren Zeit-Picker (JS)
   im App-Stil ersetzen; eigenes Uhr-Icon rechts als Affordance. */
:root[data-ui="utic"] input[type="time"]::-webkit-calendar-picker-indicator{display:none}
:root[data-ui="utic"] input[type="time"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%239a9d9f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;background-size:15px;padding-right:30px;cursor:pointer}
/* datetime-local: natives Icon gedimmt (eigener Picker nur für time/date). */
:root[data-ui="utic"] input[type="datetime-local"]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5;transition:opacity .15s}
:root[data-ui="utic"] input[type="datetime-local"]:hover::-webkit-calendar-picker-indicator{opacity:.9}
/* Datumsfelder: nativen Kalender-Popup ausblenden (lässt sich nicht stylen) und
   durch unseren eigenen Kalender (JS) im App-Stil ersetzen. Eigenes dezentes
   Kalender-Icon rechts im Feld als Affordance. */
:root[data-ui="utic"] input[type="date"]::-webkit-calendar-picker-indicator{display:none}
:root[data-ui="utic"] input[type="date"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%239a9d9f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M3 10h18M8 2v4M16 2v4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:15px;padding-right:32px;cursor:pointer}
/* Eigener Kalender (Popup) im App-Stil */
:root[data-ui="utic"] .utic-datepop{position:fixed;z-index:100000;width:256px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 54px rgba(0,0,0,.55);padding:10px 11px;color:var(--txt);font-family:inherit}
:root[data-ui="utic"] .utic-datepop .dp-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px}
:root[data-ui="utic"] .utic-datepop .dp-title{font-size:13.5px;font-weight:500;letter-spacing:.2px}
:root[data-ui="utic"] .utic-datepop .dp-nav{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--card-2);color:var(--dim);font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
:root[data-ui="utic"] .utic-datepop .dp-nav:hover{color:var(--lime);border-color:color-mix(in srgb,var(--lime) 45%,transparent)}
:root[data-ui="utic"] .utic-datepop .dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
:root[data-ui="utic"] .utic-datepop .dp-cell{height:30px;display:flex;align-items:center;justify-content:center;font-size:12.5px}
:root[data-ui="utic"] .utic-datepop .dp-wdh{color:var(--faint);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;height:22px}
:root[data-ui="utic"] .utic-datepop .dp-day{border:1px solid transparent;border-radius:8px;background:none;color:var(--txt);cursor:pointer;font:inherit;font-size:12.5px}
:root[data-ui="utic"] .utic-datepop .dp-day:hover{background:var(--card-2);border-color:var(--line)}
:root[data-ui="utic"] .utic-datepop .dp-day.today{border-color:color-mix(in srgb,var(--lime) 50%,transparent)}
:root[data-ui="utic"] .utic-datepop .dp-day.dp-event{background:color-mix(in srgb,var(--lime) 16%,var(--card));color:var(--lime);font-weight:600;position:relative}
:root[data-ui="utic"] .utic-datepop .dp-day.dp-event::after{content:"";position:absolute;bottom:3px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--lime)}
:root[data-ui="utic"] .utic-datepop .dp-day.sel{background:var(--lime);color:var(--on-brand);border-color:var(--lime);font-weight:600}
:root[data-ui="utic"] .utic-datepop .dp-day.sel.dp-event::after{background:var(--on-brand)}
:root[data-ui="utic"] .utic-datepop .dp-month-all{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:8px;background:var(--card-2);border:1px solid color-mix(in srgb,var(--lime) 40%,var(--line));border-radius:8px;color:var(--lime);font:inherit;font-size:12.5px;font-weight:600;padding:7px;cursor:pointer}
:root[data-ui="utic"] .utic-datepop .dp-month-all:hover{background:color-mix(in srgb,var(--lime) 10%,var(--card-2))}
:root[data-ui="utic"] .utic-datepop .dp-foot{display:flex;justify-content:space-between;margin-top:8px;border-top:1px solid var(--line);padding-top:8px}
:root[data-ui="utic"] .utic-datepop .dp-foot-btn{background:none;border:none;color:var(--lime);font:inherit;font-size:12px;cursor:pointer;padding:2px 4px}
:root[data-ui="utic"] .utic-datepop .dp-foot-btn:hover{text-decoration:underline}
/* Zeit-Picker (Popup) im App-Stil – zwei Spalten (Stunde : Minute) */
:root[data-ui="utic"] .utic-timepop{position:fixed;z-index:100000;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 54px rgba(0,0,0,.55);padding:8px;color:var(--txt);font-family:inherit}
:root[data-ui="utic"] .utic-timepop .tp-cols{display:flex;align-items:center;gap:4px}
:root[data-ui="utic"] .utic-timepop .tp-sep{font-weight:600;color:var(--dim);padding:0 2px}
:root[data-ui="utic"] .utic-timepop .tp-col{max-height:208px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;width:52px;scrollbar-width:thin}
:root[data-ui="utic"] .utic-timepop .tp-opt{border:1px solid transparent;border-radius:8px;background:none;color:var(--txt);cursor:pointer;font:inherit;font-size:13px;padding:6px 0;text-align:center}
:root[data-ui="utic"] .utic-timepop .tp-opt:hover{background:var(--card-2)}
:root[data-ui="utic"] .utic-timepop .tp-opt.sel{background:var(--lime);color:var(--lime-ink);border-color:var(--lime)}
:root[data-ui="utic"] .utic-timepop .tp-foot{display:flex;justify-content:flex-end;margin-top:6px;border-top:1px solid var(--line);padding-top:6px}
:root[data-ui="utic"] .utic-timepop .dp-foot-btn{background:none;border:none;color:var(--lime);font:inherit;font-size:12px;cursor:pointer;padding:2px 4px}
:root[data-ui="utic"] .utic-timepop .dp-foot-btn:hover{text-decoration:underline}
:root[data-ui="utic"] .utic-datepop .dp-legend{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:11px;color:var(--dim)}
:root[data-ui="utic"] .utic-datepop .dp-legend .dp-ev-dot{width:9px;height:9px;border-radius:50%;background:color-mix(in srgb,var(--lime) 16%,var(--card));box-shadow:inset 0 0 0 1.5px var(--lime)}

/* Modals — Prototyp-Look */
:root[data-ui="utic"] .modal-backdrop{background:rgba(8,9,10,.62)}
/* Rider-Rückmeldung Lese-Modal (1:1 Prototyp) */
:root[data-ui="utic"] .modal .msub{color:var(--dim);font-size:13px;margin:-4px 0 16px}
:root[data-ui="utic"] .rr-list{display:flex;flex-direction:column;gap:2px;margin-top:8px}
:root[data-ui="utic"] .rr-row{display:flex;align-items:flex-start;gap:10px;padding:10px 2px;border-bottom:1px solid var(--line-soft)}
:root[data-ui="utic"] .rr-row:last-child{border-bottom:0}
:root[data-ui="utic"] .rr-main{flex:1;min-width:0}
:root[data-ui="utic"] .rr-pt{font-size:13px;color:var(--txt)}
:root[data-ui="utic"] .rr-val{color:var(--faint);font-weight:400}
:root[data-ui="utic"] .rr-note{font-size:11.5px;color:var(--dim);margin-top:2px}
:root[data-ui="utic"] .rr-row .pill{flex:none}
:root[data-ui="utic"] .modal{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 24px 60px -20px rgba(0,0,0,.7)}
:root[data-ui="utic"] .modal h2{font-weight:500}
/* Sticky Schließen-X oben rechts – bleibt bei langen (scrollenden) Dialogen
   immer erreichbar, besonders als Bottom-Sheet auf dem Handy. */
:root[data-ui="utic"] .modal-xwrap{position:sticky;top:0;z-index:6;height:0;display:flex;justify-content:flex-end;pointer-events:none}
:root[data-ui="utic"] .modal-x{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;margin-top:-4px;border:1px solid var(--line);background:var(--card-2);color:var(--dim);border-radius:50%;cursor:pointer;transition:color .15s,border-color .15s}
:root[data-ui="utic"] .modal-x:hover{color:var(--txt);border-color:var(--frame,var(--line))}
:root[data-ui="utic"] .modal-x svg{width:17px;height:17px}
/* Ortssuche-Vorschläge (Typeahead-Dropdown) */
:root[data-ui="utic"] .loc-suggest{position:absolute;left:0;right:0;top:100%;z-index:30;margin-top:4px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 18px 40px -18px rgba(0,0,0,.6);max-height:264px;overflow-y:auto}
:root[data-ui="utic"] .loc-suggest-item{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line-soft);color:var(--txt);padding:9px 12px;cursor:pointer;font-family:inherit}
:root[data-ui="utic"] .loc-suggest-item:last-child{border-bottom:0}
:root[data-ui="utic"] .loc-suggest-item.on,:root[data-ui="utic"] .loc-suggest-item:hover{background:var(--card-2)}
:root[data-ui="utic"] .loc-suggest-item .ls-name{font-size:13.5px}
:root[data-ui="utic"] .loc-suggest-item .ls-sub{font-size:11.5px;color:var(--dim)}
/* Modal-Formularfelder (Prototyp .mf / .offer-fee-row / .se-ta) */
:root[data-ui="utic"] .mf{margin-bottom:12px}
:root[data-ui="utic"] .mf label{display:block;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin-bottom:6px}
:root[data-ui="utic"] .mf input,:root[data-ui="utic"] .mf select,:root[data-ui="utic"] .mf textarea{width:100%;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;color:var(--txt);font:inherit;font-size:14px;outline:none}
:root[data-ui="utic"] .mf input:focus,:root[data-ui="utic"] .mf select:focus,:root[data-ui="utic"] .mf textarea:focus{border-color:color-mix(in srgb,var(--lime) 55%,transparent)}
:root[data-ui="utic"] .mf input::placeholder,:root[data-ui="utic"] .mf textarea::placeholder{color:var(--faint)}
:root[data-ui="utic"] .offer-fee-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}
:root[data-ui="utic"] .se-ta{width:100%;min-height:70px;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);color:var(--txt);font:inherit;font-size:14px;padding:10px 12px;resize:vertical;outline:none}
:root[data-ui="utic"] .se-ta:focus{border-color:color-mix(in srgb,var(--lime) 55%,transparent)}

/* ---- Konkrete Prototyp-Abweichungen entfernen ---- */
/* Topbar: keine Modul-Pills, kein „Dein Kürzel" (im Prototyp nicht vorhanden;
   Modulwechsel läuft über die Seitenleiste). Abmelden bleibt erreichbar. */
:root[data-ui="utic"] .topbar .module-switcher .module-pill:not(.logout-pill){display:none}
:root[data-ui="utic"] .topbar .editor-box{display:none}
/* Show-Detail: „Technischer Rider versendet?"-Umschalter + Banner + leere
   Rider-Karte gibt es im Prototyp nicht (Rider läuft über Aktionen/Pills). */
:root[data-ui="utic"] #riderSection .rider-sent-toggle,
:root[data-ui="utic"] #riderSection .rider-sent-banner,
:root[data-ui="utic"] #riderSection .rider-card.rider-empty{display:none}
/* Senden-Dropdown: standardmäßig zu (hidden respektieren) */
:root[data-ui="utic"] .da-menu[hidden]{display:none}

/* Kategorie-Tab-Leiste (Prototyp) — ersetzt das frühere Gewerke-Kachelraster */
:root[data-ui="utic"] #tabs{display:flex;flex-wrap:wrap;margin-bottom:18px;border-bottom:1px solid var(--line);padding-bottom:2px}
:root[data-ui="utic"] #tabs .tab{border:0;background:transparent;color:var(--dim);font-size:14px;padding:9px 4px;margin-right:22px;position:relative;cursor:pointer;font-family:inherit}
:root[data-ui="utic"] #tabs .tab .badge{font-size:11px;color:var(--faint);margin-left:6px}
:root[data-ui="utic"] #tabs .tab:hover{color:#cfd1d3}
:root[data-ui="utic"] #tabs .tab.on{color:var(--txt);font-weight:500}
:root[data-ui="utic"] #tabs .tab.on::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--lime);border-radius:2px}

/* ============================================================================
   Kopfzeile (Topbar) 1:1 wie Prototyp — Suche + Icons + „Element hinzufügen".
   Live-Kopf-Elemente (Marke/Modul-Pills/Kürzel/…) werden ausgeblendet, die
   Prototyp-Leiste .utic-top wird per JS injiziert (paintUticTopbar).
   ============================================================================ */
:root[data-ui="utic"] .topbar-inner.utic-topbar{gap:20px}
:root[data-ui="utic"] .topbar-inner.utic-topbar > *:not(.utic-top):not(.nav-toggle){display:none !important}
:root[data-ui="utic"] .utic-top{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;margin:0}
:root[data-ui="utic"] .utic-top .search-wrap{position:relative;flex:1;max-width:420px}
:root[data-ui="utic"] .utic-top .search{display:flex;align-items:center;gap:9px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:0 15px;min-height:44px;color:var(--faint);font-size:13.5px}
:root[data-ui="utic"] .utic-top .search svg{flex:0 0 auto}
:root[data-ui="utic"] .utic-top .search-field{position:relative;flex:1;min-width:0;display:flex;align-items:stretch}
:root[data-ui="utic"] .utic-top .search-field input{width:100%;min-width:0;background:none;border:0;outline:none;color:var(--txt);font:inherit;font-size:13.5px;padding:18px 0 4px}
:root[data-ui="utic"] .utic-top .search-field input::placeholder{color:transparent}
:root[data-ui="utic"] .utic-top .search-flabel{position:absolute;left:0;top:50%;transform:translateY(-50%);color:var(--dim);font-size:13.5px;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;transition:top .14s ease,font-size .14s ease,color .14s ease}
:root[data-ui="utic"] .utic-top .search-field input:focus + .search-flabel,
:root[data-ui="utic"] .utic-top .search-field input:not(:placeholder-shown) + .search-flabel{top:8px;transform:none;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
:root[data-ui="utic"] .utic-top .search:focus-within{border-color:color-mix(in srgb,var(--lime) 50%,transparent)}
:root[data-ui="utic"] .utic-top .top-actions{display:flex;align-items:center;gap:14px}
:root[data-ui="utic"] .utic-top .bell{position:relative;color:var(--dim);display:flex;background:none;border:0;cursor:pointer;padding:0}
:root[data-ui="utic"] .utic-top .bell:hover{color:var(--fg)}
:root[data-ui="utic"] .utic-top .bell .dot{position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:50%;background:var(--lime);border:2px solid var(--bg)}
:root[data-ui="utic"] .utic-top .theme-ic-sun{display:none}
:root[data-ui="utic"][data-theme="light"] .utic-top .theme-ic-sun{display:block}
:root[data-ui="utic"][data-theme="light"] .utic-top .theme-ic-moon{display:none}
@media(max-width:720px){
  :root[data-ui="utic"] .utic-top{flex-wrap:wrap;gap:12px}
  :root[data-ui="utic"] .utic-top .search-wrap{order:2;flex:1 1 100%;width:100%;max-width:none}
  :root[data-ui="utic"] .utic-top .top-actions{order:1;margin-left:auto}
}
/* Handy: „Element hinzufügen" nur als „+"-Icon, damit Burger + Aktionen in EINE
   Zeile passen (sonst umbricht der breite Button und die Topbar wird 3-zeilig). */
@media(max-width:640px){
  :root[data-ui="utic"] .utic-top{gap:10px}
  :root[data-ui="utic"] .utic-top .top-actions{gap:12px}
  :root[data-ui="utic"] .utic-top #uticAddItem{font-size:0;line-height:0;padding:0;width:40px;height:40px;min-height:0;justify-content:center;border-radius:var(--r);flex:0 0 auto}
  :root[data-ui="utic"] .utic-top #uticAddItem svg{width:20px;height:20px}
}
/* Mobile Navigation = Off-canvas-Drawer (bestehender #mobileDrawer): Burger in
   der Topbar öffnet ihn; Scrim/Nav-Klick/Escape schließen (Legacy-Chrome).
   Bottom-Nav in UTIC aus (siehe paintBottomNav). */
:root[data-ui="utic"] .utic-burger{display:none}
/* Der Legacy-Nav-Toggle liegt links neben .utic-top und erzeugt sonst einen
   zweiten Burger + schiebt die UTIC-Topbar nach rechts. In UTIC nie rendern —
   der UTIC-Burger (#uticBurger) übernimmt das. */
:root[data-ui="utic"] .utic-topbar > .nav-toggle{display:none !important}
/* Burger nur dort, wo die Seitenleiste in den Drawer wandert (MOBILE_NAV_MQ 640). */
@media(max-width:640px){
  :root[data-ui="utic"] .utic-burger{display:inline-flex;align-items:center;justify-content:center;background:none;border:0;color:var(--txt);padding:6px;border-radius:8px;cursor:pointer;flex:0 0 auto;order:0}
  /* Drawer im UTIC-Look aufräumen: „MENÜ"-Titel weg, „Abmelden" nach unten. */
  :root[data-ui="utic"] #mobileDrawer .drawer-title{display:none}
  :root[data-ui="utic"] #mobileDrawer .drawer-head{border-bottom:0;padding:10px 12px 0;min-height:34px}
  :root[data-ui="utic"] #mobileDrawer .module-switcher{order:10;margin-top:6px;border-top:1px solid var(--line);padding-top:14px}
  /* Im Drawer liefert die Seitenleiste bereits die „Mein Profil"-Karte (.me);
     der zusätzliche Legacy-„Profil"-Shortcut wäre doppelt → ausblenden. */
  :root[data-ui="utic"] #mobileDrawer #profileShortcutBtn{display:none !important}
}
/* Fußnavigation (Kategorie-Leiste im Show-Detail, nur mobil) im UTIC-Look:
   die Legacy-Leiste färbt jedes Icon in seiner Kategorie-Pastellfarbe und dimmt
   inaktive auf 50 % — das wirkt im UTIC-Design fremd. Hier: einheitlich
   monochrom, aktiv = Lime mit Lime-Tint, saubere Karte mit weichem Schatten. */
@media(max-width:640px){
  :root[data-ui="utic"] .mobile-tab-bar{background:var(--card);border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(0,0,0,.07);gap:2px;padding:7px 6px calc(7px + env(safe-area-inset-bottom))}
  :root[data-ui="utic"] .mobile-tab-item{color:var(--dim) !important;opacity:1;border-radius:var(--r);padding:7px 12px}
  :root[data-ui="utic"] .mobile-tab-item svg{stroke-width:1.9}
  :root[data-ui="utic"] .mobile-tab-item.active{color:var(--lime) !important;background:color-mix(in srgb,var(--lime) 15%,transparent)}
}

/* Sidebar-„Kategorien" gibt es im Prototyp nicht */
:root[data-ui="utic"] #sidebarCategoriesSection{display:none !important}

/* ============================================================================
   Technik-Details: Soll/Ist-Tabelle (.tech) + Rundlauf-Kopf (.vt-roundtrip)
   1:1 wie Prototyp; „warn" ergänzt für offene/ungeprüfte Angaben.
   ============================================================================ */
:root[data-ui="utic"] .vt-roundtrip{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:11px 14px;margin-bottom:12px}
:root[data-ui="utic"] .vt-rt-status{font-size:13px;color:var(--dim);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
:root[data-ui="utic"] .vt-rt-acts{display:flex;gap:8px;flex-wrap:wrap}
:root[data-ui="utic"] .vt-rt-acts .btn{padding:8px 13px;font-size:12.5px}
:root[data-ui="utic"] .tech{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
:root[data-ui="utic"] .tech .trow{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line-soft)}
:root[data-ui="utic"] .tech .trow:last-child{border-bottom:0}
:root[data-ui="utic"] .tech .trow.h{background:var(--card-2);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
:root[data-ui="utic"] .tech .item{font-weight:500;font-size:14px;color:var(--txt)}
:root[data-ui="utic"] .tech .sub{font-size:12px;color:var(--dim);margin-top:2px}
:root[data-ui="utic"] .tech .val{font-size:13.5px;color:#d6d8da}
:root[data-ui="utic"][data-theme="light"] .tech .val{color:var(--dim)}
:root[data-ui="utic"] .chk{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:4px 10px;border-radius:var(--r);white-space:nowrap}
:root[data-ui="utic"] .chk.ok{color:var(--lime);background:color-mix(in srgb,var(--lime) 12%,transparent)}
:root[data-ui="utic"] .chk.miss,:root[data-ui="utic"] .chk.warn{color:var(--warn);background:rgba(245,165,36,.14)}
:root[data-ui="utic"] .vt-flag{font-size:10.5px;color:var(--warn);border:1px solid rgba(245,165,36,.4);border-radius:6px;padding:1px 5px;margin-left:4px}
:root[data-ui="utic"] .src{position:relative;display:inline-flex;vertical-align:middle;margin-left:6px}
:root[data-ui="utic"] .src-info{width:16px;height:16px;border-radius:50%;border:1px solid var(--line);background:var(--card-2);color:var(--faint);display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;font-style:italic;cursor:pointer;flex:0 0 auto;font-family:Georgia,serif}
:root[data-ui="utic"] .src-info:hover{color:var(--lime);border-color:color-mix(in srgb,var(--lime) 50%,transparent)}
:root[data-ui="utic"] .src-pop{position:absolute;top:calc(100% + 7px);right:0;width:236px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:11px 13px;box-shadow:0 14px 34px -12px rgba(0,0,0,.5);z-index:80;text-align:left;white-space:normal}
:root[data-ui="utic"] .src-pop .sp-h{display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--lime);margin-bottom:6px}
:root[data-ui="utic"] .src-pop .sp-m{display:block;font-size:11.5px;color:var(--dim);margin-top:3px}
@media(max-width:640px){
  :root[data-ui="utic"] .tech .trow{grid-template-columns:1fr auto}
  :root[data-ui="utic"] .tech .trow .val,:root[data-ui="utic"] .tech .trow.h{display:none}
}

/* Hell/Dunkel-Schalter auf öffentlichen Seiten (Login, Band-Link, Ansicht-Link):
   der Legacy-Regler ist grün→lila – im UTIC-Look neutral mit Lime-Knopf. */
/* Theme-Umschalter auf öffentlichen (ausgeloggten) Seiten: minimaler Mond/
   Sonne-Icon-Button wie in der App (#uticTheme/.bell), statt Pille + Knob. */
:root[data-ui="utic"] .theme-toggle{width:auto;height:auto;min-width:0;background:none;border:0;box-shadow:none;border-radius:0;overflow:visible;padding:4px;color:var(--dim);display:inline-flex;align-items:center;justify-content:center;transition:color .15s}
:root[data-ui="utic"] .theme-toggle:hover{color:var(--txt)}
:root[data-ui="utic"] .theme-toggle.is-light{background:none}
:root[data-ui="utic"] .theme-toggle .theme-toggle-track{display:none}
:root[data-ui="utic"] .theme-toggle .theme-toggle-knob{position:static;transform:none;width:auto;height:auto;background:none;box-shadow:none;color:currentColor;border-radius:0}
:root[data-ui="utic"] .theme-toggle.is-light .theme-toggle-knob{transform:none;color:currentColor}
:root[data-ui="utic"] .theme-toggle .theme-toggle-knob svg{width:20px;height:20px}
/* Floating Labels (z. B. Band-Formular): das Label rutscht beim Tippen nach
   oben, damit man immer sieht, welches Feld man gerade ausfüllt. */
:root[data-ui="utic"] .fl{position:relative;display:block;min-width:0}
:root[data-ui="utic"] .fl > input,:root[data-ui="utic"] .fl > textarea{width:100%;padding:16px 11px 4px}
:root[data-ui="utic"] .fl > input::placeholder,:root[data-ui="utic"] .fl > textarea::placeholder{color:transparent}
:root[data-ui="utic"] .fl-lbl{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--dim);font-size:13px;line-height:1;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 20px);transition:top .14s ease,font-size .14s ease,color .14s ease}
:root[data-ui="utic"] .fl > input:focus ~ .fl-lbl,
:root[data-ui="utic"] .fl > input:not(:placeholder-shown) ~ .fl-lbl,
:root[data-ui="utic"] .fl > textarea:focus ~ .fl-lbl,
:root[data-ui="utic"] .fl > textarea:not(:placeholder-shown) ~ .fl-lbl{top:5px;transform:none;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
:root[data-ui="utic"] .bp-add .fl{flex:1 1 140px}
:root[data-ui="utic"] .bp-add .bp-file{flex:1 1 180px;min-width:0;display:flex;align-items:center;gap:7px;background:var(--card-2);border:1px dashed var(--line);border-radius:var(--r);padding:8px 11px;color:var(--dim);font-size:12.5px;cursor:pointer;transition:border-color .12s,color .12s}
:root[data-ui="utic"] .bp-add .bp-file:hover{border-color:color-mix(in srgb,var(--lime) 45%,var(--line));color:var(--txt)}
/* Nativen „Durchsuchen"-Button ausblenden – das Label ist der Button. */
:root[data-ui="utic"] .bp-add .bp-file input{display:none}
:root[data-ui="utic"] .bp-add .bp-file .bp-file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
/* „Als Nutzer ansehen"-Vorschau-Banner (fest oben, schiebt die App nach unten). */
:root[data-ui="utic"] .imp-banner{position:sticky;top:0;z-index:99999;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;background:color-mix(in srgb,var(--lime) 22%,var(--card));border-bottom:1px solid color-mix(in srgb,var(--lime) 55%,transparent);color:var(--txt);font-size:13px;padding:7px 14px}
:root[data-ui="utic"] .imp-banner .imp-txt{display:inline-flex;align-items:center;gap:7px}
:root[data-ui="utic"] .imp-banner b{color:var(--lime)}

/* Seitenleisten-Marke mit Untertitel (Prototyp: „Tour Management & Advancing") */
:root[data-ui="utic"] #sidebar .brand{align-items:center}
:root[data-ui="utic"] #sidebar .brand .brand-txt{display:flex;flex-direction:column;line-height:1.15}
:root[data-ui="utic"] #sidebar .brand .brand-txt small{font-size:9px;color:var(--p-faint);letter-spacing:.02em;margin-top:2px}

/* ============================================================================
   Topbar nahtlos wie Prototyp — kein abgesetzter Header-Balken; die Suche ist
   die erste Inhaltszeile (kein Hintergrund/Rand/Sticky).
   ============================================================================ */
:root[data-ui="utic"] .topbar{position:static;background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;background-image:none}
/* Schwebender „Neue Show"-Button (FAB): immer erreichbar, auch weit unten in
   einer langen Shows-Liste – ohne nach oben zu scrollen. */
/* Höhe = Standard-Button („Neue Show" oben): ~40px, Icon/Schrift wie dort. */
:root[data-ui="utic"] .show-fab{position:fixed;right:26px;bottom:26px;z-index:45;height:38px;min-width:38px;border-radius:50%;background:var(--lime);color:var(--lime-ink);border:0;display:flex;align-items:center;justify-content:center;gap:0;padding:0;white-space:nowrap;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.28);cursor:pointer;transition:border-radius .22s ease,padding .22s ease,gap .18s ease,filter .12s ease}
:root[data-ui="utic"] .show-fab .icon{flex:0 0 auto}
/* Beim Hovern klappt der runde FAB zu einem länglichen Button „＋ Neue Show" auf –
   gleiche Form & Größe wie der obere „Neue Show"-Button (var(--r), padding 18px, 14px). */
:root[data-ui="utic"] .show-fab .show-fab-label{max-width:0;opacity:0;overflow:hidden;font-weight:500;font-size:14px;transition:max-width .24s ease,opacity .18s ease}
:root[data-ui="utic"] .show-fab:hover{filter:brightness(1.04);border-radius:var(--r);padding:0 18px;gap:8px}
:root[data-ui="utic"] .show-fab:hover .show-fab-label{max-width:170px;opacity:1}
@media (max-width:640px){:root[data-ui="utic"] .show-fab{right:18px;bottom:18px}}
@media (prefers-reduced-motion:reduce){:root[data-ui="utic"] .show-fab,:root[data-ui="utic"] .show-fab .show-fab-label{transition:none}}
/* Warnung bei Datums-Dublette im „Neue Show"-Dialog (unter dem Datumsfeld). */
:root[data-ui="utic"] .date-dupe-warn{display:flex;align-items:flex-start;gap:6px;margin-top:6px;font-size:12px;color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,transparent);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);border-radius:var(--r);padding:6px 9px;line-height:1.4}
:root[data-ui="utic"] .date-dupe-warn[hidden]{display:none}
:root[data-ui="utic"] .date-dupe-warn b{color:var(--warn);font-weight:700}
:root[data-ui="utic"] .date-dupe-warn svg{flex:0 0 auto;margin-top:1px}
:root[data-ui="utic"] .topbar-inner.utic-topbar{max-width:1100px;margin:0 auto;padding:22px 20px 0;flex-wrap:nowrap}

/* Show-Detail: Blöcke, die der Prototyp dort nicht hat (Rechnung steht in
   „Details & Infos"; Dokumente sind ein Tab; Rider läuft über Aktionen). */
:root[data-ui="utic"] #showWeather,
:root[data-ui="utic"] #showParticipants,
:root[data-ui="utic"] .ra-card,
:root[data-ui="utic"] #riderSection{display:none !important}

/* ============================================================================
   Inhaltsbreite/-position exakt wie Prototyp: Hauptinhalt volle Breite (keine
   max-width), Padding 22px 34px 40px; Topbar bündig dazu (kein zentrierter
   1100er-Block). Seitenleiste bleibt 250px.
   ============================================================================ */
:root[data-ui="utic"] .app{max-width:none;margin:0;padding:22px 34px 40px}
@media(max-width:640px){:root[data-ui="utic"] .app{padding:16px 14px 40px}}
/* Hell-Modus: Textfarben, die als roher Prototyp-Wert (#d6d8da / Pastellgrün)
   auf hellem Grund unlesbar wären — auf die Theme-Token angleichen. */
:root[data-ui="utic"][data-theme="light"] .mit-text{color:var(--dim)}
:root[data-ui="utic"][data-theme="light"] .resp .rname,
:root[data-ui="utic"][data-theme="light"] .gwd-sollist b,
:root[data-ui="utic"][data-theme="light"] .gwd-thread .comment-text{color:var(--txt)}
:root[data-ui="utic"][data-theme="light"] .ns-preview{color:#3f6b00}
:root[data-ui="utic"] .topbar-inner.utic-topbar{max-width:none;margin:0;padding:22px 34px 0}

/* ============================================================================
   Meine Zeit & Spesen (Kostenkontrolle) 1:1 wie Prototyp.
   ============================================================================ */
:root[data-ui="utic"] .ph-actions{display:flex;gap:8px;flex-wrap:wrap}
:root[data-ui="utic"] .wl-active{display:flex;align-items:center;gap:12px;background:rgba(245,165,36,.08);border:1px solid rgba(245,165,36,.3);border-radius:var(--r);padding:12px 16px;color:#f0d9ad;font-size:13.5px;margin-bottom:18px}
:root[data-ui="utic"] .wl-active b{color:#fff}
:root[data-ui="utic"] .wl-active .wl-active-range{opacity:.85;font-weight:400}
:root[data-ui="utic"] .active-time-box .active-time-range{color:var(--faint);font-weight:400}
:root[data-ui="utic"] .wl-active svg{color:var(--warn);flex:0 0 auto}
:root[data-ui="utic"] .wl-active .btn{margin-left:auto;background:var(--card);color:var(--txt);border:1px solid var(--line);padding:8px 13px;font-size:13px;font-weight:500}
:root[data-ui="utic"] .wl-pastdays{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin-bottom:18px;background:var(--card-2)}
:root[data-ui="utic"] .wl-pastdays-h{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
:root[data-ui="utic"] .wl-pastdays-h svg{color:var(--warn);flex:0 0 auto}
:root[data-ui="utic"] .wl-pastday{display:flex;align-items:center;gap:12px;padding:7px 0;border-top:1px solid var(--line)}
:root[data-ui="utic"] .wl-pastday:first-of-type{border-top:0}
:root[data-ui="utic"] .wl-pd-date{font-size:13.5px;color:var(--txt);min-width:120px}
:root[data-ui="utic"] .wl-pd-dur{font-size:13.5px;color:#f0d9ad;font-weight:500}
:root[data-ui="utic"][data-theme="light"] .wl-pd-dur{color:#7a5310}
:root[data-ui="utic"] .wl-pastday .wl-claim-day{margin-left:auto;background:var(--card);color:var(--txt);border:1px solid var(--line);border-radius:var(--r);padding:6px 11px;font-size:12.5px;font-weight:500;cursor:pointer;font-family:inherit}
:root[data-ui="utic"] .wl-pastday .wl-claim-day:hover{background:var(--card-3,var(--card))}
/* Hell: das Aktiv-Banner (helles Amber) braucht dunklen Text – die Creme-Farbe
   #f0d9ad / weißes b sind auf dem hellen Grund praktisch unlesbar. */
:root[data-ui="utic"][data-theme="light"] .wl-active{background:rgba(245,165,36,.14);border-color:rgba(214,140,20,.5);color:#7a5310}
:root[data-ui="utic"][data-theme="light"] .wl-active b{color:#4a340a}
:root[data-ui="utic"] .selrow{display:flex;align-items:center;gap:10px;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:9px 14px;margin-bottom:12px;font-size:13.5px}
:root[data-ui="utic"] .selrow .sum{margin-left:6px;padding:2px 9px;border-radius:var(--r);background:rgba(120,208,0,.14);color:var(--lime);font-weight:600;font-size:12.5px}
:root[data-ui="utic"] .selrow .spacer{flex:1}
:root[data-ui="utic"] .selrow .mini{background:var(--card);border:1px solid var(--line);border-radius:var(--r);color:var(--dim);font-size:12.5px;padding:6px 11px;cursor:pointer;font-family:inherit}
:root[data-ui="utic"] .selrow .mini:hover{color:var(--txt);border-color:#4a4d50}
:root[data-ui="utic"] .wl-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 15px;margin-bottom:9px}
:root[data-ui="utic"] .wl-row.sel{border-color:rgba(120,208,0,.5);background:rgba(120,208,0,.06)}
:root[data-ui="utic"] .wl-row .box{width:17px;height:17px;border-radius:50%;border:1.5px solid #52555a;flex:0 0 auto;display:flex;align-items:center;justify-content:center;cursor:pointer;color:transparent}
:root[data-ui="utic"] .wl-row .box.on,:root[data-ui="utic"] .selrow .box.on{background:var(--lime);border-color:var(--lime);color:var(--lime-ink)}
:root[data-ui="utic"] .selrow .box{width:17px;height:17px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
/* „Alle auswählen"-Kopf über offenen bzw. abgerechneten Einträgen */
:root[data-ui="utic"] .wl-selall{display:flex;align-items:center;gap:9px;padding:2px 15px 10px}
:root[data-ui="utic"] .wl-selall .box{width:17px;height:17px;border-radius:50%;border:1.5px solid #52555a;flex:0 0 auto;display:flex;align-items:center;justify-content:center;cursor:pointer;color:transparent}
:root[data-ui="utic"] .wl-selall .box.on{background:var(--lime);border-color:var(--lime);color:var(--lime-ink)}
:root[data-ui="utic"] .wl-selall-lbl{background:none;border:0;color:var(--dim);font:inherit;font-size:13px;cursor:pointer;padding:0}
:root[data-ui="utic"] .wl-selall-lbl:hover{color:var(--txt)}
:root[data-ui="utic"] .wl-selall-n{color:var(--faint);font-size:12.5px}
:root[data-ui="utic"] .wl-date{font-size:11.5px;font-weight:600;letter-spacing:.02em;color:var(--faint);text-transform:uppercase}
:root[data-ui="utic"] .wl-title{display:flex;align-items:center;gap:7px;font-weight:500;font-size:14px;margin-top:2px;color:var(--txt)}
:root[data-ui="utic"] .wl-title svg{color:var(--lime);flex:0 0 auto}
:root[data-ui="utic"] .wl-meta{font-size:12px;color:var(--dim);margin-top:2px}
/* Beleg-Chip am Spesen-Eintrag + aktueller Beleg im Dialog. */
:root[data-ui="utic"] .wl-rcpt-chip{display:inline-flex;align-items:center;gap:4px;cursor:pointer;font-size:11px;font-weight:600;color:var(--lime);border:1px solid color-mix(in srgb,var(--lime) 40%,transparent);background:rgba(120,208,0,.1);border-radius:var(--r);padding:2px 8px;white-space:nowrap}
:root[data-ui="utic"] .wl-rcpt-chip svg{color:var(--lime)}
:root[data-ui="utic"] .wl-receipt-cur{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}
:root[data-ui="utic"] .wl-receipt-cur a{display:inline-flex;align-items:center;gap:5px;color:var(--lime);text-decoration:none}
:root[data-ui="utic"] .wl-receipt-rm{display:inline-flex;align-items:center;gap:5px;color:var(--dim);font-size:12px}
:root[data-ui="utic"] .wl-receipt-rm input{width:auto}
/* Datei-Auswahl-Button im App-Stil (statt grauem Browser-Default). */
:root[data-ui="utic"] input[type=file]{font:inherit;font-size:13px;color:var(--dim);max-width:100%}
:root[data-ui="utic"] input[type=file]::file-selector-button{font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;margin-right:10px;background:var(--card-2);color:var(--txt);border:1px solid var(--line);border-radius:var(--r);padding:7px 12px;transition:border-color .12s,background .12s}
:root[data-ui="utic"] input[type=file]::file-selector-button:hover{border-color:var(--dim);background:var(--card)}
:root[data-ui="utic"] input[type=file]::-webkit-file-upload-button{font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;margin-right:10px;background:var(--card-2);color:var(--txt);border:1px solid var(--line);border-radius:var(--r);padding:7px 12px}
:root[data-ui="utic"] input[type=file]::-webkit-file-upload-button:hover{border-color:var(--dim);background:var(--card)}
:root[data-ui="utic"] .wl-val{display:flex;flex-direction:column;align-items:flex-end}
:root[data-ui="utic"] .wl-dur{font-weight:700;font-size:15px;color:var(--txt)}
:root[data-ui="utic"] .wl-sub{font-size:12px;color:var(--dim);margin-top:1px}
:root[data-ui="utic"] .wl-settled{margin-top:8px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
:root[data-ui="utic"] .wl-settled summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:12px 15px;background:var(--card-2);color:var(--dim);font-size:13.5px}
:root[data-ui="utic"] .wl-settled summary::-webkit-details-marker{display:none}
:root[data-ui="utic"] .wl-settled[open] summary{border-bottom:1px solid var(--line)}
:root[data-ui="utic"] .wl-settled .body{padding:9px}
:root[data-ui="utic"] .wl-settled .wl-row{margin-bottom:9px}
:root[data-ui="utic"] .wl-settled .wl-row:last-child{margin-bottom:0}

/* Spesen (Band & Crew): Zeilen im gleichen Stil wie die Zeit-&-Spesen-Liste */
:root[data-ui="utic"] .exp-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:13px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 15px;margin-bottom:9px}
:root[data-ui="utic"] .exp-row.sel{border-color:rgba(120,208,0,.5);background:rgba(120,208,0,.06)}
:root[data-ui="utic"] .exp-row .box{width:17px;height:17px;border-radius:5px;border:1.5px solid #52555a;flex:0 0 auto;display:flex;align-items:center;justify-content:center;cursor:pointer;color:transparent}
:root[data-ui="utic"] .exp-row .box.on{background:var(--lime);border-color:var(--lime);color:var(--lime-ink)}
:root[data-ui="utic"] .exp-main{min-width:0}
:root[data-ui="utic"] .exp-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
:root[data-ui="utic"] .exp-top .exp-date{font-size:11.5px;font-weight:600;letter-spacing:.02em;color:var(--faint);text-transform:uppercase}
:root[data-ui="utic"] .exp-top b{font-weight:500;font-size:14px;color:var(--txt)}
:root[data-ui="utic"] .exp-desc{font-size:13.5px;color:var(--txt);margin-top:2px}
:root[data-ui="utic"] .exp-meta{font-size:12px;color:var(--dim);margin-top:2px}
:root[data-ui="utic"] .exp-meta a{color:var(--info);text-decoration:none}
:root[data-ui="utic"] .exp-meta a:hover{text-decoration:underline}
:root[data-ui="utic"] .exp-amt{font-weight:700;font-size:15px;color:var(--txt);white-space:nowrap}
:root[data-ui="utic"] .exp-act{display:flex;gap:6px}
:root[data-ui="utic"] .exp-act .mini{background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);color:var(--dim);font-size:12px;padding:5px 10px;cursor:pointer;font-family:inherit}
:root[data-ui="utic"] .exp-act .mini:hover{color:var(--txt);border-color:#4a4d50}
:root[data-ui="utic"] .eh-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
:root[data-ui="utic"] .eh-filters select{background:var(--card);border:1px solid var(--line);border-radius:var(--r);color:var(--txt);font-size:13px;padding:8px 11px;font-family:inherit}
@media (max-width:640px){:root[data-ui="utic"] .exp-row{grid-template-columns:auto 1fr auto;gap:10px}:root[data-ui="utic"] .exp-act{grid-column:2 / -1;justify-content:flex-end}}

/* Seitenleisten-Logo: volles ShowAdvance-Wortmarken-Logo wie Prototyp */
:root[data-ui="utic"] #sidebar .brand{display:flex;align-items:center;padding:8px 10px}
:root[data-ui="utic"] #sidebar .brand .brand-full{height:34px;width:auto;max-width:210px;display:block;filter:none}
/* Nav-Logo je nach Layout: helles Logo (weisse Schrift) im dunklen Layout,
   dunkles Logo (dunkle Schrift) im hellen Layout. */
:root[data-ui="utic"] #sidebar .brand .brand-logo-light{display:none}
:root[data-ui="utic"][data-theme="light"] #sidebar .brand .brand-logo-dark{display:none}
:root[data-ui="utic"][data-theme="light"] #sidebar .brand .brand-logo-light{display:block}
/* Kein dunkler Kasten mehr hinter dem Logo im hellen Layout – es wird jetzt
   das dunkle Logo (brand-logo-light) direkt auf der hellen Seitenleiste gezeigt. */
:root[data-ui="utic"][data-theme="light"] #sidebar .brand{background:none}

/* ============================================================================
   Finanzen 1:1 wie Prototyp — Soll/Ist-Tabelle, Kostenplan-Liste, Finanzbericht.
   ============================================================================ */
:root[data-ui="utic"] .pf-sect-h{font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin:22px 0 12px}
:root[data-ui="utic"] .pf-sect-sub{font-size:11px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--faint);margin-left:8px}
:root[data-ui="utic"] .ptabs{display:flex;gap:2px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:18px 0 6px;overflow-x:auto;position:sticky;top:0;z-index:4;background:var(--bg)}
:root[data-ui="utic"] .ptab{appearance:none;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--dim);font-size:13px;font-weight:500;padding:9px 13px;cursor:pointer;white-space:nowrap;margin-bottom:-1px}
:root[data-ui="utic"] .ptab:hover{color:var(--txt)}
:root[data-ui="utic"] .ptab.on{color:var(--txt);border-bottom-color:var(--lime)}
/* Mobil: Tab-Inhalt mind. so hoch, dass die sticky Tab-Leiste bei jedem Wechsel
   konstant oben andocken kann (sonst „wandert" sie bei kurzem Inhalt nach unten). */
@media(max-width:640px){:root[data-ui="utic"] .ptabs{flex-wrap:nowrap}:root[data-ui="utic"] .ptab{padding:9px 11px;font-size:12.5px}:root[data-ui="utic"] .ptab-content{min-height:100vh}}
:root[data-ui="utic"] .prof-term{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);cursor:pointer}
:root[data-ui="utic"] .prof-term:last-child{border-bottom:none}
:root[data-ui="utic"] .prof-term:hover .prof-term-name{color:var(--lime)}
:root[data-ui="utic"] .prof-term-main{min-width:0}
:root[data-ui="utic"] .prof-term-name{font-size:14px;font-weight:600;color:var(--txt)}
:root[data-ui="utic"] .prof-term-type{font-size:10.5px;font-weight:500;color:var(--faint);border:1px solid var(--line);border-radius:var(--r);padding:1px 7px;margin-left:4px;vertical-align:middle}
:root[data-ui="utic"] .prof-term-facts{font-size:12.5px;color:var(--dim);margin-top:2px}
:root[data-ui="utic"] .prof-term-right{display:flex;align-items:center;gap:6px;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}
:root[data-ui="utic"] .prof-term.past{opacity:.55}
:root[data-ui="utic"] .prof-term.cancelled{cursor:default;opacity:.85}
:root[data-ui="utic"] .prof-term.cancelled .prof-term-name{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--danger) 55%,transparent)}
:root[data-ui="utic"] .prof-term.cancelled:hover .prof-term-name{color:var(--txt)}
:root[data-ui="utic"] .prof-term-past-wrap{margin-top:4px}
:root[data-ui="utic"] .prof-term-past-wrap summary{cursor:pointer;font-size:12.5px;color:var(--faint);padding:10px 0 2px;list-style:none}
:root[data-ui="utic"] .prof-term-past-wrap summary::-webkit-details-marker{display:none}
:root[data-ui="utic"] .prof-term-past-wrap[open] summary{border-bottom:1px solid var(--line);margin-bottom:2px}
:root[data-ui="utic"] .imp-h-hint{font-weight:400;color:var(--faint);text-transform:none;letter-spacing:0;margin-left:6px}
:root[data-ui="utic"] .fin-tblwrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
:root[data-ui="utic"] .fin-tbl{width:100%;border-collapse:collapse;min-width:520px}
:root[data-ui="utic"] .fin-tbl th,:root[data-ui="utic"] .fin-tbl td{padding:11px 14px;border-bottom:1px solid var(--line);font-size:12.8px;text-align:right}
:root[data-ui="utic"] .fin-tbl th{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);font-weight:600;background:var(--card-2)}
:root[data-ui="utic"] .fin-tbl th:first-child,:root[data-ui="utic"] .fin-tbl td:first-child{text-align:left;color:var(--txt)}
:root[data-ui="utic"] .fin-tbl td{font-variant-numeric:tabular-nums;color:var(--dim)}
:root[data-ui="utic"] .fin-tbl tr:last-child td{border-bottom:0}
:root[data-ui="utic"] .fin-tbl tr.total td{font-weight:700;background:var(--card-2);border-top:2px solid var(--line);color:var(--txt)}
:root[data-ui="utic"] .fin-pos{color:var(--lime)}
:root[data-ui="utic"] .fin-neg{color:var(--danger)}
:root[data-ui="utic"] .fin-top{display:flex;flex-direction:column;gap:8px}
:root[data-ui="utic"] .fin-top-row{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:11px 15px}
:root[data-ui="utic"] .fin-top-name{flex:1;min-width:0;font-size:13.5px;font-weight:500;color:var(--txt)}
:root[data-ui="utic"] .fin-top-rev{font-size:12.5px;color:var(--dim);flex:0 0 auto}
:root[data-ui="utic"] .fin-top-res{font-size:13px;font-weight:600;flex:0 0 auto;min-width:90px;text-align:right}
:root[data-ui="utic"] .fin-top-name{overflow-wrap:anywhere}
@media(max-width:640px){:root[data-ui="utic"] .fin-top-row{flex-wrap:wrap}:root[data-ui="utic"] .fin-top-name{flex:1 0 100%}:root[data-ui="utic"] .fin-top-res{margin-left:auto}}
:root[data-ui="utic"] .finance-hint{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--warn);background:rgba(245,165,36,.08);border:1px solid rgba(245,165,36,.3);border-radius:var(--r);padding:10px 13px;margin:12px 0}
:root[data-ui="utic"] .kp-list{display:flex;flex-direction:column;gap:9px;margin-top:2px}
:root[data-ui="utic"] .kp-row{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:13px 16px;transition:border-color .12s}
:root[data-ui="utic"] .kp-row:hover{border-color:color-mix(in srgb,var(--lime) 45%,var(--line))}
:root[data-ui="utic"] .kp-main{flex:1;min-width:0}
:root[data-ui="utic"] .kp-name{font-size:14.5px;font-weight:500;color:var(--txt)}
:root[data-ui="utic"] .kp-meta{font-size:12px;color:var(--dim);margin-top:2px}
:root[data-ui="utic"] .kp-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
:root[data-ui="utic"] .kp-chip{font-size:11px;color:var(--dim);background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:3px 9px}
:root[data-ui="utic"] .kp-sum{flex:0 0 auto;font-size:16px;font-weight:700;color:var(--txt)}
:root[data-ui="utic"] .kp-marge{font-size:11px;font-weight:600;border-radius:var(--r);border:1px solid;padding:5px 11px;white-space:nowrap;align-self:center}
:root[data-ui="utic"] .kp-marge.ok{color:var(--lime);border-color:rgba(120,208,0,.4);background:rgba(120,208,0,.11)}
:root[data-ui="utic"] .kp-marge.warn{color:var(--warn);border-color:rgba(245,165,36,.4);background:rgba(245,165,36,.1)}
:root[data-ui="utic"] .ns-preview{background:rgba(120,208,0,.08);border:1px solid rgba(120,208,0,.28);border-radius:var(--r);padding:13px 15px;margin:4px 0 14px;font-size:13px;color:#cde6a3}
:root[data-ui="utic"] .ns-preview b{color:var(--txt)}
:root[data-ui="utic"] .ns-preview .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
:root[data-ui="utic"] .ns-preview .chip{font-size:11.5px;background:rgba(120,208,0,.14);color:var(--lime);border-radius:var(--r);padding:3px 9px}
:root[data-ui="utic"] .cmt-wrap{margin-top:22px;border-top:1px solid var(--line);padding-top:16px}
:root[data-ui="utic"] .cmt-head{font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin-bottom:12px;display:flex;align-items:center;gap:8px}
:root[data-ui="utic"] .cmt{display:flex;gap:11px;margin-bottom:14px}
:root[data-ui="utic"] .cmt-av{width:30px;height:30px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:var(--card-2);border:1px solid var(--line);color:var(--lime)}
:root[data-ui="utic"] .cmt-body{flex:1;min-width:0}
:root[data-ui="utic"] .cmt-top{display:flex;align-items:baseline;gap:9px}
:root[data-ui="utic"] .cmt-name{font-size:13px;font-weight:500;color:var(--txt)}
:root[data-ui="utic"] .cmt-time{font-size:11px;color:var(--faint)}
:root[data-ui="utic"] .cmt-del{margin-left:auto;background:none;border:0;color:var(--faint);cursor:pointer;padding:2px;border-radius:6px}
:root[data-ui="utic"] .cmt-del:hover{color:var(--danger)}
:root[data-ui="utic"] .cmt-text{font-size:13.5px;color:var(--dim);margin-top:2px;line-height:1.5}
:root[data-ui="utic"] .cmt-text .comment-mention{color:var(--lime);background:rgba(120,208,0,.12);border-radius:6px;padding:0 4px}
:root[data-ui="utic"] .cmt-empty{font-size:12.5px;color:var(--faint);padding:2px 0 10px}
:root[data-ui="utic"] .cmt-form{display:flex;gap:9px;margin-top:6px;position:relative}
:root[data-ui="utic"] .cmt-input{flex:1;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:10px 13px;color:var(--txt);font:inherit;font-size:13.5px;outline:none;resize:vertical;min-height:40px}
:root[data-ui="utic"] .cmt-input:focus{border-color:color-mix(in srgb,var(--lime) 55%,transparent)}
:root[data-ui="utic"] .kp-pool-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 15px;border-bottom:1px solid var(--line-soft);font-size:13.5px}
:root[data-ui="utic"] .kp-pool-row:last-child{border-bottom:0}
:root[data-ui="utic"] .kp-pool-name{color:var(--txt);flex:1;min-width:0}
:root[data-ui="utic"] .kp-pool-rate{color:var(--dim);font-size:12.5px}
:root[data-ui="utic"] .kp-pool-acts{display:inline-flex;gap:10px;flex:0 0 auto}
:root[data-ui="utic"] .kp-pool-addrow{padding:10px 15px}
:root[data-ui="utic"] .kp-pool-hint{margin-left:auto;font-size:11.5px;color:var(--faint)}
@media(max-width:640px){:root[data-ui="utic"] .kp-pool-hint{display:none}}

/* ============================================================================
   Rider 1:1 wie Prototyp — Showtyp-Segment, Datum-Gültigkeit, Rider-Karten,
   Modul-Bibliothek.
   ============================================================================ */
:root[data-ui="utic"] .rd-list{display:flex;flex-direction:column;gap:10px}
:root[data-ui="utic"] .rd-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
:root[data-ui="utic"] .rd-card-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
:root[data-ui="utic"] .rd-name{font-size:14.5px;font-weight:600;color:var(--txt)}
:root[data-ui="utic"] .rd-ver{font-size:11.5px;color:var(--dim);background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:1px 9px}
:root[data-ui="utic"] .rd-badge{display:inline-flex;align-items:center;font-size:11.5px;font-weight:500;padding:5px 11px;border-radius:var(--r);border:1px solid transparent;white-space:nowrap}
:root[data-ui="utic"] .rd-badge.aktuell{background:rgba(120,208,0,.16);color:var(--lime)}
:root[data-ui="utic"] .rd-badge.entwurf{background:rgba(245,165,36,.16);color:var(--warn)}
:root[data-ui="utic"] .rd-acts{margin-left:auto;display:flex;gap:8px;flex:0 0 auto}
:root[data-ui="utic"] .rd-btn{background:none;border:1px solid var(--line);border-radius:var(--r);color:var(--dim);font-size:12.5px;padding:6px 11px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;cursor:pointer;font-family:inherit}
:root[data-ui="utic"] .rd-btn:hover{color:var(--txt);border-color:var(--dim)}
:root[data-ui="utic"] .rd-btn.prim:hover{color:var(--lime);border-color:rgba(120,208,0,.45)}
:root[data-ui="utic"] .rd-btn-del{padding:6px 9px}
:root[data-ui="utic"] .rd-btn-del:hover{color:#e5484d;border-color:rgba(229,72,77,.5)}
:root[data-ui="utic"] .rd-meta{font-size:12px;color:var(--faint);margin-top:7px}
:root[data-ui="utic"] .rd-mods{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}
:root[data-ui="utic"] .rd-chip{display:inline-flex;align-items:center;font-size:11.5px;font-weight:500;color:var(--dim);background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:5px 11px;white-space:nowrap}
:root[data-ui="utic"] .rd-pdf{font-size:12px;color:var(--dim);margin-top:8px;display:flex;align-items:center;gap:6px}
:root[data-ui="utic"] .rd-pdf b{color:var(--txt);font-weight:500}
:root[data-ui="utic"] .rd-assign{display:inline-flex;align-items:center;gap:8px;margin-top:9px;font-size:12px;color:var(--dim)}
:root[data-ui="utic"] .rd-assign select{font-size:12.5px;color:var(--txt);background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:5px 9px}
:root[data-ui="utic"] .mx-cap{font-size:12.5px;color:var(--dim);margin:0 0 12px}
:root[data-ui="utic"] .mx-cap b{color:var(--txt);font-weight:600}
:root[data-ui="utic"] .mx-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
:root[data-ui="utic"] .mx-tbl{width:100%;border-collapse:collapse;min-width:520px}
:root[data-ui="utic"] .mx-tbl th,:root[data-ui="utic"] .mx-tbl td{padding:9px 12px;border-bottom:1px solid var(--line);font-size:12.5px;text-align:center}
:root[data-ui="utic"] .mx-tbl th{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);font-weight:600;background:var(--card-2)}
:root[data-ui="utic"] .mx-tbl td:first-child,:root[data-ui="utic"] .mx-tbl th:first-child{text-align:left;color:var(--txt)}
:root[data-ui="utic"] .mx-tbl tr:last-child td{border-bottom:0}
:root[data-ui="utic"] .mx-yes{color:var(--lime)}
:root[data-ui="utic"] .mx-no{color:var(--faint)}
:root[data-ui="utic"] .rd-hist{font-size:11.5px;color:var(--faint);margin-top:9px;display:flex;align-items:center;gap:6px}
:root[data-ui="utic"] .rd-hist b{color:var(--dim);font-weight:500}
:root[data-ui="utic"] .rd-datectl{display:flex;align-items:center;gap:9px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:11px 14px;margin-bottom:16px;font-size:13px;color:var(--dim)}
:root[data-ui="utic"] .rd-datectl svg{color:var(--lime);flex:0 0 auto}
:root[data-ui="utic"] .rd-datectl input[type=date]{background:var(--card-2);border:1px solid var(--line);border-radius:8px;color:var(--txt);font:inherit;font-size:13px;padding:6px 9px}
:root[data-ui="utic"] .rd-datehint{font-size:11.5px;color:var(--faint);flex:1;min-width:180px}
:root[data-ui="utic"] .rd-active{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--lime);background:rgba(120,208,0,.1);border:1px solid rgba(120,208,0,.35);border-radius:var(--r);padding:5px 10px;margin:8px 0 2px}
:root[data-ui="utic"] .rd-active.diff{color:var(--warn);background:rgba(245,165,36,.1);border-color:rgba(245,165,36,.4)}
:root[data-ui="utic"] .rd-active-note{color:var(--faint);font-weight:400}
:root[data-ui="utic"] .rd-modlib{margin-top:22px}
:root[data-ui="utic"] .rd-lib{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
:root[data-ui="utic"] .rd-libitem{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px}
:root[data-ui="utic"] .rd-libic{width:32px;height:32px;border-radius:8px;background:var(--card-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--dim);flex:0 0 auto}
:root[data-ui="utic"] .rd-libname{font-size:13px;font-weight:500;color:var(--txt)}
:root[data-ui="utic"] .rd-libmeta{font-size:11px;color:var(--faint);margin-top:1px}
/* Set-Modul-Auswahl im Bearbeiten-Modal */
:root[data-ui="utic"] .rl-set-modules{display:flex;flex-direction:column;gap:10px}
:root[data-ui="utic"] .rl-set-cat{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
:root[data-ui="utic"] .rl-set-cat-label{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);width:100%}
:root[data-ui="utic"] .rl-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--dim)}

/* ============================================================================
   Prototyp-Basistypografie fix übernehmen: 14px Basis + Font-Smoothing (Live
   erbt sonst 16px). Roboto + Heading-Gewichte sind oben gesetzt; Komponenten-
   größen kommen aus den jeweiligen Prototyp-Regeln.
   ============================================================================ */
:root[data-ui="utic"] body{font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
/* Ambiente aus dem Login-Look: feines Lime-Raster hinter dem Inhalt (fix im
   Viewport, hinter allen Karten/Panels; radial ausgeblendet, damit es an den
   Rändern verschwindet). Dezent – stört datenreiche Ansichten nicht. */
:root[data-ui="utic"] body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(123,211,2,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(123,211,2,.07) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:radial-gradient(150% 130% at 50% 32%,#000 55%,transparent 100%);
          mask-image:radial-gradient(150% 130% at 50% 32%,#000 55%,transparent 100%)}
/* Heller Modus: dunkleres, kräftigeres Grün – helles Lime auf hellem Grund war
   fast unsichtbar. Dunklere Linie + mehr Deckkraft gibt sichtbaren Kontrast. */
/* Heller Modus: Raster komplett ausblenden (auf Wunsch unsichtbar). */
:root[data-ui="utic"][data-theme="light"] body::before{background-image:none}
/* Driftender Lime-Glow aus dem Login-Look – langsam wandernd, weit geweichzeichnet,
   hinter dem Inhalt. Sehr dezent, damit es in einer Arbeits-App nicht ablenkt. */
:root[data-ui="utic"] body::after{content:"";position:fixed;left:3%;top:8%;width:440px;height:440px;z-index:-1;pointer-events:none;border-radius:50%;background:radial-gradient(circle,rgba(123,211,2,.10),transparent 62%);filter:blur(36px);animation:uticDrift 18s ease-in-out infinite}
:root[data-ui="utic"][data-theme="light"] body::after{background:radial-gradient(circle,rgba(123,211,2,.07),transparent 62%)}
@keyframes uticDrift{0%,100%{transform:translate(0,0)}50%{transform:translate(72px,48px)}}
@media (prefers-reduced-motion:reduce){:root[data-ui="utic"] body::after{animation:none}}

/* ============================================================================
   Vorlagen (Standard-Punkte je Showtyp) 1:1 wie Prototyp.
   ============================================================================ */
:root[data-ui="utic"] .tpl-note{display:flex;align-items:center;gap:9px;background:rgba(120,208,0,.08);border:1px solid rgba(120,208,0,.28);border-radius:var(--r);padding:11px 15px;color:#cde6a3;font-size:13px;margin:0 0 18px}
:root[data-ui="utic"][data-theme="light"] .tpl-note{color:#3f6b00}
:root[data-ui="utic"] .tpl-note b{color:var(--txt)}
:root[data-ui="utic"] .tpl-search{display:flex;align-items:center;gap:9px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;margin:14px 0 4px}
:root[data-ui="utic"] .tpl-search svg{color:var(--faint);flex:0 0 auto}
:root[data-ui="utic"] .tpl-search input{flex:1;background:none;border:0;outline:none;color:var(--txt);font:inherit;font-size:13.5px}
:root[data-ui="utic"] .tpl-search input::placeholder{color:var(--faint)}
:root[data-ui="utic"] .tpl-group{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
:root[data-ui="utic"] .tpl-group-head{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line-soft)}
:root[data-ui="utic"] .tpl-group-ic{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--lime);display:flex;align-items:center;justify-content:center;color:var(--lime);flex:0 0 auto}
:root[data-ui="utic"] .tpl-group-name{font-weight:500;font-size:14px;color:var(--txt)}
:root[data-ui="utic"] .tpl-group-n{margin-left:auto;font-size:11px;color:var(--faint);background:var(--card-2);border-radius:999px;padding:2px 9px}
:root[data-ui="utic"] .tpl-pt{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line-soft);font-size:13.5px;color:#d6d8da}
:root[data-ui="utic"][data-theme="light"] .tpl-pt{color:var(--dim)}
:root[data-ui="utic"] .tpl-pt:last-child{border-bottom:0}
:root[data-ui="utic"] .tpl-pt .txt{flex:1;min-width:0}
:root[data-ui="utic"] .tpl-pt-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
:root[data-ui="utic"] .tpl-pt-main .txt{flex:0 0 auto}
:root[data-ui="utic"] .tpl-pt.has-spec .txt{font-weight:600;color:var(--txt)}
:root[data-ui="utic"] .tpl-pt-spec{font-size:12px;color:var(--dim);line-height:1.45;white-space:pre-wrap}
:root[data-ui="utic"] .tpl-pt .act{opacity:0;display:inline-flex;gap:6px;transition:opacity .12s}
:root[data-ui="utic"] .tpl-pt:hover .act{opacity:1}
:root[data-ui="utic"] .tpl-pt .act button{background:none;border:0;color:var(--faint);display:inline-flex;padding:2px;cursor:pointer}
:root[data-ui="utic"] .tpl-pt .act button:hover{color:var(--txt)}
:root[data-ui="utic"] .tpl-pt.hide,:root[data-ui="utic"] .tpl-group.hide{display:none}
:root[data-ui="utic"] .tpl-pt .grip{color:#4a4d50;cursor:grab;flex:0 0 auto;display:inline-flex}
:root[data-ui="utic"] .tpl-pt .grip:active{cursor:grabbing}
:root[data-ui="utic"] .tpl-pt.tpl-pt-dragging{opacity:.45;background:var(--card-2);border-radius:var(--r)}
:root[data-ui="utic"] .tpl-sched{padding:8px 16px}
:root[data-ui="utic"] .tpl-sched .se-row.hide{display:none}
/* Ablauf-Vorlage über die volle Breite, damit die Bezeichnung lesbar ist */
:root[data-ui="utic"] .tpl-sched-group{grid-column:1 / -1}
:root[data-ui="utic"] .tpl-sched .se-lbl{flex:1 1 auto;min-width:220px}
:root[data-ui="utic"] .tpl-add{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:0;border-top:1px dashed var(--line);color:var(--lime);font-size:13px;padding:10px 16px;cursor:pointer}
:root[data-ui="utic"] .tpl-add:hover{background:rgba(120,208,0,.06)}
/* „Gewerke verwalten" – über beide Spalten, dezenter als eine Gruppe */
:root[data-ui="utic"] .tpl-manage-gw{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:8px;background:none;border:1px dashed var(--line);border-radius:var(--r);color:var(--dim);font:inherit;font-size:13px;padding:11px 16px;cursor:pointer}
:root[data-ui="utic"] .tpl-manage-gw:hover{color:var(--txt);border-color:var(--dim);background:var(--card-2)}
/* Gewerke-Manager-Modal */
:root[data-ui="utic"] .modal-sub{margin:-4px 0 14px;color:var(--faint);font-size:13px;line-height:1.5}
:root[data-ui="utic"] .gwm-sect-lbl{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:14px 0 7px}
:root[data-ui="utic"] .gwm-list{display:flex;flex-direction:column;gap:7px}
:root[data-ui="utic"] .gwm-row{display:flex;align-items:center;gap:11px;padding:8px 11px;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);margin:0}
:root[data-ui="utic"] .gwm-ic{flex:0 0 auto;display:inline-flex;color:var(--dim)}
:root[data-ui="utic"] .gwm-ic svg{width:20px;height:20px}
:root[data-ui="utic"] .gwm-name{flex:1;min-width:0;background:none;border:0;color:var(--txt);font:inherit;font-size:14px;padding:2px 0}
:root[data-ui="utic"] .gwm-name:focus{outline:none}
:root[data-ui="utic"] .gwm-name::placeholder{color:var(--faint)}
:root[data-ui="utic"] .gwm-vis{flex:0 0 auto;width:17px;height:17px;accent-color:var(--lime);cursor:pointer}
:root[data-ui="utic"] .gwm-row:has(.gwm-vis:not(:checked)){opacity:.5}
:root[data-ui="utic"] .gwm-del{flex:0 0 auto;background:none;border:0;color:var(--faint);cursor:pointer;display:inline-flex;padding:3px;border-radius:6px}
:root[data-ui="utic"] .gwm-del:hover{color:var(--red);background:rgba(255,90,90,.1)}
/* Promoter-Upload-Schalter je Gewerk */
:root[data-ui="utic"] .gwm-pu{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;color:var(--dim);cursor:pointer;white-space:nowrap;padding:3px 8px;border:1px solid var(--line);border-radius:var(--r)}
:root[data-ui="utic"] .gwm-pu svg{width:12px;height:12px}
:root[data-ui="utic"] .gwm-pu input{width:15px;height:15px;accent-color:var(--lime);cursor:pointer;margin:0}
:root[data-ui="utic"] .gwm-pu:has(input:checked){color:var(--txt);border-color:var(--lime);box-shadow:inset 0 0 0 1px var(--lime)}
/* Gewerk-Badge im Promoter-Portal + Zuordnungs-Auswahl */
:root[data-ui="utic"] .promo-doc-gw{display:inline-block;margin-left:7px;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--lime);background:rgba(170,255,90,.1);border:1px solid var(--line);border-radius:var(--r);padding:1px 8px;vertical-align:middle}
:root[data-ui="utic"] .promo-doc-assign{display:flex;align-items:center;gap:9px;margin:4px 0 10px}
:root[data-ui="utic"] .promo-doc-assign label{font-size:12.5px;color:var(--dim)}
:root[data-ui="utic"] .promo-doc-assign select{flex:0 1 auto;min-width:160px}
/* Promoter-Kennzeichnung in den Show-Dokumenten */
:root[data-ui="utic"] .doc-promo-badge{display:inline-flex;align-items:center;gap:4px;margin:2px 0 0;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--lime);background:rgba(170,255,90,.1);border:1px solid var(--line);border-radius:var(--r);padding:1px 9px}
:root[data-ui="utic"] .doc-promo-badge svg{width:11px;height:11px}
:root[data-ui="utic"] .tpl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
:root[data-ui="utic"] .tpl-sect{margin-top:6px}
:root[data-ui="utic"] .tpl-sect>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 2px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--line)}
:root[data-ui="utic"] .tpl-sect>summary:hover{color:var(--dim)}
:root[data-ui="utic"] .tpl-sect>summary::-webkit-details-marker{display:none}
:root[data-ui="utic"] .tpl-sect>summary .chev{display:inline-flex;transition:transform .15s;color:var(--faint)}
:root[data-ui="utic"] .tpl-sect[open]>summary .chev{transform:rotate(90deg)}
:root[data-ui="utic"] .tpl-sect>summary .cnt{margin-left:auto;text-transform:none;letter-spacing:0;color:var(--faint);font-weight:400;font-size:11px}
:root[data-ui="utic"] .tpl-sect .tpl-grid{margin-top:12px;margin-bottom:6px}
:root[data-ui="utic"] .tpl-none{color:var(--faint);font-size:13px;padding:12px 2px}
@media(max-width:900px){:root[data-ui="utic"] .tpl-grid{grid-template-columns:1fr}}
:root[data-ui="utic"] .rd-btn.danger:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}

/* ============================================================================
   Rückmeldungen (Promoter-Eingänge + Postausgang & Feedback) — 1:1 Prototyp
   ============================================================================ */
:root[data-ui="utic"] .fb-list{display:flex;flex-direction:column;gap:8px}
:root[data-ui="utic"] .fb-row{display:flex;align-items:flex-start;gap:13px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:13px 15px}
:root[data-ui="utic"] .fb-ic{width:32px;height:32px;border-radius:50%;background:var(--card-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--dim);flex:0 0 auto}
:root[data-ui="utic"] .fb-ic.in{border-color:rgba(120,208,0,.4);background:rgba(120,208,0,.1)}
:root[data-ui="utic"] .fb-main{flex:1;min-width:0}
:root[data-ui="utic"] .fb-doc{font-size:13.5px;font-weight:600;color:var(--fg)}
:root[data-ui="utic"] .fb-meta{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--dim);margin-top:5px}
:root[data-ui="utic"] .fb-meta>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:root[data-ui="utic"] .fb-k{display:inline-block;min-width:60px;color:var(--faint)}
:root[data-ui="utic"] .fb-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:0 0 auto}
:root[data-ui="utic"] .fb-row .pill{flex:0 0 auto}
:root[data-ui="utic"] .fb-open{font-size:12.5px;padding:7px 12px;flex:0 0 auto}
:root[data-ui="utic"] .fb-open-ph{display:none}
@media(max-width:720px){:root[data-ui="utic"] .fb-side{align-items:stretch}}
:root[data-ui="utic"] .mit-empty{color:var(--faint);font-size:13.5px;padding:18px 2px}
:root[data-ui="utic"] .pin-row{display:flex;align-items:center;gap:13px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 15px;margin-bottom:9px;cursor:pointer;transition:border-color .12s}
:root[data-ui="utic"] .pin-row:hover{border-color:color-mix(in srgb,var(--lime) 45%,var(--line))}
:root[data-ui="utic"] .pin-ic{width:36px;height:36px;border-radius:9px;background:var(--card-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--info);flex:0 0 auto}
:root[data-ui="utic"] .pin-rmain{flex:1;min-width:0}
:root[data-ui="utic"] .pin-venue{font-size:14px;font-weight:600;color:var(--fg)}
:root[data-ui="utic"] .pin-rmeta{font-size:12px;color:var(--dim);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:root[data-ui="utic"] .pin-empty{color:var(--faint);font-size:13px;padding:14px;text-align:center;border:1px dashed var(--line);border-radius:var(--r)}
:root[data-ui="utic"] .pin-log-item{display:flex;gap:10px;font-size:12.5px;color:var(--dim);padding:4px 0}
:root[data-ui="utic"] .pin-log-item::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--lime);flex:0 0 auto;margin-top:5px}
/* Promoter-Eingang · Detailansicht (Prototyp #promoterInModal) */
:root[data-ui="utic"] .pin-detail-modal{max-width:600px}
:root[data-ui="utic"] .pin-assign{display:flex;gap:9px;align-items:center;margin:2px 0 4px}
:root[data-ui="utic"] .pin-assign select{flex:1;min-width:0;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);color:var(--txt);font:inherit;font-size:13.5px;padding:9px 11px;outline:none}
:root[data-ui="utic"] .pin-assign select:focus{border-color:color-mix(in srgb,var(--lime) 55%,transparent)}
:root[data-ui="utic"] .pin-assign-done{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13.5px;color:var(--dim);margin:2px 0 4px}
:root[data-ui="utic"] .pin-tech{margin:2px 0 4px}
:root[data-ui="utic"] .pin-trow{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:13px}
:root[data-ui="utic"] .pin-trow:last-child{border-bottom:0}
:root[data-ui="utic"] .pin-trow .soll{color:var(--dim);font-size:11.5px;margin-top:2px;font-variant-numeric:tabular-nums}
:root[data-ui="utic"] .pin-trow .pin-tval{color:var(--txt);text-align:right;max-width:220px;overflow-wrap:anywhere}
:root[data-ui="utic"] .pin-reqgrp{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--lime);margin:10px 0 2px}
:root[data-ui="utic"] .pin-reqgrp:first-child{margin-top:2px}
:root[data-ui="utic"] .pin-log{margin:2px 0 4px}
@media(max-width:640px){:root[data-ui="utic"] .pin-trow{grid-template-columns:1fr auto}:root[data-ui="utic"] .pin-trow .pin-tval{grid-column:1/-1;text-align:left;max-width:none}}

/* ============================================================================
   Mein Profil — 1:1 Prototyp
   ============================================================================ */
:root[data-ui="utic"] .prof-wrap{max-width:640px}
:root[data-ui="utic"] .prof-top{display:flex;align-items:center;gap:16px;margin-bottom:20px}
:root[data-ui="utic"] .prof-av{position:relative;width:74px;height:74px;border-radius:50%;background:var(--lime);color:var(--lime-ink);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:24px;flex:0 0 auto;overflow:hidden}
:root[data-ui="utic"] .prof-av img{width:100%;height:100%;object-fit:cover;border-radius:50%}
:root[data-ui="utic"] .prof-av-edit{position:absolute;right:-2px;bottom:-2px;width:26px;height:26px;border-radius:50%;background:var(--card);border:1px solid var(--line);color:var(--dim);display:flex;align-items:center;justify-content:center;cursor:pointer}
:root[data-ui="utic"] .prof-av-edit:hover{color:var(--lime);border-color:rgba(120,208,0,.5)}
:root[data-ui="utic"] .prof-top h2{font-size:21px;font-weight:500;color:var(--txt)}
:root[data-ui="utic"] .prof-top .r{color:var(--dim);font-size:13.5px;margin-top:3px}
:root[data-ui="utic"] .banner-ok{display:flex;align-items:center;gap:10px;background:rgba(120,208,0,.09);border:1px solid rgba(120,208,0,.3);border-radius:var(--r);padding:13px 16px;color:#cde6a3;font-size:13.5px;margin-bottom:18px}
:root[data-ui="utic"][data-theme="light"] .banner-ok{color:#3f6b00}
:root[data-ui="utic"] .banner-warn{display:flex;align-items:center;gap:10px;background:rgba(245,165,36,.1);border:1px solid rgba(245,165,36,.35);border-radius:var(--r);padding:13px 16px;color:var(--warn);font-size:13.5px;margin-bottom:18px}
:root[data-ui="utic"] .form{display:flex;flex-direction:column;gap:14px}
:root[data-ui="utic"] .fld label{display:block;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:6px}
:root[data-ui="utic"] .fld .inp{background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:11px 14px;font-size:14px;color:#e6e8ea}
:root[data-ui="utic"] .fld input.inp,:root[data-ui="utic"] .fld select.inp{width:100%;font-family:inherit;outline:none}
:root[data-ui="utic"] .fld input.inp:disabled{-webkit-text-fill-color:#e6e8ea;opacity:1}
:root[data-ui="utic"] .fld input.inp:not(:disabled){border-color:color-mix(in srgb,var(--lime) 45%,transparent);background:var(--card)}
:root[data-ui="utic"] .fld input.inp:focus{border-color:var(--lime)}
:root[data-ui="utic"] .fld.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
:root[data-ui="utic"][data-theme="light"] .fld .inp,:root[data-ui="utic"][data-theme="light"] .fld input.inp:disabled{color:var(--txt);-webkit-text-fill-color:var(--txt)}
:root[data-ui="utic"] .pf-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line-soft)}
:root[data-ui="utic"] .pf-row:last-child{border-bottom:0}
:root[data-ui="utic"] .pf-t{font-size:13.5px;color:var(--txt)}
:root[data-ui="utic"] .pf-s{font-size:12px;color:var(--dim);margin-top:2px;overflow-wrap:anywhere}
:root[data-ui="utic"] .pf-sw{width:40px;height:23px;border-radius:999px;background:#3a3c3e;position:relative;cursor:pointer;flex:0 0 auto;transition:background .15s}
:root[data-ui="utic"] .pf-sw::after{content:"";position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;background:#fff;transition:left .15s}
:root[data-ui="utic"] .pf-sw.on{background:var(--lime)}
:root[data-ui="utic"] .pf-sw.on::after{left:19px}
:root[data-ui="utic"][data-theme="light"] .pf-sw{background:#d3d6db}
:root[data-ui="utic"] .pf-doc{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-soft)}
:root[data-ui="utic"] .pf-doc:last-child{border-bottom:0}
:root[data-ui="utic"] .pf-di{width:34px;height:34px;border-radius:9px;background:var(--card-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--lime);flex:0 0 auto}
:root[data-ui="utic"] .pf-doc .dm{flex:1;min-width:0}
/* Handy: Aktionen (Pille + Öffnen/Entfernen) unter Titel/Dateiname umbrechen,
   statt sie in einer Zeile zu überlagern. */
@media (max-width:640px){
  :root[data-ui="utic"] .pf-doc{flex-wrap:wrap;row-gap:8px}
  :root[data-ui="utic"] .pf-doc .dm{flex:1 1 calc(100% - 46px)}
  :root[data-ui="utic"] .pf-doc .pill{margin-left:46px}
}
:root[data-ui="utic"] .pf-sec-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
:root[data-ui="utic"] .pf-pk-row{display:flex;align-items:center;gap:11px;padding:9px 0;border-top:1px solid var(--line-soft)}
:root[data-ui="utic"] .pf-pk-ic{color:var(--lime);display:inline-flex}
:root[data-ui="utic"] .pf-pk-main{flex:1;min-width:0}
:root[data-ui="utic"] .pf-pk-name{font-size:13.5px;font-weight:500;color:var(--txt)}
:root[data-ui="utic"] .pf-pk-meta{font-size:11.5px;color:var(--faint)}
:root[data-ui="utic"] .bag-head--eq{display:grid;grid-template-columns:92px 1.3fr 1fr 78px 92px;gap:12px;align-items:center;padding:11px 15px 6px;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}
@media(max-width:640px){:root[data-ui="utic"] .bag-head--eq{display:none}}
:root[data-ui="utic"] .pf-eq{display:grid;grid-template-columns:92px 1.3fr 1fr 78px 92px;gap:12px;align-items:center;padding:8px 15px;font-size:13px;border-top:1px solid var(--line-soft)}
:root[data-ui="utic"] .pf-eq:first-child{border-top:0}
:root[data-ui="utic"] .pf-eq .pf-eq-tag{font-variant-numeric:tabular-nums;font-weight:600;color:var(--dim)}
:root[data-ui="utic"] .pf-eq-hint{font-size:11.5px;color:var(--faint);display:flex;align-items:center;gap:6px;padding:4px 15px 8px}
:root[data-ui="utic"] .pf-eq-edit{cursor:pointer;border-radius:8px;transition:background .12s}
:root[data-ui="utic"] .pf-eq-edit:hover{background:var(--card-2)}
:root[data-ui="utic"] .pf-eq-edit:focus-visible{outline:2px solid var(--lime);outline-offset:-2px}
@media(max-width:640px){:root[data-ui="utic"] .pf-eq{grid-template-columns:80px 1fr;row-gap:4px}}

/* ============================================================================
   Tourmanagement · Routenplan (Grundgerüst) — 1:1 Prototyp
   ============================================================================ */
:root[data-ui="utic"] .tr-list{display:flex;flex-direction:column;gap:9px}
:root[data-ui="utic"] .tr-stop{display:flex;align-items:center;gap:15px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:13px 16px;cursor:pointer;transition:border-color .12s,background .12s}
:root[data-ui="utic"] .tr-stop:hover{border-color:rgba(120,208,0,.4);background:var(--card-2)}
:root[data-ui="utic"] .tr-date{flex:0 0 auto;width:50px;text-align:center;line-height:1}
:root[data-ui="utic"] .tr-date .d{font-size:19px;font-weight:700;color:var(--txt)}
:root[data-ui="utic"] .tr-date .m{font-size:10.5px;color:var(--faint);text-transform:uppercase;letter-spacing:.05em;margin-top:3px}
:root[data-ui="utic"] .tr-date .wd{font-size:10px;color:var(--dim);margin-top:2px}
:root[data-ui="utic"] .tr-pin{flex:0 0 auto;width:26px;height:26px;border-radius:50%;border:2px solid var(--lime);display:flex;align-items:center;justify-content:center;color:var(--lime)}
:root[data-ui="utic"] .tr-main{flex:1;min-width:0}
:root[data-ui="utic"] .tr-city{font-size:15px;font-weight:600;color:var(--txt)}
:root[data-ui="utic"] .tr-tourtag{margin-left:8px;vertical-align:middle}
/* Freigabe-Hub: Liste einzelner Shows */
:root[data-ui="utic"] .shb-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow:auto}
:root[data-ui="utic"] .shb-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:9px 12px;cursor:pointer;color:var(--txt);font-family:inherit}
:root[data-ui="utic"] .shb-item:hover{border-color:color-mix(in srgb,var(--lime) 45%,transparent)}
:root[data-ui="utic"] .shb-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
:root[data-ui="utic"] .shb-item-name{font-size:13.5px;font-weight:500;display:flex;align-items:center;gap:6px}
:root[data-ui="utic"] .shb-item-meta{font-size:12px;color:var(--dim);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
:root[data-ui="utic"] .shb-item svg{color:var(--faint);flex:0 0 auto}
:root[data-ui="utic"] .shb-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);display:inline-block}
:root[data-ui="utic"] .shb-sched-row + .shb-sched-row{margin-top:10px}
:root[data-ui="utic"] .tr-venue{font-size:12.5px;color:var(--faint);margin-top:2px}
:root[data-ui="utic"] .tr-leg{display:flex;align-items:center;gap:9px;padding:7px 0 7px 78px;color:var(--faint);font-size:12px}
:root[data-ui="utic"] .tr-leg .ln{width:2px;height:20px;background:var(--line);margin-left:11px}
:root[data-ui="utic"] .tr-leg svg{color:var(--dim);flex:0 0 auto}
:root[data-ui="utic"] .tr-leg b{color:var(--dim);font-weight:500}
:root[data-ui="utic"] .tr-htl{display:flex;align-items:center;gap:7px;margin-top:8px;font-size:12px;color:var(--faint)}
:root[data-ui="utic"] .tr-htl svg{color:var(--dim);flex:0 0 auto}
:root[data-ui="utic"] .tr-htl-name{color:var(--dim)}
:root[data-ui="utic"] .tr-htl.tr-htl-open .tr-htl-name{color:var(--warn)}
:root[data-ui="utic"] .tr-htl-beleg{color:var(--faint)}
:root[data-ui="utic"] .tr-htl-edit{margin-left:6px;background:none;border:1px solid var(--line);border-radius:6px;color:var(--dim);font-size:11px;padding:3px 9px;cursor:pointer}
:root[data-ui="utic"] .tr-htl-edit:hover{color:var(--lime);border-color:rgba(120,208,0,.45)}
@media(max-width:640px){:root[data-ui="utic"] .tr-stop{flex-wrap:wrap}:root[data-ui="utic"] .tr-main{min-width:58%}:root[data-ui="utic"] .tr-stop>.pill{margin-top:8px;margin-left:76px}}

/* ============================================================================
   Verwaltung (Admin) — Nutzer-Tab .ut + Tab-Shell — 1:1 Prototyp
   ============================================================================ */
:root[data-ui="utic"] .ut{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
:root[data-ui="utic"] .ut-head,:root[data-ui="utic"] .ut-row{display:grid;grid-template-columns:1.9fr 1.5fr 1.25fr 1.15fr 0.95fr;gap:12px;align-items:center;padding:12px 16px}
:root[data-ui="utic"] .ut-act{font-size:12px;color:var(--dim);display:inline-flex;align-items:center;gap:6px}
:root[data-ui="utic"] .ut-act.on{color:var(--lime);font-weight:500}
:root[data-ui="utic"] .ut-act.none{color:var(--faint)}
:root[data-ui="utic"] .ut-head{background:var(--card-2);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}
:root[data-ui="utic"] .ut-row{border-top:1px solid var(--line-soft);background:var(--card)}
:root[data-ui="utic"] .ut-group{display:flex;align-items:center;gap:8px;background:var(--card-2);border-top:1px solid var(--line);padding:8px 16px;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);font-weight:600}
:root[data-ui="utic"] .ut-group .ut-group-n{color:var(--dim);font-weight:500;letter-spacing:0;text-transform:none}
:root[data-ui="utic"] .ut-sort{display:flex;align-items:center;gap:8px;margin-bottom:10px}
:root[data-ui="utic"] .ut-sort .tb-lbl{font-size:11px;color:var(--faint);text-transform:uppercase;letter-spacing:.05em}
:root[data-ui="utic"] .ut-row:hover{background:var(--card-2)}
:root[data-ui="utic"] .ut-u{display:flex;align-items:center;gap:11px;min-width:0}
:root[data-ui="utic"] .ut-av{width:34px;height:34px;border-radius:50%;background:var(--card-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--lime);flex:0 0 auto}
:root[data-ui="utic"] .ut-name{font-size:13.5px;font-weight:500;color:var(--txt)}
:root[data-ui="utic"] .ut-mail{font-size:11.5px;color:var(--faint)}
:root[data-ui="utic"] .ut-role{font-size:13px;color:var(--txt)}
:root[data-ui="utic"] .ut-role .ut-access{font-size:11.5px;color:var(--dim);margin-top:2px}
:root[data-ui="utic"] .ut-stat{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--dim)}
:root[data-ui="utic"] .ut-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}
:root[data-ui="utic"] .ut-dot.used{background:var(--lime)}
:root[data-ui="utic"] .ut-dot.open{background:var(--warn)}
:root[data-ui="utic"] .ut-stat .chk{color:var(--lime);display:inline-flex}
:root[data-ui="utic"] .ut-costs{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}
:root[data-ui="utic"] .ut-costs.on{color:var(--lime)}
:root[data-ui="utic"] .ut-costs.off{color:var(--faint)}
@media(max-width:720px){:root[data-ui="utic"] .ut-head{display:none}:root[data-ui="utic"] .ut-row{grid-template-columns:1fr 1fr;row-gap:8px}:root[data-ui="utic"] .ut-u{grid-column:1 / -1}}
:root[data-ui="utic"] .adm-ph{color:var(--faint);font-size:13.5px;padding:26px;text-align:center;border:1px dashed var(--line);border-radius:var(--r);display:flex;flex-direction:column;align-items:center;gap:12px}

/* ============================================================================
   Verwaltung-Tabs: plat-tbl / Protokoll / Log / Papierkorb — 1:1 Prototyp
   ============================================================================ */
:root[data-ui="utic"] .plat-tblwrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
:root[data-ui="utic"] .plat-tbl{width:100%;border-collapse:collapse;min-width:820px}
:root[data-ui="utic"] .plat-tbl th,:root[data-ui="utic"] .plat-tbl td{padding:11px 14px;border-bottom:1px solid var(--line);font-size:12.8px;text-align:left;vertical-align:middle;color:var(--txt)}
:root[data-ui="utic"] .plat-tbl th{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);font-weight:600;background:var(--card-2)}
:root[data-ui="utic"] .plat-tbl tr:last-child td{border-bottom:0}
:root[data-ui="utic"] .plat-tbl tbody tr:hover{background:var(--card-2)}
:root[data-ui="utic"] .plat-org{font-weight:600}
:root[data-ui="utic"] .plat-org small{display:block;font-weight:400;color:var(--faint);font-size:11px;margin-top:1px}
:root[data-ui="utic"] .plat-act{background:none;border:1px solid var(--line);border-radius:6px;color:var(--dim);font-size:11.5px;padding:5px 10px;white-space:nowrap;cursor:pointer;font-family:inherit}
:root[data-ui="utic"] .plat-act:hover{color:var(--lime);border-color:rgba(120,208,0,.45)}
/* Admin-Tab Touren: Tour-Liste (1:1 Prototyp) */
:root[data-ui="utic"] .tour-list{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
:root[data-ui="utic"] .tour-row{display:grid;grid-template-columns:1.6fr 1.2fr 96px auto;gap:12px;align-items:center;padding:13px 16px;background:var(--card);border-top:1px solid var(--line-soft)}
:root[data-ui="utic"] .tour-row:first-child{border-top:0}
:root[data-ui="utic"] .tour-name{display:flex;align-items:center;gap:11px;font-size:14px;font-weight:500}
:root[data-ui="utic"] .tour-dot{width:12px;height:12px;border-radius:3px;flex:0 0 auto}
:root[data-ui="utic"] .tour-range{font-size:12.5px;color:var(--dim)}
:root[data-ui="utic"] .tour-shows{font-size:12.5px;color:var(--dim);font-variant-numeric:tabular-nums}
:root[data-ui="utic"] .tour-edit{justify-self:end;background:none;border:1px solid var(--line);border-radius:var(--r);color:var(--faint);display:inline-flex;padding:6px 8px;cursor:pointer}
:root[data-ui="utic"] .tour-edit:hover{color:var(--lime);border-color:rgba(120,208,0,.4)}
:root[data-ui="utic"] .prot-list{display:flex;flex-direction:column;gap:2px}
:root[data-ui="utic"] .prot-row{display:flex;align-items:flex-start;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line-soft)}
:root[data-ui="utic"] .prot-row:last-child{border-bottom:0}
:root[data-ui="utic"] .prot-ic{width:30px;height:30px;border-radius:8px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:var(--card-2);border:1px solid var(--line);color:var(--dim)}
:root[data-ui="utic"] .prot-ic.aenderung{color:var(--info)}
:root[data-ui="utic"] .prot-ic.kommentar{color:var(--lime)}
:root[data-ui="utic"] .prot-ic.freigabe{color:var(--lime)}
:root[data-ui="utic"] .prot-ic.versand{color:var(--warn)}
:root[data-ui="utic"] .prot-main{flex:1;min-width:0}
:root[data-ui="utic"] .prot-txt{font-size:13.5px;color:var(--txt)}
:root[data-ui="utic"] .prot-txt b{font-weight:600}
:root[data-ui="utic"] .prot-tg{font-size:12px;color:var(--faint);margin-top:2px}
:root[data-ui="utic"] .prot-time{font-size:11.5px;color:var(--faint);flex:0 0 auto;white-space:nowrap;padding-top:2px}
:root[data-ui="utic"] .ml-row{display:flex;align-items:center;gap:13px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 15px;margin-bottom:9px}
:root[data-ui="utic"] .ml-ic{width:36px;height:36px;border-radius:9px;background:var(--card-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--lime);flex:0 0 auto}
:root[data-ui="utic"] .ml-main{flex:1;min-width:0}
:root[data-ui="utic"] .ml-subj{font-size:14px;font-weight:500;color:var(--txt)}
:root[data-ui="utic"] .ml-meta{font-size:12px;color:var(--dim);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:root[data-ui="utic"] .trash-list{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}
:root[data-ui="utic"] .trash-row{display:flex;align-items:center;gap:13px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 15px}
:root[data-ui="utic"] .trash-ic{width:34px;height:34px;border-radius:9px;background:var(--card-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--dim);flex:0 0 auto}
:root[data-ui="utic"] .trash-main{flex:1;min-width:0}
:root[data-ui="utic"] .trash-t{font-size:13.5px;font-weight:500;color:var(--txt)}
:root[data-ui="utic"] .trash-m{font-size:12px;color:var(--faint);margin-top:2px}
:root[data-ui="utic"] .trash-days{color:var(--warn)}
:root[data-ui="utic"] .trash-acts{display:flex;gap:8px;flex:0 0 auto}
:root[data-ui="utic"] .trash-btn{background:none;border:1px solid var(--line);border-radius:var(--r);color:var(--dim);font-size:12.5px;padding:6px 11px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;cursor:pointer;font-family:inherit}
:root[data-ui="utic"] .trash-btn.restore:hover{color:var(--lime);border-color:rgba(120,208,0,.45)}
:root[data-ui="utic"] .trash-btn.purge:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}
:root[data-ui="utic"] .trash-empty{color:var(--faint);font-size:13px;padding:10px 2px}
@media(max-width:640px){:root[data-ui="utic"] .trash-row{flex-wrap:wrap}:root[data-ui="utic"] .trash-acts{width:100%}}

/* ============================================================================
   Band — Tagesliste (s-band) — 1:1 Prototyp
   ============================================================================ */
:root[data-ui="utic"] .band-day{display:flex;align-items:center;gap:15px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:13px 16px;cursor:pointer;transition:border-color .12s,background .12s;margin-bottom:9px}
:root[data-ui="utic"] .band-day:hover{border-color:rgba(120,208,0,.4);background:var(--card-2)}
:root[data-ui="utic"] .bd-date{flex:0 0 auto;width:52px;text-align:center;line-height:1}
:root[data-ui="utic"] .bd-date .d{font-size:22px;font-weight:700;color:var(--txt)}
:root[data-ui="utic"] .bd-date .m{font-size:11px;color:var(--faint);text-transform:uppercase;letter-spacing:.06em;margin-top:3px}
:root[data-ui="utic"] .bd-date .wd{font-size:10.5px;color:var(--dim);margin-top:2px}
/* Jahr der Show deutlich sichtbar (sonst sieht man in der Band-Liste nicht,
   in welchem Jahr der Termin liegt). */
:root[data-ui="utic"] .bd-date .bd-year{font-size:11px;font-weight:700;color:var(--lime);margin-top:4px;letter-spacing:.04em}
:root[data-ui="utic"] .bd-sep{width:1px;align-self:stretch;background:var(--line);flex:0 0 auto}
:root[data-ui="utic"] .bd-main{flex:1;min-width:0}
:root[data-ui="utic"] .bd-city{font-size:15px;font-weight:600;color:var(--txt)}
:root[data-ui="utic"] .bd-venue{font-size:12.5px;color:var(--faint);margin-top:2px}
:root[data-ui="utic"] .bd-times{font-size:12px;color:var(--dim);margin-top:7px;display:flex;flex-wrap:wrap;gap:5px 14px}
:root[data-ui="utic"] .bd-times b{color:var(--fg);font-weight:500}
:root[data-ui="utic"] .bd-right{flex:0 0 auto;display:flex;align-items:center;gap:12px}
:root[data-ui="utic"] .bd-chip{display:inline-flex;align-items:center;font-size:11.5px;font-weight:500;padding:5px 11px;border-radius:var(--r);border:1px solid transparent;background:rgba(120,208,0,.16);color:var(--lime);white-space:nowrap}
:root[data-ui="utic"] .bd-chip.travel{background:rgba(74,163,255,.16);color:var(--info)}
:root[data-ui="utic"][data-theme="light"] .bd-chip{color:#3f6b00}
:root[data-ui="utic"][data-theme="light"] .bd-chip.travel{color:#1f6fd0}
:root[data-ui="utic"] .bd-chev{color:var(--faint);display:inline-flex}
@media(max-width:640px){:root[data-ui="utic"] .band-day{flex-wrap:wrap}:root[data-ui="utic"] .bd-sep{display:none}}

/* ============================================================================
   Travel Agency — Reisende mit Legs (s-travel) — 1:1 Prototyp
   ============================================================================ */
:root[data-ui="utic"] .tv-list{display:flex;flex-direction:column;gap:12px}
:root[data-ui="utic"] .tv-person{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
:root[data-ui="utic"] .tv-p-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
:root[data-ui="utic"] .tv-av{width:32px;height:32px;border-radius:50%;background:var(--card-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--dim);flex:0 0 auto}
:root[data-ui="utic"] .tv-p-name{font-size:14px;font-weight:600;color:var(--txt)}
:root[data-ui="utic"] .tv-p-role{font-size:11.5px;color:var(--faint)}
:root[data-ui="utic"] .tv-legs{display:flex;flex-direction:column;gap:8px}
:root[data-ui="utic"] .tv-addseg{margin-top:2px;background:none;border:1px dashed var(--line);border-radius:var(--r);color:var(--dim);cursor:pointer;padding:9px;font:inherit;font-size:12.5px;text-align:center}
:root[data-ui="utic"] .tv-addseg:hover{border-color:rgba(120,208,0,.5);color:var(--fg)}
:root[data-ui="utic"] .tv-leg{display:flex;align-items:center;gap:12px;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:9px 12px}
:root[data-ui="utic"] .tv-leg:hover{border-color:rgba(120,208,0,.4)}
:root[data-ui="utic"] .tv-mode{width:30px;height:30px;border-radius:8px;background:var(--card);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--dim);flex:0 0 auto}
:root[data-ui="utic"] .tv-leg-main{flex:1;min-width:0;cursor:pointer}
:root[data-ui="utic"] .tv-dir{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}
:root[data-ui="utic"] .tv-route{font-size:13.5px;font-weight:500;margin-top:1px;color:var(--txt)}
:root[data-ui="utic"] .tv-sub{font-size:12px;color:var(--faint);margin-top:2px}
:root[data-ui="utic"] .tv-sub .ref{color:var(--dim)}
:root[data-ui="utic"] .tv-leg .pill{flex:0 0 auto}
:root[data-ui="utic"] .tv-p-acts{margin-left:auto;display:inline-flex;gap:8px}
:root[data-ui="utic"] .tv-p-acts .btn{font-size:12px;padding:6px 10px}
:root[data-ui="utic"] .tv-fl,:root[data-ui="utic"] .tv-editbtn,:root[data-ui="utic"] .tv-act{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;background:var(--card);border:1px solid var(--line);color:var(--dim);border-radius:var(--r);padding:6px 10px;font:inherit;font-size:11.5px;cursor:pointer;white-space:nowrap}
:root[data-ui="utic"] .tv-editbtn:hover{color:var(--lime);border-color:color-mix(in srgb,var(--lime) 40%,var(--line))}
:root[data-ui="utic"] .tv-fl{color:var(--info);border-color:color-mix(in srgb,var(--info) 30%,var(--line))}
:root[data-ui="utic"] .tv-fl:hover{color:var(--info);border-color:var(--info)}
:root[data-ui="utic"] .tv-act:hover{color:var(--lime);border-color:color-mix(in srgb,var(--lime) 40%,var(--line))}
:root[data-ui="utic"] .tv-leg{flex-wrap:wrap}
/* Live-Flugstatus (Gate/Terminal/Verspätung) — Travel-Seite & Show-Editor */
:root[data-ui="utic"] .fl-live{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}
:root[data-ui="utic"] .fl-live-gate{font-size:12px;color:var(--dim)}
:root[data-ui="utic"] .fl-live-rev{font-size:12px;color:var(--warn)}
:root[data-ui="utic"] .fl-live-at{font-size:11px;color:var(--faint)}
:root[data-ui="utic"] .flight-live-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px}
:root[data-ui="utic"] .tv-info-panel{background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:10px 13px;margin-bottom:12px}

/* ============================================================================
   Bag Tags — s-bagtags (Viewbar + Liste) — 1:1 Prototyp
   ============================================================================ */
:root[data-ui="utic"] .bag-viewbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;align-items:center}
:root[data-ui="utic"] .bag-vchip{background:var(--card);border:1px solid var(--line);color:var(--dim);border-radius:var(--r);padding:7px 12px;font-size:12.5px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font:inherit}
:root[data-ui="utic"] .bag-vchip:hover{color:var(--txt);border-color:#4a4d50}
:root[data-ui="utic"] .bag-vchip.on{color:var(--lime);border-color:rgba(120,208,0,.45);background:rgba(120,208,0,.1)}
:root[data-ui="utic"] .bag-vchip .n{color:var(--faint);font-variant-numeric:tabular-nums}
:root[data-ui="utic"] .bag-vchip.on .n{color:var(--lime)}
:root[data-ui="utic"] .bag-vsave{background:none;border:1px dashed var(--line);color:var(--dim);border-radius:var(--r);padding:7px 12px;font-size:12.5px;cursor:pointer;font:inherit;display:inline-flex;align-items:center;gap:6px}
:root[data-ui="utic"] .bag-vsave:hover{color:var(--lime);border-color:color-mix(in srgb,var(--lime) 45%,var(--line))}
:root[data-ui="utic"] .bag-head,:root[data-ui="utic"] .bag-row{display:grid;grid-template-columns:96px 1.6fr 1.2fr 78px 96px auto;gap:12px;align-items:center;padding:11px 15px}
:root[data-ui="utic"] .bag-head{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);padding-bottom:6px}
:root[data-ui="utic"] .bag-list{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
:root[data-ui="utic"] .bag-row{background:var(--card);border-top:1px solid var(--line-soft);cursor:pointer}
:root[data-ui="utic"] .bag-row:first-child{border-top:0}
:root[data-ui="utic"] .bag-row:hover{background:var(--card-2)}
:root[data-ui="utic"] .bag-tag{font-variant-numeric:tabular-nums;font-weight:500;font-size:11.5px;color:var(--lime);background:rgba(120,208,0,.11);border:1px solid rgba(120,208,0,.4);border-radius:var(--r);padding:5px 11px;text-align:center}
:root[data-ui="utic"] .bag-content{font-size:13.5px;min-width:0;color:var(--txt)}
:root[data-ui="utic"] .bag-person{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:#d6d8da;min-width:0}
:root[data-ui="utic"][data-theme="light"] .bag-person{color:var(--dim)}
:root[data-ui="utic"] .bag-pav{width:24px;height:24px;border-radius:50%;background:var(--card-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:var(--lime);flex:0 0 auto}
:root[data-ui="utic"] .bag-person.none{color:var(--faint)}
:root[data-ui="utic"] .bag-kg,:root[data-ui="utic"] .bag-val{font-size:12.5px;color:var(--dim);font-variant-numeric:tabular-nums;text-align:right}
:root[data-ui="utic"] .bag-edit{justify-self:end;background:none;border:1px solid var(--line);border-radius:var(--r);color:var(--faint);display:inline-flex;padding:6px 8px;cursor:pointer}
:root[data-ui="utic"] .bag-edit:hover{color:var(--lime);border-color:rgba(120,208,0,.4)}
@media(max-width:900px){:root[data-ui="utic"] .bag-head{display:none}:root[data-ui="utic"] .bag-row{grid-template-columns:84px 1fr auto;row-gap:6px}:root[data-ui="utic"] .bag-person,:root[data-ui="utic"] .bag-kg,:root[data-ui="utic"] .bag-val{grid-column:2}}

/* ============================================================================
   Verwaltung · Branding — Logo-/PDF-Karten — 1:1 Prototyp
   ============================================================================ */
:root[data-ui="utic"] .brand-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
:root[data-ui="utic"] .brand-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px}
:root[data-ui="utic"] .brand-h{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;margin-bottom:12px;color:var(--txt)}
:root[data-ui="utic"] .brand-h svg{color:var(--dim)}
:root[data-ui="utic"] .brand-prev{height:120px;border-radius:var(--r);background:var(--card-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:11px}
:root[data-ui="utic"] .brand-prev img{max-width:70%;max-height:70%}
:root[data-ui="utic"] .brand-prev.pdf{background:repeating-linear-gradient(135deg,#2a2c2e 0 10px,#26282a 10px 20px)}
:root[data-ui="utic"] .brand-pdf-ph{font-size:12px;color:var(--faint)}
:root[data-ui="utic"] .brand-prev.has img{max-width:78%}
:root[data-ui="utic"] .brand-prev.light{background:#fff;border-color:#e3e3e3}
:root[data-ui="utic"] .brand-drop{border:1.5px dashed var(--line);border-radius:var(--r);background:var(--card-2);padding:16px 12px;text-align:center;color:var(--dim);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:12.5px;transition:border-color .12s,color .12s;font:inherit}
:root[data-ui="utic"] .brand-drop:hover{border-color:rgba(120,208,0,.5);color:var(--fg)}
:root[data-ui="utic"] .brand-drop:hover svg{color:var(--lime)}
:root[data-ui="utic"] .brand-drop svg{color:var(--faint)}
:root[data-ui="utic"] .brand-hint{font-size:11.5px;color:var(--faint);margin-top:9px}
@media(max-width:640px){:root[data-ui="utic"] .brand-grid{grid-template-columns:1fr}}
:root[data-ui="utic"] .se-note{display:flex;align-items:flex-start;gap:9px;background:rgba(120,208,0,.08);border:1px solid rgba(120,208,0,.28);border-radius:var(--r);padding:11px 13px;font-size:12.5px;color:#cde6a3;margin:2px 0 12px}
:root[data-ui="utic"] .se-note b{color:#fff}
:root[data-ui="utic"] .brand-tourlogo-note{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
:root[data-ui="utic"] .brand-tourlogo-note .btln-main{display:flex;align-items:flex-start;gap:11px;min-width:0}
:root[data-ui="utic"] .brand-tourlogo-note .btln-t{font-size:13.5px;font-weight:500;color:var(--txt)}
:root[data-ui="utic"] .brand-tourlogo-note .btln-s{font-size:12.5px;color:var(--dim);margin-top:3px;max-width:560px}
:root[data-ui="utic"] .brand-tourlogo-note .btn{flex:0 0 auto}
:root[data-ui="utic"][data-theme="light"] .se-note{color:#3f6b00}
:root[data-ui="utic"][data-theme="light"] .se-note b{color:var(--txt)}
:root[data-ui="utic"] .brand-del{margin-top:9px;background:none;border:1px solid var(--line);border-radius:var(--r);color:var(--faint);font-size:12px;padding:6px 11px;cursor:pointer;font:inherit}
:root[data-ui="utic"] .brand-del:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}

/* ============================================================================
   Verwaltung · Import — Dropzone/Preview — 1:1 Prototyp (Live: Excel-Shows)
   ============================================================================ */
:root[data-ui="utic"] .imp-kind{display:flex;align-items:center;gap:14px;margin:2px 0 16px}
:root[data-ui="utic"] .imp-kind-lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
:root[data-ui="utic"] .imp-drop{border:1.5px dashed var(--line);border-radius:12px;background:var(--card-2);padding:34px 20px;text-align:center;color:var(--dim);cursor:pointer;transition:border-color .12s,background .12s}
:root[data-ui="utic"] .imp-drop:hover{border-color:rgba(120,208,0,.5);background:var(--card);color:var(--fg)}
:root[data-ui="utic"] .imp-drop svg{color:var(--faint);margin-bottom:10px}
:root[data-ui="utic"] .imp-drop:hover svg{color:var(--lime)}
:root[data-ui="utic"] .imp-drop-t{font-size:14px;font-weight:500;color:var(--fg)}
:root[data-ui="utic"] .imp-link{color:var(--lime);text-decoration:underline;text-underline-offset:2px}
:root[data-ui="utic"] .imp-drop-m{font-size:12px;color:var(--faint);margin-top:5px}
:root[data-ui="utic"] .imp-file{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:11px 14px;margin-bottom:14px}
:root[data-ui="utic"] .imp-file-ic{width:36px;height:36px;border-radius:9px;background:rgba(120,208,0,.12);border:1px solid rgba(120,208,0,.3);display:flex;align-items:center;justify-content:center;color:var(--lime);flex:0 0 auto}
:root[data-ui="utic"] .imp-file-main{flex:1;min-width:0}
:root[data-ui="utic"] .imp-file-t{font-size:13.5px;font-weight:500;color:var(--txt)}
:root[data-ui="utic"] .imp-file-m{font-size:12px;color:var(--faint);margin-top:2px}
:root[data-ui="utic"] .imp-file-x{background:none;border:1px solid var(--line);border-radius:var(--r);color:var(--dim);font-size:12.5px;padding:6px 11px;white-space:nowrap;cursor:pointer;font:inherit}
:root[data-ui="utic"] .imp-file-x:hover{color:var(--fg);border-color:var(--dim)}
:root[data-ui="utic"] .imp-badge{display:inline-flex;align-items:center;font-size:11.5px;font-weight:500;padding:5px 11px;border-radius:var(--r);border:1px solid transparent;white-space:nowrap}
:root[data-ui="utic"] .imp-badge.neu{background:rgba(120,208,0,.16);color:var(--lime)}
:root[data-ui="utic"] .imp-badge.dup{background:rgba(245,165,36,.16);color:var(--warn)}
:root[data-ui="utic"] .imp-badge.err{background:rgba(239,90,90,.16);color:var(--danger)}
:root[data-ui="utic"] .imp-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;flex-wrap:wrap}
:root[data-ui="utic"] .imp-legend{display:flex;gap:8px;align-items:center}
:root[data-ui="utic"] .imp-done{text-align:center;padding:38px 20px;background:var(--card);border:1px solid var(--line);border-radius:12px}
:root[data-ui="utic"] .imp-done-ic{width:52px;height:52px;border-radius:50%;background:rgba(120,208,0,.14);border:1px solid rgba(120,208,0,.35);color:var(--lime);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
:root[data-ui="utic"] .imp-done-t{font-size:17px;font-weight:600;color:var(--txt)}
:root[data-ui="utic"] .imp-done-m{font-size:13px;color:var(--faint);margin:6px 0 18px}

/* ============================================================================
   Show-Detail · Anreise/Reise: hartkodiertes Mint-Grün (#35d07f) auf das
   Prototyp-/App-Lime angleichen. Abreise-Orange bleibt (entspricht --warn).
   ============================================================================ */
:root[data-ui="utic"] .anreise-dir-badge.dir-anreise,
:root[data-ui="utic"] .anreise-avatar-anreise,
:root[data-ui="utic"] .anreise-dir-toggle .dir-opt.dir-anreise.active,
:root[data-ui="utic"] .leg-dir-chip.leg-dir-anreise,
:root[data-ui="utic"] .btn.dir-btn-anreise { color: var(--lime); }
:root[data-ui="utic"] .anreise-avatar-anreise { background: rgba(120,208,0,.16); }
:root[data-ui="utic"] .anreise-dir-badge.dir-anreise { background: rgba(120,208,0,.12); }
:root[data-ui="utic"] .leg-dir-chip.leg-dir-anreise { background: rgba(120,208,0,.14); }
:root[data-ui="utic"] .btn.dir-btn-anreise { border-color: color-mix(in srgb,var(--lime) 40%,transparent); background: rgba(120,208,0,.12); }
:root[data-ui="utic"] .btn.dir-btn-anreise:hover { background: rgba(120,208,0,.2); border-color: var(--lime); }
:root[data-ui="utic"] .btn.new-person-btn { background: var(--lime); border-color: var(--lime); color: var(--lime-ink); }

/* Show-Detail: Task-Karten flach & deckend (Prototyp), keine Transluzenz. */
:root[data-ui="utic"] .task-card { background: var(--card); }

/* ============================================================================
   Show-Detail · Ansprechpartner — Kontaktkarten (.c) 1:1 Prototyp
   ============================================================================ */
:root[data-ui="utic"] .grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
:root[data-ui="utic"] .c-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
:root[data-ui="utic"] .c-role{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--lime)}
:root[data-ui="utic"] .c-name{font-size:17px;font-weight:500;margin-top:4px;color:var(--txt)}
:root[data-ui="utic"] .c-org{font-size:12.5px;color:var(--dim);margin-top:2px}
:root[data-ui="utic"] .c-rows{display:flex;flex-direction:column;gap:9px}
:root[data-ui="utic"] .c-row{display:flex;align-items:center;gap:10px;font-size:13.5px;color:#d6d8da}
:root[data-ui="utic"][data-theme="light"] .c-row{color:var(--txt)}
:root[data-ui="utic"] .c-row svg{color:var(--faint);flex:0 0 auto}
:root[data-ui="utic"] .c-row a{color:inherit;text-decoration:none}
:root[data-ui="utic"] .c-row a:hover{color:var(--lime)}
:root[data-ui="utic"] .c-edit{flex:0 0 auto;background:none;border:1px solid var(--line);border-radius:6px;color:var(--dim);font-size:11.5px;padding:5px 10px;display:inline-flex;align-items:center;gap:5px;cursor:pointer;font:inherit}
:root[data-ui="utic"] .c-edit:hover{color:var(--lime);border-color:rgba(120,208,0,.45)}
:root[data-ui="utic"] .kontakt-card{cursor:pointer;transition:border-color .12s,background .12s}
:root[data-ui="utic"] .kontakt-card:hover{border-color:rgba(120,208,0,.4);background:var(--card-2)}
@media(max-width:720px){:root[data-ui="utic"] .grid2{grid-template-columns:1fr}}

/* ============================================================================
   Show-Detail · Hotel & Verpflegung — Unterkunft-/Info-Karten (.c) 1:1 Prototyp
   ============================================================================ */
:root[data-ui="utic"] .bd-link{display:inline-flex;align-items:center;gap:4px;color:var(--lime);text-decoration:none}
:root[data-ui="utic"] .bd-link:hover{text-decoration:underline}
:root[data-ui="utic"] .c-rooms{margin-top:11px;border-top:1px solid var(--line-soft);padding-top:11px;display:flex;flex-direction:column;gap:7px}
:root[data-ui="utic"] .c-room{display:flex;justify-content:space-between;gap:12px;font-size:12.8px}
:root[data-ui="utic"] .c-room-t{color:var(--dim);flex:0 0 auto}
:root[data-ui="utic"] .c-room-p{color:var(--fg);text-align:right}
:root[data-ui="utic"] .ava{width:40px;height:40px;border-radius:var(--r);background:var(--card-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:var(--lime);flex:0 0 auto}
:root[data-ui="utic"] .ho-addr-row{display:flex;gap:8px;align-items:stretch}
:root[data-ui="utic"] .ho-addr-row input{flex:1;min-width:0}
:root[data-ui="utic"] .ho-addr-row #hoNav{flex:0 0 auto;white-space:nowrap}
:root[data-ui="utic"] .hotel-nav{display:inline-flex;align-items:center;gap:3px;color:var(--info);text-decoration:none;font-size:12px;font-weight:500;margin-left:auto;flex:0 0 auto}
:root[data-ui="utic"] .hotel-nav:hover{text-decoration:underline}
:root[data-ui="utic"] .he-room{display:flex;gap:8px;margin-bottom:8px}
:root[data-ui="utic"] .he-room input{flex:1;min-width:0}
:root[data-ui="utic"] .he-room .he-r-del{flex:0 0 auto;background:none;border:1px solid var(--line);border-radius:var(--r);color:var(--faint);cursor:pointer;padding:0 10px}
:root[data-ui="utic"] .he-room .he-r-del:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}

/* ============================================================================
   Band · Tagesdetail (Show im Band-Modul) — s-bandday 1:1 Prototyp
   ============================================================================ */
:root[data-ui="utic"] .bdh{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;display:flex;align-items:center;gap:18px;margin-bottom:20px}
:root[data-ui="utic"] .bdh-date{flex:0 0 auto;text-align:center;line-height:1}
:root[data-ui="utic"] .bdh-date .d{font-size:34px;font-weight:700;color:var(--txt)}
:root[data-ui="utic"] .bdh-date .m{font-size:12px;color:var(--faint);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}
:root[data-ui="utic"] .bdh-main{flex:1;min-width:0}
:root[data-ui="utic"] .bdh-city{font-size:22px;font-weight:600;color:var(--txt)}
:root[data-ui="utic"] .bdh-sub{font-size:13px;color:var(--faint);margin-top:3px}
:root[data-ui="utic"] a.bdh-sub-link{display:inline-flex;align-items:center;gap:4px;color:var(--dim);text-decoration:none}
:root[data-ui="utic"] a.bdh-sub-link svg{color:var(--lime);flex:0 0 auto}
:root[data-ui="utic"] a.bdh-sub-link:hover{color:var(--txt);text-decoration:underline}
:root[data-ui="utic"] .bdh-tour{display:inline-block;font-size:11.5px;color:var(--dim);background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:2px 10px}
/* Band-Kopf im Stil der Listen-Zeile: Datumsblock (d/m/wd/Jahr), Show-Zeit,
   Typ-Chip rechts, Zuständige direkt darunter. */
:root[data-ui="utic"] .bdh .bd-date{width:56px}
:root[data-ui="utic"] .bdh .bd-date .d{font-size:26px}
:root[data-ui="utic"] .bdh-right{flex:0 0 auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
:root[data-ui="utic"] .bdh-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 14px;margin-top:9px}
:root[data-ui="utic"] .bdh-show{font-size:12.5px;color:var(--dim)}
:root[data-ui="utic"] .bdh-show b{color:var(--txt);font-weight:600}
:root[data-ui="utic"] .bdh-resp{font-size:12.5px;color:var(--dim)}
:root[data-ui="utic"] .bdh-resp-r{color:var(--faint);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;margin-right:3px}
:root[data-ui="utic"] .bdh-resp a.lime{color:var(--lime);text-decoration:none}
@media(max-width:640px){:root[data-ui="utic"] .bdh{flex-wrap:wrap}:root[data-ui="utic"] .bdh .bd-sep{display:none}:root[data-ui="utic"] .bdh-right{width:100%;justify-content:flex-start;margin-top:10px}}
:root[data-ui="utic"] .bd-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:start}
:root[data-ui="utic"] .tl{position:relative;padding-left:6px}
:root[data-ui="utic"] .tl-row{display:flex;gap:14px;padding:0 0 2px}
:root[data-ui="utic"] .tl-time{flex:0 0 auto;width:52px;text-align:right;font-size:13px;font-weight:600;color:var(--fg);padding-top:9px}
:root[data-ui="utic"] .tl-mid{flex:0 0 12px;width:12px;display:flex;flex-direction:column;align-items:center}
:root[data-ui="utic"] .tl-dot{position:static;left:auto;top:auto;box-shadow:none;width:11px;height:11px;border-radius:50%;background:var(--card-2);border:2px solid #4a4d51;margin-top:11px;flex:0 0 auto}
:root[data-ui="utic"] .tl-row.hi .tl-dot{background:var(--lime);border-color:var(--lime)}
:root[data-ui="utic"] .tl-line{flex:1;width:2px;background:var(--line);margin:2px 0 0}
:root[data-ui="utic"] .tl-row:last-child .tl-line{display:none}
:root[data-ui="utic"] .tl-body{flex:1;min-width:0;padding:7px 0 14px}
:root[data-ui="utic"] .tl-label{font-size:13.5px;font-weight:500;color:var(--txt)}
:root[data-ui="utic"] .tl-row.hi .tl-label{color:var(--lime)}
:root[data-ui="utic"] .tl-note{font-size:12px;color:var(--faint);margin-top:2px}
:root[data-ui="utic"] .bd-cards{display:flex;flex-direction:column;gap:12px}
:root[data-ui="utic"] .bd-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:13px 15px}
:root[data-ui="utic"] .bd-card-h{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}
:root[data-ui="utic"] .bd-card-h svg{color:var(--dim)}
:root[data-ui="utic"] .bd-selfservice{margin-top:24px}
:root[data-ui="utic"] .bd-ss-sub{color:var(--dim);font-size:13px;margin:2px 0 12px;max-width:620px}
:root[data-ui="utic"] .bd-ss-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
:root[data-ui="utic"] .bd-ss-quota{margin-left:auto;color:var(--dim);font-size:11px;letter-spacing:0;text-transform:none;font-weight:600}
@media (max-width:760px){:root[data-ui="utic"] .bd-ss-grid{grid-template-columns:1fr}}
/* Floating-Label-Variante für Felder mit immer sichtbarem Inhalt/Platzhalter
   (Select, Datum): Label bleibt dauerhaft oben. */
:root[data-ui="utic"] .bp-add .fl-fixed{flex:1 1 140px}
:root[data-ui="utic"] .fl-fixed > .fl-lbl{top:5px;transform:none;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
:root[data-ui="utic"] .fl-fixed > input,:root[data-ui="utic"] .fl-fixed > select{width:100%;padding:16px 11px 4px;cursor:pointer}
:root[data-ui="utic"] .fl-fixed > select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239a9d9f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}
:root[data-ui="utic"] .bs-from-wrap,:root[data-ui="utic"] .bs-to-wrap{position:relative}
:root[data-ui="utic"] .bs-fav-dd{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.4);padding:4px;display:flex;flex-direction:column;gap:1px;max-height:210px;overflow-y:auto}
:root[data-ui="utic"] .bs-fav-dd[hidden]{display:none}
:root[data-ui="utic"] .bs-fav-opt{display:flex;align-items:center;gap:7px;text-align:left;background:none;border:none;color:var(--txt);font:inherit;font-size:13px;padding:7px 10px;border-radius:6px;cursor:pointer}
:root[data-ui="utic"] .bs-fav-opt svg{color:var(--lime);flex:0 0 auto}
:root[data-ui="utic"] .bs-fav-opt:hover{background:var(--card-2)}
:root[data-ui="utic"] .bs-fav-opt[hidden]{display:none}
:root[data-ui="utic"] .bd-legs{display:flex;flex-direction:column;gap:4px;align-items:flex-end}
:root[data-ui="utic"] .bd-leg{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
:root[data-ui="utic"] .bd-ticket{display:inline-flex;align-items:center;gap:4px;color:var(--lime);text-decoration:none;font-size:12px;white-space:nowrap}
:root[data-ui="utic"] .bd-ticket svg{flex:0 0 auto}
:root[data-ui="utic"] .bd-ticket:hover{text-decoration:underline}
:root[data-ui="utic"] .bd-maplink{display:inline-flex;align-items:center;gap:5px;margin-top:9px;font-size:12.5px;color:var(--lime);text-decoration:none}
:root[data-ui="utic"] .bd-maplink:hover{text-decoration:underline}
:root[data-ui="utic"] .bp-item.is-editing{border-color:color-mix(in srgb,var(--lime) 55%,var(--line))}
:root[data-ui="utic"] .bd-kv{display:flex;justify-content:space-between;gap:12px;font-size:12.8px;padding:3px 0}
:root[data-ui="utic"] .bd-kv .k{color:var(--faint);flex:0 0 auto}
:root[data-ui="utic"] .bd-kv .v{color:var(--fg);text-align:right}
:root[data-ui="utic"] .bd-kv .v a,:root[data-ui="utic"] .bd-kv .v.lime{color:var(--lime)}
:root[data-ui="utic"] .bd-rooms{margin-top:10px;border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column;gap:7px}
:root[data-ui="utic"] .bd-room{display:flex;justify-content:space-between;gap:12px;font-size:12.5px}
:root[data-ui="utic"] .bd-room-t{color:var(--dim);flex:0 0 auto}
:root[data-ui="utic"] .bd-room-p{color:var(--fg);text-align:right}
@media(max-width:760px){:root[data-ui="utic"] .bd-grid{grid-template-columns:1fr}}

/* ============================================================================
   Shows-Seite · Feinabgleich Prototyp
   ============================================================================ */
/* „Mehrere bearbeiten" + „Favoriten" als chipbtn (Prototyp) statt .btn secondary. */
:root[data-ui="utic"] #bulkEditToggleBtn,
:root[data-ui="utic"] #favFilterBtn {
  background: var(--card); border: 1px solid var(--line); color: var(--dim);
  border-radius: var(--r); padding: 8px 13px; font-size: 13px; font-weight: 500;
  display: inline-flex; align-items: center; gap: 7px;
}
:root[data-ui="utic"] #bulkEditToggleBtn:hover,
:root[data-ui="utic"] #favFilterBtn:hover { color: var(--txt); border-color: #4a4d50; }
:root[data-ui="utic"] #favFilterBtn.is-active,
:root[data-ui="utic"] #bulkEditToggleBtn.is-active {
  color: var(--lime); border-color: rgba(120,208,0,.4); background: rgba(120,208,0,.1);
}
/* Reminder-Banner (Reisedaten/Spesen) gibt es im Prototyp nicht → ausblenden,
   damit die Positionen 1:1 stimmen. */
:root[data-ui="utic"] .profile-reminder-banner { display: none !important; }

/* ============================================================================
   App-Fußzeile · Prototyp-Links (Login-Ansicht/Einladung/Betreiber-Konsole/
   Band-Portal) — nur im UTIC-View.
   ============================================================================ */
.app-footer .note-links { display: none; }
:root[data-ui="utic"] .app-footer { flex-direction: column; gap: 8px; }
:root[data-ui="utic"] .app-footer .note-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; margin-top: 4px; }
:root[data-ui="utic"] .app-footer .note-lk { background: none; border: 0; color: var(--lime); cursor: pointer; font: inherit; font-size: 12.5px; padding: 0; }
:root[data-ui="utic"] .app-footer .note-lk:hover { text-decoration: underline; }

/* ============================================================================
   Verwaltung · Angebote — off-row-Karten — 1:1 Prototyp
   ============================================================================ */
:root[data-ui="utic"] .ph-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
:root[data-ui="utic"] .off-head,:root[data-ui="utic"] .off-row{display:grid;grid-template-columns:92px 1.5fr 1.4fr 106px 108px;gap:12px;align-items:center;padding:11px 16px}
:root[data-ui="utic"] .off-head{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);padding-bottom:6px}
:root[data-ui="utic"] .off-list{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
:root[data-ui="utic"] .off-row{background:var(--card);border-top:1px solid var(--line-soft);font-size:13px;cursor:pointer}
:root[data-ui="utic"] .off-row:first-child{border-top:0}
:root[data-ui="utic"] .off-row:hover{background:var(--card-2)}
:root[data-ui="utic"] .off-nr{font-variant-numeric:tabular-nums;font-weight:600;color:var(--dim);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:root[data-ui="utic"] .off-kunde{font-size:13.5px;min-width:0;color:var(--txt)}
:root[data-ui="utic"] .off-mail{font-size:12px;color:var(--faint);overflow-wrap:anywhere}
:root[data-ui="utic"] .off-gage{font-variant-numeric:tabular-nums;color:var(--txt);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:root[data-ui="utic"] .off-valid{color:var(--dim);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:820px){
  :root[data-ui="utic"] .off-head{display:none}
  /* Mobile: kompaktes 2-Spalten-Raster – links Datum/Nr. + Kunde, rechts Status + Gage. */
  :root[data-ui="utic"] .off-row{grid-template-columns:1fr auto;column-gap:12px;row-gap:4px;padding:12px 14px}
  :root[data-ui="utic"] .off-nr{grid-column:1;grid-row:1;font-size:12px}
  :root[data-ui="utic"] .off-row>span:nth-child(3){grid-column:2;grid-row:1;justify-self:end}
  :root[data-ui="utic"] .off-kunde{grid-column:1;grid-row:2}
  :root[data-ui="utic"] .off-gage{grid-column:2;grid-row:2;justify-self:end}
  :root[data-ui="utic"] .off-valid{grid-column:1 / -1;grid-row:3;font-size:11.5px}
}

/* ============================================================================
   Show-Detail · Gewerk-Detail (gwd) — 1:1 Prototyp (+ Kommentare/Upload)
   ============================================================================ */
:root[data-ui="utic"] .gwd-back{display:inline-flex;align-items:center;gap:7px;background:none;border:0;color:var(--dim);font-size:13px;padding:0;margin-bottom:14px;cursor:pointer}
:root[data-ui="utic"] .gwd-back:hover{color:var(--txt)}
:root[data-ui="utic"] .gwd-nav{display:flex;flex-wrap:wrap;gap:11px 7px;margin-bottom:16px}
:root[data-ui="utic"] .gwd-nav .pill{cursor:pointer;position:relative}
:root[data-ui="utic"] .gwd-nav .pill:hover{border-color:currentColor}
/* Aktives Gewerk klar markieren: heller + kleiner Strich darunter */
:root[data-ui="utic"] .gwd-nav .pill.sel{box-shadow:0 0 0 1.5px var(--lime);color:var(--txt)}
:root[data-ui="utic"] .gwd-nav .pill.sel::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:-6px;width:58%;height:2.5px;border-radius:2px;background:var(--lime)}
:root[data-ui="utic"] .gwd-head{display:flex;align-items:center;gap:13px;margin-bottom:16px}
:root[data-ui="utic"] .gwd-ic{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--lime);display:flex;align-items:center;justify-content:center;color:var(--lime);flex:0 0 auto}
:root[data-ui="utic"] .gwd-title{font-size:19px;font-weight:500}
:root[data-ui="utic"] .gwd-sum{font-size:12.5px;color:var(--dim);margin-top:2px;display:inline-flex;align-items:center;gap:7px}
:root[data-ui="utic"] .gwd-editbtn{margin-left:auto;flex:0 0 auto}
:root[data-ui="utic"] .gwd-headbtns{margin-left:auto;display:flex;align-items:center;gap:8px;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}
:root[data-ui="utic"] .gwd-headbtns .gwd-editbtn{margin-left:0}
/* Vorlagen-Hinweis an einem Punkt: bestehende Info bleibt, Vorlagen-Wert als
   bernsteinfarbener Hinweis mit „Übernehmen"/Ausblenden. */
:root[data-ui="utic"] .gwd-tplhint{display:flex;align-items:flex-start;gap:8px;margin-top:6px;padding:7px 10px;border:1px solid rgba(245,165,36,.4);background:rgba(245,165,36,.1);border-radius:var(--r);font-size:12.5px;color:var(--txt)}
:root[data-ui="utic"] .gwd-tplhint-ic{color:var(--warn);flex:0 0 auto;margin-top:1px;display:inline-flex}
:root[data-ui="utic"] .gwd-tplhint-main{flex:1;min-width:0;white-space:pre-wrap;word-break:break-word}
:root[data-ui="utic"] .gwd-tplhint-lbl{font-weight:600;color:var(--warn);letter-spacing:.02em;margin-right:4px}
:root[data-ui="utic"] .gwd-tplhint-apply{flex:0 0 auto;background:transparent;border:1px solid rgba(245,165,36,.5);color:var(--warn);border-radius:var(--r);padding:3px 9px;font-size:11.5px;font-weight:500;cursor:pointer;white-space:nowrap}
:root[data-ui="utic"] .gwd-tplhint-apply:hover{background:rgba(245,165,36,.16)}
:root[data-ui="utic"] .gwd-tplhint-x{flex:0 0 auto;background:transparent;border:0;color:var(--faint);font-size:14px;line-height:1;cursor:pointer;padding:2px 4px}
:root[data-ui="utic"] .gwd-tplhint-x:hover{color:var(--txt)}
:root[data-ui="utic"] .gwd-list{display:flex;flex-direction:column;gap:9px}
:root[data-ui="utic"] .gwd-item{display:flex;flex-direction:column;gap:8px}
:root[data-ui="utic"] .gwd-row{display:flex;align-items:flex-start;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 15px}
:root[data-ui="utic"] .gwd-row-click{cursor:pointer;transition:border-color .12s}
:root[data-ui="utic"] .gwd-row-click:hover{border-color:color-mix(in srgb,var(--lime) 45%,transparent)}
/* Rollen & Funktionsgruppen-Editor (Modal) */
:root[data-ui="utic"] .fg-list{display:flex;flex-direction:column;gap:10px}
:root[data-ui="utic"] .fg-card{background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
:root[data-ui="utic"] .fg-card-head{display:flex;align-items:center;justify-content:space-between;font-weight:500;margin-bottom:8px}
:root[data-ui="utic"] .fg-field{margin-top:8px}
:root[data-ui="utic"] .fg-field > label{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin-bottom:4px}
:root[data-ui="utic"] .fg-add-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}
:root[data-ui="utic"] .fg-add-input{flex:1;min-width:180px}
:root[data-ui="utic"] .fg-custom-tag{display:inline-flex;align-items:center;font-size:11.5px;font-weight:500;color:var(--lime);border:1px solid color-mix(in srgb,var(--lime) 40%,transparent);border-radius:var(--r);padding:5px 11px;margin-left:6px;white-space:nowrap}
:root[data-ui="utic"] .pf-save-status.ok{color:var(--lime)}
:root[data-ui="utic"] .pf-save-status.danger{color:#e5484d}
/* AV-Show-Picker: durchsuchbare Show-Liste */
:root[data-ui="utic"] .agrpick-list{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow:auto;margin:2px 0 4px}
:root[data-ui="utic"] .agrpick-item{display:flex;flex-direction:column;gap:2px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:10px 13px;cursor:pointer;color:var(--txt);font:inherit}
:root[data-ui="utic"] .agrpick-item:hover{border-color:color-mix(in srgb,var(--lime) 45%,transparent)}
:root[data-ui="utic"] .agrpick-name{font-size:14px;font-weight:500}
:root[data-ui="utic"] .agrpick-meta{font-size:12px;color:var(--dim)}
:root[data-ui="utic"] .gwd-st{width:22px;height:22px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;margin-top:1px}
:root[data-ui="utic"] .gwd-st.done{background:rgba(120,208,0,.15);color:var(--lime)}
:root[data-ui="utic"] .gwd-st.open{border:1.5px solid #52555a}
:root[data-ui="utic"] .gwd-st.warn{background:rgba(245,165,36,.15);color:var(--warn)}
:root[data-ui="utic"] .gwd-main{flex:1;min-width:0}
:root[data-ui="utic"] .gwd-t{font-size:14px}
:root[data-ui="utic"] .gwd-info{margin-top:3px;font-size:13px;color:var(--txt);white-space:pre-wrap;word-break:break-word}
:root[data-ui="utic"][data-theme="light"] .gwd-info{color:#2b2d2f}
:root[data-ui="utic"] .gwd-sollist{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px;font-size:12px;color:var(--dim)}
:root[data-ui="utic"] .gwd-sollist b{color:#d6d8da;font-weight:500}
:root[data-ui="utic"] .gwd-badge{flex:0 0 auto;font-size:11.5px;font-weight:500;padding:5px 11px;border-radius:var(--r);white-space:nowrap;border:1px solid transparent}
:root[data-ui="utic"] .gwd-badge.done{color:var(--lime);background:rgba(120,208,0,.11);border-color:rgba(120,208,0,.4)}
:root[data-ui="utic"] .gwd-badge.open{color:var(--faint);border-color:var(--line)}
:root[data-ui="utic"] .gwd-badge.warn{color:var(--warn);background:rgba(245,165,36,.1);border-color:rgba(245,165,36,.4)}
:root[data-ui="utic"] .gwd-cmt{flex:0 0 auto;align-self:center;display:inline-flex;align-items:center;gap:5px;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);color:var(--dim);font-size:11.5px;padding:5px 9px;cursor:pointer;transition:color .12s,border-color .12s}
:root[data-ui="utic"] .gwd-cmt:hover{color:var(--txt);border-color:#4a4d50}
:root[data-ui="utic"] .gwd-cmt.has{color:var(--lime);border-color:color-mix(in srgb,var(--lime) 40%,var(--line))}
:root[data-ui="utic"] .gwd-cmt.open{color:var(--lime);border-color:var(--lime)}
:root[data-ui="utic"] .gwd-cmt svg{width:14px;height:14px}
:root[data-ui="utic"] .gwd-delrow{flex:0 0 auto;align-self:center;display:inline-flex;align-items:center;justify-content:center;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);color:var(--faint);padding:5px 8px;cursor:pointer;transition:color .12s,border-color .12s}
:root[data-ui="utic"] .gwd-delrow:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}
:root[data-ui="utic"] .gwd-erow{align-items:center;gap:10px}
:root[data-ui="utic"] .gwd-einp{flex:1;min-width:0;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);color:var(--txt);font:inherit;font-size:13.5px;padding:8px 11px;outline:none}
:root[data-ui="utic"] .gwd-einp:focus{border-color:color-mix(in srgb,var(--lime) 55%,transparent)}
:root[data-ui="utic"] .gwd-stsel{display:inline-flex;gap:4px;flex:0 0 auto}
:root[data-ui="utic"] .gwd-ste{font-size:11px;font-weight:500;padding:5px 9px;border-radius:var(--r);border:1px solid var(--line);background:var(--card-2);color:var(--faint);cursor:pointer;font-family:inherit}
:root[data-ui="utic"] .gwd-ste.on{color:var(--lime);border-color:var(--lime);background:rgba(120,208,0,.11)}
:root[data-ui="utic"] .gwd-ste.on.warn{color:var(--warn);border-color:var(--warn);background:rgba(245,165,36,.11)}
:root[data-ui="utic"] .gwd-ste.on.open{color:var(--txt);border-color:#52555a;background:var(--card)}
:root[data-ui="utic"] .gwd-ste.on.na{color:var(--txt);border-color:#6b6e73;background:var(--card-2)}
:root[data-ui="utic"] .gwd-st.na{background:var(--card-2);border:1.5px solid var(--line);color:var(--faint)}
:root[data-ui="utic"] .gwd-badge.na{color:var(--faint);background:var(--card-2);border-color:var(--line)}
:root[data-ui="utic"] .gwd-drag{display:inline-flex;align-items:center;justify-content:center;color:var(--faint);cursor:grab;flex:0 0 auto;margin:0 -3px;touch-action:none}
:root[data-ui="utic"] .gwd-drag:hover{color:var(--txt)}
:root[data-ui="utic"] .gwd-drag:active{cursor:grabbing}
:root[data-ui="utic"] .gwd-erow.gwd-dragging{opacity:.55;border-color:var(--lime)}
:root[data-ui="utic"] .gwd-del{flex:0 0 auto;width:30px;height:30px;border-radius:var(--r);border:1px solid var(--line);background:var(--card-2);color:var(--faint);cursor:pointer;display:flex;align-items:center;justify-content:center}
:root[data-ui="utic"] .gwd-del:hover{color:#ef6a6a;border-color:color-mix(in srgb,#ef6a6a 45%,var(--line))}
:root[data-ui="utic"] .gwd-selcb{flex:0 0 auto;width:17px;height:17px;accent-color:var(--lime);cursor:pointer;margin:0}
:root[data-ui="utic"] .gwd-erow.sel{border-color:color-mix(in srgb,var(--lime) 55%,transparent);background:color-mix(in srgb,var(--lime) 7%,var(--card))}
:root[data-ui="utic"] .gwd-bulkbar{display:flex;align-items:center;gap:14px;margin:2px 0 9px;padding:8px 12px;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r)}
:root[data-ui="utic"] .gwd-bulkall{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--txt);cursor:pointer}
:root[data-ui="utic"] .gwd-bulkall input{width:17px;height:17px;accent-color:var(--lime);cursor:pointer;margin:0}
:root[data-ui="utic"] .gwd-bulkcount{font-size:12.5px;color:var(--dim);margin-right:auto}
:root[data-ui="utic"] .gwd-bulkdel[disabled]{opacity:.45;cursor:default}
:root[data-ui="utic"] .gwd-add{margin-top:2px;background:none;border:1px dashed var(--line);border-radius:var(--r);color:var(--dim);cursor:pointer;padding:9px;font:inherit;font-size:13px;width:100%}
:root[data-ui="utic"] .gwd-add:hover{border-color:rgba(120,208,0,.5);color:var(--fg)}
:root[data-ui="utic"] .gwd-thread{padding:13px 15px;background:var(--card-2);border:1px solid var(--line);border-radius:var(--r);margin-top:-2px}
:root[data-ui="utic"] .gwd-thread .comments-list{display:flex;flex-direction:column;gap:11px;margin-bottom:10px}
:root[data-ui="utic"] .gwd-thread .comment-item-head{display:flex;align-items:baseline;gap:9px}
:root[data-ui="utic"] .gwd-thread .comment-author{font-size:13px;font-weight:500;color:var(--txt)}
:root[data-ui="utic"] .gwd-thread .comment-time{font-size:11px;color:var(--faint)}
:root[data-ui="utic"] .gwd-thread .comment-text{font-size:13.5px;color:#d6d8da;margin-top:2px;line-height:1.5}
:root[data-ui="utic"] .gwd-thread .comment-text .men,:root[data-ui="utic"] .gwd-thread .comment-text .mention{color:var(--lime);background:rgba(120,208,0,.12);border-radius:6px;padding:0 4px}
:root[data-ui="utic"] .gwd-thread .comment-delete-btn{margin-left:auto;background:none;border:0;color:var(--faint);cursor:pointer;padding:0;line-height:0}
:root[data-ui="utic"] .gwd-thread .comment-delete-btn:hover{color:#ef6a6a}
:root[data-ui="utic"] .gwd-thread .comments-empty{font-size:12.5px;color:var(--faint);padding:2px 0 9px}
:root[data-ui="utic"] .gwd-thread .comment-add-row{display:flex;gap:9px;align-items:flex-start}
:root[data-ui="utic"] .gwd-thread .comment-input{flex:1;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:9px 12px;color:var(--txt);font:inherit;font-size:13.5px;outline:none;resize:vertical}
:root[data-ui="utic"] .gwd-thread .comment-input:focus{border-color:color-mix(in srgb,var(--lime) 55%,transparent)}
:root[data-ui="utic"] .gwd-upload{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}

/* ============================================================================
   Auftrittsvereinbarung · Modal (editierbare Textblöcke + Empfänger)
   Token-basiert, wirkt daher in beiden UI-Modi (Alt-UI + UTIC).
   ============================================================================ */
.agr-modal { max-width: 760px; }
/* Auftrittsvereinbarung — Live-Vorschau + Platzhalter-Hervorhebung (beide UI-Modi). */
.agr-ph { color: var(--brand, #78d000); background: rgba(120,208,0,.15); border-radius: 4px; padding: 0 3px; font-weight: 500; }
.agr-preview { border: 1px solid var(--border); border-radius: var(--radius, 10px); background: var(--bg-panel-2); padding: 16px 18px; max-height: 40vh; overflow: auto; }
.agr-preview .agr-prev-title { font-size: 16px; font-weight: 600; color: var(--text); margin-bottom: 6px; }
.agr-preview .agr-prev-gage { font-size: 13px; color: var(--text-dim); margin-bottom: 12px; }
.agr-preview .agr-prev-block { margin-bottom: 13px; }
.agr-preview .agr-prev-h { font-size: 13.5px; font-weight: 600; color: var(--text); margin-bottom: 3px; }
.agr-preview .agr-prev-text { font-size: 13px; line-height: 1.55; color: var(--text-dim); white-space: normal; }
.agr-preview .agr-prev-empty { font-size: 13px; color: var(--text-mute); }
.agr-sect-h { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--text-dim); margin: 14px 0 8px; }
.agr-recip { margin: 6px 0 4px; }
.agr-recip-row { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.agr-recip-row input { flex: 1; }
.agr-recip-row .agr-recip-name { flex: 0 0 34%; }
.agr-fee-row { display: flex; gap: 12px; }
.agr-fee-row .field:first-child { flex: 1; }
.agr-fee-row .field:last-child { flex: 0 0 110px; }
.agr-contactpick-row { margin-bottom: 8px; }
.agr-contactpick-row select { width: 100%; }
/* Eigene Felder (außerhalb von .field) auf das App-Formularbild bringen. */
.agr-recip-input, .agr-recip-name, .agr-block-h, .agr-block-t, .agr-contactpick-row select {
  width: 100%; background: var(--bg-panel-2); border: 1px solid var(--border); color: var(--text);
  border-radius: 10px; padding: 9px 11px; font-size: 14px; font-family: inherit;
  transition: border-color .15s, box-shadow .15s, background-color .15s;
}
.agr-recip-input:hover:not(:focus), .agr-recip-name:hover:not(:focus), .agr-block-h:hover:not(:focus), .agr-block-t:hover:not(:focus), .agr-contactpick-row select:hover:not(:focus) { border-color: var(--brand-line); }
.agr-recip-input:focus, .agr-recip-name:focus, .agr-block-h:focus, .agr-block-t:focus, .agr-contactpick-row select:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-soft); }
.agr-recip-input::placeholder, .agr-recip-name::placeholder, .agr-block-h::placeholder, .agr-block-t::placeholder { color: var(--text-mute); }
/* Annahme-Nachweis-Panel im Modal. */
.agr-acc-panel { border: 1px solid var(--border); border-radius: 10px; padding: 11px 13px; margin: 0 0 14px; background: var(--bg-panel-2); }
.agr-acc-panel.is-ok { border-color: rgba(120,208,0,.5); }
.agr-acc-panel.is-no { border-color: #e06b6b; }
.agr-acc-head { font-weight: 700; display: flex; align-items: center; gap: 7px; margin-bottom: 4px; }
.agr-acc-panel.is-ok .agr-acc-head { color: var(--accent); }
.agr-acc-panel.is-no .agr-acc-head { color: #e06b6b; }
.agr-acc-meta { font-size: 12.5px; color: var(--text-dim); line-height: 1.5; margin-bottom: 8px; }
:root[data-ui="utic"] .agr-acc-panel { background: var(--card-2); border-color: var(--line); }
:root[data-ui="utic"] .agr-acc-panel.is-ok { border-color: rgba(120,208,0,.5); }
:root[data-ui="utic"] .agr-acc-panel.is-ok .agr-acc-head { color: var(--lime); }
/* Unsere Unterschrift: Auswahl + Aktion. */
.agr-sign-box { border: 1px dashed var(--border); border-radius: 10px; padding: 11px 13px; margin: 0 0 14px; background: var(--bg-panel-2); }
.agr-sign-head { font-weight: 700; margin-bottom: 8px; }
.agr-sign-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 6px; }
.agr-sign-row select { flex: 1 1 180px; min-width: 140px; }
.agr-sign-row input { flex: 1 1 120px; min-width: 110px; }
.agr-sign-hint { font-size: 11.5px; color: var(--text-dim); line-height: 1.45; }
.agr-exec-banner { display: flex; align-items: center; gap: 8px; font-weight: 700; color: var(--accent); background: rgba(120,208,0,.12); border: 1px solid rgba(120,208,0,.5); border-radius: 10px; padding: 9px 13px; margin: 0 0 12px; }
:root[data-ui="utic"] .agr-sign-box { background: var(--card-2); border-color: var(--line); }
:root[data-ui="utic"] .agr-exec-banner { color: var(--lime); }
/* Öffentliche Empfänger-Ansicht (Magic-Link). */
.av-wrap .promo-card { max-width: 720px; }
.av-head { border-bottom: 1px solid var(--border); padding-bottom: 14px; margin-bottom: 16px; }
.av-org { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); }
.av-head h1 { margin: 6px 0 4px; font-size: 24px; }
.av-facts { color: var(--text-dim); font-size: 13.5px; }
.av-greet { font-size: 15px; margin: 0 0 12px; }
.av-gage { display: inline-block; background: var(--bg-panel-2); border: 1px solid var(--border); border-radius: 8px; padding: 6px 12px; font-size: 14px; margin-bottom: 12px; }
.av-pdf { margin: 0 0 16px; }
.av-pdf a { color: var(--accent); text-decoration: none; font-size: 13.5px; display: inline-flex; align-items: center; gap: 6px; }
.av-pdf a:hover { text-decoration: underline; }
.av-pdf-frame { width: 100%; height: 60vh; min-height: 380px; border: 1px solid var(--border); border-radius: 10px; margin-bottom: 14px; background: #fff; }
.av-doc-details { margin-bottom: 18px; }
.av-doc-details > summary { cursor: pointer; font-size: 13px; color: var(--accent); margin-bottom: 8px; }
.av-doc { border: 1px solid var(--border); border-radius: 10px; padding: 4px 18px 14px; margin-bottom: 0; max-height: 46vh; overflow: auto; background: var(--bg-panel-2); }
.av-block h3 { font-size: 15px; margin: 16px 0 4px; }
.av-block p { font-size: 13.5px; line-height: 1.6; color: var(--text-dim); margin: 0; }
.av-signer { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; margin: 0 0 14px; }
.av-signer .mf { display: flex; flex-direction: column; gap: 5px; }
.av-signer .mf label { font-size: 11px; letter-spacing: .04em; text-transform: uppercase; color: var(--text-dim); }
.av-signer .mf input { background: var(--bg-panel-2); border: 1px solid var(--border); border-radius: 8px; padding: 9px 11px; color: var(--text); font: inherit; font-size: 14px; }
.av-signer .mf input:focus { outline: none; border-color: var(--accent); }
@media (max-width: 520px) { .av-signer { grid-template-columns: 1fr; } }
.av-actions { display: flex; gap: 10px; justify-content: flex-end; }
.av-legal { font-size: 11.5px; color: var(--text-mute); margin: 10px 0 0; line-height: 1.5; }
/* Rider: Analyse-/Senden-Buttons unter der Karte */
:root[data-ui="utic"] .rd-flow { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 4px; }
:root[data-ui="utic"] .rd-analyzing { color: var(--lime); border-color: rgba(120,208,0,.4) !important; cursor: default; animation: rapPulse 1.4s ease-in-out infinite; }
/* Öffentliche Rider-Verfügbarkeit (Techniker/Veranstalter trägt Ist ein) */
:root[data-ui="utic"] .ra-card { max-width: 760px; }
:root[data-ui="utic"] .ra-group { margin: 16px 0; }
:root[data-ui="utic"] .ra-group-h { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--faint); margin: 0 0 8px; padding-bottom: 6px; border-bottom: 1px solid var(--line); }
:root[data-ui="utic"] .ra-row { display: grid; grid-template-columns: 1fr 1.2fr; gap: 10px; align-items: start; padding: 10px 0; border-bottom: 1px solid var(--line-soft); }
:root[data-ui="utic"] .ra-req { font-size: 14px; }
:root[data-ui="utic"] .ra-soll { font-size: 12px; color: var(--faint); margin-top: 2px; }
:root[data-ui="utic"] .ra-in { display: flex; flex-direction: column; gap: 6px; }
:root[data-ui="utic"] .ra-in select, :root[data-ui="utic"] .ra-in input { width: 100%; font: inherit; color: var(--txt); background: var(--card-2); border: 1px solid var(--line); border-radius: var(--r); padding: 8px 10px; }
:root[data-ui="utic"] .ra-in select:focus, :root[data-ui="utic"] .ra-in input:focus { outline: none; border-color: var(--lime); }
:root[data-ui="utic"] .ra-rev-block { margin: 0 0 16px; }
:root[data-ui="utic"] .ra-rev-head { font-weight: 600; margin: 0 0 8px; }
:root[data-ui="utic"] .ra-rev-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 7px 0; border-bottom: 1px solid var(--line-soft); }
:root[data-ui="utic"] .ra-rev-lbl { flex: 1; min-width: 0; font-size: 13.5px; }
:root[data-ui="utic"] .ra-rev-note { flex-basis: 100%; font-size: 12.5px; color: var(--dim); margin-top: 2px; }
@media (max-width: 640px) { :root[data-ui="utic"] .ra-row { grid-template-columns: 1fr; } }
/* Analyse-Fortschritt (Overlay mit Animation) */
:root[data-ui="utic"] .ra-prog { max-width: 420px; text-align: center; }
:root[data-ui="utic"] .ra-prog-spark { font-size: 34px; line-height: 1; animation: rapPulse 1.4s ease-in-out infinite; }
/* Truck-Lade-Animation: Roadcases rollen in den Truck (Touring-Stil). */
:root[data-ui="utic"] .ra-truck { width: 164px; height: auto; display: block; margin: 2px auto 10px; }
:root[data-ui="utic"] .ra-truck .tk-ground { stroke: var(--lime); stroke-width: 2; opacity: .22; stroke-linecap: round; }
:root[data-ui="utic"] .ra-truck .tk-body,
:root[data-ui="utic"] .ra-truck .tk-cab { fill: var(--card-2); stroke: var(--dim); stroke-width: 3; stroke-linejoin: round; }
:root[data-ui="utic"] .ra-truck .tk-in { fill: var(--bg); }
:root[data-ui="utic"] .ra-truck .tk-win { fill: var(--bg); stroke: var(--dim); stroke-width: 1.5; }
:root[data-ui="utic"] .ra-truck .tk-wheel,
:root[data-ui="utic"] .ra-truck .cs-cap,
:root[data-ui="utic"] .ra-truck .cs-wheel { fill: var(--lime); }
:root[data-ui="utic"] .ra-truck .tk-hub { fill: var(--card-2); }
:root[data-ui="utic"] .ra-truck .cs-body { fill: var(--bg); stroke: var(--dim); stroke-width: 2.5; stroke-linejoin: round; }
:root[data-ui="utic"] .ra-truck .load1 { animation: raLoad 3.4s cubic-bezier(.5,0,.5,1) infinite; }
:root[data-ui="utic"] .ra-truck .load2 { animation: raLoad 3.4s cubic-bezier(.5,0,.5,1) infinite 1.7s; }
:root[data-ui="utic"] .ra-truck .bob { animation: raBob 2.4s ease-in-out infinite; }
@keyframes raLoad { 0% { transform: translateX(-48px); } 60% { transform: translateX(58px); } 100% { transform: translateX(86px); } }
@keyframes raBob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@media (prefers-reduced-motion: reduce) {
  :root[data-ui="utic"] .ra-truck .load1,
  :root[data-ui="utic"] .ra-truck .load2,
  :root[data-ui="utic"] .ra-truck .bob { animation: none; }
}
@keyframes rapPulse { 0%, 100% { opacity: .5; transform: scale(1); } 50% { opacity: 1; transform: scale(1.15); } }
:root[data-ui="utic"] .ra-prog h2 { margin: 8px 0 4px; }
:root[data-ui="utic"] .ra-prog-msg { color: var(--dim); font-size: 14px; margin-bottom: 14px; min-height: 20px; }
:root[data-ui="utic"] .ra-prog-bar { height: 6px; border-radius: 4px; background: var(--card-2); overflow: hidden; position: relative; }
:root[data-ui="utic"] .ra-prog-bar i { position: absolute; left: -40%; width: 40%; height: 100%; background: var(--lime); border-radius: 4px; animation: rapSlide 1.1s ease-in-out infinite; }
:root[data-ui="utic"] .ra-prog-bar.done i { animation: none; left: 0; width: 100% !important; }
@keyframes rapSlide { 0% { left: -40%; } 100% { left: 100%; } }
/* Zeit-Schätzungs-Modus: determinierte Füllung nach geschätzter Dauer statt Endlos-Slide. */
:root[data-ui="utic"] .ra-prog-bar.estimate i { position: relative; left: 0; width: 0; animation: none; transition: width .5s linear; }
:root[data-ui="utic"] .ra-prog-time { font-variant-numeric: tabular-nums; color: var(--faint); font-size: 12px; margin-top: 8px; }
:root[data-ui="utic"] .ra-prog-hint { color: var(--faint); font-size: 11.5px; margin-top: 10px; line-height: 1.4; }
.av-decided { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-radius: 10px; font-size: 14px; }
.av-decided.is-ok { background: rgba(120,208,0,.12); border: 1px solid rgba(120,208,0,.5); }
.av-decided.is-no { background: rgba(224,107,107,.1); border: 1px solid #e06b6b; }
.agr-blocks-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
.agr-blocks-tools { display: flex; gap: 8px; flex-wrap: wrap; }
.agr-block { background: var(--bg-panel-2); border: 1px solid var(--border); border-radius: var(--radius, 10px); padding: 12px; margin-bottom: 12px; }
.agr-block-top { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.agr-block-h { flex: 1; font-weight: 600; }
.agr-block-tools { display: flex; gap: 4px; flex-shrink: 0; }
.agr-block-t { width: 100%; resize: vertical; min-height: 72px; line-height: 1.5; }
.agr-icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; padding: 0; border: 1px solid var(--border); border-radius: 8px; background: transparent; color: var(--text-dim); cursor: pointer; transition: color .12s, border-color .12s, background .12s; }
.agr-icon-btn:hover { color: var(--text); border-color: var(--accent); }
.agr-icon-btn.agr-del:hover { color: #ff6b6b; border-color: #ff6b6b; }
:root[data-ui="utic"] .agr-block { background: var(--card-2); border-color: var(--line); border-radius: var(--r); }
:root[data-ui="utic"] .agr-icon-btn { border-color: var(--line); color: var(--dim); }
:root[data-ui="utic"] .agr-icon-btn:hover { color: var(--txt); border-color: var(--lime); }
:root[data-ui="utic"] .agr-sect-h { color: var(--dim); }

/* ===========================================================================
   „Neue Show" als Schritt-Assistent (Wizard). Die Formfelder selbst nutzen die
   bestehenden .field/.btn-Stile; hier nur Schrittleiste, Panels und Fußzeile.
   =========================================================================== */
:root[data-ui="utic"] .ns-wizard .ns-steps{display:flex;gap:6px;margin:4px 0 2px}
:root[data-ui="utic"] .ns-wizard .ns-step{flex:1;display:flex;flex-direction:column;gap:7px;cursor:pointer;background:none;border:0;padding:0}
:root[data-ui="utic"] .ns-wizard .ns-bar{height:3px;border-radius:2px;background:var(--line);transition:background .15s}
:root[data-ui="utic"] .ns-wizard .ns-step.active .ns-bar,
:root[data-ui="utic"] .ns-wizard .ns-step.done .ns-bar{background:var(--lime)}
:root[data-ui="utic"] .ns-wizard .ns-lab{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--faint);letter-spacing:.02em;white-space:nowrap}
:root[data-ui="utic"] .ns-wizard .ns-step.active .ns-lab{color:var(--txt)}
:root[data-ui="utic"] .ns-wizard .ns-step.done .ns-lab{color:var(--dim)}
:root[data-ui="utic"] .ns-wizard .ns-num{width:18px;height:18px;border-radius:50%;background:var(--line);color:var(--faint);display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;flex:0 0 auto}
:root[data-ui="utic"] .ns-wizard .ns-step.active .ns-num{background:var(--lime);color:var(--lime-ink)}
:root[data-ui="utic"] .ns-wizard .ns-step.done .ns-num{background:color-mix(in srgb,var(--lime) 22%,transparent);color:var(--lime);border:1px solid color-mix(in srgb,var(--lime) 45%,transparent)}
:root[data-ui="utic"] .ns-wizard .ns-sub{font-size:12.5px;color:var(--faint);margin:10px 0 6px}
:root[data-ui="utic"] .modal.ns-wizard{width:520px;max-width:calc(100vw - 32px)}
/* Feste Höhe des Feldbereichs, damit die Modal-Größe beim Durchklicken nicht springt. */
:root[data-ui="utic"] .ns-wizard .ns-panels{height:496px;overflow-y:auto;overflow-x:hidden}
/* Tab-Variante (z. B. Nutzer bearbeiten): eigene feste Höhe – Inhalte je Tab sehr
   unterschiedlich hoch (Reisedaten ist lang), daher Scrollen statt Springen. */
:root[data-ui="utic"] .modal.ns-tabs .ns-panels{height:446px}
:root[data-ui="utic"] .ns-tabs .up-prof-row{margin-bottom:12px}
/* Mobil: Dialog ist ein Bottom-Sheet über die volle Breite – die feste
   Desktop-Breite (520px) und die festen Panel-Höhen würden sonst überlaufen
   bzw. doppeltes Scrollen erzeugen. Daher volle Breite + natürliche Höhe
   (das Sheet selbst scrollt). */
@media (max-width:640px){
  :root[data-ui="utic"] .modal.ns-wizard{width:100%;max-width:100%}
  :root[data-ui="utic"] .ns-wizard .ns-panels,
  :root[data-ui="utic"] .modal.ns-tabs .ns-panels{height:auto;overflow:visible}
  :root[data-ui="utic"] .ns-foot{flex-wrap:wrap}
  /* Schrittleiste: auf schmalen Screens zeigt nur der aktive Schritt seinen
     Namen (Zelle breiter), die übrigen nur ihre Nummer – so passt es immer. */
  :root[data-ui="utic"] .ns-wizard .ns-steps{gap:5px}
  :root[data-ui="utic"] .ns-wizard .ns-lab{font-size:0;gap:0;letter-spacing:0}
  :root[data-ui="utic"] .ns-wizard .ns-num{width:17px;height:17px;font-size:10px}
  :root[data-ui="utic"] .ns-wizard .ns-step.active{flex:2.4}
  :root[data-ui="utic"] .ns-wizard .ns-step.active .ns-lab{font-size:10.5px;gap:6px}
}
:root[data-ui="utic"] .ns-wizard .ns-sect{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);font-weight:600;margin:16px 0 9px}
:root[data-ui="utic"] .ns-wizard .ns-panel > .ns-sect:first-child{margin-top:2px}
:root[data-ui="utic"] .ns-wizard .ns-empty{font-size:13px;color:var(--faint);padding:18px 2px}
:root[data-ui="utic"] .ns-foot{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
:root[data-ui="utic"] .ns-foot #cancelBtn{margin-right:auto}

/* Shows-Übersicht mobil: Ansicht/Filter/Aktionen hinter einen Umschalter legen,
   damit zuerst die Shows sichtbar sind (Desktop zeigt alles wie bisher). */
.shows-filter-toggle{display:none}
@media(max-width:600px){
  :root[data-ui="utic"] .shows-filter-toggle{display:flex;align-items:center;gap:8px;width:100%;background:var(--card);border:1px solid var(--line);border-radius:var(--r);color:var(--txt);font:inherit;font-size:14px;font-weight:500;padding:11px 14px;margin:0 0 12px;cursor:pointer}
  :root[data-ui="utic"] .shows-filter-toggle .sft-summary{margin-left:auto;color:var(--faint);font-size:12.5px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:56%}
  :root[data-ui="utic"] .shows-filter-toggle .icon-chevronDown{flex:0 0 auto;transition:transform .15s}
  :root[data-ui="utic"] .shows-filter-toggle[aria-expanded="true"] .icon-chevronDown{transform:rotate(180deg)}
  :root[data-ui="utic"] .shows-controls{display:none}
  :root[data-ui="utic"] .shows-controls.open{display:block}
}

/* Crew-Status je Person im Teilnehmer-Fenster (Geplant/Angefragt/Bestätigt/Abgesagt) */
:root[data-ui="utic"] .crew-status-wrap{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
:root[data-ui="utic"] .crew-status-head{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}
:root[data-ui="utic"] .crew-status-list{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow:auto}
:root[data-ui="utic"] .crew-status-row{display:flex;align-items:center;gap:10px}
:root[data-ui="utic"] .crew-status-name{flex:1;min-width:0;font-size:13.5px;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:root[data-ui="utic"] .crew-status-pills{display:flex;gap:4px;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}
:root[data-ui="utic"] .crew-status-pill{background:var(--card);border:1px solid var(--line);border-radius:var(--r);color:var(--dim);font:inherit;font-size:11.5px;font-weight:500;padding:5px 10px;cursor:pointer;white-space:nowrap}
:root[data-ui="utic"] .crew-status-pill:hover{color:var(--txt);border-color:#4a4d50}
:root[data-ui="utic"] .crew-status-pill.cs-geplant.on{background:color-mix(in srgb,var(--txt) 10%,var(--card));border-color:color-mix(in srgb,var(--txt) 30%,var(--line));color:var(--txt)}
:root[data-ui="utic"] .crew-status-pill.cs-angefragt.on{background:color-mix(in srgb,#e0a44a 18%,var(--card));border-color:#e0a44a;color:#f0c074}
:root[data-ui="utic"] .crew-status-pill.cs-bestaetigt.on{background:color-mix(in srgb,var(--lime) 18%,var(--card));border-color:color-mix(in srgb,var(--lime) 55%,var(--line));color:var(--lime)}
:root[data-ui="utic"] .crew-status-pill.cs-abgesagt.on{background:color-mix(in srgb,var(--warn) 16%,var(--card));border-color:var(--warn);color:var(--warn)}
@media(max-width:600px){:root[data-ui="utic"] .crew-status-row{flex-wrap:wrap}:root[data-ui="utic"] .crew-status-name{flex:1 1 100%}:root[data-ui="utic"] .crew-status-pills{justify-content:flex-start}}

/* Portal-Antwort (Verfügbarkeit) als Badge in der Crew-Übersicht */
:root[data-ui="utic"] .crew-resp{flex:0 0 auto;display:inline-flex;align-items:center;gap:3px;border-radius:var(--r);padding:3px 8px;font-size:11px;font-weight:600;white-space:nowrap}
:root[data-ui="utic"] .crew-resp.cr-yes{background:color-mix(in srgb,var(--lime) 16%,var(--card));border:1px solid color-mix(in srgb,var(--lime) 45%,var(--line));color:var(--lime)}
:root[data-ui="utic"] .crew-resp.cr-maybe{background:color-mix(in srgb,#e0a44a 16%,var(--card));border:1px solid #e0a44a;color:#f0c074}
:root[data-ui="utic"] .crew-resp.cr-no{background:color-mix(in srgb,var(--warn) 14%,var(--card));border:1px solid var(--warn);color:var(--warn)}
/* „Per Verfügbarkeitsanfrage angefragt"-Sektion im Teilnehmer-Editor */
:root[data-ui="utic"] .avail-asked{margin:0 0 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--card-2)}
:root[data-ui="utic"] .avail-asked>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:7px;padding:9px 12px;font-size:12.5px;font-weight:600;color:var(--dim)}
:root[data-ui="utic"] .avail-asked>summary::-webkit-details-marker{display:none}
:root[data-ui="utic"] .avail-asked>summary .muted{font-weight:400}
:root[data-ui="utic"] .aa-list{padding:2px 12px 10px}
:root[data-ui="utic"] .aa-row{display:flex;align-items:center;gap:9px;padding:5px 0;border-top:1px solid var(--line-soft);font-size:13px}
:root[data-ui="utic"] .aa-row:first-child{border-top:0}
:root[data-ui="utic"] .aa-name{flex:1;min-width:0;color:var(--txt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:root[data-ui="utic"] .aa-resp{flex:0 0 auto;display:inline-flex;align-items:center;border-radius:var(--r);padding:2px 9px;font-size:11px;font-weight:600;white-space:nowrap}
:root[data-ui="utic"] .aa-resp.aa-yes{background:color-mix(in srgb,var(--lime) 16%,var(--card));border:1px solid color-mix(in srgb,var(--lime) 45%,var(--line));color:var(--lime)}
:root[data-ui="utic"] .aa-resp.aa-maybe{background:color-mix(in srgb,#e0a44a 16%,var(--card));border:1px solid #e0a44a;color:#f0c074}
:root[data-ui="utic"] .aa-resp.aa-no{background:color-mix(in srgb,var(--warn) 14%,var(--card));border:1px solid var(--warn);color:var(--warn)}
:root[data-ui="utic"] .aa-resp.aa-open{background:var(--card);border:1px solid var(--line);color:var(--faint)}
:root[data-ui="utic"] .aa-part{flex:0 0 auto;display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;color:var(--lime)}
