/* ==========================================================================
   AB Tax – Psono Login

   Ziel: optische Angleichung an den Portal-/Authentik-Login. Farb-/Radius-/
   Abstandswerte sind, wo moeglich, woertlich aus dem dortigen Design uebernommen:
     - infra/authentik/blueprints/80-brand-abtax.yaml (branding_custom_css)
     - apps/employee-web/public/styles.css
   Aktionsfarbe #020f18 bewusst NUR hier scoped auf die Login-Karte gesetzt
   (nicht in theme.palette.primary.main in config.webclient.json geaendert):
   primary.main bleibt #224366 und wirkt auch nach dem Login (Dashboard) —
   eine globale Aenderung haette das Dashboard mitgefaerbt, was FB ausdruecklich
   ausgeschlossen hat. Poppins (Portal-/Authentik-Schrift) bewusst NICHT
   eingebunden: apps/platform-api/src/app.ts setzt Access-Control-Allow-Origin
   fuer /schrift nur auf den IdP-Origin, Psonos Domains sind nicht freigegeben
   (Zeile ~342) — ein Erweitern dieser CORS-Freigabe ist eine eigene
   Security-Entscheidung, nicht Teil dieses Auftrags. Die Karte faellt daher auf
   denselben Systemschriftstapel zurueck, den Authentik selbst als Fallback nutzt.
   ========================================================================== */

/* Login-Karte */
div:has(> form[name="loginForm"]) {
  width: min(400px, calc(100vw - 32px));
  box-sizing: border-box;
  padding: 36px 36px 30px;

  text-align: center;

  /* Authentik: --pf-c-login__main--BoxShadow / .pf-c-login__main border-radius (24px) */
  border-radius: 24px;
  box-shadow:
    0 1px 2px rgba(7, 16, 23, 0.05),
    0 8px 16px -4px rgba(7, 16, 23, 0.08),
    0 0 0 1px #edf1f4;
}


/* --------------------------------------------------------------------------
   Logo
   -------------------------------------------------------------------------- */

div:has(> form[name="loginForm"]) > img {
  display: block;

  /* Authentik: img.branding-logo { height: 2.5rem } */
  height: 40px;
  width: auto;
  max-width: 80%;

  margin: 0 auto 12px;
}


/* Psono-eigener "powered by psono.com"-Link (a.infolabel, literale Psono-Klasse,
 * kein Anker im Anmeldeformular selbst) - im Portal-/Authentik-Login gibt es kein
 * Aequivalent, daher fuer die optische Angleichung ausgeblendet. Rein extern
 * (Marketingseite psono.com), keine Funktion fuer AB-Tax-Nutzer. */
a.infolabel {
  display: none;
}


/* --------------------------------------------------------------------------
   Formular
   -------------------------------------------------------------------------- */

form[name="loginForm"] {
  text-align: center;
}


/* MUI-Container zentrieren */
form[name="loginForm"] .MuiGrid-container {
  justify-content: center;
}


/* Grid-Inhalte zentrieren */
form[name="loginForm"] .MuiGrid-item {
  text-align: center;
}


/* Ueberschrift "AB Tax Anmeldung": funktional verankert - der Container, der auch
 * den SSO-Button enthaelt (":has(button)"), darin das erste Grid-Item. Verifiziert
 * auf Staging (2026-09-16): 1 Treffer. Optik an Authentiks .pf-c-title.pf-m-3xl
 * angeglichen (font-size 1.75rem/28px, font-weight 500, Farbe #2c3942). */
form[name="loginForm"] .MuiGrid-container:has(button) > .MuiGrid-item:first-child {
  font-size: 22px;
  font-weight: 500;
  color: #2c3942;
  margin-bottom: 6px;
}


/* --------------------------------------------------------------------------
   SSO-Button
   -------------------------------------------------------------------------- */

form[name="loginForm"] .MuiButton-root {
  width: 100%;
  min-height: 44px;

  margin: 8px auto 0;

  /* Authentik: .pf-c-button.pf-m-primary.pf-m-block { border-radius: 0.75rem } */
  border-radius: 12px;
  padding: 13px 24px;

  /* Aktionsfarbe wie Portal/Authentik (#020f18), nur auf der Login-Karte -
   * siehe Begruendung im Dateikopf. */
  background-color: #020f18 !important;

  font-size: 15px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;

  text-transform: none;
}

form[name="loginForm"] .MuiButton-root:hover,
form[name="loginForm"] .MuiButton-root:focus {
  /* dieselbe Aufhellung wie Authentiks --pf-global--primary-color--200 */
  background-color: color-mix(in srgb, #020f18 82%, white) !important;
}


/* --------------------------------------------------------------------------
   "Vertrauenswürdiges Gerät" komplett ausblenden
   -------------------------------------------------------------------------- */

/* Kein MuiFormControlLabel-root in dieser Psono-Version (verifiziert:
 * 0 Treffer im DOM) - die Checkbox steckt ohne Label-Wrapper direkt in
 * einem MuiGrid-item. Anker daher ueber das funktionale Attribut
 * input[type="checkbox"], nicht ueber generierte jss*-Klassen.
 * Verifiziert auf Staging (2026-09-16): genau 1 Treffer im Login-Formular. */
form[name="loginForm"] .MuiGrid-item:has(input[type="checkbox"]) {
  display: none !important;
}
