/* ÖAMTC Portal - Split-Screen Login */
*{box-sizing:border-box}
body.bh-login{
  --bh-login-navy:#13213d;
  --bh-login-blue:#315cff;
  --bh-login-blue-dark:#2448d8;
  --bh-login-line:#dbe3ef;
  --bh-login-muted:#687791;
  min-height:100vh;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  overflow:hidden;
  background:#eef2f7;
  color:var(--bh-login-navy);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.bh-login-shell{
  width:min(1480px,100%);
  height:min(760px,calc(100svh - 56px));
  min-height:520px;
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);
  overflow:hidden;
  border:1px solid rgba(19,33,61,.10);
  border-radius:24px;
  background:#fff;
  box-shadow:0 30px 80px rgba(19,33,61,.16);
}
.bh-login-visual{
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:0;
  padding:clamp(26px,5vh,46px) clamp(30px,4vw,52px) clamp(24px,4vh,38px);
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(12,23,43,.86) 0%,rgba(12,23,43,.68) 48%,rgba(12,23,43,.28) 100%),
    url("images/startseite.png") center center / cover no-repeat,
    #101b32;
}
.bh-login-visual::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(180deg,rgba(4,12,25,.08),rgba(4,12,25,.34));
  pointer-events:none;
}
.bh-login-visual::after{
  content:none;
}
.bh-login-wordmark{display:flex;align-items:center;gap:13px;font-size:16px;letter-spacing:.04em}
.bh-login-wordmark>span:last-child{display:flex;flex-direction:column;gap:1px}
.bh-login-wordmark strong{font-size:19px;line-height:1}
.bh-login-wordmark small{color:rgba(255,255,255,.7);font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.bh-login-logo{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--bh-login-blue);color:#fff;font-size:24px;font-weight:850;box-shadow:0 10px 28px rgba(49,92,255,.38)}
.bh-login-visual-copy{max-width:570px;margin:40px 0}
.bh-login-kicker,.bh-login-form-kicker{display:block;margin-bottom:12px;color:#aebfff;font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.bh-login-visual-copy h2{max-width:560px;margin:0;font-size:42px;line-height:1.12;letter-spacing:-.025em;color:#fff}
.bh-login-visual-copy>p{max-width:510px;margin:20px 0 0;color:rgba(255,255,255,.73);font-size:16px;line-height:1.6}
.bh-login-features{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}
.bh-login-features span{padding:8px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.075);color:rgba(255,255,255,.88);font-size:12px;font-weight:650;backdrop-filter:blur(5px)}
.bh-login-visual-foot{color:rgba(255,255,255,.48);font-size:12px;letter-spacing:.04em}
.bh-login-visual-spacer{flex:1 1 auto}
.bh-login-card{
  width:100%;
  align-self:center;
  max-height:100%;
  padding:clamp(30px,7vh,58px) clamp(32px,4.5vw,54px);
  overflow-y:auto;
  background:#fff;
}
.bh-login-mobile-brand{display:none}
.bh-login-form-kicker{color:var(--bh-login-blue);margin-bottom:9px}
.bh-login-card h1{margin:0;color:var(--bh-login-navy);font-size:31px;line-height:1.18;letter-spacing:-.02em}
.bh-sub{margin:9px 0 0;color:var(--bh-login-muted);font-size:14px;line-height:1.5}
.bh-login #loginform{margin:clamp(18px,4vh,30px) 0 0}
.bh-login #loginform p{margin:0 0 17px}
.bh-login #loginform label{display:block;margin-bottom:7px;color:#263550;font-size:13px;font-weight:700}
.bh-login #loginform .input,
.bh-login #loginform input[type="text"],
.bh-login #loginform input[type="password"]{
  width:100%;
  min-height:50px;
  margin-top:7px;
  padding:12px 14px;
  border:1px solid #cdd7e6;
  border-radius:11px;
  background:#f9fbfd;
  color:#17243d;
  font-size:15px;
  line-height:1.3;
  box-shadow:none;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.bh-login #loginform .input:focus,
.bh-login #loginform input[type="text"]:focus,
.bh-login #loginform input[type="password"]:focus{border-color:var(--bh-login-blue);outline:none;background:#fff;box-shadow:0 0 0 4px rgba(49,92,255,.12)}
.bh-login #loginform .forgetmenot{display:flex;align-items:center;gap:8px;margin:0 0 20px;color:var(--bh-login-muted);font-size:13px;font-weight:500}
.bh-login #loginform .forgetmenot input{width:17px;height:17px;margin:0}
.bh-login #loginform input[type="submit"]{
  width:100%;
  min-height:50px;
  padding:11px 16px;
  border:0;
  border-radius:11px;
  background:linear-gradient(135deg,var(--bh-login-blue),var(--bh-login-blue-dark));
  color:#fff;
  font-size:15px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 12px 24px rgba(49,92,255,.22);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.bh-login #loginform input[type="submit"]:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 15px 30px rgba(49,92,255,.28)}
.bh-login #login_error,.bh-login .message,.bh-login .notice{margin:18px 0 0;padding:12px 14px;border:1px solid #f1b7bd;border-left:4px solid #d63638;border-radius:9px;background:#fff5f6;color:#7f1d28;line-height:1.45}
.bh-login .notice-success{border-color:#a9dec8;border-left-color:#16865c;background:#f0fbf6;color:#116346}
.bh-login-foot{margin-top:21px;padding-top:17px;border-top:1px solid #e6ebf2;color:#8994a5;line-height:1.45}
.bh-forgot-password{margin:12px 0 0;text-align:center;}
.bh-forgot-password .button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border:1px solid #315cff;border-radius:9px;color:#315cff;text-decoration:none;font-weight:700;background:#fff;}

/* Passwort-Reset verwendet dieselbe ruhige Formulargestaltung ohne Bildseite. */
.bh-login-shell--simple{display:flex;min-height:0;width:min(520px,100%)}
.bh-login-shell--simple .bh-login-card{padding:42px}
.bh-login-shell--simple .bh-login-brand{display:flex;align-items:center;gap:13px;margin-bottom:22px}
.bh-login-shell--simple .bh-login-mark{width:44px;height:44px;border-radius:50%;background:var(--bh-login-blue);box-shadow:0 10px 24px rgba(49,92,255,.24)}
.bh-login-shell--simple .button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:9px;background:var(--bh-login-blue);color:#fff;text-decoration:none;font-weight:700}

/* Große Bildschirme: verfügbare Fläche nahezu vollständig ausnutzen. */
@media(min-width:1600px) and (min-height:760px){
  body.bh-login{padding:24px clamp(32px,3vw,64px)}
  .bh-login-shell:not(.bh-login-shell--simple){
    width:min(1800px,calc(100vw - clamp(64px,6vw,120px)));
    height:calc(100svh - 48px);
    max-height:1000px;
    grid-template-columns:minmax(0,1.38fr) minmax(480px,.82fr);
  }
  .bh-login-card{padding-inline:clamp(52px,5vw,92px)}
}

@media(max-width:900px){
  body.bh-login{padding:18px}
  .bh-login-shell{width:min(520px,100%);height:min(680px,calc(100svh - 36px));min-height:0;display:block}
  .bh-login-visual{display:none}
  .bh-login-card{height:100%;display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,7vh,42px) 38px}
}
@media(max-height:680px) and (min-width:901px){
  body.bh-login{padding:16px}
  .bh-login-shell{height:calc(100svh - 32px);min-height:0}
  .bh-login-visual{padding:25px 34px 22px}
  .bh-login-card{padding:25px 38px}
  .bh-login-card h1{font-size:26px}
  .bh-login #loginform{margin-top:17px}
  .bh-login #loginform p{margin-bottom:11px}
  .bh-login #loginform .input,.bh-login #loginform input[type="text"],.bh-login #loginform input[type="password"]{min-height:43px;padding:9px 12px}
  .bh-login #loginform .forgetmenot{margin-bottom:12px}
  .bh-login #loginform input[type="submit"]{min-height:44px}
  .bh-login-foot{margin-top:13px;padding-top:11px}
}
@media(max-width:520px){
  body.bh-login{align-items:flex-start;padding:0;overflow:auto;background:#fff}
  .bh-login-shell{width:100%;height:100svh;min-height:480px;border:0;border-radius:0;box-shadow:none}
  .bh-login-card,.bh-login-shell--simple .bh-login-card{padding:34px 24px}
  .bh-login-card h1{font-size:27px}
}
