/* =============================================================================
 * icons.css  ·  MDI-Subset (offline, CSP-konform)  ·  ALs-Buchhaltung
 * -----------------------------------------------------------------------------
 * Material Design Icons (Pictogrammers, Apache-2.0 / SIL OFL) — auf 57 Glyphen
 * subgesettet mit fontTools aus materialdesignicons-webfont.ttf (@mdi/font
 * 7.4.47 — Codepoints sind zwischen MDI-Versionen praktisch stabil, siehe
 * tools/build_icon_subset.py-Kopfkommentar).
 * Datei: fonts/mdi-subset.woff2. KEIN CDN — Offline-Pflicht §1.6.
 *
 * REBUILD (WP-6, DESIGN-SYSTEM-2026.md §10): die Quell-Webfont liegt bewusst
 * NICHT im Repo (Offline-Deliverable-Regel — nur das subgesettete Ergebnis
 * wird ausgeliefert). Ein Glyphen-Nachtrag ist seit WP-6 KEINE Sucharbeit
 * mehr: neue `.mdi-*::before{content:"\Fxxxxx"}`-Regel hier eintragen, dann
 * `tools/build_icon_subset.py --source <pfad-zur-webfont.ttf>` laufen lassen
 * (liest die Codepoint-Liste automatisch aus DIESER Datei). Immer mit der
 * generierten Render-Probe verifizieren — ein falscher Codepoint rendert
 * lautlos ein leeres Kästchen, kein Bau-Fehler (in diesem Projekt schon
 * zweimal passiert, siehe tools/build_icon_subset.py).
 *
 * CSP: als lokale Datei geladen (font-src 'self') — kein data:-URI nötig.
 * Kein Emoji als UI-Icon. Icon-Bedeutung ist projektweit konstant je Aktion
 * (DESIGN-BRIEF §1.6-Tabelle) — daher semantische Klassennamen (mdi-buchen …),
 * nicht die reinen MDI-Namen, damit ein Icon-Wechsel an EINER Stelle greift.
 *
 * A11y: Icon-Element immer aria-hidden="true"; die Bedeutung trägt das
 * umgebende Element per title/aria-label/Textlabel.
 * ============================================================================= */

@font-face {
  font-family: "MDI-Sub";
  src: url("fonts/mdi-subset.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: block;   /* Icon-Font: block statt swap — kein Fallback-Glyph-Blitz */
}

.mdi {
  font-family: "MDI-Sub";
  font-weight: 400;
  font-style: normal;
  font-size: 1.25em;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  display: inline-block;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  color: inherit;   /* folgt currentColor → über Tokens steuerbar */
}
.mdi::before { display: inline-block; }

/* ---- Modul-Navigation --------------------------------------------------- */
.mdi-nav-cockpit::before{content:"\F0A1D";}   /* view-dashboard-outline */
.mdi-nav-belege::before{content:"\F09EE";}    /* file-document-outline */
.mdi-nav-journal::before{content:"\F0EBF";}   /* notebook-outline */
.mdi-nav-konten::before{content:"\F05D1";}    /* scale-balance */
.mdi-nav-bank::before{content:"\F0E80";}      /* bank-outline */
.mdi-nav-uva::before{content:"\F15A6";}       /* calculator-variant-outline */
.mdi-nav-abschluss::before{content:"\F14F4";} /* book-check-outline */
.mdi-nav-export::before{content:"\F03D7";}    /* package-variant-closed */
.mdi-nav-admin::before{content:"\F08BB";}     /* cog-outline */

/* ---- Konstante Aktions-Icons (DESIGN-BRIEF §1.6) ------------------------ */
.mdi-buchen::before{content:"\F1696";}            /* book-plus-outline */
.mdi-festschreiben::before{content:"\F16A8";}     /* lock-check-outline */
.mdi-storno::before{content:"\F054D";}            /* undo-variant */
.mdi-beleg::before{content:"\F09EE";}             /* file-document-outline */
/* Icon-Revision 2026-08-16: vorher file-document-plus-outline (F1A9E) — der
   Glyph war identischer Familien-Look zu mdi-beleg/mdi-nav-belege und wurde
   zugleich fuer Angebot UND Verkaufs-Gruppe mitbenutzt (drei Bedeutungen).
   Jetzt receipt-text-outline = eindeutig "Rechnung"; Angebot/Verkauf haben
   eigene Klassen (unten, Revisions-Block). */
.mdi-rechnung::before{content:"\F19DC";}          /* receipt-text-outline */
.mdi-bank::before{content:"\F0E80";}              /* bank-outline */
.mdi-export::before{content:"\F03D7";}            /* package-variant-closed */
.mdi-frist-ueberfaellig::before{content:"\F05CE";}/* clock-alert-outline */
.mdi-frist-plan::before{content:"\F0150";}        /* clock-outline */

/* ---- UI / Utility ------------------------------------------------------- */
.mdi-menu::before{content:"\F035C";}          /* menu */
.mdi-close::before{content:"\F0156";}         /* close */
.mdi-chevron-right::before{content:"\F0142";} /* chevron-right */
.mdi-chevron-down::before{content:"\F0140";}  /* chevron-down */
.mdi-search::before{content:"\F0349";}        /* magnify */
.mdi-upload::before{content:"\F0552";}        /* upload */
.mdi-camera::before{content:"\F0D5D";}        /* camera-outline */
.mdi-plus::before{content:"\F0415";}          /* plus */
.mdi-check::before{content:"\F012C";}         /* check */
.mdi-alert::before{content:"\F002A";}         /* alert-outline */
.mdi-info::before{content:"\F02FD";}          /* information-outline */
.mdi-logout::before{content:"\F0343";}        /* logout */
.mdi-account::before{content:"\F0B55";}       /* account-circle-outline */
.mdi-bell::before{content:"\F009C";}          /* bell-outline */
.mdi-open-new::before{content:"\F03CC";}      /* open-in-new */
.mdi-positive::before{content:"\F05E1";}      /* check-circle-outline */
.mdi-negative::before{content:"\F05D6";}      /* alert-circle-outline */
.mdi-pending::before{content:"\F0996";}       /* progress-clock */
/* T043-Nachtrag, eingeloest mit der Icon-Revision 2026-08-16: der Alias auf
   information-outline ist Geschichte -- Hilfe traegt jetzt den echten
   Fragezeichen-Glyph (vorher teilten sich Hilfe-Links und Info-Alerts
   DASSELBE Symbol; genau der "ein Symbol, zwei Bedeutungen"-Fehler, den die
   Revision abraeumt). Wie im T043-Kommentar versprochen: NUR diese Zeile. */
.mdi-hilfe::before{content:"\F0625";}         /* help-circle-outline */

/* ---- WP-6 Subset-Erweiterung (DESIGN-SYSTEM-2026.md §10) ---------------- *
 * Sechs bestellte Glyphen fuer Delta-Chips (§3.7), Chart-Karten (§7.4),
 * Tabellen-Toolbar (Filter) und den Theme-Umschalter. Codepoints aus
 * @mdi/font 7.4.47 (materialdesignicons.css), gegen die bestehenden 33
 * Codepoints exakt verifiziert (siehe tools/build_icon_subset.py). */
.mdi-trend-auf::before{content:"\F0535";}     /* trending-up */
.mdi-trend-ab::before{content:"\F0533";}      /* trending-down */
.mdi-chart::before{content:"\F012A";}         /* chart-line */
.mdi-tabelle::before{content:"\F04EB";}       /* table */
.mdi-filter::before{content:"\F0236";}        /* filter-variant */
.mdi-theme::before{content:"\F050E";}         /* theme-light-dark */

/* ---- Icon-Revision 2026-08-16 (Auftrag "alle Icons noch einmal ansehen") -- *
 * Gemessener Ausgangsbefund: 1 harter Fehler (mdi-chevron-left verwendet,
 * aber nie definiert -> leeres Kaestchen auf dem Kontoblatt) + mehrfach
 * dasselbe Symbol fuer verschiedene Bedeutungen (Modul-Identitaet vs.
 * Status/Aktion). Jede Klasse hier hat GENAU EINE Bedeutung; Codepoints
 * exakt gegen @mdi/font 7.4.47 (materialdesignicons.css) verifiziert.       */
.mdi-chevron-left::before{content:"\F0141";}  /* chevron-left — Zurueck-Links */
.mdi-zoom-in::before{content:"\F06ED";}       /* magnify-plus-outline */
.mdi-zoom-out::before{content:"\F06EC";}      /* magnify-minus-outline */
.mdi-kunden::before{content:"\F0B58";}        /* account-group-outline — Kunden-Modul (mdi-account bleibt exklusiv "mein Konto/Login") */
.mdi-angebot::before{content:"\F0DC9";}       /* file-document-edit-outline — Angebot (Dokument in Arbeit, geht der Rechnung voraus) */
.mdi-verkauf::before{content:"\F15A1";}       /* handshake-outline — Nav-Gruppe Verkauf */
.mdi-mahnung::before{content:"\F0D42";}       /* email-alert-outline — Mahnwesen/Mahnung erzeugen (clock-alert bleibt exklusiv Frist-Status) */
.mdi-wizard::before{content:"\F0756";}        /* format-list-checks — gefuehrter Wizard (progress-clock bleibt exklusiv "laedt/ausstehend") */
.mdi-drucken::before{content:"\F1786";}       /* printer-outline — Drucken (vorher faelschlich open-in-new) */
.mdi-download::before{content:"\F0B8F";}      /* download-outline — Datei-Downloads XLSX/CSV/XML/MD (Paket-Glyph bleibt dem Export-MODUL) */
/* Jahresabschluss-Abschnitte: vorher trugen drei der sechs Tabs Aktions-/
   Status-Glyphen (storno/negative/festschreiben) als Abschnitts-Identitaet. */
.mdi-abgrenzung::before{content:"\F0E8F";}    /* calendar-sync-outline — ARA/PRA (Betraege wandern ueber die Periodengrenze) */
.mdi-rueckstellung::before{content:"\F120E";} /* archive-outline — Rueckstellungen (zurueckgelegt) */
.mdi-inventur::before{content:"\F08A8";}      /* clipboard-check-outline — Inventur (Zaehl-Checkliste) */
.mdi-verrechnung::before{content:"\F04E1";}   /* swap-horizontal — Verrechnungskonto (Ausgleich in beide Richtungen) */
.mdi-eb-uebernahme::before{content:"\F1683";} /* book-arrow-right-outline — EB-Uebernahme (Salden ins neue Buch) */
/* Alias (teilt Codepoint mit mdi-nav-uva): "Berechnen"-Aktionen ausserhalb
   des UVA-Moduls (z. B. Frist berechnen) — gleiches Muster wie mdi-beleg/
   mdi-nav-belege: eigene semantische Klasse, ein Glyph. */
.mdi-berechnen::before{content:"\F15A6";}     /* Alias: calculator-variant-outline */

/* ---- Fahrtenbuch (Nachtrag, Auftrag "Fahrtenbuch am Mobiltelefon") ------- *
 * Zwei neue Glyphen, Codepoints aus dem echten @mdi/font-7.4.47-Paket
 * (materialdesignicons.css) gegengelesen, nicht aus dem Gedaechtnis
 * uebernommen (siehe tools/build_icon_subset.py-Kopfkommentar: ein falscher
 * Codepoint faellt sonst erst beim Ansehen als leeres Kaestchen auf). */
.mdi-nav-fahrtenbuch::before{content:"\F14ED";} /* car-outline — Modul-Nav-Icon */
.mdi-kilometerstand::before{content:"\F029A";}  /* gauge — Kilometerstand-Erfassung/-Anzeige */

/* ---- Mailentwurf (Auftrag 17.08.2026, ".eml mit PDF-Anhang erzeugen") ---- *
 * Codepoint aus dem echten @mdi/font-7.4.47-Paket (materialdesignicons.css)
 * gegengelesen, nicht aus dem Gedaechtnis uebernommen (siehe
 * tools/build_icon_subset.py-Kopfkommentar). email-edit-outline (Umschlag +
 * Stift) statt eines schlichten Umschlags, weil hier bewusst KEIN Versand
 * passiert, sondern nur ein Entwurf entsteht — mdi-mahnung (email-alert-
 * outline) bleibt exklusiv "Mahnung erzeugen", keine Doppelnutzung. */
.mdi-mail-entwurf::before{content:"\F0EE4";}    /* email-edit-outline — Mailentwurf (.eml) mit PDF-Anhang erzeugen */
