/* TouchPoynt: Admin der Accounts, Eingang und Login (Bauplan zwei Eingänge 4.2). Farben und Schriften kommen als Tokens
   aus marken/touchpoynt.json (dieselben wie JanMaxlife: Navy, Creme, Gold, Libre Baskerville und Inter). Hier nur die
   Wortmarke. Kein eigenes Raster, keine eigenen Abstände: Layout, Seitenleiste und Abstände bleiben aus admin.css und
   kern.css, damit Admin und Portal gleich aussehen. */

/* Wortmarke „Touchp●ynt“ wie auf der Website (Touchpoynt/Website/index.html, .tp-logo): TT Norms, fein gesperrt,
   das o ist eine Kugel. Markup aus „wortmarke“ der Markendatei (ui/seite.js, markenZeichen). */
/* TT Norms: @font-face in kern.css */
.wortmarke { font-family: 'TT Norms', var(--sans); font-weight: 400; --ls: .09em; letter-spacing: var(--ls); }
/* Maße = Glyphe „o“ von TT Norms: 0,50 em hoch, 0,01 em unter der Grundlinie, je 0,045 em Vor- und Nachbreite.
   Auf hellem Grund eine Navy-Kugel, auf dunklem Grund die helle Kugel der Website. */
.wortmarke-o { width: .5em; height: .5em; margin: 0 calc(.045em + var(--ls)) 0 .045em; translate: 0 .01em;
  background: radial-gradient(circle at 34% 30%, #5d6679 0%, #2a3245 40%, #0b0f1a 92%); }
:root[data-theme="dark"] .wortmarke-o {
  background: radial-gradient(circle at 34% 30%, #fff 0%, #f4f0e8 18%, #c4bfb5 58%, #77736d 92%, #5f5c58 100%); box-shadow: 0 0 .35em rgba(248, 245, 238, .14); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .wortmarke-o {
    background: radial-gradient(circle at 34% 30%, #fff 0%, #f4f0e8 18%, #c4bfb5 58%, #77736d 92%, #5f5c58 100%); box-shadow: 0 0 .35em rgba(248, 245, 238, .14); }
}

/* Portal der TouchPoynt-Konten wie vor dem 01.11.2026 (Jan 04.11.2026: „das ursprüngliche design zurück“, „die begrüßung
   wieder groß wie es mal war“): Schriften des Kontos (Libre Baskerville und Inter, portal_design: true), Kopf mit Admin,
   Hilfe, Hell/Dunkel-Schalter und Avatar (ui/seite.js istKlassisch), Startseite mit großer Begrüßung (ui/kunde.js
   startKlassisch). Maße aus kern.css vor dem Design-Raster (1864d3f^). */
body:not(.admin) .kopf:not(.kopf-portal) { max-width: 1120px; margin: 0 auto; padding: 32px 40px; }
.start-klassisch { max-width: 1120px; padding: 72px 40px 120px; gap: 96px; }
.start-klassisch .begruessung { gap: 16px; }
.start-klassisch .begruessung h1 { font-size: 48px; line-height: 1.15; letter-spacing: -0.01em; }
.start-klassisch .begruessung p { font-size: 17px; line-height: 1.6; }
.start-klassisch .schritt-text h2 { font-size: 30px; line-height: 1.3; }
.start-klassisch .bereich { gap: 32px; }
.start-klassisch .modul-raster { gap: 24px; }
.start-klassisch .a-danach { margin-top: -8px; }
.start-klassisch .a-erledigt { margin-top: -48px; }
@media (max-width: 640px) {
  body:not(.admin) .kopf:not(.kopf-portal) { padding: 20px 24px; }
  .start-klassisch { padding: 40px 24px 64px; gap: 56px; }
  .start-klassisch .begruessung { gap: 12px; }
  .start-klassisch .begruessung h1 { font-size: 34px; line-height: 1.2; letter-spacing: 0; }
  .start-klassisch .begruessung p { font-size: 16px; }
  .start-klassisch .schritt-text h2 { font-size: 22px; line-height: 1.35; }
  .start-klassisch .bereich { gap: 16px; }
  .start-klassisch .a-erledigt { margin-top: -24px; }
}

/* Gesperrte Karten bei TouchPoynt wie vor dem 03.11.2026 (Jan 04.11.2026: „die schlösser bei touchpoynt design hatten wir
   nicht besprochen. bitte das alte design wieder“). MarketLeaders behält die Karte bei .5 mit Schloss-Kachel (kern.css).
   Portal: Karte ohne Fläche, Bild in --img-locked, kleines Schloss oben rechts, Titel leiser, keine Kachel. */
body:not(.admin) .modul-karte.gesperrt { opacity: 1; background: transparent; }
body:not(.admin) .gesperrt .modul-bild { background: var(--img-locked); flex-direction: column; align-items: stretch; justify-content: space-between; }
body:not(.admin) .gesperrt .modul-bild::before { content: ''; align-self: flex-end; width: 18px; height: 18px; flex: none; background: var(--ton-3);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat; }
body:not(.admin) .gesperrt .titelbild { opacity: .35; }
body:not(.admin) .gesperrt .modul-text h3 { color: var(--dim); }
body:not(.admin) .gesperrt-huelle > .schloss-kachel { display: none; }
/* Admin, Variante „Ruhig“ (02.11.2026): flach, Haarlinie statt Schatten, Schrift eine Stufe leiser, Vorschau farblos */
.admin .gesperrt.a-modul { opacity: 1; background: transparent; border-color: transparent; box-shadow: inset 0 0 0 .6px var(--linie); }
.admin .gesperrt.a-modul h3 { color: var(--ton-3); }
.admin .gesperrt.a-modul > p, .admin .gesperrt .a-modul-links > p { color: color-mix(in srgb, var(--text) 30%, var(--bg)); }
.admin .gesperrt .a-icon { background: transparent; border-color: transparent; box-shadow: inset 0 0 0 1px var(--line); color: var(--ton-3); }
.admin .gesperrt .a-vorschau-blatt { filter: grayscale(1); opacity: .42; }
