/* Konto – Gestaltung des Kontoelements (konto.js).

   Arbeitet ausschliesslich mit den Gestaltungswerten aus styles.css; auch
   die Pixelwerte sind solche, die dort bereits vorkommen (8/12px-Abstände,
   Radien 8/9px und var(--radius), 27px wie das Markenzeichen der
   Seitenleiste, z-index 30 wie die Seitenleiste selbst). Die tragenden
   Klassen .live-dot und .muted stammen ebenfalls von dort; diese Datei
   ordnet nur an, was das Kontoelement selbst braucht. Geladen in index.html
   nach styles.css. */

/* Der Anker: Das Menü positioniert sich relativ zu diesem Kasten und ist
   damit genau so breit wie die Fusszeile der Seitenleiste (Seitenleiste
   minus deren Innenabstand) bzw. wie die Handy-Karte "Konto". */
.konto { position: relative; }

/* ---------- Auslöser: Initialen-Kreis, Name, Pfeil ---------- */

.konto-ausloeser {
  display: flex; align-items: center; gap: 8px; width: 100%; text-align: left;
  border: 0; background: transparent; padding: 8px; border-radius: 9px;
  cursor: pointer; color: var(--text-primary);
  transition: background var(--dur-schnell) var(--easing);
}
.konto-ausloeser:hover { background: var(--surface-sunken); }
.konto-ausloeser:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--accent-soft); }

/* 27px wie das Markenzeichen oben in der Seitenleiste – Kopf und Fuss der
   Leiste tragen so dieselbe Bildsprache. */
.konto-kreis {
  display: grid; place-items: center; flex: none;
  width: 27px; height: 27px; border-radius: 50%;
  background: var(--accent-soft); color: var(--accent);
  font-size: var(--fs-xs); font-weight: 600;
}
/* Im dunklen Erscheinungsbild ist --accent auf dem getönten Kreis zu
   dunkel – --accent-fg ist genau die dafür aufgehellte Lesefarbe. */
:root[data-theme="dark"] .konto-kreis { color: var(--accent-fg); }

.konto-name {
  flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap; font-weight: 600; font-size: var(--fs-md);
}

.konto-chevron { flex: none; width: 16px; height: 16px; color: var(--text-muted);
  transition: transform var(--dur-schnell) var(--easing); }
.konto.offen .konto-chevron { transform: rotate(180deg); }

/* ---------- Menü: Popover über dem Auslöser ---------- */

/* Zugeklappt per display:none statt aus dem Dokument entfernt: Im Kopf
   sitzt der Verbindungspunkt, den app.js laufend aktualisiert – er muss
   auch zwischen zwei Öffnungen existieren. */
.konto-menue {
  position: absolute; left: 0; right: 0; bottom: calc(100% + 8px);
  display: none;
  background: var(--surface-2); border: 1px solid var(--border);
  border-radius: var(--radius); box-shadow: var(--shadow); padding: 6px;
  z-index: 30;
}
.konto.offen .konto-menue { display: block; }
/* Reicht der Platz nach oben nicht (Handy-Karte weit oben auf der Seite),
   klappt konto.js das Menü nach unten – gemessen, nicht geraten. */
.konto-menue.unten { bottom: auto; top: calc(100% + 8px); }

.konto-kopf {
  display: flex; align-items: center; gap: 4px;
  padding: 8px 12px; border-bottom: 1px solid var(--border);
  margin-bottom: 6px;
}
.konto-kopf-text { min-width: 0; }
.konto-kopf-text b {
  display: block; font-size: var(--fs-md);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.konto-rolle { font-size: var(--fs-sm); color: var(--text-muted); }

.konto-menue [role="menuitem"] {
  display: block; width: 100%; text-align: left;
  border: 0; background: transparent; cursor: pointer;
  padding: 8px 12px; border-radius: 8px;
  font-size: var(--fs-md); font-weight: 600; color: var(--text-secondary);
}
.konto-menue [role="menuitem"]:hover { background: var(--surface-sunken); color: var(--text-primary); }
.konto-menue [role="menuitem"]:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--accent-soft); }

.konto-trenner { border-top: 1px solid var(--border); margin: 6px 0; }
