/* ════════════════════════════════════════════════════════════════════════════
   EstateOS NexGen · design-system.css
   Konsolidiert aus den verbindlichen Mockups (Stand 2026-06-10):
     01_Vorgangspanel.html   (führend bei Konflikten)
     03_Verwaltung_Objekte.html
     06_Einstellungen_Agenten_Integrationen.html
     02_Zentrale_Karte.html  (nur Omni-Suche / Navbar-Querblick)
   Designsprache: gponboarding — Gold #C9A24B / Dark #0E141B + Light-Theme,
   Fraunces (Display) + Hanken Grotesk (UI), --on-gold-Token, Slim-Navbar.

   FONTS — die Mockups laden Google Fonts per <link> (kein @import).
   In den <head> jeder View gehört:
     <link rel="preconnect" href="https://fonts.googleapis.com">
     <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
     <link href="https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Hanken+Grotesk:wght@400;500;600;700&display=swap" rel="stylesheet">
   Alternativ funktioniert der folgende @import (auskommentiert lassen, wenn
   der <link>-Tag verwendet wird — <link> lädt früher und blockiert weniger):
   @import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Hanken+Grotesk:wght@400;500;600;700&display=swap');
   ════════════════════════════════════════════════════════════════════════════ */

/* ── 1 · Design-Tokens (Dark = Default, Quelle: Mockup 01; --red aus 03/06) ── */
:root{
  /* Flächen & Linien */
  --bg:#0E141B;--bg-2:#0B1016;--surface:#161F2A;--surface-2:#1C2733;
  --border:#26313E;--border-2:#313E4D;
  /* Marke / Gold */
  --gold:#C9A24B;--gold-soft:#D9B86E;--bronze:#9C7A33;--on-gold:#fff;
  --champagne:#E8D9B5;
  /* Text */
  --text:#F4F1EA;--mist:#AEB9C6;--mist-dim:#7C8794;
  /* Status / Ampel */
  --ok:#7FA07A;--warn:#C0855A;--info:#6E93B5;--red:#C0584F;
  /* Radien, Schatten, Verläufe */
  --r:14px;--r-sm:9px;
  --shadow:0 18px 48px -22px rgba(0,0,0,.75);
  --grad-sidebar:#0d141c;--grad-card:#141d27;
  /* Topbar */
  --topbar-bg:rgba(11,16,22,.88);--topbar-h:56px;
  /* Typografie */
  --font-display:"Fraunces",Georgia,serif;
  --font-ui:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif;
  /* Layout-Spalten (Views überschreiben nach Bedarf) */
  --nav:74px;            /* Slim-Navbar */
  --list:316px;          /* generische Listenspalte (03/06) */
  --col-vorgaenge:312px; /* Vorgangspanel (01) */
  --col-straenge:344px;  /* Vorgangspanel (01) */
  --asst-w:384px;        /* Meridian-Panel (01) */
}
/* Light-Theme via data-theme-Attribut am <html> (siehe Theme-Toggle) */
:root[data-theme="light"]{
  --bg:#F4F1EA;--bg-2:#ECE6D8;--surface:#FFFFFF;--surface-2:#F3EEE2;
  --border:#E2DAC8;--border-2:#CFC6B0;
  --mist:#5B6470;--mist-dim:#6E6857;--text:#1F2630;--champagne:#7A5B17;
  --ok:#5C7A57;--warn:#9C6B33;--info:#4A6B86;--red:#A8453C;
  --grad-sidebar:#EFE9DC;--grad-card:#FBF8F1;
  --shadow:0 18px 48px -22px rgba(60,50,20,.22);
  --topbar-bg:rgba(248,245,238,.9);
}

/* ── 2 · Base ─────────────────────────────────────────────────────────────── */
*{box-sizing:border-box;min-width:0}
html,body{height:100%}
body{margin:0;font-family:var(--font-ui);color:var(--text);line-height:1.55;
  background:radial-gradient(1100px 680px at 84% -10%,rgba(201,162,75,.10),transparent 55%),var(--bg);
  background-attachment:fixed;-webkit-font-smoothing:antialiased;overflow:hidden}
button{font:inherit;cursor:pointer}
/* Scrollbars (01, inkl. Track) */
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:8px;border:2px solid transparent;background-clip:content-box}
::-webkit-scrollbar-track{background:transparent}

/* gemeinsame Pulse-Animation (Live-Orbs, Denkt-nach) */
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--gold) 50%,transparent);transform:scale(.9)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--gold) 0%,transparent);transform:scale(1.05)}}
@keyframes shim{to{background-position:-200% 0}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ── 3 · App-Shell-Raster ─────────────────────────────────────────────────── */
/* Default-2-Spalten-Layout (03/06): Nav | Liste | Detail.
   Views mit eigenem Raster (01: 5 Spalten) setzen grid-template-columns selbst. */
.app{height:100dvh;display:grid;grid-template-columns:var(--nav) var(--list) minmax(0,1fr)}
/* 01-Variante: Nav | Vorgänge | Stränge | Chat | Meridian */
.app.app-vorgang{grid-template-columns:var(--nav) var(--col-vorgaenge) var(--col-straenge) minmax(0,1fr) var(--asst-w)}
.app.app-vorgang.asst-min{grid-template-columns:var(--nav) var(--col-vorgaenge) var(--col-straenge) minmax(0,1fr) 0}
.app.asst-min .asst{display:none}

/* ── 4 · Slim-Navbar (identisch in 01/02/03/06) ───────────────────────────── */
.nav{display:flex;flex-direction:column;align-items:center;gap:6px;background:linear-gradient(180deg,var(--bg-2),var(--grad-sidebar) 60%);border-right:1px solid var(--border);padding:16px 0}
.nav .crest{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(180deg,var(--gold-soft),var(--bronze));color:var(--on-gold);font-family:var(--font-display);font-weight:600;font-size:17px;text-shadow:0 1px 2px rgba(0,0,0,.3);margin-bottom:10px}
.nav button{width:46px;height:46px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--mist);display:grid;place-items:center;transition:.16s}
.nav button svg{width:20px;height:20px}
.nav button:hover{background:var(--surface);color:var(--text)}
.nav button.active{color:var(--text);background:linear-gradient(180deg,rgba(201,162,75,.18),rgba(201,162,75,.03));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 45%,transparent)}
.nav .sp{flex:1 1 auto}
.nav .acct{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:12px;background:linear-gradient(180deg,var(--gold-soft),var(--bronze));color:var(--on-gold);border:0}

/* ── 5 · Spalten-Hülle & Topbar (colhead) ─────────────────────────────────── */
.col{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border)}
.scroll{flex:1 1 auto;overflow-y:auto;padding:12px}
.colhead{height:var(--topbar-h);display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--topbar-bg);backdrop-filter:blur(10px);flex:0 0 auto}
.colhead h2{font-family:var(--font-display);font-weight:600;font-size:15px;margin:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.colhead .count{font-size:11px;color:var(--mist-dim);font-variant-numeric:tabular-nums}
/* Tenant-/Brand-Hinweis in der Topbar (01) */
.brandrow{display:flex;align-items:center;gap:8px}
.swatch{width:13px;height:13px;border-radius:4px;border:1px solid rgba(255,255,255,.25)}
.tenpill{font-size:10.5px;color:var(--mist-dim)}

/* ── 6 · Omni-Suche (02, ⌘K) ──────────────────────────────────────────────── */
.omni{position:relative;flex:0 1 400px;min-width:230px;z-index:470}
.searchbox{display:flex;align-items:center;gap:9px;width:100%;background:var(--topbar-bg);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:999px;padding:10px 14px 10px 16px;color:var(--mist-dim);box-shadow:var(--shadow);cursor:text;transition:border-color .15s}
.searchbox:hover,.omni.open .searchbox{border-color:var(--gold)}
.searchbox svg{width:16px;height:16px;flex:0 0 auto}
.searchbox .ph{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.searchbox kbd{font-family:var(--font-ui);font-size:10px;color:var(--mist-dim);border:1px solid var(--border-2);border-radius:6px;padding:2px 6px;background:var(--bg);flex:0 0 auto}
.searchpop{display:none;position:absolute;left:0;top:calc(100% + 8px);width:min(460px,82vw);background:var(--surface);border:1px solid var(--border-2);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.omni.open .searchpop{display:block}
.searchpop input{width:100%;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font-family:var(--font-ui);font-size:15px;padding:15px 16px;outline:none}
.searchresults{max-height:62vh;overflow-y:auto;padding:8px}
.sgroup{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mist-dim);font-weight:700;margin:11px 10px 5px}
.sres{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:transparent;border:0;border-radius:10px;padding:9px 10px;color:var(--text)}
.sres:hover{background:var(--surface-2)}
.sres .si{width:30px;height:30px;border-radius:9px;flex:0 0 auto;display:grid;place-items:center;background:var(--bg);border:1px solid var(--border);color:var(--gold-soft)}
.sres .si svg{width:15px;height:15px}
.sres .st{min-width:0}
.sres .st .n{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sres .st .s{font-size:11.5px;color:var(--mist-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sempty{padding:22px;text-align:center;color:var(--mist-dim);font-size:13px}

/* ── 7 · Buttons ──────────────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:var(--font-ui);font-size:12.5px;font-weight:600;padding:9px 14px;border-radius:10px;border:1px solid transparent;transition:.15s}
.btn:active{transform:translateY(1px)}
.btn-primary{background:linear-gradient(180deg,var(--gold-soft),var(--bronze));color:var(--on-gold);text-shadow:0 1px 2px rgba(0,0,0,.28);box-shadow:0 10px 24px -14px rgba(201,162,75,.7)}
.btn-primary:hover{transform:translateY(-1px)}
.btn-ghost{background:var(--surface);color:var(--text);border-color:var(--border-2)}
.btn-ghost:hover{border-color:var(--gold);background:var(--surface-2)}
.btn-sm{padding:7px 11px;font-size:11.5px}
.btn[disabled]{opacity:.4;pointer-events:none}
/* Ghost-Variante AUF Hero-Bildern (03): heller Rand + Blur statt Surface */
.hero .btn-ghost{background:rgba(11,16,22,.55);color:#fff;border-color:rgba(255,255,255,.22);backdrop-filter:blur(6px)}
.hero .btn-ghost:hover{border-color:var(--gold);background:rgba(11,16,22,.55)}

/* ── 8 · Inputs (abgeleitet aus Composer/Meridian — gleiches Muster) ──────── */
.input,
textarea.input,
select.input{background:var(--bg);border:1px solid var(--border-2);border-radius:12px;color:var(--text);font-family:var(--font-ui);font-size:13.5px;padding:11px 13px;line-height:1.45}
.input:focus,textarea.input:focus,select.input:focus{outline:none;border-color:var(--gold)}
textarea.input{resize:none}

/* ── 9 · Pills, Badges, Status-Ampel ──────────────────────────────────────── */
.pill{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border-2);color:var(--mist)}
.pill .d{width:6px;height:6px;border-radius:50%;background:currentColor}
.pill.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent);background:color-mix(in srgb,var(--ok) 12%,transparent)}
.pill.wait,.pill.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent);background:color-mix(in srgb,var(--warn) 12%,transparent)}
.pill.info{color:#9cc0e0;border-color:color-mix(in srgb,var(--info) 40%,transparent);background:color-mix(in srgb,var(--info) 12%,transparent)}
/* Vorgangs-Kategorien (01) */
.cat{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px}
.cat.c-schaden{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}
.cat.c-finanz{color:var(--champagne);background:color-mix(in srgb,var(--gold) 14%,transparent)}
.cat.c-recht{color:#d79a9a;background:color-mix(in srgb,#b06a6a 16%,transparent)}
.cat.c-vermietung{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent)}
.cat.c-service{color:#9cc0e0;background:color-mix(in srgb,var(--info) 14%,transparent)}
/* Status-Punkte (03 Objektliste / 06 Agentenstatus) */
.dot.ok{background:linear-gradient(180deg,var(--gold-soft),var(--bronze))}
.dot.warn{background:var(--warn)}
.dot.red{background:var(--red)}
.dotst{width:8px;height:8px;border-radius:50%}
.dotst.aktiv{background:var(--ok)}.dotst.pausiert{background:var(--mist-dim)}.dotst.pilot{background:var(--warn)}
/* Hero-Badges (03) */
.badge{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;padding:5px 11px;border-radius:999px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.badge.ok{background:linear-gradient(180deg,var(--gold-soft),var(--bronze))}.badge.warn{background:var(--warn)}.badge.red{background:var(--red)}
/* Quellen-Badges Impower/EstateOS (03) */
.src{font-size:9px;font-weight:700;padding:1px 6px;border-radius:999px;letter-spacing:.03em}
.src.imp{color:#9cc0e0;background:color-mix(in srgb,var(--info) 16%,transparent);border:1px solid color-mix(in srgb,var(--info) 35%,transparent)}
.src.eos{color:var(--gold-soft);background:color-mix(in srgb,var(--gold) 13%,transparent);border:1px solid color-mix(in srgb,var(--gold) 30%,transparent)}
/* Autonomie-Level / Art-Badges (06) */
.lv{font-size:9.5px;font-weight:700;letter-spacing:.03em;padding:3px 8px;border-radius:999px;white-space:nowrap}
.lv.l1{color:#9cc0e0;background:color-mix(in srgb,var(--info) 14%,transparent)}
.lv.l2{color:var(--gold-soft);background:color-mix(in srgb,var(--gold) 14%,transparent)}
.lv.l3{color:var(--warn);background:color-mix(in srgb,var(--warn) 15%,transparent);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent)}
.kindb{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:3px 9px;border-radius:999px;color:var(--mist);background:var(--surface-2);border:1px solid var(--border-2)}
/* Tool-Permission + Ergebnis-Badges (06) */
.perm{font-size:9.5px;font-weight:700;text-transform:uppercase;padding:3px 8px;border-radius:999px}
.perm.read{color:#9cc0e0;background:color-mix(in srgb,var(--info) 14%,transparent)}
.perm.write{color:var(--gold-soft);background:color-mix(in srgb,var(--gold) 13%,transparent)}
.perm.destruktiv{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent);border:1px solid color-mix(in srgb,var(--red) 35%,transparent)}
.res{font-size:10px;font-weight:700;padding:3px 8px;border-radius:999px}
.res.exec{color:var(--gold-soft);background:color-mix(in srgb,var(--gold) 12%,transparent)}
.res.prop{color:#9cc0e0;background:color-mix(in srgb,var(--info) 13%,transparent)}
.res.appr{color:var(--ok);background:color-mix(in srgb,var(--ok) 13%,transparent)}
/* Feld-Status der Datenerfassung (03) */
.fst{font-size:10px;font-weight:700;padding:4px 10px;border-radius:999px;flex:0 0 auto;white-space:nowrap}
.fst.done{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent);border:1px solid color-mix(in srgb,var(--ok) 35%,transparent)}
.fst.import{color:#9cc0e0;background:color-mix(in srgb,var(--info) 14%,transparent);border:1px solid color-mix(in srgb,var(--info) 35%,transparent)}
.fst.missing{color:var(--red);background:color-mix(in srgb,var(--red) 13%,transparent);border:1px solid color-mix(in srgb,var(--red) 35%,transparent)}
.fst.ki{color:var(--gold-soft);background:color-mix(in srgb,var(--gold) 13%,transparent);border:1px solid color-mix(in srgb,var(--gold) 32%,transparent)}
.fst.doc{color:var(--gold-soft);background:transparent;border:1px dashed color-mix(in srgb,var(--gold) 45%,transparent)}
.fst.partial{color:var(--warn);background:color-mix(in srgb,var(--warn) 13%,transparent);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent)}
.fst.na{color:var(--mist-dim);background:var(--surface-2);border:1px solid var(--border-2)}
/* Einheiten-Status (02/03) */
.ust{font-size:10px;font-weight:700;padding:3px 9px;border-radius:999px;flex:0 0 auto}
.ust.frei{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent);border:1px solid color-mix(in srgb,var(--ok) 35%,transparent)}
.ust.vermietet{color:var(--mist);background:var(--surface-2);border:1px solid var(--border-2)}
/* Ungelesen-Zähler + Mini-Avatar (01) */
.unread{margin-left:auto;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:linear-gradient(180deg,var(--gold-soft),var(--bronze));color:var(--on-gold);font-size:10.5px;font-weight:700;display:grid;place-items:center}
.ava-sm{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;font-weight:700;font-size:9.5px;background:var(--surface-2);border:1px solid var(--border-2);color:var(--champagne);flex:0 0 auto}
/* Live-Indikator (01) */
.live{display:inline-flex;align-items:center;gap:5px;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-soft)}
.live .orb{width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--gold-soft),var(--bronze));animation:pulse 1.6s ease-in-out infinite}

/* ── 10 · Filter-Chips & Filterbar ────────────────────────────────────────── */
.filterbar{display:flex;gap:7px;padding:11px 14px;border-bottom:1px solid var(--border);flex:0 0 auto;overflow-x:auto;scrollbar-width:none}
.filterbar::-webkit-scrollbar{display:none}
.fchip{font-size:11.5px;padding:5px 11px;border-radius:999px;border:1px solid var(--border-2);background:var(--surface);color:var(--mist);white-space:nowrap;transition:.15s}
.fchip:hover{border-color:var(--gold);color:var(--text)}
.fchip.on{background:linear-gradient(90deg,rgba(201,162,75,.18),rgba(201,162,75,.04));border-color:color-mix(in srgb,var(--gold) 55%,transparent);color:var(--text)}
/* erweiterte Filterzeilen mit Personen-Chips (01) */
.filterwrap{display:flex;flex-direction:column;gap:8px;padding:11px 14px;border-bottom:1px solid var(--border);flex:0 0 auto}
.frow{display:flex;gap:7px;align-items:center;overflow-x:auto;scrollbar-width:none}
.frow::-webkit-scrollbar{display:none}
.flabel{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--mist-dim);font-weight:700;flex:0 0 auto;display:inline-flex;align-items:center;gap:4px}
.fdiv{width:1px;height:18px;background:var(--border-2);flex:0 0 auto;margin:0 3px}
.pchip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:3px 11px 3px 3px;border-radius:999px;border:1px solid var(--border-2);background:var(--surface);color:var(--mist);white-space:nowrap;flex:0 0 auto;transition:.15s}
.pchip:hover{border-color:var(--gold);color:var(--text)}
.pchip.on{background:linear-gradient(90deg,rgba(201,162,75,.18),rgba(201,162,75,.04));border-color:color-mix(in srgb,var(--gold) 55%,transparent);color:var(--text)}
.pchip .av{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:700;background:linear-gradient(180deg,var(--gold-soft),var(--bronze));color:var(--on-gold);flex:0 0 auto}
/* Sektions-Umschalter (06: Agenten ⇄ Integrationen) */
.seg2{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid var(--border);flex:0 0 auto}
.s2{flex:1 1 0;font-size:11.5px;font-weight:600;padding:9px 6px;border-radius:9px;border:1px solid var(--border-2);background:var(--surface);color:var(--mist);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s2:hover{border-color:var(--gold);color:var(--text)}
.s2.on{background:linear-gradient(90deg,rgba(201,162,75,.18),rgba(201,162,75,.04));border-color:color-mix(in srgb,var(--gold) 55%,transparent);color:var(--text)}
/* Chip-Sets (06: Kanal-Policy / Scopes) */
.chipset{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.chipset .c{font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:999px;border:1px solid var(--border-2);background:var(--surface-2);color:var(--mist)}
.chipset .c.on{color:var(--gold-soft);border-color:color-mix(in srgb,var(--gold) 40%,transparent);background:color-mix(in srgb,var(--gold) 10%,transparent)}

/* ── 11 · Tabs ────────────────────────────────────────────────────────────── */
/* Basis = 03 (sticky Tab-Leiste mit Topbar-Hintergrund) */
.tabbar{display:flex;gap:20px;padding:0 28px;border-bottom:1px solid var(--border);background:var(--topbar-bg);backdrop-filter:blur(10px);flex:0 0 auto;overflow-x:auto;scrollbar-width:none}
.tabbar::-webkit-scrollbar{display:none}
.tab{font-size:13px;font-weight:600;color:var(--mist);background:transparent;border:0;border-bottom:2px solid transparent;padding:15px 2px;white-space:nowrap;display:inline-flex;align-items:center;gap:7px}
.tab:hover{color:var(--text)}
.tab.on{color:var(--text);border-bottom-color:var(--gold)}
.tab .b{font-size:10px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--surface-2);color:var(--mist);border:1px solid var(--border-2)}
/* Variante in Agent-Hero (06): transparente Tab-Leiste innerhalb .ahero */
.ahero .tabbar{padding:16px 28px 0;border-bottom:0;background:transparent;backdrop-filter:none}
.ahero .tab{padding:0 2px 14px}
/* leichte In-Card-Tabs (02 POI-Panel) */
.tabs{display:flex;gap:14px;margin-bottom:14px;border-bottom:1px solid var(--border)}
.tabs .tab{font-size:12.5px;padding:8px 2px;margin-bottom:-1px;gap:6px}

/* ── 12 · Cards, Sektionen, KV & KPIs ─────────────────────────────────────── */
.card{background:linear-gradient(180deg,var(--surface),var(--grad-card));border:1px solid var(--border);border-radius:var(--r);padding:20px}
.sec-h{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft);font-weight:700;margin:20px 0 12px;display:flex;align-items:center;gap:9px}
.body>.sec-h:first-child,.modal-main .sec-h:first-child,.modal-side .sec-h:first-child{margin-top:0}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
/* Stammdaten-KV-Kacheln (03) */
.kvgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:13px}
.kv{border:1px solid var(--border);border-radius:11px;padding:11px 13px;background:var(--surface)}
.kv .l{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--mist-dim);font-weight:700;display:flex;align-items:center;gap:6px}
.kv .v{font-size:14px;color:var(--text);font-weight:600;margin-top:5px}
/* KPI-Mini-Kacheln (03/06) */
.mini{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:4px}
.mini .m{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px}
.mini .m .l{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--mist-dim);font-weight:700}
.mini .m .v{font-family:var(--font-display);font-size:24px;font-weight:600;margin-top:4px}
.mini .m .v.gold{color:var(--gold-soft)}.mini .m .v.red{color:var(--red)}
.mini .m .d{font-size:11px;color:var(--mist-dim);margin-top:3px}
/* Fortschritts-/Health-Balken (03/06) */
.hbar{height:8px;border-radius:999px;background:var(--bg);border:1px solid var(--border-2);overflow:hidden}
.hbar span{display:block;height:100%;background:linear-gradient(90deg,var(--bronze),var(--gold-soft))}
/* Info-Callout (03) */
.callout{display:flex;gap:12px;border:1px solid color-mix(in srgb,var(--info) 35%,transparent);background:color-mix(in srgb,var(--info) 8%,transparent);border-radius:12px;padding:14px 16px;margin-bottom:18px}
.callout .ic{flex:0 0 auto;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--info) 18%,transparent);color:#9cc0e0}
.callout .ic svg{width:16px;height:16px}
.callout .t{font-size:12.5px;color:var(--mist);line-height:1.55}.callout .t b{color:var(--champagne)}
.legend-src{display:flex;gap:16px;font-size:11.5px;color:var(--mist-dim);margin-top:12px;flex-wrap:wrap}
/* KI-Box (01 Modal) + KI-Assist (03 Wizard) */
.kibox{border:1px solid color-mix(in srgb,var(--gold) 30%,transparent);background:color-mix(in srgb,var(--gold) 7%,transparent);border-radius:13px;padding:14px 16px}
.kibox .h{display:inline-flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-soft);font-weight:700;margin-bottom:9px}
.kibox ul{margin:0;padding-left:18px;font-size:13px;color:var(--mist);line-height:1.6}
.kibox li{margin:5px 0}.kibox li b{color:var(--champagne)}
.ki-assist{display:flex;gap:11px;border:1px solid color-mix(in srgb,var(--gold) 30%,transparent);background:color-mix(in srgb,var(--gold) 7%,transparent);border-radius:12px;padding:13px 15px;margin:14px 0 16px}
.ki-assist .ic{flex:0 0 auto;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(180deg,var(--gold-soft),var(--bronze));color:var(--on-gold);font-size:14px}
.ki-assist .tx{font-size:12.5px;color:var(--mist);line-height:1.55}.ki-assist .tx b{color:var(--champagne)}
/* Kill-Switch-/Warnleiste (06) */
.killbar{display:flex;align-items:center;gap:12px;border:1px solid color-mix(in srgb,var(--red) 35%,transparent);background:color-mix(in srgb,var(--red) 8%,transparent);border-radius:12px;padding:14px 16px;margin-top:16px}
.killbar .t{flex:1 1 auto;font-size:12.5px;color:var(--mist)}.killbar .t b{color:var(--champagne)}
/* Test-Gate-Banner (06) */
.testgate{display:flex;align-items:center;gap:12px;border-radius:12px;padding:14px 16px;margin-bottom:16px}
.testgate.ok{border:1px solid color-mix(in srgb,var(--ok) 35%,transparent);background:color-mix(in srgb,var(--ok) 8%,transparent)}
.testgate.warn{border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);background:color-mix(in srgb,var(--warn) 9%,transparent)}
.testgate .t{flex:1 1 auto;font-size:13px;color:var(--mist)}.testgate .t b{color:var(--champagne)}

/* ── 13 · Tabellen (03 führend, 06 identisch bis auf 1px Padding) ─────────── */
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--mist-dim);font-weight:700;padding:0 14px 11px;border-bottom:1px solid var(--border)}
td{padding:13px 14px;border-bottom:1px solid var(--border);color:var(--mist);vertical-align:top}
tr:last-child td{border-bottom:0}
td .nm{color:var(--text);font-weight:600}

/* ── 14 · Listen-Items ────────────────────────────────────────────────────── */
/* Vorgangs-Karte (01) */
.vg{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:13px 14px;margin-bottom:10px;color:inherit;transition:.15s;position:relative}
.vg:hover{border-color:var(--border-2);background:var(--surface-2)}
.vg.sel{border-color:color-mix(in srgb,var(--gold) 60%,transparent);box-shadow:inset 2px 0 0 var(--gold),var(--shadow);background:linear-gradient(180deg,var(--surface),var(--grad-card))}
.vg .top{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.vg .ttl{font-weight:600;font-size:14px;color:var(--text);line-height:1.3;margin:2px 0 6px}
.vg .meta{display:flex;align-items:center;gap:9px;font-size:11.5px;color:var(--mist-dim);flex-wrap:wrap}
.vg .meta .obj{color:var(--mist)}
.vg .owner{display:inline-flex;align-items:center;gap:7px;color:var(--text);font-weight:600}
/* Objekt-Karte mit Foto (03) */
.ob{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:0;margin-bottom:11px;color:inherit;overflow:hidden;transition:.15s}
.ob:hover{border-color:var(--border-2)}
.ob.sel{border-color:color-mix(in srgb,var(--gold) 60%,transparent);box-shadow:var(--shadow)}
.ob .ph{height:84px;background-size:cover;background-position:center;position:relative}
.ob .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(13,20,28,.7))}
.ob .ph .dot{position:absolute;right:10px;top:10px;width:11px;height:11px;border-radius:50%;z-index:2;box-shadow:0 0 0 3px rgba(13,20,28,.5)}
.ob .bd{padding:11px 13px}
.ob .nm{font-weight:600;font-size:14px;color:var(--text)}
.ob .ad{font-size:11.5px;color:var(--mist-dim);margin-top:1px}
.ob .meta{display:flex;align-items:center;gap:10px;margin-top:9px;font-size:11px;color:var(--mist)}
.ob .mini-occ{flex:1 1 auto;height:6px;border-radius:999px;background:var(--bg);border:1px solid var(--border-2);overflow:hidden}
.ob .mini-occ span{display:block;height:100%;background:linear-gradient(90deg,var(--bronze),var(--gold-soft))}
/* Agent-/Integration-Zeile (06) */
.ag{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:13px;margin-bottom:9px;color:inherit;transition:.15s}
.ag:hover{border-color:var(--border-2)}
.ag.sel{border-color:color-mix(in srgb,var(--gold) 60%,transparent);box-shadow:var(--shadow);background:linear-gradient(180deg,var(--surface),var(--grad-card))}
.ag .em{width:40px;height:40px;border-radius:12px;flex:0 0 auto;display:grid;place-items:center;font-size:20px;background:var(--surface-2);border:1px solid var(--border-2)}
.ag .ab{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.ag .an{font-weight:600;font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag .ar{font-size:11.5px;color:var(--mist-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag .ax{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex:0 0 auto}
.ag .stt{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;color:var(--mist-dim);white-space:nowrap}
/* Einheiten-Zeile + Geschoss-Trenner (03; 02-Variante minimal kleiner) */
.floor{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-soft);font-weight:700;margin:18px 0 9px;display:flex;align-items:center;gap:9px}
.floor::after{content:"";flex:1;height:1px;background:var(--border)}
.unit{display:flex;align-items:center;gap:13px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);margin-bottom:9px;cursor:pointer;transition:.15s}
.unit:hover{border-color:var(--gold);background:var(--surface-2)}
.unit .un{font-weight:700;font-size:12.5px;width:52px;flex:0 0 auto;color:var(--champagne)}
.unit .ud{flex:1 1 auto;min-width:0}
.unit .ud .m{font-size:14px;color:var(--text);font-weight:600}
.unit .ud .x{font-size:11.5px;color:var(--mist-dim)}
.unit .more{display:flex;gap:18px;flex:0 0 auto}
.unit .more .c .v{font-size:13px;font-weight:600;color:var(--text)}
.unit .more .c .l{font-size:10px;color:var(--mist-dim)}
@media(max-width:1100px){.unit .more{display:none}}
/* generische Listenzeile mit Status-Icon (06: Tests / letzte Aktivität) */
.trow{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid var(--border)}
.trow:last-child{border-bottom:0}
.trow .ti{width:22px;height:22px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;font-size:12px;font-weight:700}
.ti.pass{background:linear-gradient(180deg,var(--gold-soft),var(--bronze));color:var(--on-gold)}
.ti.fail{background:color-mix(in srgb,var(--red) 16%,transparent);color:var(--red);border:1px solid color-mix(in srgb,var(--red) 40%,transparent)}
.trow .tt{flex:1 1 auto;font-size:13px;color:var(--text)}
.trow .ts{font-size:11px;color:var(--mist-dim)}
/* Tool-/Aktionszeile mit Toggle (06) */
.toolrow{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}
.toolrow:last-child{border-bottom:0}
.toolrow .tn{flex:1 1 auto;font-family:ui-monospace,Menlo,monospace;font-size:13px;color:var(--text)}
/* Toggle-Switch (06) */
.tg{width:38px;height:22px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border-2);position:relative;flex:0 0 auto}
.tg.on{background:linear-gradient(90deg,var(--bronze),var(--gold-soft));border-color:transparent}
.tg::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.18s}
.tg.on::after{left:18px}
/* Versions-Zeile (06) */
.ver{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--mist);padding:8px 0;border-bottom:1px solid var(--border)}
.ver:last-child{border-bottom:0}
.ver .vb{font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border-2);color:var(--champagne)}
.ver.cur .vb{background:linear-gradient(180deg,var(--gold-soft),var(--bronze));color:var(--on-gold);border-color:transparent}
.ver .vn{flex:1 1 auto}
/* Gate-/Policy-Zeile (06) */
.gaterow{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}
.gaterow:last-child{border-bottom:0}
.gaterow .gl{flex:1 1 auto}.gaterow .gl .n{font-size:13.5px;font-weight:600;color:var(--text)}.gaterow .gl .s{font-size:11.5px;color:var(--mist-dim)}
.gaterow .gv{font-size:13px;font-weight:600;color:var(--champagne);text-align:right;white-space:nowrap}

/* ── 15 · Steckbrief & Strangliste (01) ───────────────────────────────────── */
.steckbrief{margin:12px 12px 6px;background:linear-gradient(180deg,var(--surface),var(--grad-card));border:1px solid var(--border);border-radius:var(--r);padding:16px}
.steckbrief .sb-top{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.steckbrief h3{font-family:var(--font-display);font-weight:600;font-size:16px;margin:0;line-height:1.25}
.steckbrief .sb-meta{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}
/* Hinweis: .kv ist global eine Karten-Kachel (03) — im Steckbrief ist es ein
   nackter Text-KV (01). Reset stellt das 01-Verhalten sicher. */
.steckbrief .kv{font-size:11.5px;color:var(--mist);border:0;border-radius:0;padding:0;background:transparent}
.steckbrief .kv b{color:var(--champagne);font-weight:600}
.ai-summary{font-size:12.5px;color:var(--mist);line-height:1.55;border-left:2px solid var(--gold);padding:2px 0 2px 11px;margin:11px 0}
.ai-summary .lbl{display:inline-flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft);font-weight:700;margin-bottom:3px}
.nba{display:flex;align-items:center;gap:9px;margin-top:11px}
.strang-lbl{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--mist-dim);font-weight:700;margin:14px 14px 4px}
.strang{display:block;text-align:left;background:transparent;border:1px solid transparent;border-radius:11px;padding:11px 12px;margin:2px 8px;width:calc(100% - 16px);color:inherit;transition:.15s;border-bottom:1px solid var(--border)}
.strang:hover{background:var(--surface)}
.strang.sel{background:linear-gradient(90deg,rgba(201,162,75,.14),rgba(201,162,75,.02));box-shadow:inset 2px 0 0 var(--gold)}
.strang .s-top{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.strang .s-party{font-weight:600;font-size:13px;color:var(--text)}
.strang .s-role{font-size:10.5px;color:var(--mist-dim)}
.strang .s-sum{font-size:12px;color:var(--mist);line-height:1.45;font-style:italic}
.strang .s-foot{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:10.5px;color:var(--mist-dim)}
.kanal{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;padding:2px 7px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border-2);color:var(--mist)}
.kanal svg{width:11px;height:11px}

/* ── 16 · Chat (01: Kommunikationsstrang) ─────────────────────────────────── */
.chatcol{display:flex;flex-direction:column;min-height:0}
.chat-pin{display:flex;gap:10px;align-items:flex-start;padding:12px 18px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--gold) 6%,transparent)}
.chat-pin .ic{flex:0 0 auto;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold-soft)}
.chat-pin .ic svg{width:15px;height:15px}
.chat-pin .t{font-size:12.5px;color:var(--mist);line-height:1.5}
.chat-pin .t b{color:var(--champagne)}
.msgs{flex:1 1 auto;overflow-y:auto;padding:20px 18px;display:flex;flex-direction:column;gap:16px}
.m{display:flex;flex-direction:column;max-width:74%}
.m.in{align-self:flex-start}
.m.out{align-self:flex-end;align-items:flex-end}
.m .who{font-size:10.5px;color:var(--mist-dim);margin:0 4px 4px;display:flex;gap:7px;align-items:center}
.bubble{padding:11px 14px;border-radius:14px;font-size:13.5px;line-height:1.55;overflow-wrap:anywhere}
.m.in .bubble{background:var(--surface);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:5px}
.m.out .bubble{background:linear-gradient(180deg,var(--gold-soft),var(--bronze));color:var(--on-gold);border-bottom-right-radius:5px;font-weight:500}
.m.sys{align-self:center;max-width:90%}
.m.sys .bubble{background:transparent;border:1px dashed var(--border-2);color:var(--mist-dim);font-size:12px;text-align:center;border-radius:999px;padding:6px 14px}
.m.sys .bubble b{color:var(--champagne)}
.daysep{align-self:center;font-size:10.5px;color:var(--mist-dim);letter-spacing:.06em;margin:2px 0}
.unread-sep{align-self:stretch;display:flex;align-items:center;gap:10px;color:var(--gold-soft);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.unread-sep::before,.unread-sep::after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--gold) 35%,transparent)}
/* Composer */
.composer{position:relative;flex:0 0 auto;border-top:1px solid var(--border);padding:12px 14px 16px}
.composer.kimode .crow,.composer.kimode .cinput{filter:grayscale(.6);opacity:.4;pointer-events:none}
.ki-overlay{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;padding:0 18px;background:color-mix(in srgb,var(--bg) 60%,transparent);backdrop-filter:blur(1.5px)}
.composer.kimode .ki-overlay{display:flex}
.ki-overlay .t{font-size:13px;color:var(--text);font-weight:700;display:inline-flex;align-items:center;gap:8px}
.ki-overlay .t .orb{width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--gold-soft),var(--bronze));animation:pulse 1.3s ease-in-out infinite}
.ki-overlay .s{font-size:11.5px;color:var(--mist-dim)}
.composer .crow{display:flex;gap:7px;margin-bottom:9px;flex-wrap:wrap}
.selpill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:7px 11px;border-radius:9px;background:var(--surface);border:1px solid var(--border-2);color:var(--mist)}
.selpill svg{width:13px;height:13px}
.selpill:hover{border-color:var(--gold);color:var(--text)}
.selpill.ai{color:var(--gold-soft);border-color:color-mix(in srgb,var(--gold) 45%,transparent)}
.cinput{display:flex;gap:9px;align-items:flex-end}
.cinput textarea{flex:1 1 auto;resize:none;max-height:140px;background:var(--bg);border:1px solid var(--border-2);border-radius:12px;color:var(--text);font-family:var(--font-ui);font-size:13.5px;padding:11px 13px;line-height:1.45}
.cinput textarea:focus{outline:none;border-color:var(--gold)}
.send{width:42px;height:42px;flex:0 0 auto;border-radius:12px;border:0;background:linear-gradient(180deg,var(--gold-soft),var(--bronze));color:var(--on-gold);display:grid;place-items:center}
.send svg{width:18px;height:18px}

/* ── 17 · Meridian-KI-Panel (01, gponboarding-Muster) ─────────────────────── */
.asst{display:flex;flex-direction:column;min-height:0;background:linear-gradient(180deg,var(--grad-sidebar),var(--bg-2));border-left:1px solid var(--border)}
.asst-head{display:flex;align-items:center;gap:11px;height:var(--topbar-h);padding:0 14px;border-bottom:1px solid var(--border);flex:0 0 auto}
.asst-ava{width:34px;height:34px;border-radius:11px;flex:0 0 auto;display:grid;place-items:center;background:linear-gradient(180deg,var(--gold-soft),var(--bronze));color:var(--on-gold)}
.asst-ava svg{width:19px;height:19px}
.asst-id{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}
.asst-name{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--text)}
.asst-sub{font-size:10.5px;color:var(--mist-dim)}
.asst-ibtn{width:30px;height:30px;border-radius:8px;border:1px solid var(--border-2);background:var(--surface);color:var(--mist);display:grid;place-items:center}
.asst-ibtn:hover{color:var(--text);border-color:var(--gold)}
.asst-ibtn svg{width:15px;height:15px}
.asst-msgs{flex:1 1 auto;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:13px}
.asst-msg{display:flex;gap:8px;align-items:flex-end}
.asst-msg.me{justify-content:flex-end}
.asst-bubble{max-width:84%;padding:11px 13px;border-radius:14px;font-size:13.5px;line-height:1.55}
.asst-msg.bot .asst-bubble{background:var(--surface);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:5px}
.asst-msg.me .asst-bubble{background:linear-gradient(180deg,var(--gold-soft),var(--bronze));color:var(--on-gold);border-bottom-right-radius:5px;font-weight:500}
.asst-bubble b{color:var(--champagne)}
.asst-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.asst-chip{font-size:12px;padding:7px 11px;border-radius:999px;border:1px solid var(--border-2);background:var(--surface);color:var(--mist);text-align:left}
.asst-chip:hover{border-color:var(--gold);color:var(--text)}
/* „Denkt-nach"-Indikator: pulsierender Gold-Orb + Schimmer-Text */
.asst-think{display:inline-flex;align-items:center;gap:9px;font-size:13px;padding:2px 0}
.asst-think-orb{width:13px;height:13px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--gold-soft),var(--bronze));animation:pulse 1.3s ease-in-out infinite}
.asst-think-txt{background:linear-gradient(90deg,var(--mist-dim) 20%,var(--text) 50%,var(--mist-dim) 80%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shim 2.2s linear infinite}
.asst-input{display:flex;gap:8px;padding:12px 14px 16px;border-top:1px solid var(--border);align-items:flex-end;flex:0 0 auto}
.asst-input textarea{flex:1 1 auto;resize:none;max-height:120px;background:var(--bg);border:1px solid var(--border-2);border-radius:12px;color:var(--text);font-family:var(--font-ui);font-size:13.5px;padding:10px 12px}
.asst-input textarea:focus{outline:none;border-color:var(--gold)}
.asst-send{width:40px;height:40px;flex:0 0 auto;border-radius:11px;border:0;background:linear-gradient(180deg,var(--gold-soft),var(--bronze));color:var(--on-gold);display:grid;place-items:center}
.asst-send svg{width:17px;height:17px}
.asst-tool{width:36px;height:40px;flex:0 0 auto;border-radius:11px;border:1px solid var(--border-2);background:var(--surface);color:var(--mist);display:grid;place-items:center}
.asst-tool:hover{border-color:var(--gold);color:var(--text)}
.asst-tool svg{width:17px;height:17px}
.asst.asst-focus{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--gold) 60%,transparent)}

/* ── 18 · Detail-Bereich, Hero & Agent-Hero ───────────────────────────────── */
.detail{display:flex;flex-direction:column;min-height:0}
.body{flex:1 1 auto;overflow-y:auto;padding:24px 28px 60px}
/* Foto-Hero (03 Objekte) */
.hero{position:relative;height:182px;flex:0 0 auto;background-size:cover;background-position:center;border-bottom:1px solid var(--border)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,20,28,.25),rgba(13,20,28,.9))}
.hero .inner{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:20px 28px;display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}
.hero .badge{margin-bottom:9px}
.hero h1{font-family:var(--font-display);font-weight:600;font-size:27px;margin:0;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.5);line-height:1.1}
.hero .ad{font-size:13px;color:#e7e2d6;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.hero .stats{margin-left:auto;display:flex;gap:22px}
.hero .st .v{font-family:var(--font-display);font-size:24px;font-weight:600;color:#fff;line-height:1}
.hero .st .v.gold{color:var(--gold-soft)}.hero .st .v.red{color:#e89a92}
.hero .st .l{font-size:10.5px;color:#d7d2c6;letter-spacing:.04em;text-transform:uppercase;margin-top:4px}
.hero .acts{position:absolute;right:24px;top:18px;z-index:3;display:flex;gap:8px}
/* Flacher Hero ohne Foto (06 Agent/Integration) */
.ahero{flex:0 0 auto;padding:22px 28px 0;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--grad-card),transparent)}
.ahero .top{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ahero .em{width:58px;height:58px;border-radius:16px;flex:0 0 auto;display:grid;place-items:center;font-size:28px;background:var(--surface-2);border:1px solid var(--border-2)}
.ahero h1{font-family:var(--font-display);font-weight:600;font-size:24px;margin:0;line-height:1.1}
.ahero .sub{font-size:13px;color:var(--mist);margin-top:3px}
.ahero .badges{display:flex;gap:8px;margin-top:9px;flex-wrap:wrap;align-items:center}
.ahero .acts{margin-left:auto;display:flex;gap:8px}

/* ── 19 · Modal (01) ──────────────────────────────────────────────────────── */
.modal-scrim{position:fixed;inset:0;background:rgba(5,8,11,.62);backdrop-filter:blur(4px);z-index:200;display:none;align-items:flex-start;justify-content:center;padding:42px 24px;overflow:auto}
.modal-scrim.show{display:flex}
.modal{width:min(980px,100%);background:linear-gradient(180deg,var(--surface),var(--grad-card));border:1px solid var(--border-2);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;animation:rise .35s cubic-bezier(.2,.7,.2,1) both}
.modal-head{display:flex;align-items:flex-start;gap:12px;padding:20px 22px;border-bottom:1px solid var(--border)}
.modal-head h2{font-family:var(--font-display);font-weight:600;font-size:21px;margin:8px 0 0;line-height:1.2}
.modal-close{width:34px;height:34px;flex:0 0 auto;border-radius:9px;border:1px solid var(--border-2);background:var(--surface);color:var(--mist);font-size:19px;line-height:1}
.modal-close:hover{border-color:var(--gold);color:var(--text)}
.modal-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.modal-body{display:grid;grid-template-columns:minmax(0,1fr) 286px;max-height:72vh}
.modal-main{padding:20px 24px;overflow-y:auto}
.modal-side{padding:20px 18px;border-left:1px solid var(--border);overflow-y:auto;background:color-mix(in srgb,var(--bg) 32%,transparent)}
.side-kv{font-size:12.5px;color:var(--text);margin-bottom:10px;line-height:1.5}
.docchip{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text);padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);margin-bottom:7px}
.docchip svg{width:14px;height:14px;color:var(--gold-soft);flex:0 0 auto}
@media(max-width:760px){.modal-body{grid-template-columns:1fr;max-height:none}.modal-side{border-left:0;border-top:1px solid var(--border)}}

/* ── 20 · Timeline (01 Vorgangsverlauf) ───────────────────────────────────── */
.tl{position:relative;margin:0;padding:2px 0 0 26px;list-style:none}
.tl::before{content:"";position:absolute;left:8px;top:8px;bottom:10px;width:2px;background:var(--border-2)}
.tl li{position:relative;padding:0 0 20px}
.tl li::before{content:"";position:absolute;left:-22px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:2px solid var(--border-2)}
.tl li.done::before{background:var(--gold);border-color:var(--gold)}
.tl li.cur::before{background:radial-gradient(circle at 35% 30%,var(--gold-soft),var(--bronze));border-color:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 18%,transparent)}
.tl .st{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.tl .state{font-weight:600;font-size:13.5px;color:var(--text)}
.tl .when{font-size:11px;color:var(--mist-dim)}
.tl .what{font-size:12.5px;color:var(--mist);margin:3px 0 0;line-height:1.5}
.tl .ki{font-size:12px;color:var(--champagne);margin:6px 0 0;display:flex;gap:7px;align-items:flex-start;line-height:1.5}
.tl .ki::before{content:"✦";color:var(--gold-soft);flex:0 0 auto}

/* ── 21 · Dokumente: S3-Baum + Datei-Metadaten (03) ───────────────────────── */
.docs{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}
@media(max-width:1000px){.docs{grid-template-columns:1fr}}
.tree{font-size:13px}
.tnode{user-select:none}
/* HINWEIS: .trow ist global die 06-Listenzeile; im Baum (.tree) gilt das
   03-Tree-Row-Layout — Resets heben die globalen Werte wieder auf. */
.tree .trow{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:0;border-radius:8px;cursor:pointer;color:var(--text)}
.tree .trow:hover{background:var(--surface-2)}
.tree .trow.sel{background:linear-gradient(90deg,rgba(201,162,75,.16),rgba(201,162,75,.02));box-shadow:inset 2px 0 0 var(--gold)}
.tree .trow .tw{width:14px;flex:0 0 auto;color:var(--mist-dim);transition:transform .15s}
.tnode.open>.trow .tw{transform:rotate(90deg)}
.tree .trow .ic{width:16px;height:16px;flex:0 0 auto;color:var(--gold-soft)}
.tree .trow.file .ic{color:var(--mist)}
.tree .trow .nm{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tree .trow .cnt{font-size:10.5px;color:var(--mist-dim)}
.tchildren{margin-left:16px;border-left:1px solid var(--border);padding-left:6px;display:none}
.tnode.open>.tchildren{display:block}
.s3note{margin-top:14px;font-size:11.5px;color:var(--mist-dim);line-height:1.55;border-left:2px solid var(--border-2);padding-left:11px}
.s3note code{font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--champagne);background:var(--bg);border:1px solid var(--border-2);border-radius:5px;padding:1px 5px}
.filemeta{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;height:fit-content;position:sticky;top:0}
.filemeta .ic{width:38px;height:38px;border-radius:10px;background:var(--bg);border:1px solid var(--border);display:grid;place-items:center;color:var(--gold-soft);margin-bottom:11px}
.filemeta .fn{font-size:14px;font-weight:600;color:var(--text);word-break:break-word}
.filemeta .row{display:flex;justify-content:space-between;font-size:12px;color:var(--mist);margin-top:9px;padding-top:9px;border-top:1px solid var(--border)}
.filemeta .row b{color:var(--champagne);font-weight:600}

/* ── 22 · Datenerfassungs-Wizard (03) ─────────────────────────────────────── */
.erf-head{background:linear-gradient(135deg,#111713,#1b2a22);border:1px solid var(--border);border-radius:var(--r);padding:18px 20px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:20px}
:root[data-theme="light"] .erf-head{background:linear-gradient(135deg,#fff,#f4efe2)}
.erf-head .pdata{flex:1 1 240px;min-width:200px}
.erf-head .pdata .tt{font-family:var(--font-display);font-weight:600;font-size:17px}
.erf-head .pbar{height:9px;border-radius:999px;background:var(--bg);border:1px solid var(--border-2);overflow:hidden;margin-top:9px}
.erf-head .pbar span{display:block;height:100%;background:linear-gradient(90deg,var(--bronze),var(--gold-soft))}
.erf-head .pt{font-size:12px;color:var(--mist);margin-top:8px}.erf-head .pt b{color:var(--champagne)}
.erf-head .q{text-align:center}
.erf-head .q .v{font-family:var(--font-display);font-size:30px;font-weight:600;color:var(--gold-soft);line-height:1}
.erf-head .q .l{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--mist-dim);margin-top:4px}
.erf-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px}
@media(max-width:900px){.erf-grid{grid-template-columns:1fr}}
.erf-rail{display:flex;flex-direction:column;gap:4px}
.estep{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:11px;border:1px solid transparent;background:transparent;text-align:left;color:var(--mist);transition:.15s}
.estep:hover{background:var(--surface)}
.estep.on{background:var(--surface);border-color:color-mix(in srgb,var(--gold) 40%,transparent);color:var(--text)}
.estep .num{width:26px;height:26px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;font-size:12px;font-weight:700;border:2px solid var(--border-2);color:var(--mist-dim)}
.estep.done .num{background:linear-gradient(180deg,var(--gold-soft),var(--bronze));border-color:transparent;color:var(--on-gold)}
.estep.on .num{border-color:var(--gold);color:var(--gold-soft)}
.estep .et{font-size:13px;font-weight:600;display:block}
.estep .es{font-size:10.5px;color:var(--mist-dim);display:block}
.estep .ed{margin-left:auto;font-size:10px;font-weight:700;color:var(--warn);flex:0 0 auto}
.estep.done .ed{color:var(--ok)}
.erf-card{background:linear-gradient(180deg,var(--surface),var(--grad-card));border:1px solid var(--border);border-radius:var(--r);padding:22px}
.erf-card h3{font-family:var(--font-display);font-weight:600;font-size:19px;margin:0}
.frow2{display:flex;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid var(--border)}
.frow2:last-of-type{border-bottom:0}
.frow2 .fl{flex:1 1 auto;min-width:0}
.frow2 .fl .l{font-size:13px;color:var(--text);font-weight:600}
.frow2 .fl .v{font-size:12px;color:var(--mist);margin-top:2px}
.frow2 .fl .v.empty{color:var(--mist-dim);font-style:italic}
.erf-nav{display:flex;gap:10px;margin-top:20px;align-items:center}
.erf-nav .sp{flex:1 1 auto}

/* ── 23 · Agent-Hub-Spezifika (06) ────────────────────────────────────────── */
.prompt{background:#0c1117;border:1px solid var(--border-2);border-radius:12px;padding:16px 18px;font-size:13px;line-height:1.6;color:var(--champagne);white-space:pre-wrap;font-family:ui-monospace,Menlo,monospace}
:root[data-theme="light"] .prompt{background:#F8F4EA}
.lvls{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:8px}
.lvopt{text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:13px;padding:15px;color:var(--mist);transition:.15s}
.lvopt:hover{border-color:var(--border-2)}
.lvopt.on{border-color:var(--gold);background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 8%,var(--surface)),var(--grad-card));color:var(--text);box-shadow:var(--shadow)}
.lvopt .n{font-weight:700;font-size:14px;display:flex;align-items:center;gap:8px}
.lvopt .n .num{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;background:var(--surface-2);border:1px solid var(--border-2)}
.lvopt.on .n .num{background:linear-gradient(180deg,var(--gold-soft),var(--bronze));color:var(--on-gold);border-color:transparent}
.lvopt .d{font-size:11.5px;margin-top:7px;line-height:1.45}

/* ── 24 · Responsive (01) ─────────────────────────────────────────────────── */
@media(max-width:1500px){:root{--asst-w:340px;--col-vorgaenge:280px;--col-straenge:312px}}
@media(max-width:1200px){.app.app-vorgang{grid-template-columns:var(--nav) var(--col-straenge) minmax(0,1fr) var(--asst-w)}.col.vorgaenge-col{display:none}}
