/* Anmelde-Ansicht (alle Portale): immer hell, unabhängig vom gewählten Dunkelmodus */
.lshell{
  --bg:#f4f7fa; --surface:#ffffff; --line:#dfe6ee; --line-strong:#c6d2de; --fg:#121c26; --muted:#56687a;
  --accent:#167dbf; --accent-fg:#ffffff; --accent-soft:#e2eff8; --accent-ink:#0f5f93;
  --pos:#1d7a46; --neg:#b3412e; --warn:#9c4a42; --warn-soft:#f7ebe9; --pos-soft:#e3f3e9; --neg-soft:#f8e6e2;
  --soft:#f4f7fa; --ink:#0f1b2d; --blue:#167dbf; --blue-soft:#e6f1f9; --blue-ink:#0f5f93; --card:#ffffff;
  --red:#c73a2f; --red-soft:#fcecea; --shadow:0 18px 40px -24px rgba(15,27,45,.35);
  color-scheme:light;
  position:fixed;inset:0;z-index:80;display:grid;grid-template-rows:auto minmax(0,1fr) auto;
  background:var(--bg);color:var(--fg);overflow:hidden;
}
html:has(.lshell),body:has(.lshell){overflow:hidden;scrollbar-gutter:auto;background:#f4f7fa;color-scheme:light}
.lsh-in{width:100%;max-width:calc(1380px + 2 * clamp(16px,3vw,32px));margin:0 auto;padding:0 clamp(16px,3vw,32px);display:flex;align-items:center;gap:18px}
.lsh-head{background:#ffffff;border-bottom:1px solid var(--line)}
.lsh-head .lsh-in{min-height:134px}
.lsh-brand{display:block;line-height:0}
.lsh-brand img{width:282px;height:auto;display:block}
.lsh-app{padding-left:20px;margin-left:4px;border-left:1px solid var(--line);font-family:var(--f-body);font-weight:600;font-size:28px;letter-spacing:-.01em;line-height:1.2;color:var(--muted)}
.lsh-web{margin-left:auto;display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:10px;background:#167dbf;color:#fff;text-decoration:none;font-family:var(--f-head);font-weight:700;font-size:17px;box-shadow:0 8px 20px -10px rgba(22,125,191,.7);white-space:nowrap}
.lsh-web:hover{background:#0f6aa6}
.lsh-web:focus-visible{outline:2px solid #167dbf;outline-offset:3px}
.lsh-main{overflow:auto;display:grid;place-items:center;padding:16px 16px calc(16px + 5vh)}
.lsh-main .login{min-height:0;padding:0;width:100%;display:grid;place-items:center}
.lsh-main .login .card{width:min(440px,100%);padding:32px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);display:grid;gap:12px}
.lsh-main .login .card h2{margin:0;color:var(--ink,var(--fg));font-family:var(--f-head);font-weight:800;letter-spacing:-.03em;font-size:26px;line-height:1.15}
.lsh-foot{background:#ffffff;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.lsh-foot .lsh-in{min-height:56px;justify-content:space-between;flex-wrap:wrap;gap:4px 18px;padding-block:8px}
.lsh-foot nav{display:flex;gap:10px;align-items:center}
.lsh-foot a{color:#167dbf;text-decoration:none}
.lsh-foot a:hover{text-decoration:underline}
.lsh-foot nav span{color:#b3c0cc}
@media (max-width:600px){
  .lsh-head .lsh-in{min-height:76px;gap:12px}
  .lsh-brand img{width:170px}
  .lsh-app{display:none}
  .lsh-web{padding:9px 13px;font-size:14px}
}
@media (min-width:601px) and (max-width:900px){
  .lsh-head .lsh-in{min-height:100px}
  .lsh-brand img{width:220px}
  .lsh-app{font-size:22px}
  .lsh-foot .lsh-in{justify-content:center;text-align:center}
}
.lsh-out{margin-left:auto;all:unset;margin-left:auto;cursor:pointer;padding:10px 16px;border-radius:12px;border:1px solid var(--line);font-family:var(--f-head);font-weight:600;font-size:14px;color:var(--ink,#0f1b2d);background:#fff}
.lsh-out:hover{border-color:#167dbf}
.lsh-out:focus-visible{outline:2px solid #167dbf;outline-offset:2px}
.lsh-main .login .btn.primary{justify-content:center;justify-self:stretch}
.lsh-main .login .btn.ghost.sm{border-color:transparent;background:none;box-shadow:none;color:#167dbf;padding-inline:0}
.lsh-main .login .btn.ghost.sm:hover{text-decoration:underline}
/* Anmeldekarte in allen Portalen genau wie im Kundenportal */
.lsh-main .login .card{width:min(440px,100%);padding:34px;gap:12px;border-radius:14px;font-family:var(--f-body)}
.lsh-main .login .card h2+.muted,.lsh-main .login .card h2+p{font-size:16px;margin:0;color:var(--muted);line-height:1.55}
.lsh-main .login .fields{display:grid;gap:18px;grid-template-columns:1fr;margin-top:8px}
.lsh-main .login label{display:grid;gap:8px;font-weight:500;font-size:15px;color:var(--ink);text-transform:none;letter-spacing:0}
.lsh-main .login input{width:100%;min-width:0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px 16px;font:400 16px/1.55 var(--f-body);color:var(--ink);box-shadow:none;height:auto}
.lsh-main .login input:focus{outline:none;border-color:#167dbf;box-shadow:0 0 0 3px rgba(22,125,191,.15)}
.lsh-main .login .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px 16px;font:500 16px/1.55 var(--f-body);cursor:pointer;min-height:0}
.lsh-main .login .btn.primary{background:#167dbf;border-color:#167dbf;color:#fff}
.lsh-main .login .btn.primary:hover{background:#0f5f93}
.lsh-main .login .btn.ghost.sm{font-size:14px;padding:6px 0;color:#167dbf;background:none;border-color:transparent}
