/* Kap. 233 — Admin-UI (Rollen und App-Rechte).
   Nur für Mitglieder der Authentik-Gruppe `itk365-admin` sichtbar. */
#sec-admin .adm-scroll { overflow-x: auto; margin-top: 8px; }
#sec-admin table.adm-tab {
  width: 100%; border-collapse: collapse; font-size: 13px;
}
#sec-admin table.adm-tab th {
  text-align: left; font-weight: 600; font-size: 11.5px; letter-spacing: .4px;
  text-transform: uppercase; color: var(--text2); padding: 7px 8px;
  border-bottom: 1px solid var(--line, rgba(128,128,128,.28)); white-space: nowrap;
}
#sec-admin table.adm-tab td {
  padding: 7px 8px; border-bottom: 1px solid var(--line, rgba(128,128,128,.18));
  vertical-align: middle; color: var(--text);
}
#sec-admin table.adm-tab tr:hover td { background: rgba(128,128,128,.05); }
#sec-admin .adm-rolle { font-weight: 600; white-space: nowrap; }
#sec-admin .adm-user { font-weight: 600; }
#sec-admin .adm-mail { font-size: 11.5px; color: var(--text2); }
#sec-admin select.adm-sel {
  font: inherit; font-size: 12.5px; padding: 5px 8px; border-radius: 6px;
  border: 1px solid var(--line, rgba(128,128,128,.35)); background: var(--card);
  color: var(--text); min-width: 150px; cursor: pointer;
}
#sec-admin .adm-chip {
  display: inline-block; font-size: 11.5px; padding: 2px 8px; border-radius: 10px;
  background: rgba(11,107,203,.12); color: var(--accent); margin: 1px 4px 1px 0;
  white-space: nowrap;
}
#sec-admin .adm-chip.off { background: rgba(128,128,128,.15); color: var(--text2); }
#sec-admin .adm-hint { font-size: 11.5px; color: var(--text2); }
#sec-admin .set-card { margin-bottom: 14px; }
#sec-admin .set-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
/* Bei Nur-Lesen-Rollen: dezente Kennzeichnung der App-Kacheln */
body[data-nurlesen]:not([data-nurlesen=""]) .rail button.active::after {
  content: "👁"; font-size:10.5px; position: absolute; right: 2px; top: 2px;
}
#sec-admin .adm-admin {
  display: inline-block; font-size: 10.5px; font-weight: 700; letter-spacing: .3px;
  padding: 1px 7px; border-radius: 9px; margin-left: 6px; vertical-align: middle;
  background: rgba(11,107,203,.16); color: var(--accent); text-transform: uppercase;
  cursor: help;
}
#sec-admin .adm-zugang { border-left: 3px solid var(--accent); padding-left: 8px; }

/* Kap. 237: Benutzer anlegen / Aktionen */
#sec-admin .adm-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 4px; }
#sec-admin .adm-form .set-inp { max-width: 240px; }
#sec-admin .adm-check { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--text2); }
#sec-admin .adm-act { white-space: nowrap; }
#sec-admin .adm-act .tb-btn { margin-right: 4px; }
#sec-admin .adm-erg:not(:empty) { margin-top: 10px; padding: 10px 12px; border: 1px solid var(--line, rgba(128,128,128,.25)); border-radius: 8px; background: rgba(128,128,128,.04); }
#sec-admin .adm-ok { font-size: 13px; color: var(--ok); }
#sec-admin .adm-hintline { font-size: 11.5px; color: var(--text2); margin-top: 6px; }
/* Kap. 395 — Kennzahlen des Nutzerbestands. Werte aus der Registry, nicht erfunden:
   die Kacheln zeigen den Umstellungsstand (stabiler Schluessel). */
#sec-admin .adm-stat { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
#sec-admin .adm-stat-b { flex: 1 1 130px; min-width: 130px; padding: 9px 11px;
  border: 1px solid var(--border, rgba(128,128,128,.25)); border-radius: var(--r-sm, 6px);
  background: rgba(128,128,128,.04); }
#sec-admin .adm-stat-z { font-size: 17px; font-weight: 700; color: var(--text); line-height: 1.2; }
#sec-admin .adm-stat-l { font-size: 11px; color: var(--text2); margin-top: 2px; }

/* ── Kap. 476: Verwaltungsseite (admin.k360.at) ─────────────────────────────
   Bewusst an DENSELBEN Bausteinen wie die Admin-UI (.adm-tab, .set-card,
   .set-head, .adm-sel) — die Verwaltung ist eine zweite Sicht auf dieselbe
   Sache, kein eigenes Design. Nur das ergaenzt, was es dort nicht gibt. */
#sec-verwaltung .vw-scroll { overflow-x: auto; margin-top: 8px; }
#sec-verwaltung table.adm-tab { width: 100%; border-collapse: collapse; font-size: 13px; }
#sec-verwaltung table.adm-tab th {
  text-align: left; font-weight: 600; font-size: 11.5px; letter-spacing: .4px;
  text-transform: uppercase; color: var(--text2); padding: 7px 8px;
  border-bottom: 1px solid var(--line, rgba(128,128,128,.28)); white-space: nowrap;
}
#sec-verwaltung table.adm-tab td {
  padding: 7px 8px; border-bottom: 1px solid var(--line, rgba(128,128,128,.18));
  vertical-align: middle; color: var(--text);
}
#sec-verwaltung table.adm-tab tr:hover td { background: rgba(128,128,128,.05); }
#sec-verwaltung .adm-user { font-weight: 600; }
#sec-verwaltung .adm-mail { font-size: 11.5px; color: var(--text2); font-weight: 400; }
#sec-verwaltung select.adm-sel {
  font: inherit; font-size: 12.5px; padding: 5px 8px; border-radius: 6px;
  border: 1px solid var(--line, rgba(128,128,128,.35)); background: var(--card);
  color: var(--text); min-width: 130px; cursor: pointer;
}
#sec-verwaltung .adm-chip {
  display: inline-block; font-size: 11.5px; padding: 2px 8px; border-radius: 10px;
  background: rgba(11,107,203,.12); color: var(--accent); margin: 1px 4px 1px 0;
  white-space: nowrap;
}
/* Der Schalter je Person: Farbe bleibt Signal (an = lesbar, aus = gedaempft),
   keine Vollflaeche. Der Haken ist der einzige Punkt, der wirklich schreibt. */
#sec-verwaltung .vw-chip {
  display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px;
  padding: 3px 9px; border-radius: 11px; cursor: pointer; white-space: nowrap;
  border: 1px solid var(--line, rgba(128,128,128,.3));
  background: rgba(128,128,128,.08); color: var(--text2);
  transition: background .15s, color .15s, border-color .15s;
}
#sec-verwaltung .vw-chip.on {
  background: rgba(11,107,203,.12); color: var(--accent);
  border-color: rgba(11,107,203,.4);
}
#sec-verwaltung .vw-chip input { margin: 0; cursor: pointer; }

/* ── Kap. 476: die Verwaltungs-Adresse ist eine reine Verwaltungsoberfläche ────
   Auf admin.k360.at verschwindet die Arbeitsumgebung aus der Rail. Der Auftrag
   war deutlich: „wir brauchen im admin panel nicht die anderen apps, das soll
   eine reine verwaltungsoberflaeche sein fuer die admins".

   Warum per CSS und `!important`: rechteAnwenden() (core.js) setzt `display`
   selbst aus den Rechten und blendet Apps ein, die dieser Mensch nutzen darf.
   Ohne `!important` kaeme die Arbeitsumgebung bei jedem Rechte-Refresh zurueck.

   Warum ueber eine Verbotsliste und nicht ueber eine Erlaubnisliste: eine NEUE
   App in der Registry erscheint hier automatisch NICHT — ohne dass diese Regel
   nachgezogen werden muss. Eine Erlaubnisliste haette genau umgekehrt versagt:
   jede neue App waere zunaechst sichtbar gewesen.

   Erreichbar bleiben: die Verwaltung selbst, Administration, Einstellungen,
   Status und Doku (bei einer Stoerung sieht man genau hier nach) sowie die
   Marke und das Abmelden. */
body.verwaltungs-modus .rail > *:not(.logo) { display: none !important; }
body.verwaltungs-modus .rail > #railVerwaltung,
body.verwaltungs-modus .rail > #railAdmin,
body.verwaltungs-modus .rail > #railSettings,
body.verwaltungs-modus .rail > #railStatus,
body.verwaltungs-modus .rail > #railDocs,
body.verwaltungs-modus .rail > #navLogout { display: flex !important; }
/* railAdmin/railVerwaltung tragen inline `display:none`, wenn die Rechte fehlen.
   Das bleibt bindend: `!important` in der Regel oben wuerde es sonst aushebeln —
   deshalb hier die Rechte-Entscheidung NICHT ueberschreiben, sondern nur die
   Anzeige-Art korrigieren, wenn der Knopf ueberhaupt sichtbar sein soll. */
body.verwaltungs-modus .rail > #railAdmin[style*="none"],
body.verwaltungs-modus .rail > #railVerwaltung[style*="none"] { display: none !important; }
/* Trennlinien und der Platzhalter bleiben sonst als leere Striche/Leerraum
   stehen — die Rail saehe aus, als fehlte etwas. */
body.verwaltungs-modus .rail > .sep,
body.verwaltungs-modus .rail > .spacer { display: none !important; }
