/* ==========================================================
   ProOffice Praxis – gemeinsames Design-System
   Gilt für die GESAMTE App - ein einziges, gemeinsames Theme (Konsistenz).

   Farbregel 60-30-10:
   - 60 % Neutral   (--bg, --card, --surface-muted): Hintergründe, Flächen
   - 30 % Sekundär  (--text, --text-dim, --border*): Text, Überschriften,
                    Icons, Rahmen - bewusst NICHT in Markenfarbe
   - 10 % Akzent    (--accent = Waldgrün): NUR primäre Aktionen, aktiver
                    Zustand, Links. Pro Ansicht möglichst eine Primäraktion.
   - Signal (--signal = Minze): nur Status-Punkte und Fokus-Ring.
   Statusfarben (--red, --green, Chips) sind funktional und zählen nicht
   zur Regel. Neue Komponenten verwenden die Rollen-Token, nicht direkt
   --forest/--mint.
   ========================================================== */

:root {
  /* 60 % Neutral */
  --bg: #f7f7f5;
  --card: #ffffff;
  --surface-muted: #f0f0ed;
  --border: #e8e7e3;
  --border-strong: #d9d8d3;

  /* 30 % Sekundär */
  --text: #1c2530;
  --text-dim: #6b7280;
  --chart: #b8c0ba;

  /* 10 % Akzent + Signal */
  --accent: #0f3d2e;
  --accent-hover: #0a2e22;
  --on-accent: #ffffff;
  --accent-soft: #eaf1ed;
  --signal: #3ddc97;
  --signal-dark: #27bd80;

  /* Marke: dunkles Waldgrün + Minzgrün */
  --forest: #0f3d2e;
  --forest-dark: #0a2e22;
  --forest-tint: #e7f2ec;
  --mint: #3ddc97;
  --mint-dark: #27bd80;
  --mint-tint: #e3faf1;

  /* Neutrale Systemfarbe für Primär-Buttons/Sidebar (App-Look) */
  --ink: #14181a;
  --ink-dark: #000000;
  --panel-bg: #f6f4f0;

  /* Status */
  --green: #16a34a;
  --red: #dc2626;
  --yellow-bg: #fff7ed;
  --yellow-border: #fdba74;
  --blue-bg: #eaf1ff;
  --blue-text: #2563eb;
  --purple-bg: #f3ecfd;
  --purple-text: #7c3aed;

  /* Form */
  --radius-lg: 22px;
  --radius-md: 14px;
  --radius-sm: 10px;
  --shadow-card: 0 1px 2px rgba(20, 24, 26, 0.03), 0 10px 28px rgba(20, 24, 26, 0.045);
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
}

h1, h2, h3 {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
}

/* Kleines Uppercase-Label mit Akzent-Punkt, für Sektions-/Kontext-Hinweise
   (ersetzt laute Badge-Pills, z.B. "FÜR ARZT- UND ZAHNARZTPRAXEN"). */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.eyebrow::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--signal-dark);
  flex-shrink: 0;
}

/* Kleiner Status-Punkt (z.B. "konfiguriert"/"live"), passend zum
   eyebrow-Muster - siehe superadmin-dashboard.html .status-dot. */
.dot-indicator {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--text-dim);
}
.dot-indicator.ok { background: var(--signal-dark); }
.dot-indicator.warn { background: #b48739; }
.dot-indicator.off { background: var(--red); }

/* Kopfbereich: neutrale Fläche (große Flächen sind nie Akzent) */
.hero-band {
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--text);
  border-radius: var(--radius-lg);
  padding: 26px 24px;
  box-shadow: var(--shadow-card);
}
.hero-band h1 { margin: 0 0 4px; color: var(--text); }
.hero-band p, .hero-band .praxis { color: var(--text-dim); }

/* Primäraktion = Akzent (10 %) */
button.primary {
  display: inline-block;
  min-height: 40px;
  padding: 10px 18px;
  background: var(--accent);
  color: var(--on-accent);
  border: none;
  border-radius: 999px;
  font: inherit;
  font-size: 0.85rem;
  line-height: 1.2;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.08s ease;
}
button.primary:hover { background: var(--accent-hover); }
button.primary:active { transform: scale(0.98); }
button.primary:disabled { background: var(--surface-muted); color: var(--text-dim); cursor: not-allowed; transform: none; }

button.link {
  background: none;
  border: none;
  color: var(--accent);
  cursor: pointer;
  font-weight: 600;
  text-decoration: underline;
}

/* Dunkler Pill-Button für primäre App-Aktionen (z.B. "+ Neu") */
button.dark, a.dark-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--accent);
  color: var(--on-accent);
  border: none;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  padding: 10px 18px;
  font-size: 0.85rem;
  transition: background 0.15s ease;
}
button.dark:hover, a.dark-pill:hover { background: var(--accent-hover); }

/* Fokus: Signalfarbe, überall gleich */
:focus-visible { outline: 2px solid var(--signal-dark); outline-offset: 2px; }

/* Soft-Badges im App-Stil (Status-Chips) */
.chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 11px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 700;
  white-space: nowrap;
}
.chip.gray { background: #eef1f4; color: var(--text-dim); }
.chip.amber { background: var(--yellow-bg); color: #b45309; }
.chip.blue { background: var(--blue-bg); color: var(--blue-text); }
.chip.purple { background: var(--purple-bg); color: var(--purple-text); }
.chip.green { background: var(--mint-tint); color: var(--forest); }
.chip.red { background: #fee2e2; color: var(--red); }

/* Avatar-Kreis mit Initiale, für Tabellenzeilen (Patient/Anrufer) */
.avatar-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #fff;
  font-weight: 700;
  font-size: 0.8rem;
  flex-shrink: 0;
}
