/* ============================================================================
   KassenFlow – Leicht-Modus (Performance-Variante schwache Geräte)
   ============================================================================
   NUR wirksam mit der Klasse `html.kf-lite` (gesetzt von leicht-modus.js aus der
   betriebsweiten Einstellung `leichtModus`). REIN ADDITIV: die Basis-Regeln in
   pos.css/table-selection.css/cashbook.css/… bleiben unangetastet → die „volle
   Version" ist byteidentisch in ihrer Wirkung.

   Warum: `backdrop-filter: blur(...)` ist auf der Adreno-505-GPU des Sunmi V2 Pro
   eine der teuersten Compositing-Operationen (vollflächige Overlays + sticky
   Header werden pro Frame neu gesampelt). Im Leicht-Modus fällt der Weichzeichner
   weg – die Abdunklung bleibt über das ohnehin gesetzte rgba()-Background erhalten.
   Zusätzlich engen wir `transition: all` auf den hochfrequent gerenderten/gehoverten
   Grid-Kacheln auf die wirklich animierten Eigenschaften ein und lassen die teuren
   Repaints (box-shadow / bei den Tischkacheln auch transform) im kf-lite weg.

   KEIN Fiskalbezug. Spezifität `html.kf-lite .x` (0,2,1) schlägt Basis `.x`
   (0,1,0) unabhängig von der Ladereihenfolge; wo die Basis inline oder mit
   !important setzt, nutzen wir hier gezielt !important (siehe unten). */

/* ── Overlays / sticky Header: Weichzeichner aus ─────────────────────────── */
html.kf-lite .modal-overlay,          /* pos.css */
html.kf-lite .storno-overlay,         /* table-selection.css */
html.kf-lite .split-overlay,          /* table-selection.css */
html.kf-lite .tm-overlay,             /* table-manager.css (im DOM von index.html) */
html.kf-lite .cb-header,              /* cashbook.css (sticky) */
html.kf-lite .cb-modal-overlay,       /* cashbook.css */
html.kf-lite .cb-storno-overlay,      /* cashbook.css */
html.kf-lite .expert-overlay,         /* tax-wizard.css */
html.kf-lite .kds-header,             /* kitchen.css (sticky) */
html.kf-lite .ck-header,              /* cockpit.css (sticky) */
html.kf-lite .zj-overlay,             /* zbon-journal.js (injiziert, in index.html) */
html.kf-lite .ob-container {          /* onboarding.js (injiziert, in index.html) */
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* ── Sonderfälle: Basis setzt inline bzw. mit !important → hier !important ── */
/* Lizenz-Modal: pos.js:8488 setzt backdrop-filter INLINE (ohne !important) →
   ein Stylesheet-!important schlägt Inline-ohne-!important. */
html.kf-lite #licenseModal {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
/* Betriebskonfig-„Durchsicht"-Overlay: betrieb-setup.js injiziert die Regel mit
   !important → gleiche Spezifitätsklasse + höhere Spezifität (html.kf-lite) +
   !important gewinnt. */
html.kf-lite .modal-overlay.modal-overlay--see-through {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
/* Netzwerk-Warnung: api.js injiziert #network-warning-overlay MIT
   -webkit-backdrop-filter → beide Properties neutralisieren. */
html.kf-lite #network-warning-overlay {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* ── transition: all → nur die tatsächlich animierten Eigenschaften ──────── */
/* Produktkacheln (pos.css .product-card:hover animiert background/border/transform,
   :active transform). box-shadow-Übergang (teurer Repaint) im Leicht-Modus weg. */
html.kf-lite .product-card {
  transition: background-color .15s, border-color .15s, transform .15s;
}
/* Tischkacheln (table-selection.css .ts-table:hover animiert border/background/
   transform/box-shadow). Im Leicht-Modus bewusst OHNE transform/box-shadow-
   Übergang (beides teure Repaints; der Hover „snappt" dann hart – gewollt). */
html.kf-lite .ts-table {
  transition: background-color .15s, border-color .15s;
}
