.login-body{position:relative;min-height:100vh;overflow:hidden;display:block;background:#100b08}

/* Full-bleed abstract art background: layered, slowly-drifting color blobs */
.login-art{position:fixed;inset:0;z-index:0;overflow:hidden;background:#0c0805}
.login-art .blob{position:absolute;border-radius:50%;filter:blur(55px);opacity:.95}
.blob-1{width:56vw;height:56vw;top:-16vw;left:-12vw;background:radial-gradient(circle at 35% 35%,#ffb066,#ff7a1a 45%,#c2410c 68%,transparent 78%);animation:drift-a 26s ease-in-out infinite}
.blob-2{width:50vw;height:50vw;bottom:-18vw;right:-10vw;background:radial-gradient(circle at 60% 60%,#ffe0a8,#f4903b 45%,#b5470f 68%,transparent 80%);animation:drift-b 32s ease-in-out infinite}
.blob-3{width:42vw;height:42vw;top:16vh;right:4vw;background:radial-gradient(circle,#ff5a1f,#8a3609 55%,transparent 78%);opacity:.85;animation:drift-c 24s ease-in-out infinite}
.blob-4{width:34vw;height:34vw;bottom:6vh;left:14vw;background:radial-gradient(circle,#fff2d6,#ffb703 40%,#e8590c 65%,transparent 78%);animation:drift-a 20s ease-in-out infinite reverse}
.blob-5{width:64vw;height:64vw;top:26vh;left:26vw;background:radial-gradient(circle,#d9591c,#4a1c04 55%,transparent 75%);opacity:.6;animation:drift-b 38s ease-in-out infinite}
@keyframes drift-a{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(4vw,3vh) scale(1.08)}}
@keyframes drift-b{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-3vw,-4vh) scale(1.1)}}
@keyframes drift-c{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-2vw,3vh) scale(.92)}}
.login-art::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 900px 700px at 12% 55%,rgba(12,8,5,.72),transparent 62%),linear-gradient(115deg,rgba(12,8,5,.2),rgba(12,8,5,.55) 55%)}

.login-topmark{position:fixed;top:28px;left:32px;z-index:2}
.login-topmark img{height:34px;width:auto;filter:brightness(0) invert(1);opacity:.92}

.login-card{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;justify-content:center;max-width:460px;margin-left:8vw;padding:56px;color:#fff}
.login-eyebrow{margin:0 0 14px;color:#ffb37a;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.login-card h1{margin:0 0 14px;font:600 42px/1.12 Georgia,"Times New Roman",serif;color:#fff;letter-spacing:-.01em}
.login-copy{margin:0;color:rgba(255,255,255,.62);font-size:13px;line-height:1.5}
.login-form{margin-top:32px;display:grid;gap:20px;max-width:340px}
.login-form .field span{display:block;margin-bottom:7px;color:rgba(255,255,255,.55);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.login-form .field input{width:100%;height:38px;padding:0 2px;border:0;border-bottom:1px solid rgba(255,255,255,.28);border-radius:0;background:transparent;color:#fff;font-size:14px;outline:none;transition:border-color 160ms ease}
.login-form .field input:focus{border-color:#ff9142;box-shadow:0 1px 0 0 #ff9142}
.login-form .field input::placeholder{color:rgba(255,255,255,.3)}
.login-submit{margin-top:10px;height:46px;padding:0 22px;border:1.5px solid rgba(255,255,255,.55);border-radius:2px;background:transparent;color:#fff;font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;transition:background 160ms ease,border-color 160ms ease,color 160ms ease}
.login-submit:hover{background:#d9591c;border-color:#d9591c}
.login-submit:disabled{opacity:.5;cursor:default}
.login-error{margin:0;padding:10px 12px;border:1px solid rgba(217,89,28,.5);background:rgba(217,89,28,.12);color:#ffcfa8;font-size:11px;border-radius:3px}

@media(max-width:760px){
  .login-card{margin-left:0;padding:32px 24px;max-width:100%;align-items:stretch}
  .login-card h1{font-size:32px}
  .login-form{max-width:100%}
  .login-topmark{top:18px;left:20px}
}
