/* Design-Schutz (alle Identities): fest verdrahtete Tailwind-Klassen aus forms.py-Widgets (border-slate-*, bg-slate-100, text-blue-*)
   folgen der Palette des Mandanten und dem Dunkelmodus, statt sie mit festen Grau-/Blautoenen zu ueberschreiben. */
input[class*="border-slate-"], select[class*="border-slate-"], textarea[class*="border-slate-"] {
  border-color: var(--brand-border, #e2e8f0) !important; background-color: var(--brand-surface, #fff); color: var(--brand-text, #0f172a); }
input[class*="bg-slate-100"], select[class*="bg-slate-100"], textarea[class*="bg-slate-100"],
input[class*="bg-slate-50"], select[class*="bg-slate-50"], textarea[class*="bg-slate-50"] {
  background-color: color-mix(in srgb, var(--brand-text, #0f172a) 7%, var(--brand-surface, #fff)) !important; color: var(--brand-text-muted, #64748b) !important; }
input[type="checkbox"][class*="text-blue-"], input[type="checkbox"][class*="text-slate-"] { accent-color: var(--brand-600, #2563eb); color: var(--brand-600, #2563eb) !important; }
input[class*="border-slate-"]:focus, select[class*="border-slate-"]:focus, textarea[class*="border-slate-"]:focus { border-color: var(--brand-600, #2563eb) !important; }

/* Kontextbezogene Hilfe: Fragezeichen am Feldlabel (data_engine/form_engine.html) */
.field-help-btn { width: 1.15rem; height: 1.15rem; border-radius: 999px; border: 1px solid var(--brand-border, #cbd5e1); background: var(--brand-surface, #fff);
  color: var(--brand-600, #2563eb); font-size: .7rem; font-weight: 800; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.field-help-btn:hover, .field-help-btn:focus-visible { background: var(--brand-600, #2563eb); color: #fff; outline: none; }
.field-help-pop { position: absolute; z-index: 40; left: 0; top: 1.5rem; width: max-content; max-width: min(20rem, 80vw); padding: .55rem .75rem; border-radius: .75rem;
  background: var(--brand-surface, #fff); color: var(--brand-text, #0f172a); border: 1px solid var(--brand-border, #e2e8f0); box-shadow: 0 10px 30px rgba(0,0,0,.18);
  font-size: .8rem; font-weight: 500; line-height: 1.35; white-space: normal; }

/* Dashboard-Kacheln (templates/dashboard_unified.html): Icon links, Titel und Beschreibung buendig in einer Spalte daneben */
.dash-tile-h { display: grid; grid-template-columns: 2.9rem minmax(0, 1fr); column-gap: .8rem; align-content: start; padding: .9rem 1rem; border: 1px solid var(--brand-border, #e2e8f0); border-radius: 1.1rem; background: var(--brand-surface, #fff);
  color: var(--brand-text, #0f172a); box-shadow: 0 1px 2px rgba(0,0,0,.05); transition: transform .2s, box-shadow .2s, border-color .2s; text-decoration: none; }
.dash-tile-h:hover { border-color: var(--brand-500, var(--brand-600, #2563eb)); transform: translateY(-2px); box-shadow: 0 8px 22px rgba(0,0,0,.1); }
.dash-tile-h-icon { grid-column: 1; grid-row: 1 / span 2; width: 2.9rem; height: 2.9rem; margin: 0; border-radius: .9rem; display: flex; align-items: center; justify-content: center; font-size: 1.45rem; line-height: 1; }
.dash-tile-h .dash-tile-title { grid-column: 2; grid-row: 1; font-size: .9rem; font-weight: 600; line-height: 1.25; margin: 0 0 .15rem; color: var(--brand-text, #0f172a); }
.dash-tile-h p { grid-column: 2; grid-row: 2; font-size: .8rem; line-height: 1.4; margin: 0; color: var(--brand-text-muted, #64748b); }

/* BI-Tabellen (Auswertungen/Berichte): Zahlenspalten rechtsbuendig (core/templatetags/bi_tags.py) */
.bi-tab th.num, .bi-tab td.num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }

/* Listen: lange Namen (Kunde, Filiale) und Status umbrechen statt die Tabelle zu verbreitern - Ziel: eine Bildschirmseite */
.engine-table-cell.engine-wrap { white-space: normal; min-width: 7rem; max-width: 15rem; line-height: 1.25; overflow-wrap: break-word; }
.engine-table-cell.engine-wrap .cx-status { display: inline-block; max-width: 8.5rem; font-size: .78rem; font-weight: 700; line-height: 1.2; }
.engine-row-normal { height: auto; min-height: 3.25rem; }
.engine-table-cell { padding-top: .35rem; padding-bottom: .35rem; }

/* ERP-Vorgangsliste: Aktionen auf zwei Zeilen, damit die Tabelle ohne seitliches Scrollen passt */
.erp-actions { flex-wrap: wrap; width: 9.5rem; margin-left: auto; row-gap: .15rem; justify-content: flex-start; }
td.mc-actions { min-width: 10rem; }
.erp-actions > div { display: contents; }
.erp-actions .p-2 { padding: .35rem; }
.engine-table-cell.engine-wrap { min-width: 6rem; }
.erp-hilfe::backdrop { background: rgba(15,23,42,.6); }
.erp-hilfe { background: var(--brand-surface, #fff); color: var(--brand-text, #1e293b); border: 1px solid var(--brand-border, #cbd5e1); border-radius: 16px; padding: 0; max-width: 46rem; width: calc(100% - 2rem); }
.erp-hilfe h2 { font-size: 1.25rem !important; }
.erp-hilfe h3 { font-size: 1rem !important; line-height: 1.3 !important; font-weight: 800; margin: 1rem 0 .3rem; }
.erp-hilfe p, .erp-hilfe li { font-size: .88rem; line-height: 1.45; }
.erp-hilfe ul { list-style: disc; padding-left: 1.2rem; }

/* ERP-Beleg: Kastenueberschriften rechts (Zusammenfassung, Konditionen, Aktionen) klein halten - Mandanten-Designer setzt h2 sonst gross */
#summary-box-container h2, #condition-box-container h2, #action-box-container h3 { font-size: .72rem !important; line-height: 1.2 !important; letter-spacing: .06em !important; margin-bottom: .6rem !important; font-weight: 800 !important; }
/* TinyMCE im ERP: Schreibflaeche folgt dem Theme auch dann, wenn das Skin nicht greift */
:root[data-theme="dark"] .tox .tox-edit-area__iframe { background-color: #1e293b !important; }

/* Tabellen-Werkzeugleiste: Filter und Auswahlfelder bleiben lesbar (umbrechen statt abschneiden) */
.engine-tb-filters > * { flex-shrink: 0; }
.engine-tb-filters select { min-width: 9rem; max-width: 16rem; text-overflow: ellipsis; }

/* Tabellen kompakter: weniger Innenabstand, damit alle Spalten ohne seitliches Scrollen passen */
.engine-table-header-row th { padding: .7rem .65rem !important; }
.engine-table-cell { padding-left: .65rem; padding-right: .65rem; }
.engine-table-cell.engine-wrap .cx-status { max-width: 11rem; overflow-wrap: normal; word-break: normal; hyphens: manual; }
#exchange-order-table .engine-table-cell { font-size: .82rem; }
#exchange-order-table .engine-table-header-row th { font-size: .68rem; letter-spacing: .04em; }
#exchange-order-table .engine-table-cell.engine-wrap { min-width: 4.5rem; max-width: 10rem; }
#exchange-order-table .engine-table-header-row th { padding: .7rem .5rem !important; }
#exchange-order-table .engine-table-cell { padding-left: .5rem; padding-right: .5rem; }
#exchange-order-table .erp-actions, #exchange-order-table td.mc-actions { width: auto; min-width: 7.5rem; max-width: 8rem; }
/* ERP-Beleg: Kastenueberschriften (Einleitungstext, Schlusstext, Stueckelung, Positionen) klein */
#document-form h2.uppercase { font-size: .72rem !important; line-height: 1.2 !important; letter-spacing: .06em !important; font-weight: 800 !important; }
#summary-container h2 { color: #cbd5e1 !important; }

/* Mail-Liste: Erinnerung (Uhr) wie die Pin-Markierung; faellig = Akzentfarbe */
.mail-list__remind{display:inline-flex;align-items:center;color:var(--brand-text-muted,#64748b)}
.mail-list__remind--due{color:#d97706}
.mail-list__zu{display:inline-flex;align-items:center;gap:.25rem;margin:.2rem .3rem 0 0;padding:.05rem .55rem;border-radius:999px;font-size:.7rem;font-weight:700;background:color-mix(in srgb,var(--brand-text,#334155) 9%,transparent);color:var(--brand-text,#334155);border:1px solid color-mix(in srgb,var(--brand-text,#334155) 18%,transparent)}
.mail-list__zu--vorschlag{border-style:dashed;font-weight:600}

/* Web Mail: Mailliste - ungelesen klar erkennbar (hell und dunkel), kompakte Zeilen. Reines CSS (styles.css wird nicht neu gebaut). */
.mail-list__row { padding: .5rem .75rem .5rem .25rem; gap: .5rem; }
.mail-list__row.mail-list__row--unread { background-color: color-mix(in srgb, var(--brand-600, #2563eb) 14%, var(--brand-surface, #fff)); box-shadow: inset 4px 0 0 0 var(--brand-600, #2563eb); }
.mail-list__row.mail-list__row--read { background-color: var(--brand-surface, #fff); opacity: 1; box-shadow: none; }
.mail-list__row.mail-list__row--active { background-color: color-mix(in srgb, var(--brand-600, #2563eb) 24%, var(--brand-surface, #fff)); box-shadow: inset 4px 0 0 0 var(--brand-600, #2563eb); }
.mail-list__row--unread .mail-list__sender { font-weight: 700; color: var(--brand-text); }
.mail-list__row--unread .mail-list__subject { font-weight: 700; color: var(--brand-text); }
.mail-list__row--read .mail-list__sender { font-weight: 400; color: var(--brand-text-muted); }
.mail-list__row--read .mail-list__subject { font-weight: 400; color: var(--brand-text-muted); }
.mail-list__subject { font-size: 13px; line-height: 1.3; margin: 0; }
.mail-list__header { margin-bottom: .1rem; }
.mail-list__unread-dot { display: none; }
.mail-list__tags { min-height: 0; margin-top: .25rem; }
