/* Recht-OS — Anmeldung im Familienstil der OS-Suite (Vorbild: SmartRent-OS 3.12).
   Aufbau für alle Produkte gleich, Farben aus der Produkt-CI (hier Recht-OS #3B3B5C). */
@font-face{font-family:Inter;src:url(../fonts/inter-latin.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{
  --p:#3B3B5C;          /* Produktfarbe */
  --p-hover:#2F2F4B;
  --p-panel:#23233A;    /* dunkle Erzählfläche, aus der Produktfarbe abgeleitet */
  --p-os-hell:#B9B6E3;  /* hochgestelltes OS auf dunklem Grund */
  --p-akzent:#A9A6D6;   /* Leitzeile auf dunklem Grund */
  --p-fokus:rgba(59,59,92,.18);
  --seite:#EFF0F6; --linie:#E0E2EB; --text:#171A26; --leise:#646A7E; --feld:#F7F8FC;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.os-auth{margin:0;min-height:100dvh;display:grid;place-items:center;padding:40px;background:var(--seite);color:var(--text);font:400 15px/1.55 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
.os-wm{font-weight:600;letter-spacing:-.03em;white-space:nowrap}
.os-wm sup{font-size:.55em;margin-left:.14em;letter-spacing:0;vertical-align:super;line-height:0;color:var(--p)}
.os-auth-shell{display:grid;grid-template-columns:1.05fr 1fr;width:min(1040px,100%);min-height:620px;border:1px solid var(--linie);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 24px 70px rgba(23,26,38,.08)}
.os-auth-story{background:var(--p-panel);color:#C9C8DB;padding:43px;display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.os-auth-story .os-wm{font-size:22px;color:#fff}
.os-auth-story .os-wm sup{color:var(--p-os-hell)}
.os-eyebrow{margin:0;font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--leise)}
.os-auth-story .os-eyebrow{color:var(--p-akzent);font-size:9px}
.os-auth-story h2{font-size:38px;line-height:1.22;letter-spacing:-.03em;font-weight:500;color:#fff;margin:18px 0}
.os-auth-story p{margin:0;font-size:13px;line-height:1.8;color:#BEBDD3}
.os-auth-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:28px;padding:0;list-style:none}
.os-auth-chips li{border:1px solid rgba(255,255,255,.14);padding:7px 10px;border-radius:6px;color:#D6D4EE;font-size:11px}
.os-auth-story small{color:#9E9DB8;font-size:11px}
.os-auth-card{align-self:center;padding:52px}
.os-auth-card .os-wm-mobil{display:none}
.os-auth-card h1{font-size:28px;letter-spacing:-.025em;font-weight:500;line-height:1.25;margin:10px 0}
.os-auth-card .os-lead{color:var(--leise);font-size:14px;line-height:1.7;margin:0 0 30px}
.os-field{margin-bottom:18px}
.os-field label{display:block;font-size:14px;font-weight:500;margin-bottom:8px}
.os-input{width:100%;height:50px;padding:0 15px;border:1px solid var(--linie);border-radius:8px;background:var(--feld);font:inherit;color:var(--text);transition:border-color .15s,box-shadow .15s}
.os-input:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 4px var(--p-fokus);background:#fff}
.os-pw{position:relative}
.os-pw .os-input{padding-right:92px}
.os-pw button{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:none;font:inherit;font-size:12px;color:var(--leise);padding:8px;cursor:pointer;border-radius:6px}
.os-pw button:hover{color:var(--text)}
.os-btn{display:flex;width:100%;height:48px;align-items:center;justify-content:center;gap:10px;margin-top:22px;border:0;border-radius:8px;background:var(--p);color:#fff;font:inherit;font-weight:500;cursor:pointer;transition:background .15s}
.os-btn:hover{background:var(--p-hover)}
.os-btn:focus-visible,.os-pw button:focus-visible,.os-auth a:focus-visible{outline:3px solid var(--p-fokus);outline-offset:2px}
.os-help{color:var(--leise);font-size:12px;line-height:1.7;margin:24px 0 14px}
.os-links{display:flex;flex-direction:column;gap:10px;font-size:13px}
.os-links a{color:var(--leise);text-decoration:none}
.os-links a:hover{color:var(--text);text-decoration:underline}
.os-alert{padding:12px 14px;border-radius:8px;font-size:13px;margin:0 0 20px;border:1px solid}
.os-alert--error{background:#FBEFEF;border-color:#EFC4C4;color:#8A1F1F}
.os-alert--success{background:#EEF7F0;border-color:#BFE0C8;color:#1F5C33}
.os-alert--info,.os-alert--warning{background:#EEF2FA;border-color:#C9D5EE;color:#25407A}
.os-demo-hinweis{font-size:11px;color:#9E9DB8;border-top:1px solid rgba(255,255,255,.1);padding-top:14px;margin-top:4px}
@media (max-width:900px){
  body.os-auth{padding:16px;place-items:start center}
  .os-auth-shell{grid-template-columns:1fr;min-height:0}
  .os-auth-story{display:none}
  .os-auth-card{padding:34px 24px}
  .os-auth-card .os-wm-mobil{display:block;font-size:22px;margin-bottom:26px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
