/* ─── themes.css · Theme-Layer fuer bimo-webapp ───────────────────
 *
 * Default-Theme (`data-theme="dark"` ODER kein Attribut) bleibt das
 * bestehende Cyan-auf-Petrol-Look aus dashboard.css/chat.css/app.css.
 * Hier kommt nur das **light** Theme rein -- der "sonjas.garden"-Look
 * aus design_handoff_for_claude_code.md: warmes Beige als Buehne,
 * Cremepapier-Cards, Moss/Wine/Mustard, warmes Braun statt Schwarz,
 * Fraunces (display) + Inter (body) + IBM Plex Mono (mono).
 *
 * Strategie:
 *   1) :root[data-theme="light"] ueberschreibt alle Token-Variablen.
 *      Das traegt 80 % der Skin-Aenderung -- alle Stellen, die brav
 *      var(--accent) etc. nutzen, sind sofort umgefaerbt.
 *   2) Danach folgt eine Liste **gezielter Overrides** fuer die
 *      Selektoren, die in den Original-Stylesheets hartkodierte RGBA
 *      tragen (Glass-Gradient, Cyan-RGBA-Tints, Card-Hover, BMO-Face).
 *      Wenn dashboard/chat/app.css mal refactored werden auf reine
 *      Tokens, koennen die Overrides hier ersatzlos schrumpfen.
 *
 * Umschalten via #settings-btn -> Theme-Menue (siehe main.js).
 * ─────────────────────────────────────────────────────────────── */

/* ─── Light-Theme · Tokens ──────────────────────────────────────── */
:root[data-theme="light"] {
  /* Surfaces / Background */
  --bg:          #efe7d2;            /* tiefes Beige */
  --bg-glow-1:   rgba(255, 250, 232, 0.55);   /* warmes Weiss oben links */
  --bg-glow-2:   rgba(201, 154,  46, 0.10);   /* Senf bei 80/85 */
  --bg-glow-3:   rgba( 79, 122,  58, 0.08);   /* Moos bei 80/15 */

  /* Text -- warmes Tinten-Braun, **kein Schwarz** */
  --text:        #2b2418;
  --text-hi:     #2b2418;
  --text-hi-2:   #1c170f;
  --text-muted:  rgba(43, 36, 24, 0.55);
  --text-dim:    rgba(43, 36, 24, 0.40);
  --text-soft:   rgba(43, 36, 24, 0.70);
  --text-softer: rgba(43, 36, 24, 0.85);

  /* Accent = Moss (alt: Cyan) */
  --accent:      #4f7a3a;
  --accent-soft-1: rgba(79, 122, 58, 0.04);
  --accent-soft-2: rgba(79, 122, 58, 0.08);
  --accent-soft-3: rgba(79, 122, 58, 0.12);
  --accent-soft-4: rgba(79, 122, 58, 0.18);
  --accent-soft-5: rgba(79, 122, 58, 0.28);
  --accent-soft-6: rgba(79, 122, 58, 0.42);
  --accent-70:   rgba(79, 122, 58, 0.70);
  --accent-80:   rgba(79, 122, 58, 0.80);
  --accent-deep: #365524;

  /* Semantic accents -- Mustard (pending), Wine (warn), Moss (ok) */
  --warn:        #c99a2e;
  --ok:          #4f7a3a;
  --error:       #8b2a3a;

  /* Borders -- dunkle Tinte mit niedriger Alpha */
  --line-1:      rgba(43, 36, 24, 0.06);
  --line-2:      rgba(43, 36, 24, 0.08);
  --line-3:      rgba(43, 36, 24, 0.10);
  --line-4:      rgba(43, 36, 24, 0.14);

  /* Surfaces -- Cremeweiss auf Beige */
  --surf-1:      rgba(255, 255, 255, 0.45);
  --surf-2:      rgba(255, 255, 255, 0.60);
  --surf-3:      rgba(255, 255, 255, 0.75);

  /* Card-Schatten -- weich, warm, **nicht** hart-schwarz */
  --shadow-card:
    inset 0 1px 0 rgba(255, 255, 255, 0.70),
    0 1px 0 rgba(43, 36, 24, 0.05),
    0 12px 26px -14px rgba(43, 36, 24, 0.30);
  --shadow-btn:  0 8px 22px -10px rgba(54, 85, 36, 0.50);

  /* BMO-Face -- die Inline-Styles in bmo-face.js referenzieren diese
     Variablen mit Cyan-Defaults; im Light-Theme zieht der Face Moss-Akzent,
     warmen Inset-Schatten und cremige Reflection. */
  --bmo-accent:        #4f7a3a;
  --bmo-accent-aura:   rgba(79, 122, 58, 0.28);
  --bmo-accent-edge:   rgba(43, 36, 24, 0.18);
  --bmo-accent-glow:   rgba(79, 122, 58, 0.20);
  --bmo-accent-inner:  rgba(255, 250, 232, 0.35);
  --bmo-accent-hl:     rgba(255, 250, 232, 0.45);
  --bmo-accent-scan:   rgba(79, 122, 58, 0.14);
  --bmo-accent-band:   rgba(79, 122, 58, 0.35);
  --bmo-pupil-glow:    rgba(79, 122, 58, 0.55);
  --bmo-orb-inset:     rgba(43, 36, 24, 0.18);
  --bmo-reflection:    rgba(79, 122, 58, 0.22);
}

/* ─── Light-Theme · Schriftrollen ──────────────────────────────── */
/* Dreigliedrig: Fraunces (display, gerne italic), Inter (body),
   IBM Plex Mono (mono / Caps-Tags). */
:root[data-theme="light"] body,
:root[data-theme="light"] .em,
:root[data-theme="light"] button,
:root[data-theme="light"] input,
:root[data-theme="light"] textarea,
:root[data-theme="light"] select {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
}
:root[data-theme="light"] .mono,
:root[data-theme="light"] .hero-tag,
:root[data-theme="light"] .hero-meta,
:root[data-theme="light"] .card__tag,
:root[data-theme="light"] .card__right,
:root[data-theme="light"] .nexus-tile__meta,
:root[data-theme="light"] .monitor__chip,
:root[data-theme="light"] .monitor__stat,
:root[data-theme="light"] .monitor__ver,
:root[data-theme="light"] .notizen-meta,
:root[data-theme="light"] .pl-file__ext,
:root[data-theme="light"] .pl-file__tag,
:root[data-theme="light"] .pl-file__status,
:root[data-theme="light"] .fam-bin__when,
:root[data-theme="light"] .fam-cal__dow,
:root[data-theme="light"] .fam-section-title,
:root[data-theme="light"] .admin-tab,
:root[data-theme="light"] .admin-upload__label,
:root[data-theme="light"] .admin-upload__submit,
:root[data-theme="light"] .admin-log__time,
:root[data-theme="light"] .admin-log__type,
:root[data-theme="light"] .admin-log__id,
:root[data-theme="light"] .admin-log__user,
:root[data-theme="light"] .admin-log__status,
:root[data-theme="light"] .manager__group-head,
:root[data-theme="light"] .manager__field-label:not(.checkbox-label),
:root[data-theme="light"] .manager__deep-link,
:root[data-theme="light"] .msg-meta,
:root[data-theme="light"] .termine-date,
:root[data-theme="light"] .todo__when.warn,
:root[data-theme="light"] .search-pill__placeholder,
:root[data-theme="light"] .search-results__empty,
:root[data-theme="light"] .search-results__loading,
:root[data-theme="light"] .search-results__error,
:root[data-theme="light"] .search-results__ext,
:root[data-theme="light"] .search-result__meta {
  font-family: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', monospace;
}
/* Display-Schrift fuer Hero, grosse Zahlen, Marken-Wordmark, Modal-Titel.
   Italic ist ein bewusstes Stilmittel -- das User-Greeting wird darum
   manuell als Akzent gesetzt (siehe `.hero-headline__accent` unten). */
:root[data-theme="light"] .hero-headline,
:root[data-theme="light"] .brand-name,
:root[data-theme="light"] .brand-tld,
:root[data-theme="light"] .login-card__brand,
:root[data-theme="light"] .manager__title {
  font-family: 'Fraunces', 'Iowan Old Style', Georgia, serif;
  font-weight: 400;
  letter-spacing: -0.02em;
}
:root[data-theme="light"] .hero-headline__accent {
  font-style: italic;
  font-weight: 500;
}

/* ─── Light-Theme · Hintergrund-Layer ──────────────────────────── */
/* Drei sehr weiche radiale Lichtwaeschen -- als Atmosphaere lesbar,
   nicht als Gradient. */
:root[data-theme="light"] .bmo-bg {
  background:
    radial-gradient(ellipse 70% 55% at 0% 0%,   var(--bg-glow-1) 0%, transparent 60%),
    radial-gradient(ellipse 60% 40% at 85% 85%, var(--bg-glow-2) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 80% 15%, var(--bg-glow-3) 0%, transparent 60%),
    var(--bg);
}
/* Papierkorn-Filter: dunkler invertieren, sonst frisst der White-Multiply
   das warme Beige weg. mix-blend-mode: multiply + sehr niedrige Opazitaet. */
:root[data-theme="light"] .bmo-noise {
  opacity: 0.35;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 0.16 0 0 0 0 0.13 0 0 0 0 0.08 0 0 0 0.55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

/* ─── Light-Theme · Glass-Cards = "Papier" ─────────────────────── */
:root[data-theme="light"] .glass {
  background: linear-gradient(180deg, #ffffff 0%, #fbf5e7 100%);
  border: 1px solid var(--line-3);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: var(--shadow-card);
}
:root[data-theme="light"] .glass-hot {
  background: linear-gradient(180deg, #ffffff 0%, #fbf5e7 100%);
  border: 1px solid var(--accent-soft-5);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* ─── Light-Theme · Topbar / Header ────────────────────────────── */
:root[data-theme="light"] .brand-name { color: var(--text-hi); }
:root[data-theme="light"] .brand-tld  { color: var(--accent); }

:root[data-theme="light"] .ghost-btn {
  background: var(--surf-2);
  border: 1px solid var(--line-3);
}
:root[data-theme="light"] .ghost-btn:hover {
  background: var(--surf-3);
  border-color: var(--accent-soft-5);
}
:root[data-theme="light"] .ghost-btn svg {
  stroke: var(--text-soft) !important;
}

:root[data-theme="light"] .user-pill {
  background: var(--surf-2);
  border: 1px solid var(--line-3);
}
:root[data-theme="light"] .user-pill__name { color: var(--text-softer); }
:root[data-theme="light"] .user-pill__avatar {
  background: linear-gradient(135deg, var(--accent), var(--accent-deep));
  color: #fbf5e7;
}

/* Search-Pill */
:root[data-theme="light"] .search-pill--web {
  background: linear-gradient(180deg, rgba(255,255,255,0.85), rgba(255,255,255,0.55));
  border: 1px solid var(--accent-soft-5);
}
:root[data-theme="light"] .search-pill--web .search-pill__input {
  color: var(--text);
}
:root[data-theme="light"] .search-pill--web .search-pill__input::placeholder {
  color: var(--text-muted);
}
:root[data-theme="light"] .search-pill svg { stroke: var(--accent) !important; }

/* ─── Light-Theme · Hero ───────────────────────────────────────── */
:root[data-theme="light"] .hero-tag        { color: var(--accent); }
:root[data-theme="light"] .hero-headline   { color: var(--text-hi-2); }
:root[data-theme="light"] .hero-headline__accent { color: var(--accent-deep); }
:root[data-theme="light"] .hero-headline__warn   { color: var(--error); }
:root[data-theme="light"] .hero-meta       { color: var(--accent-70); }

/* ─── Light-Theme · Card-Heads / Listen ────────────────────────── */
:root[data-theme="light"] .card__tag   { color: var(--accent); }
:root[data-theme="light"] .card__right { color: var(--text-muted); }

:root[data-theme="light"] .termine-list,
:root[data-theme="light"] .todos-list,
:root[data-theme="light"] .chat-msgs,
:root[data-theme="light"] .manager__list,
:root[data-theme="light"] .search-results__body {
  scrollbar-color: var(--accent-soft-5) transparent;
}
:root[data-theme="light"] .termine-list::-webkit-scrollbar-thumb,
:root[data-theme="light"] .todos-list::-webkit-scrollbar-thumb,
:root[data-theme="light"] .chat-msgs::-webkit-scrollbar-thumb,
:root[data-theme="light"] .manager__list::-webkit-scrollbar-thumb,
:root[data-theme="light"] .search-results__body::-webkit-scrollbar-thumb {
  background: var(--accent-soft-5);
}
:root[data-theme="light"] .manager__list::-webkit-scrollbar-thumb:hover {
  background: var(--accent-soft-6);
}

/* Termine */
:root[data-theme="light"] .termine-title { color: var(--text); }
:root[data-theme="light"] .termine-where { color: var(--text-muted); }
:root[data-theme="light"] .termine-more  { color: var(--text-dim); border-top-color: var(--line-2); }
:root[data-theme="light"] .termine-day   { color: var(--text); }
:root[data-theme="light"] .termine-date  { color: var(--text-dim); }

/* Notizen */
:root[data-theme="light"] .notizen-bar         { background: var(--line-4); }
:root[data-theme="light"] .notizen-bar.active  { background: var(--accent); box-shadow: 0 0 8px var(--accent-soft-5); }
:root[data-theme="light"] .notizen-title       { color: var(--text); }
:root[data-theme="light"] .notizen-meta        { color: var(--text-dim); }
:root[data-theme="light"] .quick-note {
  background: var(--surf-1);
  border-color: var(--line-3);
  color: var(--text-muted);
}
:root[data-theme="light"] .pin-icon { color: var(--warn); }
:root[data-theme="light"] .notizen-item.pinned .notizen-bar.active { background: var(--warn); }

/* Todos */
:root[data-theme="light"] .todo                { border-bottom-color: var(--line-1); }
:root[data-theme="light"] .todo__box           { border-color: var(--line-4); }
:root[data-theme="light"] .todo.done .todo__box { background: var(--accent); border-color: var(--accent); }
:root[data-theme="light"] .todo__label         { color: var(--text); }
:root[data-theme="light"] .todo.done .todo__label { color: var(--text-dim); }
:root[data-theme="light"] .todo__when          { color: var(--text-dim); }
:root[data-theme="light"] .todo__when.warn     { color: var(--warn); }
:root[data-theme="light"] .todo__box.prio-high { border-color: var(--error);  box-shadow: inset 0 0 0 1px rgba(139,42,58,0.4); }
:root[data-theme="light"] .todo__box.prio-mid  { border-color: var(--warn);   box-shadow: inset 0 0 0 1px rgba(201,154,46,0.4); }
:root[data-theme="light"] .todo__box.prio-low  { border-color: var(--accent); box-shadow: inset 0 0 0 1px rgba(79,122,58,0.4); }

/* Familie */
:root[data-theme="light"] .fam-section-title { color: var(--text-dim); }
:root[data-theme="light"] .fam-divider       { background: var(--line-2); }
:root[data-theme="light"] .fam-bin {
  background: var(--surf-2);
  border-left-color: var(--bin-color, var(--line-3));
}
:root[data-theme="light"] .fam-bin:hover    { background: var(--surf-3); }
:root[data-theme="light"] .fam-bin__label   { color: var(--text); }
:root[data-theme="light"] .fam-bin__when    { color: var(--text-muted); }
:root[data-theme="light"] .fam-cal__date {
  background: var(--accent-soft-3);
  border-color: var(--accent-soft-5);
}
:root[data-theme="light"] .fam-cal__dow   { color: var(--accent); }
:root[data-theme="light"] .fam-cal__day   { color: var(--text-hi); }
:root[data-theme="light"] .fam-cal__title { color: var(--text); }
:root[data-theme="light"] .fam-cal__meta  { color: var(--text-muted); }
:root[data-theme="light"] .fam-chip {
  background: var(--surf-3); border-color: var(--line-3); color: var(--text-softer);
}
/* "Hot"-Termin (erster zukuenftiger) -- auch im Light-Theme als Akzent */
:root[data-theme="light"] .termine-item.hot .fam-cal__date {
  background: var(--accent-soft-3);
  border-color: var(--accent-soft-5);
}
:root[data-theme="light"] .termine-item.hot .fam-cal__day { color: var(--accent-deep); }

/* Paperless */
:root[data-theme="light"] .pl-dropzone {
  background: linear-gradient(180deg, var(--accent-soft-2), var(--accent-soft-1));
  border: 1.5px dashed var(--accent-soft-5);
}
:root[data-theme="light"] .pl-dropzone > svg { stroke: var(--accent) !important; }
:root[data-theme="light"] .pl-dropzone__title { color: var(--text-hi); }
:root[data-theme="light"] .pl-dropzone__meta  { color: var(--text-muted); }
:root[data-theme="light"] .pl-dropzone.dragover {
  border-color: var(--accent) !important;
  background: var(--accent-soft-3) !important;
}
:root[data-theme="light"] .pl-file__icon {
  background: var(--surf-3); border-color: var(--line-4);
}
:root[data-theme="light"] .pl-file__ext  { color: var(--text-muted); }
:root[data-theme="light"] .pl-file__name { color: var(--text); }
:root[data-theme="light"] .pl-file__tag  { color: var(--text-dim); }
:root[data-theme="light"] .pl-file__status.ok      { color: var(--ok); }
:root[data-theme="light"] .pl-file__status.pending { color: var(--warn); }

/* Nexus */
:root[data-theme="light"] .nexus-tile {
  background: var(--surf-2); border-color: var(--line-2);
}
:root[data-theme="light"] .nexus-tile:hover {
  background: var(--accent-soft-2); border-color: var(--accent-soft-5);
}
:root[data-theme="light"] .nexus-tile__icon { background: var(--accent-soft-3); }
:root[data-theme="light"] .nexus-tile__icon svg { stroke: var(--accent) !important; }
:root[data-theme="light"] .nexus-tile__dot {
  background: var(--ok);
  box-shadow: 0 0 6px rgba(79,122,58,0.5);
}
:root[data-theme="light"] .nexus-tile__name { color: var(--text); }
:root[data-theme="light"] .nexus-tile__meta { color: var(--text-dim); }
:root[data-theme="light"] .nexus-tile.admin .nexus-tile__icon svg { stroke: var(--warn) !important; }

/* Monitor */
:root[data-theme="light"] .monitor       { border-top-color: var(--line-2); }
:root[data-theme="light"] .monitor__dot  { background: var(--ok); box-shadow: 0 0 6px rgba(79,122,58,0.5); }
:root[data-theme="light"] .monitor__label { color: var(--text-soft); }
:root[data-theme="light"] .monitor__chip {
  background: var(--accent-soft-3); color: var(--accent-deep);
}
:root[data-theme="light"] .monitor__sep   { color: var(--line-4); }
:root[data-theme="light"] .monitor__link  { color: var(--text-muted); }
:root[data-theme="light"] .monitor__stat  { color: var(--text-dim); }
:root[data-theme="light"] .monitor__ver   { color: var(--text-dim); }

/* ─── Light-Theme · Card-Plus-Buttons & Widget-Row-Actions ─────── */
:root[data-theme="light"] .card__open {
  background: var(--accent-soft-2);
  border: 1px solid var(--accent-soft-5);
  color: var(--accent-deep);
}
:root[data-theme="light"] .card__open:hover {
  background: var(--accent-soft-3);
  border-color: var(--accent-soft-6);
  color: var(--accent-deep);
}
:root[data-theme="light"] .widget-row-btn {
  color: var(--text-dim);
}
:root[data-theme="light"] .widget-row-btn:hover {
  background: var(--accent-soft-2);
  border-color: var(--accent-soft-5);
  color: var(--accent-deep);
}
:root[data-theme="light"] .widget-row-btn.fav-on {
  color: var(--warn);
}
:root[data-theme="light"] .widget-row-btn.fav-on:hover {
  background: rgba(201,154,46,0.14);
  border-color: rgba(201,154,46,0.4);
}
:root[data-theme="light"] .widget-row-btn.danger:hover {
  background: rgba(139,42,58,0.10);
  border-color: rgba(139,42,58,0.35);
  color: var(--error);
}
:root[data-theme="light"] .termine-item.clickable:hover,
:root[data-theme="light"] .notizen-item.clickable:hover,
:root[data-theme="light"] .todo.clickable:hover {
  background: var(--accent-soft-2);
}

/* ─── Light-Theme · Login-Overlay / Toast ──────────────────────── */
:root[data-theme="light"] .login-card__brand { color: var(--text-hi); }
:root[data-theme="light"] .login-card__text  { color: var(--text-muted); }
:root[data-theme="light"] .cta-btn {
  background: linear-gradient(180deg, var(--accent), var(--accent-deep));
  border: 1px solid var(--accent-deep);
  color: #fbf5e7;
  box-shadow: var(--shadow-btn);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
:root[data-theme="light"] .bimo-toast {
  background: linear-gradient(180deg, #ffffff 0%, #fbf5e7 100%);
  border: 1px solid var(--line-3);
  color: var(--text);
  box-shadow: 0 6px 20px rgba(43,36,24,0.18);
}
:root[data-theme="light"] .bimo-toast.err {
  border-color: rgba(139,42,58,0.45);
}

/* ─── Light-Theme · Settings/User-Menu ─────────────────────────── */
:root[data-theme="light"] .user-menu,
:root[data-theme="light"] .theme-menu {
  background: linear-gradient(180deg, #ffffff 0%, #fbf5e7 100%);
  border: 1px solid var(--line-3);
  box-shadow: 0 10px 30px rgba(43,36,24,0.18);
}
:root[data-theme="light"] .user-menu__item,
:root[data-theme="light"] .theme-menu__item {
  color: var(--text);
}
:root[data-theme="light"] .user-menu__item:hover,
:root[data-theme="light"] .theme-menu__item:hover {
  background: var(--accent-soft-2);
}

/* ─── Light-Theme · Manager-Modal ──────────────────────────────── */
:root[data-theme="light"] .manager-overlay {
  background: rgba(43, 36, 24, 0.45);
  backdrop-filter: blur(4px);
}
:root[data-theme="light"] .manager {
  background: linear-gradient(180deg, #ffffff 0%, #fbf5e7 100%);
  border: 1px solid var(--line-3);
  box-shadow: 0 24px 60px -20px rgba(43,36,24,0.40);
}
:root[data-theme="light"] .manager__head { border-bottom-color: var(--line-2); }
:root[data-theme="light"] .manager__title { color: var(--text-hi); }
:root[data-theme="light"] .manager__mode-label { color: var(--accent-70); }
:root[data-theme="light"] .manager__deep-link {
  background: var(--accent-soft-2);
  border-color: var(--accent-soft-5);
  color: var(--accent-deep);
}
:root[data-theme="light"] .manager__deep-link:hover {
  background: var(--accent-soft-3);
  border-color: var(--accent-soft-6);
}
:root[data-theme="light"] .manager__close {
  border-color: var(--line-3);
  color: var(--text-muted);
}
:root[data-theme="light"] .manager__close:hover {
  background: var(--surf-2);
  color: var(--text);
}
:root[data-theme="light"] .manager__create-wrap {
  background: var(--accent-soft-1);
  border-bottom-color: var(--accent-soft-3);
}
:root[data-theme="light"] .manager__field-label { color: var(--accent-70); }
:root[data-theme="light"] .manager__input {
  background: var(--surf-3);
  border: 1px solid var(--accent-soft-5);
  color: var(--text);
  color-scheme: light;
}
:root[data-theme="light"] .manager__input:focus {
  border-color: var(--accent);
  background: #ffffff;
  box-shadow: 0 0 0 3px var(--accent-soft-3);
}
:root[data-theme="light"] .manager__input::placeholder { color: var(--text-dim); }
:root[data-theme="light"] select.manager__input {
  background:
    var(--surf-3)
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%234f7a3a' d='M0 0l5 6 5-6z'/></svg>")
    no-repeat right 9px center / 9px 5px;
}
:root[data-theme="light"] select.manager__input option {
  background: #fbf5e7; color: var(--text);
}
:root[data-theme="light"] input[type="date"].manager__input::-webkit-calendar-picker-indicator,
:root[data-theme="light"] input[type="time"].manager__input::-webkit-calendar-picker-indicator {
  filter: invert(34%) sepia(15%) saturate(800%) hue-rotate(60deg) brightness(85%) contrast(85%);
  opacity: 0.85;
}
:root[data-theme="light"] .manager__checkbox { accent-color: var(--accent); }
:root[data-theme="light"] .manager__submit {
  background: linear-gradient(180deg, var(--accent), var(--accent-deep));
  border: 1px solid var(--accent-deep);
  color: #fbf5e7;
}
:root[data-theme="light"] .manager__submit:hover {
  background: linear-gradient(180deg, var(--accent-deep), var(--accent-deep));
}
:root[data-theme="light"] .manager__cancel {
  border-color: var(--line-3);
  color: var(--text-muted);
}
:root[data-theme="light"] .manager__cancel:hover {
  background: var(--surf-2); color: var(--text);
}
:root[data-theme="light"] .manager__group-head { color: var(--text-dim); }
:root[data-theme="light"] .manager__row { border-bottom-color: var(--line-1); }
:root[data-theme="light"] .manager__row.done .manager__row-title { color: var(--text-dim); }
:root[data-theme="light"] .manager__row-title { color: var(--text); }
:root[data-theme="light"] .manager__row-sub   { color: var(--text-muted); }
:root[data-theme="light"] .manager__row-edit,
:root[data-theme="light"] .manager__row-del,
:root[data-theme="light"] .manager__row-check {
  border-color: var(--line-3);
  color: var(--text-dim);
}
:root[data-theme="light"] .manager__row-edit:hover {
  background: var(--accent-soft-3);
  border-color: var(--accent-soft-5);
  color: var(--accent-deep);
}
:root[data-theme="light"] .manager__row-del:hover {
  background: rgba(139,42,58,0.10);
  border-color: rgba(139,42,58,0.35);
  color: var(--error);
}
:root[data-theme="light"] .manager__row-check:hover {
  background: var(--accent-soft-2);
  border-color: var(--accent-soft-5);
  color: var(--accent-deep);
}
:root[data-theme="light"] .manager__row-check.done-btn {
  background: var(--accent-soft-3);
  border-color: var(--accent-soft-5);
  color: var(--accent-deep);
}
/* Prio-Dots im Manager */
:root[data-theme="light"] .prio-dot.prio-high { background: var(--error); }
:root[data-theme="light"] .prio-dot.prio-mid  { background: var(--warn); }
:root[data-theme="light"] .prio-dot.prio-low  { background: var(--accent); }

/* ─── Light-Theme · Admin-Panel ────────────────────────────────── */
:root[data-theme="light"] .admin-tabs { border-bottom-color: var(--line-2); }
:root[data-theme="light"] .admin-tab  { color: var(--text-muted); }
:root[data-theme="light"] .admin-tab:hover { color: var(--text); }
:root[data-theme="light"] .admin-tab--active {
  color: var(--accent); border-bottom-color: var(--accent);
}
:root[data-theme="light"] .admin-upload {
  background: var(--surf-2); border-color: var(--line-3);
}
:root[data-theme="light"] .admin-upload__label {
  background: var(--accent-soft-2);
  border-color: var(--accent-soft-5);
  color: var(--accent-deep);
}
:root[data-theme="light"] .admin-upload__label:hover { background: var(--accent-soft-3); }
:root[data-theme="light"] .admin-upload__filename { color: var(--text-muted); }
:root[data-theme="light"] .admin-upload__submit {
  background: var(--accent); color: #fbf5e7;
}
:root[data-theme="light"] .admin-upload__status { color: var(--text-muted); }
:root[data-theme="light"] .admin-hint { color: var(--text-muted); }
:root[data-theme="light"] .admin-section-head { color: var(--text-dim); }
:root[data-theme="light"] .admin-list__row { border-bottom-color: var(--line-2); }
:root[data-theme="light"] .admin-list__label { color: var(--text); }
:root[data-theme="light"] .admin-list__when  { color: var(--text-muted); }
:root[data-theme="light"] .admin-log__row { border-bottom-color: var(--line-2); }
:root[data-theme="light"] .admin-log__time { color: var(--text-muted); }
:root[data-theme="light"] .admin-log__type { color: var(--accent); }
:root[data-theme="light"] .admin-log__id   { color: var(--text); }
:root[data-theme="light"] .admin-log__user { color: var(--text-muted); }
:root[data-theme="light"] .admin-log__status--ok       { color: var(--ok); }
:root[data-theme="light"] .admin-log__status--err      { color: var(--error); }
:root[data-theme="light"] .admin-log__status--running  { color: var(--warn); }
:root[data-theme="light"] .admin-log__refresh {
  border-color: var(--line-3); color: var(--text-muted);
}
:root[data-theme="light"] .admin-log__refresh:hover {
  color: var(--accent); border-color: var(--accent-soft-5);
}

/* ─── Light-Theme · Search-Results-Dropdown ────────────────────── */
:root[data-theme="light"] .search-results {
  background: linear-gradient(180deg, #ffffff 0%, #fbf5e7 100%);
  border-color: var(--line-3);
  box-shadow: 0 14px 40px rgba(43,36,24,0.20), inset 0 1px 0 rgba(255,255,255,0.7);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
:root[data-theme="light"] .search-result:hover,
:root[data-theme="light"] .search-result:focus-visible {
  background: var(--accent-soft-2);
}
:root[data-theme="light"] .search-result__title   { color: var(--text-hi); }
:root[data-theme="light"] .search-result__meta    { color: var(--accent-70); }
:root[data-theme="light"] .search-result__snippet { color: var(--text-soft); }
:root[data-theme="light"] .search-results__empty,
:root[data-theme="light"] .search-results__loading { color: var(--text-dim); }
:root[data-theme="light"] .search-results__error   { color: var(--error); }
:root[data-theme="light"] .search-results__ext {
  border-top-color: var(--line-3);
  color: var(--accent-70);
}
:root[data-theme="light"] .search-results__ext:hover {
  background: var(--accent-soft-2); color: var(--accent-deep);
}

/* ─── Light-Theme · Chat-Modul ─────────────────────────────────── */
:root[data-theme="light"] .chat-msgs::-webkit-scrollbar-thumb { background: var(--accent-soft-5); }
/* "Du"-Bubble: warmer Moss-Tint, dunkles Tinten-Braun als Text */
:root[data-theme="light"] .msg.me .msg-body {
  background: linear-gradient(180deg, var(--accent-soft-3), var(--accent-soft-2));
  border: 1px solid var(--accent-soft-5);
  color: var(--text-hi);
}
/* BMO-Bubble: Cremepapier auf Beige */
:root[data-theme="light"] .msg.bmo .msg-body {
  background: var(--surf-3);
  border: 1px solid var(--line-3);
  color: var(--text);
}
:root[data-theme="light"] .msg-meta { color: var(--text-dim); }
:root[data-theme="light"] .msg.bmo .msg-meta::before { color: var(--accent-70); }
:root[data-theme="light"] .msg.me  .msg-meta::before { color: var(--text-muted); }
:root[data-theme="light"] .typing__dot { background: var(--accent-70); }

:root[data-theme="light"] .chat-foot   { border-top-color: var(--line-2); }
:root[data-theme="light"] .composer    {
  background: var(--surf-2);
  border: 1px solid var(--line-3);
}
:root[data-theme="light"] .composer:focus-within {
  border-color: var(--accent-soft-5);
  background: linear-gradient(180deg, var(--accent-soft-2), rgba(255,255,255,0.7));
}
:root[data-theme="light"] .composer__input {
  color: var(--text);
}
:root[data-theme="light"] .composer__input::placeholder { color: var(--text-dim); }
:root[data-theme="light"] .composer__btn { color: var(--text-muted); }
:root[data-theme="light"] .composer__btn:hover {
  color: var(--accent-deep); background: var(--accent-soft-2);
}
:root[data-theme="light"] .composer__btn:disabled:hover {
  color: var(--text-muted); background: transparent;
}
:root[data-theme="light"] .composer__mic.recording {
  color: var(--error);
  background: rgba(139,42,58,0.10);
  border-color: rgba(139,42,58,0.35);
}
:root[data-theme="light"] .composer__send {
  background: linear-gradient(180deg, var(--accent), var(--accent-deep));
  border-color: var(--accent-deep);
  color: #fbf5e7;
}
:root[data-theme="light"] .composer__send:hover {
  background: linear-gradient(180deg, var(--accent-deep), var(--accent-deep));
  color: #fbf5e7;
}

/* ─── Light-Theme · BMO-Face ───────────────────────────────────── */
/* Orb wandert vom dunklen Petrol-Verlauf zu warmem Beige-Cream-Verlauf
   mit Moss-Akzent, damit das Face nicht wie ein Loch im Papier wirkt. */
:root[data-theme="light"] .bmo-orb {
  background: radial-gradient(circle at 35% 28%, #fbf5e7 0%, #efe7d2 45%, #d9c89c 85%);
}
:root[data-theme="light"] .bmo-scanlines {
  background: repeating-linear-gradient(
    0deg,
    transparent 0px,
    transparent 2px,
    rgba(79,122,58,0.05) 2px,
    rgba(79,122,58,0.05) 3px
  );
}
:root[data-theme="light"] .bmo-ring__track {
  border-top-color: var(--accent);
  border-right-color: var(--accent-soft-5);
}
/* Augen-/Mund-Akzente -- Moss statt Cyan */
:root[data-theme="light"] .bmo-eye__line { background: var(--accent-deep); }
:root[data-theme="light"] .bmo-wave-bar  { background: var(--accent-deep); box-shadow: 0 0 4px var(--accent-soft-6); }
:root[data-theme="light"] .bmo-think-dot { background: var(--accent-deep); box-shadow: 0 0 3px var(--accent-soft-6); }
:root[data-theme="light"] .bmo-mouth__speaking {
  background: var(--accent-deep);
  box-shadow: 0 0 6px var(--accent-soft-5);
}
:root[data-theme="light"] .bmo-mouth__error { background: var(--error); }
:root[data-theme="light"] .bmo-eye__x::before,
:root[data-theme="light"] .bmo-eye__x::after { background: var(--error); }

/* ─── Theme-Menue (gleiche DOM-Struktur wie .user-menu) ────────── */
.theme-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 180px;
  background: var(--surf-2, #11162a);
  border: 1px solid var(--line-2, rgba(255,255,255,0.06));
  border-radius: 10px;
  padding: 4px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.4);
  z-index: 50;
}
.theme-menu[hidden] { display: none; }
.theme-menu__head {
  padding: 8px 10px 4px;
  font-size: 9.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-dim);
  font-family: 'Geist Mono', ui-monospace, monospace;
}
.theme-menu__item {
  display: flex; align-items: center; gap: 8px;
  width: 100%;
  background: transparent; border: none;
  color: var(--text);
  font-family: inherit; font-size: 0.88rem;
  padding: 0.5rem 0.7rem; border-radius: 6px;
  text-align: left; cursor: pointer;
  transition: background 0.15s;
}
.theme-menu__item:hover { background: rgba(125,211,252,0.08); }
.theme-menu__item .theme-menu__check {
  margin-left: auto;
  font-size: 12px;
  color: var(--accent);
  opacity: 0;
}
.theme-menu__item.is-active .theme-menu__check { opacity: 1; }
.theme-menu__item.is-active { color: var(--text-hi, var(--text)); }
:root[data-theme="light"] .theme-menu__head { font-family: 'IBM Plex Mono', ui-monospace, monospace; }
