/* NX-DS 2.0: DS-C-01/03, DS-T-01, DS-R-01, DS-S-01/02, DS-A-01..04.
   Native application shell; tokens and fonts reused from the supplied design code. */
@import url('/brand/tokens.css');
@font-face{font-family:Geist;src:url('/brand/geist-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Geist Mono';src:url('/brand/geist-mono-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
body:has(#root .nx-login){background:var(--gradient-seitengrund);color:var(--color-text-primaer);font-family:var(--font-text)}
#root:has(.nx-login){
  --background:var(--color-graphit-800);--foreground:var(--color-text-primaer);
  --card:var(--color-graphit-650);--card-foreground:var(--color-text-primaer);
  --primary:var(--color-marke-lime);--primary-foreground:var(--color-text-auf-lime);
  --muted:var(--color-graphit-850);--muted-foreground:var(--color-text-tertiaer);
  --border:var(--color-linie-mittel);--input:var(--color-linie-stark);
  --ring:var(--color-marke-lime);--destructive:var(--color-semantik-fehler);
  --accent:var(--color-graphit-600);--accent-foreground:var(--color-text-primaer);
}
#root:has(.nx-login)>div{min-height:100svh;height:auto;overflow:visible;background:var(--gradient-seitengrund)}
#root:has(.nx-login)>div>div:first-child{
  width:58%;padding:64px;background:transparent!important;color:var(--color-text-primaer);
  border-right:1px solid var(--color-linie-fein);
}
#root:has(.nx-login)>div>div:first-child>div.absolute{display:none}
#root:has(.nx-login)>div>div:first-child>div.relative{max-width:680px}
#root:has(.nx-login)>div>div:last-child{width:42%;padding:64px 40px;min-height:100svh;background:transparent;border:0}
#root:has(.nx-login) h1{font-size:clamp(38px,4.3vw,64px);line-height:1.04;letter-spacing:-.04em;font-weight:600;text-wrap:balance;max-width:13ch}
#root:has(.nx-login) h2{font-size:32px;letter-spacing:-.03em;font-weight:600;line-height:1.15}
#root:has(.nx-login) h3{font-size:17px;font-weight:600;letter-spacing:-.015em;color:var(--color-text-primaer)}
#root:has(.nx-login) p{color:var(--color-text-tertiaer);line-height:1.55;text-wrap:pretty}
#root:has(.nx-login) h1+p{max-width:48ch;font-size:17px;margin-top:24px}
#root:has(.nx-login) .grid>div{
  background:var(--gradient-kleine-karte)!important;border:1px solid var(--color-linie-fein)!important;
  box-shadow:var(--shadow-kleine-karte);border-radius:var(--radius-chip);padding:20px;
}
#root:has(.nx-login) .grid>div>div:first-child{background:var(--color-graphit-850)!important;color:var(--color-marke-lime);border-radius:var(--radius-klein)}
#root:has(.nx-login) .grid svg{color:var(--color-marke-lime)!important}
#root:has(.nx-login) .grid p{font-size:14px}
#root:has(.nx-login) .rounded-2xl{
  padding:36px;background:var(--gradient-karte)!important;border:1px solid var(--color-linie-fein);
  box-shadow:var(--shadow-karte);border-radius:var(--radius-leit);
}
#root:has(.nx-login) form{margin-top:32px}
#root:has(.nx-login) input{
  min-height:52px;background:var(--color-graphit-850)!important;color:var(--color-text-primaer);
  border:1px solid var(--color-linie-stark);border-radius:var(--radius-button);box-shadow:var(--shadow-well);font-size:16px;
}
#root:has(.nx-login) input::placeholder{color:var(--color-text-gedaempft)}
#root:has(.nx-login) input:focus{border-color:var(--color-marke-lime)!important;box-shadow:var(--shadow-well)}
#root:has(.nx-login) label{font-size:14px;font-weight:500;color:var(--color-text-sekundaer)}
#root:has(.nx-login) button{min-height:44px;min-width:44px;border-radius:var(--radius-button)}
#root:has(.nx-login) button[type='submit']{
  min-height:52px;margin-top:12px;background:var(--gradient-button-primaer)!important;
  color:var(--color-text-auf-lime)!important;box-shadow:var(--shadow-button-primaer);border:1px solid var(--color-marke-lime);font-size:16px;font-weight:600;
}
#root:has(.nx-login) button[type='submit']:hover{filter:brightness(1.05)}
#root:has(.nx-login) button[type='submit']:disabled{opacity:.55;cursor:not-allowed}
#root:has(.nx-login) :focus-visible{outline:var(--focus-ring)!important;outline-offset:3px;--tw-ring-shadow:0 0 transparent}
#root:has(.nx-login) img[alt='logo']{width:48px;height:48px;object-fit:contain}
#root:has(.nx-login) .text-lg.font-semibold{font-size:18px;letter-spacing:-.03em}
#root:has(.nx-login) .text-red-500{color:var(--color-semantik-fehler)!important}
@media(max-width:1023px){
  #root:has(.nx-login)>div>div:first-child{display:none}
  #root:has(.nx-login)>div>div:last-child{width:100%;padding:80px 24px 32px;min-height:100svh}
  #root:has(.nx-login) .rounded-2xl{padding:28px}
}
@media(prefers-reduced-motion:reduce){#root:has(.nx-login) *,#root:has(.nx-login) *::before,#root:has(.nx-login) *::after{animation:none!important;transition:none!important}}
