/* =========================================================================
   ServiceHub — Re-Design PTE (Positions-Grid)  ·  REIN OPTISCH, additiv
   Bereich: Positions-Table-Engine (.pte-*) im Beleg-Editor.
   Quelle: position-table-engine.css (Struktur) + sh/app.css .pos-tbl/.pe-* (Look).
   ──────────────────────────────────────────────────────────────────────────
   - GENAU diese eine Datei. Kein Markup/JS, keine Spalten/Felder entfernt.
   - Nur Farbe/Rahmen/Radius/Schatten/Fokus → warmes ELMETIC-Token-System.
   - Tokens lokal auf .pte-wrap gescoped → unabhängig von Ladereihenfolge.
   - Light + Dark ([data-theme="dark"]). Globale Basis (.btn/.badge/.input)
     wird NICHT angefasst (gehört dem Fundament).
   ========================================================================= */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Figtree:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap');

/* ---------- Tokens (Light) — gescoped auf das PTE-Wrap ---------- */
.pte-wrap{
  --accent:#E73D25; --accent-700:#C5331E; --accent-600:#D6371F;
  --accent-soft:#FCEDE7; --accent-line:rgba(231,61,37,.22);
  --honey:#D99A2B; --honey-soft:#FBF0DA;
  --ok:#16A34A; --ok-soft:#E9F8EF;
  --warn:#C7791A; --warn-soft:#FBF1E0;
  --info:#2F6BD6; --info-soft:#EAF1FC;
  --violet:#7C5BD6; --violet-soft:#F0ECFB;
  --bg:#FAF6F2; --surface:#FFFFFF; --surf-2:#F6F1EB; --surf-3:#EFE8E0;
  --ink:#231C17; --text:#463D35; --text-2:#6B6157; --muted:#9A8F84;
  --border:#EEE5DC; --border-2:#E3D9CE; --field:#F6F1EB;
  --font-head:'Space Grotesk','Figtree',system-ui,sans-serif;
  --font-body:'Figtree',system-ui,sans-serif;
  --font-mono:'Space Mono',ui-monospace,monospace;
  --r-xs:7px; --r-sm:9px; --r-md:12px; --r-lg:16px; --r-pill:999px;
  --sh-sm:0 1px 2px rgba(120,80,50,.06);
  --sh-md:0 6px 20px rgba(120,80,50,.07),0 1px 2px rgba(120,80,50,.05);
  --sh-pop:0 18px 44px rgba(120,80,50,.14);
  --ring:0 0 0 3px var(--accent-soft);
  --tr:.16s cubic-bezier(.2,.7,.3,1);
}
[data-theme="dark"] .pte-wrap{
  --accent:#F2543B; --accent-700:#E0432B; --accent-600:#EC4A30;
  --accent-soft:rgba(242,84,59,.16); --accent-line:rgba(242,84,59,.30);
  --honey:#E6AE4A; --honey-soft:rgba(230,174,74,.16);
  --ok:#3BC07A; --ok-soft:rgba(59,192,122,.15);
  --warn:#E5A33C; --warn-soft:rgba(229,163,60,.15);
  --info:#5C8FE8; --info-soft:rgba(92,143,232,.16);
  --violet:#9D82E6; --violet-soft:rgba(157,130,230,.16);
  --bg:#15120F; --surface:#1E1A16; --surf-2:#241F1A; --surf-3:#2C2620;
  --ink:#F6F1EC; --text:#E2D8CE; --text-2:#B3A99E; --muted:#8C8175;
  --border:#2E2822; --border-2:#3A332B; --field:#241F1A;
  --sh-sm:0 1px 2px rgba(0,0,0,.4);
  --sh-md:0 6px 20px rgba(0,0,0,.35),0 1px 2px rgba(0,0,0,.4);
  --sh-pop:0 18px 44px rgba(0,0,0,.5);
  --ring:0 0 0 3px var(--accent-soft);
}

/* ── Wrap ──────────────────────────────────────────────────────────────── */
.pte-wrap{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r-md);
  box-shadow:var(--sh-md);
  font-family:var(--font-body);
  color:var(--text);
}

/* ── Toolbar ───────────────────────────────────────────────────────────── */
.pte-wrap .pte-toolbar{
  background:var(--surf-2);
  border-bottom:1px solid var(--border);
}
.pte-wrap .pte-toolbar-sep{ background:var(--border-2); }
.pte-wrap .pte-toolbar-spacer{ background:transparent; }
.pte-wrap .pte-mode-badge{
  background:var(--accent);
  color:#fff;
  border-radius:var(--r-pill);
}

/* ── Toolbar-Buttons ───────────────────────────────────────────────────── */
.pte-wrap .pte-btn{
  border:1px solid var(--border-2);
  background:var(--surface);
  color:var(--text-2);
  border-radius:var(--r-xs);
  font-family:var(--font-body);
  transition:var(--tr);
}
.pte-wrap .pte-btn:hover{
  background:var(--accent-soft);
  border-color:var(--accent);
  color:var(--accent);
}
.pte-wrap .pte-btn--primary{
  background:var(--accent);
  color:#fff;
  border-color:var(--accent);
}
.pte-wrap .pte-btn--primary:hover{
  background:var(--accent-700);
  border-color:var(--accent-700);
  color:#fff;
}
.pte-wrap .pte-btn--ghost{
  background:transparent;
  border-color:var(--border-2);
  color:var(--text-2);
}
.pte-wrap .pte-btn--ghost:hover{
  background:var(--accent-soft);
  border-color:var(--accent);
  color:var(--accent);
}
.pte-wrap .pte-btn--danger:hover{
  background:var(--accent-soft);
  border-color:var(--accent);
  color:var(--accent);
}
.pte-wrap .pte-btn--icon{
  border-color:transparent;
  background:transparent;
  color:var(--muted);
}
.pte-wrap .pte-btn--icon:hover{
  background:var(--surf-3);
  border-color:var(--border-2);
  color:var(--ink);
}
/* Spezial-Buttons (Text/Überschrift/Trenner/Pauschal) — warm getönt */
.pte-wrap .pte-btn--text{ color:var(--honey); }
.pte-wrap .pte-btn--text:hover{ background:var(--honey-soft); border-color:var(--honey); color:var(--honey); }
.pte-wrap .pte-btn--heading{ color:var(--info); }
.pte-wrap .pte-btn--heading:hover{ background:var(--info-soft); border-color:var(--info); color:var(--info); }
.pte-wrap .pte-btn--sep{ color:var(--text-2); }
.pte-wrap .pte-btn--sep:hover{ background:var(--surf-2); border-color:var(--muted); color:var(--ink); }
.pte-wrap .pte-btn--pau{ color:var(--violet); border-color:var(--violet-soft); }
.pte-wrap .pte-btn--pau:hover{ background:var(--violet-soft); border-color:var(--violet); }

/* ── Speicherstatus ────────────────────────────────────────────────────── */
.pte-wrap .pte-save-status{
  border-bottom:1px solid var(--border);
  background:var(--surf-2);
}
.pte-wrap .pte-save-status--saved   { color:var(--ok); }
.pte-wrap .pte-save-status--pending { color:var(--warn); }
.pte-wrap .pte-save-status--saving  { color:var(--accent); }
.pte-wrap .pte-save-status--error   { color:var(--accent); background:var(--accent-soft); }

/* ── Warnungsleiste ────────────────────────────────────────────────────── */
.pte-wrap .pte-warning-bar{
  background:var(--warn-soft);
  border-bottom:1px solid var(--honey);
  color:var(--warn);
}

/* ── Header-Zeile ──────────────────────────────────────────────────────── */
.pte-wrap .pte-header-row{ background:var(--surf-2); }
.pte-wrap .pte-th{
  color:var(--muted);
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  background:var(--surf-2);
  border-bottom:1px solid var(--border-2);
  font-family:var(--font-body);
}
.pte-wrap .pte-col-resize:hover  { background:var(--accent); opacity:.5; }
.pte-wrap .pte-col-resize:active { background:var(--accent); opacity:.8; }
.pte-wrap .pte-th--dragging{ opacity:.4; background:var(--surf-3) !important; }
.pte-wrap .pte-th--drag-over{
  background:var(--accent-soft) !important;
  box-shadow:inset 0 0 0 2px var(--accent);
}

/* ── Zeilen ────────────────────────────────────────────────────────────── */
.pte-wrap .pte-row{ border-bottom:1px solid var(--border); transition:background .08s; }
.pte-wrap .pte-row:nth-child(even){ background:color-mix(in srgb,var(--surf-2) 45%,transparent); }
.pte-wrap .pte-row:hover{ background:var(--surf-2); }
.pte-wrap .pte-row--selected{ background:var(--accent-soft) !important; }
.pte-wrap .pte-row--warning{ background:var(--warn-soft) !important; }

/* Gruppen-/Unterzeilen (generisch) */
.pte-wrap .pte-row--group-header{ background:var(--surf-2) !important; font-weight:600; }
.pte-wrap .pte-row--group-header:hover{ background:var(--surf-3) !important; }
.pte-wrap .pte-row--subitem  { background:color-mix(in srgb,var(--surf-2) 55%,transparent) !important; }
.pte-wrap .pte-row--subitem2 { background:color-mix(in srgb,var(--surf-2) 70%,transparent) !important; }

.pte-wrap .pte-row--internal{ opacity:.75; font-style:italic; }
.pte-wrap .pte-row--internal:hover{ opacity:1; }
.pte-wrap .pte-row--optional{ background:var(--honey-soft) !important; border-left:3px solid var(--honey); }

/* Überschrift-Zeile (heading) — info-getönt */
.pte-wrap .pte-row--heading{
  background:var(--info-soft) !important;
  border-top:2px solid var(--info);
  border-bottom:2px solid var(--info);
}
.pte-wrap .pte-row--heading:hover{ background:var(--info-soft) !important; }
.pte-wrap .pte-cell--heading-title:hover{ background:var(--info-soft); border-radius:var(--r-xs); }
.pte-wrap .pte-cell--heading-title:focus{
  outline:2px solid var(--info); outline-offset:-2px; background:var(--info-soft); border-radius:3px;
}
.pte-wrap .pte-heading-text{
  font-family:var(--font-head);
  font-weight:700;
  color:var(--info);
  border-left:3px solid var(--info);
}

/* Texthinweis-Zeile (textNote / text) — honey-getönt */
.pte-wrap .pte-row--text-note{
  background:var(--honey-soft) !important;
  border-bottom:1px solid var(--honey);
}
.pte-wrap .pte-row--text-note:hover{ background:var(--honey-soft) !important; }
.pte-wrap .pte-cell--text-title:hover{ background:var(--honey-soft); border-radius:var(--r-xs); }
.pte-wrap .pte-cell--text-title:focus{
  outline:2px solid var(--honey); outline-offset:-2px; background:var(--honey-soft); border-radius:3px;
}
.pte-wrap .pte-text-note{ color:var(--text-2); font-style:italic; }

/* Trennlinie-Zeile (separator) */
.pte-wrap .pte-separator-line{ border-top:2px solid var(--border-2); }

/* ── Zellen ────────────────────────────────────────────────────────────── */
.pte-wrap .pte-cell{ color:var(--text); }
.pte-wrap .pte-cell--system{ color:var(--text-2); }
.pte-wrap .pte-cell--editable{ cursor:text; }
.pte-wrap .pte-cell--editable:hover{ background:var(--surf-2); border-radius:var(--r-xs); }
.pte-wrap .pte-cell--editable:focus{
  outline:2px solid var(--accent);
  outline-offset:-2px;
  border-radius:3px;
  background:var(--surface);
  box-shadow:inset 0 0 0 1px var(--accent);
}

/* Zahl-Spalten in Mono (Lesbarkeit der Beträge) */
.pte-wrap .pte-cell--unitPriceNet,
.pte-wrap .pte-cell--listPriceNet,
.pte-wrap .pte-cell--purchasePriceNet,
.pte-wrap .pte-cell--lineTotalNet,
.pte-wrap .pte-cell--lineTotalGross,
.pte-wrap .pte-cell--contribution,
.pte-wrap .pte-cell--quantity,
.pte-wrap .pte-cell--quantityOrdered,
.pte-wrap .pte-cell--quantityDelivered,
.pte-wrap .pte-cell--quantityOpen,
.pte-wrap .pte-cell--markupPercent,
.pte-wrap .pte-cell--supplierDiscountPercent,
.pte-wrap .pte-cell--discountPercent,
.pte-wrap .pte-cell--taxRate{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
}

/* ── Drag-Handle ───────────────────────────────────────────────────────── */
.pte-wrap .pte-drag-handle{ color:var(--border-2); border-radius:var(--r-xs); }
.pte-wrap .pte-drag-handle:hover{ color:var(--accent); background:var(--accent-soft); }
.pte-wrap .pte-gr-dh{ color:var(--border-2); }

/* ── Inline-Inputs (Zellen-Inputs: transparent, Fokus-Ring accent) ─────── */
.pte-wrap .pte-cell-input,
.pte-wrap .pte-cell-select{
  border:1px solid var(--accent);
  border-radius:var(--r-xs);
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--surface);
  box-shadow:var(--ring);
}
.pte-wrap .pte-cell--unitPriceNet .pte-cell-input,
.pte-wrap .pte-cell--listPriceNet .pte-cell-input,
.pte-wrap .pte-cell--purchasePriceNet .pte-cell-input,
.pte-wrap .pte-cell--lineTotalNet .pte-cell-input,
.pte-wrap .pte-cell--lineTotalGross .pte-cell-input,
.pte-wrap .pte-cell--quantity .pte-cell-input,
.pte-wrap .pte-cell--markupPercent .pte-cell-input,
.pte-wrap .pte-cell--discountPercent .pte-cell-input,
.pte-wrap .pte-cell--taxRate .pte-cell-input,
.pte-wrap .pte-cell--taxRate .pte-cell-select{
  font-family:var(--font-mono);
  text-align:right;
}

/* ── Badges (B / nB / System / Summary / Billable) ─────────────────────── */
.pte-wrap .pte-badge{ border-radius:var(--r-xs); font-weight:700; letter-spacing:.03em; }
.pte-wrap .pte-badge--b      { background:var(--ok-soft); color:var(--ok); }
.pte-wrap .pte-badge--nb     { background:var(--accent-soft); color:var(--accent-700); }
.pte-wrap .pte-badge--system { background:var(--info-soft); color:var(--info); }
.pte-wrap .pte-badge--summary{ background:var(--violet-soft); color:var(--violet); }
.pte-wrap .pte-badge--billable{ background:var(--honey-soft); color:var(--warn); }
.pte-wrap .pte-badge--muted  { background:var(--surf-2); color:var(--text-2); }
.pte-wrap .pte-badge--success{ background:var(--ok-soft); color:var(--ok); }
[data-toggle-print]:focus-visible{ outline-color:var(--accent); }

/* ── Systemgruppen (Monteur: Stunden/Material) ─────────────────────────── */
.pte-wrap .pte-row--system-group{
  background:var(--info-soft) !important;
  border-left:3px solid var(--info);
}
.pte-wrap .pte-row--system-group.pte-row--hours{
  background:var(--honey-soft) !important;
  border-left-color:var(--honey);
}
.pte-wrap .pte-row--system-group.pte-row--material{
  background:var(--ok-soft) !important;
  border-left-color:var(--ok);
}
.pte-wrap .pte-row--system{ background:color-mix(in srgb,var(--info-soft) 50%,transparent) !important; }
.pte-wrap .pte-row--system.pte-row--billing-billable{ background:var(--honey-soft) !important; }
.pte-wrap .pte-row--system.pte-row--billing-documentation{ color:var(--text-2); }
.pte-wrap .pte-row--system.pte-row--billing-attendance{ color:var(--muted); }
.pte-wrap .pte-row--system.pte-row--status-approved { border-left:2px solid var(--ok); }
.pte-wrap .pte-row--system.pte-row--status-submitted{ border-left:2px solid var(--warn); }
.pte-wrap .pte-row--system.pte-row--status-draft    { border-left:2px solid var(--border-2); }
.pte-wrap .pte-row--system.pte-row--status-rejected { border-left:2px solid var(--accent); }

/* ── NB-Zeilen (intern / nicht drucken) — warm-violett schraffiert ─────── */
.pte-wrap .pte-row--nb{
  background:repeating-linear-gradient(
    90deg, var(--violet-soft) 0, var(--violet-soft) 8px,
    transparent 8px, transparent 9px) !important;
}
.pte-wrap .pte-row--nb:hover{
  background:repeating-linear-gradient(
    90deg, var(--violet-soft) 0, var(--violet-soft) 7px,
    color-mix(in srgb,var(--violet-soft) 60%,transparent) 7px,
    color-mix(in srgb,var(--violet-soft) 60%,transparent) 9px) !important;
}
.pte-wrap .pte-row--nb .pte-cell{ color:var(--violet); opacity:.9; }

/* ── Gruppen-Header (reichhaltig) ──────────────────────────────────────── */
.pte-wrap .pte-gr-name { font-family:var(--font-head); color:var(--ink); }
.pte-wrap .pte-gr-total{ font-family:var(--font-mono); color:var(--ink); }
.pte-wrap .pte-gr-tag{ border-radius:var(--r-pill); }
.pte-wrap .pte-gr-margin{ border-radius:var(--r-pill); }
.pte-wrap .pte-gr-margin--g{ background:var(--ok-soft);    color:var(--ok); }
.pte-wrap .pte-gr-margin--r{ background:var(--accent-soft); color:var(--accent-700); }
.pte-wrap .pte-gr-margin--w{ background:var(--honey-soft);  color:var(--warn); }

/* Gruppentyp-Varianten — neu eingefärbt (std=info, pau=violet, hrs=honey, mat=ok) */
.pte-wrap .pte-row--group-std{ background:var(--info-soft) !important; }
.pte-wrap .pte-row--group-std:hover{ background:var(--info-soft) !important; }
.pte-wrap .pte-row--group-std td,
.pte-wrap .pte-row--group-std .pte-gr-wrap{ border-top:2px solid var(--info); }
.pte-wrap .pte-row--group-std .pte-gr-name { color:var(--info); }
.pte-wrap .pte-row--group-std .pte-gr-tag  { background:var(--info-soft); color:var(--info); }
.pte-wrap .pte-row--group-std .pte-gr-total{ color:var(--info); }

.pte-wrap .pte-row--group-pau{ background:var(--violet-soft) !important; }
.pte-wrap .pte-row--group-pau:hover{ background:var(--violet-soft) !important; }
.pte-wrap .pte-row--group-pau td,
.pte-wrap .pte-row--group-pau .pte-gr-wrap{ border-top:2px solid var(--violet); }
.pte-wrap .pte-row--group-pau .pte-gr-name { color:var(--violet); }
.pte-wrap .pte-row--group-pau .pte-gr-tag  { background:var(--violet-soft); color:var(--violet); border:1px solid var(--violet); }
.pte-wrap .pte-row--group-pau .pte-gr-total{ color:var(--violet); }
.pte-wrap .pte-row--group-pau .pte-gr-dh   { color:var(--violet); }

.pte-wrap .pte-row--group-hrs{ background:var(--honey-soft) !important; }
.pte-wrap .pte-row--group-hrs:hover{ background:var(--honey-soft) !important; }
.pte-wrap .pte-row--group-hrs td,
.pte-wrap .pte-row--group-hrs .pte-gr-wrap{ border-top:2px solid var(--honey); }
.pte-wrap .pte-row--group-hrs .pte-gr-name { color:var(--warn); }
.pte-wrap .pte-row--group-hrs .pte-gr-tag  { background:var(--honey-soft); color:var(--warn); }
.pte-wrap .pte-row--group-hrs .pte-gr-total{ color:var(--warn); }

.pte-wrap .pte-row--group-mat{ background:var(--ok-soft) !important; }
.pte-wrap .pte-row--group-mat:hover{ background:var(--ok-soft) !important; }
.pte-wrap .pte-row--group-mat td{ border-top:2px solid var(--ok); }
.pte-wrap .pte-row--group-mat .pte-gr-name { color:var(--ok); }
.pte-wrap .pte-row--group-mat .pte-gr-tag  { background:var(--ok-soft); color:var(--ok); }

/* Lump-Sum Preis-Eingabe (Pauschal) */
.pte-wrap .pte-lump-in{
  border:1px solid var(--violet);
  border-radius:var(--r-sm);
  color:var(--violet);
  background:var(--violet-soft);
  font-family:var(--font-mono);
}
.pte-wrap .pte-lump-in:focus{ outline:2px solid var(--violet); }
.pte-wrap .pte-gr-lump-arrow{ color:var(--muted); }

/* ── Add-Bar je Gruppe ─────────────────────────────────────────────────── */
.pte-wrap .pte-add-btn{
  color:var(--muted);
  border:1px dashed var(--border-2);
  border-radius:var(--r-xs);
  font-family:var(--font-body);
  transition:var(--tr);
}
.pte-wrap .pte-add-btn:hover{ border-color:var(--accent); color:var(--accent); background:var(--accent-soft); }
.pte-wrap .pte-add-bar--pau{ border-bottom:2px solid var(--violet); }
.pte-wrap .pte-add-bar--pau .pte-add-btn{ color:var(--violet); border-color:var(--violet-soft); }
.pte-wrap .pte-add-bar--pau .pte-add-btn:hover{ background:var(--violet-soft); }
.pte-wrap .pte-add-btn--txt:hover{ border-color:var(--honey); color:var(--honey); background:var(--honey-soft); }
.pte-wrap .pte-add-btn--hdg:hover{ border-color:var(--info); color:var(--info); background:var(--info-soft); }
.pte-wrap .pte-add-btn--sep:hover{ border-color:var(--muted); color:var(--text-2); background:var(--surf-2); }

/* ── Add-Gruppe-Bar ────────────────────────────────────────────────────── */
.pte-wrap .pte-add-grp-bar{
  background:var(--surf-2);
  border-top:1px solid var(--border);
}

/* ── Artikelnummer-Link ────────────────────────────────────────────────── */
.pte-wrap .pte-article-link{ color:var(--info); border-bottom:1px dashed var(--info); }
.pte-wrap td[data-product-id]:hover .pte-article-link{ color:var(--info); border-bottom-style:solid; }

/* ── Summenleiste (einfach, z.B. Lieferschein) ─────────────────────────── */
.pte-wrap .pte-totals-bar--simple{
  background:var(--surf-2);
  border-top:2px solid var(--border-2);
  border-radius:0 0 var(--r-md) var(--r-md);
}

/* ── Summenleiste (Angebot/Auftrag) — warmer Akzent statt Blau-Schwarz ─── */
.pte-wrap .pte-totals{
  background:linear-gradient(135deg,#3A2A22,#241A14);
  border-radius:0 0 var(--r-md) var(--r-md);
}
[data-theme="dark"] .pte-wrap .pte-totals{
  background:linear-gradient(135deg,#2A211B,#1A1410);
}
.pte-wrap .pte-tot{ border-right:1px solid rgba(255,255,255,.10); }
.pte-wrap .pte-tot-l{ color:rgba(255,255,255,.45); letter-spacing:.06em; }
.pte-wrap .pte-tot-v{ color:#fff; font-variant-numeric:tabular-nums; }
.pte-wrap .pte-tot-v--accent{ color:#F2A98E; }
.pte-wrap .pte-tot-v--g{ color:#74D99B; }
.pte-wrap .pte-tot-v--r{ color:#F2A18C; }
.pte-wrap .pte-tot-v--nb{ color:#C7B0EC; }

/* ── Leer / Error / Loading / Skeleton ─────────────────────────────────── */
.pte-wrap .pte-empty-state{ color:var(--muted); }
.pte-wrap .pte-error{ color:var(--accent); background:var(--accent-soft); border-radius:var(--r-sm); }
.pte-wrap .pte-loading-indicator{ color:var(--muted); }
.pte-wrap .pte-skeleton{
  background:linear-gradient(90deg,var(--surf-2) 25%,var(--surf-3) 50%,var(--surf-2) 75%);
  background-size:400% 100%;
  border-radius:var(--r-xs);
}

/* ── Kontext-/Gruppen-/Mehr-Menü (gerendert via .pte-ctx-menu) ─────────── */
.pte-ctx-menu{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r-md);
  box-shadow:var(--sh-pop);
  font-family:var(--font-body);
}
.pte-ctx-item{ color:var(--text); font-family:var(--font-body); }
.pte-ctx-item:hover{ background:var(--surf-2); }
.pte-ctx-item--danger{ color:var(--accent); }
.pte-ctx-item--danger:hover{ background:var(--accent-soft); }
.pte-ctx-item--ai{ color:var(--violet); font-weight:500; }
.pte-ctx-item--ai:hover{ background:var(--violet-soft); color:var(--violet); }

/* einfaches Kontext-Menü (.pte-context-menu) */
.pte-context-menu button{ color:var(--text); font-family:var(--font-body); }
.pte-context-menu button:hover{ background:var(--surf-2); }
.pte-context-menu hr{ border-top:1px solid var(--border); }

/* ── KI-Textbaustein-Dialog (.pte-ai-box, außerhalb des Wraps) ─────────── */
.pte-ai-box{
  background:var(--surface);
  border-radius:var(--r-lg);
  box-shadow:var(--sh-pop);
  font-family:var(--font-body);
  color:var(--text);
}
.pte-ai-head{ border-bottom:1px solid var(--border); }
.pte-ai-title{ font-family:var(--font-head); color:var(--ink); }
.pte-ai-sub{ color:var(--muted); }
.pte-ai-close{ color:var(--muted); border-radius:var(--r-xs); }
.pte-ai-close:hover{ background:var(--surf-2); color:var(--ink); }
.pte-ai-loading{ color:var(--violet); }
.pte-ai-spinner{ border-color:var(--violet-soft); border-top-color:var(--violet); }
.pte-ai-card{ border:1px solid var(--violet-soft); border-radius:var(--r-md); }
.pte-ai-card:hover{ border-color:var(--violet); }
.pte-ai-card-head{ background:var(--violet-soft); border-bottom:1px solid var(--violet-soft); }
.pte-ai-label{ color:var(--violet); }
.pte-ai-pick{ background:var(--violet); color:#fff; border-radius:var(--r-xs); font-family:var(--font-body); }
.pte-ai-pick:hover{ background:#6d28d9; }
.pte-ai-ctitle{ color:var(--ink); }
.pte-ai-cdesc{ color:var(--text-2); }
