/* ============================================================================
   apple.css · call a bee · „Neue Oberfläche" (Apple-Look) · v2.128.0
   ----------------------------------------------------------------------------
   Wunsch Lars (22.09.2026): „Baue mir eine komplette neue Oberfläche für die
   Software im Apple-Look-and-Feel. Diese soll zusätzlich anklickbar sein, sodass
   man die alte Oberfläche hat oder die neue moderne Oberfläche."

   Wie das gebaut ist – und warum so:
   • Die neue Oberfläche ist KEINE zweite App. Sie ist eine zweite Darstellung
     derselben Büro-Software: gleiche Masken, gleiche Knöpfe, gleiche Daten,
     gleiche Rechte. Ein zweiter Nachbau (vgl. /neu, 01./02.09.2026, zurück-
     genommen) hätte jedes Modul doppelt gebraucht und wäre sofort veraltet.
   • Geschaltet wird über die Klasse `ui-apple` am <html>. Jede Regel in dieser
     Datei beginnt mit `html.ui-apple` – ohne die Klasse wirkt hier NICHTS, die
     klassische Oberfläche bleibt Pixel für Pixel wie sie ist. Das prüft der
     Wächter tests/_test-apple-oberflaeche.cjs.
   • Die Graupalette „slate" (7.300 Stellen in app.js) tauscht der Kopf von
     index.html beim Laden gegen Apples neutrale Grautöne – deshalb wirkt der
     Wechsel sofort in JEDEM Modul, auch in denen, die diese Datei nicht kennt.
   • Gemerkt wird die Wahl pro Browser (localStorage cab.ui). Umschalten:
     Knopf „Klassisch | Neu" oben rechts oder Einstellungen → Darstellung.

   Was bewusst NICHT angefasst wird: die Auftrags-Statusfarben (--cab-st-*, die
   liest app.js als Daten aus), die Warnfarben (rot/grün/bernstein tragen
   Bedeutung) und das CI-Gelb als Farbe der EINEN Hauptaktion.
   ============================================================================ */

/* ── 1) Grundwerte: Apple-Neutraltöne statt Schieferblau ─────────────────── */
html.ui-apple{
  --ap-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", "Inter", system-ui, sans-serif;
  --ap-bg:        #f5f5f7;                 /* Fenstergrund (apple.com-Grau) */
  --ap-surface:   #ffffff;
  --ap-fill:      rgba(118,118,128,.12);   /* iOS „tertiary fill" – Suchfeld, Segmente */
  --ap-fill-2:    rgba(118,118,128,.08);
  --ap-sep:       rgba(60,60,67,.14);      /* Haarlinie */
  --ap-label:     #1d1d1f;
  --ap-label-2:   #6e6e73;
  --ap-glass:     rgba(250,250,252,.72);   /* Glas der Leisten */
  --ap-sidebar:   rgba(242,242,247,.78);
  --ap-hover:     rgba(0,0,0,.045);
  --ap-selected:  rgba(0,0,0,.075);
  --ap-accent:    #f5c800;                 /* CI-Gelb als „Akzentfarbe" wie in macOS */
  --ap-accent-ink:#8a6d00;                 /* gelbe Schrift/Symbole auf hellem Grund */
  --ap-ring:      0 0 0 4px rgba(245,200,0,.38);
  --ap-shadow-1:  0 1px 2px rgba(0,0,0,.04), 0 2px 8px rgba(0,0,0,.04);
  --ap-shadow-2:  0 4px 12px rgba(0,0,0,.06), 0 12px 32px rgba(0,0,0,.08);
  --ap-shadow-3:  0 24px 64px rgba(0,0,0,.22), 0 2px 10px rgba(0,0,0,.08);

  /* Design-Baukasten (theme.css) auf Apple-Werte – alle .cab-*-Bausteine folgen */
  --cab-bg:#f5f5f7; --cab-surface:#ffffff; --cab-surface-2:#f2f2f7;
  --cab-zebra:#f5f5f7; --cab-zebra-hover:#ececf0;
  --cab-line:#e5e5ea; --cab-text:#1d1d1f; --cab-text-2:#6e6e73;
  --cab-radius:14px; --cab-radius-sm:10px;
  --cab-shadow:var(--ap-shadow-1); --cab-shadow-lg:var(--ap-shadow-2);
  --cab-focus:var(--ap-ring);

  /* Eingabemasken (masken.css): Felder wie in iOS – grau gefüllt, ohne harte Kante */
  --mk-gold:#f5c800; --mk-gold-tint:#fff7c2; --mk-gold-deep:#8a6d00;
  --mk-ink:#1d1d1f; --mk-ink-soft:#48484a; --mk-muted:#8e8e93;
  --mk-sec-bg:#ffffff; --mk-sec-line:#e5e5ea;
  --mk-field-bg:#f2f2f7; --mk-field-line:#e5e5ea;
  --mk-foot-bg:rgba(250,250,252,.9); --mk-line:#e5e5ea;
}
html.ui-apple.dark{
  --ap-bg:#000000; --ap-surface:#1c1c1e;
  --ap-fill:rgba(118,118,128,.24); --ap-fill-2:rgba(118,118,128,.16);
  --ap-sep:rgba(84,84,88,.6);
  --ap-label:#f5f5f7; --ap-label-2:#98989d;
  --ap-glass:rgba(28,28,30,.72);
  --ap-sidebar:rgba(28,28,30,.82);
  --ap-hover:rgba(255,255,255,.06); --ap-selected:rgba(255,255,255,.1);
  --ap-accent-ink:#ffd60a;
  --ap-shadow-1:none; --ap-shadow-2:0 12px 32px rgba(0,0,0,.5);
  --ap-shadow-3:0 24px 64px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.08);

  --cab-bg:#000000; --cab-surface:#1c1c1e; --cab-surface-2:#2c2c2e;
  --cab-zebra:#232325; --cab-zebra-hover:#2c2c2e;
  --cab-line:#38383a; --cab-text:#f5f5f7; --cab-text-2:#98989d;
}

/* ── 2) Schrift & Grund ──────────────────────────────────────────────────── */
html.ui-apple,
html.ui-apple body{ font-family:var(--ap-font) }
html.ui-apple body{
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  letter-spacing:-.003em; background:var(--ap-bg) !important; color:var(--ap-label);
}
html.ui-apple h1, html.ui-apple h2, html.ui-apple h3{ letter-spacing:-.018em }
/* Seitentitel als „Large Title" – das Erkennungszeichen jeder Apple-App */
html.ui-apple #main h1.text-2xl,
html.ui-apple #main h1.text-xl{ font-size:30px; line-height:1.15; font-weight:700; letter-spacing:-.024em }
html.ui-apple #main h1 + p{ color:var(--ap-label-2) }

/* Rundungen: Apple nutzt größere, weiche Ecken */
html.ui-apple .rounded-md{ border-radius:8px }
html.ui-apple .rounded-lg{ border-radius:10px }
html.ui-apple .rounded-xl{ border-radius:14px }
html.ui-apple .rounded-2xl{ border-radius:18px }

/* Schatten: leise, weich, mehrlagig statt Rahmen */
html.ui-apple .shadow-sm{ box-shadow:var(--ap-shadow-1) !important }
html.ui-apple .shadow,
html.ui-apple .shadow-md{ box-shadow:var(--ap-shadow-2) !important }
html.ui-apple .shadow-lg,
html.ui-apple .shadow-xl,
html.ui-apple .shadow-2xl{ box-shadow:var(--ap-shadow-3) !important }

/* Die handgesetzten Hellmodus-Grautöne der klassischen Oberfläche (index.html) → Apple */
html.ui-apple:not(.dark) .bg-slate-100{ background-color:#f2f2f7 }
html.ui-apple:not(.dark) .bg-slate-50{ background-color:#f9f9fb }
html.ui-apple:not(.dark) .hover\:bg-slate-100:hover{ background-color:#ebebf0 }
html.ui-apple:not(.dark) .border-slate-200{ border-color:#e5e5ea }
html.ui-apple:not(.dark) .border-slate-100{ border-color:#efeff4 }

/* Fokus: der weiche Akzent-Ring aus macOS statt einer harten Linie */
html.ui-apple :focus-visible{ outline:none !important; box-shadow:var(--ap-ring) !important; border-radius:8px }

/* Rollbalken: schmal und zurückhaltend wie in macOS */
html.ui-apple ::-webkit-scrollbar{ width:9px; height:9px }
html.ui-apple ::-webkit-scrollbar-thumb{ background:rgba(0,0,0,.22); border-radius:9px; border:2px solid transparent; background-clip:padding-box }
html.ui-apple.dark ::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.24); background-clip:padding-box }
html.ui-apple ::selection{ background:rgba(245,200,0,.35) }

/* ── 3) Seitenleiste: Glas statt Anthrazit (macOS-„Source List") ─────────── */
html.ui-apple #sidebar{
  background:var(--ap-sidebar) !important; color:var(--ap-label) !important;
  -webkit-backdrop-filter:saturate(180%) blur(30px); backdrop-filter:saturate(180%) blur(30px);
  border-right:1px solid var(--ap-sep) !important;
}
/* Die Anthrazit-Überschreibungen der klassischen Oberfläche zurücknehmen */
html.ui-apple:not(.dark) #sidebar .border-slate-200,
html.ui-apple:not(.dark) #sidebar .border-slate-100,
html.ui-apple:not(.dark) #sidebar .border-slate-700{ border-color:var(--ap-sep) !important }
html.ui-apple:not(.dark) #sidebar .font-bold{ color:var(--ap-label) }
html.ui-apple:not(.dark) #sidebar .text-slate-700{ color:#1d1d1f !important }
html.ui-apple:not(.dark) #sidebar .text-slate-600{ color:#3a3a3c !important }
html.ui-apple:not(.dark) #sidebar .text-slate-500{ color:#6e6e73 !important }
html.ui-apple:not(.dark) #sidebar .text-slate-400{ color:#636366 !important }   /* v2.145.0: war #8e8e93 = 2,9:1 */
html.ui-apple:not(.dark) #sidebar .text-slate-300{ color:#6e6e73 !important }
html.ui-apple:not(.dark) #sidebar .text-brand-500{ color:var(--ap-accent-ink) !important }
html.ui-apple:not(.dark) #sidebar .bg-slate-100{ background-color:var(--ap-fill) !important }
html.ui-apple:not(.dark) #sidebar .hover\:bg-slate-100:hover,
html.ui-apple:not(.dark) #sidebar .hover\:bg-slate-200:hover{ background-color:var(--ap-hover) !important }
html.ui-apple:not(.dark) #sidebar img[src*="bee-dark"]{ display:block !important }
html.ui-apple:not(.dark) #sidebar img[src*="bee-gelb"]{ display:none !important }
html.ui-apple:not(.dark) #sidebar #meInit{ background:linear-gradient(180deg,#fce147,#f5c800) !important; color:#1d1d1f !important }
html.ui-apple.dark #sidebar #meInit{ background:linear-gradient(180deg,#fce147,#f5c800) !important; color:#1d1d1f !important }
html.ui-apple #sidebar > div:first-child{ border-bottom-color:transparent !important }

/* Zeilen: kompakte, abgerundete Einträge; Auswahl = weiche Pille (kein Balken) */
html.ui-apple #sidebar #nav a.nav-link{ border-radius:8px; padding-top:.4rem; padding-bottom:.4rem; font-weight:500 }
html.ui-apple #sidebar #nav a.nav-link:hover{ background:var(--ap-hover) }
html.ui-apple .cab-nav-on,
html.ui-apple .cab-nav-sub-on{ background:var(--ap-selected) !important; color:var(--ap-label) !important; font-weight:600 }
html.ui-apple .cab-nav-on::before{ display:none }
html.ui-apple .cab-nav-sub-on::before{ box-shadow:none; background:var(--ap-accent) }
html.ui-apple #sidebar #nav .nav-icon{ color:var(--ap-accent-ink); opacity:.9 }
html.ui-apple #sidebar #nav a:hover .nav-icon,
html.ui-apple #sidebar #nav .cab-nav-on .nav-icon{ opacity:1; color:var(--ap-accent-ink) }
html.ui-apple .nav-grp-linie{ background:var(--ap-sep) }
html.ui-apple .cab-nav-fach::before{ background:var(--ap-sep) }

/* ── 4) Kopfleiste & Reiterleiste: Glas mit Haarlinie ────────────────────── */
html.ui-apple header.sticky,
html.ui-apple #hubBar{
  background:var(--ap-glass) !important;
  -webkit-backdrop-filter:saturate(180%) blur(20px); backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--ap-sep) !important;
}
/* Suchfeld als Apple-Suchfeld (grau gefüllt, rund) */
html.ui-apple #searchBtn{ background:var(--ap-fill) !important; border-radius:10px; color:var(--ap-label-2) }
html.ui-apple #searchBtn:hover{ box-shadow:none; background:var(--ap-fill) !important; filter:brightness(.97) }
html.ui-apple #searchBtn kbd{ border:none; background:rgba(0,0,0,.06); border-radius:5px; font-family:var(--ap-font) }
html.ui-apple.dark #searchBtn kbd{ background:rgba(255,255,255,.1) }
html.ui-apple #askDataBtn{ background:var(--ap-fill) !important; border-radius:999px }
/* Knöpfe der Kopfleiste: Kapseln */
html.ui-apple header.sticky #bueroBtn,
html.ui-apple header.sticky #callBtn{ border-radius:999px; padding-left:.85rem; padding-right:.85rem }
html.ui-apple header.sticky #callBtn{ border-color:transparent; background:var(--ap-fill) }
html.ui-apple header.sticky #themeBtn,
html.ui-apple header.sticky #alertBell,
html.ui-apple header.sticky #menuBtn,
html.ui-apple header.sticky #sidebarMiniBtn{ border-radius:999px }

/* Aufklapp-Tafeln (Glocke, Team anrufen): Popover mit Glas */
html.ui-apple #alertPanel,
html.ui-apple #callPanel{
  background:var(--ap-glass) !important; border:1px solid var(--ap-sep) !important; border-radius:14px;
  -webkit-backdrop-filter:saturate(180%) blur(28px); backdrop-filter:saturate(180%) blur(28px);
}

/* ── 5) Karten: weiß auf Grau, ohne Rahmen, mit leisem Schatten ──────────── */
html.ui-apple .cab-card{ border-color:transparent; border-radius:16px; box-shadow:var(--ap-shadow-1) }
html.ui-apple.dark .cab-card{ border-color:transparent }
html.ui-apple:not(.dark) #main .bg-white.border.rounded-xl,
html.ui-apple:not(.dark) #main .bg-white.border.rounded-2xl{ border-color:transparent !important; box-shadow:var(--ap-shadow-1) }
/* Kartenkopf: ruhige Überschrift im Satzstil statt GROSSBUCHSTABEN */
html.ui-apple .cab-card > div:first-child h3.uppercase{
  text-transform:none; letter-spacing:-.01em; font-size:15px; font-weight:600; color:var(--ap-label);
}
html.ui-apple .cab-card > div:first-child{ border-bottom-color:var(--ap-sep) !important }
html.ui-apple .cab-card-title{ letter-spacing:-.01em }

/* ── 6) Knöpfe ───────────────────────────────────────────────────────────── */
html.ui-apple .cab-btn{ border-radius:10px; font-weight:590; letter-spacing:-.005em }
html.ui-apple .cab-btn-primary,
html.ui-apple button.bg-brand-400,
html.ui-apple button.bg-brand-500{
  background-image:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0));
  box-shadow:0 1px 2px rgba(0,0,0,.12), inset 0 0 0 .5px rgba(0,0,0,.08);
}
html.ui-apple .cab-btn-ghost{ border-color:transparent; background:var(--ap-fill); color:var(--ap-label) }   /* v2.171.0: Schrift voll statt grau (⋯ lag bei 4,47:1) */
html.ui-apple .cab-btn-ghost:hover{ color:var(--ap-label); border-color:transparent; filter:brightness(.97) }
html.ui-apple .cab-btn-quiet:hover{ background:var(--ap-fill-2) }
html.ui-apple .cab-btn:active,
html.ui-apple button:active{ transform:scale(.98) }
/* Aktiver Reiter/Filter: dunkle Kapsel (apple.com-Filterleisten) */
html.ui-apple .cab-tab-on{ border-radius:999px !important }

/* Segment-Schalter (Kontrast, Dichte, …) = Apple „Segmented Control" */
html.ui-apple .mk-toggle{ background:var(--ap-fill); border:none; border-radius:9px; padding:2px; gap:0 }
html.ui-apple .mk-toggle button{ border-radius:7px; font-weight:500; color:var(--ap-label); padding:6px 14px }
html.ui-apple .mk-toggle button.on,
html.ui-apple body.mask-strong .mk-toggle button.on{
  background:#fff; color:#1d1d1f; font-weight:600;
  box-shadow:0 3px 8px rgba(0,0,0,.12), 0 3px 1px rgba(0,0,0,.04);
}
html.ui-apple.dark .mk-toggle button.on,
html.ui-apple.dark body.mask-strong .mk-toggle button.on{ background:#636366; color:#fff }

/* ── 7) Eingabefelder ────────────────────────────────────────────────────── */
html.ui-apple #main input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):not([type=range]),
html.ui-apple #main select,
html.ui-apple #main textarea{ border-radius:10px }
html.ui-apple #modalBox input:focus,
html.ui-apple #modalBox select:focus,
html.ui-apple #modalBox textarea:focus,
html.ui-apple #main input:focus,
html.ui-apple #main select:focus,
html.ui-apple #main textarea:focus{ outline:none; border-color:var(--ap-accent) !important; box-shadow:var(--ap-ring) !important }
html.ui-apple input[type=checkbox],
html.ui-apple input[type=radio]{ accent-color:#f5c800 }

/* ── 8) Fenster (Masken) als Apple-„Sheet" ───────────────────────────────── */
html.ui-apple #modal > [data-modal-close]{
  background:rgba(0,0,0,.28) !important;
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
html.ui-apple #modalBox,
html.ui-apple #modalBox2{ border-radius:20px !important; border-color:transparent !important; box-shadow:var(--ap-shadow-3) !important }
html.ui-apple.dark #modalBox,
html.ui-apple.dark #modalBox2{ background:#1c1c1e !important }
html.ui-apple #modalBox2{ border:1px solid rgba(245,200,0,.55) !important }
html.ui-apple #reactAuftragHost{ background:rgba(0,0,0,.28) !important; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px) }

/* Aufklapp-Menü „⋯" als macOS-Kontextmenü */
html.ui-apple .cab-more-pop{
  background:var(--ap-glass); border:1px solid var(--ap-sep); border-radius:12px; padding:5px;
  -webkit-backdrop-filter:saturate(180%) blur(28px); backdrop-filter:saturate(180%) blur(28px);
  box-shadow:var(--ap-shadow-2);
}

/* ── 9) Tabellen & Listen ────────────────────────────────────────────────── */
html.ui-apple #main table thead th{ font-weight:600; color:var(--ap-label-2); letter-spacing:0 }
html.ui-apple #main table:not(.dt-table) tbody tr:nth-child(even) > td,
html.ui-apple #modalBox table:not(.dt-table) tbody tr:nth-child(even) > td{ background-color:var(--cab-zebra) }

/* ── 10) Meldungen (Toast) als schwebende Kapsel ─────────────────────────── */
html.ui-apple #toast > div{
  border-radius:999px !important; padding:.65rem 1.1rem;
  background:rgba(29,29,31,.86) !important; color:#fff !important;
  -webkit-backdrop-filter:saturate(180%) blur(20px); backdrop-filter:saturate(180%) blur(20px);
  box-shadow:0 10px 30px rgba(0,0,0,.25) !important; font-weight:500;
}
html.ui-apple.dark #toast > div{ background:rgba(242,242,247,.9) !important; color:#1d1d1f !important }

/* ── 11) Anmeldung ───────────────────────────────────────────────────────── */
html.ui-apple #authGate,
html.ui-apple #pwChangeGate{ background:radial-gradient(1200px 600px at 50% -10%,#ffffff 0%,#f5f5f7 55%,#ececf0 100%) !important }
html.ui-apple.dark #authGate,
html.ui-apple.dark #pwChangeGate{ background:radial-gradient(1200px 600px at 50% -10%,#2c2c2e 0%,#000 60%) !important }
/* v2.191.0: alle vier Anmelde-Fenster (Anmelden · Zwei-Faktor-Code · Passwort vergessen · Passwort ändern) wie die
   Anmeldung am Mac – Logo groß oben mittig, Titel, grau gefüllte Felder, runder Knopf, Link ohne Unterstrich */
html.ui-apple :is(#loginForm,#zfaForm,#forgotForm,#pwChangeForm){ border:none !important; border-radius:22px !important; box-shadow:var(--ap-shadow-3) !important;
  padding:2.25rem 2rem 1.75rem !important; max-width:380px }
html.ui-apple :is(#loginForm,#zfaForm,#forgotForm,#pwChangeForm) > .flex.items-center:first-child{ flex-direction:column; text-align:center; gap:10px; margin-bottom:.5rem }
html.ui-apple :is(#loginForm,#zfaForm,#forgotForm,#pwChangeForm) > .flex.items-center:first-child img{ height:56px }
html.ui-apple :is(#loginForm,#zfaForm,#forgotForm,#pwChangeForm) > .flex.items-center:first-child .font-bold{ font-size:22px; font-weight:700; letter-spacing:-.02em }
html.ui-apple :is(#loginForm,#zfaForm,#forgotForm,#pwChangeForm) > .flex.items-center:first-child .text-xs{ font-size:13px; color:var(--ap-label-2) !important; margin-top:2px }
html.ui-apple :is(#loginForm,#zfaForm,#forgotForm,#pwChangeForm) label{ font-size:12px !important; font-weight:500; color:var(--ap-label-2) !important; margin-left:2px }
html.ui-apple :is(#loginForm,#zfaForm,#forgotForm,#pwChangeForm) input{ background:var(--ap-fill) !important; border-color:transparent !important; border-radius:10px !important;
  min-height:44px; font-size:15px !important; padding-left:.85rem !important }
html.ui-apple :is(#loginForm,#zfaForm,#forgotForm,#pwChangeForm) input:focus{ background:var(--ap-surface) !important; box-shadow:var(--ap-ring) !important }
html.ui-apple :is(#loginForm,#zfaForm,#forgotForm,#pwChangeForm) button[type=submit]{ min-height:46px; border-radius:12px !important; background:#f5c800 !important; font-size:15px; box-shadow:0 1px 2px rgba(0,0,0,.1) }
html.ui-apple :is(#loginForm,#zfaForm,#forgotForm,#pwChangeForm) button[type=button].underline{ text-decoration:none; color:var(--ap-accent-ink) !important; font-size:13px !important; font-weight:500 }
html.ui-apple :is(#loginForm,#zfaForm,#forgotForm,#pwChangeForm) button[type=button].underline:hover{ text-decoration:underline }

/* ── 12) Handy: Tab-Leiste unten wie in iOS ──────────────────────────────── */
@media (max-width:768px){
  html.ui-apple #bottomNav.cab-bnav{
    background:var(--ap-glass); border-top:1px solid var(--ap-sep); box-shadow:none;
    -webkit-backdrop-filter:saturate(180%) blur(20px); backdrop-filter:saturate(180%) blur(20px);
  }
  html.ui-apple .cab-bnav-item{ color:#8e8e93 }
  html.ui-apple .cab-bnav-item.is-active{ color:var(--ap-accent-ink) }
  html.ui-apple .cab-bnav-item.is-active .cab-bnav-ic::after{ display:none }
  html.ui-apple .cab-bnav-lbl{ font-weight:500; font-size:10px }
  html.ui-apple #main h1.text-2xl{ font-size:28px }
}
/* Kopfleiste am Handy: passte schon klassisch nicht (455 px Inhalt auf 375 px Bildschirm, die
   Glocke rutschte aus dem Bild). Hier darf das Suchfeld schrumpfen, das ⌘K-Kürzel (am Handy
   sinnlos) entfällt, Abstände werden enger – alles bleibt im Bild. */
@media (max-width:640px){
  html.ui-apple header.sticky{ gap:.375rem; padding-left:.625rem; padding-right:.625rem }
  html.ui-apple #searchBtn{ min-width:0; width:auto; flex:1 1 0 }
  html.ui-apple #searchBtn kbd{ display:none }
  html.ui-apple header.sticky .ml-auto{ gap:0; flex:none }
  html.ui-apple header.sticky #bueroBtn,
  html.ui-apple header.sticky #callBtn{ padding-left:.6rem; padding-right:.6rem; margin-right:.125rem }
}

/* ── 13) Der Umschalter „Klassisch | Neu" (Kopfleiste) ───────────────────────
   Gehört zu BEIDEN Oberflächen – deshalb als einzige Regeln hier ohne ui-apple:
   ausschließlich über die eigene Klasse .cab-ui-switch, damit sie nirgends sonst
   greift (der Wächter lässt genau diese Ausnahme zu). */
.cab-ui-switch{ display:inline-flex; align-items:center; gap:2px; padding:2px; border-radius:999px;
  background:rgba(100,116,139,.14); margin-right:.25rem; flex:none }
.cab-ui-switch button{ border:0; background:transparent; cursor:pointer; font-size:12px; font-weight:600;
  line-height:1; padding:6px 11px; border-radius:999px; color:inherit; opacity:.7; white-space:nowrap }
.cab-ui-switch button:hover{ opacity:1 }
.cab-ui-switch button.on{ opacity:1; background:#fff; color:#1d1d1f; box-shadow:0 1px 3px rgba(0,0,0,.14) }
html.dark .cab-ui-switch{ background:rgba(148,163,184,.18) }
html.dark .cab-ui-switch button.on{ background:#475569; color:#fff }
html.ui-apple.dark .cab-ui-switch button.on{ background:#636366 }

/* ════════════════════════════════════════════════════════════════════════════
   NEUE OBERFLÄCHE – Hülle und Ansichten aus public/admin/mod/neu.js (v2.135.0)
   Leiste mit sieben Räumen + „Braucht jemanden", Segmente über dem Inhalt,
   Heute · Aufträge mit Inspektor · Abrechnen. Alle Regeln hängen an html.ui-apple.
   ════════════════════════════════════════════════════════════════════════════ */
/* Segmentleiste: in „Neu" immer sichtbar (klassisch nur am Handy) */
html.ui-apple body #hubBar.nx-an{ display:block !important; top:4rem; padding:.5rem 1.25rem }
html.ui-apple .nx-segbar{ display:flex; align-items:center; gap:14px; overflow-x:auto }
html.ui-apple .nx-raum{ font-size:15px; font-weight:600; white-space:nowrap }
html.ui-apple .nx-seg{ display:inline-flex; background:var(--ap-fill); border-radius:9px; padding:2px; gap:0; flex:none }
html.ui-apple .nx-seg button{ border:0; background:none; font:inherit; font-size:12.5px; font-weight:500; color:var(--ap-label);
  padding:5px 12px; border-radius:7px; cursor:pointer; white-space:nowrap }
html.ui-apple .nx-seg button.on{ background:var(--ap-surface); font-weight:600; box-shadow:0 1px 3px rgba(0,0,0,.14),0 1px 1px rgba(0,0,0,.04) }
html.ui-apple.dark .nx-seg button.on{ background:#636366 }

/* Seitenleiste */
html.ui-apple .nx-leiste{ display:flex; flex-direction:column; gap:1px; min-height:100% }
html.ui-apple .nx-si{ display:flex; align-items:center; gap:10px; width:100%; height:32px; padding:0 10px; border:0; border-radius:8px;
  background:none; font:inherit; font-size:13.5px; color:var(--ap-label); text-align:left; cursor:pointer }
html.ui-apple .nx-si svg{ color:var(--ap-accent-ink); flex:none }
html.ui-apple .nx-si:hover{ background:var(--ap-hover) }
html.ui-apple .nx-si.on{ background:var(--ap-selected); font-weight:600 }
html.ui-apple .nx-si.nx-eng svg{ color:var(--ap-label-2) }
html.ui-apple .nx-si span:first-of-type{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
/* v2.256.0: Zähler grau wie in Mail/Finder – Rot nur, wo wirklich etwas überfällig ist (Termin liegt zurück) */
html.ui-apple .nx-n{ font-size:12px; font-weight:500; color:var(--ap-label-2); font-variant-numeric:tabular-nums }
html.ui-apple .nx-eng[data-k="zurueck"] .nx-n{ color:#c93400; font-weight:600 }
html.ui-apple.dark .nx-eng[data-k="zurueck"] .nx-n{ color:#ff9f0a }
html.ui-apple .nx-sh{ font-size:11px; font-weight:600; color:var(--ap-label-2); padding:16px 10px 5px }
html.ui-apple .nx-sh-unten{ margin-top:auto; padding-top:10px; border-bottom:1px solid var(--ap-sep); margin-bottom:6px }
html.ui-apple .nx-leer{ font-size:12px; color:var(--ap-label-2); padding:4px 10px }
html.ui-apple body.nav-mini .nx-si span,
html.ui-apple body.nav-mini .nx-sh,
html.ui-apple body.nav-mini .nx-leer{ display:none }
/* v2.170.0: Räume aufklappbar – Pfeil rechts, darunter die Seiten des Raums eingerückt */
html.ui-apple .nx-rz{ position:relative }
html.ui-apple .nx-si.nx-si-k{ padding-right:36px }
html.ui-apple .nx-pf{ position:absolute; right:2px; top:2px; width:28px; height:28px; display:grid; place-items:center; border:0; border-radius:7px;
  background:none; color:var(--ap-label-2); cursor:pointer }
html.ui-apple .nx-pf:hover{ background:var(--ap-hover); color:var(--ap-label) }
html.ui-apple .nx-pf svg{ transition:transform .15s ease }
html.ui-apple .nx-pf.auf svg{ transform:rotate(90deg) }
html.ui-apple .nx-unter{ display:flex; flex-direction:column; gap:1px; margin:1px 0 4px }
html.ui-apple .nx-si.nx-si2{ height:30px; padding-left:37px; font-size:13px; color:var(--ap-label-2) }
html.ui-apple .nx-si.nx-si2:hover{ color:var(--ap-label) }
html.ui-apple .nx-si.nx-si2.on{ color:var(--ap-label) }
html.ui-apple body.nav-mini .nx-pf,
html.ui-apple body.nav-mini .nx-unter{ display:none }
/* v2.170.0: Seiten, die fest unter der Kopfleiste stehen (E-Mail), beginnen unter der Segmentleiste */
html.ui-apple .em-root{ top:calc(4rem + var(--nx-hub-h, 0px)) }
html.ui-apple #einstNav{ top:calc(5rem + var(--nx-hub-h, 0px)) }

/* Gemeinsame Bausteine */
html.ui-apple .nx-seite{ padding:10px 14px 24px; max-width:1500px }
html.ui-apple .nx-kopf{ display:flex; align-items:flex-end; gap:24px; margin-bottom:18px }
html.ui-apple .nx-kopf > div:first-child{ flex:1 }
html.ui-apple .nx-lt{ font-size:30px; font-weight:700; letter-spacing:-.024em; margin:0; line-height:1.15 }
html.ui-apple .nx-sub{ color:var(--ap-label-2); font-size:13px; margin-top:3px }
html.ui-apple .nx-hd{ font-size:13px; font-weight:600; color:var(--ap-label); letter-spacing:-.005em; margin:0 4px 7px }   /* v2.171.0: Satzstil statt GROSSBUCHSTABEN */
html.ui-apple .nx-grp{ background:var(--ap-surface); border-radius:14px; box-shadow:var(--ap-shadow-1); overflow:hidden }
html.ui-apple.dark .nx-grp{ background:#1c1c1e }
html.ui-apple .nx-row{ display:flex; align-items:center; gap:12px; min-height:48px; padding:8px 16px; width:100%; box-sizing:border-box;
  border:0; background:none; font:inherit; color:inherit; text-align:left }
html.ui-apple .nx-row + .nx-row{ border-top:1px solid var(--ap-sep) }
html.ui-apple .nx-row-btn{ cursor:pointer }
html.ui-apple .nx-row-btn:hover{ background:var(--ap-hover) }
html.ui-apple .nx-grow{ flex:1; min-width:0 }
html.ui-apple .nx-grow b{ font-weight:600; display:block }
html.ui-apple .nx-grow small{ display:block; color:var(--ap-label-2); font-size:12px; margin-top:1px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
html.ui-apple .nx-zahl{ font-size:17px; font-weight:700; font-variant-numeric:tabular-nums }
html.ui-apple .nx-ch{ color:var(--ap-label-2); opacity:.6; display:flex }
html.ui-apple .nx-sq{ width:30px; height:30px; border-radius:8px; display:flex; align-items:center; justify-content:center; color:#fff; flex:none; background:#8e8e93 }
html.ui-apple .nx-sq-anrufe{ background:#ff3b30 } html.ui-apple .nx-sq-eingang{ background:#ff9500 }
html.ui-apple .nx-sq-ohne{ background:#0a84ff } html.ui-apple .nx-sq-abrechnen{ background:#f5c800; color:#1d1d1f }
html.ui-apple .nx-sq-zettel{ background:#34c759 } html.ui-apple .nx-sq-chat{ background:#30b0c7 } html.ui-apple .nx-sq-zurueck{ background:#8e8e93 }
html.ui-apple .nx-hinweis{ font-size:12px; color:var(--ap-label-2); margin:8px 4px }
html.ui-apple .nx-2sp{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:24px }
@media (max-width:1100px){ html.ui-apple .nx-2sp{ grid-template-columns:minmax(0,1fr) } }
html.ui-apple .nx-sp{ min-width:0 }
html.ui-apple .nx-kacheln{ display:flex; flex-direction:column; gap:16px; margin-top:18px }
html.ui-apple .nx-av{ display:inline-flex; width:22px; height:22px; border-radius:50%; align-items:center; justify-content:center;
  font-size:9.5px; font-weight:700; color:#1d1d1f; background:#f5c800; margin-right:3px; vertical-align:middle }
html.ui-apple .nx-pill{ display:inline-flex; align-items:center; gap:5px; font-size:11.5px; font-weight:500; padding:2px 9px; border-radius:999px;
  background:var(--ap-fill); color:var(--ap-label); white-space:nowrap }
html.ui-apple .nx-pill i{ width:7px; height:7px; border-radius:50% }
html.ui-apple .nx-seit{ color:var(--ap-label-2); font-size:12px; width:70px; text-align:right }
html.ui-apple .nx-bp,
html.ui-apple .nx-bs{ display:inline-flex; align-items:center; gap:6px; height:30px; padding:0 13px; border:0; border-radius:8px;
  font:inherit; font-size:13px; font-weight:600; cursor:pointer; white-space:nowrap }
html.ui-apple .nx-bp{ background:#f5c800; color:#1d1d1f; box-shadow:0 1px 1.5px rgba(0,0,0,.12) }
html.ui-apple .nx-bs{ background:var(--ap-fill); color:var(--ap-label); font-weight:500 }
html.ui-apple .nx-bs[disabled]{ opacity:.45; cursor:default }
html.ui-apple .nx-klein{ height:26px; padding:0 10px; font-size:12px }
html.ui-apple .nx-mono{ font-family:ui-monospace,"SF Mono",Menlo,monospace; font-size:12px; color:var(--ap-label-2) }
html.ui-apple .nx-num{ font-variant-numeric:tabular-nums }
html.ui-apple .nx-b{ font-weight:500 }
html.ui-apple .nx-m{ color:var(--ap-label-2) }
html.ui-apple .nx-rot{ color:#c4001a }
html.ui-apple.dark .nx-rot{ color:#ff6961 }
html.ui-apple .nx-link{ font-size:12.5px; color:var(--ap-accent-ink); font-weight:500 }
html.ui-apple .nx-pop{ position:absolute; right:0; top:calc(100% + 6px); z-index:60; min-width:190px; padding:5px; border-radius:12px;
  background:var(--ap-surface); border:1px solid var(--ap-sep); box-shadow:var(--ap-shadow-2) }
html.ui-apple .nx-pop button{ display:block; width:100%; text-align:left; border:0; background:none; font:inherit; font-size:13px; padding:7px 10px; border-radius:7px; cursor:pointer; color:var(--ap-label) }
html.ui-apple .nx-pop button:hover{ background:#f5c800; color:#1d1d1f }
html.ui-apple header.sticky #nxNeuBtn{ margin-right:4px }
/* Die alte Büroarbeit-Kapsel steht in „Neu" in Heute und im Neu-Menü */
html.ui-apple header.sticky #bueroBtn{ display:none !important }

/* v2.256.0: Werkzeugleiste wie eine Mac-App – Raum und Segmente stehen am Desktop IN der Kopfleiste
   (#nxKopf, neu.js), die zweite Leiste darunter fällt weg. nxKopfPasst() setzt html.nx-kopf-an nur,
   wenn alle Segmente hineinpassen; sonst bleibt alles wie vorher in #hubBar. */
html.ui-apple .nx-tb{ display:none }
@media (min-width:1024px){
  html.ui-apple.nx-kopf-an .nx-tb{ display:flex; align-items:center; flex:1 1 auto; min-width:0; overflow:hidden }
  html.ui-apple.nx-kopf-an .nx-tb .nx-segbar{ flex:1 0 auto; overflow:visible; gap:18px }
  html.ui-apple.nx-kopf-an .nx-tb .nx-raum{ font-size:17px; font-weight:700; letter-spacing:-.2px }
  html.ui-apple.nx-kopf-an .nx-tb .nx-seg{ margin:0 auto }
  html.ui-apple.nx-kopf-kurz .nx-tb .nx-raum{ display:none }
  html.ui-apple.nx-kopf-an body #hubBar.nx-an{ display:none !important }
  html.ui-apple.nx-kopf-an header.sticky #searchBtn{ flex:none; width:170px; max-width:170px }
  html.ui-apple header.sticky #askDataBtn > span:first-child{ display:none }
  /* „Team anrufen" als Symbol-Knopf (Text bleibt im title) – schafft Platz für die Segmente */
  html.ui-apple.nx-kopf-an header.sticky #callBtn{ font-size:0; gap:0; width:36px; height:36px; padding:0; justify-content:center; margin-right:2px }
  html.ui-apple.nx-kopf-an header.sticky #callBtn::before{ content:""; width:18px; height:18px; background:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E") center/contain no-repeat;
            mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E") center/contain no-repeat }
}
/* Klassisch | Neu und Hell/Dunkel wohnen in „Neu" im Kontomenü unten in der Leiste (#nxKontoBtn) */
html.ui-apple header.sticky #uiSwitch,
html.ui-apple header.sticky #themeBtn{ display:none !important }
html.ui-apple #sidebar .nav-footer > button{ display:none }
html.ui-apple .nx-konto .nx-pf{ position:static }
html.ui-apple .nx-pop.nx-pop-oben{ top:auto; bottom:calc(100% + 6px); right:-4px; min-width:230px }
html.ui-apple .nx-pop-trenn{ height:1px; background:var(--ap-sep); margin:4px 6px }

/* Filter-Chips */
html.ui-apple .nx-filter{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; padding:2px 0 14px }
html.ui-apple .nx-chip{ display:inline-flex; align-items:center; gap:6px; height:28px; padding:0 11px; border:0; border-radius:999px;
  background:var(--ap-fill); font:inherit; font-size:12.5px; color:var(--ap-label); cursor:pointer }
html.ui-apple .nx-chip span{ color:var(--ap-label-2); font-variant-numeric:tabular-nums }
html.ui-apple .nx-chip.on{ background:#1d1d1f; color:#fff }
html.ui-apple .nx-chip.on span{ color:#c7c7cc }
html.ui-apple.dark .nx-chip.on{ background:#f5f5f7; color:#1d1d1f }
html.ui-apple.dark .nx-chip.on span{ color:#6e6e73 }
html.ui-apple .nx-such{ display:flex; align-items:center; gap:6px; height:30px; padding:0 10px; border-radius:8px; background:var(--ap-fill); color:var(--ap-label-2) }
html.ui-apple .nx-such input{ border:0 !important; background:transparent !important; outline:none; font:inherit; font-size:13px; width:200px; color:var(--ap-label); box-shadow:none !important; padding:0 }

/* Aufträge: Liste + Inspektor */
html.ui-apple .nx-split{ display:flex; gap:0; min-height:calc(100vh - 9.5rem); margin:-.25rem -.25rem 0; background:var(--ap-surface); border-radius:14px; box-shadow:var(--ap-shadow-1); overflow:hidden }
html.ui-apple.dark .nx-split{ background:#1c1c1e }
html.ui-apple .nx-liste{ flex:1; min-width:0; padding:14px 16px 10px }
html.ui-apple .nx-tab-wrap{ overflow:auto; max-height:calc(100vh - 14rem) }
html.ui-apple .nx-tab{ width:100%; border-collapse:collapse; font-size:13px }
html.ui-apple .nx-tab th{ position:sticky; top:0; background:var(--ap-surface); font-size:11.5px; font-weight:600; color:var(--ap-label-2); text-align:left; padding:7px 10px; border-bottom:1px solid var(--ap-sep); white-space:nowrap; z-index:1 }
html.ui-apple.dark .nx-tab th{ background:#1c1c1e }
html.ui-apple .nx-tab td{ padding:0 10px; height:38px; border-bottom:1px solid var(--ap-sep); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:320px }
html.ui-apple .nx-tab tbody tr{ cursor:default }
html.ui-apple .nx-tab tbody tr:hover td{ background:var(--ap-hover) }
html.ui-apple .nx-tab tr.nx-sel td{ background:rgba(245,200,0,.22) !important }
html.ui-apple #main .nx-tab tbody tr:nth-child(even) > td{ background-color:transparent }
html.ui-apple .nx-leer-td{ text-align:center; color:var(--ap-label-2); height:80px !important }
html.ui-apple .nx-insp{ width:360px; flex:none; border-left:1px solid var(--ap-sep); background:var(--ap-bg); display:flex; flex-direction:column }
html.ui-apple.dark .nx-insp{ background:#161618 }
html.ui-apple .nx-insp-leer{ align-items:center; justify-content:center; text-align:center; gap:6px; color:var(--ap-label-2); padding:24px }
html.ui-apple .nx-insp-leer b{ color:var(--ap-label); font-weight:600 }
html.ui-apple .nx-insp-leer small{ font-size:12px; max-width:240px }
html.ui-apple .nx-insp-kopf{ padding:18px 20px 14px; border-bottom:1px solid var(--ap-sep) }
html.ui-apple .nx-insp-titel{ font-size:18px; font-weight:600; letter-spacing:-.015em; margin-top:3px }
html.ui-apple .nx-chips{ display:flex; flex-wrap:wrap; gap:6px; margin-top:10px }
html.ui-apple .nx-insp-rumpf{ padding:16px 20px; flex:1; overflow:auto }
html.ui-apple .nx-kv{ display:grid; grid-template-columns:96px minmax(0,1fr); row-gap:9px; column-gap:12px; font-size:13px }
html.ui-apple .nx-kv > span:nth-child(odd){ color:var(--ap-label-2) }
html.ui-apple .nx-insp-fuss{ padding:12px 20px; border-top:1px solid var(--ap-sep); display:flex; gap:8px; justify-content:flex-end }

/* Abrechnen */
html.ui-apple .nx-kennz{ display:flex; gap:28px; text-align:right }
html.ui-apple .nx-kennz b{ display:block; font-size:26px; font-weight:700; letter-spacing:-.02em }
html.ui-apple .nx-kennz small{ color:var(--ap-label-2); font-size:12px }
html.ui-apple .nx-abr-liste{ display:flex; flex-direction:column; gap:14px; padding-bottom:80px }
html.ui-apple .nx-abr-kopf{ display:flex; align-items:center; gap:10px; padding:10px 14px; border-bottom:1px solid var(--ap-sep); background:var(--ap-bg) }
html.ui-apple.dark .nx-abr-kopf{ background:#232325 }
html.ui-apple .nx-abr-kopf small{ color:var(--ap-label-2); font-size:12px }
html.ui-apple .nx-abr-fuss{ position:sticky; bottom:0; display:flex; align-items:center; gap:12px; padding:12px 18px; margin:0 -4px;
  background:var(--ap-glass); -webkit-backdrop-filter:saturate(180%) blur(20px); backdrop-filter:saturate(180%) blur(20px);
  border-top:1px solid var(--ap-sep); border-radius:14px 14px 0 0 }
html.ui-apple .nx-liste .nx-tab{ table-layout:fixed }
html.ui-apple .nx-liste .nx-tab th:nth-child(1){ width:74px } html.ui-apple .nx-liste .nx-tab th:nth-child(4){ width:64px }
html.ui-apple .nx-liste .nx-tab th:nth-child(5){ width:150px } html.ui-apple .nx-liste .nx-tab th:nth-child(6){ width:118px }
html.ui-apple .nx-liste .nx-tab td{ max-width:none }
html.ui-apple .nx-abr-grp .nx-tab{ table-layout:fixed }
html.ui-apple .nx-abr-grp .nx-tab td:nth-child(1){ width:30px } html.ui-apple .nx-abr-grp .nx-tab td:nth-child(2){ width:76px }
html.ui-apple .nx-abr-grp .nx-tab td:nth-child(4){ width:150px } html.ui-apple .nx-abr-grp .nx-tab td:nth-child(5){ width:80px }
html.ui-apple .nx-abr-grp .nx-tab td:nth-child(6){ width:220px } html.ui-apple .nx-abr-grp .nx-tab td:nth-child(7){ width:170px }

/* ════════════════════════════════════════════════════════════════════════════
   LESBARKEIT (v2.145.0) – Wunsch Lars 22.09.2026: „so, dass alles gut lesbar ist".
   Gemessen mit einem Kontrast-Prüfer über ALLE Seiten der neuen Oberfläche
   (WCAG AA: 4,5:1 Fließtext, 3:1 ab 24 px). Behoben wird an der Ursache:
   ════════════════════════════════════════════════════════════════════════════ */
/* 1) Sehr helles Grau als SCHRIFT (IDs „T-301", Trennpunkte, „—") – als Fläche/Rahmen bleibt es */
html.ui-apple:not(.dark) .text-slate-300{ color:#6e6e73 !important }
html.ui-apple:not(.dark) kbd{ color:#5f5f64 !important }
/* 2) Kürzel-Kreise: auf den HELLEN Teamfarben ist weiße Schrift unlesbar (2,0–2,8:1) – dort dunkel
      (6–8,5:1). Dunkle Teamfarben (Violett, Rot, Indigo …) behalten Weiß. */
html.ui-apple .text-white:is([style*="f59e0b" i],[style*="14b8a6" i],[style*="0ea5e9" i],[style*="10b981" i],[style*="06b6d4" i],[style*="84cc16" i],[style*="f97316" i],[style*="fbbf24" i],[style*="22c55e" i],[style*="eab308" i]),
html.ui-apple [style*="f59e0b" i]:is(.rounded-full,.rounded-lg) > .text-white,
html.ui-apple .bg-amber-500.text-white, html.ui-apple .bg-amber-400.text-white,
html.ui-apple .bg-sky-500.text-white, html.ui-apple .bg-teal-500.text-white,
html.ui-apple .bg-emerald-500.text-white, html.ui-apple .bg-cyan-500.text-white{ color:#1d1d1f !important }
/* 3) Mindestgröße 11 px für jede Schrift im Inhalt (vorher bis hinab zu 8 px an Brett-Chips,
      Plantafel-Kalender, Stunden-Kacheln) – Zähler-Punkte in der Kopfleiste 10 px */
html.ui-apple :is(#main,#modalBox,#modalBox2,#sidebar) :is(.text-\[8px\],.text-\[8\.5px\],.text-\[9px\],.text-\[9\.5px\],.text-\[10px\],.text-\[10\.5px\]){ font-size:11px !important }
html.ui-apple :is(#main,#modalBox,#modalBox2,#sidebar) :is([style*="font-size:8px"],[style*="font-size:8.5px"],[style*="font-size:9px"],[style*="font-size:9.5px"],[style*="font-size:10px"],[style*="font-size:10.5px"]){ font-size:11px !important }
html.ui-apple #alertBadge{ font-size:10px !important; min-width:17px; height:17px }
html.ui-apple .nx-av{ font-size:10.5px; width:24px; height:24px }
/* 4) Ruhigere, aber lesbare Nebentexte der neuen Bausteine */
html.ui-apple:not(.dark){ --ap-label-2:#5f5f64 }
/* 5) Akzent- und Warnschriften (Hellmodus): die Tailwind-Töne 500/600 sind als FLÄCHE gedacht, als
      Schrift auf Weiß liegen sie bei 2,5–3,8:1. Hier die nächstdunklere, lesbare Stufe (≥ 5:1). */
html.ui-apple:not(.dark) :is(.text-brand-500,.text-brand-600,.text-brand-700){ color:#806300 !important }
html.ui-apple:not(.dark) :is(.text-amber-500,.text-amber-600){ color:#a3500a !important }
html.ui-apple:not(.dark) :is(.text-rose-500,.text-rose-600,.text-red-500){ color:#be123c !important }
html.ui-apple:not(.dark) :is(.text-emerald-500,.text-emerald-600,.text-green-500){ color:#047857 !important }
html.ui-apple:not(.dark) .text-slate-400{ color:#636366 !important }
/* 6) Weiße Schrift auf zu hellem Rot/Grau (Zähler-Punkt, PDF-Marke, Kürzel-Kreise): Fläche abdunkeln */
html.ui-apple :is(.bg-rose-500,.bg-red-500).text-white,
html.ui-apple #alertBadge{ background-color:#d70015 !important }
html.ui-apple .text-white:is([style*="f43f5e" i],[style*="ef4444" i]){ background-color:#d70015 !important }
html.ui-apple .text-white:is([style*="94a3b8" i],[style*="9aa0aa" i],[style*="cbd5e1" i]){ background-color:#6e6e73 !important }
html.ui-apple .nx-av{ font-size:11px }
/* 7) Dunkelmodus: Tailwind hat EINE Grau-Palette für beide Modi. Die für Hell abgedunkelten Text-Stufen
      (400/500/600, s. index.html) wären auf Schwarz zu dunkel – im Dunkelmodus hier wieder aufhellen.
      Werte ≥ 4,5:1 auf #1c1c1e/#2c2c2e. */
html.ui-apple.dark :is(.text-slate-300,.text-slate-400,.text-slate-500,.text-slate-600,
  .dark\:text-slate-400,.dark\:text-slate-500,.dark\:text-slate-600){ color:#a1a1a6 !important }
html.ui-apple.dark kbd{ color:#a1a1a6 !important }
html.ui-apple.dark .cab-ui-switch button{ color:#f5f5f7 }
html.ui-apple.dark kbd{ color:#d1d1d6 !important }
html.ui-apple.dark :is(.text-rose-500,.text-rose-600,.text-red-500,.text-red-600,.text-red-700,.text-red-800){ color:#ff6961 !important }
html.ui-apple.dark :is(.text-emerald-600,.text-emerald-700,.text-green-600,.text-green-700){ color:#30d158 !important }
html.ui-apple.dark .tk-cnt{ color:#9ecbff !important }
html.ui-apple:not(.dark) :is([style*="color:#10b981" i],[style*="color: #10b981" i]){ color:#047857 !important }

/* ════════════════════════════════════════════════════════════════════════════
   HANDY & TABLET (v2.145.0) – Wunsch Lars: „auch mobil auf dem Handy gut dargestellt"
   ════════════════════════════════════════════════════════════════════════════ */
html.ui-apple .nx-mob{ display:none }
html.ui-apple .nx-insp-zu{ display:none }
html.ui-apple .nx-kopf{ flex-wrap:wrap }
/* Tablet: Inspektor unter die Liste */
@media (max-width:1100px){
  html.ui-apple .nx-split{ flex-direction:column; min-height:0 }
  html.ui-apple .nx-insp{ width:auto; border-left:0; border-top:1px solid var(--ap-sep) }
  html.ui-apple .nx-insp-leer{ display:none }
  html.ui-apple .nx-insp-voll{ order:-1; border-top:0; border-bottom:1px solid var(--ap-sep) }
  html.ui-apple .nx-insp-zu{ display:flex; float:right; width:36px; height:36px; margin:-6px -8px 0 0; border:0; border-radius:50%;
    background:var(--ap-fill); color:var(--ap-label); align-items:center; justify-content:center; cursor:pointer }
  html.ui-apple .nx-tab-wrap{ max-height:none }
}
/* Handy */
@media (max-width:767px){
  html.ui-apple #main{ padding-left:12px !important; padding-right:12px !important }
  html.ui-apple #hubBar.nx-an{ top:4rem; padding:.45rem .75rem }
  html.ui-apple .nx-raum{ display:none }
  html.ui-apple .nx-seg button{ padding:7px 12px; font-size:13px }
  html.ui-apple .nx-seite{ padding:4px 0 16px }
  html.ui-apple .nx-lt{ font-size:28px }
  html.ui-apple .nx-kopf{ gap:12px; margin-bottom:14px }
  html.ui-apple .nx-kopf-akt{ width:100% }
  html.ui-apple .nx-2sp{ gap:18px }
  html.ui-apple .nx-row{ min-height:52px }
  html.ui-apple .nx-seit:empty{ display:none }
  html.ui-apple .nx-bp, html.ui-apple .nx-bs{ height:40px; padding:0 14px; font-size:14px }
  html.ui-apple .nx-klein{ height:36px; font-size:13px }
  html.ui-apple .nx-chip{ height:34px; padding:0 13px; font-size:13px }
  html.ui-apple .nx-filter{ flex-wrap:nowrap; overflow-x:auto; margin:0 -12px; padding:2px 12px 12px; scrollbar-width:none }
  html.ui-apple .nx-filter::-webkit-scrollbar{ display:none }
  html.ui-apple .nx-filter .nx-grow{ display:none }
  html.ui-apple .nx-filter .nx-chip, html.ui-apple .nx-filter .nx-link{ flex:none }
  html.ui-apple .nx-such{ flex:none; height:34px }
  html.ui-apple .nx-such input{ width:150px }
  /* Aufträge: Liste als Zeilen mit zweiter Zeile statt breiter Tabelle */
  html.ui-apple .nx-split{ margin:0; border-radius:14px }
  html.ui-apple .nx-liste{ padding:12px 12px 6px }
  html.ui-apple .nx-liste .nx-tab th:nth-child(3), html.ui-apple .nx-liste .nx-tab td:nth-child(3),
  html.ui-apple .nx-liste .nx-tab th:nth-child(4), html.ui-apple .nx-liste .nx-tab td:nth-child(4),
  html.ui-apple .nx-liste .nx-tab th:nth-child(5), html.ui-apple .nx-liste .nx-tab td:nth-child(5){ display:none }
  html.ui-apple .nx-liste .nx-tab th:nth-child(1){ width:64px } html.ui-apple .nx-liste .nx-tab th:nth-child(6){ width:auto }
  html.ui-apple .nx-liste .nx-tab td{ height:auto; padding:10px 6px; white-space:normal; vertical-align:top }
  html.ui-apple .nx-liste .nx-tab td:nth-child(6){ text-align:right; white-space:nowrap }
  html.ui-apple .nx-mob{ display:block; color:var(--ap-label-2); font-size:12.5px; font-weight:400; margin-top:2px }
  html.ui-apple .nx-kv{ grid-template-columns:88px minmax(0,1fr) }
  html.ui-apple .nx-insp-fuss{ flex-wrap:wrap }
  html.ui-apple .nx-insp-fuss > *{ flex:1; justify-content:center }
  /* Abrechnen: jede Zeile als Karte */
  html.ui-apple .nx-kennz{ width:100%; justify-content:space-between; text-align:left; gap:12px }
  html.ui-apple .nx-kennz b{ font-size:22px }
  html.ui-apple .nx-abr-grp .nx-tab, html.ui-apple .nx-abr-grp .nx-tab tbody{ display:block }
  html.ui-apple .nx-abr-grp .nx-tab tr{ display:grid; grid-template-columns:28px minmax(0,1fr) auto;
    grid-template-areas:"c i d" "c t t" "c h b" "c a a"; gap:4px 8px; padding:12px 12px; border-bottom:1px solid var(--ap-sep) }
  html.ui-apple .nx-abr-grp .nx-tab td{ display:block; height:auto; padding:0; border:0; width:auto !important; white-space:normal; text-align:left !important }
  html.ui-apple .nx-abr-grp .nx-tab td:nth-child(1){ grid-area:c; padding-top:2px }
  html.ui-apple .nx-abr-grp .nx-tab td:nth-child(2){ grid-area:i }
  html.ui-apple .nx-abr-grp .nx-tab td:nth-child(3){ grid-area:t; font-size:15px }
  html.ui-apple .nx-abr-grp .nx-tab td:nth-child(4){ grid-area:h }
  html.ui-apple .nx-abr-grp .nx-tab td:nth-child(5){ grid-area:d; text-align:right !important }
  html.ui-apple .nx-abr-grp .nx-tab td:nth-child(6){ grid-area:b; text-align:right !important }
  html.ui-apple .nx-abr-grp .nx-tab td:nth-child(7){ grid-area:a; margin-top:4px }
  html.ui-apple .nx-abr-grp .nx-tab td:nth-child(7) .nx-bs{ width:100%; justify-content:center }
  html.ui-apple .nx-abr-grp input[type=checkbox], html.ui-apple .nx-abr-kopf input[type=checkbox]{ width:20px; height:20px }
  html.ui-apple .nx-abr-fuss{ flex-wrap:wrap; margin:0 -12px; border-radius:0; padding:10px 12px; bottom:calc(4.75rem + env(safe-area-inset-bottom,0px)) }
  html.ui-apple .nx-abr-fuss > button{ flex:1 1 100% ; justify-content:center }
  html.ui-apple .nx-abr-liste{ padding-bottom:12px }
  /* Kopfleiste: Suche bekommt Platz, „Neu" nur als Symbol, seltene Knöpfe weg */
  html.ui-apple header.sticky #nxNeuBtn{ width:40px; padding:0; justify-content:center; font-size:0; gap:0 }
  html.ui-apple header.sticky #nxNeuBtn svg{ width:18px; height:18px }
  html.ui-apple header.sticky #searchBtn{ flex:none; width:40px; height:40px; padding:0; justify-content:center; max-width:none }
  html.ui-apple header.sticky #searchBtn > span, html.ui-apple header.sticky #searchBtn kbd{ display:none }
  html.ui-apple header.sticky #askDataBtn{ width:40px; height:40px; padding:0; justify-content:center; flex:none }
  html.ui-apple header.sticky .ml-auto{ margin-left:auto }
  html.ui-apple #nxNeuPop button{ padding:12px 12px; font-size:15px }
  /* untere Leiste */
  html.ui-apple .cab-bnav-ic svg{ width:24px; height:24px }
}
html.ui-apple .nx-segbar{ scrollbar-width:none } html.ui-apple .nx-segbar::-webkit-scrollbar{ display:none }
/* Tippflächen am Handy: Apple empfiehlt 44 pt – viele ältere Ansichten hatten 16–30 px hohe Knöpfe
   („Standard", „Bearbeiten", Tag/Woche/Monat, ◀ ▶). In „Neu" bekommt jeder Knopf mind. 38 × 38 px. */
@media (max-width:767px){
  html.ui-apple :is(#main,#modalBox,#modalBox2,#reactAuftragMount) button{ min-height:38px; min-width:38px }
  html.ui-apple :is(#main,#modalBox,#modalBox2) :is(select,input:not([type=checkbox]):not([type=radio]):not([type=range])){ min-height:40px; font-size:16px }
  html.ui-apple :is(#main,#modalBox) input[type=checkbox]{ width:20px; height:20px }
  /* v2.171.0: 16-px-Schrift macht Textfelder breiter (cols × Zeichen) – in flex-Zeilen schrumpfen lassen, sonst ragt die Seite über den Rand */
  html.ui-apple :is(#main,#modalBox,#modalBox2) :is(textarea,input):not([class*="min-w-"]){ min-width:0 }
}
html.ui-apple header.sticky #callBtn{ white-space:nowrap }
@media (max-width:1023px){ html.ui-apple header.sticky #callBtn > span{ display:none } }
/* Farbe per Skript gesetzt (el.style.background) → der Browser schreibt sie als rgb(…) ins style-Attribut,
   die Hex-Regeln oben greifen dann nicht. Dieselben Farben in rgb-Schreibweise (v2.147.0, wie in der Monteur-App). */
html.ui-apple body :is(.text-white):is([style*="245, 158, 11"],[style*="20, 184, 166"],[style*="14, 165, 233"],[style*="16, 185, 129"],[style*="6, 182, 212"],[style*="132, 204, 22"],[style*="249, 115, 22"],[style*="251, 191, 36"],[style*="34, 197, 94"],[style*="234, 179, 8"]){ color:#1d1d1f !important }
html.ui-apple body :is(.text-white):is([style*="244, 63, 94"],[style*="239, 68, 68"]){ background-color:#d70015 !important }
html.ui-apple body :is(.text-white):is([style*="148, 163, 184"],[style*="203, 213, 225"]){ background-color:#6e6e73 !important }
html.ui-apple body .bg-rose-500.text-white{ background-color:#d70015 !important }

/* ════════════════════════════════════════════════════════════════════════════
   DURCHGÄNGIG APPLE (v2.171.0) – Wunsch Lars 23.09.2026: „Lasse die klassische
   Oberfläche so, wie sie ist, aber gestalte die neue Oberfläche einmal in
   Apple-Look-and-Feel." Bis hierher trugen vor allem Leiste, Heute, Liste und
   Abrechnen den Look; die Masken (Ticket, Auftrag, Neuer Auftrag, Felder-Masken)
   und das Ticket-Brett sahen noch aus wie früher, nur in anderen Grautönen.
   Leitbild macOS Sonoma/Sequoia: gruppierte weiße Flächen auf Grau, keine
   Rahmen, Überschriften im Satzstil (keine GROSSBUCHSTABEN, kein gelber Strich),
   Felder grau gefüllt, Sheets gleiten weich auf. Datenfarben bleiben unberührt.
   ════════════════════════════════════════════════════════════════════════════ */

/* 1) Satzstil statt GROSSBUCHSTABEN – überall im Inhalt, in Masken und Leisten.
      Geprüft: kein Text beginnt dort klein UND verlässt sich auf uppercase (außer
      „davon …"/„bis Std", die klein richtig lesen). */
html.ui-apple :is(#main,#modalBox,#modalBox2,#hubBar,#sidebar,#alertPanel,#callPanel,#reactAuftragMount) .uppercase:not(input,textarea){
  text-transform:none !important; letter-spacing:-.003em !important; font-weight:600 }

/* Gelbe Akzentstriche an Abschnittsköpfen entfallen – Apple trennt über Fläche, nicht über Striche */
html.ui-apple :is(.oc-f .oc-card>.oc-card-h, .tk-f .tkf-h, .cab-am-scope .am-sh)::before{ display:none }

/* 2) Auftragsmaske (Cockpit) und Ticketmaske: gruppierte Flächen wie in den Systemeinstellungen */
html.ui-apple :is(.oc-f,.tk-f){ --ocf-grund:#f2f2f7; --ocf-karte:#ffffff; --ocf-rahmen:transparent; --ocf-titel:#1d1d1f }
html.ui-apple.dark :is(.oc-f,.tk-f){ --ocf-grund:#000000; --ocf-karte:#1c1c1e; --ocf-rahmen:transparent; --ocf-titel:#f5f5f7 }
html.ui-apple .oc-f .oc-dash{ border-radius:16px; padding:14px }
html.ui-apple .oc-f .oc-card{ border:0; border-radius:12px; box-shadow:var(--ap-shadow-1) }
html.ui-apple .oc-f .oc-card>.oc-card-h{ font-size:13px; font-weight:600; letter-spacing:-.01em; text-transform:none;
  padding:10px 14px; border-bottom:1px solid var(--ap-sep) }
html.ui-apple .oc-f .oc-card>.oc-card-h .zusatz{ font-size:12px; font-weight:500 }
html.ui-apple .oc-f .oc-sec{ border:0 !important; border-radius:12px !important; box-shadow:var(--ap-shadow-1) }
html.ui-apple .oc-f .oc-card.oc-card-next{ box-shadow:0 0 0 2px var(--ap-accent), var(--ap-shadow-1) }
html.ui-apple .oc-f .oc-eck-termin{ box-shadow:none; border-radius:8px }
html.ui-apple .tk-f .tkf-ground{ background:var(--ocf-grund) !important }
html.ui-apple .tk-f .tkf-card{ border-color:transparent !important; border-radius:12px; box-shadow:var(--ap-shadow-1) !important }
html.ui-apple .tk-f .tkf-head{ border-bottom-color:var(--ap-sep) !important }
html.ui-apple .tk-f .tkf-h{ font-size:13px !important; color:var(--ap-label) !important }
/* Status/Priorität/Bereich im Ticketkopf: gefüllte Kapseln statt umrandeter Kästen */
html.ui-apple .tk-f .tkf-head label.rounded-xl{ border-color:transparent !important; background:var(--ap-fill) !important; box-shadow:none !important; border-radius:10px }
/* Klappkarten-Kopf (Steuerung, Fotos, Verlauf …): ruhige Überschrift */
html.ui-apple .oc-f .oc-sec>summary > span:first-of-type{ color:var(--ap-label) }

/* 3) „Neuer Auftrag" (React-Maske) und alle Felder-Masken (mk-*): Sheet mit gruppierten Abschnitten */
html.ui-apple .cab-am{ border:0; border-radius:20px; box-shadow:var(--ap-shadow-3); background:var(--ap-surface); color:var(--ap-label) }
html.ui-apple .cab-am-head{ background:var(--ap-glass); border-bottom-color:var(--ap-sep);
  -webkit-backdrop-filter:saturate(180%) blur(20px); backdrop-filter:saturate(180%) blur(20px) }
html.ui-apple .cab-am-head .t{ font-weight:700; letter-spacing:-.015em; color:var(--ap-label) }
html.ui-apple .cab-am-head .s{ color:var(--ap-label-2) }
html.ui-apple .cab-am-x{ border-radius:50%; background:var(--ap-fill); color:var(--ap-label-2) }
html.ui-apple .cab-am-body{ background:var(--ap-bg) }
html.ui-apple .cab-am-foot{ background:var(--ap-glass); border-top-color:var(--ap-sep);
  -webkit-backdrop-filter:saturate(180%) blur(20px); backdrop-filter:saturate(180%) blur(20px) }
html.ui-apple .cab-am-scope :is(.am-section,.am-titlecard){ border:0; border-radius:12px; background:var(--ap-surface); box-shadow:var(--ap-shadow-1) }
html.ui-apple .cab-am-scope .am-titlecard.am-fast{ background:var(--ap-surface); box-shadow:0 0 0 2px var(--ap-accent), var(--ap-shadow-1) }
html.ui-apple .cab-am-scope .am-fastpill{ text-transform:none; letter-spacing:0; font-weight:600; font-size:11px }
html.ui-apple .cab-am-scope .am-sh h3{ text-transform:none; letter-spacing:-.01em; font-size:14px; font-weight:600; color:var(--ap-label) }
html.ui-apple .cab-am-scope .am-sh .ico{ background:var(--ap-fill); color:var(--ap-label-2) }
html.ui-apple .cab-am-scope label.am-label,
html.ui-apple .cab-am-scope .am-lbl-cap{ color:var(--ap-label-2); font-weight:500 }
html.ui-apple .cab-am-scope .am-chip{ border:0; background:var(--ap-fill); color:var(--ap-label); font-weight:500 }
html.ui-apple .cab-am-scope .am-chip:hover{ background:var(--ap-selected) }
/* Gewählte Chips tragen ihre Datenfarbe als Rahmen (Inline-Stil) – die bleibt als farbiger Ring stehen;
   die Schrift wird dunkel, weil die hellen Datenfarben als Schrift nur 2,5–4:1 schaffen. */
html.ui-apple .cab-am-scope .am-chip[style*="border-color"]{ border:1.5px solid; background:var(--ap-surface); color:var(--ap-label) !important; font-weight:600 }
html.ui-apple.dark .cab-am-scope .am-chip[style*="border-color"]{ background:#2c2c2e }
html.ui-apple .cab-am-scope .am-chip.add{ background:transparent; box-shadow:inset 0 0 0 1px var(--ap-sep); color:var(--ap-label-2) }
/* Priorität = Apple „Segmented Control" */
html.ui-apple .cab-am-scope .am-prio{ gap:0; padding:2px; border-radius:9px; background:var(--ap-fill) }
html.ui-apple .cab-am-scope .am-prio button{ border:0; background:transparent; border-radius:7px; padding:7px; font-weight:500; color:var(--ap-label) }
html.ui-apple .cab-am-scope .am-prio button.on{ background:var(--ap-surface) !important; font-weight:600;
  box-shadow:0 1px 3px rgba(0,0,0,.14), 0 1px 1px rgba(0,0,0,.04) }
html.ui-apple .cab-am-scope .am-prio button.on.mittel{ color:#a3500a }
html.ui-apple .cab-am-scope .am-prio button.on.hoch{ color:#be123c }
html.ui-apple.dark .cab-am-scope .am-prio button.on{ background:#636366 !important; color:#fff }
/* Felder in „Neuer Auftrag": grau gefüllt, ohne Kante (wie in den Masken) */
html.ui-apple .cab-am-scope :is(input[type=text],input[type=number],input[type=datetime-local],input[type=date],input[type=time],select,textarea){
  background:var(--mk-field-bg); border-color:transparent; color:var(--ap-label) }
html.ui-apple.dark .cab-am-scope :is(input[type=text],input[type=number],input[type=datetime-local],input[type=date],input[type=time],select,textarea){ background:#2c2c2e }
/* Felder-Masken (Objekt, Kontakt, Fahrzeug …) */
html.ui-apple #modalBox .mk-sec{ border:0; border-radius:12px; box-shadow:var(--ap-shadow-1) }
html.ui-apple #modalBox .mk-sh h3{ text-transform:none; letter-spacing:-.01em; font-size:14px; font-weight:600; color:var(--ap-label) }
html.ui-apple #modalBox .mk-lbl{ font-weight:500; color:var(--ap-label-2) }
html.ui-apple #modalBox .mk-check{ border-color:transparent; background:var(--ap-fill-2) }
html.ui-apple.dark #modalBox .mk-sec{ background:#2c2c2e }

/* Kontaktmaske (v2.223.0, Wunsch 24.09.): Leitbild macOS-„Kontakte" – großes Bild, Name als Titel,
   Reiter als Segmented Control, Felder als gruppierte Zeilen mit Haarlinie, Karten als graue Flächen
   ohne Rahmen, keine Emojis. Gelb bleibt nur „E-Mail" (Hauptaktion); Status-/Warnfarben bleiben. */
html.ui-apple .ct-mask .ct-emo,
html.ui-apple .ct-form .ct-emo{ display:none }
html.ui-apple .ct-mask .ct-kopf{ align-items:center; gap:14px; border-bottom-color:var(--ap-sep); padding-bottom:16px; margin-bottom:16px }
html.ui-apple .ct-mask .ct-ava{ width:64px; height:64px; font-size:22px; font-weight:600; letter-spacing:.01em }
html.ui-apple .ct-mask .ct-name{ font-size:22px; font-weight:700; letter-spacing:-.02em; color:var(--ap-label) }
html.ui-apple .ct-mask .ct-akt :is(a,button){ border-color:transparent !important; border-radius:999px; padding:6px 14px; font-weight:500 }
html.ui-apple .ct-mask .ct-akt :is(a,button):not(.bg-brand-500){ background:var(--ap-fill); color:var(--ap-label) }
html.ui-apple .ct-mask .ct-akt :is(a,button):not(.bg-brand-500):hover{ background:var(--ap-selected) }
/* Reiter = Segmented Control (graue Mulde, gewählter Reiter weiße Pille) */
html.ui-apple .ct-mask .ct-tabs{ display:flex; flex-wrap:wrap; width:fit-content; max-width:100%; gap:0; padding:2px; border:0; border-radius:9px; background:var(--ap-fill); margin-top:0; margin-bottom:14px }
html.ui-apple .ct-mask .ct-tabs > button{ flex:none; white-space:nowrap; border-radius:7px; padding:5px 12px; font-size:13px; color:var(--ap-label) }
html.ui-apple .ct-mask .ct-tabs > button:hover{ background:transparent }
html.ui-apple .ct-mask .ct-tabs > button.ct-tab-on{ background:var(--ap-surface); color:var(--ap-label) !important; font-weight:600;
  box-shadow:0 1px 3px rgba(0,0,0,.14), 0 1px 1px rgba(0,0,0,.04) }
html.ui-apple.dark .ct-mask .ct-tabs > button.ct-tab-on{ background:#636366; color:#fff !important }
/* Handy: Knöpfe unter Bild und Name statt daneben (sonst schieben sie sich über die Adresse) */
@media (max-width:639px){
  html.ui-apple .ct-mask .ct-kopf{ flex-wrap:wrap }
  html.ui-apple .ct-mask .ct-kopf > .min-w-0{ flex:1 1 0 }
  html.ui-apple .ct-mask .ct-ava{ width:56px; height:56px; font-size:20px }
  html.ui-apple .ct-mask .ct-name{ font-size:20px }
  html.ui-apple .ct-mask .ct-akt{ width:100%; justify-content:flex-start }
}
/* Stammdaten: gruppierte Zeilen – Beschriftung links grau, Wert rechts, Haarlinie dazwischen */
html.ui-apple .ct-mask dl.ct-felder{ display:block; background:var(--ap-fill-2); border-radius:12px; padding:0 14px }
html.ui-apple .ct-mask dl.ct-felder > div{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:9px 0;
  border-bottom:1px solid var(--ap-sep) }
html.ui-apple .ct-mask dl.ct-felder > div:last-child{ border-bottom:0 }
html.ui-apple .ct-mask dl.ct-felder dt{ font-size:13px; color:var(--ap-label-2); flex:none }
html.ui-apple .ct-mask dl.ct-felder dd{ margin:0; text-align:right; font-weight:500; color:var(--ap-label); min-width:0; overflow-wrap:anywhere }
/* Kommunikation: E-Mail/Telefon als gruppierte Liste */
html.ui-apple .ct-mask .ct-liste{ background:var(--ap-fill-2); border-radius:12px; padding:0 14px }
html.ui-apple .ct-mask .ct-liste > *{ margin:0 !important; padding:9px 0; border-bottom:1px solid var(--ap-sep) }
html.ui-apple .ct-mask .ct-liste > *:last-child{ border-bottom:0 }
/* Karten (Adressen, Vorgänge, Objekte, Projekte, Termine, E-Mails): graue Flächen ohne Rahmen */
html.ui-apple .ct-mask .rounded-lg:is(.border-slate-100,.border-slate-200){ border-color:transparent !important; background:var(--ap-fill-2) !important; border-radius:10px }
html.ui-apple .ct-mask button.rounded-lg:is(.border-slate-100,.border-slate-200):hover{ background:var(--ap-selected) !important }
html.ui-apple .ct-mask .bg-slate-50{ background:var(--ap-fill-2) !important; border-radius:10px }
/* „+ Ticket / + Aufgabe / …": gleichrangige Knöpfe, kein zweites Gelb neben „E-Mail" */
html.ui-apple .ct-mask .ct-vg-neu > button{ border-color:transparent !important; border-radius:999px; background:var(--ap-fill) !important; color:var(--ap-label) !important; font-weight:500 }
html.ui-apple .ct-mask .ct-vg-neu > button:hover{ background:var(--ap-selected) !important }
/* Kontakt anlegen: Privatperson | Firma als Segmented Control statt zweitem Gelb neben „Anlegen" */
html.ui-apple .ct-form .ct-typ{ gap:0; padding:2px; border-radius:9px; background:var(--ap-fill) }
html.ui-apple .ct-form .ct-typ > button{ border:0 !important; border-radius:7px; background:transparent !important; color:var(--ap-label); padding:6px }
html.ui-apple .ct-form .ct-typ > button.ct-typ-on{ background:var(--ap-surface) !important; font-weight:600;
  box-shadow:0 1px 3px rgba(0,0,0,.14), 0 1px 1px rgba(0,0,0,.04) }
html.ui-apple.dark .ct-form .ct-typ > button.ct-typ-on{ background:#636366 !important; color:#fff }
html.ui-apple .ct-form :is(.bg-slate-50,details.border){ border-color:transparent !important; background:var(--ap-fill-2) !important; border-radius:10px }
html.ui-apple .ct-form .border-dashed{ border-style:solid; border-color:transparent; background:var(--ap-fill-2); border-radius:10px }

/* 4) Ticket-Brett: Phasen als ruhige Überschriften mit Farbpunkt statt knalliger Bänder;
      Spalten als graue Mulden, Karten als weiße Kärtchen ohne Rahmen. Die Gruppenfarbe
      (--tkg) bleibt als Erkennungszeichen erhalten – nur leiser. */
html.ui-apple .tk-band{ background:transparent !important; background-image:none !important; box-shadow:none; color:var(--ap-label);
  padding:4px 6px 8px; border-radius:0 }
html.ui-apple .tk-band::before{ content:""; width:9px; height:9px; border-radius:50%; background:var(--tkg,#8e8e93); flex:none }
html.ui-apple .tk-band-t{ text-transform:none; letter-spacing:-.01em; font-size:14px; font-weight:600 }
html.ui-apple .tk-band-d{ color:var(--ap-label-2); opacity:1; font-size:12px }
html.ui-apple .tk-band-n{ background:var(--ap-fill); color:var(--ap-label); font-weight:600 }
html.ui-apple .tk-col{ border:0 !important; border-top:0 !important; background:rgba(118,118,128,.06) !important; border-radius:12px !important }
html.ui-apple .tk-col.drag-over{ background:rgba(245,200,0,.12) !important }   /* Ablage-Ziel beim Ziehen bleibt sichtbar */
html.ui-apple .tk-col .tk-colhead{ border-bottom-color:transparent }
html.ui-apple .tk-empty{ border:0; color:var(--ap-label-2); background:transparent }
html.ui-apple #main .kcard{ border-color:transparent !important; border-radius:10px; box-shadow:var(--ap-shadow-1) }
html.ui-apple #main .kcard:hover{ box-shadow:var(--ap-shadow-2) !important }
html.ui-apple .tk-col .tk-cnt{ background:var(--ap-fill) !important; color:var(--ap-label) !important }   /* Gruppenfarbe als Schrift lag bei 3:1 */
html.ui-apple .tk-focusbar{ border-color:transparent !important; background:var(--ap-fill-2) !important }
html.ui-apple .tk-focusbar > :is(.text-amber-700\/80){ color:var(--ap-label) !important }
html.ui-apple .tk-chip.tk-chip-on{ background:#1d1d1f; border-color:#1d1d1f }
html.ui-apple.dark .tk-chip.tk-chip-on{ background:#f5f5f7; color:#1d1d1f; border-color:#f5f5f7 }
/* v2.232.0 – Ticketkarte „Wo · Was · Zu tun" (nxTicketKarte in mod/neu.js, Entwurf Variante A).
   Gefüllte Spalten mindestens 236 px breit, das Brett scrollt waagerecht (Lars 30.09.2026). */
html.ui-apple .tk-board{ --tk-colmin:236px; overflow-x:auto; padding-bottom:6px }
html.ui-apple .tk-board .tk-col-slim span{ overflow-wrap:anywhere; hyphens:auto }   /* „Schadensmeldungen" passt sonst nicht in 6 rem */
@media (max-width:1023px){   /* Handy/Tablet: leere Spalten bleiben schmal statt 82 vw (dispo-mobile.css gibt allen Spalten dieselbe Breite) */
  html.ui-apple .tk-board .cab-board-grid{ grid-auto-columns:auto !important }
  html.ui-apple .tk-board .cab-board-grid > .tk-col{ width:min(82vw,280px) }
  html.ui-apple .tk-board .cab-board-grid > .tk-col-slim{ width:6rem }
}
html.ui-apple #main .kcard.nx-tk{ background:var(--ap-surface); padding:10px 11px; display:flex; flex-direction:column; gap:6px; cursor:pointer }
html.ui-apple #main .kcard.nx-tk.nx-tk-aussen{ box-shadow:inset 3px 0 0 #d70015, var(--ap-shadow-1) }   /* Schadensmeldung/von außen: roter Rand bleibt */
html.ui-apple.dark #main .kcard.nx-tk.nx-tk-aussen{ box-shadow:inset 3px 0 0 #ff6961, var(--ap-shadow-1) }
html.ui-apple .nx-tk-kopf{ display:flex; align-items:flex-start; gap:8px }
html.ui-apple .nx-tk-wo{ min-width:0; flex:1 }
html.ui-apple .nx-tk-ort{ display:flex; align-items:flex-start; gap:4px;   /* v2.233.0: Ortssymbol vor der Adresse */
  font-size:13.5px !important; font-weight:650; letter-spacing:-.01em; line-height:1.25; color:var(--ap-label) !important; margin:0 !important;
  white-space:normal !important; overflow:visible !important }
html.ui-apple .nx-tk-ort.nx-tk-ohne{ color:var(--ap-label-2) !important; font-weight:500 }
html.ui-apple .nx-tk-unter{ font-size:12px; line-height:1.3; color:var(--ap-label-2); overflow-wrap:anywhere }
html.ui-apple .nx-tk-foto{ position:relative; width:38px; height:38px; flex:none; border-radius:7px; overflow:hidden; background:var(--ap-fill) }
html.ui-apple .nx-tk-foto img{ width:100%; height:100%; object-fit:cover; display:block }
html.ui-apple .nx-tk-foto i{ position:absolute; right:2px; bottom:1px; font-style:normal; font-size:10px; font-weight:700; color:#fff; text-shadow:0 0 3px rgba(0,0,0,.7) }
html.ui-apple .nx-tk-ort svg{ flex:none; margin-top:1px; color:var(--ap-label-2) }
/* v2.233.0: „Worum es geht" hinterlegt und am größten – die Aussage der Karte, nicht eine Zeile unter vielen.
   v2.235.0 (Lars: „ein bisschen dezenter, aber nur ein bisschen"): Fläche heller, Schrift 14,5 px/600. */
html.ui-apple .nx-tk-was{ font-size:14.5px; font-weight:600; letter-spacing:-.01em; line-height:1.3; color:var(--ap-label); overflow-wrap:anywhere;
  background:rgba(118,118,128,.07); border-radius:8px; padding:6px 8px }
html.ui-apple.dark .nx-tk-was{ background:rgba(118,118,128,.16) }
html.ui-apple .nx-tk-prio{ display:inline-block; width:7px; height:7px; border-radius:50%; background:#d70015; margin-right:6px; vertical-align:1px }
html.ui-apple .nx-tk .tk-herkunft{ margin:0 !important; text-transform:none; letter-spacing:0; font-size:11.5px; font-weight:600 }
html.ui-apple .nx-tk-chips{ display:flex; flex-wrap:wrap; gap:4px }
html.ui-apple :is(.nx-tk-label,.nx-tk-mail){ font-size:11px; font-weight:600; padding:1px 7px; border-radius:9px }
html.ui-apple .nx-tk-mail{ background:rgba(0,122,255,.12); color:#0060df }
html.ui-apple.dark .nx-tk-mail{ background:rgba(10,132,255,.2); color:#64a8ff }
html.ui-apple .nx-tk-tun{ display:flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; line-height:1.25; padding:6px 8px; border-radius:8px }
html.ui-apple .nx-tk-tun svg{ flex:none }
html.ui-apple .nx-tk-rot{ color:#c20012; background:rgba(215,0,21,.09) }
html.ui-apple .nx-tk-blau{ color:#0060df; background:rgba(0,122,255,.10) }
html.ui-apple .nx-tk-gruen{ color:#15803d; background:rgba(21,128,61,.10) }       /* Grün = erledigt, wartet auf Rechnung */
html.ui-apple .nx-tk-orange{ color:#a54a00; background:rgba(255,149,0,.14) }
html.ui-apple .nx-tk-grau{ color:var(--ap-label-2); background:var(--ap-fill) }
html.ui-apple.dark .nx-tk-rot{ color:#ff6961; background:rgba(255,69,58,.16) }
html.ui-apple.dark .nx-tk-blau{ color:#64a8ff; background:rgba(10,132,255,.18) }
html.ui-apple.dark .nx-tk-gruen{ color:#4ade80; background:rgba(48,209,88,.15) }
html.ui-apple.dark .nx-tk-orange{ color:#ffb340; background:rgba(255,159,10,.16) }
html.ui-apple .nx-tk-fuss{ display:flex; align-items:center; justify-content:space-between; gap:6px; font-size:11.5px; color:var(--ap-label-2) }
html.ui-apple .nx-tk-alter{ display:flex; align-items:center; gap:8px; min-width:0 }
html.ui-apple .nx-tk-nr{ font:11px ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--ap-label-2) }
html.ui-apple .nx-tk-wer{ display:flex; align-items:center; gap:6px }
html.ui-apple .nx-tk-gesichter{ display:flex }
html.ui-apple .nx-tk-av{ width:22px; height:22px; border-radius:50%; display:grid; place-items:center; font-size:9.5px; font-weight:700; color:#fff;
  margin-left:-5px; box-shadow:0 0 0 2px var(--ap-surface) }
html.ui-apple .nx-tk-av:first-child{ margin-left:0 }
html.ui-apple .nx-tk-av-mehr{ background:var(--ap-fill); color:var(--ap-label) }
html.ui-apple .nx-tk-av-leer{ background:transparent; color:var(--ap-label-2); box-shadow:inset 0 0 0 1.5px var(--ap-label-2); font-size:11.5px }

/* 5) Bausteine überall: Hinweis-Kästen, Leerzustand, Plaketten */
html.ui-apple .cab-hint{ border-color:transparent; background:var(--ap-fill-2); border-radius:10px }
html.ui-apple .cab-empty{ color:var(--ap-label-2) }
html.ui-apple .cab-badge{ font-weight:600; letter-spacing:0; text-transform:none }
/* Umrandete Tailwind-Knöpfe („Neue E-Mail", „in 1 Woche", „alles zu" …) → gefüllte Apple-Knöpfe ohne Kante.
   Nur neutrale (grau umrandet, weiß oder ohne eigene Fläche – hover:/dark:-Flächen zählen nicht) – farbige Zustands-Knöpfe bleiben, wie sie sind. */
html.ui-apple :is(#main,#modalBox,#modalBox2) button.border:is(.border-slate-200,.border-slate-300):is(.bg-white,:not([class^="bg-"]):not([class*=" bg-"])):not(.cab-tab-on){
  border-color:transparent !important; background-color:var(--ap-fill) !important; color:var(--ap-label) }
html.ui-apple :is(#main,#modalBox,#modalBox2) button.border:is(.border-slate-200,.border-slate-300):is(.bg-white,:not([class^="bg-"]):not([class*=" bg-"])):not(.cab-tab-on):hover{
  background-color:var(--ap-selected) !important }
/* Verweise in Himmelblau (Mail-Adressen, Links): Apple-Linkblau mit ≥ 4,5:1 */
html.ui-apple:not(.dark) :is(#main,#modalBox,#modalBox2) .text-sky-600{ color:#0369a1 !important }
html.ui-apple.dark :is(#main,#modalBox,#modalBox2) .text-sky-600{ color:#64d2ff !important }
html.ui-apple.dark .nx-chip span{ color:#aeaeb2 }
html.ui-apple #main .font-extrabold,
html.ui-apple #modalBox .font-extrabold{ font-weight:700 }

/* 6) Bewegung: Fenster gleiten weich auf wie ein macOS-Sheet (ohne bei reduzierter Bewegung) */
@keyframes apSheetEin{ from{ opacity:0; transform:translateY(10px) scale(.985) } to{ opacity:1; transform:none } }
@keyframes apBlendeEin{ from{ opacity:0 } to{ opacity:1 } }
@media (prefers-reduced-motion: no-preference){
  html.ui-apple #modalBox,
  html.ui-apple #modalBox2{ animation:apSheetEin .22s cubic-bezier(.2,.8,.2,1) }
  html.ui-apple #modal > [data-modal-close]{ animation:apBlendeEin .18s ease-out }
  html.ui-apple .cab-more-pop,
  html.ui-apple .nx-pop,
  html.ui-apple #alertPanel,
  html.ui-apple #callPanel{ animation:apSheetEin .16s cubic-bezier(.2,.8,.2,1) }
  html.ui-apple :is(.nx-si,.nx-chip,.nx-seg button,.cab-btn,.kcard){ transition:background-color .15s ease, box-shadow .15s ease, color .15s ease, transform .08s ease }
}

/* ════════════════════════════════════════════════════════════════════════════
   KALENDER & PLANTAFEL (v2.173.0) – Wunsch Lars 23.09.2026: „Jetzt Kalender und
   Plantafel noch im Apple-Look". Leitbild macOS-Kalender: weißes Raster mit
   Haarlinien, Wochentage klein und grau, heute = gefüllter Kreis um die Zahl
   (keine gelb getönte Spalte), Arbeitszeit weiß / Freizeit grau statt gelber
   Schleier, Segment-Schalter mit weißer Pille. Termin- und Statusfarben (Daten)
   bleiben; nur Rahmen, Schatten und Flächen werden ruhiger.
   ════════════════════════════════════════════════════════════════════════════ */

/* 1) Kalender – Grundwerte des Kalender-Baukastens (calendar-modern.css) auf Apple */
html.ui-apple .cab-cal-modern{ --cm-line:#e5e5ea; --cm-line-soft:#f2f2f7; --cm-radius:14px; --cm-radius-sm:8px;
  --cm-shadow:var(--ap-shadow-1); --cm-shadow-sm:none; --cm-today:transparent; --cm-accent:#f5c800 }
html.ui-apple.dark .cab-cal-modern{ --cm-line:#38383a; --cm-line-soft:#2c2c2e; --cm-shadow:none }
html.ui-apple .cab-cal-modern .rounded-xl.border{ border-color:transparent !important }
/* Wochentage: klein, grau, Satzstil (statt versal und gelb) */
html.ui-apple .cab-cal-modern :is(.text-\[11px\].text-slate-400,.text-\[11px\].text-brand-600){
  text-transform:none; letter-spacing:0; font-weight:500; color:var(--ap-label-2) !important }
/* Heute: keine getönte Spalte, kein gelber Strich – die Tageszahl als gefüllter Kreis */
html.ui-apple .cab-cal-modern :is(.bg-brand-50,.bg-brand-50\/40){ background-color:transparent !important }
html.ui-apple .cab-cal-modern .border-t-brand-500{ border-top-color:transparent !important }
html.ui-apple .cab-cal-modern button.inline-grid.rounded-full.ring-brand-500{
  background:#f5c800; color:#1d1d1f !important; --tw-ring-color:transparent; box-shadow:none }
html.ui-apple .cab-cal-modern .grid > div > button.inline-grid.rounded-full{ font-weight:600 }
/* Arbeitszeit: gelber Schleier → Tag grau, Arbeitszeit weiß (wie „Arbeitszeiten" im Mac-Kalender) */
html.ui-apple .cab-cal-modern .relative:has(> [style*="rgba(250,204,21,0.07)"]){ background:rgba(118,118,128,.06) }
html.ui-apple .cab-cal-modern [style*="rgba(250,204,21,0.07)"]{ background:var(--ap-surface) !important }
html.ui-apple.dark .cab-cal-modern [style*="rgba(250,204,21,0.07)"]{ background:#1c1c1e !important }
html.ui-apple.dark .cab-cal-modern .relative:has(> [style*="rgba(250,204,21,0.07)"]){ background:#141416 }
/* Raster: Haarlinien */
html.ui-apple .cab-cal-modern :is(.border-slate-100,.border-slate-200){ border-color:var(--ap-sep) !important }
html.ui-apple .cab-cal-modern .cal-cell.border-b{ border-bottom-color:var(--ap-sep) !important }
/* Termine: weiche Ecken, kein Schatten, Farbstreifen links bleibt (Datenfarbe) */
html.ui-apple .cab-cal-modern .cal-ev{ border-radius:6px !important; box-shadow:none !important; font-size:12px; line-height:1.3 }
html.ui-apple .cab-cal-modern .cal-ev:hover{ box-shadow:var(--ap-shadow-2) !important; transform:none }
html.ui-apple .cab-cal-modern .cal-task{ border-radius:6px; box-shadow:none }
/* „Jetzt"-Linie in Apple-Rot */
html.ui-apple .cab-cal-modern .cal-now{ border-top-color:#ff3b30 !important }
html.ui-apple .cab-cal-modern .cal-now > span:not(.cal-now-lab){ background:#ff3b30 !important; box-shadow:none !important }
html.ui-apple .cab-cal-modern .cal-now-lab{ color:#d70015; background:var(--ap-surface); box-shadow:none; font-weight:600; font-size:11px }
html.ui-apple.dark .cab-cal-modern .cal-now-lab{ background:#000; color:#ff6961 }
/* Ansicht-Umschalter (Zeitstrahl/Tag/Woche/Monat/Jahr) = Segmented Control mit weißer Pille */
html.ui-apple .cab-cal-modern .cm-seg{ background:var(--ap-fill); border:0; border-radius:9px; padding:2px; gap:0 }
html.ui-apple .cab-cal-modern .cm-seg > button{ padding:5px 14px !important; border-radius:7px !important; font-weight:500; color:var(--ap-label) }
html.ui-apple .cab-cal-modern .cm-seg > button.cab-tab-on{ background:var(--ap-surface) !important; color:var(--ap-label) !important; font-weight:600;
  box-shadow:0 1px 3px rgba(0,0,0,.14), 0 1px 1px rgba(0,0,0,.04) !important }
html.ui-apple.dark .cab-cal-modern .cm-seg > button.cab-tab-on{ background:#636366 !important; color:#fff !important }
html.ui-apple .cab-cal-modern .cm-bee{ border-radius:8px }

/* 2) Plantafel */
/* Ablage „Nicht terminiert": ruhige graue Gruppe statt gelb gestrichelt */
html.ui-apple #ptTray{ border:0 !important; background:var(--ap-fill-2) !important; border-radius:14px !important }
html.ui-apple #ptTray .text-amber-800,
html.ui-apple.dark #ptTray .dark\:text-amber-300{ color:var(--ap-label) !important }
/* Zeilen je Mitarbeiter: Haarlinien */
html.ui-apple #main .pt-lane,
html.ui-apple #main .pt-lane > .border-r{ border-color:var(--ap-sep) !important }
/* Balken: ohne Rahmen, nur der Status-Streifen links (Datenfarbe) bleibt.
   v2.191.0 (Fehler Lars 24.09.): den SCHATTEN nie anfassen – die Plantafel zeigt darüber Besonderheit/Wichtiger
   Hinweis (roter Streifen innen links), Meldung, Einzel-Checklistenpunkt (violetter Ring), Zählerstand (Ring) und
   „war gestört" (Streifen rechts). „box-shadow:none" hatte all das in „Neu" gelöscht (v2.173.0–v2.190.0). */
html.ui-apple #main .pt-bar{ border-top:0 !important; border-right:0 !important; border-bottom:0 !important;
  border-left-width:4px !important; border-radius:7px !important }
html.ui-apple #main .pt-eventbar{ border-radius:7px !important; box-shadow:none !important }
/* Auftragsart-Kürzel im Balken: weiß auf hellem Grau (2,6:1) → dunkleres Grau (5:1) */
html.ui-apple #main .pt-bar span[style*="background:#94a3b8"]{ background:#6e6e73 !important }
/* Pause/Frei-Kästchen: leiser */
html.ui-apple #main .pt-pause{ border-color:transparent !important; border-radius:7px !important }

/* ════════════════════════════════════════════════════════════════════════════
   E-MAIL (v2.174.0) – Wunsch Lars 23.09.2026: „Jetzt noch die E-Mail-Ansicht im
   Apple-Look". Leitbild Apple Mail: Werkzeugleiste ohne Kasten, Liste und Lesefenster
   als ruhige Flächen ohne Rahmen, gewählte Mail als weich gefüllte Zeile (statt
   grauer Zeile mit gelbem Strich), Suchfeld grau gefüllt, Verknüpfen-Chips gefüllt.
   Alles unter .em-root – die übrigen Seiten sind nicht betroffen.
   ════════════════════════════════════════════════════════════════════════════ */
/* Kopf: Kürzel-Plakette neutral statt schwarz/gelb, Titel als Large Title */
html.ui-apple .em-root .bg-slate-900.text-amber-300.rounded-lg{ background:var(--ap-fill) !important; color:var(--ap-label) !important }
html.ui-apple .em-root h1.text-xl{ font-size:26px; font-weight:700; letter-spacing:-.022em }
/* Suchfeld wie in Mail: grau gefüllt, ohne Kante */
html.ui-apple .em-root #emSearch{ background:var(--ap-fill) !important; border-color:transparent !important; border-radius:10px }
html.ui-apple .em-root #emSearch:focus{ background:var(--ap-surface) !important }
/* Werkzeugleiste: kein Kasten, Knöpfe als ruhige Symbolknöpfe mit Hover-Fläche */
html.ui-apple .em-root .mb-3.rounded-lg.border:has(> button){ background:transparent !important; border-color:transparent !important; padding-left:0; padding-right:0 }
html.ui-apple .em-root .mb-3.rounded-lg.border > button:not(.bg-slate-900){ color:var(--ap-label) !important; border-radius:8px }
html.ui-apple .em-root .mb-3.rounded-lg.border > button:not(.bg-slate-900):hover{ background:var(--ap-hover) !important }
/* Liste und Lesefenster: Flächen ohne Rahmen */
html.ui-apple .em-root .rounded-2xl.border{ border-color:transparent !important; border-radius:14px !important; box-shadow:var(--ap-shadow-1) !important }
/* Zeilen: Haarlinien, gewählte Mail weich gefüllt ohne Seitenstrich */
html.ui-apple .em-root [data-mid]{ border-bottom-color:var(--ap-sep) !important }
html.ui-apple .em-root [data-mid]:hover{ background:var(--ap-hover) }
html.ui-apple .em-root [data-mid].bg-slate-100,
html.ui-apple.dark .em-root [data-mid].dark\:bg-slate-800{ background:rgba(245,200,0,.22) !important; box-shadow:none !important }
html.ui-apple.dark .em-root [data-mid].dark\:bg-slate-800{ background:rgba(245,200,0,.18) !important }
/* Tages-Überschriften der Liste (Heute, Gestern …): klein und grau */
html.ui-apple .em-root .text-\[11px\].font-bold.text-slate-400{ font-size:12px; font-weight:600 !important; color:var(--ap-label-2) !important }
/* Lesefenster: Verknüpfen-Leiste ohne Graustreifen, Chips gefüllt statt gestrichelt */
html.ui-apple .em-root .bg-slate-50\/70{ background:transparent !important }
html.ui-apple .em-root button.border-dashed{ border-color:transparent !important; background:var(--ap-fill) !important; color:var(--ap-label) !important; border-radius:999px !important }
html.ui-apple .em-root button.border-dashed:hover{ background:var(--ap-selected) !important }
html.ui-apple .em-root :is(.border-slate-100,.border-slate-200){ border-color:var(--ap-sep) !important }
/* Absender-Kreis im Dunkelmodus: Schrift hell (lag bei 4,4:1) */
html.ui-apple.dark .em-root .rounded-full.bg-slate-200{ color:#f5f5f7 !important }

/* ════════════════════════════════════════════════════════════════════════════
   AUFTRÄGE › BOARD & KARTE (v2.175.0) – Wunsch Lars 23.09.2026: „Jetzt noch Karte
   und Board der Aufträge im Apple-Look". Board wie Erinnerungen/Freeform: Spalten
   als Mulden ohne Rahmen, Köpfe im Satzstil; die Warn-Tönung von Störung/Prüfen/
   Abrechnen/Vertrag bleibt (Bedeutung), nur der Rahmen fällt. Karte wie Apple Karten:
   runde Glas-Zoomknöpfe, Karte als Fläche, Zuweisen-Ablage als ruhige Gruppe.
   ════════════════════════════════════════════════════════════════════════════ */
/* Board */
html.ui-apple #main .kcol[data-board="auftraege"]{ border-color:transparent !important; border-radius:14px !important }
html.ui-apple #main .kcol[data-board="auftraege"].bg-slate-100\/70{ background:rgba(118,118,128,.06) !important }
html.ui-apple.dark #main .kcol[data-board="auftraege"].bg-slate-100\/70{ background:rgba(118,118,128,.12) !important }
html.ui-apple #main .kcol[data-board="auftraege"] > div:first-child .text-\[11px\]{ font-size:13px !important; letter-spacing:-.01em }
html.ui-apple #main .kcol[data-board="auftraege"] > div:first-child .text-slate-500{ color:var(--ap-label) !important }
html.ui-apple #main .kcol.drag-over{ background:rgba(245,200,0,.12) !important }
/* Kennzahl-Kacheln oben (Einplanen, Erledigen …): Flächen ohne Rahmen; Warn-Kachel (Störung) behält ihren Rand */
html.ui-apple #main [onclick^="dispoStage"].border-slate-200{ border-color:transparent !important; box-shadow:var(--ap-shadow-1); border-radius:14px !important }
html.ui-apple #main [onclick^="dispoStage"].border-slate-200:hover{ box-shadow:var(--ap-shadow-2) }

/* Karte */
html.ui-apple #main .cab-card:has(> .leaflet-container),
html.ui-apple #main .cab-card:has(.leaflet-container){ border-radius:16px; overflow:hidden }
html.ui-apple #main .leaflet-container{ font-family:var(--ap-font) }
html.ui-apple #main .leaflet-control-zoom.leaflet-bar{ border:0; border-radius:12px; overflow:hidden; box-shadow:var(--ap-shadow-2);
  background:var(--ap-glass); -webkit-backdrop-filter:saturate(180%) blur(20px); backdrop-filter:saturate(180%) blur(20px) }
html.ui-apple #main .leaflet-control-zoom a{ width:36px; height:36px; line-height:36px; background:transparent; color:var(--ap-label); border-bottom-color:var(--ap-sep); font-weight:400 }
html.ui-apple #main .leaflet-control-zoom a:hover{ background:var(--ap-hover) }
html.ui-apple #main .leaflet-control-attribution{ background:rgba(255,255,255,.6); border-radius:6px 0 0 0; font-size:10px }
html.ui-apple #main .leaflet-popup-content-wrapper{ border-radius:14px; box-shadow:var(--ap-shadow-2) }
/* Anzeigen-Filter über der Karte: gefüllte Chips statt umrandet */
html.ui-apple #main .cab-card:has(.leaflet-container) button.rounded-full.border{ border-color:transparent !important; background:var(--ap-fill) }
/* Ablage „Zuweisen": ruhige Gruppe statt gelb gestrichelt */
html.ui-apple #main .rounded-xl.border-dashed.border-amber-300{ border:0 !important; background:var(--ap-fill-2) !important; border-radius:14px !important }
html.ui-apple #main .rounded-xl.border-dashed.border-amber-300 > .border-b{ border-bottom-color:var(--ap-sep) !important; color:var(--ap-label) !important }
/* Karten im Board: die Schritt-Beschriftungen unter „Geplant · Unterwegs · Arbeit · Erledigt" (8 px, durch die 11-px-Mindestgröße
   übereinander geschoben, hellgrau 2,6:1) entfallen in schmalen Spalten – die Schritt-Symbole bleiben, der Status steht am Chip. */
html.ui-apple #main .kcol[data-board="auftraege"] .kcard [style*="font-size:8px"]{ display:none }
/* „Störung" in Dunkelrot als Schrift: im Dunkelmodus unlesbar (1,7:1) */
html.ui-apple.dark #main [style*="color:#991b1b"]{ color:#ff6961 !important }
/* Kürzel-Stecknadeln auf der Karte: weiße Schrift auf hellen Teamfarben → dunkel (wie die Kürzel-Kreise) */
html.ui-apple #main .leaflet-marker-icon span:is([style*="background:#f59e0b" i],[style*="background:#0ea5e9" i],[style*="background:#14b8a6" i],[style*="background:#10b981" i],[style*="background:#84cc16" i]){ color:#1d1d1f !important }

/* ════════════════════════════════════════════════════════════════════════════
   DATENFARBEN LESBAR (v2.176.0) – Wunsch Lars 23.09.2026: „Label-Chips und
   Kürzel-Kreise auch lesbar machen". Die Farben selbst sind Daten und bleiben;
   geändert wird nur, wie Schrift darauf steht (durchgerechnet für alle Paletten
   EMP_PALETTE, LEAD_PALETTE, ZV_KAT_PALETTE, CT_FARBEN: danach ≥ 4,5:1).
   ════════════════════════════════════════════════════════════════════════════ */
/* 1) Kürzel-Kreise und Plaketten mit weißer Schrift auf Datenfarbe: Fläche um 28 % abgedunkelt
      (Schicht über der Farbe, die Farbe selbst bleibt) – außer bei den hellen Tönen, die oben
      schon dunkle Schrift bekommen (Gelb, Bernstein, Grün, Türkis, Himmelblau, Limette, Orange). */
html.ui-apple :is(#main,#modalBox,#modalBox2,#sidebar,#hubBar) :is(.text-white,[style*="color:#fff" i],[style*="color: #fff" i],[style*="color:white" i]):is([style*="background:#" i],[style*="background: #" i],[style*="background-color:#" i],[style*="background:rgb" i]):not(:is([style*="f59e0b" i],[style*="14b8a6" i],[style*="0ea5e9" i],[style*="10b981" i],[style*="06b6d4" i],[style*="84cc16" i],[style*="f97316" i],[style*="fbbf24" i],[style*="22c55e" i],[style*="eab308" i],[style*="f5c800" i],[style*="245, 158, 11"],[style*="20, 184, 166"],[style*="14, 165, 233"],[style*="16, 185, 129"],[style*="6, 182, 212"],[style*="132, 204, 22"],[style*="249, 115, 22"],[style*="251, 191, 36"],[style*="34, 197, 94"],[style*="234, 179, 8"])){
  background-image:linear-gradient(rgba(0,0,0,.28),rgba(0,0,0,.28)) !important }
html.ui-apple :is(#main,#modalBox,#modalBox2) [style*="color:#fff" i]:is([style*="background:#f59e0b" i],[style*="background:#14b8a6" i],[style*="background:#0ea5e9" i],[style*="background:#10b981" i],[style*="background:#06b6d4" i],[style*="background:#84cc16" i],[style*="background:#f97316" i]){ color:#1d1d1f !important }
/* 2) Label-Chips (Datenfarbe als Schrift auf ihrer eigenen hellen Tönung, z. B. „Gartenpflege" in Grün, 2,5–4:1):
      Schrift dunkel, die Tönung trägt weiter die Farbe. */
html.ui-apple :is(#main,#modalBox,#modalBox2) :is(span,div,button,a).rounded-full[style*="color:#" i][style*="background:#" i]:not(.text-white):not([style*="color:#fff" i]){
  color:var(--ap-label) !important }

/* ════════════════════════════════════════════════════════════════════════════
   CHAT & EINSTELLUNGEN (v2.177.0) – Wunsch Lars 23.09.2026: „Jetzt noch Chat und
   Einstellungen im Apple-Look". Chat wie Nachrichten: eigene Blasen gelb (CI statt
   Apple-Blau), fremde hellgrau ohne Rahmen/Schatten, Verlauf auf Weiß, Eingabefeld grau
   gefüllt. Einstellungen wie die Systemeinstellungen: Themenliste mit gefüllter Auswahl-
   Pille statt Seitenstrich, Symbole in grauen Kästchen, Abschnittsköpfe als Titel.
   ════════════════════════════════════════════════════════════════════════════ */
/* Chat – Verlauf */
html.ui-apple #chatList{ background:var(--ap-surface) !important }
html.ui-apple.dark #chatList{ background:#1c1c1e !important }
html.ui-apple #chatList .rounded-2xl{ box-shadow:none !important; border-radius:18px !important }
html.ui-apple #chatList .rounded-2xl.bg-white{ background:#e9e9eb !important; border-color:transparent !important; color:#1d1d1f !important }
html.ui-apple.dark #chatList .rounded-2xl.dark\:bg-slate-800{ background:#3a3a3c !important; color:#f5f5f7 !important }
html.ui-apple #chatList .rounded-2xl.bg-brand-500{ background:#f5c800 !important }
html.ui-apple #chatList .rounded-full.bg-slate-100{ background:transparent !important; color:var(--ap-label-2) !important; font-weight:600 }
/* Chat – Eingabe: grau gefülltes Feld, runder gelber Senden-Knopf ohne Schatten */
html.ui-apple #chatInput{ background:var(--ap-fill) !important; border-color:transparent !important }
html.ui-apple #chatInput:focus{ background:var(--ap-surface) !important }
html.ui-apple #main:has(#chatInput) button.bg-brand-500.rounded-full{ box-shadow:none !important }

/* Einstellungen – Themenliste links */
html.ui-apple #einstNav button{ border-left:0 !important; border-radius:8px !important; padding:.4rem .6rem !important; color:var(--ap-label) }
html.ui-apple #einstNav button svg{ box-sizing:content-box; padding:4px; border-radius:7px; background:var(--ap-fill); color:var(--ap-label-2) !important }
html.ui-apple #einstNav button:hover{ background:var(--ap-hover) !important }
html.ui-apple #einstNav button.on{ background:var(--ap-selected) !important; color:var(--ap-label) !important; font-weight:600 }
html.ui-apple #einstNav button.on svg{ background:#f5c800; color:#1d1d1f !important }
html.ui-apple #einstNav button.on .einst-cnt{ background:var(--ap-fill) !important; color:var(--ap-label) !important }
/* Einstellungen – Abschnittsköpfe als Titel, Symbol neutral */
html.ui-apple #main:has(#einstNav) h2.text-\[15px\]{ font-size:20px; font-weight:700; letter-spacing:-.018em }
html.ui-apple #main:has(#einstNav) .flex.items-center.gap-2.mb-3 > .text-brand-600{ color:var(--ap-label-2) !important }
/* Name/Uhrzeit in fremden Blasen im Dunkelmodus: heller (lag bei 4,4:1 auf #3a3a3c) */
html.ui-apple.dark #chatList .rounded-2xl .text-slate-400{ color:#e5e5ea !important }

/* ════════════════════════════════════════════════════════════════════════════
   ZEIT & TEAM (v2.178.0) – Wunsch Lars 24.09.2026: „Jetzt noch Zeit & Team im
   Apple-Look". Gilt nur, solange der Raum „Zeit & Team" offen ist (erkannt an seiner
   Segmentleiste: Stunden · Team · Notdienst · Arbeitsschutz). Kennzahl-Kacheln grau
   gefüllt statt umrandet, Unterreiter als Segment, Filter-Chips wie in „Aufträge",
   gewählter Mitarbeiter als graue Pille. Warn- und Hinweiskästen (offene Unterweisungen,
   „Nicht gebucht", kein Notdienst) bleiben, wie sie sind – sie tragen Bedeutung.
   Nur Optik: an Stunden, Salden und Freigaben ändert sich nichts.
   ════════════════════════════════════════════════════════════════════════════ */
/* Kennzahl-Kacheln (Erfasst, Freigegeben, Soll, Saldo …) */
html.ui-apple body:has(#hubBar button[onclick="nxGehe('mitarbeiter')"]) #main .rounded-xl.border.border-slate-200:not([class^="bg-"]):not([class*=" bg-"]){
  border-color:transparent !important; background:var(--ap-fill-2); border-radius:12px !important }
/* Unterreiter (Stundenkontrolle | Abwesenheiten & Urlaub): allgemeine Segment-Regel unter „AUSWERTUNG" (v2.190.0) */
/* Filter-Chips (Zu prüfen, Auffällig, Freigegeben …): gefüllt; gewählter als dunkle Kapsel wie in „Aufträge" */
html.ui-apple body:has(#hubBar button[onclick="nxGehe('mitarbeiter')"]) #main button.rounded-full.border{ border-color:transparent !important; background:var(--ap-fill) }
html.ui-apple body:has(#hubBar button[onclick="nxGehe('mitarbeiter')"]) #main button.rounded-full.border.border-brand-400{ background:#1d1d1f !important; color:#fff !important }
html.ui-apple.dark body:has(#hubBar button[onclick="nxGehe('mitarbeiter')"]) #main button.rounded-full.border.border-brand-400{ background:#f5f5f7 !important; color:#1d1d1f !important }
/* Kennzahl-Raster der Stundenkontrolle: Trennlinien als Haarlinie */
html.ui-apple body:has(#hubBar button[onclick="nxGehe('mitarbeiter')"]) #main .grid.gap-px.bg-slate-100{ background:var(--ap-sep) !important }
/* Gelbe Knöpfe mit weißer Schrift (z. B. „+ Korrektur buchen", 1,6:1): in „Neu" überall dunkle Schrift wie jede Hauptaktion */
html.ui-apple :is(button,a).text-white:is(.bg-brand-400,.bg-brand-500){ color:#1d1d1f !important }

/* ════════════════════════════════════════════════════════════════════════════
   GELD & STAMMDATEN (v2.179.0) – Wunsch Lars 24.09.2026: „Jetzt noch Geld und
   Stammdaten im Apple-Look". Die meisten Seiten tragen den Look schon über die
   allgemeinen Regeln; hier die zwei übrigen Muster – als allgemeine Regeln, die
   überall in „Neu" gelten (ersetzen die bisherigen Einzelregeln für Chat und Team):
   ════════════════════════════════════════════════════════════════════════════ */
/* 1) Gewählter Eintrag in einer Liste (Chat-Kanal, Mitarbeiter, Foto-Ordner …): graue Pille statt gelber Fläche */
html.ui-apple #main :is(button,a,[onclick]):is(.rounded-lg,.rounded-xl).bg-brand-50{ background:var(--ap-selected) !important }
html.ui-apple #main :is(button,a,[onclick]):is(.rounded-lg,.rounded-xl).bg-brand-50:is(.text-brand-700,.text-brand-600){ color:var(--ap-label) !important }
html.ui-apple.dark #main :is(button,a,[onclick]):is(.rounded-lg,.rounded-xl).dark\:bg-brand-900\/30{ background:rgba(255,255,255,.1) !important }
html.ui-apple.dark #main :is(button,a,[onclick]):is(.rounded-lg,.rounded-xl).dark\:bg-brand-900\/30.dark\:text-brand-300{ color:#f5f5f7 !important }
/* 2) Unterreiter mit gelbem Unterstrich (Akquise: Suchen · Prüfen · Anschreiben …) → Apple-Segment */
html.ui-apple #main .flex.border-b:has(> button.border-b-2){ display:inline-flex; width:fit-content; max-width:100%; border-bottom:0 !important;
  background:var(--ap-fill); border-radius:9px; padding:2px; gap:0 }
html.ui-apple #main .flex.border-b:has(> button.border-b-2) > button{ border-bottom:0 !important; border-radius:7px; color:var(--ap-label) !important; font-weight:500; padding:.35rem .9rem }
html.ui-apple #main .flex.border-b:has(> button.border-b-2) > button.border-b-2{ background:var(--ap-surface); font-weight:600;
  box-shadow:0 1px 3px rgba(0,0,0,.14), 0 1px 1px rgba(0,0,0,.04) }
html.ui-apple.dark #main .flex.border-b:has(> button.border-b-2) > button.border-b-2{ background:#636366; color:#fff !important }

/* ════════════════════════════════════════════════════════════════════════════
   AUSWERTUNG (v2.190.0) – Wunsch Lars 24.09.2026: „Jetzt noch die Auswertung im
   Apple-Look". Die Berichte trugen den Look schon über die allgemeinen Regeln; es
   fehlten zwei Umschalter-Muster, die es auch anderswo gibt – deshalb als allgemeine
   Regeln für ganz „Neu" (ersetzen die bisherige Einzelregel für Zeit & Team):
   ════════════════════════════════════════════════════════════════════════════ */
/* 1) Reiterleiste in grauer Mulde (Auswertung: 8 Berichte, Zeit: Stundenkontrolle | Abwesenheiten):
      Apple-Segment, bleibt EINE Zeile und wischt seitlich statt umzubrechen */
html.ui-apple #main .inline-flex.bg-slate-100.rounded-xl.p-1{ background:var(--ap-fill) !important; border-radius:9px !important; padding:2px !important; gap:0 !important;
  flex-wrap:nowrap !important; max-width:100%; overflow-x:auto; scrollbar-width:none }
html.ui-apple #main .inline-flex.bg-slate-100.rounded-xl.p-1::-webkit-scrollbar{ display:none }
html.ui-apple #main .inline-flex.bg-slate-100.rounded-xl.p-1 > button{ border-radius:7px !important; font-weight:500; color:var(--ap-label) !important; white-space:nowrap; flex:none }
html.ui-apple #main .inline-flex.bg-slate-100.rounded-xl.p-1 > button.bg-white{ font-weight:600; box-shadow:0 1px 3px rgba(0,0,0,.14), 0 1px 1px rgba(0,0,0,.04) !important }
html.ui-apple.dark #main .inline-flex.bg-slate-100.rounded-xl.p-1 > button.bg-white{ background:#636366 !important; color:#fff !important }
/* 2) Umschalter mit gelber Auswahl (Nachkalkulation: Stunden & Kosten | Deckungsbeitrag): Segment mit weißer Pille –
      Gelb gehört der EINEN Hauptaktion, nicht einer Auswahl */
html.ui-apple #main .rounded-lg.border.p-0\.5:has(> button.rounded-md){ border-color:transparent !important; background:var(--ap-fill); border-radius:9px !important; padding:2px !important; gap:0 !important }
html.ui-apple #main .rounded-lg.border.p-0\.5 > button.rounded-md{ border-radius:7px !important; color:var(--ap-label) !important; font-weight:500 }
html.ui-apple #main .rounded-lg.border.p-0\.5 > button.rounded-md.bg-brand-500{ background:var(--ap-surface) !important; font-weight:600;
  box-shadow:0 1px 3px rgba(0,0,0,.14), 0 1px 1px rgba(0,0,0,.04) }
html.ui-apple.dark #main .rounded-lg.border.p-0\.5 > button.rounded-md.bg-brand-500{ background:#636366 !important; color:#fff !important }
/* 3) Unternehmer-Cockpit: Kennzahlen in Ampel-Schrift (Bernstein 2,2:1, Grau 2,6:1, Grün 3,2:1 auf Weiß) – im Hellmodus
      die nächstdunklere Stufe derselben Farbe (≥ 4,5:1), die Ampel-Bedeutung bleibt; Info-„i" mit dunklerem Grund */
html.ui-apple:not(.dark) #main [style*="color:#EF9F27" i]{ color:#a3500a !important }
html.ui-apple:not(.dark) #main [style*="color:#94a3b8" i]{ color:#6e6e73 !important }
html.ui-apple:not(.dark) #main [style*="color:#1D9E75" i]{ color:#047857 !important }
html.ui-apple:not(.dark) #main [style*="color:#E24B4A" i]{ color:#be123c !important }
html.ui-apple.dark #main [style*="color:#1D9E75" i]{ color:#30d158 !important }
html.ui-apple #main .co-i{ background:#6e6e73 !important; font-size:10px !important }

/* ── v2.257.0: Auftragsmaske in zwei Spalten (Entwurf „Auftragsmaske kombiniert") ─────────────────
   neu.js (nxOcZweiSpalten) hängt die fertigen Knoten um: Chat zum Vorgang unten in die Hauptspalte,
   Verlauf + Projekt nach rechts. Hier nur Raster, Zeitleiste und ein ruhiger Löschknopf. */
html.ui-apple #modalBox .oc-dash.nx-oc2 > .nx-oc-rail-leer{ display:none }
@media (min-width:1024px){
  html.ui-apple #modalBox .oc-dash.nx-oc2{ grid-template-columns:minmax(0,1fr) 330px !important; gap:20px }
  html.ui-apple #modalBox .oc-dash.nx-oc2 > .nx-oc-seite{ grid-column:auto !important }
}
@media (min-width:1440px){
  html.ui-apple #modalBox .oc-dash.nx-oc2{ grid-template-columns:minmax(0,1fr) 360px !important }
}
/* Verlauf als Zeitleiste: Punkt in der Farbe der Eintragsart (die bisherige farbige Kante), Linie dahinter */
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="verlauf"] ul{ position:relative; padding-left:20px }
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="verlauf"] ul::before{ content:""; position:absolute; left:4.5px; top:8px; bottom:8px; width:1px; background:var(--ap-sep) }
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="verlauf"] li.border-l-4{ position:relative; border-top-width:0 !important; border-right-width:0 !important;
  border-bottom-width:0 !important; border-left-width:0 !important; background:none !important; border-radius:0; padding:0 0 6px 0 !important }
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="verlauf"] li.border-l-4::before{ content:""; position:absolute; left:-20px; top:4px; width:10px; height:10px;
  border-radius:50%; background:var(--nx-ev, #8e8e93); box-shadow:0 0 0 2px var(--ap-surface) }
/* Punktfarbe = Farbe der Eintragsart (OC_EV_META in app.js); die Rahmenfarbe selbst überschreibt eine allgemeine Maskenregel */
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="verlauf"] li.border-l-brand-400{ --nx-ev:#fbbf24 }
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="verlauf"] li.border-l-brand-500{ --nx-ev:#f59e0b }
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="verlauf"] li.border-l-emerald-500{ --nx-ev:#10b981 }
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="verlauf"] li.border-l-emerald-600{ --nx-ev:#059669 }
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="verlauf"] li.border-l-indigo-400{ --nx-ev:#818cf8 }
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="verlauf"] li.border-l-orange-400{ --nx-ev:#fb923c }
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="verlauf"] li.border-l-sky-500{ --nx-ev:#0ea5e9 }
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="verlauf"] li.border-l-sky-600{ --nx-ev:#0284c7 }
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="verlauf"] li.border-l-slate-300{ --nx-ev:#cbd5e1 }
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="verlauf"] li.border-l-slate-400{ --nx-ev:#94a3b8 }
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="verlauf"] li.border-l-slate-600{ --nx-ev:#475569 }
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="verlauf"] li.border-l-violet-400{ --nx-ev:#a78bfa }
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="verlauf"] li.border-l-violet-500{ --nx-ev:#8b5cf6 }
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="verlauf"] li.border-l-rose-400{ --nx-ev:#fb7185 }
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="verlauf"] li.border-l-rose-500{ --nx-ev:#f43f5e }
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="verlauf"] li .leading-none{ display:none }
/* „Auftrag löschen": roter Textknopf statt roter Kasten – sichtbar, aber ruhig (Lars 18.08.: nicht verstecken) */
html.ui-apple #modalBox .cab-mfoot > button.border-rose-300{ border-color:transparent !important; background:transparent }
html.ui-apple #modalBox .cab-mfoot > button.border-rose-300:hover{ background:rgba(255,59,48,.08) !important }

/* ── v2.258.0: „Heute kombiniert" (Entwurf Claude + ChatGPT) ─────────────────────────────────────── */
html.ui-apple .nx-hinw{ display:flex; align-items:center; gap:12px; padding:10px 14px; border-radius:12px; margin:0 0 16px;
  background:#fff4e5; color:#1d1d1f; font-size:13px }
html.ui-apple .nx-hinw > svg{ color:#c93400; flex:none }
html.ui-apple .nx-hinw b{ font-weight:600 }
html.ui-apple .nx-hinw .nx-bs{ background:rgba(0,0,0,.06) }
html.ui-apple.dark .nx-hinw{ background:rgba(255,159,10,.16); color:var(--ap-label) }
html.ui-apple.dark .nx-hinw > svg{ color:#ff9f0a }
html.ui-apple.dark .nx-hinw .nx-bs{ background:rgba(255,255,255,.1) }
/* Entscheidungen als schmale Kachelreihe – dieselben Zeilen wie „Braucht jemanden" in der Leiste */
html.ui-apple .nx-ent{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:12px; margin:0 0 22px }
html.ui-apple .nx-ent-k{ display:flex; align-items:center; gap:10px; padding:10px 14px; border:0; border-radius:12px; cursor:pointer;
  background:var(--ap-surface); box-shadow:var(--ap-shadow-1); font:inherit; font-size:13px; color:var(--ap-label); text-align:left; min-height:48px }
html.ui-apple .nx-ent-k:hover{ background:var(--ap-hover) }
html.ui-apple.dark .nx-ent-k{ background:#1c1c1e }
html.ui-apple .nx-ent-k .nx-sq{ width:26px; height:26px; border-radius:7px }
html.ui-apple .nx-ent-k .nx-zahl{ font-size:15px }
html.ui-apple .nx-ent-leer{ font-size:13px; color:var(--ap-label-2); margin:0 4px 22px }
html.ui-apple .nx-hd-z{ display:flex; align-items:baseline; gap:8px; margin:0 4px 7px }
html.ui-apple .nx-hd-z .nx-hd{ margin:0 }
html.ui-apple .nx-hd-z .nx-link{ margin-left:auto; border:0; background:none; cursor:pointer; padding:0 }
/* Was heute ansteht – Zeitleiste */
html.ui-apple .nx-ab{ gap:12px }
html.ui-apple .nx-ab-zeit{ width:92px; flex:none; font-size:12px; color:var(--ap-label-2); font-variant-numeric:tabular-nums }
html.ui-apple .nx-ab-punkt{ width:9px; height:9px; border-radius:50%; flex:none }
html.ui-apple .nx-ab-team{ display:flex; flex:none }
@media (max-width:640px){ html.ui-apple .nx-ab-zeit{ width:auto } html.ui-apple .nx-ab-team{ display:none } }
/* Team jetzt – Zusammenfassung */
html.ui-apple .nx-team-sum{ padding:14px 16px; margin-bottom:12px }
html.ui-apple .nx-team-zahl{ display:flex; align-items:baseline; gap:6px }
html.ui-apple .nx-team-zahl b{ font-size:28px; font-weight:700; letter-spacing:-.02em; font-variant-numeric:tabular-nums }
html.ui-apple .nx-team-zahl span{ font-size:13px; color:var(--ap-label-2) }
html.ui-apple .nx-team-zahl small{ margin-left:auto; display:inline-flex; align-items:center; gap:5px; font-size:12px; color:var(--ap-label-2) }
html.ui-apple .nx-team-zahl small i{ width:7px; height:7px; border-radius:50%; background:#34c759 }
html.ui-apple .nx-team-stapel{ display:flex; margin-top:10px }
html.ui-apple .nx-team-stapel .nx-av{ width:30px; height:30px; font-size:11px; margin-right:-6px; box-shadow:0 0 0 2px var(--ap-surface) }

/* ── v2.259.0 / v2.266.0: Plantafel in „Neu" ───────────────────────────────────────────────────────────
   Seit v2.266.0 ohne rechte Seitenspalte: Monat + „Nicht terminiert" stehen wieder ÜBER dem Plan (wie Klassisch),
   die Tagesleiste hat die volle Breite. neu.js (nxPtAufbereiten) legt nur die Hülle .nx-pt um. */
html.ui-apple .nx-pt{ display:flex; flex-direction:column; gap:12px; min-width:0 }
/* „Heute besprechen": ruhige Gruppe statt violetter Kasten (Inhalt/Knöpfe bleiben) */
html.ui-apple .nx-pt > .border-violet-200{ background:var(--ap-surface) !important; border-color:transparent !important; box-shadow:var(--ap-shadow-1); border-radius:14px !important }
html.ui-apple.dark .nx-pt > .border-violet-200{ background:#1c1c1e !important }
html.ui-apple .nx-pt > .border-violet-200 .text-violet-900{ color:var(--ap-label) !important }

/* ── v2.260.0: Aufträge › Liste mit Inspektor (Entwurf „Aufträge – Liste mit Inspektor") ────────────── */
html.ui-apple .nx-seg.nx-seg-zahl{ flex-wrap:wrap }
html.ui-apple .nx-seg.nx-seg-zahl button span{ color:var(--ap-label-2); font-weight:500; font-variant-numeric:tabular-nums; margin-left:3px }
/* Spaltenköpfe sortieren wie im Finder */
html.ui-apple .nx-tab th > .nx-th{ border:0; background:none; padding:0; font:inherit; color:inherit; cursor:pointer; display:inline-flex; align-items:center; gap:4px }
html.ui-apple .nx-tab th > .nx-th:hover{ color:var(--ap-label) }
html.ui-apple .nx-tab th > .nx-th.on{ color:var(--ap-label) }
html.ui-apple .nx-tab th > .nx-th span{ font-size:9px }
/* Inspektor: Nächster Schritt, gruppierte Eckdaten, Zeilen mit Zahl */
html.ui-apple .nx-insp-rumpf{ display:flex; flex-direction:column; gap:14px }
html.ui-apple .nx-insp-weiter{ padding:11px 14px; border-radius:12px; background:#fffbe0; box-shadow:0 0 0 .5px rgba(138,109,0,.25) }
html.ui-apple .nx-insp-weiter small{ display:block; font-size:11px; font-weight:600; color:var(--ap-accent-ink) }
html.ui-apple .nx-insp-weiter b{ display:block; font-size:13.5px; font-weight:600; margin-top:2px; line-height:1.35 }
html.ui-apple.dark .nx-insp-weiter{ background:rgba(255,214,10,.12); box-shadow:none }
html.ui-apple .nx-insp-grp{ background:var(--ap-surface); border-radius:12px; box-shadow:var(--ap-shadow-1) }
html.ui-apple.dark .nx-insp-grp{ background:#1c1c1e }
html.ui-apple .nx-insp-grp.nx-kv{ padding:12px 14px }
html.ui-apple .nx-insp-zeilen{ overflow:hidden }
html.ui-apple .nx-insp-z{ display:flex; align-items:center; gap:10px; width:100%; min-height:42px; padding:0 14px; border:0; background:none; font:inherit; font-size:13px; color:var(--ap-label); text-align:left; cursor:pointer }
html.ui-apple .nx-insp-z + .nx-insp-z{ border-top:1px solid var(--ap-sep) }
html.ui-apple .nx-insp-z:hover{ background:var(--ap-hover) }
html.ui-apple .nx-insp-z > svg:first-child{ color:var(--ap-label-2) }
html.ui-apple .nx-insp-titel{ font-size:20px; font-weight:700; letter-spacing:-.02em }
/* Status-Kapsel samt Symbol passt ganz hinein (vorher bei „Störung" abgeschnitten) */
@media (min-width:768px){ html.ui-apple .nx-liste .nx-tab th:nth-child(6){ width:140px } }

/* ── v2.261.0: Inhalt der Auftragsmaske (Entwurf „Auftragsmaske kombiniert") ─────────────────────────── */
/* „Wie geht es weiter" als gelbe Karte „Nächster Schritt", Wiedervorlage direkt darunter im selben Kasten */
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="waspassiert"] > .border-t.bg-brand-50{ background:#fffbe0 !important; border-color:rgba(138,109,0,.18) !important }
html.ui-apple.dark #modalBox .nx-oc2 [data-ocpanel="waspassiert"] > .border-t{ background:rgba(255,214,10,.12) !important }
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="waspassiert"] > .border-t > div:first-child{ font-size:11px !important; text-transform:none; letter-spacing:0; opacity:1; color:var(--ap-accent-ink) }
html.ui-apple #modalBox .nx-oc2 [data-ocpanel="waspassiert"] > .border-t > div:last-child{ font-size:14px !important }
html.ui-apple #modalBox .nx-oc2 .nx-oc-wv{ padding:10px 14px; border-top:1px solid var(--ap-sep); border-radius:0 !important; margin:0 !important }
html.ui-apple #modalBox .nx-oc2 .nx-oc-wv button{ border-color:transparent !important; background:var(--ap-fill); border-radius:999px !important }
/* Chat zum Vorgang wie „Nachrichten": runde Blasen, eigene rechts gelb, andere links grau, Eingabe als Pille */
html.ui-apple #modalBox .nx-oc2 [id^="vgc-"][id$="-list"] .rounded-xl{ border-radius:18px !important; padding:7px 12px !important }
html.ui-apple #modalBox .nx-oc2 [id^="vgc-"][id$="-list"] .justify-end > .rounded-xl{ background:#ffe766 !important; border-bottom-right-radius:6px !important }
html.ui-apple #modalBox .nx-oc2 [id^="vgc-"][id$="-list"] .justify-start > .rounded-xl{ background:#e9e9eb !important; border-bottom-left-radius:6px !important }
html.ui-apple.dark #modalBox .nx-oc2 [id^="vgc-"][id$="-list"] .justify-start > .rounded-xl{ background:#3a3a3c !important; color:#f5f5f7 !important }
html.ui-apple #modalBox .nx-oc2 textarea[id^="vgc-"][id$="-inp"]{ border:0 !important; background:var(--ap-fill) !important; border-radius:18px !important; padding:7px 14px !important }
html.ui-apple #modalBox .nx-oc2 textarea[id^="vgc-"][id$="-inp"] + button{ border:0 !important; background:var(--ap-fill); border-radius:999px !important; padding:7px 14px !important }
/* Zeiterfassung: ruhige Tabelle, Summe als graue Zeile */
html.ui-apple #modalBox .nx-oc2 .oc-card-b table thead tr{ text-transform:none; letter-spacing:0; font-size:11.5px }
html.ui-apple #modalBox .nx-oc2 .oc-card-b table tbody tr{ border-color:var(--ap-sep) !important }
html.ui-apple #modalBox .nx-oc2 .oc-card-b table tfoot tr{ background:var(--ap-fill-2) !important }

/* ── v2.262.0: Plantafel – Jetzt-Linie und Auswertung als Fußleiste ────────────────────────────────── */
html.ui-apple .nx-jetzt{ position:absolute; top:0; bottom:0; width:2px; margin-left:-1px; background:#ff3b30; z-index:6; pointer-events:none }
html.ui-apple .nx-jetzt::before{ content:""; position:absolute; top:-1px; left:-3px; width:8px; height:8px; border-radius:50%; background:#ff3b30 }
html.ui-apple .nx-jetzt-zeit{ position:absolute; top:-2px; left:6px; padding:1px 5px; border-radius:5px; background:#ff3b30; color:#fff;
  font-size:11px; font-weight:600; font-variant-numeric:tabular-nums; line-height:1.3; white-space:nowrap }
html.ui-apple.dark .nx-jetzt, html.ui-apple.dark .nx-jetzt::before, html.ui-apple.dark .nx-jetzt-zeit{ background:#ff453a }
/* Auswertung unter dem Plan: schmale Statusleiste wie im Finder (Zahlen bleiben, nur leiser und flacher) */
html.ui-apple #main .nx-pt-fuss{ border-color:transparent !important; background:var(--ap-fill-2) !important; box-shadow:none !important;
  border-radius:10px !important; padding-top:6px !important; padding-bottom:6px !important; row-gap:6px !important }
html.ui-apple #main .nx-pt-fuss .text-\[16px\]{ font-size:13px !important; font-weight:700 !important }
html.ui-apple #main .nx-pt-fuss svg{ width:14px; height:14px }
