/* Points / Vaults ▸ GLV Vaults (nativ seit 16.10.2026, modules/glvTab.js).
   Alles auf #glvView begrenzt, nur Tokens aus design-tokens.css (hell wie
   dunkel). Der Chart ist die Instanz aus chart.js; seine Grundstile kommen
   aus fundingrates.css (:is(… .glv-chart)), hier nur Karte, Höhe und das,
   was es nur hier gibt. Web3-Design: web3-design-privat-rest.css. */

#glvView {
  --glv-plus: var(--check);
  --glv-minus: color-mix(in srgb, var(--danger) 62%, var(--text-1));
  color: var(--text-1);
  font-family: var(--font-sans);
}
#glvView .glv { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
#glvView .glv-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
#glvView [hidden] { display: none !important; }
#glvView .glv-lade { display: flex; flex-direction: column; gap: var(--space-4); position: relative; }

/* Symbole (inline-SVG, Strich in Textfarbe). */
#glvView .glv-symbol { display: inline-flex; flex: 0 0 auto; width: 16px; height: 16px; }
#glvView .glv-symbol svg,
#glvView .glv-chevron svg,
#glvView .glv-warn svg,
#glvView .glv-fuss-fehler svg {
  width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
#glvView .glv-symbol-leise { color: var(--text-3); }
#glvView .glv-chevron { display: inline-flex; width: 14px; height: 14px; color: var(--text-3); transition: transform var(--t-fast); }

/* ── Leiste (wie #fundingratesTab .fr-toolbar) ─────────────────────── */
#glvView .glv-leiste {
  display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-3) var(--space-4);
  padding: var(--space-3) var(--space-4);
  background: var(--surface-1); border: 1px solid var(--border-1); border-radius: var(--radius-lg);
  position: relative; z-index: 30;
}
#glvView .glv-gruppe { display: flex; align-items: center; gap: var(--space-2); }
#glvView .glv-label {
  color: var(--text-3); font-size: var(--fs-12); font-weight: var(--fw-semibold);
  letter-spacing: var(--tracking-wide); text-transform: uppercase;
}
#glvView .glv-trenner { width: 1px; height: 24px; background: var(--border-2); }
#glvView .glv-leiste-luecke { flex: 1 1 auto; }
#glvView .glv-fenster { color: var(--text-3); font-size: var(--fs-13); font-variant-numeric: tabular-nums; }

#glvView .glv-segmente {
  display: inline-flex; gap: 2px; padding: 2px;
  background: var(--surface-0); border: 1px solid var(--border-2); border-radius: var(--radius-pill);
}
#glvView .glv-segment {
  height: 28px; padding: 0 var(--space-3); border: 0; border-radius: var(--radius-pill);
  background: transparent; color: var(--text-2); font: inherit; font-size: var(--fs-13); cursor: pointer;
  font-variant-numeric: tabular-nums;
}
#glvView .glv-segment:hover { color: var(--text-1); background: var(--surface-2); }
#glvView .glv-segment[aria-checked="true"] {
  background: var(--surface-3); color: var(--text-1); font-weight: var(--fw-semibold); box-shadow: 0 0 0 1px var(--border-3);
}
#glvView :is(.glv-segment, .glv-knopf, .glv-pools-knopf, .glv-pool-wahl, .glv-legende-eintrag, .glv-zeile-knopf, .glv-faq-frage, .glv-klapp-knopf, .glv-kopieren, .glv-adresse-link, .glv-tabelle-huelle):focus-visible {
  outline: 2px solid var(--focus-color); outline-offset: 2px;
}

#glvView .glv-knopf {
  display: inline-flex; align-items: center; gap: 6px;
  height: 30px; padding: 0 var(--space-3);
  border: 1px solid var(--border-2); border-radius: var(--radius-pill);
  background: transparent; color: var(--text-2); font: inherit; font-size: var(--fs-13); cursor: pointer; white-space: nowrap;
}
#glvView .glv-knopf:hover:not(:disabled) { background: var(--surface-3); border-color: var(--border-3); color: var(--text-1); }
#glvView .glv-knopf-primaer { background: var(--primary-bg); border-color: var(--primary-border); color: var(--primary-text); font-weight: var(--fw-semibold); }
#glvView .glv-knopf-primaer:hover:not(:disabled) { border-color: var(--primary-hover-border); background: var(--primary-bg); color: var(--primary-text); }
#glvView .glv-knopf-klein { height: 24px; padding: 0 var(--space-2); font-size: var(--fs-12); }
#glvView .glv-knopf .glv-symbol { width: 14px; height: 14px; }

/* Eigener Zeitraum */
#glvView .glv-eigen { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); }
#glvView .glv-datum { display: inline-flex; align-items: center; gap: 6px; color: var(--text-3); font-size: var(--fs-12); }
#glvView .glv-feld {
  height: 30px; box-sizing: border-box; padding: 0 var(--space-2);
  background: var(--surface-0); color: var(--text-1); border: 1px solid var(--border-2); border-radius: var(--radius-sm);
  font: inherit; font-size: var(--fs-13); font-variant-numeric: tabular-nums; color-scheme: light dark;
}
#glvView .glv-feld:focus { outline: 0; border-color: var(--text-2); box-shadow: var(--input-focus-ring); }
#glvView .glv-eigen-hinweis { color: var(--warning); font-size: var(--fs-12); }

/* ── Pool-Auswahl ───────────────────────────────────────────────────── */
#glvView .glv-pools { position: relative; }
#glvView .glv-pools-knopf {
  display: inline-flex; align-items: center; gap: var(--space-2);
  height: 32px; max-width: 280px; padding: 0 var(--space-3);
  background: var(--surface-0); color: var(--text-1); border: 1px solid var(--border-2); border-radius: var(--radius-pill);
  font: inherit; font-size: var(--fs-14); font-weight: var(--fw-semibold); cursor: pointer;
}
#glvView .glv-pools-knopf:hover { border-color: var(--border-3); }
#glvView .glv-pools-knopf[aria-expanded="true"] .glv-chevron { transform: rotate(180deg); }
#glvView .glv-pools-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#glvView .glv-pools-panel {
  position: absolute; top: calc(100% + 8px); left: 0; z-index: var(--z-dropdown);
  width: 640px; box-sizing: border-box; padding: var(--space-3);
  background: var(--surface-2); border: 1px solid var(--border-2); border-radius: var(--radius-lg); box-shadow: var(--shadow-md);
  overflow: visible;
}
#glvView .glv-suche {
  display: flex; align-items: center; gap: var(--space-2);
  height: 34px; padding: 0 var(--space-3); margin-bottom: var(--space-2);
  background: var(--input-bg); border: 1px solid var(--input-border); border-radius: var(--radius-sm);
}
#glvView .glv-suche:focus-within { border-color: var(--text-2); box-shadow: var(--input-focus-ring); }
#glvView .glv-suchfeld { flex: 1 1 auto; min-width: 0; height: 100%; border: 0; background: transparent; color: var(--text-1); font: inherit; font-size: var(--fs-14); }
#glvView .glv-suchfeld:focus { outline: 0; }
#glvView .glv-suchfeld::placeholder { color: var(--text-3); }
#glvView .glv-pools-aktionen { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-2); }
#glvView .glv-pools-zaehler { margin-left: auto; color: var(--text-3); font-size: var(--fs-12); font-variant-numeric: tabular-nums; }
#glvView .glv-pools-gruppe + .glv-pools-gruppe { margin-top: var(--space-2); padding-top: var(--space-2); border-top: 1px solid var(--border-2); }
#glvView .glv-pools-gruppe-titel {
  padding: var(--space-1) var(--space-2); color: var(--text-3);
  font-size: var(--fs-12); font-weight: var(--fw-semibold); letter-spacing: var(--tracking-wider); text-transform: uppercase;
}
#glvView .glv-pools-gruppe-titel span { margin-left: 4px; color: var(--text-3); font-weight: var(--fw-regular); }
#glvView .glv-pools-optionen { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; }
#glvView .glv-pools-optionen.is-zweispaltig { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#glvView .glv-pools-optionen.is-zweispaltig-eng { grid-template-columns: minmax(0, 1fr); }
/* Seit 18.10.2026: Zeile = Wahlknopf (Haken, Symbol, Name, 7 T APR) + Adresszeile. */
#glvView .glv-pool-option { min-width: 0; padding: 2px 0; border-radius: var(--radius-sm); }
#glvView .glv-pool-option:hover:not(.ist-voll) { background: var(--surface-3); }
#glvView .glv-pool-option.ist-an { background: var(--surface-3); }
#glvView .glv-pool-option.ist-voll { opacity: .5; }
#glvView .glv-pool-wahl {
  display: grid; grid-template-columns: 14px auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-2);
  width: 100%; min-height: 30px; padding: 2px var(--space-2) 0;
  border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--text-1);
  font: inherit; font-size: var(--fs-13); text-align: left; cursor: pointer;
}
#glvView .glv-pool-wahl:disabled { cursor: not-allowed; }
#glvView .glv-pool-adresszeile { padding: 0 var(--space-2) 2px calc(var(--space-2) + 14px + var(--space-2) + 30px + var(--space-2)); line-height: 1; }
#glvView .glv-haken { color: var(--check); font-weight: var(--fw-bold); text-align: center; }
#glvView .glv-pool-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#glvView .glv-pools-leer { padding: var(--space-4); color: var(--text-2); text-align: center; }
#glvView .glv-pools-panel .liste-mehr { padding: var(--space-1) var(--space-2); color: var(--text-3); font-size: var(--fs-12); }

#glvView .glv-punkt { display: inline-block; flex: 0 0 auto; width: 10px; height: 10px; border-radius: 50%; }

/* ── Karten ─────────────────────────────────────────────────────────── */
#glvView .glv-karte {
  display: flex; flex-direction: column; gap: var(--space-3); min-width: 0;
  padding: var(--space-4) var(--space-5);
  background: var(--surface-1); border: 1px solid var(--border-1); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm);
}
#glvView .glv-karte-kopf { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--space-1) var(--space-3); }
#glvView .glv-karte-titel { display: inline-flex; align-items: center; gap: var(--space-2); margin: 0; font-size: var(--fs-15); font-weight: var(--fw-bold); color: var(--text-1); }
#glvView .glv-karte-unter { color: var(--text-3); font-size: var(--fs-13); }

/* ── Chart (wie #fundingratesTab .chart-panel) ──────────────────────── */
#glvView .glv-chart .chart-container { position: relative; flex: 0 0 auto; height: 380px; }
#glvView .glv-chart .chart-line { stroke-width: 2px; opacity: .92; }
#glvView .glv-chart .hover-tooltip { width: 300px; }
#glvView .glv-chart .tooltip-status { font-size: var(--fs-12); }
#glvView .glv-chart .chart-reset-zoom { white-space: nowrap; }
#glvView .glv-chart .glv-tooltip-row { height: auto; min-height: 26px; }
#glvView .glv-chart .glv-tooltip-row .apr-val { display: inline-flex; align-items: baseline; gap: var(--space-2); }
#glvView .glv-tooltip-kurs { color: var(--text-3); font-size: var(--fs-12); font-weight: var(--fw-regular); }
#glvView .glv-basis { color: var(--text-2); font-size: var(--fs-13); font-variant-numeric: tabular-nums; }
#glvView .glv-chart-lade { position: absolute; inset: 0; z-index: 6; background: var(--surface-1); }
#glvView .glv-chart-lade .lz-skel-flaeche { height: 100%; }

#glvView .glv-legende { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-2); min-height: 28px; }
#glvView .glv-legende-leer { color: var(--text-3); font-size: var(--fs-13); align-self: center; }
#glvView .glv-legende-eintrag {
  display: inline-flex; align-items: center; gap: 6px; max-width: 100%;
  height: 28px; padding: 0 var(--space-3);
  border: 1px solid var(--border-2); border-radius: var(--radius-pill); background: transparent;
  color: var(--text-1); font: inherit; font-size: var(--fs-13); cursor: pointer;
}
#glvView .glv-legende-eintrag:hover { background: var(--surface-3); border-color: var(--border-3); }
#glvView .glv-legende-eintrag.ist-aus { color: var(--text-3); }
#glvView .glv-legende-eintrag.ist-aus .glv-punkt { background: var(--border-3) !important; }
#glvView .glv-legende-eintrag.ist-aus .glv-sym { --glv-farbe: var(--border-3) !important; opacity: .6; }
#glvView .glv-legende-eintrag .glv-apr7 { font-size: var(--fs-12); }
#glvView .glv-legende-eintrag.ist-aus .glv-legende-name { text-decoration: line-through; }
#glvView .glv-legende-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#glvView .glv-warn { display: inline-flex; width: 14px; height: 14px; color: var(--warning); }

#glvView .glv-fuss { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2) var(--space-4); color: var(--text-3); font-size: var(--fs-12); }
#glvView .glv-fuss-fehler { display: inline-flex; align-items: center; gap: 6px; color: var(--warning); }
#glvView .glv-fuss-fehler > svg { width: 14px; height: 14px; }

/* ── Kennzahlen ─────────────────────────────────────────────────────── */
/* Feste Höhe mit eigenem Scroll (18.10.2026); der Kopf bleibt oben stehen. */
#glvView .glv-tabelle-huelle {
  min-width: 0; max-height: 480px; overflow: auto; overscroll-behavior: contain;
  border-radius: var(--radius-sm);
}
#glvView .glv-tabelle thead th { position: sticky; top: 0; z-index: 2; }
#glvView .glv-tabelle { width: 100%; border-collapse: collapse; font-size: var(--fs-14); }
#glvView .glv-tabelle th {
  height: 36px; padding: 0 var(--space-3); text-align: left; white-space: nowrap;
  background: var(--surface-2); color: var(--text-3);
  font-size: var(--fs-12); font-weight: var(--fw-semibold); letter-spacing: var(--tracking-wide); text-transform: uppercase;
}
#glvView .glv-tabelle th:first-child { border-radius: var(--radius-sm) 0 0 var(--radius-sm); }
#glvView .glv-tabelle th:last-child { border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
#glvView .glv-tabelle td { height: 44px; padding: 0 var(--space-3); border-top: 1px solid var(--border-1); white-space: nowrap; }
#glvView .glv-tabelle tbody tr:first-child td { border-top: 0; }
#glvView .glv-tabelle tbody tr.glv-zeile { cursor: pointer; }
#glvView .glv-tabelle tbody tr.glv-zeile:hover td,
#glvView .glv-tabelle tbody tr.glv-zeile.ist-offen td { background: var(--surface-2); }
#glvView .glv-tabelle td.glv-pool-zelle { height: auto; padding-top: var(--space-2); padding-bottom: var(--space-2); }
#glvView .glv-zahl { text-align: right; font-variant-numeric: tabular-nums; }
#glvView th.glv-zahl { text-align: right; }
#glvView .glv-kurs { font-weight: var(--fw-semibold); }
#glvView .glv-plus { color: var(--glv-plus); font-weight: var(--fw-semibold); }
#glvView .glv-minus { color: var(--glv-minus); font-weight: var(--fw-semibold); }
#glvView .glv-neutral { color: var(--text-3); }
#glvView .glv-pool-kopf { display: flex; align-items: center; gap: var(--space-2); min-width: 0; }
#glvView .glv-zeile-knopf {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 24px; height: 24px;
  padding: 0; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--text-3); cursor: pointer;
}
#glvView .glv-zeile-knopf:hover { background: var(--surface-3); color: var(--text-1); }
#glvView .glv-zeile-name { overflow: hidden; text-overflow: ellipsis; }
#glvView .glv-zeile-text { display: flex; flex-direction: column; gap: 1px; min-width: 0; line-height: var(--lh-tight); }
#glvView .glv-zeile-name { display: inline-flex; align-items: center; gap: var(--space-2); font-weight: var(--fw-semibold); }
#glvView .glv-zeile-unter { display: inline-flex; align-items: center; gap: var(--space-2); font-weight: var(--fw-regular); }
#glvView .glv-zeile-chevron { transform: rotate(-90deg); }
#glvView .glv-zeile-knopf[aria-expanded="true"] .glv-zeile-chevron { transform: rotate(0deg); }
#glvView .glv-backing-text { color: var(--text-3); font-size: var(--fs-12); }
#glvView .glv-aus-hinweis { color: var(--text-3); font-size: var(--fs-12); font-style: italic; }
#glvView .glv-typ {
  padding: 1px 6px; border-radius: var(--radius-pill); background: var(--surface-3);
  color: var(--text-2); font-size: var(--fs-12); font-weight: var(--fw-medium);
}
#glvView .glv-zeile.ist-aus .glv-punkt { background: var(--border-3) !important; }
#glvView .glv-zeile.ist-aus td { opacity: .6; }

/* ── Berechnungsinfo und FAQ ────────────────────────────────────────── */
#glvView .glv-unten { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-4); align-items: start; }
#glvView .glv-info { transition: box-shadow var(--t-base); }
/* Aufklappen (18.10.2026): Kopf ist der Knopf, zu beim Start. */
#glvView .glv-klapp { gap: 0; }
#glvView .glv-klapp.ist-offen { gap: var(--space-3); }
#glvView .glv-klapp-titel { display: block; font-size: var(--fs-15); }
#glvView .glv-klapp-knopf {
  display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--space-1) var(--space-3); width: 100%;
  padding: 0; border: 0; background: transparent; color: var(--text-1);
  font: inherit; font-weight: var(--fw-bold); text-align: left; cursor: pointer;
}
#glvView .glv-klapp-knopf .glv-symbol { align-self: center; color: var(--text-3); }
#glvView .glv-klapp-knopf .glv-karte-unter { font-weight: var(--fw-regular); }
#glvView .glv-klapp-knopf .glv-chevron { margin-left: auto; align-self: center; }
#glvView .glv-klapp-knopf[aria-expanded="true"] .glv-chevron { transform: rotate(180deg); }
#glvView .glv-klapp-knopf:hover .glv-klapp-name { text-decoration: underline; text-underline-offset: 3px; }
#glvView .glv-info.ist-markiert { box-shadow: 0 0 0 2px var(--focus-color); }
#glvView .glv-info-inhalt { display: flex; flex-direction: column; gap: var(--space-4); }
#glvView .glv-info-abschnitt h4 {
  display: flex; align-items: center; gap: var(--space-2); margin: 0 0 var(--space-1);
  font-size: var(--fs-14); font-weight: var(--fw-semibold); color: var(--text-1);
}
#glvView .glv-info-abschnitt .glv-symbol { color: var(--text-3); }
#glvView .glv-info-abschnitt p { margin: 0 0 var(--space-2); color: var(--text-2); font-size: var(--fs-13); line-height: var(--lh-relaxed); }
#glvView .glv-formel {
  margin: 0 0 var(--space-2); padding: var(--space-2) var(--space-3);
  background: var(--surface-0); border-left: 3px solid var(--border-3); border-radius: var(--radius-sm);
  font-family: var(--font-mono); font-size: var(--fs-12); color: var(--text-1);
}
#glvView .glv-beispiel { font-size: var(--fs-12); }

#glvView .glv-faq-liste { display: flex; flex-direction: column; }
#glvView .glv-faq-eintrag + .glv-faq-eintrag { border-top: 1px solid var(--border-1); }
#glvView .glv-faq-frage {
  display: grid; grid-template-columns: 16px minmax(0, 1fr) 14px; align-items: center; gap: var(--space-3);
  width: 100%; min-height: 44px; padding: var(--space-2) 0;
  border: 0; background: transparent; color: var(--text-1);
  font: inherit; font-size: var(--fs-14); font-weight: var(--fw-medium); text-align: left; cursor: pointer;
}
#glvView .glv-faq-frage .glv-symbol { color: var(--text-3); }
#glvView .glv-faq-frage:hover .glv-faq-text { color: var(--text-1); text-decoration: underline; text-underline-offset: 3px; }
#glvView .glv-faq-frage[aria-expanded="true"] .glv-chevron { transform: rotate(180deg); }
#glvView .glv-faq-antwort { padding: 0 0 var(--space-3) 28px; }
#glvView .glv-faq-antwort p { margin: 0; color: var(--text-2); font-size: var(--fs-13); line-height: var(--lh-relaxed); }

/* ── Symbole wie bei GM Trade (18.10.2026) ───────────────────────────
   Markt-Symbol groß mit Ring in der Linienfarbe (--glv-farbe kommt je Pool
   aus dem Katalog), Backing-Token klein rechts unten überlappend. Fällt ein
   Bild aus, stehen Buchstaben im Kreis (.ist-buchstaben). */
#glvView .glv-sym { position: relative; display: inline-flex; flex: 0 0 auto; width: 38px; height: 30px; margin: 3px 0 3px 3px; }
#glvView .glv-sym-bild {
  display: inline-flex; align-items: center; justify-content: center; overflow: hidden; box-sizing: border-box;
  border-radius: 50%; background: var(--surface-3); color: var(--text-1);
  font-size: var(--fs-12); font-weight: var(--fw-bold); letter-spacing: -.02em; line-height: 1;
}
#glvView .glv-sym-bild img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Ring in der Linienfarbe mit kleiner Lücke (outline-offset), auf jeder Fläche gleich. */
#glvView .glv-sym-haupt { width: 30px; height: 30px; outline: 2px solid var(--glv-farbe, var(--border-3)); outline-offset: 1px; }
#glvView .glv-sym-klein .glv-sym-haupt { outline-width: 2px; outline-offset: 0; }
#glvView .glv-sym-haupt.ist-buchstaben { font-size: var(--fs-12); }
#glvView .glv-sym-backing { position: absolute; right: 0; bottom: -2px; display: inline-flex; }
#glvView .glv-sym-mini { width: 16px; height: 16px; box-shadow: 0 0 0 2px var(--surface-1); }
#glvView .glv-sym-mini + .glv-sym-mini { margin-left: -6px; }
#glvView .glv-pools-panel .glv-sym-mini { box-shadow: 0 0 0 2px var(--surface-2); }
#glvView .glv-sym-klein { width: 20px; height: 20px; margin: 0; }
#glvView .glv-sym-klein .glv-sym-haupt { width: 18px; height: 18px; margin: 1px; }
#glvView .glv-sym-zeile { width: 20px; height: 20px; flex: 0 0 auto; }

/* Adresse unter dem Pool: gekürzt, mono, leise; Explorer-Link + Kopieren. */
#glvView .glv-adresse { display: inline-flex; align-items: center; gap: 2px; min-width: 0; }
#glvView .glv-adresse-link {
  color: var(--text-3); font-family: var(--font-mono); font-size: var(--fs-12); font-weight: var(--fw-regular);
  text-decoration: none; white-space: nowrap;
}
#glvView .glv-adresse-link:hover { color: var(--text-1); text-decoration: underline; text-underline-offset: 2px; }
#glvView .glv-kopieren {
  display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; padding: 0;
  border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--text-3); cursor: pointer;
}
#glvView .glv-kopieren:hover { background: var(--surface-3); color: var(--text-1); }
#glvView .glv-kopieren svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
#glvView .glv-kopieren.ist-kopiert { color: var(--check); }
#glvView .glv-kopieren.ist-fehler { color: var(--danger); }

/* 7-T-APR hinter dem Pool (Auswahlliste, Legende, Detail). */
#glvView .glv-apr7 { font-size: var(--fs-13); font-variant-numeric: tabular-nums; white-space: nowrap; }

/* ── Pooldaten unter der Zeile (18.10.2026) ─────────────────────────── */
#glvView .glv-tabelle tr.glv-detail-zeile > td { height: auto; padding: var(--space-3); background: var(--surface-0); border-top: 0; white-space: normal; cursor: default; }
#glvView .glv-detail-innen {
  position: sticky; left: var(--space-3); box-sizing: border-box;
  width: calc(var(--glv-huelle-breite, 100%) - 2 * var(--space-3)); max-width: 100%;
}
#glvView .glv-tabelle-huelle .glv-detail-innen { max-width: none; }
#glvView .glv-detail-kopf { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3) var(--space-6); margin-bottom: var(--space-3); }
#glvView .glv-detail-pool { display: flex; align-items: center; gap: var(--space-3); min-width: 0; }
#glvView .glv-detail-name { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
#glvView .glv-detail-name strong { font-size: var(--fs-15); }
#glvView .glv-detail-wert { display: flex; flex-direction: column; gap: 2px; }
#glvView .glv-detail-label { color: var(--text-3); font-size: var(--fs-12); }
#glvView .glv-detail-zahl { font-size: var(--fs-15); font-weight: var(--fw-semibold); font-variant-numeric: tabular-nums; }
#glvView .glv-detail-zahl small { color: var(--text-3); font-size: var(--fs-12); font-weight: var(--fw-regular); }
#glvView .glv-detail-karten { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--space-3); align-items: start; }
#glvView .glv-detail-karte { min-width: 0; padding: var(--space-3); background: var(--surface-1); border: 1px solid var(--border-1); border-radius: var(--radius-md); }
#glvView .glv-detail-karte h4 { margin: 0 0 var(--space-2); font-size: var(--fs-14); font-weight: var(--fw-semibold); color: var(--text-1); }
#glvView .glv-detail-tabelle { width: 100%; border-collapse: collapse; font-size: var(--fs-13); }
#glvView .glv-tabelle .glv-detail-tabelle th {
  position: static; height: 28px; padding: 0 var(--space-2); background: var(--surface-2);
  font-size: var(--fs-12); letter-spacing: var(--tracking-wide);
}
#glvView .glv-tabelle .glv-detail-tabelle td { height: 34px; padding: 0 var(--space-2); border-top: 1px solid var(--border-1); white-space: nowrap; }
#glvView .glv-detail-token { display: inline-flex; align-items: center; gap: var(--space-2); }
#glvView .glv-detail-fuss { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2); margin-top: var(--space-2); color: var(--text-3); font-size: var(--fs-12); }
#glvView .glv-detail-laedt { color: var(--text-2); }
#glvView .glv-detail-fehler { display: flex; align-items: center; gap: var(--space-2); color: var(--warning); font-size: var(--fs-13); }
#glvView .glv-detail-fehler > svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; }
#glvView .glv-detail-skelett { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-3); background: var(--surface-1); border: 1px solid var(--border-1); border-radius: var(--radius-md); }
#glvView .glv-detail-skelett .lz-skel:nth-child(2) { width: 70%; }
#glvView .glv-detail-skelett .lz-skel:nth-child(3) { width: 45%; }

/* ── Handy ──────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  #glvView .glv-unten { grid-template-columns: minmax(0, 1fr); }
  #glvView .glv-trenner { display: none; }
}
@media (max-width: 720px) {
  #glvView .glv-leiste { padding: var(--space-3); }
  #glvView .glv-karte { padding: var(--space-3); }
  #glvView .glv-chart .chart-container { height: 260px; }
  #glvView .glv-chart .chart-head-hinweis { display: none; }
  #glvView .glv-pools-panel { width: calc(100vw - 32px); }
  #glvView .glv-pools-knopf { max-width: 220px; }
  #glvView .glv-chart .hover-tooltip { width: 250px; }
  #glvView .glv-tabelle-huelle { max-height: 420px; }
  #glvView .glv-detail-karten { grid-template-columns: minmax(0, 1fr); }
  #glvView .glv-pools-panel .glv-pools-optionen.is-zweispaltig { grid-template-columns: minmax(0, 1fr); }
}
