/* ===================== NIVOMA · Mail-Modul =====================
   1:1-Port des Design-Exports (NIVOMA Mail / Einrichtung / Tour).
   Alles unter .nvm-root gescoped — die App-Shell (Sidebar/Topbar) bleibt erhalten,
   nur der Inhaltsbereich (Mail-Topbar + 3-Spalten + Modals + Overlays) wird gestylt. */

.nvm-root{
  --ink:#16312D; --accent:#FBF27F; --accent-deep:#cdbf3e;
  --ok:#46c08a; --warm:#e0a964; --err:#ff7a6b; --info:#7ab8e0; --violet:#b79be6;
  --text:#eaf2ee; --muted:#9fb2aa; --muted-2:#6f857d;
  --line:rgba(255,255,255,.10); --line-2:rgba(255,255,255,.06);
  --bg:#091F1C; --disp:"Space Grotesk",system-ui,sans-serif; --body:"Hanken Grotesk",system-ui,sans-serif;
  position:relative; display:flex; flex-direction:column;
  height:calc(100vh - var(--nvx-topbar-h, 67px));
  min-height:0; font-family:var(--body); color:var(--text);
  background:radial-gradient(120% 80% at 100% -10%, #15332c 0%, transparent 55%),radial-gradient(90% 70% at -10% 110%, #13302a 0%, transparent 55%), var(--bg);
}
[data-theme="light"] .nvm-root{
  /* Akzent im Light = Marken-Dunkelgrün wie der Rest der App; --ink ist im Scope überall
     Text-AUF-Akzent → weiß. Die Gelb-Tints laufen über color-mix(var(--accent)) mit. */
  --accent:#1C4A42; --accent-deep:#12332C; --ink:#FFFFFF;
  /* Flächen/Text = App-Light-Palette (kühles Blaugrau) — der frühere Grünstich
     (#eef3f0 &Co.) ließ das Mail-Modul anders aussehen als der Rest der App. */
  --text:#232B36; --muted:#515C6B; --muted-2:#77818F;
  --line:rgba(35,43,54,.12); --line-2:rgba(35,43,54,.06); --bg:#F2F5F9;
  background:radial-gradient(120% 80% at 100% -10%, #E9EEF6 0%, transparent 55%),radial-gradient(90% 70% at -10% 110%, #EDF1F8 0%, transparent 55%), var(--bg);
}
/* ---- Light-Mode-Feinschliff: Akzent-Text auf hellem Grund abdunkeln + dunkle Panels aufhellen ---- */
[data-theme="light"] .nvm-root .empty .eyebrow,
[data-theme="light"] .nvm-root .adv .sslabel{ color:#1F6B5E; }
[data-theme="light"] .nvm-root .folders{ background:rgba(35,43,54,.035); }
[data-theme="light"] .nvm-root .maillist{ background:rgba(35,43,54,.015); }
[data-theme="light"] .nvm-root .replybox{ background:rgba(35,43,54,.03); }
[data-theme="light"] .nvm-root .matchrow{ background:rgba(255,255,255,.65); }
[data-theme="light"] .nvm-root .mailrow:hover{ background:rgba(35,43,54,.045); }
[data-theme="light"] .nvm-root .topsearch,
[data-theme="light"] .nvm-root .periodsel select,
[data-theme="light"] .nvm-root .selbtn,
[data-theme="light"] .nvm-root .faddbtn,
[data-theme="light"] .nvm-root .att-card,
[data-theme="light"] .nvm-root .bk,
[data-theme="light"] .nvm-root .rd-actions button,
[data-theme="light"] .nvm-root .matchact button,
[data-theme="light"] .nvm-root .fpsearch,
[data-theme="light"] .nvm-root .composebtn.ghost{ background:rgba(35,43,54,.04); }
[data-theme="light"] .nvm-root .periodsel select option,
[data-theme="light"] .nvm-root .fmrow .fsel select option{ background:#ffffff; }

.nvm-root *{ box-sizing:border-box; }
.nvm-root ::selection{ background:var(--accent); color:var(--ink); }
.nvm-root ::-webkit-scrollbar{ width:10px; height:10px; }
.nvm-root ::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.12); border-radius:10px; border:3px solid transparent; background-clip:padding-box; }

/* topbar */
.nvm-root .topbar{ position:relative; z-index:4; display:flex; align-items:center; gap:12px; padding:13px 26px; border-bottom:1px solid var(--line); flex:0 0 auto; }
.nvm-root .crumb{ font-family:var(--disp); font-size:13px; letter-spacing:.04em; color:var(--text); font-weight:600; flex:0 0 auto; }
.nvm-root .topsearch{ display:flex; align-items:center; gap:10px; padding:10px 16px; border-radius:13px; border:1px solid var(--line); background:rgba(255,255,255,.03); color:var(--muted); flex:1; min-width:0; margin-right:auto; transition:.2s; }
.nvm-root .topsearch:focus-within{ border-color:var(--accent); }
.nvm-root .topsearch svg{ width:16px; height:16px; flex:0 0 auto; }
.nvm-root .topsearch input{ background:none; border:none; outline:none; color:var(--text); font-family:var(--body); font-size:14px; width:100%; }
.nvm-root .composebtn{ display:inline-flex; align-items:center; gap:8px; font-family:var(--disp); font-weight:600; font-size:13.5px; color:var(--ink); background:var(--accent); border:none; border-radius:12px; padding:11px 20px; cursor:pointer; transition:transform .18s,box-shadow .25s; flex:0 0 auto; }
.nvm-root .composebtn svg{ width:16px; height:16px; }
.nvm-root .composebtn:hover{ transform:translateY(-2px); box-shadow:0 14px 30px -8px color-mix(in srgb, var(--accent) 50%, transparent); }
.nvm-root .composebtn.ghost{ background:rgba(255,255,255,.05); color:var(--text); border:1px solid var(--line); }
.nvm-root .composebtn.ghost:hover{ box-shadow:none; border-color:var(--accent); }
.nvm-root .composebtn.spinning svg{ animation:nvm-spin .8s linear; }

/* mail layout */
.nvm-root .mailwrap{ position:relative; z-index:2; flex:1; display:grid; grid-template-columns:208px 380px 1fr; min-height:0; transition:grid-template-columns .3s cubic-bezier(.4,0,.2,1); }
.nvm-root.list-collapsed .mailwrap{ grid-template-columns:208px 0 1fr; }
.nvm-root.list-collapsed .maillist{ overflow:hidden; border-right:none; pointer-events:none; opacity:0; }
.nvm-root .listtoggle{ position:absolute; top:16px; left:16px; z-index:6; width:40px; height:40px; padding:0; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:var(--muted); background:rgba(17,48,42,.92); border:1px solid var(--line); cursor:pointer; transition:.18s; box-shadow:0 10px 26px -8px rgba(0,0,0,.6); backdrop-filter:blur(6px); }
.nvm-root .listtoggle svg{ width:17px; height:17px; transition:transform .25s; }
.nvm-root .listtoggle:hover{ color:var(--accent); border-color:var(--accent); transform:scale(1.06); }
.nvm-root.list-collapsed .listtoggle svg{ transform:rotate(180deg); }

/* folders */
.nvm-root .folders{ border-right:1px solid var(--line); padding:16px 12px; display:flex; flex-direction:column; gap:3px; overflow-y:auto; background:rgba(8,22,18,.25); }
.nvm-root .fold{ display:flex; align-items:center; gap:11px; padding:10px 12px; border-radius:11px; color:var(--muted); font-size:13.5px; font-weight:500; cursor:pointer; transition:.18s; }
.nvm-root .fold svg{ width:17px; height:17px; flex:0 0 auto; }
.nvm-root .fold .fc{ margin-left:auto; font-family:var(--disp); font-size:11px; font-weight:600; color:var(--muted-2); font-variant-numeric:tabular-nums; }
.nvm-root .fold:hover{ background:rgba(255,255,255,.05); color:var(--text); }
.nvm-root .fold.active{ background:color-mix(in srgb, var(--accent) 10%, transparent); color:var(--text); box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 25%, transparent); }
.nvm-root .fold.active .fc{ color:var(--accent); }
.nvm-root .foldsec{ font-family:var(--disp); font-size:9px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--muted-2); padding:16px 12px 8px; }
.nvm-root .lblrow{ display:flex; align-items:center; gap:11px; padding:8px 12px; border-radius:10px; font-size:13px; color:var(--muted); cursor:pointer; transition:.18s; }
.nvm-root .lblrow:hover{ background:rgba(255,255,255,.04); color:var(--text); }
.nvm-root .lblrow .ld{ width:9px; height:9px; border-radius:3px; flex:0 0 auto; }
.nvm-root .lblrow.active{ background:color-mix(in srgb, var(--accent) 10%, transparent); color:var(--text); }

/* fold drop targets (drag) */
.nvm-root.dragging-mail .fold{ transition:transform .15s,background .15s,box-shadow .15s; }
.nvm-root .fold.droptarget{ box-shadow:inset 0 0 0 1px var(--line); }
.nvm-root .fold.drophover{ background:color-mix(in srgb, var(--accent) 16%, transparent)!important; box-shadow:inset 0 0 0 1.5px var(--accent); transform:scale(1.04); }
.nvm-root .fold.drophover svg{ color:var(--accent); }

/* list */
.nvm-root .maillist{ border-right:1px solid var(--line); display:flex; flex-direction:column; min-height:0; min-width:0; background:rgba(8,22,18,.15); }
.nvm-root .ml-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 18px 10px; flex:0 0 auto; flex-wrap:wrap; }
.nvm-root .ml-head .mt{ font-family:var(--disp); font-weight:600; font-size:15px; }
.nvm-root .ml-head .mc{ font-size:12px; color:var(--muted-2); }
.nvm-root .ml-right{ display:flex; align-items:center; gap:11px; }
.nvm-root .periodsel{ position:relative; }
.nvm-root .periodsel svg{ position:absolute; right:10px; top:50%; transform:translateY(-50%); width:13px; height:13px; color:var(--muted-2); pointer-events:none; }
.nvm-root .periodsel select{ appearance:none; font-family:var(--body); font-size:12px; color:var(--muted); background:rgba(8,22,18,.5); border:1px solid var(--line); border-radius:9px; padding:6px 28px 6px 11px; cursor:pointer; outline:none; transition:.18s; }
.nvm-root .periodsel select:hover{ border-color:var(--accent); color:var(--text); }
.nvm-root .periodsel select option{ background:#0d211c; color:var(--text); }
.nvm-root .selbtn{ display:inline-flex; align-items:center; gap:7px; font-family:var(--disp); font-size:12px; font-weight:600; color:var(--muted); background:rgba(8,22,18,.5); border:1px solid var(--line); border-radius:9px; padding:7px 12px; cursor:pointer; transition:.16s; }
.nvm-root .selbtn svg{ width:14px; height:14px; }
.nvm-root .selbtn:hover{ color:var(--text); border-color:var(--accent); }
.nvm-root .selbtn.on{ background:var(--accent); color:var(--ink); border-color:var(--accent); }
.nvm-root .ml-scroll{ flex:1; overflow-y:auto; }
.nvm-root .ml-empty{ padding:40px 20px; text-align:center; color:var(--muted-2); font-size:13px; }
.nvm-root .ml-loadmore{ display:flex; justify-content:center; padding:12px; }
.nvm-root .ml-loadmore button{ font-family:var(--disp); font-size:12px; font-weight:600; color:var(--muted); background:rgba(255,255,255,.04); border:1px solid var(--line); border-radius:9px; padding:8px 16px; cursor:pointer; transition:.16s; }
.nvm-root .ml-loadmore button:hover{ color:var(--accent); border-color:var(--accent); }

/* multi-filter bar */
.nvm-root .filterbar{ display:flex; align-items:center; gap:7px; flex-wrap:wrap; padding:0 18px 12px; flex:0 0 auto; }
.nvm-root .faddbtn{ display:inline-flex; align-items:center; gap:6px; font-family:var(--disp); font-size:11.5px; font-weight:600; color:var(--muted); background:rgba(255,255,255,.04); border:1px dashed var(--line); border-radius:9px; padding:7px 12px; cursor:pointer; transition:.16s; position:relative; }
.nvm-root .faddbtn svg{ width:13px; height:13px; }
.nvm-root .faddbtn:hover{ color:var(--accent); border-color:var(--accent); }
.nvm-root .fchip{ display:inline-flex; align-items:center; gap:7px; font-family:var(--disp); font-size:11.5px; font-weight:600; color:var(--ink); background:var(--accent); border:1px solid var(--accent); border-radius:9px; padding:7px 8px 7px 11px; white-space:nowrap; }
.nvm-root .fchip .fk{ opacity:.65; font-weight:500; }
.nvm-root .fchip.cat{ background:color-mix(in srgb, var(--accent) 14%, transparent); color:var(--accent); border-color:color-mix(in srgb, var(--accent) 34%, transparent); }
.nvm-root .fchip.type{ background:rgba(122,184,224,.16); color:var(--info); border-color:rgba(122,184,224,.34); }
.nvm-root .fchip.proj{ background:rgba(70,192,138,.15); color:var(--ok); border-color:rgba(70,192,138,.34); }
.nvm-root .fchip .x{ width:16px; height:16px; border:none; background:none; cursor:pointer; display:flex; align-items:center; justify-content:center; color:currentColor; opacity:.7; padding:0; }
.nvm-root .fchip .x:hover{ opacity:1; }
.nvm-root .fchip .x svg{ width:11px; height:11px; }
.nvm-root .fclear{ font-family:var(--disp); font-size:11px; font-weight:500; color:var(--muted-2); background:none; border:none; cursor:pointer; padding:6px 4px; }
.nvm-root .fclear:hover{ color:var(--err); }
.nvm-root .fpop{ position:absolute; top:calc(100% + 6px); left:0; z-index:20; width:268px; background:#102923; border:1px solid var(--line); border-radius:14px; box-shadow:0 24px 60px -20px rgba(0,0,0,.7); padding:8px; }
[data-theme="light"] .nvm-root .fpop{ background:#ffffff; }
.nvm-root .fpsec{ font-family:var(--disp); font-size:9px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-2); padding:9px 9px 6px; }
.nvm-root .fpsearch{ display:flex; align-items:center; gap:8px; padding:8px 10px; border:1px solid var(--line); border-radius:9px; background:rgba(8,22,18,.5); margin:2px 4px 6px; }
.nvm-root .fpsearch svg{ width:14px; height:14px; color:var(--muted-2); flex:0 0 auto; }
.nvm-root .fpsearch input{ background:none; border:none; outline:none; color:var(--text); font-family:var(--body); font-size:12.5px; width:100%; }
.nvm-root .fpscroll{ max-height:230px; overflow-y:auto; }
.nvm-root .fpopt{ display:flex; align-items:center; gap:9px; padding:8px 9px; border-radius:8px; font-size:12.5px; color:var(--muted); cursor:pointer; transition:.14s; }
.nvm-root .fpopt:hover{ background:rgba(255,255,255,.05); color:var(--text); }
.nvm-root .fpopt .ck{ width:16px; height:16px; border-radius:5px; border:1.5px solid var(--muted-2); flex:0 0 auto; display:flex; align-items:center; justify-content:center; transition:.15s; }
.nvm-root .fpopt .ck svg{ width:11px; height:11px; color:var(--ink); opacity:0; }
.nvm-root .fpopt.on .ck{ background:var(--accent); border-color:var(--accent); }
.nvm-root .fpopt.on .ck svg{ opacity:1; }
.nvm-root .fpopt.on{ color:var(--text); }
.nvm-root .fpopt .dd{ width:8px; height:8px; border-radius:3px; flex:0 0 auto; }
.nvm-root .fpopt .pmeta{ margin-left:auto; font-family:var(--disp); font-size:10px; color:var(--muted-2); flex:0 0 auto; padding-left:8px; }
.nvm-root .fpnone{ font-size:11.5px; color:var(--muted-2); padding:12px 10px; text-align:center; }

/* mail row */
.nvm-root .mailrow{ display:flex; gap:12px; padding:13px 18px; border-bottom:1px solid var(--line-2); cursor:pointer; transition:background .15s; position:relative; }
.nvm-root .mailrow:hover{ background:rgba(255,255,255,.03); }
.nvm-root .mailrow.active{ background:color-mix(in srgb, var(--accent) 7%, transparent); box-shadow:inset 3px 0 0 var(--accent); }
.nvm-root .mailrow.unread{ background:color-mix(in srgb, var(--accent) 3.5%, transparent); }
.nvm-root .mailrow.unread .mr-from,.nvm-root .mailrow.unread .mr-subj{ color:var(--text); font-weight:600; }
.nvm-root .mailrow.unread .mr-ava{ box-shadow:0 0 0 2px var(--bg), 0 0 0 4px color-mix(in srgb, var(--accent) 50%, transparent); }
/* Ungelesen: zusätzlich ein grüner Punkt vor dem Absender (nicht nur der Avatar-Ring) */
.nvm-root .mailrow .mr-dot{ width:8px; height:8px; border-radius:50%; background:var(--ok); flex:0 0 auto; align-self:center; box-shadow:0 0 0 3px rgba(70,192,138,.2); }
.nvm-root .mailrow .mr-ava{ width:38px; height:38px; border-radius:11px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; font-family:var(--disp); font-weight:700; font-size:13px; color:#0c1f1b; }
.nvm-root .mailrow .mr-body{ flex:1; min-width:0; }
.nvm-root .mailrow .mr-top{ display:flex; align-items:baseline; gap:8px; }
.nvm-root .mailrow .mr-from{ font-family:var(--disp); font-size:13.5px; color:var(--muted); font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nvm-root .mailrow .mr-time{ margin-left:auto; font-family:var(--disp); font-size:11px; color:var(--muted-2); flex:0 0 auto; }
.nvm-root .mailrow .mr-subj{ font-size:13px; color:var(--text); margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nvm-root .mailrow .mr-prev{ font-size:12px; color:var(--muted-2); margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nvm-root .mailrow .mr-tags{ display:flex; flex-wrap:wrap; gap:5px; margin-top:8px; }
.nvm-root .mr-starflag{ color:var(--accent); margin-right:6px; display:inline-flex; }
.nvm-root .mr-starflag svg{ width:13px; height:13px; vertical-align:middle; }
.nvm-root .mr-check{ width:20px; height:20px; border-radius:6px; border:1.5px solid var(--muted-2); flex:0 0 auto; display:none; align-items:center; justify-content:center; cursor:pointer; transition:.15s; align-self:center; }
.nvm-root .mr-check svg{ width:12px; height:12px; color:var(--ink); opacity:0; }
.nvm-root .mailrow.selmode .mr-check{ display:flex; }
.nvm-root .mailrow.sel .mr-check{ background:var(--accent); border-color:var(--accent); }
.nvm-root .mailrow.sel .mr-check svg{ opacity:1; }
.nvm-root .mailrow.sel{ background:color-mix(in srgb, var(--accent) 6%, transparent); }
.nvm-root .mailrow.armed{ box-shadow:inset 0 0 0 1.5px var(--accent); background:color-mix(in srgb, var(--accent) 5%, transparent); transition:box-shadow .15s; }
.nvm-root .mailrow.dragging-src{ opacity:.4; transition:opacity .15s; }

/* bulk bar */
.nvm-root .bulkbar{ display:flex; align-items:center; gap:7px; padding:8px 18px 12px; flex:0 0 auto; flex-wrap:wrap; }
.nvm-root .bulkbar .bk-n{ font-family:var(--disp); font-size:12px; font-weight:600; color:var(--accent); margin-right:4px; }
.nvm-root .bk{ display:inline-flex; align-items:center; gap:6px; font-family:var(--disp); font-size:11.5px; font-weight:600; color:var(--text); background:rgba(255,255,255,.05); border:1px solid var(--line); border-radius:9px; padding:7px 12px; cursor:pointer; transition:.15s; }
.nvm-root .bk svg{ width:14px; height:14px; }
.nvm-root .bk:hover{ border-color:var(--accent); color:var(--accent); }
.nvm-root .bk.del:hover{ border-color:rgba(255,122,107,.5); color:var(--err); }
.nvm-root .bk-x{ width:30px; height:30px; border-radius:9px; border:1px solid var(--line); background:none; color:var(--muted-2); display:flex; align-items:center; justify-content:center; cursor:pointer; margin-left:auto; }
.nvm-root .bk-x svg{ width:14px; height:14px; }
.nvm-root .bk-x:hover{ color:var(--text); border-color:var(--accent); }

/* classification tags */
.nvm-root .ctag{ display:inline-flex; align-items:center; gap:5px; font-family:var(--disp); font-size:9.5px; font-weight:600; letter-spacing:.03em; padding:3px 8px; border-radius:7px; white-space:nowrap; }
.nvm-root .ctag svg{ width:11px; height:11px; }
.nvm-root .ctag.doc{ background:rgba(122,184,224,.15); color:var(--info); border:1px solid rgba(122,184,224,.3); }
.nvm-root .ctag.grundbuch{ background:rgba(183,155,230,.15); color:var(--violet); border:1px solid rgba(183,155,230,.3); }
.nvm-root .ctag.lageplan{ background:rgba(224,169,100,.15); color:var(--warm); border:1px solid rgba(224,169,100,.3); }
.nvm-root .ctag.netz{ background:rgba(70,192,138,.15); color:var(--ok); border:1px solid rgba(70,192,138,.3); }
.nvm-root .ctag.statik{ background:rgba(255,122,107,.13); color:var(--err); border:1px solid rgba(255,122,107,.3); }
.nvm-root .ctag.proj{ background:color-mix(in srgb, var(--accent) 13%, transparent); color:var(--accent); border:1px solid color-mix(in srgb, var(--accent) 32%, transparent); }
.nvm-root .ctag.lead{ background:rgba(94,198,176,.14); color:var(--ok); border:1px solid rgba(94,198,176,.32); }
.nvm-root .ctag.loewe{ background:rgba(224,131,52,.15); color:#e08334; border:1px solid rgba(224,131,52,.32); }

/* reader */
.nvm-root .reader{ display:flex; flex-direction:column; min-height:0; min-width:0; position:relative; }
.nvm-root .rd-empty{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--muted-2); text-align:center; padding:40px; }
.nvm-root .rd-empty .ei{ width:64px; height:64px; border-radius:18px; background:rgba(255,255,255,.04); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; margin-bottom:18px; color:var(--muted-2); }
.nvm-root .rd-empty .ei svg{ width:30px; height:30px; }
.nvm-root .rd-empty b{ font-family:var(--disp); font-size:16px; color:var(--text); display:block; margin-bottom:6px; }
.nvm-root .rd-scroll{ flex:1; overflow-y:auto; padding:64px 32px 32px; }
.nvm-root .rd-subject{ font-family:var(--disp); font-weight:700; font-size:22px; letter-spacing:-.01em; line-height:1.25; margin-bottom:16px; }
.nvm-root.list-collapsed .rd-subject{ padding-left:52px; }
.nvm-root .rd-from{ display:flex; align-items:center; gap:13px; padding-bottom:18px; border-bottom:1px solid var(--line); margin-bottom:8px; }
.nvm-root .rd-from .ava{ width:44px; height:44px; border-radius:13px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; font-family:var(--disp); font-weight:700; font-size:15px; color:#0c1f1b; }
.nvm-root .rd-from .fi{ flex:1; min-width:0; }
.nvm-root .rd-from .fi b{ font-family:var(--disp); font-weight:600; font-size:14.5px; display:block; }
.nvm-root .rd-from .fi span{ font-size:12.5px; color:var(--muted-2); }
.nvm-root .rd-from .ftime{ font-family:var(--disp); font-size:12px; color:var(--muted-2); flex:0 0 auto; }
.nvm-root .rd-text{ font-size:14.5px; line-height:1.7; color:var(--text); white-space:pre-wrap; }

/* match panel */
.nvm-root .matchcard{ border:1px solid color-mix(in srgb, var(--accent) 28%, transparent); background:linear-gradient(160deg,color-mix(in srgb, var(--accent) 8%, transparent),rgba(255,255,255,.012)); border-radius:15px; padding:16px 18px; margin:18px 0; }
.nvm-root .matchcard.lead{ border-color:rgba(94,198,176,.32); background:linear-gradient(160deg,rgba(94,198,176,.08),rgba(255,255,255,.012)); }
.nvm-root .matchcard .mh{ display:flex; align-items:center; gap:10px; margin-bottom:13px; }
.nvm-root .matchcard .mh .mi{ width:30px; height:30px; border-radius:9px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; background:color-mix(in srgb, var(--accent) 16%, transparent); color:var(--accent); }
.nvm-root .matchcard.lead .mh .mi{ background:rgba(94,198,176,.16); color:var(--ok); }
.nvm-root .matchcard .mh .mi svg{ width:17px; height:17px; }
.nvm-root .matchcard .mh b{ font-family:var(--disp); font-weight:600; font-size:13.5px; }
.nvm-root .matchcard .mh .auto{ margin-left:auto; font-family:var(--disp); font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-2); display:flex; align-items:center; gap:6px; }
.nvm-root .matchcard .mh .auto .d{ width:6px; height:6px; border-radius:50%; background:var(--ok); }
.nvm-root .matchrow{ display:flex; align-items:center; gap:13px; padding:11px; border:1px solid var(--line); border-radius:12px; background:rgba(8,22,18,.4); }
.nvm-root .matchrow .pthumb{ width:46px; height:46px; border-radius:10px; flex:0 0 auto; overflow:hidden; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-family:var(--disp); font-weight:700; font-size:15px; color:#0c1f1b; }
.nvm-root .matchrow .pthumb.lead{ background:rgba(94,198,176,.14); color:var(--ok); }
.nvm-root .matchrow .pinfo{ flex:1; min-width:0; }
.nvm-root .matchrow .pinfo b{ font-family:var(--disp); font-weight:600; font-size:14px; display:block; letter-spacing:-.01em; }
.nvm-root .matchrow .pinfo span{ font-size:12px; color:var(--muted); display:block; margin-top:3px; }
.nvm-root .matchrow .conf{ text-align:right; flex:0 0 auto; }
.nvm-root .matchrow .conf .cv{ font-family:var(--disp); font-weight:700; font-size:16px; color:var(--ok); line-height:1; }
.nvm-root .matchrow .conf .cl{ font-family:var(--disp); font-size:8.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-2); margin-top:3px; }
.nvm-root .matchcats{ display:flex; flex-wrap:wrap; gap:7px; margin-top:13px; }
.nvm-root .matchcats .mlabel{ font-size:11.5px; color:var(--muted-2); margin-right:2px; align-self:center; }
.nvm-root .matchact{ display:flex; gap:9px; margin-top:14px; }
.nvm-root .matchact button{ font-family:var(--disp); font-weight:600; font-size:12px; border-radius:10px; padding:9px 14px; cursor:pointer; border:1px solid var(--line); background:rgba(255,255,255,.04); color:var(--text); transition:.18s; display:inline-flex; align-items:center; gap:7px; }
.nvm-root .matchact button svg{ width:13px; height:13px; }
.nvm-root .matchact button:hover{ border-color:var(--accent); }
.nvm-root .matchact button.prim{ background:var(--accent); color:var(--ink); border-color:var(--accent); }
.nvm-root .nomatch{ display:flex; align-items:center; gap:11px; border:1px dashed var(--line); border-radius:13px; padding:14px 16px; margin:18px 0; color:var(--muted); font-size:13px; }
.nvm-root .nomatch svg{ width:18px; height:18px; color:var(--muted-2); flex:0 0 auto; }

/* attachments */
.nvm-root .rd-atts{ display:flex; flex-wrap:wrap; gap:14px; margin-top:22px; padding-top:20px; border-top:1px solid var(--line); }
.nvm-root .att-card{ width:180px; border:1px solid var(--line); border-radius:13px; overflow:hidden; background:rgba(255,255,255,.03); cursor:pointer; transition:transform .16s,border-color .2s,box-shadow .2s; }
.nvm-root .att-card:hover{ transform:translateY(-2px); border-color:var(--accent); box-shadow:0 14px 30px -16px rgba(0,0,0,.6); }
.nvm-root .ac-thumb{ position:relative; height:150px; background:#0a1714; overflow:hidden; display:flex; align-items:flex-start; justify-content:center; }
.nvm-root .ac-thumb > img{ width:100%; height:100%; object-fit:cover; display:block; }
.nvm-root .att-doc-thumb{ width:100%; height:100%; display:flex; align-items:flex-start; justify-content:center; padding:14px 14px 0; overflow:hidden; }
.nvm-root .mp{ width:100%; background:#f6f4ee; color:#1c2722; border-radius:4px 4px 0 0; padding:13px 14px; box-shadow:0 6px 16px -8px rgba(0,0,0,.5); }
.nvm-root .mp-h{ font-family:var(--disp); font-weight:700; font-size:11px; color:#13322b; }
.nvm-root .mp-s{ font-size:8px; color:#6a7a72; border-bottom:1.5px solid #d8d2c4; padding-bottom:6px; margin-bottom:8px; }
.nvm-root .mp-l{ height:4px; background:#e2dcce; border-radius:2px; margin:5px 0; }
.nvm-root .mp-l.s8{ width:80%; } .nvm-root .mp-l.s6{ width:60%; }
.nvm-root .ac-dl{ position:absolute; left:0; right:0; bottom:0; display:flex; align-items:center; justify-content:center; gap:7px; font-family:var(--disp); font-size:11px; font-weight:600; color:var(--ink); background:var(--accent); border:none; padding:9px; cursor:pointer; transform:translateY(100%); transition:transform .2s; text-decoration:none; }
.nvm-root .ac-dl svg{ width:14px; height:14px; }
.nvm-root .att-card:hover .ac-dl{ transform:none; }
.nvm-root .ac-meta{ display:flex; align-items:center; gap:9px; padding:10px 12px; border-top:1px solid var(--line-2); }
.nvm-root .ac-ic{ width:28px; height:28px; border-radius:8px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; background:rgba(255,122,107,.13); color:var(--err); }
.nvm-root .ac-ic svg{ width:15px; height:15px; }
.nvm-root .ac-tx{ min-width:0; }
.nvm-root .ac-tx b{ font-family:var(--disp); font-weight:600; font-size:12px; color:var(--text); display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nvm-root .ac-tx span{ font-size:10.5px; color:var(--muted-2); display:block; margin-top:2px; }

/* reader actions */
.nvm-root .rd-actions{ display:flex; gap:10px; padding:16px 32px; border-top:1px solid var(--line); flex:0 0 auto; }
.nvm-root .rd-actions button{ font-family:var(--disp); font-weight:600; font-size:13px; border-radius:11px; padding:11px 18px; cursor:pointer; border:1px solid var(--line); background:rgba(255,255,255,.04); color:var(--text); transition:.18s; display:inline-flex; align-items:center; gap:8px; }
.nvm-root .rd-actions button svg{ width:15px; height:15px; }
.nvm-root .rd-actions button:hover{ border-color:var(--accent); }
.nvm-root .rd-actions button.prim{ background:var(--accent); color:var(--ink); border-color:var(--accent); }

/* inline reply composer */
.nvm-root .replybox{ border:1px solid var(--line); border-radius:16px; background:rgba(8,22,18,.45); margin-top:24px; overflow:hidden; }
.nvm-root .rb-head{ display:flex; align-items:center; gap:9px; padding:12px 16px; border-bottom:1px solid var(--line-2); font-size:12.5px; color:var(--muted); }
.nvm-root .rb-head b{ color:var(--text); font-family:var(--disp); font-weight:600; }
.nvm-root .rb-head .rb-close{ margin-left:auto; width:28px; height:28px; border-radius:8px; border:none; background:none; color:var(--muted-2); cursor:pointer; display:flex; align-items:center; justify-content:center; }
.nvm-root .rb-head .rb-close svg{ width:15px; height:15px; }
.nvm-root .rb-head .rb-close:hover{ color:var(--err); }
.nvm-root .rb-to{ display:flex; align-items:center; gap:10px; padding:11px 16px; border-bottom:1px solid var(--line-2); }
.nvm-root .rb-to label{ font-family:var(--disp); font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-2); width:30px; flex:0 0 auto; }
.nvm-root .rb-to input{ flex:1; background:none; border:none; outline:none; color:var(--text); font-family:var(--body); font-size:14px; }
.nvm-root .rb-to input.err{ color:var(--err); }
.nvm-root .rb-editor{ min-height:120px; max-height:280px; overflow-y:auto; padding:14px 16px; color:var(--text); font-family:var(--body); font-size:14px; line-height:1.6; outline:none; }
.nvm-root .rb-editor:empty:before{ content:attr(data-ph); color:var(--muted-2); }
.nvm-root .rb-foot{ display:flex; align-items:center; gap:10px; padding:11px 16px; border-top:1px solid var(--line-2); flex-wrap:wrap; }
.nvm-root .rb-atts{ display:flex; flex-wrap:wrap; gap:8px; padding:0 16px; }
.nvm-root .rb-atts:not(:empty){ padding:12px 16px; border-top:1px solid var(--line-2); }
.nvm-root .rb-att{ display:inline-flex; align-items:center; gap:7px; font-family:var(--body); font-size:12px; color:var(--text); background:rgba(255,255,255,.04); border:1px solid var(--line); border-radius:9px; padding:6px 9px; }
.nvm-root .rb-att svg{ width:14px; height:14px; color:var(--err); flex:0 0 auto; }
.nvm-root .rb-att small{ color:var(--muted-2); }
.nvm-root .rb-att button{ width:16px; height:16px; border:none; background:none; color:var(--muted-2); cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0; }
.nvm-root .rb-att button svg{ width:11px; height:11px; color:var(--muted-2); }
.nvm-root .rb-att button:hover svg{ color:var(--err); }
.nvm-root .rb-send{ font-family:var(--disp); font-weight:600; font-size:13px; color:var(--ink); background:var(--accent); border:none; border-radius:10px; padding:10px 20px; cursor:pointer; display:inline-flex; align-items:center; gap:8px; }
.nvm-root .rb-send svg{ width:15px; height:15px; }
.nvm-root .rb-fix{ font-family:var(--disp); font-weight:600; font-size:13px; color:var(--ok); background:rgba(70,192,138,.1); border:1px solid rgba(70,192,138,.3); border-radius:10px; padding:10px 16px; cursor:pointer; display:inline-flex; align-items:center; gap:8px; transition:.18s; }
.nvm-root .rb-fix svg{ width:15px; height:15px; }
.nvm-root .rb-fix:hover{ background:rgba(70,192,138,.18); }
.nvm-root .rb-ai{ font-family:var(--disp); font-weight:600; font-size:13px; color:var(--accent); background:color-mix(in srgb, var(--accent) 10%, transparent); border:1px solid color-mix(in srgb, var(--accent) 30%, transparent); border-radius:10px; padding:10px 16px; cursor:pointer; display:inline-flex; align-items:center; gap:8px; transition:.18s; }
.nvm-root .rb-ai svg{ width:15px; height:15px; }
.nvm-root .rb-ai:hover{ background:color-mix(in srgb, var(--accent) 18%, transparent); }
.nvm-root .rb-ai.busy svg,.nvm-root .rb-fix.busy svg{ animation:nvm-spin 1s linear infinite; }
.nvm-root .replybox.rb-generating .rb-send,.nvm-root .replybox.rb-generating .rb-to input,.nvm-root .replybox.rb-generating .rb-editor,.nvm-root .replybox.rb-generating .rb-discard{ opacity:.45; pointer-events:none; }
.nvm-root .rb-discard{ font-family:var(--disp); font-weight:500; font-size:13px; color:var(--muted); background:none; border:none; cursor:pointer; padding:10px; }
.nvm-root .rb-discard:hover{ color:var(--text); }

/* modals (compose / datenraum / attachment preview) */
.nvm-root .cmodal{ position:fixed; inset:0; z-index:55; display:flex; align-items:center; justify-content:center; padding:24px; }
.nvm-root .cback{ position:absolute; inset:0; background:rgba(4,12,10,.66); backdrop-filter:blur(4px); }
.nvm-root .ccard{ position:relative; width:min(680px,100%); max-height:90vh; background:linear-gradient(180deg,#11302a,#0d2620); border:1px solid var(--line); border-radius:18px; display:flex; flex-direction:column; box-shadow:0 40px 90px -30px rgba(0,0,0,.85); overflow:hidden; animation:nvm-cardin .3s cubic-bezier(.16,1,.3,1); }
[data-theme="light"] .nvm-root .ccard{ background:linear-gradient(180deg,#ffffff,#F4F7FB); }
.nvm-root .chead{ display:flex; align-items:center; justify-content:space-between; padding:18px 22px; border-bottom:1px solid var(--line); flex:0 0 auto; gap:12px; }
.nvm-root .chead h3{ font-family:var(--disp); font-weight:600; font-size:17px; }
.nvm-root .cbody{ padding:6px 22px 18px; overflow-y:auto; }
.nvm-root .crow{ display:flex; align-items:center; gap:12px; padding:13px 2px; border-bottom:1px solid var(--line-2); }
.nvm-root .crow label{ font-family:var(--disp); font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-2); width:54px; flex:0 0 auto; }
.nvm-root .crow input{ flex:1; background:none; border:none; outline:none; color:var(--text); font-family:var(--body); font-size:14px; }
.nvm-root .cmsg{ width:100%; background:none; border:none; outline:none; resize:vertical; min-height:200px; color:var(--text); font-family:var(--body); font-size:14px; line-height:1.6; padding:16px 2px; }
.nvm-root .cdetect{ display:flex; align-items:center; gap:9px; flex-wrap:wrap; padding:10px 0 0; }
.nvm-root .cdetect .cl{ font-size:11.5px; color:var(--muted-2); }
.nvm-root .cfoot{ display:flex; align-items:center; gap:11px; padding:14px 22px; border-top:1px solid var(--line); flex:0 0 auto; }
.nvm-root .csend{ margin-left:auto; font-family:var(--disp); font-weight:600; font-size:13.5px; color:var(--ink); background:var(--accent); border:none; border-radius:11px; padding:11px 22px; cursor:pointer; display:inline-flex; align-items:center; gap:8px; }
.nvm-root .csend svg{ width:15px; height:15px; }
.nvm-root .csend:disabled{ opacity:.5; cursor:not-allowed; }
.nvm-root .btn-sec{ font-family:var(--disp); font-weight:500; font-size:13px; color:var(--text); background:rgba(255,255,255,.05); border:1px solid var(--line); border-radius:11px; padding:11px 18px; cursor:pointer; }

/* datenraum modal rows */
.nvm-root .fmrow{ display:flex; align-items:center; gap:13px; padding:13px 0; border-bottom:1px solid var(--line-2); }
.nvm-root .fmrow:last-child{ border-bottom:none; }
.nvm-root .fmcheck{ width:22px; height:22px; border-radius:6px; border:1.5px solid var(--muted-2); flex:0 0 auto; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.18s; }
.nvm-root .fmcheck svg{ width:13px; height:13px; color:var(--ink); opacity:0; }
.nvm-root .fmrow.on .fmcheck{ background:var(--accent); border-color:var(--accent); }
.nvm-root .fmrow.on .fmcheck svg{ opacity:1; }
.nvm-root .fmrow .fi{ width:38px; height:38px; border-radius:10px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; background:rgba(255,122,107,.13); color:var(--err); }
.nvm-root .fmrow .fi svg{ width:18px; height:18px; }
.nvm-root .fmrow .fx{ flex:1; min-width:0; }
.nvm-root .fmrow .fx b{ font-family:var(--disp); font-weight:600; font-size:13.5px; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nvm-root .fmrow .fx span{ font-size:11.5px; color:var(--muted-2); }
.nvm-root .fmrow .fsel{ position:relative; flex:0 0 auto; }
.nvm-root .fmrow .fsel svg{ position:absolute; right:11px; top:50%; transform:translateY(-50%); width:13px; height:13px; color:var(--muted-2); pointer-events:none; }
.nvm-root .fmrow .fsel select{ appearance:none; font-family:var(--body); font-size:12.5px; color:var(--text); background:rgba(8,22,18,.6); border:1px solid var(--line); border-radius:9px; padding:8px 30px 8px 12px; cursor:pointer; outline:none; min-width:158px; transition:.18s; }
.nvm-root .fmrow.on .fsel select{ border-color:var(--accent); }
.nvm-root .fmrow:not(.on) .fsel{ opacity:.4; pointer-events:none; }
.nvm-root .fmrow .fsel select option{ background:#0d211c; }
.nvm-root .fmproj{ display:flex; align-items:center; gap:11px; padding:12px 14px; border:1px solid color-mix(in srgb, var(--accent) 28%, transparent); background:color-mix(in srgb, var(--accent) 6%, transparent); border-radius:13px; margin-bottom:6px; }
.nvm-root .fmproj .pt{ width:40px; height:40px; border-radius:10px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; font-family:var(--disp); font-weight:700; color:#0c1f1b; }
.nvm-root .fmproj .pn b{ font-family:var(--disp); font-weight:600; font-size:14px; display:block; }
.nvm-root .fmproj .pn span{ font-size:11.5px; color:var(--muted); }

/* attachment preview overlay paper */
.nvm-root .apstage{ flex:1; overflow:auto; background:#0a1714; padding:24px; display:flex; justify-content:center; align-items:flex-start; }
.nvm-root .apimg{ max-width:100%; border-radius:10px; box-shadow:0 18px 40px -16px rgba(0,0,0,.6); }
.nvm-root .apaper{ width:min(600px,100%); background:#f6f4ee; color:#1c2722; border-radius:6px; box-shadow:0 18px 40px -16px rgba(0,0,0,.6); padding:46px 50px; font-size:12.5px; line-height:1.65; }
.nvm-root .apaper .aph{ display:flex; align-items:flex-start; justify-content:space-between; gap:20px; border-bottom:2px solid #d8d2c4; padding-bottom:18px; margin-bottom:22px; }
.nvm-root .apaper .apbrand{ font-family:var(--disp); font-weight:700; font-size:16px; letter-spacing:.12em; color:#13322b; }
.nvm-root .apaper .apbrand small{ display:block; font-family:var(--body); font-size:9.5px; font-weight:400; letter-spacing:.04em; color:#6a7a72; margin-top:4px; }
.nvm-root .apaper .apmeta{ text-align:right; font-size:10.5px; color:#6a7a72; line-height:1.6; max-width:200px; }
.nvm-root .apaper h1{ font-family:var(--disp); font-size:20px; color:#13322b; margin-bottom:16px; }
.nvm-root .apaper .aprow{ display:flex; justify-content:space-between; gap:20px; padding:7px 0; border-bottom:1px solid #e4ded0; }
.nvm-root .apaper .aprow span{ color:#6a7a72; } .nvm-root .apaper .aprow b{ color:#13322b; text-align:right; }
.nvm-root .apaper .apskel{ height:8px; background:#e6e0d2; border-radius:3px; margin:9px 0; }
.nvm-root .apaper .apskel.s9{ width:92%; } .nvm-root .apaper .apskel.s8{ width:80%; } .nvm-root .apaper .apskel.s7{ width:70%; } .nvm-root .apaper .apskel.s5{ width:52%; }
.nvm-root .apframe{ flex:1; width:100%; border:none; border-radius:8px; background:#fff; min-height:60vh; }

/* toast */
.nvm-root .nvm-toast{ position:fixed; bottom:26px; left:50%; transform:translateX(-50%) translateY(20px); background:linear-gradient(160deg,#1c3f38,#0e211c); border:1px solid var(--line); border-radius:14px; padding:13px 20px; display:flex; align-items:center; gap:11px; font-size:13.5px; color:#eaf2ee; box-shadow:0 24px 50px -20px rgba(0,0,0,.7); opacity:0; pointer-events:none; transition:opacity .35s,transform .35s; z-index:70; }
.nvm-root .nvm-toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }
.nvm-root .nvm-toast svg{ width:18px; height:18px; color:var(--ok); flex:0 0 auto; }

@keyframes nvm-spin{ to{ transform:rotate(360deg); } }
@keyframes nvm-cardin{ from{ opacity:0; transform:translateY(16px) scale(.99); } to{ opacity:1; transform:none; } }

/* =============== Setup (Einrichtung) =============== */
.nvm-root .setup-scroll{ position:relative; z-index:2; flex:1; overflow-y:auto; display:flex; align-items:center; justify-content:center; padding:40px; }
.nvm-root .empty{ max-width:560px; text-align:center; position:relative; }
.nvm-root .empty .iconwrap{ width:104px; height:104px; margin:0 auto 28px; position:relative; display:flex; align-items:center; justify-content:center; }
.nvm-root .empty .iconwrap .ring{ position:absolute; inset:0; border-radius:50%; border:1px solid var(--line); background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 65%); }
.nvm-root .empty .iconwrap .ring.pulse{ animation:nvm-pulse 2.8s ease-out infinite; }
@keyframes nvm-pulse{ 0%{ transform:scale(1); opacity:.7; } 70%{ transform:scale(1.45); opacity:0; } 100%{ opacity:0; } }
.nvm-root .empty .env{ width:50px; height:50px; color:var(--accent); position:relative; z-index:2; }
.nvm-root .empty .env svg{ width:100%; height:100%; }
.nvm-root .empty .eyebrow{ font-family:var(--disp); font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--accent); margin-bottom:13px; }
.nvm-root .empty h1{ font-family:var(--disp); font-weight:700; font-size:30px; letter-spacing:-.02em; line-height:1.15; }
.nvm-root .empty p{ color:var(--muted); font-size:15px; line-height:1.6; margin:14px auto 0; max-width:46ch; }
.nvm-root .empty .cta{ display:inline-flex; align-items:center; gap:9px; font-family:var(--disp); font-weight:600; font-size:14px; color:var(--ink); background:var(--accent); border:none; border-radius:13px; padding:14px 26px; cursor:pointer; margin-top:28px; transition:transform .18s,box-shadow .25s; }
.nvm-root .empty .cta svg{ width:17px; height:17px; }
.nvm-root .empty .cta:hover{ transform:translateY(-2px); box-shadow:0 14px 32px -8px color-mix(in srgb, var(--accent) 50%, transparent); }
.nvm-root .empty .reassure{ display:flex; align-items:center; justify-content:center; gap:20px; margin-top:26px; flex-wrap:wrap; }
.nvm-root .empty .reassure span{ display:inline-flex; align-items:center; gap:8px; font-size:12.5px; color:var(--muted-2); }
.nvm-root .empty .reassure svg{ width:15px; height:15px; color:var(--ok); }

.nvm-root .mcard{ position:relative; width:min(520px,100%); max-height:90vh; background:linear-gradient(180deg,#11302a,#0d2620); border:1px solid var(--line); border-radius:20px; display:flex; flex-direction:column; box-shadow:0 40px 90px -30px rgba(0,0,0,.85); overflow:hidden; animation:nvm-cardin .3s cubic-bezier(.16,1,.3,1); }
[data-theme="light"] .nvm-root .mcard{ background:linear-gradient(180deg,#ffffff,#F4F7FB); }
.nvm-root .mhead{ display:flex; align-items:center; justify-content:space-between; padding:20px 24px; border-bottom:1px solid var(--line); flex:0 0 auto; gap:12px; }
.nvm-root .mhead h3{ font-family:var(--disp); font-weight:600; font-size:18px; }
.nvm-root .mhead .mh-sub{ font-size:12px; color:var(--muted-2); margin-top:3px; }
.nvm-root .mbody{ padding:22px 24px; overflow-y:auto; }
.nvm-root .field{ margin-bottom:16px; }
.nvm-root .field label{ display:block; font-family:var(--disp); font-size:11px; font-weight:500; letter-spacing:.04em; color:var(--muted); margin-bottom:8px; }
.nvm-root .field label .rq{ color:var(--accent); }
.nvm-root .field input,.nvm-root .field select{ width:100%; background:rgba(8,22,18,.55); border:1.5px solid var(--line); border-radius:12px; padding:13px 14px; color:var(--text); font-family:var(--body); font-size:14px; outline:none; transition:border-color .2s,box-shadow .2s; }
[data-theme="light"] .nvm-root .field input,[data-theme="light"] .nvm-root .field select{ background:rgba(35,43,54,.04); }
.nvm-root .field input:focus,.nvm-root .field select:focus{ border-color:var(--accent); box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 10%, transparent); }
.nvm-root .field input.err{ border-color:var(--err); box-shadow:0 0 0 4px rgba(255,122,107,.12); }
.nvm-root .pwwrap{ position:relative; }
.nvm-root .pweye{ position:absolute; right:6px; top:50%; transform:translateY(-50%); width:32px; height:32px; display:flex; align-items:center; justify-content:center; color:var(--muted); background:none; border:none; cursor:pointer; border-radius:8px; }
.nvm-root .pweye:hover{ color:var(--text); }
.nvm-root .pweye svg{ width:17px; height:17px; }
.nvm-root .provhint{ display:flex; align-items:center; gap:9px; font-size:12px; color:var(--muted); background:rgba(70,192,138,.08); border:1px solid rgba(70,192,138,.22); border-radius:11px; padding:11px 13px; margin-bottom:16px; }
.nvm-root .provhint svg{ width:16px; height:16px; color:var(--ok); flex:0 0 auto; }
.nvm-root .provhint b{ color:var(--text); font-weight:600; }
.nvm-root .advtoggle{ display:flex; align-items:center; gap:9px; width:100%; background:none; border:none; border-top:1px solid var(--line-2); padding:16px 0 4px; cursor:pointer; font-family:var(--disp); font-size:13px; font-weight:600; color:var(--muted); transition:.18s; }
.nvm-root .advtoggle:hover{ color:var(--text); }
.nvm-root .advtoggle .chev{ width:15px; height:15px; transition:transform .25s; margin-left:auto; }
.nvm-root .advtoggle.open .chev{ transform:rotate(180deg); }
.nvm-root .adv{ padding-top:14px; animation:nvm-slidedown .3s ease; }
@keyframes nvm-slidedown{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }
.nvm-root .adv .srow{ display:grid; grid-template-columns:1fr 96px; gap:11px; }
.nvm-root .adv .sslabel{ font-family:var(--disp); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); margin:18px 0 12px; }
.nvm-root .mfoot{ display:flex; align-items:center; gap:11px; padding:16px 24px; border-top:1px solid var(--line); flex:0 0 auto; }
.nvm-root .mfoot .sec{ font-size:11.5px; color:var(--muted-2); display:flex; align-items:center; gap:7px; }
.nvm-root .mfoot .sec svg{ width:14px; height:14px; color:var(--ok); }
.nvm-root .btn-connect{ margin-left:auto; font-family:var(--disp); font-weight:600; font-size:13.5px; color:var(--ink); background:var(--accent); border:none; border-radius:11px; padding:12px 22px; cursor:pointer; display:inline-flex; align-items:center; gap:8px; transition:transform .15s; }
.nvm-root .btn-connect svg{ width:15px; height:15px; }
.nvm-root .btn-connect:hover{ transform:translateY(-1px); }
.nvm-root .btn-connect.busy{ opacity:.7; pointer-events:none; }
.nvm-root .btn-connect.busy svg{ animation:nvm-spin 1s linear infinite; }

/* migration / error overlay */
.nvm-root .loadov{ position:fixed; inset:0; z-index:70; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:40px; background:radial-gradient(120% 80% at 50% 0%, #15332c 0%, transparent 55%),#06150f; animation:nvm-fade .4s ease; }
@keyframes nvm-fade{ from{ opacity:0; } to{ opacity:1; } }
.nvm-root .loadov .lmark{ width:84px; height:84px; color:var(--accent); margin-bottom:30px; position:relative; }
.nvm-root .loadov .lmark svg{ width:100%; height:100%; animation:nvm-spin 3.4s linear infinite; }
.nvm-root .loadov .lmark .core{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.nvm-root .loadov .lmark .core b{ width:12px; height:12px; border-radius:50%; background:var(--accent); box-shadow:0 0 18px 3px color-mix(in srgb, var(--accent) 60%, transparent); animation:nvm-beat 1.4s ease-in-out infinite; }
@keyframes nvm-beat{ 0%,100%{ transform:scale(1); opacity:1; } 50%{ transform:scale(1.5); opacity:.6; } }
.nvm-root .loadov .leyebrow{ font-family:var(--disp); font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--accent); margin-bottom:14px; }
.nvm-root .loadov h2{ font-family:var(--disp); font-weight:700; font-size:27px; letter-spacing:-.02em; color:#eaf2ee; }
.nvm-root .loadov .lsub{ color:#9fb2aa; font-size:14.5px; margin-top:12px; max-width:44ch; line-height:1.55; }
.nvm-root .loadbar{ width:min(420px,80vw); height:8px; border-radius:20px; background:rgba(255,255,255,.08); overflow:hidden; margin:30px 0 14px; position:relative; }
.nvm-root .loadbar .fill{ height:100%; border-radius:20px; background:linear-gradient(90deg,var(--accent-deep),var(--accent)); width:0; transition:width .6s cubic-bezier(.4,0,.2,1); position:relative; overflow:hidden; }
.nvm-root .loadbar .fill::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent); transform:translateX(-100%); animation:nvm-sh 1.6s ease-in-out infinite; }
@keyframes nvm-sh{ 0%{ transform:translateX(-100%); } 60%,100%{ transform:translateX(220%); } }
.nvm-root .loadov .lstep{ font-family:var(--disp); font-size:13px; color:#9fb2aa; font-variant-numeric:tabular-nums; }
.nvm-root .loadov .lpct{ font-family:var(--disp); font-weight:600; color:var(--accent); }
.nvm-root .loadov .lnote{ display:flex; align-items:center; gap:9px; font-size:12.5px; color:#6f857d; margin-top:26px; background:rgba(255,255,255,.03); border:1px solid var(--line); border-radius:11px; padding:11px 16px; }
.nvm-root .loadov .lnote svg{ width:15px; height:15px; color:var(--warm); flex:0 0 auto; }
.nvm-root .loadov.error .lmark svg{ animation:none; color:var(--err); }
.nvm-root .loadov.error .lmark .core b{ animation:none; background:var(--err); box-shadow:0 0 18px 3px rgba(255,122,107,.55); }
.nvm-root .loadov.error .leyebrow{ color:var(--err); }
.nvm-root .loadov.error .loadbar .fill{ background:linear-gradient(90deg,#c0463c,var(--err)); }
.nvm-root .loadov.error .loadbar .fill::after{ animation:none; }
.nvm-root .errbox{ width:min(460px,82vw); text-align:left; background:rgba(255,122,107,.07); border:1px solid rgba(255,122,107,.3); border-radius:14px; padding:16px 18px; margin-top:24px; }
.nvm-root .errbox .ehead{ display:flex; align-items:center; gap:10px; font-family:var(--disp); font-weight:600; font-size:13.5px; color:var(--err); margin-bottom:10px; }
.nvm-root .errbox .ehead svg{ width:18px; height:18px; flex:0 0 auto; }
.nvm-root .errbox .erow{ display:flex; align-items:flex-start; gap:9px; font-size:12.5px; color:#9fb2aa; line-height:1.5; padding:5px 0; }
.nvm-root .errbox .erow svg{ width:15px; height:15px; color:#6f857d; flex:0 0 auto; margin-top:1px; }
.nvm-root .errbox .erow b{ color:#eaf2ee; font-weight:600; }
.nvm-root .errbox .ecode{ font-family:var(--disp); font-size:11px; color:#6f857d; margin-top:10px; padding-top:10px; border-top:1px solid rgba(255,122,107,.2); word-break:break-word; }
.nvm-root .erract{ display:flex; gap:11px; margin-top:22px; }
.nvm-root .erract button{ font-family:var(--disp); font-weight:600; font-size:13.5px; border-radius:12px; padding:13px 22px; cursor:pointer; display:inline-flex; align-items:center; gap:8px; transition:.18s; }
.nvm-root .erract .retry{ color:var(--ink); background:var(--accent); border:none; }
.nvm-root .erract .retry svg{ width:15px; height:15px; }
.nvm-root .erract .adjust{ color:#eaf2ee; background:rgba(255,255,255,.05); border:1px solid var(--line); }

/* =============== Feature-Tour =============== */
.nvm-root .tourov{ position:fixed; inset:0; z-index:75; display:flex; align-items:center; justify-content:center; padding:24px; background:radial-gradient(120% 80% at 100% -10%, #15332c 0%, transparent 55%),radial-gradient(90% 70% at -10% 110%, #13302a 0%, transparent 55%), #06150f; }
.nvm-root .tour{ position:relative; width:min(940px,100%); background:linear-gradient(168deg,#12302a,#0c211c); border:1px solid var(--line); border-radius:24px; overflow:hidden; box-shadow:0 50px 120px rgba(0,0,0,.6); display:grid; grid-template-columns:1fr 1fr; min-height:540px; animation:nvm-pop .5s cubic-bezier(.2,.8,.2,1); }
@keyframes nvm-pop{ from{ opacity:0; transform:translateY(20px) scale(.985); } to{ opacity:1; transform:none; } }
.nvm-root .t-left{ padding:36px 38px 30px; display:flex; flex-direction:column; position:relative; }
.nvm-root .t-brand{ display:flex; align-items:center; gap:10px; margin-bottom:26px; }
.nvm-root .t-brand .mk{ width:28px; height:28px; color:var(--ok); }
.nvm-root .t-brand .mk svg{ width:100%; height:100%; animation:nvm-spin 26s linear infinite; }
.nvm-root .t-brand b{ font-family:var(--disp); font-weight:700; font-size:15px; letter-spacing:.14em; color:#eaf2ee; }
.nvm-root .t-brand .okb{ margin-left:auto; display:inline-flex; align-items:center; gap:7px; font-family:var(--disp); font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ok); background:rgba(70,192,138,.12); border:1px solid rgba(70,192,138,.28); border-radius:20px; padding:4px 11px; }
.nvm-root .t-num{ font-family:var(--disp); font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin-bottom:14px; }
.nvm-root .t-title{ font-family:var(--disp); font-weight:700; font-size:25px; letter-spacing:-.02em; line-height:1.2; min-height:60px; color:#eaf2ee; }
.nvm-root .t-desc{ color:#9fb2aa; font-size:14.5px; line-height:1.62; margin-top:14px; flex:1; }
.nvm-root .t-feat{ display:flex; align-items:center; gap:10px; font-size:13px; color:#eaf2ee; margin-top:12px; }
.nvm-root .t-feat svg{ width:17px; height:17px; color:var(--ok); flex:0 0 auto; }
.nvm-root .t-dots{ display:flex; gap:8px; margin:22px 0 18px; }
.nvm-root .t-dots .d{ width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.18); cursor:pointer; transition:.2s; }
.nvm-root .t-dots .d.on{ width:26px; border-radius:20px; background:var(--accent); }
.nvm-root .t-nav{ display:flex; align-items:center; gap:11px; }
.nvm-root .t-skip{ font-family:var(--disp); font-size:12.5px; font-weight:500; color:#6f857d; background:none; border:none; cursor:pointer; }
.nvm-root .t-skip:hover{ color:#eaf2ee; }
.nvm-root .t-back{ font-family:var(--disp); font-weight:500; font-size:13px; color:#eaf2ee; background:rgba(255,255,255,.05); border:1px solid var(--line); border-radius:11px; padding:11px 17px; cursor:pointer; margin-left:auto; }
.nvm-root .t-back:disabled{ opacity:.3; cursor:not-allowed; }
.nvm-root .t-next{ font-family:var(--disp); font-weight:600; font-size:13.5px; color:var(--ink); background:var(--accent); border:none; border-radius:11px; padding:11px 22px; cursor:pointer; display:inline-flex; align-items:center; gap:8px; }
.nvm-root .t-next svg{ width:15px; height:15px; }
.nvm-root .t-right{ background:linear-gradient(180deg,#0c211c,#081915); border-left:1px solid var(--line); position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; padding:30px; }
.nvm-root .t-right .glow{ position:absolute; top:-80px; right:-60px; width:280px; height:280px; background:radial-gradient(closest-side,color-mix(in srgb, var(--accent) 12%, transparent),transparent 70%); pointer-events:none; }
.nvm-root .t-stage{ width:100%; max-width:360px; position:relative; }
.nvm-root .t-fcard{ background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.012)); border:1px solid var(--line); border-radius:14px; padding:14px 15px; box-shadow:0 18px 40px -20px rgba(0,0,0,.6); }
.nvm-root .t-fcard + .t-fcard{ margin-top:11px; }
.nvm-root .t-frow{ display:flex; gap:11px; }
.nvm-root .t-fava{ width:36px; height:36px; border-radius:10px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; font-family:var(--disp); font-weight:700; font-size:12px; color:#0c1f1b; }
.nvm-root .t-ffrom{ font-family:var(--disp); font-size:12.5px; font-weight:600; color:#eaf2ee; }
.nvm-root .t-fsubj{ font-size:12px; color:#9fb2aa; margin-top:3px; }
.nvm-root .t-ftags{ display:flex; flex-wrap:wrap; gap:5px; margin-top:9px; }
.nvm-root .t-mcard{ background:linear-gradient(160deg,color-mix(in srgb, var(--accent) 8%, transparent),rgba(255,255,255,.012)); border:1px solid color-mix(in srgb, var(--accent) 30%, transparent); border-radius:14px; padding:15px; }
.nvm-root .t-browhint{ text-align:center; margin-top:18px; font-family:var(--disp); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:#6f857d; }

@media (max-width:1100px){
  .nvm-root .mailwrap{ grid-template-columns:1fr; }
  .nvm-root .folders,.nvm-root .reader{ display:none; }
  .nvm-root.reading .maillist{ display:none; }
  .nvm-root.reading .reader{ display:flex; }
  .nvm-root .tour{ grid-template-columns:1fr; }
  .nvm-root .t-right{ display:none; }
}

/* ================= V2: Multi-Account · Signaturen · Dock · Summary ================= */

/* ml-head linke Gruppe */
.nvm-root .ml-head .ml-headL{ display:flex; flex-direction:column; align-items:flex-start; gap:1px; min-width:0; }
.nvm-root .ml-head .ml-headL .mc{ font-size:11.5px; color:var(--muted-2); }
.nvm-root .refreshbtn{ width:38px; height:38px; border-radius:11px; border:1px solid var(--line); background:rgba(255,255,255,.05); color:var(--muted); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:.2s; flex:0 0 auto; }
.nvm-root .refreshbtn svg{ width:17px; height:17px; }
.nvm-root .refreshbtn:hover{ color:var(--text); border-color:var(--accent); }
.nvm-root .refreshbtn.spin svg{ animation:nvm-spin .8s linear; }
[data-theme="light"] .nvm-root .refreshbtn{ background:rgba(35,43,54,.04); }

/* ---- Postfach-Gruppen (Multi-Account) ---- */
.nvm-root .acctgrp{ margin-bottom:6px; }
.nvm-root .acctgrp__head{ display:flex; align-items:center; gap:9px; width:100%; padding:9px 10px; border:none; background:none; cursor:pointer; border-radius:10px; color:var(--muted); transition:.15s; text-align:left; }
.nvm-root .acctgrp__head:hover{ background:rgba(255,255,255,.04); color:var(--text); }
.nvm-root .acctgrp__dot{ width:9px; height:9px; border-radius:50%; flex:0 0 auto; }
.nvm-root .acctgrp__email{ flex:1; min-width:0; font-family:var(--disp); font-size:12px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nvm-root .acctgrp__cnt{ font-family:var(--disp); font-size:10.5px; font-weight:600; color:var(--muted-2); background:rgba(255,255,255,.06); border-radius:20px; padding:1px 7px; flex:0 0 auto; }
.nvm-root .acctgrp__chev{ width:15px; height:15px; flex:0 0 auto; transition:transform .25s; }
.nvm-root .acctgrp.collapsed .acctgrp__chev{ transform:rotate(-90deg); }
.nvm-root .acctgrp.active .acctgrp__head{ background:color-mix(in srgb, var(--accent) 8%, transparent); color:var(--text); }
.nvm-root .acctgrp__items{ padding:2px 0 4px; }
.nvm-root .acctgrp.collapsed .acctgrp__items{ display:none; }
.nvm-root .acctadd{ display:flex; align-items:center; justify-content:center; gap:8px; width:100%; margin-top:8px; background:none; border:1px dashed var(--line); border-radius:11px; padding:11px; color:var(--muted); font-family:var(--disp); font-size:12.5px; font-weight:600; cursor:pointer; transition:.18s; }
.nvm-root .acctadd svg{ width:15px; height:15px; }
.nvm-root .acctadd:hover{ border-color:var(--accent); color:var(--accent); }

/* ---- collapsible match panel (Reader) ---- */
.nvm-root .matchcard.collapsible{ overflow:hidden; }
.nvm-root .matchcard .mh.mhbtn{ display:flex; align-items:center; gap:11px; width:100%; padding:14px 16px; background:color-mix(in srgb, var(--accent) 6%, transparent); border:none; border-bottom:1px solid color-mix(in srgb, var(--accent) 18%, transparent); cursor:pointer; text-align:left; transition:background .18s; color:var(--text); }
.nvm-root .matchcard .mh.mhbtn:hover{ background:color-mix(in srgb, var(--accent) 10%, transparent); }
.nvm-root .matchcard.lead .mh.mhbtn{ background:rgba(94,198,176,.07); border-bottom-color:rgba(94,198,176,.2); }
.nvm-root .matchcard .mchev{ width:22px; height:22px; flex:0 0 auto; color:var(--muted-2); display:flex; align-items:center; justify-content:center; margin-left:8px; }
.nvm-root .matchcard .mchev svg{ width:15px; height:15px; transition:transform .25s; }
.nvm-root .matchcard.collapsed .mchev svg{ transform:rotate(-90deg); }
.nvm-root .matchcard.collapsed .mh.mhbtn{ border-bottom:none; }
.nvm-root .mbodywrap{ padding:14px 16px 16px; }
.nvm-root .matchcard.collapsed .mbodywrap{ display:none; }
.nvm-root .msub{ font-family:var(--disp); font-size:9.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--muted-2); margin:16px 0 9px; }

/* ---- quick replies + related ---- */
.nvm-root .rd-sec{ margin-top:24px; padding-top:20px; border-top:1px solid var(--line-2); }
.nvm-root .rd-seclbl{ font-family:var(--disp); font-size:9.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--muted-2); margin-bottom:12px; }
.nvm-root .qreplies{ display:flex; flex-wrap:wrap; gap:8px; }
.nvm-root .qreply{ font-family:var(--body); font-size:13px; color:var(--text); background:rgba(255,255,255,.04); border:1px solid var(--line); border-radius:20px; padding:9px 15px; cursor:pointer; transition:.16s; }
.nvm-root .qreply:hover{ border-color:var(--accent); color:var(--accent); background:color-mix(in srgb, var(--accent) 8%, transparent); }
[data-theme="light"] .nvm-root .qreply{ background:rgba(35,43,54,.04); }
.nvm-root .rd-related{ display:flex; flex-direction:column; gap:8px; }
.nvm-root .relrow{ display:flex; align-items:center; gap:12px; padding:11px 13px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.025); cursor:pointer; transition:.16s; }
.nvm-root .relrow:hover{ border-color:color-mix(in srgb, var(--accent) 35%, transparent); transform:translateX(2px); }
[data-theme="light"] .nvm-root .relrow{ background:rgba(35,43,54,.025); }
.nvm-root .rel-ava{ width:34px; height:34px; border-radius:10px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; font-family:var(--disp); font-weight:700; font-size:11px; color:#0c1f1b; }
.nvm-root .rel-tx{ flex:1; min-width:0; }
.nvm-root .rel-tx b{ font-family:var(--disp); font-weight:600; font-size:13px; color:var(--text); display:block; }
.nvm-root .rel-tx span{ font-size:12px; color:var(--muted); display:block; margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nvm-root .rel-time{ font-family:var(--disp); font-size:11px; color:var(--muted-2); flex:0 0 auto; }

/* ---- E-Mail-Zusammenfassung (Summary-Modal) ---- */
.nvm-root .sum-sec{ font-family:var(--disp); font-size:9.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-2); margin:20px 0 11px; }
.nvm-root .sum-sec:first-child{ margin-top:4px; }
.nvm-root .sumai{ background:linear-gradient(160deg,color-mix(in srgb, var(--accent) 7%, transparent),rgba(255,255,255,.012)); border:1px solid color-mix(in srgb, var(--accent) 22%, transparent); border-radius:14px; padding:16px 18px; display:flex; flex-direction:column; gap:9px; }
.nvm-root .sumai-load{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--muted); }
.nvm-root .sumdot{ width:6px; height:6px; border-radius:50%; background:var(--accent); display:inline-block; animation:nvm-sumb 1.4s ease-in-out infinite; }
.nvm-root .sumdot:nth-child(2){ animation-delay:.2s; } .nvm-root .sumdot:nth-child(3){ animation-delay:.4s; margin-right:4px; }
@keyframes nvm-sumb{ 0%,100%{ opacity:.3; transform:translateY(0); } 50%{ opacity:1; transform:translateY(-3px); } }
.nvm-root .sumpt{ font-size:13.5px; line-height:1.55; color:var(--text); padding-left:18px; position:relative; }
.nvm-root .sumpt::before{ content:""; position:absolute; left:2px; top:8px; width:6px; height:6px; border-radius:50%; background:var(--accent); }
.nvm-root .sumnext{ display:flex; align-items:flex-start; gap:9px; margin-top:5px; padding-top:12px; border-top:1px dashed color-mix(in srgb, var(--accent) 30%, transparent); font-size:13.5px; color:var(--text); }
.nvm-root .sumnext svg{ width:16px; height:16px; color:var(--accent); flex:0 0 auto; margin-top:2px; }
.nvm-root .summeta{ display:flex; gap:10px; }
.nvm-root .summeta-i{ flex:1; background:rgba(255,255,255,.03); border:1px solid var(--line); border-radius:12px; padding:12px 14px; text-align:center; }
[data-theme="light"] .nvm-root .summeta-i{ background:rgba(35,43,54,.03); }
.nvm-root .summeta-i b{ font-family:var(--disp); font-weight:700; font-size:20px; display:block; line-height:1; }
.nvm-root .summeta-i span{ font-family:var(--disp); font-size:8.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-2); margin-top:6px; display:block; }
.nvm-root .sumtl-row{ display:flex; align-items:center; gap:12px; padding:11px 4px; border-bottom:1px solid var(--line-2); cursor:pointer; transition:background .15s; border-radius:8px; }
.nvm-root .sumtl-row:last-child{ border-bottom:none; }
.nvm-root .sumtl-row:hover{ background:rgba(255,255,255,.03); }
.nvm-root .sumtl-dot{ width:9px; height:9px; border-radius:50%; flex:0 0 auto; }
.nvm-root .sumtl-tx{ flex:1; min-width:0; }
.nvm-root .sumtl-tx b{ font-family:var(--disp); font-weight:600; font-size:13px; color:var(--text); display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nvm-root .sumtl-tx span{ font-size:11.5px; color:var(--muted-2); display:block; margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nvm-root .sumtl-att{ display:inline-flex; align-items:center; gap:4px; font-family:var(--disp); font-size:11px; color:var(--muted-2); flex:0 0 auto; }
.nvm-root .sumtl-att svg{ width:13px; height:13px; }
.nvm-root .sumempty{ text-align:center; padding:40px 20px; color:var(--muted-2); display:flex; flex-direction:column; align-items:center; gap:6px; }
.nvm-root .sumempty svg{ width:34px; height:34px; margin-bottom:8px; }
.nvm-root .sumempty b{ font-family:var(--disp); font-size:15px; color:var(--text); }

/* ---- Gmail-style compose dock ---- */
.nvm-root .composedock{ position:fixed; right:24px; bottom:0; z-index:58; width:min(540px,calc(100vw - 48px)); background:linear-gradient(180deg,#11302a,#0d2620); border:1px solid var(--line); border-bottom:none; border-radius:14px 14px 0 0; box-shadow:0 -8px 50px -12px rgba(0,0,0,.6); display:flex; flex-direction:column; max-height:78vh; height:min(640px,86vh); animation:nvm-dockup .28s cubic-bezier(.16,1,.3,1); }
[data-theme="light"] .nvm-root .composedock{ background:linear-gradient(180deg,#ffffff,#F4F7FB); }
@keyframes nvm-dockup{ from{ transform:translateY(30px); opacity:0; } to{ transform:none; opacity:1; } }
.nvm-root .composedock.min{ max-height:48px; height:48px; }
.nvm-root .composedock.min .cd-body,.nvm-root .composedock.min .cd-toolbar,.nvm-root .composedock.min .cd-atts,.nvm-root .composedock.min .cd-foot{ display:none; }
.nvm-root .cd-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 16px; background:rgba(8,22,18,.6); border-radius:14px 14px 0 0; cursor:pointer; flex:0 0 auto; }
[data-theme="light"] .nvm-root .cd-head{ background:rgba(35,43,54,.06); }
.nvm-root .cd-title{ font-family:var(--disp); font-weight:600; font-size:13.5px; color:var(--text); }
.nvm-root .cd-hbtn{ width:26px; height:26px; border-radius:7px; border:none; background:none; color:var(--muted); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.15s; }
.nvm-root .cd-hbtn svg{ width:15px; height:15px; }
.nvm-root .cd-hbtn:hover{ background:rgba(255,255,255,.08); color:var(--text); }
.nvm-root .cd-body{ padding:4px 16px 0; overflow-y:auto; flex:1; min-height:0; }
.nvm-root .cd-row{ display:flex; align-items:center; gap:10px; padding:10px 2px; border-bottom:1px solid var(--line-2); }
.nvm-root .cd-row label{ font-family:var(--disp); font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted-2); width:50px; flex:0 0 auto; }
.nvm-root .cd-row input{ flex:1; background:none; border:none; outline:none; color:var(--text); font-family:var(--body); font-size:14px; }
.nvm-root .cd-detect{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:9px 0 0; min-height:14px; }
.nvm-root .cd-detect .cl{ font-size:11px; color:var(--muted-2); }
.nvm-root .cd-editor{ min-height:200px; outline:none; color:var(--text); font-family:var(--body); font-size:14px; line-height:1.65; padding:14px 2px 18px; white-space:pre-wrap; }
.nvm-root .cd-editor:empty::before{ content:attr(data-ph); color:var(--muted-2); }
.nvm-root .cd-editor.gen{ opacity:.5; pointer-events:none; }
.nvm-root .cd-toolbar{ display:flex; align-items:center; gap:3px; padding:8px 12px; border-top:1px solid var(--line-2); position:relative; flex-wrap:wrap; flex:0 0 auto; }
.nvm-root .cd-tool{ min-width:32px; height:32px; padding:0 7px; border-radius:8px; border:none; background:none; color:var(--muted); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; font-family:var(--disp); font-size:14px; transition:.15s; }
.nvm-root .cd-tool svg{ width:17px; height:17px; }
.nvm-root .cd-tool:hover{ background:rgba(255,255,255,.07); color:var(--text); }
.nvm-root .cd-sep{ width:1px; height:20px; background:var(--line); margin:0 5px; }
.nvm-root .cd-atts{ display:flex; flex-wrap:wrap; gap:8px; padding:0 14px; }
.nvm-root .cd-atts:not(:empty){ padding:10px 14px; }
.nvm-root .cd-att{ display:inline-flex; align-items:center; gap:7px; font-size:12px; color:var(--text); background:rgba(255,255,255,.04); border:1px solid var(--line); border-radius:9px; padding:6px 9px; }
.nvm-root .cd-att svg{ width:14px; height:14px; color:var(--err); }
.nvm-root .cd-att small{ color:var(--muted-2); }
.nvm-root .cd-att button{ width:16px; height:16px; border:none; background:none; color:var(--muted-2); cursor:pointer; padding:0; display:flex; align-items:center; justify-content:center; }
.nvm-root .cd-att button svg{ width:11px; height:11px; }
.nvm-root .cd-foot{ display:flex; align-items:center; gap:8px; padding:12px 16px; border-top:1px solid var(--line); flex-wrap:wrap; flex:0 0 auto; }
.nvm-root .cd-send{ font-family:var(--disp); font-weight:600; font-size:13.5px; color:var(--ink); background:var(--accent); border:none; border-radius:11px; padding:11px 22px; cursor:pointer; display:inline-flex; align-items:center; gap:8px; }
.nvm-root .cd-send svg{ width:16px; height:16px; }
.nvm-root .cd-ai{ font-family:var(--disp); font-weight:600; font-size:12.5px; color:var(--accent); background:color-mix(in srgb, var(--accent) 10%, transparent); border:1px solid color-mix(in srgb, var(--accent) 30%, transparent); border-radius:10px; padding:9px 13px; cursor:pointer; display:inline-flex; align-items:center; gap:7px; transition:.18s; }
.nvm-root .cd-ai svg{ width:15px; height:15px; }
.nvm-root .cd-ai:hover{ background:color-mix(in srgb, var(--accent) 18%, transparent); }
.nvm-root .cd-ai.busy svg,.nvm-root .cd-fix.busy svg{ animation:nvm-spin 1s linear infinite; }
.nvm-root .cd-fix{ font-family:var(--disp); font-weight:600; font-size:12.5px; color:var(--ok); background:rgba(70,192,138,.1); border:1px solid rgba(70,192,138,.3); border-radius:10px; padding:9px 13px; cursor:pointer; display:inline-flex; align-items:center; gap:7px; transition:.18s; }
.nvm-root .cd-fix svg{ width:15px; height:15px; }
.nvm-root .cd-fix:hover{ background:rgba(70,192,138,.18); }
.nvm-root .cd-hacts{ display:flex; align-items:center; gap:4px; flex:0 0 auto; }
.nvm-root .cd-sigsel{ position:relative; }
.nvm-root .cd-sigbtn{ display:inline-flex; align-items:center; gap:7px; font-family:var(--disp); font-size:12px; font-weight:500; color:var(--muted); background:rgba(255,255,255,.03); border:1px solid var(--line); border-radius:10px; padding:9px 11px; cursor:pointer; transition:.18s; max-width:170px; }
[data-theme="light"] .nvm-root .cd-sigbtn{ background:rgba(35,43,54,.04); }
.nvm-root .cd-sigbtn svg{ width:15px; height:15px; flex:0 0 auto; } .nvm-root .cd-sigbtn .chev{ width:13px; height:13px; }
.nvm-root .cd-sigbtn span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nvm-root .cd-sigbtn:hover{ border-color:var(--accent); color:var(--text); }
.nvm-root .cd-sigpop{ position:absolute; bottom:calc(100% + 6px); right:0; width:230px; background:#13322b; border:1px solid var(--line); border-radius:12px; box-shadow:0 18px 50px -12px rgba(0,0,0,.7); padding:6px; z-index:5; max-height:280px; overflow-y:auto; }
[data-theme="light"] .nvm-root .cd-sigpop{ background:#ffffff; }
.nvm-root .cd-sigopt{ display:flex; align-items:center; gap:9px; width:100%; padding:9px 10px; border:none; background:none; color:var(--text); font-family:var(--body); font-size:13px; text-align:left; cursor:pointer; border-radius:9px; transition:.15s; }
.nvm-root .cd-sigopt:hover{ background:rgba(255,255,255,.06); }
.nvm-root .cd-sigopt.sel{ background:color-mix(in srgb, var(--accent) 10%, transparent); }
.nvm-root .cd-sigopt .sct{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nvm-root .cd-sigopt .sdef{ font-family:var(--disp); font-size:8.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink); background:var(--accent); border-radius:20px; padding:2px 7px; flex:0 0 auto; }
.nvm-root .emojipop{ position:absolute; bottom:44px; left:12px; z-index:8; background:#11302a; border:1px solid var(--line); border-radius:12px; padding:8px; display:grid; grid-template-columns:repeat(7,1fr); gap:2px; box-shadow:0 18px 40px -16px rgba(0,0,0,.7); width:266px; }
[data-theme="light"] .nvm-root .emojipop{ background:#ffffff; }
.nvm-root .emojipop button{ width:34px; height:34px; border:none; background:none; font-size:18px; cursor:pointer; border-radius:8px; transition:.12s; }
.nvm-root .emojipop button:hover{ background:rgba(255,255,255,.08); }

/* ---- Anhang-System: Quelle-Popover (Upload vs. Archiv) ---- */
.nvm-root .cd-attachwrap,.nvm-root .rb-attachwrap{ position:relative; display:inline-flex; }
/* Unsichtbarer Klick-Fänger: schließt das Popover bei Klick außerhalb */
.nvm-root .nvm-srcpop-catch{ position:fixed; inset:0; z-index:59; background:transparent; }
.nvm-root .srcpop{ position:absolute; z-index:60; width:248px; background:linear-gradient(180deg,#143029,#0e211c); border:1px solid var(--line); border-radius:14px; padding:7px; box-shadow:0 24px 50px -18px rgba(0,0,0,.75); display:flex; flex-direction:column; gap:3px; animation:nvm-srcup .16s ease; }
[data-theme="light"] .nvm-root .srcpop{ background:linear-gradient(180deg,#ffffff,#F4F7FB); }
.nvm-root .srcpop.up{ bottom:calc(100% + 8px); left:0; }
@keyframes nvm-srcup{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
.nvm-root .srcpop-item{ display:flex; align-items:center; gap:12px; padding:10px 11px; border-radius:10px; background:none; border:none; cursor:pointer; text-align:left; transition:background .15s; }
.nvm-root .srcpop-item:hover{ background:rgba(255,255,255,.06); }
[data-theme="light"] .nvm-root .srcpop-item:hover{ background:rgba(35,43,54,.05); }
.nvm-root .srcpop-item .si{ width:38px; height:38px; border-radius:10px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; background:color-mix(in srgb, var(--accent) 13%, transparent); color:var(--accent); }
.nvm-root .srcpop-item .si svg{ width:19px; height:19px; }
.nvm-root .srcpop-item .st b{ font-family:var(--disp); font-weight:600; font-size:13.5px; color:var(--text); display:block; line-height:1.25; }
.nvm-root .srcpop-item .st small{ font-size:11px; color:var(--muted-2); }

/* ---- Anhang-System: Archiv-Picker (Modal über dem Compose-Dock) ---- */
.nvm-root .cmodal.nvm-archm{ z-index:62; }
.nvm-root .cmodal.nvm-archprev{ z-index:72; }
.nvm-root .amcrumb{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; padding:12px 22px 8px; flex:0 0 auto; }
.nvm-root .amcrumb .amback{ display:inline-flex; align-items:center; gap:5px; font-family:var(--disp); font-size:12.5px; font-weight:600; color:var(--text); background:rgba(255,255,255,.05); border:1px solid var(--line); border-radius:9px; padding:6px 11px 6px 8px; cursor:pointer; margin-right:4px; transition:.15s; }
[data-theme="light"] .nvm-root .amcrumb .amback{ background:rgba(35,43,54,.04); }
.nvm-root .amcrumb .amback svg{ width:15px; height:15px; }
.nvm-root .amcrumb .amback:hover{ border-color:var(--accent); color:var(--accent); }
.nvm-root .amcrumb button{ font-family:var(--disp); font-size:12.5px; font-weight:600; color:var(--muted); background:none; border:none; cursor:pointer; padding:4px 7px; border-radius:8px; transition:.15s; }
.nvm-root .amcrumb button:hover{ color:var(--text); background:rgba(255,255,255,.05); }
.nvm-root .amcrumb button.cur{ color:var(--accent); cursor:default; }
[data-theme="light"] .nvm-root .amcrumb button.cur{ color:#8a7c10; }
.nvm-root .amcrumb .sep{ color:var(--muted-2); font-size:12px; }
.nvm-root .amrow{ display:flex; align-items:center; gap:13px; padding:11px 10px; border-radius:12px; cursor:pointer; transition:background .15s; border:1px solid transparent; }
.nvm-root .amrow:hover{ background:rgba(255,255,255,.04); }
[data-theme="light"] .nvm-root .amrow:hover{ background:rgba(35,43,54,.035); }
.nvm-root .amrow.sel{ background:color-mix(in srgb, var(--accent) 8%, transparent); border-color:color-mix(in srgb, var(--accent) 28%, transparent); }
.nvm-root .amrow .amcheck{ width:21px; height:21px; border-radius:7px; border:2px solid var(--muted-2); flex:0 0 auto; display:flex; align-items:center; justify-content:center; transition:.15s; cursor:pointer; }
.nvm-root .amrow .amcheck svg{ width:13px; height:13px; color:var(--ink); opacity:0; }
.nvm-root .amrow.sel .amcheck{ background:var(--accent); border-color:var(--accent); }
.nvm-root .amrow.sel .amcheck svg{ opacity:1; }
.nvm-root .amrow .amic{ width:40px; height:40px; border-radius:11px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; }
.nvm-root .amrow .amic svg{ width:21px; height:21px; }
.nvm-root .amrow .amic.folder{ background:rgba(70,192,138,.14); color:var(--ok); }
.nvm-root .amrow .amic.pdf{ background:rgba(224,169,100,.14); color:var(--warm); }
.nvm-root .amrow .amic.img{ background:rgba(122,184,224,.14); color:var(--info); }
.nvm-root .amrow .amic.doc{ background:rgba(255,255,255,.06); color:var(--muted); }
[data-theme="light"] .nvm-root .amrow .amic.doc{ background:rgba(35,43,54,.06); }
.nvm-root .amrow .ammid{ flex:1; min-width:0; }
.nvm-root .amrow .ammid b{ font-family:var(--disp); font-weight:600; font-size:14px; color:var(--text); display:block; line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nvm-root .amrow .ammid span{ font-size:11.5px; color:var(--muted-2); display:block; margin-top:2px; }
.nvm-root .amrow .amgo{ width:26px; height:26px; display:flex; align-items:center; justify-content:center; color:var(--muted-2); flex:0 0 auto; opacity:.4; transition:.18s; }
.nvm-root .amrow .amgo svg{ width:17px; height:17px; }
.nvm-root .amrow.folder:hover .amgo{ opacity:1; color:var(--accent); transform:translateX(3px); }
.nvm-root .amrow.folder:hover .amic.folder{ color:var(--accent); }
.nvm-root .amrow .amprev{ width:32px; height:32px; border-radius:9px; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--muted-2); flex:0 0 auto; transition:.15s; background:none; cursor:pointer; }
.nvm-root .amrow .amprev svg{ width:16px; height:16px; }
.nvm-root .amrow .amprev:hover{ color:var(--accent); border-color:var(--accent); }
.nvm-root .amempty{ text-align:center; color:var(--muted-2); padding:34px 10px; font-size:13px; }

/* ---- Signaturen-Tab (master/detail) ---- */
.nvm-root.sigs .maillist,.nvm-root.sigs .reader{ display:none; }
.nvm-root .sigpanel{ display:grid; grid-template-columns:260px 1fr; min-width:0; min-height:0; grid-column:2 / 4; }
.nvm-root .sig-rail{ border-right:1px solid var(--line); display:flex; flex-direction:column; min-height:0; background:rgba(8,22,18,.25); }
[data-theme="light"] .nvm-root .sig-rail{ background:rgba(35,43,54,.02); }
.nvm-root .sig-rail-head{ display:flex; align-items:center; justify-content:space-between; padding:18px 18px 12px; font-family:var(--disp); font-weight:600; font-size:14px; flex:0 0 auto; }
.nvm-root .sig-railadd{ width:30px; height:30px; border-radius:9px; border:1px solid var(--line); background:rgba(255,255,255,.03); color:var(--muted); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.15s; }
.nvm-root .sig-railadd svg{ width:15px; height:15px; }
.nvm-root .sig-railadd:hover{ color:var(--accent); border-color:var(--accent); }
.nvm-root .sig-raillist{ flex:1; overflow-y:auto; padding:4px 10px 14px; display:flex; flex-direction:column; gap:3px; }
.nvm-root .sig-rrow{ display:flex; align-items:center; gap:11px; padding:11px 12px; border-radius:11px; cursor:pointer; transition:background .15s; position:relative; }
.nvm-root .sig-rrow:hover{ background:rgba(255,255,255,.045); }
.nvm-root .sig-rrow.active{ background:color-mix(in srgb, var(--accent) 10%, transparent); box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 25%, transparent); }
.nvm-root .sig-rrow .rico{ width:34px; height:34px; border-radius:10px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.05); color:var(--muted); font-family:var(--disp); font-weight:700; font-size:13px; }
.nvm-root .sig-rrow.active .rico{ background:color-mix(in srgb, var(--accent) 16%, transparent); color:var(--accent); }
.nvm-root .sig-rrow .rtx{ flex:1; min-width:0; }
.nvm-root .sig-rrow .rtx b{ font-family:var(--disp); font-weight:600; font-size:13.5px; color:var(--text); display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nvm-root .sig-rrow .rtx span{ font-size:11px; color:var(--muted-2); display:block; margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nvm-root .sig-rrow .rstar{ width:7px; height:7px; border-radius:50%; background:var(--accent); flex:0 0 auto; opacity:0; }
.nvm-root .sig-rrow.def .rstar{ opacity:1; }
.nvm-root .sig-detail{ display:flex; flex-direction:column; min-width:0; min-height:0; overflow-y:auto; }
.nvm-root .sd-bar{ display:flex; align-items:center; gap:12px; padding:18px 28px; border-bottom:1px solid var(--line); flex:0 0 auto; }
.nvm-root .sd-name{ font-family:var(--disp); font-weight:700; font-size:19px; letter-spacing:-.02em; flex:1; min-width:0; outline:none; border-radius:8px; padding:5px 9px; margin:-5px -9px; transition:background .15s; background:none; border:none; color:var(--text); }
.nvm-root .sd-name:hover,.nvm-root .sd-name:focus{ background:rgba(255,255,255,.05); }
.nvm-root .sd-defpill{ font-family:var(--disp); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink); background:var(--accent); border-radius:20px; padding:4px 11px; flex:0 0 auto; }
.nvm-root .sd-setdef{ font-family:var(--disp); font-weight:600; font-size:12px; color:var(--muted); background:rgba(255,255,255,.03); border:1px solid var(--line); border-radius:10px; padding:8px 14px; cursor:pointer; display:inline-flex; align-items:center; gap:7px; transition:.15s; flex:0 0 auto; }
.nvm-root .sd-setdef svg{ width:14px; height:14px; }
.nvm-root .sd-setdef:hover{ color:var(--accent); border-color:var(--accent); }
.nvm-root .sd-del{ width:38px; height:38px; border-radius:10px; border:1px solid var(--line); background:rgba(255,255,255,.02); color:var(--muted); cursor:pointer; display:flex; align-items:center; justify-content:center; flex:0 0 auto; transition:.15s; }
.nvm-root .sd-del svg{ width:16px; height:16px; }
.nvm-root .sd-del:hover{ color:var(--err); border-color:rgba(255,122,107,.5); background:rgba(255,122,107,.08); }
.nvm-root .sd-body{ flex:1; padding:26px 28px 40px; max-width:760px; width:100%; }
.nvm-root .sd-lbl{ font-family:var(--disp); font-size:9px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-2); margin:0 0 11px; }
.nvm-root .sd-preview{ background:#f6f4ee; color:#1c2722; border-radius:12px; padding:26px 28px; font-size:13.5px; line-height:1.7; box-shadow:0 14px 40px -16px rgba(0,0,0,.55); min-height:80px; }
.nvm-root .sd-preview a{ color:#2a6f5b; }
.nvm-root .sd-preview img{ max-width:320px; max-height:120px; }
.nvm-root .sd-editrow{ display:flex; align-items:center; gap:9px; margin:24px 0 11px; }
.nvm-root .sd-editrow .sd-lbl{ margin:0; flex:1; }
.nvm-root .sd-mode{ display:inline-flex; gap:3px; padding:3px; border-radius:11px; border:1px solid var(--line); background:rgba(8,22,18,.5); margin:24px 0 12px; }
[data-theme="light"] .nvm-root .sd-mode{ background:rgba(35,43,54,.04); }
.nvm-root .sd-seg{ font-family:var(--disp); font-size:12.5px; font-weight:600; color:var(--muted); background:none; border:none; border-radius:8px; padding:8px 18px; cursor:pointer; transition:.15s; }
.nvm-root .sd-seg.active{ background:var(--accent); color:var(--ink); }
.nvm-root .sd-edit{ width:100%; min-height:150px; background:rgba(8,22,18,.55); border:1.5px solid var(--line); border-radius:12px; padding:14px 16px; color:var(--text); font-family:ui-monospace,Menlo,Consolas,monospace; font-size:12.5px; line-height:1.65; outline:none; resize:vertical; }
[data-theme="light"] .nvm-root .sd-edit{ background:rgba(35,43,54,.04); }
.nvm-root .sd-edit:focus{ border-color:var(--accent); }
/* HTML-Code-Editor mit Syntax-Highlighting (transparente Textarea über Highlight-Ebene) */
.nvm-root .codewrap{ position:relative; border:1.5px solid var(--line); border-radius:12px; background:rgba(8,22,18,.6); overflow:hidden; }
[data-theme="light"] .nvm-root .codewrap{ background:rgba(35,43,54,.04); }
.nvm-root .codewrap:focus-within{ border-color:var(--accent); }
.nvm-root .codehl,.nvm-root .codeed{ margin:0; padding:14px 16px; font-family:ui-monospace,Menlo,Consolas,monospace; font-size:12.5px; line-height:1.65; white-space:pre-wrap; word-break:break-word; border:none; }
.nvm-root .codehl{ position:absolute; inset:0; overflow:auto; pointer-events:none; color:#cdd9d2; background:none; }
[data-theme="light"] .nvm-root .codehl{ color:#3a4a44; }
.nvm-root .codeed{ position:relative; display:block; width:100%; min-height:150px; background:transparent; color:transparent; caret-color:var(--accent); outline:none; resize:vertical; overflow:auto; }
.nvm-root .codeed::selection{ background:color-mix(in srgb, var(--accent) 25%, transparent); }
.nvm-root .t-tag{ color:#7ab8e0; } .nvm-root .t-attr{ color:#cdbf3e; } .nvm-root .t-val{ color:#46c08a; } .nvm-root .t-ent{ color:#e0a964; } .nvm-root .t-com{ color:#6f857d; font-style:italic; }
.nvm-root .sd-drop{ border:1.5px dashed var(--line); border-radius:14px; padding:30px 18px; text-align:center; cursor:pointer; transition:.18s; display:flex; flex-direction:column; align-items:center; gap:6px; color:var(--muted-2); }
.nvm-root .sd-drop svg{ width:34px; height:34px; margin-bottom:4px; }
.nvm-root .sd-drop b{ font-family:var(--disp); font-size:14px; color:var(--text); }
.nvm-root .sd-drop:hover{ border-color:var(--accent); background:color-mix(in srgb, var(--accent) 5%, transparent); color:var(--muted); }
.nvm-root .sd-hint{ font-size:11.5px; color:var(--muted-2); margin-top:10px; line-height:1.55; }
.nvm-root .sig-empty{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:var(--muted-2); padding:40px; }
.nvm-root .sig-empty svg{ width:40px; height:40px; margin-bottom:14px; }
.nvm-root .sig-empty b{ font-family:var(--disp); font-size:15px; color:var(--text); margin-bottom:6px; }

/* ---- In-Page „Postfach hinzufügen" Overlay ---- */
.nvm-root .aam{ position:fixed; inset:0; z-index:80; display:flex; align-items:center; justify-content:center; padding:24px; }
.nvm-root .aam-back{ position:absolute; inset:0; background:rgba(4,12,10,.66); backdrop-filter:blur(4px); }
.nvm-root .aam-card,.nvm-root .aam-mig{ position:relative; width:min(480px,100%); background:linear-gradient(180deg,#11302a,#0d2620); border:1px solid var(--line); border-radius:18px; box-shadow:0 40px 90px -30px rgba(0,0,0,.85); animation:nvm-cardin .3s cubic-bezier(.16,1,.3,1); }
[data-theme="light"] .nvm-root .aam-card,[data-theme="light"] .nvm-root .aam-mig{ background:linear-gradient(180deg,#ffffff,#F4F7FB); }
.nvm-root .aam-head{ display:flex; align-items:center; justify-content:space-between; padding:18px 22px; border-bottom:1px solid var(--line); }
.nvm-root .aam-head h3{ font-family:var(--disp); font-weight:600; font-size:17px; }
.nvm-root .aam-sub{ font-size:12px; color:var(--muted-2); margin-top:3px; }
.nvm-root .aam-x{ width:34px; height:34px; border-radius:9px; border:1px solid var(--line); background:rgba(255,255,255,.04); color:var(--muted); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.18s; }
.nvm-root .aam-x svg{ width:16px; height:16px; } .nvm-root .aam-x:hover{ color:var(--text); border-color:var(--err); }
.nvm-root .aam-body{ padding:20px 22px; max-height:62vh; overflow-y:auto; }
.nvm-root .aam-prov{ display:flex; align-items:center; gap:9px; font-size:12px; color:var(--muted); background:rgba(70,192,138,.08); border:1px solid rgba(70,192,138,.22); border-radius:11px; padding:11px 13px; margin-bottom:16px; }
.nvm-root .aam-prov svg{ width:16px; height:16px; color:var(--ok); flex:0 0 auto; } .nvm-root .aam-prov b{ color:var(--text); font-weight:600; }
.nvm-root .aam-f{ margin-bottom:15px; }
.nvm-root .aam-f label{ display:block; font-family:var(--disp); font-size:11px; font-weight:500; color:var(--muted); margin-bottom:7px; } .nvm-root .aam-f label i{ color:var(--accent); font-style:normal; }
.nvm-root .aam-f input,.nvm-root .aam-srow input{ width:100%; background:rgba(8,22,18,.55); border:1.5px solid var(--line); border-radius:11px; padding:12px 13px; color:var(--text); font-family:var(--body); font-size:14px; outline:none; transition:.2s; }
[data-theme="light"] .nvm-root .aam-f input,[data-theme="light"] .nvm-root .aam-srow input{ background:rgba(35,43,54,.04); }
.nvm-root .aam-f input:focus,.nvm-root .aam-srow input:focus{ border-color:var(--accent); box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 10%, transparent); }
.nvm-root .aam-f input.err{ border-color:var(--err); }
.nvm-root .aam-pw{ position:relative; } .nvm-root .aam-pw input{ padding-right:40px; }
.nvm-root .aam-pw button{ position:absolute; right:6px; top:50%; transform:translateY(-50%); width:30px; height:30px; border:none; background:none; color:var(--muted); cursor:pointer; display:flex; align-items:center; justify-content:center; } .nvm-root .aam-pw button svg{ width:17px; height:17px; }
.nvm-root .aam-advt{ display:flex; align-items:center; gap:9px; width:100%; background:none; border:none; border-top:1px solid var(--line-2); padding:15px 0 4px; cursor:pointer; font-family:var(--disp); font-size:13px; font-weight:600; color:var(--muted); transition:.18s; }
.nvm-root .aam-advt:hover{ color:var(--text); } .nvm-root .aam-advt svg{ width:15px; height:15px; flex:0 0 auto; } .nvm-root .aam-advt .chv{ margin-left:auto; transition:transform .25s; } .nvm-root .aam-advt.open .chv{ transform:rotate(180deg); }
.nvm-root .aam-adv{ padding-top:12px; }
.nvm-root .aam-ssec{ font-family:var(--disp); font-size:9.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); margin:8px 0 9px; }
[data-theme="light"] .nvm-root .aam-ssec{ color:#8a7c10; }
.nvm-root .aam-srow{ display:grid; grid-template-columns:1fr 90px; gap:10px; margin-bottom:6px; }
.nvm-root .aam-foot{ display:flex; align-items:center; gap:11px; padding:14px 22px; border-top:1px solid var(--line); }
.nvm-root .aam-sec{ font-size:11.5px; color:var(--muted-2); display:flex; align-items:center; gap:7px; } .nvm-root .aam-sec svg{ width:14px; height:14px; color:var(--ok); }
.nvm-root .aam-go{ margin-left:auto; font-family:var(--disp); font-weight:600; font-size:13.5px; color:var(--ink); background:var(--accent); border:none; border-radius:11px; padding:12px 20px; cursor:pointer; display:inline-flex; align-items:center; gap:8px; } .nvm-root .aam-go svg{ width:15px; height:15px; }
.nvm-root .aam-go.busy{ opacity:.7; pointer-events:none; } .nvm-root .aam-go.busy svg{ animation:nvm-spin 1s linear infinite; }
.nvm-root .aam-mig{ padding:40px 30px; text-align:center; display:flex; flex-direction:column; align-items:center; }
.nvm-root .aam-mmark{ width:72px; height:72px; color:var(--accent); position:relative; margin-bottom:22px; } .nvm-root .aam-mmark svg{ width:100%; height:100%; animation:nvm-spin 3.4s linear infinite; }
.nvm-root .aam-mmark b{ position:absolute; inset:0; margin:auto; width:11px; height:11px; border-radius:50%; background:var(--accent); box-shadow:0 0 16px 3px color-mix(in srgb, var(--accent) 60%, transparent); animation:nvm-beat 1.4s ease-in-out infinite; }
.nvm-root .aam-meye{ font-family:var(--disp); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--accent); margin-bottom:12px; }
[data-theme="light"] .nvm-root .aam-meye{ color:#8a7c10; }
.nvm-root .aam-mig h2{ font-family:var(--disp); font-weight:700; font-size:22px; letter-spacing:-.02em; }
.nvm-root .aam-mig p{ color:var(--muted); font-size:13.5px; margin-top:10px; max-width:40ch; line-height:1.5; }
.nvm-root .aam-bar{ width:100%; max-width:340px; height:8px; border-radius:20px; background:rgba(255,255,255,.08); overflow:hidden; margin:26px 0 12px; position:relative; }
.nvm-root .aam-fill{ height:100%; border-radius:20px; background:linear-gradient(90deg,var(--accent-deep),var(--accent)); width:0; transition:width .5s cubic-bezier(.4,0,.2,1); }
.nvm-root .aam-step{ font-family:var(--disp); font-size:12.5px; color:var(--muted); font-variant-numeric:tabular-nums; } .nvm-root .aam-step span:first-child{ color:var(--accent); font-weight:600; }
.nvm-root .aam-note{ display:flex; align-items:center; gap:9px; font-size:12px; color:var(--muted-2); margin-top:22px; background:rgba(255,255,255,.03); border:1px solid var(--line); border-radius:11px; padding:10px 14px; text-align:left; } .nvm-root .aam-note svg{ width:15px; height:15px; color:var(--warm); flex:0 0 auto; }

/* ===== Lese-Vollbild (Reader als Overlay) + Vollbild-Button — 8.7.2026 ===== */
.nvm-root .readfull{ position:absolute; top:16px; right:16px; z-index:7; width:40px; height:40px; padding:0; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:var(--muted); background:rgba(17,48,42,.92); border:1px solid var(--line); cursor:pointer; transition:.18s; box-shadow:0 10px 26px -8px rgba(0,0,0,.6); backdrop-filter:blur(6px); }
.nvm-root .readfull svg{ width:17px; height:17px; }
.nvm-root .readfull:hover{ color:var(--accent); border-color:var(--accent); transform:scale(1.06); }
[data-theme="light"] .nvm-root .readfull{ background:rgba(255,255,255,.94); box-shadow:0 10px 26px -12px rgba(23,32,49,.35); }
.nvm-root .reader.reader--full{ position:fixed; inset:0; z-index:80; background:var(--bg); }
.nvm-root .reader.reader--full .listtoggle{ display:none; }
.nvm-root .reader.reader--full .rd-scroll{ max-width:980px; width:100%; margin:0 auto; }