/* BUTTON Intern — Stil der Login-Seite (ohne Sitzung erreichbar).
   Auszug aus button.css: Tokens, Grundlagen, Kopf, Masthead, Fuß, Formular. Bewusst nur das,
   was login.html braucht — button.css (mit allen Bereichen) liegt hinter dem Login.
   Bei Änderungen an Farben/Tokens in button.css hier nachziehen. */

:root{
  --btn-ink:#2D373C; --btn-ink-strong:#1B2225; --btn-ink-soft:#3C4048;
  --btn-white:#FFFFFF; --btn-grey-50:#F5F6F6; --btn-grey-100:#E8E8E8;
  --btn-grey-300:#C4C9CB; --btn-grey-500:#7A8285; --btn-grey-700:#4A5255;
  --btn-text:#1A1F21; --btn-text-muted:#5C6467;
  --btn-green:#2AE418; --btn-green-dark:#17820E;
  --btn-ok:#2E7D5B; --btn-warn:#B8860B; --btn-error:#A83232;
  --btn-surface:var(--btn-white); --btn-surface-alt:var(--btn-grey-50);
  --btn-border:var(--btn-grey-100);
  --btn-font-head:"Inter Tight","Helvetica Neue",Helvetica,Arial,sans-serif;
  --btn-font-body:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  --s1:4px; --s2:8px; --s3:16px; --s4:24px; --s5:40px; --s6:64px; --s7:96px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--btn-font-body);font-size:17px;line-height:1.55;
     color:var(--btn-text);background:var(--btn-ink);-webkit-font-smoothing:antialiased}
a{color:inherit}
.shell{max-width:1120px;margin:0 auto}
.band{padding-left:var(--s4);padding-right:var(--s4)}
.dark{background:var(--btn-ink);color:var(--btn-white)}
.light{background:var(--btn-surface)}
.alt{background:var(--btn-surface-alt)}
.eyebrow{font-family:var(--btn-font-head);font-size:12px;line-height:1.2;
         font-weight:600;letter-spacing:.12em;text-transform:uppercase}

.crest{padding-top:var(--s6);padding-bottom:var(--s5);text-align:center;
       border-bottom:1px solid var(--btn-grey-700)}
.crest img{height:84px;width:auto;display:inline-block}
.crest .eyebrow{display:block;margin-top:var(--s4);color:var(--btn-grey-500);
                font-variant-numeric:tabular-nums}

.masthead{padding-top:var(--s5);padding-bottom:var(--s5)}
h1{font-family:var(--btn-font-head);font-weight:700;font-size:64px;line-height:1.05;
   letter-spacing:-.01em;text-transform:uppercase}
.headrule{height:1px;background:var(--btn-grey-700);margin-top:var(--s5)}
.lede{margin-top:var(--s4);font-size:17px;line-height:1.55;color:var(--btn-grey-300);max-width:72ch}

footer{background:var(--btn-ink-strong);color:var(--btn-grey-300);
       padding-top:var(--s5);padding-bottom:var(--s6)}
footer .eyebrow{color:var(--btn-grey-500);margin-bottom:var(--s3)}
footer p{font-size:14px;line-height:1.5;max-width:72ch}

@media (max-width:640px){
  h1{font-size:40px}
  .crest{padding-top:var(--s5);padding-bottom:var(--s4)}
  .crest img{height:56px}
  .band{padding-left:var(--s3);padding-right:var(--s3)}
}

.login{max-width:420px;padding-top:var(--s5);display:flex;flex-direction:column;gap:var(--s2)}
.login label{font-family:var(--btn-font-head);font-size:12px;font-weight:600;
             letter-spacing:.12em;text-transform:uppercase;color:var(--btn-text-muted);margin-top:var(--s3)}
.login input{font-family:var(--btn-font-body);font-size:16px;color:var(--btn-text);background:var(--btn-white);
             border:1px solid var(--btn-grey-300);border-radius:0;padding:11px 12px;min-height:44px}
.login input:focus-visible{outline:2px solid var(--btn-ink);outline-offset:2px}
button.solid{font-family:var(--btn-font-head);font-size:14px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--btn-white);background:var(--btn-ink);border:1px solid var(--btn-ink);
  border-radius:0;padding:12px 24px;cursor:pointer;margin-top:var(--s4);align-self:flex-start}
button.solid:hover{background:var(--btn-ink-strong)}
button.solid:disabled{opacity:.5;cursor:default}
button.solid:focus-visible{outline:2px solid var(--btn-ink);outline-offset:3px}
.login .fehler{font-size:14px;color:var(--btn-error);margin-top:var(--s2)}
