.auth-body{
  min-height:100vh; display:flex; align-items:center; justify-content:center; padding:32px 20px;
  background:
    radial-gradient(600px 380px at 15% 10%, rgba(244,95,0,.08), transparent 70%),
    radial-gradient(500px 340px at 90% 90%, rgba(34,19,124,.06), transparent 70%),
    var(--paper-alt);
}
.auth-shell{width:100%; max-width:420px;}
.auth-logo{display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:26px; font-family:var(--font-display); font-weight:700; font-size:1.2rem; color:var(--navy);}
.auth-logo-mark{width:34px; height:34px; border-radius:9px; background:linear-gradient(145deg,var(--navy),var(--navy-deep)); display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); color:var(--orange); font-weight:700; font-size:.82rem;}
.auth-logo span{color:var(--orange);}

.auth-card{background:#fff; border:1px solid var(--border); border-radius:20px; padding:38px 34px; box-shadow:var(--shadow-lg);}
.auth-card h1{font-size:1.32rem;}
.auth-card .sub{color:var(--ink-soft); font-size:.86rem; margin-top:6px; margin-bottom:26px; line-height:1.5;}

.field{margin-bottom:18px;}
.field label{display:block; font-size:.8rem; font-weight:600; margin-bottom:7px; color:var(--ink);}
.field .input-wrap{position:relative;}
.field input[type=text],.field input[type=email],.field input[type=password]{
  width:100%; padding:11px 14px; border:1.5px solid var(--border); border-radius:9px; font-size:.9rem; outline:none;
  transition:border-color .15s, box-shadow .15s; font-family:var(--font-body); color:var(--ink); background:#fff;
}
.field input:focus{border-color:var(--navy); box-shadow:0 0 0 3px rgba(34,19,124,.08);}
.field input.readonly{background:var(--paper-alt); color:var(--ink-soft);}
.field-error{color:var(--red); font-size:.76rem; margin-top:6px;}
.field-hint{color:var(--ink-faint); font-size:.74rem; margin-top:6px;}

.checkbox-row{display:flex; align-items:center; gap:8px; margin-bottom:22px; font-size:.83rem; color:var(--ink-soft);}
.checkbox-row input{width:16px; height:16px; accent-color:var(--orange);}

.auth-links{margin-top:22px; display:flex; justify-content:space-between; align-items:center; font-size:.82rem; flex-wrap:wrap; gap:8px;}
.auth-links a{color:var(--navy); font-weight:600;}
.auth-links a:hover{color:var(--orange);}

.auth-footer-note{text-align:center; margin-top:24px; font-size:.76rem; color:var(--ink-faint);}

.status-banner{background:var(--mint-tint); color:#0e9d68; padding:11px 14px; border-radius:10px; font-size:.83rem; margin-bottom:22px; font-weight:600;}
.status-banner.error{background:var(--red-tint); color:#c9302c;}
