/* Ausschließlich Login; Systemschrift und selbst gezeichnete CSS-Geometrie. */
.auth-page { background:#f3f5f6 }
.auth-layout { display:grid; grid-template-columns:55% 45%; min-height:100vh; min-height:100svh }
.auth-identity { position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; min-width:0; padding:48px clamp(30px,5vw,90px); color:#eef6f9; background:radial-gradient(ellipse at 85% 50%,#23404c 0,transparent 65%),#13232c }
.auth-brand { display:flex; align-items:center; flex-wrap:wrap; gap:12px; font-size:12px; font-weight:600; letter-spacing:1.8px }
.auth-brand>span:last-child { color:#a1b7c2; font-size:10px; font-weight:400 }
.auth-symbol { color:#6cd4ed; font-size:28px; font-weight:300; line-height:1 }
.auth-intro { padding:90px 0 100px }
.auth-kicker { font-family:Consolas,"Courier New",monospace; font-size:10px; letter-spacing:2px; color:#8bd9e9; margin:0 0 28px }
.auth-kicker span { color:#9aafba; margin-left:12px }
.auth-display { font-size:clamp(64px,7.4vw,130px); line-height:1.02; letter-spacing:-4px; font-weight:200; margin:0 0 30px }
.auth-display>span { color:#9cbac8 }
.auth-description { color:#b7cbd5; font-size:14px; line-height:1.9; margin:0 }
.auth-restricted { display:flex; align-items:center; gap:12px; font-size:9px; letter-spacing:1.3px; line-height:1.8; color:#b5ced9; margin:40px 0 0 }
.auth-restricted>span { color:#70d1e7; font-size:20px }
.auth-system { display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px; border-top:1px solid #8db7c62b; padding-top:22px; font-family:Consolas,"Courier New",monospace; font-size:9px; letter-spacing:1.4px; color:#9eb6c2 }
.auth-system>span:first-child { display:flex; align-items:center; gap:10px; color:#c1e5ed }
.auth-system i { width:5px; height:5px; background:#77d7ec; border-radius:50%; box-shadow:0 0 12px #64d5ed }
.auth-geometry { position:absolute; z-index:-1; width:590px; height:590px; right:-300px; top:calc(50% - 295px); border:1px solid #7ad7ec21; border-radius:50% }
.auth-geometry::before,.auth-geometry::after,.auth-geometry span { content:""; position:absolute; border-radius:50% }
.auth-geometry::before { inset:25px; border:1px dashed #7ad7ec1f }
.auth-geometry::after { inset:70px; border:1px solid #7ad7ec28; border-top-color:transparent; border-bottom-color:transparent; transform:rotate(-35deg) }
.auth-geometry span { inset:-45px; border:1px solid transparent; border-left-color:#7ad7ec44; transform:rotate(25deg) }
.auth-panel { position:relative; display:flex; flex-direction:column; justify-content:space-between; gap:65px; min-width:0; padding:48px clamp(28px,5vw,90px); background:linear-gradient(135deg,#fbfcfd,#edf1f3) }
.auth-panel-marker { display:flex; align-items:center; justify-content:space-between; font-family:Consolas,"Courier New",monospace; font-size:9px; letter-spacing:1.6px; color:#72838e }
.auth-panel-marker>span { font-size:24px; font-weight:200; color:#6f929f; line-height:1 }
.auth-form-wrap { width:100%; max-width:410px; margin:auto }
.auth-panel .auth-kicker { color:#217c92; margin-bottom:19px }
.auth-panel h1 { font-size:clamp(33px,3.2vw,52px); font-weight:300; letter-spacing:-1.5px; line-height:1.2 }
.auth-panel h1>span { color:#169fbd }
.auth-lead { font-size:13px; line-height:1.85; color:#647580; max-width:310px; margin:21px 0 42px }
.auth-form { display:flex; flex-direction:column }
.auth-form label { font-size:9px; font-weight:600; letter-spacing:1.8px; color:#556e7a }
.auth-form input:not([type=hidden]) { width:100%; min-width:0; border:0; border-bottom:1px solid #a9bcc5; background:transparent; border-radius:0; padding:12px 0; height:49px; font-size:16px; color:#223c4a; margin-bottom:29px; transition:border-color .2s,box-shadow .2s }
.auth-form input:focus-visible { outline:0; border-color:#168ba7; box-shadow:0 1px #168ba7 }
.auth-form button { display:flex; align-items:center; justify-content:space-between; gap:16px; border:1px solid #5bc8e0; background:#6cd4ed; color:#153b49; min-height:55px; padding:15px 20px; margin-top:10px; font-size:10px; font-weight:650; letter-spacing:1.5px; transition:background .2s }
.auth-form button:hover { background:#93e4f6 }
.auth-form button:disabled { background:#dce7eb; border-color:#cad9df; color:#617985 }
.auth-form button>span { font-size:24px; font-weight:300; line-height:1 }
.auth-footnote { display:flex; align-items:center; gap:9px; font-size:8px; letter-spacing:1.2px; color:#71848e; margin:22px 0 0 }
.auth-footnote>span { font-size:15px; color:#41879b }
.auth-panel-footer { font-size:8px; letter-spacing:1.2px; color:#5c7683; line-height:1.8 }
.auth-panel-footer>span { color:#758995; margin-left:10px }
.auth-error { border-left:2px solid #a0604d; background:#f1e9e5; padding:14px 16px; margin:0 0 26px; color:#704a3f }
.auth-error strong { font-size:9px; letter-spacing:1px; font-weight:650 }
.auth-error p { font-size:12px; line-height:1.7; margin:7px 0 0 }
@media(max-width:1000px) {
  .auth-identity,.auth-panel { padding:36px 30px }
  .auth-display { font-size:clamp(56px,8vw,80px); letter-spacing:-3px }
  .auth-brand { font-size:10px; gap:9px }
  .auth-brand>span:last-child { font-size:8px }
  .auth-restricted { font-size:8px }
  .auth-panel { gap:50px }
}
@media(max-width:680px) {
  .auth-layout { grid-template-columns:minmax(0,1fr) }
  .auth-identity { padding:27px 26px }
  .auth-intro { padding:40px 0 32px }
  .auth-intro .auth-kicker { margin-bottom:15px; font-size:8px }
  .auth-display { font-size:62px; margin-bottom:20px }
  .auth-description { font-size:12px; line-height:1.7 }
  .auth-restricted { margin-top:21px; letter-spacing:.7px }
  .auth-geometry { right:-310px }
  .auth-system { font-size:8px; padding-top:18px; gap:10px }
  .auth-panel { padding:28px 26px; gap:40px }
  .auth-panel h1 { font-size:38px }
  .auth-lead { margin-bottom:32px }
}
