﻿@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

    :root{
      /* Globale UI-Skalierung: wirkt via body{zoom} auf ALLE Views, Header und
         Modals gleichermassen — pro View skalieren ist verboten (uneinheitlich).
         JS-positionierte Elemente (Score-Popover) kompensieren den Faktor
         über getComputedStyle(body).zoom — siehe _appZoom() in signal-index.js. */
      --app-zoom: 0.9;
      --border: rgba(0,0,0,0.09);
      --shadow:0 6px 18px rgba(0,0,0,0.08);
      --ok:#2e7d32;
      --bad:#c62828;
      --warn:#f57c00;
      --chip:#e3f2fd;
      --chipBorder:#bbdefb;
      --overlay:rgba(12,18,28,0.55);
      --radius:12px;
      --focus:0 0 0 3px rgba(25,118,210,0.22);
      --soft:#f3f6fb;
      --soft2:#eef4ff;

      /* === Übersicht optimization tokens === */
      --font-ui: 'IBM Plex Sans', sans-serif;
      --font-data: 'IBM Plex Mono', 'Courier New', monospace;
      --text-xs: 11px;
      --text-sm: 13px;
      --text-base: 15px;
      --text-lg: 18px;
      --text-xl: 22px;
      --text-2xl: 28px;
      --surface-base: #f5f7fa;
      --surface-raised: #ffffff;
      --surface-overlay: #edf1f8;
      --text-primary: #1a1f2e;
      --text-secondary: #5b6478;
      --text-tertiary: #9199aa;
      --border-subtle: rgba(0,0,0,0.05);
      --border-default: rgba(0,0,0,0.09);
      --border-strong: rgba(0,0,0,0.16);
      --accent: #1976d2;
      --accent-subtle: rgba(25,118,210,0.10);
      --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
      --ease-in: cubic-bezier(0.7, 0, 0.84, 0);
      --duration-fast: 120ms;
      --duration-base: 200ms;
      --score-yellow-bg: #fef9e0;
      --score-yellow-text: #7a6200;
      --score-yellow-border: #f0d050;

      --dangerBg:#fff1f1;
      --dangerBorder:#f7caca;
      --dangerText:#8b1f1f;
      --goodBg:#f0fff4;
      --goodBorder:#bde8c7;
      --goodText:#1e6a2d;
      --warnBg:#fff7ee;
      --warnBorder:#ffd9b0;
      --warnText:#8a4b00;

      --score-ring-high: #00dfc1;
      --score-ring-medium: #f59e0b;
      --score-ring-low: #ef4444;
      --score-ring-bg: #e5e7eb;
    }

    [data-theme="dark"]{
      --border: rgba(255,255,255,0.08);
      --shadow:0 10px 30px rgba(0,0,0,0.45);
      --chip:#0f2b52;
      --chipBorder:#21446f;
      --overlay:rgba(0,0,0,0.65);
      --soft:#0c1526;
      --soft2:#0d1a31;
      --dangerBg:#2a1216;
      --dangerBorder:#5a222c;
      --dangerText:#ffb9c4;
      --goodBg:#0f2418;
      --goodBorder:#255f3a;
      --goodText:#b8ffd2;
      --warnBg:#2a1e10;
      --warnBorder:#5f4321;
      --warnText:#ffd7ad;
      --focus:0 0 0 3px rgba(42,125,225,0.28);

      /* === Übersicht tokens — dark === */
      --surface-base: #0b0f1a;
      --surface-raised: #101a2c;
      --surface-overlay: #152238;
      --text-primary: #eef3fb;
      --text-secondary: #8a97ae;
      --text-tertiary: #4e5a6e;
      --border-subtle: rgba(255,255,255,0.04);
      --border-default: rgba(255,255,255,0.08);
      --border-strong: rgba(255,255,255,0.15);
      --accent: #4b96f5;
      --accent-subtle: rgba(75,150,245,0.14);
      --score-yellow-bg: #2a2400;
      --score-yellow-text: #f0d050;
      --score-yellow-border: #5a4d00;

      --score-ring-high: #00dfc1;
      --score-ring-medium: #f59e0b;
      --score-ring-low: #ef4444;
      --score-ring-bg: #374151;
    }

    *{ box-sizing:border-box; }
    body{
      font-family: var(--font-ui);
      margin:0; background:var(--surface-base); color:var(--text-primary); line-height:1.5;
      zoom: var(--app-zoom, 1);
    }
    .container{ max-width:1600px; margin:0 auto; padding:18px 24px 28px; }

    .topbar{
      display:flex; justify-content:flex-end;
      margin:14px 0 10px;
      position:relative;
      z-index:20;
    }
    .menu-wrap{
      position:relative;
      display:flex;
      justify-content:flex-end;
    }
    .menu-toggle{
      width:42px;
      height:42px;
      border-radius:10px;
      border:1px solid var(--border);
      background:var(--surface-raised);
      color:var(--text-primary);
      font-size:1.2rem;
      font-weight:900;
      cursor:pointer;
      box-shadow:var(--shadow);
    }
    .menu-toggle:focus{ outline:none; box-shadow:var(--focus); }
    .menu-dropdown{
      position:absolute;
      top:calc(100% + 8px);
      right:0;
      min-width:230px;
      max-width:min(340px, 82vw);
      padding:10px;
      border:1px solid var(--border);
      border-radius:12px;
      background:var(--surface-raised);
      box-shadow:var(--shadow);
      display:none;
    }
    .menu-wrap.open .menu-dropdown{ display:block; }
    .nav{
      display:flex;
      flex-direction:column;
      gap:8px;
      align-items:stretch;
    }
    .navbtn{
      border:1px solid var(--border);
      background:var(--surface-raised);
      padding:9px 12px; border-radius:10px;
      font-weight:800; cursor:pointer;
      transition:transform .08s, box-shadow .15s, border-color .15s;
      color:inherit;
    }
    .navbtn:hover{ box-shadow:0 6px 14px rgba(0,0,0,.12); transform:translateY(-1px); }
    .navbtn:active{ transform:translateY(0px); }
    .navbtn.primary{
      background:var(--accent); color:#fff; border-color:var(--accent);
    }
    .navbtn:focus{ outline:none; box-shadow:var(--focus); }

    .controls{
      margin:14px 0 18px;
      display:flex; flex-wrap:wrap; gap:14px; align-items:center;
    }
    .search-box{ flex:1; min-width:240px; }
    .search-box input{
      width:100%; padding:10px 12px; border:1px solid var(--border);
      border-radius:10px; font-size:1rem; background:var(--surface-raised); color:inherit;
    }
    .search-box input:focus{ outline:none; box-shadow:var(--focus); border-color:var(--accent); }

    .filters-inline{
      display:flex; gap:10px; flex-wrap:wrap; align-items:center;
    }

    .summarybar{
      display:flex; gap:12px; flex-wrap:wrap; align-items:center;
      justify-content:space-between;
      margin:0 0 14px;
    }
    .summary-left{
      display:flex; gap:10px; flex-wrap:wrap; align-items:center;
      color:var(--text-secondary); font-weight:800;
    }
    .pill{
      border:1px solid var(--border); background:var(--surface-raised); border-radius:999px;
      padding:7px 10px; font-size:0.92rem;
    }
    .activechips{
      display:flex; gap:8px; flex-wrap:wrap; margin-top:10px;
    }
    .achip{
      padding:7px 10px; border-radius:999px;
      border:1px solid var(--border);
      background:var(--soft);
      font-weight:900; font-size:0.86rem;
      cursor:pointer; user-select:none;
    }
    .achip:hover{ filter:brightness(1.02); }

    .sortbox{
      display:flex; gap:8px; flex-wrap:wrap; align-items:center;
    }
    select{
      padding:9px 10px; border-radius:10px; border:1px solid var(--border);
      background:var(--surface-raised); font-weight:800; cursor:pointer; color:inherit;
    }
    select:focus{ outline:none; box-shadow:var(--focus); border-color:var(--accent); }

    .card-grid{
      display:grid; grid-template-columns:repeat(auto-fill, minmax(340px, 1fr));
      gap:18px;
    }
    .startup-card{
      background:var(--surface-raised); border-radius:var(--radius);
      box-shadow:var(--shadow); padding:18px 18px 16px;
      transition:transform 0.12s, box-shadow 0.12s;
      border:1px solid rgba(227,230,234,.65);
      display:flex; flex-direction:column; gap:12px;
      cursor:pointer;
      color:inherit;
    }
    [data-theme="dark"] .startup-card{ border-color:rgba(30,42,64,.95); }
    .startup-card:hover{
      transform:translateY(-3px); box-shadow:0 14px 34px rgba(0,0,0,0.22);
    }
    .card-head{
      display:flex; align-items:flex-start; justify-content:space-between; gap:10px;
    }
    .startup-card h3{
      margin:0; font-size:1.18rem; color:var(--accent);
      letter-spacing:0.2px;
    }
    .tagrow{ display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; }
    .card-desc{
      margin:8px 0 0; font-size:0.88rem; color:var(--text-secondary); line-height:1.4; font-weight:400;
      display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
      overflow:hidden; text-overflow:ellipsis;
    }
    .tag{
      font-size:0.82rem; font-weight:900;
      padding:6px 10px; border-radius:999px;
      border:1px solid var(--border); background:var(--soft2); color:inherit;
      white-space:nowrap;
    }
    .tag.kpi-good{ background:var(--goodBg); border-color:var(--goodBorder); color:var(--goodText); }
    .tag.kpi-warn{ background:var(--warnBg); border-color:var(--warnBorder); color:var(--warnText); }
    .tag.kpi-bad{ background:var(--dangerBg); border-color:var(--dangerBorder); color:var(--dangerText); }

    .badge{
      font-size:0.78rem; font-weight:950;
      padding:6px 10px; border-radius:999px;
      border:1px solid var(--border); background:var(--surface-raised); color:inherit;
      user-select:none;
      white-space:nowrap;
    }
    .badge.hot{ border-color:var(--warnBorder); background:var(--warnBg); color:var(--warnText); }
    .badge.watch{ border-color:var(--dangerBorder); background:var(--dangerBg); color:var(--dangerText); }
    .badge.good{ border-color:var(--goodBorder); background:var(--goodBg); color:var(--goodText); }

    /* 6 KPI tiles (teaser) */
    .metrics{
      display:grid; grid-template-columns:1fr 1fr; gap:12px;
      margin-top:2px;
    }
    .metric{
      border:1px solid var(--border); background:var(--surface-raised);
      border-radius:12px; padding:10px 12px;
    }
    .metric strong{ display:block; font-size:1.08rem; color:var(--accent); }
    .metric small{ color:var(--text-secondary); font-weight:800; }
    .trend-up{ color:var(--ok); font-weight:950; }
    .trend-down{ color:var(--bad); font-weight:950; }
    .mono{ font-variant-numeric: tabular-nums; }

    .card-actions{
      display:flex; gap:10px; flex-wrap:wrap; align-items:center;
      margin-top:4px;
    }
    .btn{
      background:var(--accent); color:#fff; border:none; padding:10px 14px;
      border-radius:10px; cursor:pointer; font-weight:950; font-size:0.95rem;
      transition:background .12s, transform .08s;
    }
    .btn:hover{ filter:brightness(0.97); }
    .btn:active{ transform:translateY(1px); }
    .btn.secondary{
      background:var(--surface-raised); color:inherit; border:1px solid var(--border);
      font-weight:950;
    }
    .btn.secondary:hover{ background:var(--soft); }
    .btn:focus{ outline:none; box-shadow:var(--focus); }

    .empty{
      padding:18px; border-radius:14px;
      border:1px dashed rgba(207,215,227,.9); background:var(--surface-raised);
      color:inherit; font-weight:900;
      text-align:center;
    }
    .hint{
      font-weight:800; color:var(--text-secondary); margin-top:6px; font-size:0.95rem;
    }

    /* MODAL (Details) */
    .modal-backdrop{
      position:fixed; inset:0; background:var(--overlay);
      display:none; align-items:center; justify-content:center;
      padding:18px;
      z-index:50;
    }
    .modal{
      width:min(980px, 96vw);
      background:var(--surface-raised); border-radius:16px;
      box-shadow:0 20px 70px rgba(0,0,0,0.35);
      overflow:hidden;
      border:1px solid rgba(255,255,255,0.12);
      color:inherit;
      /* vh-Anteile werden von body{zoom} mitskaliert — /var(--app-zoom) = Anteil vom echten Viewport */
      max-height: calc(90vh / var(--app-zoom, 1));
      overflow: auto;
      resize: both;
      min-width: 320px;
      min-height: 280px;
    }
    .modal-header{
      display:flex; align-items:flex-start; justify-content:space-between; gap:14px;
      padding:16px 16px 10px;
      border-bottom:1px solid var(--border);
      background:linear-gradient(180deg, var(--soft2), var(--surface-raised));
      position: sticky;
      top: 0;
      z-index: 2;
    }
    .modal-title{
      display:flex; flex-direction:column; gap:4px;
    }
    .modal-title h2{
      margin:0; font-size:1.22rem; color:inherit;
    }
    .modal-title p{
      margin:0; color:var(--text-secondary); font-weight:800;
      font-size:0.95rem;
    }
    .close{
      border:none; background:var(--surface-raised); cursor:pointer;
      border-radius:10px; padding:8px 10px; font-weight:950;
      border:1px solid var(--border);
      color:inherit;
    }
    .close:hover{ background:var(--soft); }
    .close:focus{ outline:none; box-shadow:var(--focus); }

    .modal-body{
      padding:14px 16px 16px;
      display:grid; grid-template-columns: 1.1fr 0.9fr;
      gap:14px;
      min-height: 1px;
    }
    .panel{
      border:1px solid var(--border); border-radius:14px; padding:12px;
      background:var(--surface-raised);
    }
    .panel h3{ margin:0 0 10px; font-size:1.02rem; color:inherit; }
    .kpi-grid{
      display:grid; grid-template-columns:1fr 1fr; gap:10px;
    }
    .kpi{
      border:1px solid var(--border); border-radius:12px; padding:10px 10px;
      background:var(--soft2);
    }
    .kpi .label{ color:var(--text-secondary); font-weight:900; font-size:0.85rem; }
    .kpi .value{ font-weight:950; font-size:1.08rem; color:inherit; margin-top:3px; }
    .kpi .sub{ color:var(--text-secondary); font-weight:800; font-size:0.85rem; margin-top:2px; }

    .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
    label{
      display:block; font-weight:950; font-size:0.86rem; color:inherit; margin:10px 0 6px;
    }
    input[type="text"], input[type="email"], input[type="number"], textarea{
      width:100%; padding:10px 10px; border-radius:10px;
      border:1px solid var(--border); font-size:1rem;
      background:var(--surface-raised); color:inherit;
    }
    textarea{ min-height:90px; resize:vertical; }
    input:focus, textarea:focus{ outline:none; box-shadow:var(--focus); border-color:var(--accent); }
    .helper{
      margin:8px 0 0; color:var(--text-secondary); font-weight:800; font-size:0.9rem;
    }

    .modal-footer{
      padding:12px 16px 16px;
      border-top:1px solid var(--border);
      display:flex; justify-content:space-between; align-items:center; gap:10px;
      background:var(--surface-raised);
      flex-wrap:wrap;
      position: sticky;
      bottom: 0;
      z-index: 2;
    }
    .toast{
      position:fixed; right:16px; bottom:16px; z-index:60;
      display:none;
      align-items:center; gap:12px;
      background:#111827; color:#fff;
      padding:12px 14px; border-radius:12px;
      box-shadow:0 14px 40px rgba(0,0,0,0.25);
      max-width:min(420px, calc(100vw - 32px));
      font-weight:900;
    }
    .toast small{ display:block; opacity:0.9; margin-top:2px; font-weight:800; }
    .toast-close{
      flex-shrink:0; margin-left:auto;
      background:none; border:none; color:inherit;
      font-size:1.2rem; line-height:1; padding:0 2px;
      cursor:pointer; opacity:0.7;
    }
    .toast-close:hover{ opacity:1; }
    .kbd{
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
      font-size:0.9em; padding:2px 6px; border-radius:7px;
      border:1px solid rgba(255,255,255,0.25);
      background:rgba(255,255,255,0.06);
      margin-left:6px;
      white-space:nowrap;
    }

    /* FILTER MODAL */
    .filter-backdrop{ position:fixed; inset:0; background:var(--overlay); display:none; align-items:center; justify-content:center; padding:18px; z-index:55; }
    .filter-modal{
      width:min(980px, 96vw);
      background:var(--surface-raised);
      border-radius:16px;
      box-shadow:0 20px 70px rgba(0,0,0,0.35);
      border:1px solid rgba(255,255,255,0.12);
      overflow:hidden;
      max-height: calc(92vh / var(--app-zoom, 1));
      display:flex;
      flex-direction:column;
      resize: both;
      min-width: 320px;
      min-height: 320px;
    }
    .filter-header{
      padding:14px 16px 12px;
      border-bottom:1px solid var(--border);
      background:linear-gradient(180deg, var(--soft2), var(--surface-raised));
      display:flex; justify-content:space-between; align-items:flex-start; gap:12px;
      position: sticky; top: 0; z-index: 2;
    }
    .filter-header h2{ margin:0; font-size:1.1rem; }
    .filter-header p{ margin:6px 0 0; color:var(--text-secondary); font-weight:800; font-size:0.92rem; }
    .filter-body{
      padding:12px 16px 14px;
      overflow:auto;
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:12px;
    }
    .filter-section{
      border:1px solid var(--border);
      border-radius:14px;
      padding:12px;
      background:var(--surface-raised);
    }
    .filter-section h3{
      margin:0 0 10px;
      font-size:0.98rem;
    }

    .range-row{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:10px;
    }
    .tiny{
      font-size:0.86rem;
      color:var(--text-secondary);
      font-weight:800;
      margin-top:6px;
      line-height:1.35;
    }
    .qs-row{
      display:grid;
      grid-template-columns: 1fr;
      gap:10px;
    }
    .toggle-row{
      margin-top:8px;
      display:flex;
      align-items:center;
      gap:10px;
      padding:10px 10px;
      border:1px dashed rgba(180,195,220,.7);
      border-radius:12px;
      background:var(--soft2);
      font-weight:900;
    }
    .filter-footer{
      padding:12px 16px 14px;
      border-top:1px solid var(--border);
      display:flex;
      justify-content:space-between;
      gap:10px;
      flex-wrap:wrap;
      position: sticky; bottom: 0; z-index: 2;
      background:var(--surface-raised);
    }
    .muted-note{ color:var(--text-secondary); font-weight:800; }

    /* Dropdown Multi */
    .dd{ position:relative; width:100%; }
    .dd-btn{
      width:100%;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      padding:10px 12px;
      border-radius:12px;
      border:1px solid var(--border);
      background:var(--soft2);
      font-weight:950;
      cursor:pointer;
      color:inherit;
      user-select:none;
    }
    .dd-btn:focus{ outline:none; box-shadow:var(--focus); border-color:var(--accent); }
    .dd-btn .left{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
    .dd-pill{
      padding:4px 8px;
      border-radius:999px;
      border:1px solid var(--border);
      background:var(--surface-raised);
      font-weight:950;
      font-size:0.82rem;
      color:inherit;
      white-space:nowrap;
    }
    .dd-panel{
      position:absolute;
      top:calc(100% + 8px);
      left:0;
      right:0;
      background:var(--surface-raised);
      border:1px solid var(--border);
      border-radius:14px;
      box-shadow:0 18px 50px rgba(0,0,0,0.18);
      padding:10px;
      z-index:10;
      display:none;
      max-height: 260px;
      overflow:auto;
    }
    .dd.open .dd-panel{ display:block; }
    .dd-search{
      width:100%;
      padding:9px 10px;
      border-radius:10px;
      border:1px solid var(--border);
      background:var(--surface-raised);
      color:inherit;
      font-weight:800;
      margin-bottom:10px;
    }
    .dd-search:focus{ outline:none; box-shadow:var(--focus); border-color:var(--accent); }
    .dd-list{ display:flex; flex-direction:column; gap:8px; }
    .dd-item{
      display:flex;
      align-items:center;
      gap:10px;
      padding:8px 10px;
      border-radius:12px;
      border:1px solid var(--border);
      background:var(--soft);
      cursor:pointer;
      user-select:none;
      font-weight:900;
    }
    .dd-item:hover{ filter:brightness(1.02); }
    .dd-item input{ accent-color: var(--accent); }
    .dd-actions{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin-top:10px;
      border-top:1px solid var(--border);
      padding-top:10px;
      justify-content:space-between;
      align-items:center;
    }
    .dd-actions .mini{
      padding:8px 10px;
      border-radius:10px;
      border:1px solid var(--border);
      background:var(--surface-raised);
      font-weight:950;
      cursor:pointer;
      color:inherit;
    }
    .dd-actions .mini:hover{ background:var(--soft); }

    /* ✅ Privacy Bar + Fullscreen Privacy Overlay */
    .privacy-bar{
      position:fixed;
      left:0; right:0; bottom:0;
      z-index:45;
      background:rgba(255,255,255,0.92);
      border-top:1px solid var(--border);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }
    [data-theme="dark"] .privacy-bar{
      background:rgba(15,26,45,0.92);
    }
    .privacy-bar-inner{
      max-width:1600px;
      margin:0 auto;
      padding:10px 24px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
    }
    .privacy-left{
      display:flex;
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
      font-weight:950;
    }
    .privacy-link{
      border:1px solid var(--border);
      background:var(--surface-raised);
      color:inherit;
      padding:9px 12px;
      border-radius:10px;
      font-weight:950;
      cursor:pointer;
    }
    .privacy-link:hover{ background:var(--soft); }
    .privacy-link:focus{ outline:none; box-shadow:var(--focus); }

    .privacy-backdrop{
      position:fixed;
      inset:0;
      background:var(--overlay);
      display:none;
      z-index:80;
      padding:0;
    }
    .privacy-sheet{
      position:fixed;
      inset:0;
      background:var(--surface-base);
      color:var(--text-primary);
      display:flex;
      flex-direction:column;
    }
    .privacy-header{
      background:linear-gradient(180deg, var(--soft2), var(--surface-base));
      border-bottom:1px solid var(--border);
      padding:14px 16px 12px;
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
    }
    .privacy-header h2{
      margin:0;
      font-size:1.18rem;
      line-height:1.2;
    }
    .privacy-header p{
      margin:6px 0 0;
      color:var(--text-secondary);
      font-weight:800;
      font-size:0.92rem;
    }
    .privacy-body{
      overflow:auto;
      padding:18px 16px 22px;
    }
    .privacy-content{
      max-width:980px;
      margin:0 auto;
      background:var(--surface-raised);
      border:1px solid var(--border);
      border-radius:16px;
      box-shadow:var(--shadow);
      padding:18px 18px;
    }
    .privacy-content h1,
    .privacy-content h2,
    .privacy-content h3,
    .privacy-content h4{
      margin:16px 0 10px;
      line-height:1.2;
    }
    .privacy-content h1{ margin-top:0; font-size:1.55rem; color:inherit; }
    .privacy-content h2{ font-size:1.22rem; }
    .privacy-content h3{ font-size:1.05rem; color:inherit; }
    .privacy-content h4{ font-size:0.98rem; color:inherit; }
    .privacy-content p{ margin:10px 0; color:inherit; }
    .privacy-content ul{ margin:10px 0 10px 20px; }
    .privacy-content a{ color:var(--accent); font-weight:900; word-break:break-word; }
    .privacy-content a:focus{ outline:none; box-shadow:var(--focus); border-radius:6px; }

/* =========================
   VC WORKSPACE (additive)
========================= */
.view{ margin-top:14px; }
.panelhead{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin:8px 0 12px;
}
.panelhead h2{ margin:0; font-size:1.15rem; letter-spacing:0.2px; }
.note{
  padding:10px 12px; border:1px solid var(--border); background:var(--soft2);
  border-radius:12px; font-weight:700; color:var(--text-secondary);
}
.tablewrap{
  border:1px solid var(--border); border-radius:14px; overflow-x:auto; overflow-y:hidden; background:var(--surface-raised);
  box-shadow:var(--shadow);
}
table{
  width:100%; border-collapse:separate; border-spacing:0;
  font-size:0.95rem;
}
thead th{
  text-align:left; padding:10px 12px; background:var(--soft);
  border-bottom:1px solid var(--border); font-weight:900;
  position:sticky; top:0;
}
tbody td{
  padding:10px 12px; border-bottom:1px solid var(--border);
  vertical-align:middle;
}
tbody tr:hover{ background:rgba(25,118,210,0.06); }
.cell-actions{ display:flex; gap:8px; flex-wrap:nowrap; align-items:center; }
.small{ padding:7px 10px; border-radius:10px; font-weight:900; font-size:0.86rem; }
.select{
  width:100%; max-width:220px;
  padding:8px 10px; border:1px solid var(--border); border-radius:10px;
  background:var(--surface-raised); color:inherit; font-weight:800;
}
.select:focus{ outline:none; box-shadow:var(--focus); border-color:var(--accent); }

    @media (max-width: 920px){
      .modal-body{ grid-template-columns:1fr; }
      .filter-body{ grid-template-columns:1fr; }
      body{ padding-bottom:72px; }
    }
    @media (max-width: 680px){
      header h1{ font-size:1.65rem; }
      .controls{ flex-direction:column; align-items:stretch; }
      .card-grid{ grid-template-columns:1fr; }
      .metrics{ grid-template-columns:1fr; }
      .form-row{ grid-template-columns:1fr; }
      .topbar{ justify-content:flex-end; }
      .menu-dropdown{ max-width:min(320px, 92vw); }
      .privacy-bar-inner{ flex-direction:column; align-items:stretch; }
      .privacy-link{ width:100%; }
    }
  
    /* =========================
       ADD-ONLY: Signal Index Explainability (v2)
    ========================= */
    .infoicon{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:18px; height:18px;
      margin-left:6px;
      border:1px solid var(--border);
      border-radius:999px;
      background:var(--surface-raised);
      color:var(--text-secondary);
      font-size:12px;
      line-height:1;
      cursor:pointer;
      vertical-align:middle;
      padding:0;
    }
    .infoicon:focus{ outline:none; box-shadow:var(--focus); }
    .popover{
      position:fixed;
      max-height:calc(70vh / var(--app-zoom, 1));
      overflow:auto;
      z-index:9999;
      max-width:min(420px, calc(100vw - 24px));
      background:var(--surface-raised);
      color:var(--text-primary);
      border:1px solid var(--border);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      padding:12px 12px 10px 12px;
      display:none;
    }
    .popover h4{ margin:0 0 6px 0; font-size:0.98rem; }
    .popover .muted{ color:var(--text-secondary); font-size:0.92rem; }
    .popover .mini{ font-size:0.9rem; color:var(--text-secondary); }
    .popover ul{ margin:8px 0 8px 18px; padding:0; }
    .popover table{ width:100%; border-collapse:collapse; margin-top:8px; }
    .popover th,.popover td{ border-top:1px solid var(--border); padding:6px 4px; font-size:0.92rem; text-align:left; vertical-align:top; }
    .popover th{ color:var(--text-secondary); font-weight:700; }
    .popover pre{
      background:var(--soft);
      border:1px solid var(--border);
      padding:8px;
      border-radius:10px;
      overflow:auto;
      max-height:220px;
      margin:8px 0 0 0;
      font-size:0.86rem;
      white-space:pre-wrap;
      word-break:break-word;
    }

    /* Compare as vertical wide cards */
    .comparelist{ display:flex; flex-direction:column; gap:12px; }
    .comparelist .startup-card{ width:100%; }


    body.no-scroll{ overflow:hidden !important; }
    .popover{ overscroll-behavior:contain; }

    
    /* Compare KPI matrix bars */
    .cmpCell{ display:flex; align-items:center; gap:10px; min-width:220px; }
    .cmpBar{
      flex:1;
      height:10px;
      border-radius:999px;
      border:1px solid var(--border);
      background:var(--soft2);
      overflow:hidden;
    }
    .cmpFill{
      height:100%;
      background:var(--accent);
      border-radius:999px;
      width:0%;
    }
    .cmpVal{ font-weight:600; white-space:nowrap; }
    .cmpCell.top .cmpBar{ border-color: var(--goodBorder); }

/* Compare table */
    .compareTableWrap{ overflow:auto; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface-raised); }
    .compareTable{ width:100%; border-collapse:separate; border-spacing:0; min-width:860px; }
    .compareTable th, .compareTable td{ padding:12px 12px; border-bottom:1px solid rgba(227,230,234,.65); vertical-align:middle; }
    .compareTable th{ position:sticky; top:0; background:var(--surface-raised); z-index:2; text-align:left; font-weight:950; }
    .compareTable td .mono{ font-weight:950; }
    .compareTop{ margin-left:8px; font-weight:950; }
    .compareRowCard{
      background:var(--surface-raised);
    }

  
    /* =========================
       V5 scope additions (no redesign)
    ========================= */
    /* Ensure no visible Offline Demo badge (if present) */
    .demo-badge{ display:none !important; }

    /* Cards: see CARD DESIGN v4 block for padding/gap */
    .startup-card .tagrow{ margin-top:6px !important; }
    .metrics{ gap:10px !important; }
    .metric{ padding:9px 11px !important; }

    /* Pipeline: top-right layout (two rows, right aligned, not boxed) */
    .pipeTopRight{
      display:flex;
      flex-direction:column;
      align-items:flex-end;
      gap:8px;
      margin-left:auto;
    }
    .pipeTopRow1{ display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
    .pipeTopRow2{
      font-weight:950;
      color:var(--text-secondary);
      font-size:0.92rem;
      line-height:1;
      padding-right:2px;
      user-select:none;
    }

    /* Pipeline: status dropdown colors (dropdown only) */
    .statusSel{ font-weight:900; }
    .status-blue{ border-color:rgba(25,118,210,.35) !important; background:var(--soft2) !important; }
    .status-green{ border-color:var(--goodBorder) !important; background:var(--goodBg) !important; color:var(--goodText) !important; }
    .status-red{ border-color:var(--dangerBorder) !important; background:var(--dangerBg) !important; color:var(--dangerText) !important; }

    /* Hide any legacy duplicate status badges (keep dropdown only) */
    .pipeStatusBadge{ display:none !important; }

    
.custom-table .winput:focus{ outline:none; box-shadow:var(--focus); border-color:var(--accent); }

/* Custom Index V6 (Rules) */
.custom-backdrop{
  position:fixed; inset:0;
  display:none;
  background:rgba(0,0,0,0.55);
  backdrop-filter: blur(4px);
  z-index: 80;
  align-items:center;
  justify-content:center;
  padding: 14px;
}
.custom-sheet{
  width:min(980px, 96vw);
  background:var(--surface-raised);
  border-radius:16px;
  box-shadow:0 20px 70px rgba(0,0,0,0.35);
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.12);
  color:inherit;
  max-height: calc(85vh / var(--app-zoom, 1));
  display:flex;
  flex-direction:column;
}
.custom-head{
  display:flex; align-items:flex-start; justify-content:space-between; gap:12px;
  padding:16px 16px 10px;
  border-bottom:1px solid var(--border);
  background:linear-gradient(180deg, var(--soft2), var(--surface-raised));
  position: sticky;
  top: 0;
  z-index: 2;
}
.custom-head h3{
  margin:0; font-size:1.12rem; color:inherit;
}
.custom-head .sub{
  margin-top:4px; color:var(--text-secondary); font-weight:850; font-size:0.92rem;
}
.custom-body{
  padding:12px 16px 16px;
  overflow:auto;
  -webkit-overflow-scrolling: touch;
}
.custom-tabs{
  display:flex; gap:8px; flex-wrap:wrap;
  margin-top:10px;
}
.custom-tabs .tabbtn{
  border:1px solid var(--border);
  background:var(--soft2);
  color:inherit;
  font-weight:900;
  border-radius:10px;
  padding:8px 10px;
  cursor:pointer;
}
.custom-tabs .tabbtn.active{
  background:var(--soft);
}
.custom-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
  margin-top:12px;
}
@media (max-width: 860px){
  .custom-grid{ grid-template-columns: 1fr; }
}
.custom-panel{
  border:1px solid var(--border);
  border-radius:14px;
  padding:12px;
  background:var(--surface-raised);
}
.custom-panel h4{ margin:0 0 10px; font-size:1.02rem; }
.custom-row{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:8px 0;
  border-bottom:1px dashed rgba(255,255,255,0.10);
}
.custom-row:last-child{ border-bottom:none; }
.custom-row label{ color:var(--text-secondary); font-weight:900; font-size:0.9rem; }
.custom-row .right{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.custom-row input, .custom-row select{
  padding:8px 10px; border-radius:10px;
  border:1px solid var(--border);
  background:var(--soft2);
  color:inherit;
  font-weight:900;
}
.custom-row input[type="number"]{ width: 120px; }
.custom-row input[type="text"]{ width: 220px; }
.custom-mini{
  color:var(--text-secondary); font-weight:850; font-size:0.86rem;
}
.rules-group{
  border:1px solid var(--border);
  border-radius:14px;
  padding:10px;
  background:var(--soft2);
  margin-top:10px;
}
.rules-group-head{
  display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
}
.rules-group-head .title{
  display:flex; gap:10px; align-items:center; flex-wrap:wrap;
}
.rules-group-head input[type="text"]{ width: 220px; }
.rules-list{
  margin-top:10px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.rule-row{
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px;
  background:var(--surface-raised);
}
.rule-row-top{
  display:grid;
  grid-template-columns: 22px 1.2fr 1fr 1fr 0.7fr 0.8fr auto;
  gap:8px;
  align-items:center;
}
@media (max-width: 860px){
  .rule-row-top{ grid-template-columns: 22px 1fr 1fr; }
  .rule-row-top .hide-sm{ display:none; }
}
.rule-row-top .btn.secondary.small{ padding:2px 8px; }
.rule-row .note{
  margin-top:8px;
  color:var(--text-secondary);
  font-weight:850;
  font-size:0.86rem;
}
.rule-actions{
  display:flex; gap:6px; justify-content:flex-end; flex-wrap:wrap;
}
.custom-scorebox{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  padding:10px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--soft2);
}
.custom-scorebox .mono{ font-weight:950; }
.custom-pill{
  display:inline-flex; align-items:center; gap:6px;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid var(--border);
  background:var(--surface-raised);
  font-weight:950;
}
.custom-i-btn{
  padding:2px 8px !important;
}
.compareTop{ color:var(--goodText) !important; }

/* =========================
   PIPELINE: Synced label
========================= */
.synced-label{
  font-weight:950;
  color:var(--ok);
  display:inline-flex;
  align-items:center;
  gap:4px;
}

/* =========================
   SUBMISSIONS: Plausibility badges
========================= */
.plaus-passed{
  background:var(--goodBg);
  color:var(--goodText);
  border-color:var(--goodBorder) !important;
}
.plaus-flagged{
  background:var(--warnBg);
  color:var(--warnText);
  border-color:var(--warnBorder) !important;
}
.plaus-failed{
  background:var(--dangerBg);
  color:var(--dangerText);
  border-color:var(--dangerBorder) !important;
}

/* =========================
   PLAUSIBILITY: Breakdown popover list
========================= */
.plaus-check{
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:8px 0;
  border-bottom:1px solid var(--border);
  font-size:0.88rem;
}
.plaus-check:last-child{ border-bottom:none; }
.plaus-icon{
  font-size:1rem;
  min-width:20px;
  text-align:center;
  line-height:1.4;
}
.plaus-icon-pass{ color:var(--goodText); }
.plaus-icon-fail-soft{ color:var(--warnText); }
.plaus-icon-fail-hard{ color:var(--dangerText); }
.plaus-check-body{ flex:1; }
.plaus-check-label{ font-weight:900; }
.plaus-check-message{
  color:var(--text-secondary);
  margin-top:2px;
}
.plaus-check-kategorie{
  font-size:0.75rem;
  color:var(--text-secondary);
  background:var(--soft);
  padding:1px 6px;
  border-radius:4px;
  margin-left:6px;
  font-weight:700;
}
.plaus-summary{
  font-size:0.82rem;
  color:var(--text-secondary);
  margin-top:4px;
  font-weight:700;
}

/* =========================
   PIPELINE: CRM push button
========================= */
.crm-push-btn{
  background:var(--ok) !important;
  color:#fff !important;
  font-weight:950;
  border-color:var(--ok) !important;
}
.crm-push-btn:hover{ opacity:0.88; }
.crm-push-btn:disabled{
  opacity:0.5;
  cursor:not-allowed;
}

/* Owner input in pipeline table */
.owner-input{
  font-size:0.92rem;
  font-weight:900;
  max-width:110px;
}

/* =========================
   SCORE BADGE (Custom Index → Score auf Karten)
========================= */
.score-row{
  display:flex; align-items:center; gap:8px; margin-top:8px;
}
.score-badge{
  display:inline-flex; align-items:baseline; gap:3px;
  padding:4px 10px; border-radius:8px; font-weight:950;
}
.score-value{ font-size:1.1rem; font-variant-numeric:tabular-nums; }
.score-label{ font-size:0.75rem; opacity:0.7; font-weight:700; }

.score-red{
  background:var(--dangerBg); color:var(--dangerText); border:1px solid var(--dangerBorder);
}
.score-orange{
  background:var(--warnBg); color:var(--warnText); border:1px solid var(--warnBorder);
}
.score-yellow{
  background:var(--score-yellow-bg); color:var(--score-yellow-text); border:1px solid var(--score-yellow-border);
}
.score-green{
  background:var(--goodBg); color:var(--goodText); border:1px solid var(--goodBorder);
}
/* [data-theme="dark"] .score-yellow overridden via CSS custom properties above */

.score-preset-name{
  font-size:0.78rem; color:var(--text-secondary); font-weight:700; opacity:0.8;
}

/* Info icon button on score badge */
.infoicon{
  background:none; border:1px solid var(--border); border-radius:999px;
  padding:2px 7px; cursor:pointer; font-size:0.88rem;
  color:var(--text-secondary); font-weight:950;
  transition:border-color .12s, color .12s;
}
.infoicon:hover{ border-color:var(--accent); color:var(--accent); }

.popover-drag-handle{ cursor:grab; user-select:none; }
.popover-drag-handle:active{ cursor:grabbing; }

/* =========================
   SCORE BREAKDOWN (Popover items)
========================= */
.breakdown-item{
  display:flex; justify-content:space-between; align-items:center;
  padding:6px 0; border-bottom:1px solid var(--border); font-size:0.9rem;
}
.breakdown-item:last-child{ border-bottom:none; }
.breakdown-rule{ flex:1; }
.breakdown-points{
  font-weight:950; font-variant-numeric:tabular-nums;
  min-width:60px; text-align:right;
}
.breakdown-positive{ color:var(--ok); }
.breakdown-negative{ color:var(--bad); }
.breakdown-zero{ color:var(--text-secondary); }

/* =========================
   DASHBOARD STYLES
========================= */
.dash-shell{ padding:4px 0 8px; }
.dash-head{ margin-bottom:8px; }
.dash-title{
  margin:0 0 4px;
  font-size:1.42rem;
  font-weight:950;
  letter-spacing:0.1px;
}
.dash-subtitle{
  font-size:0.9rem;
  color:var(--text-secondary);
  font-weight:800;
}
.dash-grid { display:grid; gap:16px; margin-top:16px; }
.dash-section{ margin-top:18px; }
.dash-grid-2 { grid-template-columns: 1fr 1fr; }
.dash-grid-4 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
@media (max-width:768px) {
  .dash-grid-2 { grid-template-columns: 1fr; }
  .dash-grid-4 { grid-template-columns: 1fr 1fr; }
}

.dash-kpi {
  background:var(--surface-raised); border:1px solid var(--border);
  border-radius:var(--radius); padding:20px;
}
.dash-kpi-priority-1{
  border-color:color-mix(in srgb, var(--accent) 40%, var(--border));
  box-shadow:0 6px 16px rgba(25,118,210,0.10);
}
[data-theme="dark"] .dash-kpi-priority-1{
  box-shadow:0 6px 16px rgba(42,125,225,0.25);
}
.dash-kpi-value {
  font-size:2rem; font-weight:950;
  font-variant-numeric:tabular-nums; line-height:1.2;
}
.dash-kpi-label {
  font-size:0.88rem; font-weight:800; color:var(--text-secondary); margin-top:4px;
}
.dash-kpi-sub {
  font-size:0.78rem; color:var(--text-secondary); opacity:0.8; margin-top:2px;
}

.dash-panel {
  background:var(--surface-raised); border:1px solid var(--border);
  border-radius:var(--radius); padding:20px;
}
.dash-panel-title {
  font-size:1rem; font-weight:950; margin:0 0 12px 0;
}
.dash-panel-sub {
  font-size:0.82rem; color:var(--text-secondary); margin-bottom:12px;
  line-height:1.35;
}

.funnel-row {
  display:flex; align-items:center; gap:12px; margin-bottom:10px;
}
.funnel-label {
  min-width:150px; font-size:0.88rem; font-weight:700;
}
.funnel-bar-wrap {
  flex:1; height:28px; background:var(--soft); border-radius:6px;
  overflow:hidden; position:relative;
}
.funnel-bar {
  height:100%; border-radius:6px; transition:width 0.4s ease; min-width:2px;
}
.funnel-value {
  min-width:40px; text-align:right;
  font-weight:950; font-size:0.92rem; font-variant-numeric:tabular-nums;
}

.pipe-seg-bar {
  display:flex; height:32px; border-radius:8px; overflow:hidden; margin-bottom:8px;
}
.pipe-seg { transition:width 0.4s ease; min-width:2px; }
.pipe-legend {
  display:flex; flex-wrap:wrap; gap:12px; margin-top:8px;
}
.pipe-legend-item {
  display:flex; align-items:center; gap:6px;
  font-size:0.85rem; font-weight:700;
}
.pipe-legend-dot {
  width:10px; height:10px; border-radius:50%; flex-shrink:0;
}

.histogram {
  display:flex; align-items:flex-end; gap:8px; height:120px;
}
.histo-col {
  flex:1; display:flex; flex-direction:column; align-items:center; gap:4px;
}
.histo-bar {
  width:100%; border-radius:4px 4px 0 0;
  transition:height 0.4s ease; min-height:2px;
}
.histo-count {
  font-size:0.8rem; font-weight:950; font-variant-numeric:tabular-nums;
}
.histo-label {
  font-size:0.72rem; color:var(--text-secondary); font-weight:700; text-align:center;
}

.hbar-row {
  display:flex; align-items:center; gap:10px; margin-bottom:8px;
}
.hbar-label {
  min-width:110px; font-size:0.85rem; font-weight:700;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.hbar-track {
  flex:1; height:22px; background:var(--soft); border-radius:5px; overflow:hidden;
}
.hbar-fill {
  height:100%; border-radius:5px; background:var(--accent);
  transition:width 0.4s ease; min-width:2px;
}
.hbar-value {
  min-width:30px; text-align:right;
  font-weight:950; font-size:0.85rem; font-variant-numeric:tabular-nums;
}

.activity-mini {
  list-style:none; margin:0; padding:0;
}
.activity-mini li {
  display:flex; align-items:center; gap:10px;
  padding:8px 0; border-bottom:1px solid var(--border); font-size:0.85rem;
}
.activity-mini li:last-child { border-bottom:none; }
.activity-mini-time {
  min-width:80px; font-size:0.78rem; color:var(--text-secondary);
  font-weight:700; font-variant-numeric:tabular-nums;
}
.activity-mini-event { font-weight:800; }
.activity-mini-label { color:var(--text-secondary); }

.dash-pulse { animation:dashpulse 2s infinite; }
@keyframes dashpulse {
  0%,100% { opacity:1; }
  50% { opacity:0.6; }
}

/* =========================
   NOTES
========================= */
#notesPanel {}
#notesList { max-height:240px; overflow-y:auto; margin-bottom:12px; }

.notes-input-row { display:flex; gap:8px; align-items:flex-start; }
.notes-input-row textarea { flex:1; padding:10px; border-radius:var(--radius); border:1px solid var(--border); background:var(--soft); color:inherit; font-size:0.92rem; resize:vertical; min-height:44px; font-family:inherit; }
.notes-input-row textarea:focus { outline:none; box-shadow:var(--focus); border-color:var(--accent); }

.notes-badge { display:inline-flex; align-items:center; justify-content:center; min-width:24px; height:24px; border-radius:6px; font-size:0.8rem; font-weight:900; background:var(--chip); border:1px solid var(--chipBorder); cursor:pointer; }
.notes-badge.empty { opacity:0.4; cursor:default; }
.notes-badge:hover:not(.empty) { background:var(--accent); color:#fff; }

.notes-count { font-size:0.85rem; font-weight:700; color:var(--text-secondary); margin-left:6px; }

.card-notes-indicator { font-size:0.78rem; color:var(--text-secondary); font-weight:700; display:inline-flex; align-items:center; gap:3px; }

/* =========================
   DECLINE DIALOG
========================= */
.decline-dialog { position:fixed; inset:0; background:var(--overlay); display:flex; align-items:center; justify-content:center; z-index:9999; }
.decline-dialog-inner { background:var(--surface-raised); border:1px solid var(--border); border-radius:var(--radius); padding:24px; max-width:420px; width:90%; box-shadow:var(--shadow); }
.decline-dialog-inner h4 { margin:0 0 8px 0; font-size:1.05rem; }
.decline-dialog-inner label { display:block; margin-top:12px; font-weight:800; font-size:0.88rem; }
.decline-dialog-inner select, .decline-dialog-inner textarea { width:100%; margin-top:4px; padding:10px; border-radius:8px; border:1px solid var(--border); background:var(--soft); color:inherit; font-size:0.92rem; font-family:inherit; }
.decline-dialog-inner select:focus, .decline-dialog-inner textarea:focus { outline:none; box-shadow:var(--focus); border-color:var(--accent); }
.decline-dialog-actions { display:flex; gap:8px; margin-top:16px; }
.decline-dialog-deal { font-weight:900; margin:0 0 8px 0; color:var(--text-secondary); font-size:0.92rem; }
.decline-reason-text { font-size:0.78rem; color:var(--text-secondary); margin-top:3px; font-weight:700; }
.shake { animation:shake 0.3s ease; }
@keyframes shake { 0%,100%{transform:translateX(0);} 25%{transform:translateX(-4px);} 75%{transform:translateX(4px);} }

/* =========================
   BULK ACTIONS
========================= */
.bulk-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 10px 14px;
  background: var(--soft2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  margin-bottom: 12px;
  animation: slideDown 0.2s ease;
}
.bulk-toolbar .bulk-count {
  font-weight: 950;
  font-size: 0.92rem;
  margin-right: 8px;
}
.bulk-toolbar select {
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--surface-raised);
  color: inherit;
  font-weight: 700;
  font-size: 0.85rem;
  cursor: pointer;
}
.bulk-check {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: var(--accent);
}
tr.bulk-selected { background: var(--soft2); }
@keyframes slideDown {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* =========================
   PHASE 1: Investor Workspace Refinement
   Visual-only overrides (no logic changes)
========================= */
:root{
  --radius:12px;
  --shadow:0 6px 18px rgba(0,0,0,0.08);
  --soft:#f3f6fb;
  --soft2:#eef4ff;
}

[data-theme="dark"]{
  --shadow:0 2px 8px rgba(0,0,0,0.35);
  /* DM-1/DM-2/DM-3/DM-4/DM-5 fix: restore dark values overridden by :root block above */
  --soft:#0c1526;
  --soft2:#0d1a31;
}

body{
  line-height:1.4;
  letter-spacing:0.01em;
}
.container{
  padding-top:10px;
}

.topbar{
  margin:4px 0 8px;
}

.menu-toggle,
.menu-dropdown,
.navbtn,
.btn,
.dd-btn,
.dd-item,
.pill,
.tag,
.badge,
.achip,
.stage-badge,
select,
.search-box input,
input[type="text"],
input[type="email"],
input[type="number"],
textarea{
  border-radius:7px;
}

.menu-toggle{
  width:36px;
  height:36px;
  box-shadow:none;
  background:var(--soft);
}
.menu-dropdown{
  border-radius:8px;
  padding:8px;
  box-shadow:0 8px 24px rgba(16,24,40,0.18);
}
.nav{
  gap:5px;
}
.navbtn{
  font-size:0.84rem;
  font-weight:700;
  padding:7px 9px;
  text-align:left;
}
.navbtn:hover{
  transform:none;
  box-shadow:none;
  background:var(--soft);
}

.controls{
  margin:10px 0 10px;
  gap:10px;
}
.search-box input{
  padding:8px 10px;
  font-size:0.9rem;
}

.summarybar{
  margin:0 0 8px;
  gap:10px;
}
.summary-left{
  gap:7px;
}
.pill{
  font-size:0.78rem;
  font-weight:700;
  padding:5px 8px;
  background:var(--soft);
}

.activechips{
  margin-top:6px;
  gap:6px;
}
.achip{
  font-size:0.74rem;
  font-weight:700;
  padding:4px 8px;
}

.card-grid{
  gap:10px;
  grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));
}
/* .startup-card overrides removed — see CARD DESIGN v4 block */

.startup-card h3{
  font-size:1.02rem;
  color:var(--text-primary);
  font-weight:800;
  line-height:1.25;
}
.tagrow{
  gap:5px;
  margin-top:5px !important;
}
.tag,
.badge{
  font-size:0.69rem;
  font-weight:700;
  padding:3px 6px;
  background:var(--soft);
}

.score-row{
  margin-top:5px;
  gap:6px;
}
.score-badge{
  padding:3px 8px;
  border-radius:6px;
}
.score-value{
  font-size:1rem;
}
.score-preset-name,
.card-notes-indicator{
  font-size:0.72rem;
}

.card-desc{
  margin-top:4px;
  font-size:0.8rem;
  color:color-mix(in srgb, var(--text-secondary) 85%, #000 15%);
  line-height:1.35;
}

.metrics{
  gap:7px !important;
}
.metric{
  border-radius:7px;
  padding:7px 8px !important;
  background:var(--soft);
}
.metric strong{
  font-size:0.95rem;
  color:var(--text-primary);
  font-weight:800;
  line-height:1.2;
}
.metric small{
  margin-top:1px;
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.01em;
}

.card-actions{
  gap:7px;
  margin-top:2px;
}
.btn{
  padding:7px 10px;
  border-radius:7px;
  font-size:0.79rem;
  font-weight:750;
  letter-spacing:0.01em;
}
.btn.secondary{
  background:var(--soft);
}

.view{
  margin-top:10px;
}
.panelhead{
  margin:2px 0 8px;
}
.panelhead h2,
.dash-title{
  font-size:1.03rem;
  font-weight:800;
  letter-spacing:0.01em;
}
.note,
.dash-subtitle,
.dash-panel-sub,
.helper,
.muted-note{
  font-size:0.8rem;
}

.tablewrap,
.compareTableWrap,
.panel,
.filter-section,
.dash-panel,
.dash-kpi,
.bulk-toolbar{
  border-radius:8px;
  box-shadow:none;
}

thead th,
.compareTable th{
  font-size:0.75rem;
  text-transform:uppercase;
  letter-spacing:0.04em;
  padding:8px 10px;
  background:var(--soft);
}

tbody td,
.compareTable td{
  padding:8px 10px;
  font-size:0.84rem;
}


.modal,
.filter-modal,
.custom-sheet{
  border-radius:10px;
  box-shadow:0 16px 44px rgba(15,23,42,0.34);
}
.modal-header,
.filter-header,
.custom-head{
  background:var(--soft);
}

@media (max-width:680px){
  .card-grid{
    grid-template-columns:1fr;
  }
}

/* =========================
   HOTFIX: Dark Mode Contrast Normalization
   Visual-only (no behavior changes)
========================= */
[data-theme="dark"]{
  --surface-0:#0b0f1a;
  --surface-1:#111827;
  --surface-2:#1a2235;
  --surface-3:#1a2a44;
  --text-strong:#eef3fb;
  --text-soft:#b7c3d7;
}

[data-theme="dark"] body{
  background:var(--surface-0);
  color:var(--text-strong);
}

[data-theme="dark"] .menu-toggle,
[data-theme="dark"] .menu-dropdown,
[data-theme="dark"] .navbtn:not(.primary),
[data-theme="dark"] .btn.secondary,
[data-theme="dark"] .pill,
[data-theme="dark"] .achip,
[data-theme="dark"] .tag,
[data-theme="dark"] .badge,
[data-theme="dark"] .metric,
[data-theme="dark"] .panel,
[data-theme="dark"] .filter-section,
[data-theme="dark"] .dash-panel,
[data-theme="dark"] .dash-kpi,
[data-theme="dark"] .tablewrap,
[data-theme="dark"] .compareTableWrap,
[data-theme="dark"] .bulk-toolbar,
[data-theme="dark"] .toggle-row,
[data-theme="dark"] .dd-btn,
[data-theme="dark"] .dd-item,
[data-theme="dark"] .dd-pill,
[data-theme="dark"] .dd-panel,
[data-theme="dark"] .custom-panel,
[data-theme="dark"] .rules-group,
[data-theme="dark"] .rule-row,
[data-theme="dark"] .custom-scorebox{
  background:var(--surface-1);
  border-color:var(--border);
  color:var(--text-strong);
}

[data-theme="dark"] .startup-card,
[data-theme="dark"] .modal,
[data-theme="dark"] .filter-modal,
[data-theme="dark"] .custom-sheet,
[data-theme="dark"] .privacy-content{
  background:var(--surface-1);
  border-color:var(--border);
}

[data-theme="dark"] .modal-header,
[data-theme="dark"] .filter-header,
[data-theme="dark"] .custom-head,
[data-theme="dark"] .privacy-header{
  background:linear-gradient(180deg, var(--surface-2), var(--surface-1));
}

[data-theme="dark"] thead th,
[data-theme="dark"] .compareTable th{
  background:var(--surface-2);
  color:var(--text-soft);
  border-bottom-color:var(--border);
}

[data-theme="dark"] tbody tr:hover{
  background:rgba(76,121,189,0.14);
}

[data-theme="dark"] tbody td,
[data-theme="dark"] .compareTable td{
  color:var(--text-strong);
}

[data-theme="dark"] select,
[data-theme="dark"] .select,
[data-theme="dark"] .search-box input,
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] textarea,
[data-theme="dark"] .dd-search,
[data-theme="dark"] .custom-row input,
[data-theme="dark"] .custom-row select,
[data-theme="dark"] .decline-dialog-inner select,
[data-theme="dark"] .decline-dialog-inner textarea{
  background:var(--surface-2);
  border-color:var(--border);
  color:var(--text-strong);
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder{
  color:var(--text-soft);
  opacity:0.9;
}

[data-theme="dark"] .summary-left,
[data-theme="dark"] .helper,
[data-theme="dark"] .muted-note,
[data-theme="dark"] .dash-subtitle,
[data-theme="dark"] .dash-panel-sub,
[data-theme="dark"] .card-desc,
[data-theme="dark"] .plaus-check-message,
[data-theme="dark"] .plaus-summary{
  color:var(--text-soft);
}

[data-theme="dark"] .privacy-bar{
  background:rgba(16,26,44,0.95);
  border-top-color:var(--border);
}

[data-theme="dark"] .custom-row{
  border-bottom-color:color-mix(in srgb, var(--border) 85%, transparent);
}


/* ========================= CARD DESIGN — approved ========================= */

.startup-card {
  font-family: 'IBM Plex Sans', sans-serif;
  background: var(--surface-raised);
  border: 1px solid var(--border-default);
  border-radius: 9px;
  padding: 24px 22px;
  gap: 0;
  box-shadow: none;
  transition: transform 0.18s ease, border-color 0.18s ease;
  display: flex;
  flex-direction: column;
}

.startup-card:hover {
  transform: translateY(-2px);
  border-color: rgba(59,130,246,0.25);
  box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
  .startup-card { transition: none; }
}

.startup-card .card-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}

.card-head-left {
  flex: 1;
  min-width: 0;
}

.card-name {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: var(--text-primary);
  letter-spacing: -0.01em;
  margin-bottom: 9px;
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  line-height: 1.25;
}

.cid {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 10px;
  font-weight: 400;
  background: rgba(255,255,255,0.06);
  color: var(--text-secondary);
  padding: 2px 5px;
  border-radius: 3px;
  flex-shrink: 0;
}

.card-angefragt-pill {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--goodText);
  background: var(--goodBg);
  border: 1px solid var(--goodBorder);
  padding: 2px 7px;
  border-radius: 4px;
  flex-shrink: 0;
}

.startup-card .tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 10px;
}

.startup-card .tags .tag {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 11px;
  font-weight: 500;
  padding: 3px 7px;
  border-radius: 4px;
  background: rgba(255,255,255,0.05);
  color: var(--text-secondary);
  border: 1px solid rgba(255,255,255,0.08);
  text-transform: none;
  letter-spacing: 0;
  white-space: nowrap;
}

.startup-card .tags .tag.stage {
  color: var(--accent);
  background: var(--accent-subtle);
  border-color: rgba(59,130,246,0.20);
}

.startup-card .desc {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: var(--text-secondary);
  line-height: 1.55;
  margin-top: 10px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Score ring — top right of card */
.score-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.startup-card .score-ring {
  position: relative;
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.startup-card .score-ring svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.score-num {
  position: relative;
  z-index: 1;
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 16px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
  line-height: 1;
}

.score-lbl {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-secondary);
  text-align: center;
  max-width: 58px;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.score-wrap .infoicon {
  font-size: 10px;
  width: 16px;
  height: 16px;
  padding: 0;
  margin: 0;
  border-color: rgba(255,255,255,0.12);
  color: var(--text-secondary);
  background: transparent;
  border-radius: 50%;
}

.score-wrap .infoicon:hover {
  border-color: rgba(59,130,246,0.4);
  color: var(--accent);
}

/* KPI grid — 2 columns */
.kpi-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 14px;
  margin-top: 0;
}

.kpi-tile {
  background: var(--surface-overlay);
  border-radius: 7px;
  padding: 16px 15px;
  border: 1px solid var(--border-subtle);
  min-height: 70px;
}

.kpi-val {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 17px;
  font-weight: 600;
  color: var(--text-primary);
  display: block;
  line-height: 1.25;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

.kpi-val.pos { color: #10b981; }
.kpi-val.neg { color: #f87171; }

.kpi-lbl {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-secondary);
  margin-top: 7px;
  display: block;
  line-height: 1.3;
}

/* Action buttons */
.startup-card .actions {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-top: 4px;
}

.startup-card .btn-primary {
  width: 100%;
  background: var(--accent);
  color: #ffffff;
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  padding: 11px 14px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  text-align: center;
  line-height: 1;
  transition: filter 0.15s ease;
}

.startup-card .btn-primary:hover { filter: brightness(1.1); }
.startup-card .btn-primary:focus { outline: none; box-shadow: 0 0 0 3px rgba(59,130,246,0.35); }

.startup-card .btn-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}

.startup-card .btn-secondary {
  background: rgba(255,255,255,0.04);
  color: var(--text-secondary);
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 14px;
  font-weight: 500;
  padding: 11px 10px;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 6px;
  cursor: pointer;
  text-align: center;
  line-height: 1;
  transition: background 0.15s ease;
}

.startup-card .btn-secondary:hover { background: rgba(255,255,255,0.07); }
.startup-card .btn-secondary:disabled { opacity: 0.4; cursor: not-allowed; pointer-events: none; }
.startup-card .btn-secondary:focus { outline: none; box-shadow: 0 0 0 3px rgba(59,130,246,0.2); }

/* Light mode overrides */
:root:not([data-theme="dark"]) .startup-card {
  background: var(--surface-raised);
  border-color: rgba(0,0,0,0.08);
}
:root:not([data-theme="dark"]) .startup-card:hover {
  border-color: rgba(59,130,246,0.22);
}
:root:not([data-theme="dark"]) .card-name { color: var(--text-primary); }
:root:not([data-theme="dark"]) .cid { background: rgba(0,0,0,0.05); color: var(--text-secondary); }
:root:not([data-theme="dark"]) .startup-card .tags .tag {
  background: rgba(0,0,0,0.04);
  color: var(--text-secondary);
  border-color: rgba(0,0,0,0.08);
}
:root:not([data-theme="dark"]) .startup-card .tags .tag.stage {
  color: var(--accent);
  background: var(--accent-subtle);
  border-color: rgba(59,130,246,0.18);
}
:root:not([data-theme="dark"]) .startup-card .desc { color: var(--text-secondary); }
:root:not([data-theme="dark"]) .kpi-tile {
  background: var(--surface-overlay);
  border-color: rgba(0,0,0,0.06);
}
:root:not([data-theme="dark"]) .kpi-val { color: var(--text-primary); }
:root:not([data-theme="dark"]) .kpi-val.pos { color: #059669; }
:root:not([data-theme="dark"]) .kpi-val.neg { color: #dc2626; }
:root:not([data-theme="dark"]) .kpi-lbl { color: var(--text-secondary); }
:root:not([data-theme="dark"]) .startup-card .btn-secondary {
  background: rgba(0,0,0,0.03);
  color: var(--text-secondary);
  border-color: rgba(0,0,0,0.08);
}
:root:not([data-theme="dark"]) .startup-card .btn-secondary:hover { background: rgba(0,0,0,0.06); }

/* ========================= NEW SUBMISSIONS TABLE v2 ========================= */

/* Wrapper */
.subs2-wrap {
  background: var(--surface-raised);
  border-radius: 16px;
  border: 1px solid var(--border-default);
  overflow: hidden;
  box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25);
}
.subs2-wrap table {
  width: 100%;
  border-collapse: collapse;
}

/* Header */
.subs2-wrap thead tr {
  background: var(--surface-overlay);
  border-bottom: 1px solid var(--border-subtle);
}
.subs2-wrap thead th {
  padding: 20px 24px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  color: var(--text-secondary) !important;
  background: transparent !important;
  border: none !important;
  text-align: left;
}

/* Rows */
.subs2-wrap tbody tr {
  border-bottom: 1px solid var(--border-subtle);
  background: transparent;
  transition: background 120ms ease;
}
.subs2-wrap tbody tr:last-child {
  border-bottom: none;
}
.subs2-wrap tbody tr:hover {
  background: var(--border-subtle) !important;
}
.subs2-wrap tbody td {
  padding: 20px 24px !important;
  vertical-align: middle !important;
  border: none !important;
  color: var(--text-primary);
}

/* Startup Name cell */
.subs2-name {
  display: block;
  color: var(--text-primary);
  font-weight: 700;
  font-size: 15px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  line-height: 1.3;
}
.subs2-name:hover { text-decoration: underline; }
.subs2-id {
  color: var(--text-secondary);
  font-size: 11px;
  margin-top: 3px;
}

/* Sector */
.subs2-sector {
  color: var(--text-primary);
  font-weight: 500;
  font-size: 14px;
}

/* Stage */
.subs2-stage {
  color: var(--text-primary);
  font-weight: 500;
  font-size: 14px;
  text-align: center;
}

/* Score */
.subs2-score {
  text-align: center;
}
.subs2-score-inner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  white-space: nowrap;
  flex-wrap: nowrap;
}
.subs2-score-val {
  font-weight: 700;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.subs2-score-val.high { color: #00dfc1; }
.subs2-score-val.mid  { color: var(--text-primary); }
.subs2-score-val.low  { color: #ffb4ab; }

/* Plausibility */
.subs2-plaus {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.subs2-plaus-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1;
}
.subs2-plaus-label.passed { color: #00dfc1; }
.subs2-plaus-label.flagged { color: #f59e0b; }
.subs2-plaus-label.failed  { color: #ffb4ab; }
.subs2-plaus-summary {
  color: var(--text-secondary);
  font-size: 11px;
  font-weight: 500;
}

/* Submitted date */
.subs2-date {
  color: var(--text-secondary);
  font-size: 14px;
  font-weight: 500;
}

/* Actions cell */
.subs2-actions {
  text-align: right;
}
.subs2-actions-inner {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

/* Annehmen button */
.subs2-btn-accept {
  background: #0A84FF;
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 16px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
  transition: box-shadow 150ms ease;
}
.subs2-btn-accept:hover {
  box-shadow: 0 10px 15px -3px rgba(10,132,255,0.25);
}
.subs2-btn-accept:active { opacity: 0.88; }

/* Ablehnen button */
.subs2-btn-decline {
  background: transparent;
  color: var(--text-primary);
  font-size: 12px;
  font-weight: 700;
  padding: 6px 16px;
  border-radius: 8px;
  border: 1px solid var(--border-default);
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
  transition: background 150ms ease;
}
.subs2-btn-decline:hover {
  background: var(--border-subtle);
}

/* Info icon (ⓘ) inside table */
.subs2-infoicon {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--text-secondary);
  font-size: 13px;
  padding: 0 2px;
  vertical-align: middle;
  line-height: 1;
  transition: color 120ms ease;
}
.subs2-infoicon:hover { color: var(--text-primary); }





/* INPUT MODAL OVERLAY */
.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 9000;
  background: var(--overlay);
  align-items: center;
  justify-content: center;
}
.modal-overlay[aria-hidden="true"] { display: none; }
.modal-overlay[aria-hidden="false"] { display: flex; }

.modal-overlay .input-modal {
  width: min(420px, calc(100vw - 32px));
  min-width: 320px;
  background: var(--surface-raised);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 24px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.3);
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-height: unset;
  overflow: visible;
  resize: none;
  min-height: unset;
}

.modal-overlay .input-modal h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 900;
  color: var(--text-primary);
}

.modal-overlay .input-modal #input-modal-field {
  width: 100%;
  box-sizing: border-box;
}

.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 4px;
}

.modal-actions button {
  padding: 8px 16px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--surface-raised);
  color: var(--text-primary);
  font-weight: 800;
  font-size: 0.92rem;
  cursor: pointer;
}
.modal-actions button:hover { background: var(--soft); }

.btn-primary {
  background: var(--accent) !important;
  color: #fff !important;
  border-color: transparent !important;
}
.btn-primary:hover { filter: brightness(1.1); }

/* =========================
   HORIZONTAL TAB-NAV
========================= */
/* =========================
   OUTREACH TRACKER v2
========================= */
/* Scoped Token-Remap auf v2 (Mockup): body.v2-dark wird in setActiveNav()
   gesetzt, der Remap mappt alle vom ot-*-CSS genutzten Tokens auf die v2-
   Palette. So gilt #0b0f1a/#111827/#1a2235 + Teal #00dfc1 nur in dieser View. */
#viewInbox {
  --surface-base: #0b0f1a;
  --surface-raised: #111827;
  --surface-overlay: #1a2235;
  --text-primary: #f0f4ff;
  --text-secondary: #8892a4;
  --text-tertiary: #4e5a72;
  --border: rgba(255,255,255,0.06);
  --border-default: rgba(255,255,255,0.06);
  --soft: #0b0f1a;
  --soft2: #1a2235;
  --chip: rgba(0,223,193,0.08);
  --chipBorder: rgba(0,223,193,0.2);
  --accent: #00dfc1;
  --accent-subtle: rgba(0,223,193,0.1);
  --radius: 12px;
  --warnText: #f59e0b;
  --goodText: #00dfc1;
  --dangerText: #ef4444;
}

.ot-shell { font-family: var(--font-ui, 'IBM Plex Sans', sans-serif); }

/* Kopf der linken Spalte: Titel + Tabs (Mockup) */
.ot-list-head { padding:14px 14px 0; }
.ot-title { margin:0 0 10px; font-size:0.95rem; font-weight:800; color:var(--text-primary); }

/* Tabs — horizontal, aktiver Tab teal Unterstrich */
.ot-tab-bar { display:flex; border-bottom:1px solid var(--border); padding:0; gap:2px; overflow-x:auto; }
.ot-tab { padding:8px 10px; font-size:0.78rem; font-weight:700; color:var(--text-secondary); cursor:pointer; border:none; border-bottom:2px solid transparent; background:none; font-family:inherit; display:flex; align-items:center; gap:5px; transition:color 100ms; white-space:nowrap; }
.ot-tab:hover { color:var(--text-primary); }
.ot-tab.active { color:var(--text-primary); border-bottom-color:var(--accent); }
.ot-tab-n { display:inline-flex; align-items:center; justify-content:center; min-width:16px; padding:1px 5px; border-radius:999px; font-size:0.66rem; font-weight:800; background:rgba(255,255,255,0.06); color:var(--text-secondary); }
.ot-tab.active .ot-tab-n { background:rgba(0,223,193,0.12); color:var(--accent); }
.ot-tab-n.neutral { }
.ot-tab-n.amber { }
.ot-tab-n.teal { }
.ot-tab-n.blue { }

/* Master-Detail — flach auf Page-Hintergrund (#0b0f1a), nur Spaltentrennlinie */
.ot-master-detail { display:grid; grid-template-columns:clamp(300px, 30%, 440px) 1fr; background:transparent; min-height:calc(100vh / var(--app-zoom, 1) - 96px); }
@media(max-width:900px) { .ot-master-detail { grid-template-columns:1fr; } }
.ot-list-col { display:flex; flex-direction:column; border-right:1px solid var(--border); background:transparent; overflow:hidden; }

/* Bulk bar — dezente Teal-Tönung, Ghost-Buttons (Mockup) */
.ot-bulk-bar { display:none; align-items:center; gap:8px; padding:8px 14px; background:rgba(0,223,193,0.06); border-bottom:1px solid rgba(0,223,193,0.15); flex-shrink:0; flex-wrap:wrap; }
.ot-bulk-bar.visible { display:flex; }
.ot-bulk-count { font-size:0.78rem; font-weight:800; color:var(--accent); margin-right:4px; }
.ot-bulk-btn { padding:5px 10px; border-radius:6px; border:1px solid rgba(0,223,193,0.2); background:transparent; font-size:0.76rem; font-weight:700; color:var(--text-secondary); cursor:pointer; font-family:inherit; }
.ot-bulk-btn:hover { color:var(--text-primary); background:rgba(0,223,193,0.06); }
.ot-bulk-deselect { margin-left:auto; background:none; border:none; font-size:0.9rem; line-height:1; color:var(--text-tertiary); cursor:pointer; font-weight:700; font-family:inherit; padding:2px 4px; }
.ot-bulk-deselect:hover { color:var(--text-primary); }

/* List header (select-all row) */
.ot-list-header { display:flex; align-items:center; gap:10px; padding:8px 14px; border-bottom:1px solid var(--border); background:transparent; flex-shrink:0; }
.ot-list-header-label { font-size:0.67rem; font-weight:700; text-transform:uppercase; letter-spacing:0.07em; color:var(--text-secondary); }

/* List */
.ot-list { flex:1; overflow:auto; }
.ot-row { display:flex; gap:0; cursor:pointer; border-bottom:1px solid var(--border); position:relative; transition:background 100ms; align-items:stretch; }
.ot-row:last-child { border-bottom:none; }
.ot-row:hover { background:rgba(0,223,193,0.05); }
.ot-row.selected { background:rgba(0,223,193,0.08); }
.ot-row.checked { background:rgba(0,223,193,0.05); }
.ot-row-accent { width:3px; flex-shrink:0; }
.ot-row-accent.amber { background:#f59e0b; }
.ot-row-accent.teal { background:#00dfc1; }
.ot-row-accent.blue { background:#0a84ff; }
.ot-row-accent.gray { background:var(--border); }
.ot-row-check { display:flex; align-items:center; padding:0 6px 0 10px; flex-shrink:0; }
.ot-row-check input[type='checkbox'] { accent-color:var(--accent); width:15px; height:15px; cursor:pointer; }
.ot-row-inner { flex:1; padding:11px 12px 11px 4px; min-width:0; }
.ot-row-top { display:flex; justify-content:space-between; align-items:flex-start; gap:8px; margin-bottom:3px; }
.ot-s-name { font-size:0.85rem; font-weight:700; color:var(--text-primary); }
.ot-time { font-size:0.7rem; color:var(--text-secondary); font-weight:500; white-space:nowrap; flex-shrink:0; }
.ot-row-mid { font-size:0.74rem; color:var(--text-secondary); font-weight:500; margin-bottom:5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ot-row-bot { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.ot-msg-prev { font-size:0.76rem; color:var(--text-secondary); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; }
.ot-msg-prev.new { color:var(--text-primary); font-weight:600; }
/* Status-Tags: v2 "keine dekorativen Rahmen" — reiner farbiger Text, kein bg/border */
.ot-badge { display:inline-flex; align-items:center; padding:0; border:none; background:none; border-radius:0; font-size:0.72rem; font-weight:700; white-space:nowrap; flex-shrink:0; }
.ot-b-sent { color:#0a84ff; }
.ot-b-none { color:#f59e0b; }
.ot-b-replied { color:#00dfc1; }
.ot-b-call { color:var(--text-secondary); }
/* Follow-up fällig: nur Dot + gelber Text, kein Pill */
.ot-followup-tag { display:flex; align-items:center; gap:5px; margin-top:5px; padding:0; background:none; border:none; font-size:0.7rem; color:#f59e0b; width:fit-content; font-weight:700; }
.ot-followup-tag .ot-fdot { width:5px; height:5px; border-radius:50%; background:#f59e0b; flex-shrink:0; }

/* Detail — flach auf Page-Hintergrund */
.ot-detail { display:flex; flex-direction:column; background:transparent; }
.ot-detail-empty { display:flex; align-items:center; justify-content:center; height:100%; color:var(--text-secondary); font-size:0.86rem; font-weight:600; padding:24px; text-align:center; }
.ot-detail-head { padding:18px 24px 16px; background:transparent; border-bottom:1px solid var(--border); }
.ot-detail-name-row { display:flex; align-items:center; gap:10px; margin-bottom:5px; flex-wrap:wrap; }
.ot-detail-name { font-size:1.2rem; font-weight:800; color:var(--text-primary); }
.ot-detail-meta { font-size:0.88rem; color:var(--text-secondary); font-weight:500; margin-bottom:6px; }
.ot-detail-ts { font-size:0.81rem; color:var(--text-tertiary); font-weight:500; }
.ot-detail-body { flex:1; padding:18px 24px; display:flex; flex-direction:column; gap:14px; overflow:auto; }
.ot-fw-alert { padding:12px 14px; border-radius:var(--radius); border:1px solid rgba(245,158,11,0.2); background:rgba(245,158,11,0.08); }
.ot-fw-alert-title { font-size:0.92rem; font-weight:800; color:#f59e0b; margin-bottom:4px; }
.ot-fw-alert-text { font-size:0.84rem; color:#f59e0b; line-height:1.5; }
/* Abmeldung (Outreach): rote Markierung — abgemeldeter Gruender, Versand serverseitig gesperrt */
.ot-unsub-pill { display:inline-flex; align-items:center; padding:1px 7px; border-radius:999px; background:rgba(239,68,68,0.12); color:#ef4444; font-size:0.68rem; font-weight:700; white-space:nowrap; flex-shrink:0; }
.ot-unsub-banner { padding:12px 14px; border-radius:var(--radius); border:1px solid rgba(239,68,68,0.25); background:rgba(239,68,68,0.08); font-size:0.84rem; color:#ef4444; line-height:1.5; }
.ot-unsub-banner strong { font-weight:800; }
.ot-msg-failed { color:#ef4444; font-weight:700; white-space:nowrap; }
.ot-thread-label { font-size:0.7rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--text-secondary); }
/* Nachrichten: kein Pill — schlanker Text mit dünnem linken Richtungs-Strich */
.ot-bubble { padding:4px 0 4px 14px; border:none; border-left:2px solid var(--border); border-radius:0; }
.ot-bubble.outbound { border-left-color:#00dfc1; }
.ot-bubble.inbound { border-left-color:var(--border); }
.ot-bubble-sender { font-size:0.8rem; color:var(--text-secondary); font-weight:600; margin-bottom:6px; }
.ot-bubble.outbound .ot-bubble-sender { color:#00dfc1; }
.ot-bubble-text { font-size:0.95rem; line-height:1.65; color:var(--text-primary); white-space:pre-wrap; word-break:break-word; }
.ot-detail-actions { padding:16px 24px; border-top:1px solid var(--border); background:transparent; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.ot-btn-primary { padding:9px 18px; border-radius:7px; border:none; background:var(--accent); color:#000; font-size:0.85rem; font-weight:700; cursor:pointer; font-family:inherit; }
.ot-btn-primary:hover { filter:brightness(1.06); }
.ot-btn-ghost { padding:9px 16px; border-radius:7px; border:1px solid var(--border); background:transparent; font-size:0.85rem; color:var(--text-secondary); cursor:pointer; font-family:inherit; font-weight:600; }
.ot-btn-ghost:hover { color:var(--text-primary); background:rgba(255,255,255,0.03); }
.ot-btn-menu { padding:8px 11px; border-radius:7px; border:1px solid var(--border); background:transparent; font-size:0.84rem; color:var(--text-tertiary); cursor:pointer; font-family:inherit; font-weight:700; margin-left:auto; }
.ot-btn-menu:hover { color:var(--text-primary); }
.ot-dropdown-wrap { position:relative; }
.ot-dropdown { position:absolute; bottom:calc(100% + 4px); right:0; background:#1a2235; border:1px solid var(--border); border-radius:8px; padding:4px; min-width:180px; z-index:50; box-shadow:0 12px 32px rgba(0,0,0,0.4); }
.ot-dropdown-item { padding:7px 10px; font-size:0.82rem; color:var(--text-primary); cursor:pointer; border-radius:6px; font-weight:600; }
.ot-dropdown-item:hover { background:rgba(255,255,255,0.05); }
.ot-dropdown-item.danger { color:#ef4444; }

/* Geplante Calls — kompakte Karten in der schmalen linken Spalte */
.ot-calls-list { display:flex; flex-direction:column; gap:8px; padding:12px 14px; }
.ot-call-card { display:flex; align-items:flex-start; gap:10px; flex-wrap:wrap; padding:12px; background:transparent; border:1px solid var(--border); border-radius:10px; }
.ot-call-dot { width:8px; height:8px; border-radius:50%; background:#00dfc1; flex-shrink:0; margin-top:4px; }
.ot-call-name { font-size:0.85rem; font-weight:700; color:var(--text-primary); }
.ot-call-meta { font-size:0.74rem; color:var(--text-secondary); font-weight:500; margin-top:2px; }
.ot-call-planned-ts { font-size:0.7rem; color:var(--text-tertiary); margin-top:2px; }
.ot-call-actions { display:flex; gap:8px; margin-left:auto; flex-wrap:wrap; }

/* Empty state */
.ot-empty { padding:48px 20px; text-align:center; }
.ot-empty-title { font-size:0.95rem; font-weight:700; color:var(--text-primary); margin:0 0 5px; }
.ot-empty-sub { font-size:0.82rem; color:var(--text-secondary); font-weight:400; margin:0; line-height:1.45; }

/* Outreach-Modals liegen AUSSERHALB #viewInbox — eigener v2-Token-Remap,
   damit die ot-*-Styles auch hier auf die v2-Palette aufloesen. */
#otSendBackdrop, #followup-modal-overlay {
  --surface-raised: #111827;
  --soft: #0b0f1a;
  --soft2: #1a2235;
  --border: rgba(255,255,255,0.06);
  --accent: #00dfc1;
  --accent-subtle: rgba(0,223,193,0.1);
  --chip: rgba(0,223,193,0.08);
  --chipBorder: rgba(0,223,193,0.2);
  --text-primary: #f0f4ff;
  --text-secondary: #8892a4;
  --goodBg: rgba(0,223,193,0.12);
  --goodText: #00dfc1;
  --overlay: rgba(0,0,0,0.6);
  --focus: 0 0 0 3px rgba(0,223,193,0.1);
}
#followup-modal-overlay .modal { background:#111827; border:1px solid rgba(255,255,255,0.06); }
#followup-modal-overlay .modal h3 { color:#f0f4ff; }

/* Send Modal */
.ot-send-backdrop { position:fixed; inset:0; background:var(--overlay); display:none; align-items:center; justify-content:center; padding:18px; z-index:70; }
.ot-send-modal { width:min(600px,96vw); background:var(--surface-raised); border-radius:14px; border:1px solid var(--border); box-shadow:0 20px 60px rgba(0,0,0,0.3); display:flex; flex-direction:column; max-height:calc(90vh / var(--app-zoom, 1)); overflow:hidden; }
.ot-send-head { padding:15px 18px 11px; border-bottom:1px solid var(--border); display:flex; align-items:flex-start; justify-content:space-between; background:var(--soft2); flex-shrink:0; }
.ot-send-title { font-size:0.98rem; font-weight:950; margin:0 0 2px; }
.ot-send-sub { font-size:0.78rem; color:var(--text-secondary); font-weight:700; }
.ot-send-body { padding:0; overflow:auto; flex:1; }
.ot-startup-chip { display:flex; align-items:center; gap:10px; padding:11px 18px; border-bottom:1px solid var(--border); background:var(--soft2); }
.ot-avatar { width:34px; height:34px; border-radius:50%; background:var(--goodBg); display:flex; align-items:center; justify-content:center; font-size:0.76rem; font-weight:950; color:var(--goodText); flex-shrink:0; }
.ot-chip-name { font-size:0.88rem; font-weight:800; }
.ot-chip-meta { font-size:0.74rem; color:var(--text-secondary); font-weight:700; }
.ot-field-block { padding:10px 18px 0; }
.ot-field-label { font-size:0.7rem; font-weight:900; text-transform:uppercase; letter-spacing:0.08em; color:var(--text-secondary); margin-bottom:5px; }
.ot-from-chip { display:flex; align-items:center; gap:6px; font-size:0.82rem; padding:7px 10px; background:var(--soft2); border-radius:8px; border:1px solid var(--border); }
.ot-from-dot { width:7px; height:7px; border-radius:50%; background:var(--accent); flex-shrink:0; }
.ot-subject-input { width:100%; padding:7px 10px; border-radius:8px; border:1px solid var(--border); background:var(--soft2); color:var(--text-primary); font-size:0.82rem; font-family:inherit; font-weight:600; }
.ot-subject-input:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-subtle); }
.ot-tpl-bar { display:flex; gap:6px; padding:10px 18px 0; flex-wrap:wrap; }
.ot-tpl-btn { padding:5px 11px; border-radius:8px; border:1px solid var(--border); background:var(--soft2); font-size:0.76rem; font-weight:900; color:var(--text-secondary); cursor:pointer; font-family:inherit; transition:background 100ms, color 100ms, border-color 100ms; }
.ot-tpl-btn.active { background:var(--chip); color:var(--accent); border-color:var(--chipBorder); }
.ot-body-textarea { margin:8px 18px 0; width:calc(100% - 36px); padding:11px; background:var(--soft2); border-radius:8px; border:1px solid var(--border); color:var(--text-primary); font-size:0.82rem; font-family:inherit; line-height:1.65; resize:vertical; min-height:150px; }
.ot-body-textarea:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-subtle); }
.ot-char-count { font-size:0.7rem; color:var(--text-secondary); text-align:right; padding:4px 18px 0; font-family:var(--font-data, monospace); }
.ot-send-footer { padding:11px 18px; border-top:1px solid var(--border); background:var(--surface-raised); display:flex; align-items:center; justify-content:space-between; gap:10px; flex-shrink:0; }
.ot-footer-hint { font-size:0.7rem; color:var(--text-secondary); font-weight:700; }
.ot-send-actions { display:flex; gap:8px; }
.ot-btn-send { padding:7px 16px; border-radius:7px; border:none; background:var(--accent); color:#000; font-size:0.82rem; font-weight:800; cursor:pointer; font-family:inherit; }
.ot-btn-send:hover { filter:brightness(0.93); }
.ot-btn-send:disabled { opacity:0.45; cursor:not-allowed; }

/* Followup modal */
.followup-modal { width:min(540px,94vw); display:flex; flex-direction:column; gap:12px; }
.followup-modal h3 { margin:0; font-size:1rem; font-weight:900; }
.followup-tpl-bar { display:flex; gap:8px; flex-wrap:wrap; }
.followup-tpl-btn { padding:5px 11px; border-radius:8px; border:1px solid var(--border); background:var(--surface-raised); color:var(--text-secondary); font-weight:700; font-size:0.82rem; cursor:pointer; font-family:inherit; }
.followup-tpl-btn.active { background:var(--chip); border-color:var(--chipBorder); color:var(--accent); }
.followup-modal textarea { width:100%; min-height:160px; border-radius:10px; border:1px solid var(--border); background:var(--soft2); color:var(--text-primary); font-size:0.84rem; font-family:inherit; padding:10px 12px; resize:vertical; }
.followup-modal textarea:focus { outline:none; box-shadow:var(--focus); border-color:var(--accent); }
/* Dark-Overrides (App ist dark-only) auf v2-Teal angeglichen */
[data-theme='dark'] .ot-bubble.inbound { border-left-color:var(--border); }
[data-theme='dark'] .ot-bubble.outbound { border-left-color:#00dfc1; }
[data-theme='dark'] .ot-row.selected { background:rgba(0,223,193,0.08); }
[data-theme='dark'] .ot-row.checked { background:rgba(0,223,193,0.05); }
[data-theme='dark'] .ot-detail { background:transparent; }
[data-theme='dark'] .ot-bulk-bar { background:rgba(0,223,193,0.06); border-color:rgba(0,223,193,0.15); }

.ot-bubble-toggle {
  background: none;
  border: none;
  color: var(--accent);
  font-size: 0.85rem;
  font-weight: 700;
  cursor: pointer;
  padding: 6px 0 0;
  font-family: inherit;
  display: block;
}
.ot-bubble-toggle:hover { text-decoration: underline; }

/* Follow-up-Trenner: zentrierter blauer Divider mit Linien (Mockup) */
.ot-followup-marker {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #0a84ff;
  padding: 8px 0;
  display: flex;
  align-items: center;
  gap: 10px;
}
.ot-followup-marker::before,
.ot-followup-marker::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(255,255,255,0.1);
}

/* === DASHBOARD V2 === */
.dbv2-kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:12px;}
.dbv2-kpi{background:var(--surface-raised);border:1px solid var(--border);border-radius:10px;padding:16px 14px;}
.dbv2-kpi-tag{font-size:10px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-secondary);display:flex;align-items:center;gap:6px;margin-bottom:8px;}
.dbv2-kpi-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0;}
.dbv2-kpi-val{font-size:32px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1;color:var(--text-primary);}
.dbv2-kpi-sub{font-size:11px;color:var(--text-secondary);margin-top:5px;font-weight:700;}
.dbv2-row2{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap;}
.dbv2-panel{background:var(--surface-raised);border:1px solid var(--border);border-radius:10px;padding:16px;}
.dbv2-panel-title{font-size:13px;font-weight:800;color:var(--text-primary);margin-bottom:2px;}
.dbv2-panel-sub{font-size:10px;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:12px;}
.dbv2-p-wide{flex:1.5;min-width:280px;}
.dbv2-p-narrow{flex:1;min-width:200px;}
.dbv2-p-half{flex:1;min-width:220px;}
.dbv2-big-bar{width:100%;height:22px;border-radius:5px;background:var(--accent);margin:10px 0 14px;}
.dbv2-dots-row{display:flex;gap:20px;flex-wrap:wrap;}
.dbv2-dot-item{display:flex;flex-direction:column;align-items:flex-start;gap:3px;}
.dbv2-dot-top{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-secondary);}
.dbv2-dot-circle{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.dbv2-dot-count{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary);margin-left:14px;}
.dbv2-frow{display:flex;align-items:center;gap:8px;margin-bottom:9px;}
.dbv2-flabel{font-size:10px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-secondary);min-width:100px;}
.dbv2-ftrack{flex:1;height:7px;background:var(--soft2);border-radius:3px;overflow:hidden;}
.dbv2-ffill{height:100%;border-radius:3px;min-width:2px;transition:width 0.4s ease;}
.dbv2-fcount{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;min-width:20px;text-align:right;color:var(--text-primary);}
.dbv2-donut-wrap{display:flex;align-items:center;gap:16px;margin-top:6px;}
.dbv2-donut-pos{position:relative;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;}
.dbv2-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;}
.dbv2-donut-center-val{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text-primary);line-height:1;}
.dbv2-donut-center-sub{font-size:9px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-secondary);margin-top:2px;}
.dbv2-dleg{display:flex;flex-direction:column;gap:7px;font-size:11px;}
.dbv2-dleg-item{display:flex;align-items:center;gap:7px;font-weight:700;color:var(--text-secondary);}
.dbv2-dleg-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.dbv2-stage-chart{display:flex;align-items:flex-end;gap:10px;height:80px;margin-top:10px;}
.dbv2-sc-wrap{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;}
.dbv2-sc-bar{width:100%;border-radius:3px 3px 0 0;background:var(--accent);min-height:4px;}
.dbv2-sc-count{font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text-secondary);}
.dbv2-sc-label{font-size:9px;font-weight:700;color:var(--text-secondary);text-align:center;white-space:nowrap;}
.dbv2-act-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:2px;}
.dbv2-act-link{font-size:11px;font-weight:800;color:var(--accent);cursor:pointer;background:none;border:none;padding:0;}
.dbv2-act-link:hover{text-decoration:underline;}
.dbv2-act-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:12px;}
.dbv2-act-table th{text-align:left;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-secondary);padding:0 12px 8px 0;border-bottom:1px solid var(--border);}
.dbv2-act-table td{padding:9px 12px 9px 0;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text-primary);}
.dbv2-act-table tbody tr:last-child td{border-bottom:none;}
.dbv2-act-table tbody tr:hover{background:rgba(25,118,210,0.05);}
.dbv2-act-time{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;}
.dbv2-act-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:900;letter-spacing:0.06em;background:var(--chip);color:var(--accent);border:1px solid var(--chipBorder);}
.dbv2-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 0;gap:8px;}
.dbv2-empty-icon{width:36px;height:36px;border-radius:8px;background:var(--soft2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:16px;}
.dbv2-empty-text{font-size:12px;color:var(--text-secondary);font-weight:800;}
@media(max-width:860px){.dbv2-kpi-row{grid-template-columns:1fr 1fr;}.dbv2-kpi:nth-child(5){grid-column:1/-1;}.dbv2-p-wide,.dbv2-p-narrow,.dbv2-p-half{min-width:100%;flex:1 1 100%;}.dbv2-row2{flex-direction:column;}.dbv2-row3{flex-direction:column;}}
.dbv2-row3{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap;}

/* =========================
   DEAL VIEW v2 — Property-List Vollbild
========================= */
.modal-backdrop { padding: 0 !important; }

.modal {
  /* 100% statt 100vw/100dvh: vw/vh werden von body{zoom} mitskaliert und
     fuellen den Viewport dann nicht mehr — der Backdrop ankert via inset
     an den echten Viewport-Kanten, 100% uebernimmt das korrekt. */
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  border-radius: 0 !important;
  background: var(--surface-base) !important;
  display: flex;
  flex-direction: column !important;
  resize: none !important;
  min-width: unset !important;
  min-height: unset !important;
  overflow: hidden !important;
  border: none !important;
  box-shadow: none !important;
}

/* ── Topbar ── */
.dv-topbar {
  display: flex;
  align-items: center;
  padding: 0 16px;
  gap: 6px;
  height: 44px;
  flex-shrink: 0;
  background: var(--surface-raised);
  border-bottom: 1px solid var(--border-default);
}
.dv-topbar-id {
  font-family: var(--font-ui);
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
  margin-right: 4px;
}
.dv-topbar-sep { color: var(--text-tertiary); font-size: 13px; }
.dv-topbar-meta {
  font-family: var(--font-ui);
  font-size: 12px;
  color: var(--text-secondary);
  margin-right: auto;
}
.dv-btn {
  background: none;
  border: 1px solid var(--border-strong);
  color: var(--text-secondary);
  padding: 5px 11px;
  border-radius: 5px;
  font-family: var(--font-ui);
  font-size: 12px;
  cursor: pointer;
  white-space: nowrap;
}
.dv-btn:hover { color: var(--text-primary); border-color: var(--border-default); }
.dv-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.dv-btn-crm {
  border-color: rgba(0,223,193,0.3);
  color: var(--score-ring-high);
}
.dv-btn-crm:hover { background: rgba(0,223,193,0.06); }
.dv-btn-crm:disabled { opacity: 0.4; cursor: not-allowed; }
.dv-btn-prim {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
  font-weight: 600;
}
.dv-btn-prim:hover { opacity: 0.9; }
.dv-btn-prim:disabled { opacity: 0.4; cursor: not-allowed; }
.dv-btn-close {
  margin-left: auto;
  border-color: transparent;
  font-size: 1rem;
  opacity: 0.5;
  padding: 4px 10px;
}
.dv-btn-close:hover { opacity: 1; border-color: var(--border-strong); }

/* ── Main grid ── */
.dv-main {
  display: grid;
  grid-template-columns: 1fr 280px;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}
.dv-left {
  overflow-y: auto;
  border-right: 1px solid var(--border-default);
}
.dv-right {
  overflow-y: auto;
  background: var(--surface-base);
  display: flex;
  flex-direction: column;
}

/* ── Hero ── */
.dv-hero {
  padding: 18px 24px 14px;
  border-bottom: 1px solid var(--border-default);
  background: var(--surface-raised);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.dv-hero-info { flex: 1; min-width: 0; }
.dv-hero-name {
  font-family: var(--font-ui);
  font-size: 22px;
  font-weight: 600;
  color: var(--text-primary);
  letter-spacing: -0.3px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}
.dv-pill {
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 400;
  border: 1px solid var(--border-strong);
  padding: 2px 8px;
  border-radius: 3px;
  color: var(--text-secondary);
}
.dv-pill-seed {
  color: var(--accent);
  border-color: rgba(75,150,245,0.3);
}
.dv-pill-preseed {
  color: #7c3aed;
  border-color: rgba(124,58,237,0.3);
}
[data-theme="dark"] .dv-pill-preseed {
  color: #a78bfa;
  border-color: rgba(167,139,250,0.3);
}
.dv-pill-prea {
  color: #059669;
  border-color: rgba(5,150,105,0.3);
}
[data-theme="dark"] .dv-pill-prea {
  color: #34d399;
  border-color: rgba(52,211,153,0.3);
}
.dv-pill-a {
  color: var(--score-ring-medium);
  border-color: rgba(245,158,11,0.3);
}
.dv-pill-pass {
  color: var(--score-ring-high);
  border-color: rgba(0,223,193,0.25);
  cursor: pointer;
}
.dv-pill-fail {
  color: var(--score-ring-low);
  border-color: rgba(239,68,68,0.25);
  cursor: pointer;
}
.dv-pill-warn {
  color: var(--score-ring-medium);
  border-color: rgba(245,158,11,0.25);
  cursor: pointer;
}
.dv-hero-desc {
  font-family: var(--font-ui);
  font-size: 15px;
  color: var(--text-secondary);
  line-height: 1.55;
}

/* ── Custom Score Block (top-right in hero) ── */
.dv-score-block {
  flex-shrink: 0;
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}
.dv-score-label {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-tertiary);
}
.dv-score-number {
  font-family: var(--font-data);
  font-size: 36px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -1px;
}
.dv-score-number.high { color: var(--score-ring-high); }
.dv-score-number.mid  { color: var(--score-ring-medium); }
.dv-score-number.low  { color: var(--score-ring-low); }
.dv-score-ruleset {
  font-family: var(--font-ui);
  font-size: 11px;
  color: var(--text-tertiary);
}
.dv-score-info {
  background: none;
  border: none;
  color: var(--text-tertiary);
  cursor: pointer;
  font-size: 11px;
  padding: 1px 4px;
  border-radius: 3px;
  margin-top: 2px;
}
.dv-score-info:hover { color: var(--text-secondary); background: var(--border-subtle); }

/* ── Sections ── */
.dv-section { border-bottom: 1px solid var(--border-default); }
.dv-section:last-child { border-bottom: none; }
.dv-sec-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 24px 5px;
}
.dv-sec-title {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-tertiary);
  white-space: nowrap;
}
.dv-sec-line { flex: 1; height: 1px; background: var(--border-default); }

/* ── Property Grid (2-spaltig) ── */
.dv-pgrid { display: grid; grid-template-columns: 1fr 1fr; }
.dv-prow {
  display: flex;
  align-items: center;
  padding: 0 24px;
  height: 34px;
  border-top: 1px solid var(--border-subtle);
  border-right: 1px solid var(--border-default);
}
.dv-prow:nth-child(even) { border-right: none; }
.dv-prow.full { grid-column: 1 / -1; border-right: none; }
.dv-prow:hover { background: rgba(255,255,255,0.02); }
[data-theme="dark"] .dv-prow:hover { background: rgba(255,255,255,0.025); }
.dv-pl {
  font-family: var(--font-ui);
  font-size: 15px;
  color: var(--text-secondary);
  width: 140px;
  flex-shrink: 0;
}
.dv-pv {
  font-family: var(--font-ui);
  font-size: 15px;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
  color: var(--text-primary);
  flex: 1;
}
.dv-pv.ui   { font-family: var(--font-ui); letter-spacing: 0; }
.dv-pv.g    { color: var(--score-ring-high); }
.dv-pv.r    { color: var(--score-ring-low); }
.dv-pv.a    { color: var(--score-ring-medium); }
.dv-pv.b    { color: var(--accent); }
.dv-pv.muted { font-family: var(--font-ui); color: var(--text-secondary); }

/* ── Founder-Team ── */
.dv-founders { padding: 6px 0 10px; display: flex; flex-direction: column; }
.dv-founder-empty {
  font-family: var(--font-ui);
  font-size: 14px;
  color: var(--text-tertiary);
  font-style: italic;
  padding: 10px 24px;
}
.dv-founder-card {
  border-top: 1px solid var(--border-subtle);
  padding: 10px 0;
}
.dv-founder-card:first-child { border-top: none; }
.dv-founder-head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
  padding: 0 24px 6px;
}
.dv-founder-label {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-tertiary);
}
.dv-founder-name {
  font-family: var(--font-ui);
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
}
.dv-founder-role {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 500;
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.dv-founder-link {
  margin-left: auto;
  font-family: var(--font-ui);
  font-size: 12px;
  color: var(--text-secondary);
  text-decoration: underline;
  text-decoration-color: var(--border-default);
  text-underline-offset: 2px;
}
.dv-founder-link:hover { color: var(--accent); text-decoration-color: var(--accent); }

.dv-founder-rows { display: flex; flex-direction: column; }
.dv-frow {
  display: flex;
  align-items: flex-start;
  padding: 0 24px;
  min-height: 28px;
  border-top: 1px solid var(--border-subtle);
}
.dv-fpl {
  font-family: var(--font-ui);
  font-size: 13px;
  color: var(--text-secondary);
  width: 140px;
  flex-shrink: 0;
  padding-top: 6px;
}
.dv-fpv {
  font-family: var(--font-ui);
  font-size: 14px;
  color: var(--text-primary);
  flex: 1;
  padding: 6px 0;
  line-height: 1.4;
}

.dv-team-note {
  padding: 12px 24px 4px;
  border-top: 1px solid var(--border-subtle);
  font-family: var(--font-ui);
  font-size: 14px;
  color: var(--text-primary);
  line-height: 1.5;
}
.dv-team-note-label {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-secondary);
  margin-bottom: 6px;
}

/* ── Card: Founder-Highlight ── */
.card-founder-hint {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 500;
  color: var(--text-primary);
  margin-top: 6px;
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
}
.card-founder-hint-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-tertiary);
}

/* ── Notes (rechte Spalte) ── */
.dv-notes { padding: 14px 16px; flex: 1; display: flex; flex-direction: column; }
.dv-notes-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  flex-shrink: 0;
}
.dv-notes-title {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-tertiary);
}
.dv-note-entry { padding-bottom: 10px; border-bottom: 1px solid var(--border-default); margin-bottom: 10px; }
.dv-note-entry:last-of-type { border-bottom: none; margin-bottom: 0; }
.dv-note-meta { display: flex; justify-content: space-between; margin-bottom: 5px; }
.dv-note-ts {
  font-family: var(--font-data);
  font-size: 10px;
  color: var(--text-tertiary);
  letter-spacing: 0.04em;
}
.dv-note-author {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 600;
  color: var(--text-tertiary);
  letter-spacing: 0.05em;
}
.dv-note-body {
  font-family: var(--font-ui);
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.55;
  padding-left: 9px;
  border-left: 2px solid var(--border-default);
}
.dv-note-body strong { color: var(--text-primary); font-weight: 400; }
.dv-note-del {
  float: right;
  background: none;
  border: none;
  color: var(--text-tertiary);
  cursor: pointer;
  font-size: 11px;
  margin-left: 6px;
  padding: 0 3px;
  border-radius: 3px;
}
.dv-note-del:hover { color: var(--score-ring-low); }
.dv-note-empty {
  font-family: var(--font-ui);
  font-size: 13px;
  color: var(--text-tertiary);
  padding: 6px 0;
}
.dv-note-add {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid var(--border-default);
  flex-shrink: 0;
}
.dv-note-inp {
  width: 100%;
  background: var(--surface-overlay);
  border: 1px solid var(--border-strong);
  border-radius: 5px;
  padding: 8px 10px;
  color: var(--text-primary);
  font-family: var(--font-ui);
  font-size: 13px;
  resize: none;
  height: 64px;
  outline: none;
  box-sizing: border-box;
}
.dv-note-inp::placeholder { color: var(--text-tertiary); }
.dv-note-inp:focus { border-color: var(--accent); }
.dv-note-save {
  margin-top: 5px;
  width: 100%;
  background: var(--surface-overlay);
  border: 1px solid var(--border-strong);
  color: var(--text-secondary);
  padding: 6px;
  border-radius: 5px;
  font-family: var(--font-ui);
  font-size: 12px;
  cursor: pointer;
}
.dv-note-save:hover { color: var(--text-primary); background: var(--border-subtle); }
.dv-note-hint {
  margin-top: 5px;
  font-family: var(--font-ui);
  font-size: 10px;
  color: var(--text-tertiary);
}

@media (max-width: 900px) {
  .dv-main { grid-template-columns: 1fr; }
  .dv-right { max-height: 320px; border-top: 1px solid var(--border-default); }
  .dv-pgrid { grid-template-columns: 1fr; }
  .dv-prow { border-right: none; }
  .dv-hero { flex-direction: column; }
  .dv-score-block { align-items: flex-start; }
}

/* =========================
   DEAL VIEW v2 – Fixes
========================= */

.modal-backdrop {
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

.dv-left {
  padding-bottom: 72px !important;
}

.dv-right {
  display: grid !important;
  grid-template-rows: 1fr auto !important;
  overflow: hidden !important;
}

.dv-notes {
  display: grid !important;
  grid-template-rows: auto 1fr auto !important;
  padding: 14px 16px !important;
  overflow: hidden !important;
  min-height: 0 !important;
}

.dv-notes-head { flex-shrink: 0; }

.dv-notes-list {
  overflow-y: auto;
  min-height: 0;
  padding-right: 2px;
}

.dv-note-add {
  margin-top: 0 !important;
  padding-top: 12px;
  border-top: 1px solid var(--border-default);
  flex-shrink: 0;
}

/* =========================
   TOP 5 DEALS MODAL
========================= */
#weeklyTop5Backdrop {
  position: fixed;
  inset: 0;
  background: var(--overlay);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px 16px;
  z-index: 1000;
}
.top5-modal {
  background: var(--surface-raised);
  border: 1px solid var(--border-default);
  border-radius: var(--radius);
  width: 100%;
  max-width: 820px;
  max-height: calc(100vh / var(--app-zoom, 1) - 64px);
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 60px rgba(0,0,0,0.18);
  overflow: hidden;
}
.t5-topbar {
  display: flex;
  align-items: center;
  padding: 0 24px;
  gap: 8px;
  height: 48px;
  flex-shrink: 0;
  background: var(--surface-raised);
  border-bottom: 1px solid var(--border-default);
}
.t5-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
  flex: 1;
}
.t5-title .t5-accent { color: var(--accent); }
.t5-timebar {
  padding: 10px 24px;
  border-bottom: 1px solid var(--border-default);
  background: var(--surface-overlay);
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.t5-timelabel {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-tertiary);
  margin-right: 4px;
}
.t5-meta {
  margin-left: auto;
  font-size: 11px;
  color: var(--text-tertiary);
}
.t5-list {
  overflow-y: auto;
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}
.t5-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 16px;
  font-size: 13px;
  color: var(--text-tertiary);
  text-align: center;
}
.t5-row {
  background: var(--surface-raised);
  border: 1px solid var(--border-default);
  border-radius: 8px;
  padding: 14px 18px;
  display: grid;
  grid-template-columns: 32px 1fr auto;
  gap: 14px;
  align-items: start;
}
.t5-row--top {
  border-color: var(--accent);
  background: var(--accent-subtle);
}
.t5-rank {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--surface-overlay);
  border: 1px solid var(--border-strong);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  color: var(--text-secondary);
  flex-shrink: 0;
  margin-top: 1px;
}
.t5-rank--gold {
  background: rgba(245,158,11,0.12);
  border-color: rgba(245,158,11,0.35);
  color: var(--score-ring-medium);
}
.t5-body { min-width: 0; }
.t5-head {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
  flex-wrap: wrap;
}
.t5-id {
  font-family: var(--font-data);
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}
.t5-id--link {
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: var(--border-default);
}
.t5-id--link:hover {
  color: var(--accent);
  text-decoration-color: var(--accent);
}
.t5-kpis {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}
.t5-kpi { font-size: 12px; color: var(--text-secondary); }
.t5-kpi strong {
  color: var(--text-primary);
  font-weight: 600;
  font-family: var(--font-data);
}
.t5-why {
  background: var(--surface-overlay);
  border: 1px solid var(--border-subtle);
  border-radius: 5px;
  padding: 6px 10px;
  font-size: 11px;
  color: var(--text-secondary);
  line-height: 1.5;
}
.t5-why strong { color: var(--accent); font-weight: 600; }
.t5-score { text-align: right; flex-shrink: 0; }
.t5-score-num {
  font-family: var(--font-data);
  font-size: 28px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -1px;
}
.t5-score-num.high { color: var(--score-ring-high); }
.t5-score-num.mid  { color: var(--score-ring-medium); }
.t5-score-num.low  { color: var(--score-ring-low); }
.t5-score-max { font-size: 11px; color: var(--text-tertiary); font-weight: 600; }
.t5-peer {
  display: inline-block;
  margin-top: 5px;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 3px;
  border: 1px solid;
}
.t5-peer.high {
  color: var(--score-ring-high);
  border-color: rgba(0,223,193,0.25);
  background: rgba(0,223,193,0.07);
}
.t5-peer.mid {
  color: var(--score-ring-medium);
  border-color: rgba(245,158,11,0.25);
  background: rgba(245,158,11,0.07);
}
.t5-peer.low {
  color: var(--score-ring-low);
  border-color: rgba(239,68,68,0.25);
  background: rgba(239,68,68,0.07);
}
.t5-peercount {
  font-size: 10px;
  color: var(--text-tertiary);
  margin-top: 3px;
}
.t5-peercount--singleton {
  color: var(--score-ring-medium);
  font-size: 11px;
  font-weight: 600;
  margin-top: 5px;
}
.t5-footer {
  padding: 9px 16px;
  border-top: 1px solid var(--border-default);
  font-size: 11px;
  color: var(--text-tertiary);
  background: var(--surface-overlay);
}

/* =========================================================
   APP-HEADER v2 (Design System v2 §5/§6/§11)
   Fix dark — unabhängig vom Theme-Toggle (Dark-First-Doku).
   Brand + Nav-Tabs + Utils in EINER 52px-Bar, sticky.
========================================================= */
header.app-header {
  position: sticky;
  top: 0;
  z-index: 40;
  height: 52px;
  background: #111827;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  box-shadow: none;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 20px;
}

.hdr-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.hdr-mark { color: #00dfc1; font-size: 1.3rem; line-height: 1; }
.hdr-name {
  font-size: 1rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #f0f4ff;
  line-height: 1.15;
}
.hdr-sub {
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #8892a4;
  line-height: 1.1;
}

.hdr-nav {
  flex: 1;
  display: flex;
  justify-content: center;
  /* "safe": bei Overflow links ausrichten statt beidseitig zu clippen */
  justify-content: safe center;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
header.app-header .viewnav-tab {
  cursor: pointer;
  background: transparent;
  border: none;
  border-bottom: none;
  border-radius: 6px;
  padding: 6px 13px;
  font-family: var(--font-ui);
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #8892a4;
  line-height: 1;
  white-space: nowrap;
}
header.app-header .viewnav-tab:hover,
header.app-header .viewnav-tab:focus {
  background: rgba(0,223,193,0.08);
  color: #f0f4ff;
  border-bottom: none;
}
header.app-header .viewnav-tab.active {
  background: #00dfc1;
  color: #000;
  border-bottom: none;
  font-weight: 600;
}

.hdr-utils {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.hdr-fund {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(0,223,193,0.08);
  border: 1px solid rgba(0,223,193,0.2);
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 0.78rem;
  font-weight: 600;
  color: #f0f4ff;
  white-space: nowrap;
}
.hdr-fund[hidden] { display: none; }
.hdr-user {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 0.78rem;
  font-weight: 600;
  color: #f0f4ff;
  white-space: nowrap;
}
.hdr-user[hidden] { display: none; }
.hdr-user-ini {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(0,223,193,0.15);
  border: 1px solid rgba(0,223,193,0.3);
  color: #00dfc1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  flex-shrink: 0;
}
#userBadgeName { max-width: 130px; overflow: hidden; text-overflow: ellipsis; }
.hdr-fund-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #00dfc1;
}
.hdr-btn {
  background: transparent;
  color: #8892a4;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 7px;
  padding: 6px 12px;
  font-family: var(--font-ui);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.15s, background 0.15s, border-color 0.15s;
}
.hdr-btn:hover {
  color: #f0f4ff;
  background: rgba(0,223,193,0.08);
}
.hdr-btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0,223,193,0.1);
}
.hdr-btn--top5 {
  color: #00dfc1;
  border-color: #00dfc1;
}
.hdr-btn--top5:hover { background: rgba(0,223,193,0.08); color: #00dfc1; }

/* Overlap-Schutz: Die zentrierte Nav darf bei Platzmangel nie unter die
   Utils laufen (Tabs wurden sonst unklickbar, z.B. Anfragen bei 1280px).
   overflow-x hält die Tabs im eigenen Flex-Item; Scrollbar bleibt unsichtbar. */
.hdr-nav { overflow-x: auto; scrollbar-width: none; }
.hdr-nav::-webkit-scrollbar { display: none; }
#fundBadgeName { max-width: 140px; overflow: hidden; text-overflow: ellipsis; }

@media (max-width: 1480px) {
  .hdr-sub { display: none; }
  header.app-header { gap: 12px; }
  header.app-header .viewnav-tab { padding: 6px 9px; letter-spacing: 0.02em; }
  .hdr-btn { padding: 6px 9px; }
  #fundBadgeName { max-width: 100px; }
  #userBadgeName { max-width: 90px; }
}

@media (max-width: 1360px) {
  /* Platz schaffen: Fund nur als Punkt (Name im Tooltip), User-Name bleibt sichtbar */
  #fundBadgeName { display: none; }
  .hdr-fund { padding: 4px 8px; }
  .hdr-nav { gap: 4px; }
  header.app-header .viewnav-tab { padding: 6px 7px; }
  .hdr-btn { padding: 6px 7px; }
}

@media (max-width: 1240px) {
  /* flex-start statt center: zentrierter Overflow wäre links unerreichbar abgeschnitten */
  .hdr-nav { justify-content: flex-start; }
  header.app-header .viewnav-tab { padding: 6px 7px; font-size: 0.72rem; }
  .hdr-fund { padding: 4px 8px; }
  #fundBadgeName { max-width: 70px; }
  /* User-Badge nur als Initialen-Kreis, Name im title-Tooltip */
  #userBadgeName { display: none; }
  .hdr-btn { font-size: 0.7rem; padding: 5px 7px; }
}

@media (max-width: 1100px) {
  header.app-header .viewnav-tab { padding: 6px 8px; letter-spacing: 0.02em; }
}

/* =========================================================
   DETAILANSICHT v2 — 1:1 nach Mockup (Pixel-Farbanalyse)
   Farb-Logik laut Mockup: positive Werte + Score = Teal #00dfc1,
   negative = Rot; LinkedIn/Kontext-Stage = Blau #0a84ff;
   Push to CRM = Lila #a78bfa; Plausibility = Grün #10b981;
   Sektions-Titel gedämpft. Währungen mit €-Präfix.
========================================================= */
#modalBackdrop {
  --surface-base: #0b0f1a;
  --surface-raised: #111827;
  --surface-overlay: #1a2235;
  --text-primary: #f0f4ff;
  --text-secondary: #8892a4;
  --text-tertiary: #4e5a72;
  --border-default: rgba(255,255,255,0.06);
  --border-subtle: rgba(255,255,255,0.06);
  --border-strong: rgba(255,255,255,0.12);
  --accent: #00dfc1;
  --score-ring-high: #00dfc1;   /* Mockup: Score/positive Werte teal */
  --score-ring-medium: #f59e0b;
  --score-ring-low: #ef4444;
  --font-data: 'IBM Plex Sans', sans-serif; /* nie Mono für Zahlen */
}

/* Header bleibt sichtbar */
#modalBackdrop.modal-backdrop { inset: 52px 0 0 0; z-index: 39; }
#modalBackdrop .modal {
  /* Backdrop hat bereits inset:52px 0 0 0 — 100% = Viewport minus Header,
     unabhaengig vom body-zoom (100dvh-Werte wuerden mitskaliert). */
  height: 100% !important;
  max-height: 100% !important;
  overflow-y: auto !important;
  display: block;
}

/* ── Topbar: Surface-Leiste, sticky ── */
#modalBackdrop .dv-topbar {
  position: sticky;
  top: 0;
  z-index: 5;
  background: var(--surface-raised);
  border-bottom: 1px solid var(--border-default);
  height: 46px;
  padding: 0 20px;
  gap: 8px;
}
#modalBackdrop .dv-topbar-id {
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 700;
  font-size: 14px;
  color: #eef2ff;
}
#modalBackdrop .dv-btn {
  background: var(--surface-overlay);
  border: 1px solid rgba(255,255,255,0.08);
  color: #aeb7c8;
  border-radius: 10px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 600;
}
#modalBackdrop .dv-btn:hover { color: #f0f4ff; border-color: var(--border-strong); }
#modalBackdrop .dv-btn-crm {
  background: rgba(167,139,250,0.1);
  border-color: rgba(167,139,250,0.45);
  color: #a78bfa;
  font-weight: 700;
}
#modalBackdrop .dv-btn-crm:hover { background: rgba(167,139,250,0.18); color: #a78bfa; }
#modalBackdrop .dv-btn-prim {
  background: rgba(0,223,193,0.1);
  border: 1px solid rgba(0,223,193,0.5);
  color: #00dfc1;
  font-weight: 700;
}
#modalBackdrop .dv-btn-prim:hover { background: rgba(0,223,193,0.18); opacity: 1; }
#modalBackdrop .dv-btn-close { background: var(--surface-overlay); opacity: 1; color: #8892a4; }

/* ── Grundraster ── */
#modalBackdrop .dv-main {
  display: grid;
  grid-template-columns: minmax(0,1fr) 300px;
  gap: 16px;
  align-items: start;
  padding: 15px 20px;
  overflow: visible;
  height: auto;
  min-height: 0;
}
#modalBackdrop .dv-left { overflow: visible; border-right: none; min-width: 0; }
#modalBackdrop .dv-right {
  overflow: visible;
  background: transparent;
  position: sticky;
  top: 64px;
}

/* ── Hero-Karte ── */
#modalBackdrop .dv-hero {
  background: var(--surface-raised);
  border: 1px solid var(--border-default);
  border-bottom: 1px solid var(--border-default);
  border-radius: 14px;
  padding: 20px 24px;
  margin: 0 0 18px;
}
#modalBackdrop .dv-hero-name { font-size: 26px; font-weight: 700; gap: 12px; margin-bottom: 12px; }
/* Hero-Badges: nur farbiger Text, keine Tönung/Rahmen (User-Wunsch Juni 2026) */
#modalBackdrop .dv-pill {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 0;
  background: none;
  border: none;
  color: #8b97b3;
}
#modalBackdrop .dv-pill-stage { color: #00dfc1; }
#modalBackdrop .dv-pill-pass  { color: #10b981; }
#modalBackdrop .dv-pill-warn  { color: #f59e0b; }
#modalBackdrop .dv-pill-fail  { color: #ef4444; }
#modalBackdrop .dv-hero-desc { font-size: 14px; color: #8b97b3; line-height: 1.6; max-width: 700px; }

/* Score-Block */
#modalBackdrop .dv-score-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #8b97b3;
}
#modalBackdrop .dv-score-number { font-size: 36px; font-weight: 700; letter-spacing: -1px; }
#modalBackdrop .dv-score-ruleset { font-size: 14px; color: #8b97b3; margin-top: 2px; }
#modalBackdrop .dv-score-info {
  border: 1px solid var(--border-strong);
  border-radius: 10px;
  padding: 6px 12px;
  font-size: 13px;
  color: #8b97b3;
  margin-top: 8px;
}

/* ── Sektionen: Titel gedämpft (Mockup), Linie rechts ── */
#modalBackdrop .dv-section { border-bottom: none; margin: 0 0 20px; }
#modalBackdrop .dv-sec-head { padding: 0 2px 10px; }
#modalBackdrop .dv-sec-title {
  color: #4e5a72;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.12em;
}

/* ── Property-Zeilen als Boxen ── */
#modalBackdrop .dv-pgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 12px;
}
#modalBackdrop .dv-prow {
  background: var(--surface-raised);
  border: 1px solid var(--border-default);
  border-radius: 10px;
  height: 38px;
  padding: 0 16px;
}
#modalBackdrop .dv-prow:nth-child(even) { border-right: 1px solid var(--border-default); }
#modalBackdrop .dv-prow:hover { background: #131c2e; }
#modalBackdrop .dv-pl { font-size: 13px; width: auto; color: #4e5a72; font-weight: 500; }
#modalBackdrop .dv-pv {
  margin-left: auto;
  text-align: right;
  font-weight: 700;
  font-size: 14px;
}
#modalBackdrop .dv-pv.g { color: #00dfc1; }
#modalBackdrop .dv-kx-stage { color: #0a84ff; }

/* ── Founder-Cards ── */
#modalBackdrop .dv-founders { padding: 0; }
#modalBackdrop .dv-founder-card {
  background: var(--surface-raised);
  border: 1px solid var(--border-default);
  border-top: 1px solid var(--border-default);
  border-radius: 12px;
  margin: 0 0 10px;
  padding: 12px 16px;
}
#modalBackdrop .dv-founder-card:first-child { border-top: 1px solid var(--border-default); margin-top: 0; }
#modalBackdrop .dv-founder-head { margin-bottom: 6px; }
#modalBackdrop .dv-founder-name { font-size: 15px; font-weight: 700; color: #f0f4ff; }
#modalBackdrop .dv-founder-role { color: #8892a4; font-weight: 600; font-size: 13px; }
#modalBackdrop .dv-founder-link { color: #0a84ff; font-size: 13px; text-decoration: none; }
#modalBackdrop .dv-founder-link:hover { color: #3f9fff; text-decoration: none; }
#modalBackdrop .dv-frow { border: none; padding: 2.5px 0; font-size: 13px; line-height: 1.45; min-height: 0; }
#modalBackdrop .dv-fpl { font-size: 12.5px; color: #4e5a72; width: 95px; flex-shrink: 0; line-height: 1.45; padding: 0; }
#modalBackdrop .dv-fpv { font-size: 13px; color: #8b97b3; font-weight: 500; line-height: 1.45; padding: 0; }
#modalBackdrop .dv-team-note {
  background: var(--surface-raised);
  border: 1px solid var(--border-default);
  border-radius: 10px;
  padding: 12px 16px;
  margin: 0;
  color: #8b97b3;
}

/* ── Notes: Panel --s2, Notizen als dunklere Boxen ── */
#modalBackdrop .dv-notes {
  background: var(--surface-overlay);
  border: 1px solid var(--border-default);
  border-radius: 12px;
  padding: 14px;
  flex: none;
}
#modalBackdrop .dv-notes-title {
  color: #8b97b3;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 11px;
}
#modalBackdrop .dv-note-entry {
  background: var(--surface-raised);
  border: 1px solid var(--border-default);
  border-radius: 10px;
  border-bottom: 1px solid var(--border-default);
  padding: 12px 14px;
  margin-bottom: 10px;
}
#modalBackdrop .dv-note-entry:last-of-type { border-bottom: 1px solid var(--border-default); margin-bottom: 10px; }
#modalBackdrop .dv-note-ts {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.04em;
  color: #8892a4;
}
#modalBackdrop .dv-note-author { color: #f0f4ff; font-weight: 700; font-size: 12px; }
#modalBackdrop .dv-note-body { color: #8b97b3; font-size: 13px; line-height: 1.5; }
#modalBackdrop .dv-note-inp {
  background: var(--surface-raised);
  border: 1px solid var(--border-default);
  border-radius: 10px;
  color: var(--text-primary);
  font-family: var(--font-ui);
  min-height: 90px;
  padding: 10px 12px;
}
#modalBackdrop .dv-note-inp::placeholder { color: #4e5a72; }
#modalBackdrop .dv-note-inp:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(0,223,193,0.1);
}
#modalBackdrop .dv-note-save {
  width: 100%;
  background: rgba(0,223,193,0.1);
  border: 1px solid rgba(0,223,193,0.5);
  color: #00dfc1;
  border-radius: 10px;
  padding: 11px;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  margin-top: 10px;
}
#modalBackdrop .dv-note-save:hover { background: rgba(0,223,193,0.18); }
#modalBackdrop .dv-note-hint { text-align: center; color: #4e5a72; font-size: 12px; margin-top: 8px; }

@media (max-width: 980px) {
  #modalBackdrop .dv-main { grid-template-columns: 1fr; }
  #modalBackdrop .dv-right { position: static; }
}

/* Notes-Meta: Zeit + Autor links nebeneinander (Mockup); Delete dezent */
#modalBackdrop .dv-note-meta { justify-content: flex-start; gap: 10px; }
#modalBackdrop .dv-note-del { opacity: 0.25; }
#modalBackdrop .dv-note-entry:hover .dv-note-del { opacity: 1; }

/* =========================================================
   SUBMISSIONS-VIEW v2 — 1:1 nach Mockup (Pixel-Farbanalyse)
   body.v2-dark wird in setActiveNav() für umgestellte Views
   gesetzt. Token-Remap scoped auf #viewSubmissions.
   Farb-Logik laut Mockup: Score grün/gelb/rot (#10b981/#f59e0b/
   #ef4444), Stage nach Doku §8 (Pre-Seed gelb, Seed lila,
   Series teal), Plausibility Failed = rot @80%.
========================================================= */
body.v2-dark { background: #0b0f1a; }

#viewSubmissions {
  --surface-base: #0b0f1a;
  --surface-raised: #111827;
  --surface-overlay: #1a2235;
  --text-primary: #f0f4ff;
  --text-secondary: #8892a4;
  --text-tertiary: #4e5a72;
  --border-default: rgba(255,255,255,0.06);
  --border-subtle: rgba(255,255,255,0.06);
  --border-strong: rgba(255,255,255,0.12);
  --accent: #00dfc1;
  --score-ring-high: #10b981;
  --score-ring-medium: #f59e0b;
  --score-ring-low: #ef4444;
  padding-top: 10px;
}

/* ── Kopf: Titel + Subtitle links, Filter + Export rechts ── */
#viewSubmissions .subs2-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
#viewSubmissions .panelhead { margin: 0; padding: 0; display: block; }
#viewSubmissions .panelhead h2 {
  color: #f0f4ff;
  font-size: 17px;
  font-weight: 700;
  margin: 0 0 3px;
}
#viewSubmissions .panelhead .note {
  color: #4e5a72;
  font-size: 12.5px;
  background: none;
  border: none;
  padding: 0;
  border-radius: 0;
  font-weight: 400;
}
#viewSubmissions .subs2-head-actions { display: flex; gap: 8px; align-items: center; }
#viewSubmissions .subs2-head-actions .select {
  background: #1a2235;
  border: 1px solid rgba(255,255,255,0.08);
  color: #8b97b3;
  border-radius: 10px;
  padding: 8px 12px;
  font-size: 12.5px;
  font-weight: 600;
}
#viewSubmissions .subs2-head-actions .btn {
  white-space: nowrap;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.1);
  color: #aeb7c8;
  border-radius: 10px;
  padding: 8px 14px;
  font-size: 12.5px;
  font-weight: 600;
  box-shadow: none;
}
#viewSubmissions .subs2-head-actions .btn:hover { color: #f0f4ff; background: rgba(0,223,193,0.06); }

/* ── Bulk-Bar ── */
#viewSubmissions .bulk-toolbar {
  background: #1a2235;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px;
  padding: 9px 14px;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  box-shadow: none;
}
#viewSubmissions .bulk-toolbar .bulk-count {
  color: #00dfc1;
  font-size: 13px;
  font-weight: 600;
  background: none;
  border: none;
  padding: 0;
}
#viewSubmissions .bulk-actions { display: flex; gap: 8px; }
#viewSubmissions .bulk-toolbar .btn {
  border-radius: 8px;
  padding: 7px 16px;
  font-size: 12.5px;
  font-weight: 700;
  box-shadow: none;
}
#viewSubmissions #submBulkAccept {
  background: #00dfc1;
  border: 1px solid #00dfc1;
  color: #000;
}
#viewSubmissions #submBulkAccept:hover { filter: brightness(1.06); }
#viewSubmissions #submBulkDecline {
  background: transparent;
  border: 1px solid rgba(239,68,68,0.3);
  color: rgba(239,68,68,0.85);
}
#viewSubmissions #submBulkDecline:hover { background: rgba(239,68,68,0.08); }
#viewSubmissions #submBulkDeselect {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.1);
  color: #8b97b3;
  font-weight: 600;
}
#viewSubmissions #submBulkDeselect:hover { color: #f0f4ff; }

/* ── Tabelle: transparent auf Page-BG, Border + Radius ── */
#viewSubmissions .subs2-wrap {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px;
  box-shadow: none;
}
#viewSubmissions .subs2-wrap thead tr { background: transparent; }
#viewSubmissions .subs2-wrap tbody tr { border-top: 1px solid rgba(255,255,255,0.06); }
#viewSubmissions .subs2-wrap tbody tr:hover { background: rgba(255,255,255,0.02) !important; }
#viewSubmissions .subs2-wrap tbody tr.bulk-selected,
#viewSubmissions .subs2-wrap tbody tr.bulk-selected:hover { background: rgba(0,223,193,0.05) !important; }

/* Checkboxen: hell mit Teal-Checked (wie Mockup) */
#viewSubmissions input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #00dfc1;
  color-scheme: light;
  cursor: pointer;
}

/* ── Zellen ── */
#viewSubmissions .subs2-name { color: #f0f4ff; font-size: 15px; font-weight: 700; }
#viewSubmissions .subs2-id {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  color: #4e5a72;
  margin-top: 2px;
}
#viewSubmissions .subs2-sector-main { color: #f0f4ff; font-size: 13.5px; font-weight: 500; }
#viewSubmissions .subs2-sector-sub { color: #4e5a72; font-size: 11.5px; margin-top: 1px; }
#viewSubmissions .subs2-stage { font-size: 13px; font-weight: 700; text-align: center; color: #f0f4ff; }
/* Stage bewusst einfarbig weiß (kein Farb-Coding mehr) – -pre/-seed/-series bleiben als Hook, erben jetzt weiß */
#viewSubmissions .subs2-stage-pre,
#viewSubmissions .subs2-stage-seed,
#viewSubmissions .subs2-stage-series { color: #f0f4ff; }
#viewSubmissions .subs2-score-val.high { color: #10b981; }
#viewSubmissions .subs2-score-val.mid  { color: #f59e0b; }
#viewSubmissions .subs2-score-val.low  { color: #ef4444; }
#viewSubmissions .subs2-plaus-label { font-size: 13px; font-weight: 600; display: inline-flex; gap: 6px; align-items: center; text-transform: none; letter-spacing: 0; }
#viewSubmissions .subs2-plaus-label.passed  { color: #10b981; }
#viewSubmissions .subs2-plaus-label.flagged { color: #f59e0b; }
#viewSubmissions .subs2-plaus-label.failed  { color: rgba(239,68,68,0.8); }
#viewSubmissions .subs2-infoicon {
  background: none;
  border: none;
  color: #4e5a72;
  cursor: pointer;
  font-size: 12px;
  padding: 0 2px;
}
#viewSubmissions .subs2-infoicon:hover { color: #8892a4; }
#viewSubmissions .subs2-date { color: #8892a4; font-size: 13px; }

/* ── Zeilen-Aktionen ── */
#viewSubmissions .subs2-actions-inner { display: flex; gap: 8px; justify-content: flex-end; }
#viewSubmissions .subs2-btn-accept {
  background: #00dfc1;
  border: none;
  color: #000;
  border-radius: 8px;
  padding: 7px 14px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
#viewSubmissions .subs2-btn-accept:hover { filter: brightness(1.06); }
#viewSubmissions .subs2-btn-decline {
  background: transparent;
  border: 1px solid rgba(239,68,68,0.25);
  color: rgba(239,68,68,0.75);
  border-radius: 8px;
  padding: 7px 14px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
#viewSubmissions .subs2-btn-decline:hover { background: rgba(239,68,68,0.08); }

/* Leerzustand */
#viewSubmissions .empty { color: #8892a4; background: transparent; border: 1px dashed rgba(255,255,255,0.1); }
/* Dichte wie Mockup: Zeilen 57px, Kopf 39px */
#viewSubmissions .subs2-wrap thead th { padding: 12px 14px !important; }
#viewSubmissions .subs2-wrap tbody td { padding: 9px 14px !important; }

/* =========================================================
   PIPELINE-VIEW v2 — 1:1 nach Mockup (Juni 2026)
   Token-Remap scoped auf #viewPipeline (wie #viewSubmissions).
   Spalten: Startup, Sektor, Stage, Score, Pipeline-Status mit
   Farb-Dot, Zugewiesen (Fund-Mitarbeiter + Position),
   Zuletzt aktiv (Zeit + "Person · Aktion"), Aktionen.
========================================================= */
#viewPipeline {
  --surface-base: #0b0f1a;
  --surface-raised: #111827;
  --surface-overlay: #1a2235;
  --text-primary: #f0f4ff;
  --text-secondary: #8892a4;
  --text-tertiary: #4e5a72;
  --border-default: rgba(255,255,255,0.06);
  --border-subtle: rgba(255,255,255,0.06);
  --border-strong: rgba(255,255,255,0.12);
  --accent: #00dfc1;
  --score-ring-high: #10b981;
  --score-ring-medium: #f59e0b;
  --score-ring-low: #ef4444;
  padding-top: 10px;
}

/* ── Kopf ── */
#viewPipeline .pipe3-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
#viewPipeline .panelhead { margin: 0; padding: 0; display: block; }
#viewPipeline .panelhead h2 { color: #f0f4ff; font-size: 17px; font-weight: 700; margin: 0 0 3px; }
#viewPipeline .panelhead .note {
  color: #4e5a72;
  font-size: 12.5px;
  background: none;
  border: none;
  padding: 0;
  border-radius: 0;
  font-weight: 400;
}
#viewPipeline .pipe3-head-actions { display: flex; gap: 8px; align-items: center; }
#viewPipeline .pipe3-head-actions .select {
  background: #1a2235;
  border: 1px solid rgba(255,255,255,0.08);
  color: #8b97b3;
  border-radius: 10px;
  padding: 8px 12px;
  font-size: 12.5px;
  font-weight: 600;
}
#viewPipeline .pipe3-head-actions .btn {
  white-space: nowrap;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.1);
  color: #aeb7c8;
  border-radius: 10px;
  padding: 8px 14px;
  font-size: 12.5px;
  font-weight: 600;
  box-shadow: none;
}
#viewPipeline .pipe3-head-actions .btn:hover { color: #f0f4ff; background: rgba(0,223,193,0.06); }

/* ── Stage-Tabs ── */
#viewPipeline .pipe3-tabs {
  display: flex;
  gap: 4px;
  background: #111827;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px;
  padding: 4px;
  margin-bottom: 12px;
  width: fit-content;
  max-width: 100%;
  overflow-x: auto;
}
#viewPipeline .pipe3-tab {
  background: transparent;
  border: none;
  color: #8892a4;
  font-size: 12.5px;
  font-weight: 600;
  padding: 7px 13px;
  border-radius: 8px;
  cursor: pointer;
  white-space: nowrap;
  font-family: inherit;
}
#viewPipeline .pipe3-tab:hover { color: #f0f4ff; }
#viewPipeline .pipe3-tab.active { background: #1a2235; color: #f0f4ff; }
#viewPipeline .pipe3-tab-count {
  background: #00dfc1;
  color: #000;
  font-size: 11px;
  font-weight: 700;
  border-radius: 999px;
  padding: 1px 7px;
  margin-left: 3px;
}
#viewPipeline .pipe3-tab-n { color: #4e5a72; font-size: 11.5px; margin-left: 3px; }
#viewPipeline .pipe3-tab.active .pipe3-tab-n { color: #8892a4; }

/* ── Auswahl-Bar (teal akzentuiert wie Mockup) ── */
#viewPipeline .pipe3-bulkbar {
  background: rgba(0,223,193,0.07);
  border: 1px solid rgba(0,223,193,0.25);
  border-radius: 12px;
  padding: 9px 14px;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
#viewPipeline .pipe3-bulk-count { color: #00dfc1; font-size: 13px; font-weight: 600; }
#viewPipeline .pipe3-bulk-actions { display: flex; gap: 8px; align-items: center; }
#viewPipeline .pipe3-bulk-stage {
  background: #00dfc1;
  border: 1px solid #00dfc1;
  color: #000;
  border-radius: 8px;
  padding: 7px 12px;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  appearance: none;
  -webkit-appearance: none;
}
#viewPipeline #pipeBulkRemove {
  background: transparent;
  border: 1px solid rgba(239,68,68,0.3);
  color: rgba(239,68,68,0.85);
  border-radius: 8px;
  padding: 7px 16px;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
}
#viewPipeline #pipeBulkRemove:hover { background: rgba(239,68,68,0.08); }
#viewPipeline #pipeBulkDeselect {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.1);
  color: #8b97b3;
  border-radius: 8px;
  padding: 7px 16px;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
}
#viewPipeline #pipeBulkDeselect:hover { color: #f0f4ff; }

/* ── Tabelle ── */
#viewPipeline .pipe3-wrap {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px;
  overflow-x: auto;
}
#viewPipeline .pipe3-wrap table { width: 100%; border-collapse: collapse; }
#viewPipeline .pipe3-wrap thead tr { background: transparent; }
#viewPipeline .pipe3-wrap thead th {
  color: #4e5a72 !important;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-align: left;
  padding: 12px 14px;
  white-space: nowrap;
  /* Globale thead-th-Regel (background: var(--soft)) neutralisieren —
     sonst erscheint die Kopfzeile im Light-Theme der Alt-Views weiß */
  background: transparent !important;
  border-bottom: none !important;
  position: static;
}
#viewPipeline .pipe3-wrap tbody td { border-bottom: none !important; }
#viewPipeline .pipe3-wrap tbody tr { border-top: 1px solid rgba(255,255,255,0.06); }
#viewPipeline .pipe3-wrap tbody tr:hover { background: rgba(255,255,255,0.02); }
#viewPipeline .pipe3-wrap tbody tr.bulk-selected,
#viewPipeline .pipe3-wrap tbody tr.bulk-selected:hover {
  background: rgba(0,223,193,0.05);
  box-shadow: inset 2px 0 0 #00dfc1;
}
#viewPipeline .pipe3-wrap tbody td { padding: 10px 14px; vertical-align: middle; }
#viewPipeline input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #00dfc1;
  color-scheme: light;
  cursor: pointer;
}

/* ── Zellen ── */
#viewPipeline .pipe3-name {
  background: none;
  border: none;
  padding: 0;
  color: #f0f4ff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
}
#viewPipeline .pipe3-name:hover { color: #00dfc1; }
#viewPipeline .pipe3-id {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  color: #4e5a72;
  margin-top: 2px;
}
#viewPipeline .pipe3-sector-main { color: #f0f4ff; font-size: 13.5px; font-weight: 500; }
#viewPipeline .pipe3-sector-sub { color: #4e5a72; font-size: 11.5px; margin-top: 1px; }
#viewPipeline .pipe3-stage { font-size: 13px; font-weight: 700; text-align: center; color: #f0f4ff; }
/* Stage bewusst einfarbig weiß (kein Farb-Coding mehr) – -pre/-seed/-series bleiben als Hook, erben jetzt weiß */
#viewPipeline .pipe3-stage-pre,
#viewPipeline .pipe3-stage-seed,
#viewPipeline .pipe3-stage-series { color: #f0f4ff; }
#viewPipeline .pipe3-score-inner { display: inline-flex; align-items: center; gap: 4px; }
#viewPipeline .pipe3-score { text-align: center; }
#viewPipeline .pipe3-score-val { font-size: 15px; font-weight: 700; font-family: 'IBM Plex Mono', monospace; }
#viewPipeline .pipe3-score-val.high { color: #10b981; }
#viewPipeline .pipe3-score-val.mid  { color: #f59e0b; }
#viewPipeline .pipe3-score-val.low  { color: #ef4444; }
#viewPipeline .pipe3-infoicon {
  background: none;
  border: none;
  color: #4e5a72;
  cursor: pointer;
  font-size: 12px;
  padding: 0 2px;
}
#viewPipeline .pipe3-infoicon:hover { color: #8892a4; }

/* Pipeline-Status: Farb-Dot + Label */
#viewPipeline .pipe3-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}
#viewPipeline .pipe3-dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
#viewPipeline .pipe3-st-review    { color: #8892a4; }
#viewPipeline .pipe3-st-contacted { color: #fbbf24; }
#viewPipeline .pipe3-st-hot       { color: #f97316; }
#viewPipeline .pipe3-st-watching  { color: #0a84ff; }
#viewPipeline .pipe3-st-declined  { color: #ef4444; }
#viewPipeline .pipe3-st-synced    { color: #a78bfa; }
#viewPipeline .pipe3-dreason { font-size: 11px; color: #4e5a72; margin-top: 3px; line-height: 1.3; }

/* Zugewiesen */
#viewPipeline .pipe3-assignee { color: #f0f4ff; font-size: 13.5px; font-weight: 500; white-space: nowrap; }
#viewPipeline .pipe3-assignee-role { color: #4e5a72; font-size: 11.5px; margin-top: 1px; }

/* Zuletzt aktiv */
#viewPipeline .pipe3-act-time { color: #f0f4ff; font-size: 13px; white-space: nowrap; }
#viewPipeline .pipe3-act-detail { color: #4e5a72; font-size: 11.5px; margin-top: 1px; white-space: nowrap; }

/* ── Zeilen-Aktionen ── */
/* Festes 3-Spalten-Raster: Detail | Stage | CRM — Buttons fluchten über alle Zeilen */
#viewPipeline .pipe3-actions-inner {
  display: grid;
  grid-template-columns: 88px 110px;
  gap: 8px;
  justify-content: end;
  align-items: center;
}
#viewPipeline .pipe3-actions-inner > * { width: 100%; box-sizing: border-box; text-align: center; }
#viewPipeline .pipe3-slot { display: inline-block; }
#viewPipeline .pipe3-stagesel {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.1);
  color: #aeb7c8;
  border-radius: 8px;
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  appearance: none;
  -webkit-appearance: none;
  text-align: center;
  text-align-last: center;
}
#viewPipeline .pipe3-stagesel:hover { color: #f0f4ff; }
#viewPipeline .pipe3-stagesel option { background: #1a2235; color: #f0f4ff; }
#viewPipeline .pipe3-crm {
  background: #00dfc1;
  border: none;
  color: #000;
  border-radius: 8px;
  padding: 7px 14px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
}
#viewPipeline .pipe3-crm:hover { filter: brightness(1.06); }
#viewPipeline .pipe3-incrm { color: #a78bfa; font-size: 12.5px; font-weight: 700; white-space: nowrap; }

/* Leerzustand */
#viewPipeline .empty { color: #8892a4; background: transparent; border: 1px dashed rgba(255,255,255,0.1); }

/* =========================================================
   COMPARE-VIEW v2 — 1:1 nach Mockup (Juni 2026)
   Token-Remap scoped auf #viewCompare (wie #viewPipeline).
   Deals als Zeilen, Metriken als Spalten. Farblogik Doku §9:
   Balken und Wert tragen exakt dieselbe Hex-Farbe — Best
   #22c55e (+BEST-Label), Good #86efac, Weak #6b7280, Bad
   #ef4444. Stage-Dots nach Doku §8. Farben kommen als
   Inline-Styles aus renderCompare (main.js).
========================================================= */
#viewCompare {
  --surface-base: #0b0f1a;
  --surface-raised: #111827;
  --surface-overlay: #1a2235;
  --text-primary: #f0f4ff;
  --text-secondary: #8892a4;
  --text-tertiary: #4e5a72;
  --border-default: rgba(255,255,255,0.06);
  --border-subtle: rgba(255,255,255,0.06);
  --border-strong: rgba(255,255,255,0.12);
  --accent: #00dfc1;
  padding-top: 10px;
}

/* ── Kopf: Titel + Subline links, Export / Liste leeren rechts ── */
#viewCompare .cmp3-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
#viewCompare .panelhead { margin: 0; padding: 0; display: block; }
#viewCompare .panelhead h2 { color: #f0f4ff; font-size: 17px; font-weight: 700; margin: 0 0 3px; }
#viewCompare .panelhead .note {
  color: #8892a4;
  font-size: 12.5px;
  background: none;
  border: none;
  padding: 0;
  border-radius: 0;
  font-weight: 400;
}
#viewCompare .cmp3-actions { display: flex; gap: 8px; align-items: center; }
#viewCompare .cmp3-btn {
  white-space: nowrap;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.1);
  color: #aeb7c8;
  border-radius: 8px;
  padding: 7px 14px;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  box-shadow: none;
}
#viewCompare .cmp3-btn:hover { color: #f0f4ff; background: rgba(0,223,193,0.06); }
#viewCompare .cmp3-btn-danger {
  border-color: rgba(239,68,68,0.25);
  color: rgba(239,68,68,0.8);
}
#viewCompare .cmp3-btn-danger:hover { color: #ef4444; background: rgba(239,68,68,0.08); }

/* ── Tabelle ── */
#viewCompare .cmp3-wrap {
  background: #111827;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px;
  overflow: auto;
}
#viewCompare .cmp3-table { width: 100%; border-collapse: collapse; min-width: 1080px; table-layout: fixed; }
#viewCompare .cmp3-table thead tr { background: rgba(11,15,26,0.55); }
#viewCompare .cmp3-table thead th {
  /* Globale thead-th-Regel (background: var(--soft)) neutralisieren —
     der dunkle Kopfstreifen liegt auf dem tr (s.o.) */
  background: transparent !important;
  border-bottom: none !important;
  position: static;
  padding: 10px 16px 9px;
  text-align: center;
  vertical-align: middle;
}
#viewCompare .cmp3-th-l {
  color: #8892a4;
  font-size: 10.7px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
#viewCompare .cmp3-th-s {
  color: rgba(136,146,164,0.6);
  font-size: 9.6px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  margin-top: 2px;
  white-space: nowrap;
}
#viewCompare .cmp3-table tbody tr { border-top: 1px solid rgba(255,255,255,0.06); }
#viewCompare .cmp3-table tbody tr:hover { background: rgba(255,255,255,0.02); }
#viewCompare .cmp3-table tbody td {
  border-bottom: none !important;
  padding: 11px 16px;
  vertical-align: middle;
}

/* Namensspalte */
#viewCompare .cmp3-th-name { width: 190px; }
#viewCompare .cmp3-name-td { text-align: left; padding-left: 20px; }
#viewCompare .cmp3-name {
  background: none;
  border: none;
  padding: 0;
  color: #f0f4ff;
  font-size: 14.5px;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
}
#viewCompare .cmp3-name:hover { color: #00dfc1; }
#viewCompare .cmp3-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #8892a4;
  font-size: 11.5px;
  margin-top: 4px;
  white-space: nowrap;
}
#viewCompare .cmp3-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }

/* Metrik-Zelle: Mini-Balken oben, Wert (+BEST) darunter — beides zentriert */
#viewCompare .cmp3-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
#viewCompare .cmp3-bar {
  width: 88px;
  height: 2px;
  border-radius: 99px;
  background: rgba(255,255,255,0.05);
  overflow: hidden;
}
#viewCompare .cmp3-fill { height: 100%; border-radius: 99px; }
#viewCompare .cmp3-vrow { display: flex; align-items: baseline; gap: 6px; }
#viewCompare .cmp3-val {
  font-size: 14px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
#viewCompare .cmp3-val-na { color: #4e5a72; font-weight: 400; }
#viewCompare .cmp3-best {
  font-size: 9.3px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.7;
  white-space: nowrap;
}

/* Leerzustand */
#viewCompare .cmp3-empty {
  padding: 24px 20px;
  color: #8892a4;
  font-size: 13px;
  font-weight: 500;
  text-align: left;
}
