/* =========================================================
   App-Erkennung Portal (wie app-identity.css in HVT und Privat): Streifen oben, Kennzeichen, App-Umschalter.
   Portal-Identität: Navy mit dezentem Mint am Ende des Streifens. App-Farben wie in den Apps.
   ========================================================= */
:root {
  --app-accent: #10263b;      /* Portal: Navy */
  --app-accent-ink: #fff;
  --app-accent-soft: #84d2bc; /* Mint */
  --app-stripe-height: 4px;
  --app-color-hvt: #15803d;
  --app-color-privat: #1d4ed8;
  --app-color-gchp: #92400e;
  --app-color-kr4z: #6d28d9;
  --app-color-haus: #0f766e;
  --app-color-cap: #9f1239;
}

body::before {
  position: fixed; z-index: 2147483000; top: 0; right: 0; left: 0;
  height: var(--app-stripe-height);
  background: linear-gradient(90deg, var(--app-accent) 0 78%, var(--app-accent-soft) 78% 100%);
  content: "";
  pointer-events: none;
}

.app-badge {
  display: inline-flex; align-items: center; flex: 0 0 auto;
  padding: 2px 7px; border-radius: 999px;
  color: var(--app-accent-ink); background: var(--app-accent);
  font-size: 10px; font-weight: 800; letter-spacing: .08em; line-height: 1.5;
  vertical-align: middle; white-space: nowrap;
}

.app-switch {
  display: inline-flex; align-items: center; flex-wrap: wrap; gap: 2px;
  padding: 3px; border: 1px solid rgba(23, 48, 70, .12); border-radius: 999px;
  background: rgba(255, 255, 255, .7);
  font-size: 11px; font-weight: 700; line-height: 1;
}
.app-switch-link {
  display: inline-flex; align-items: center; gap: 5px;
  min-height: 24px; padding: 4px 9px; border-radius: 999px;
  color: #4f6475; text-decoration: none; white-space: nowrap;
}
.app-switch-link::before { width: 7px; height: 7px; border-radius: 50%; background: var(--app-dot, currentColor); content: ""; }
.app-switch-portal { --app-dot: var(--app-accent-soft); }
.app-switch-hvt { --app-dot: var(--app-color-hvt); }
.app-switch-privat { --app-dot: var(--app-color-privat); }
.app-switch-gchp { --app-dot: var(--app-color-gchp); }
.app-switch-kr4z { --app-dot: var(--app-color-kr4z); }
.app-switch-haus { --app-dot: var(--app-color-haus); }
.app-switch-cap { --app-dot: var(--app-color-cap); }
.app-switch-link:hover { color: #10263b; background: rgba(23, 48, 70, .07); }
.app-switch-link:focus-visible { outline: 2px solid var(--app-accent); outline-offset: 1px; }
.app-switch-link[aria-current="page"] { color: var(--app-accent-ink); background: var(--app-accent); }
.app-switch-link[aria-current="page"]::before { background: var(--app-accent-soft); }

.app-switch--dark { border-color: rgba(255, 255, 255, .14); background: rgba(255, 255, 255, .06); }
.app-switch--dark .app-switch-link { color: #b6c6d2; }
.app-switch--dark .app-switch-link:hover { color: #fff; background: rgba(255, 255, 255, .09); }

@media print { body::before, .app-switch, .app-badge { display: none !important; } }
