/* Login screen - "ledger" signature: a split gazette layout,
   left panel a printed-masthead illustration in CSS, right a
   clean sign-in card. */
body.login-body{
  margin:0; min-height:100vh; background:var(--navy-950);
  font-family: var(--font-body);
  display:flex; align-items:stretch;
}
.login-wrap{ display:flex; width:100%; min-height:100vh; }
.login-aside{
  flex:1.1; position:relative; overflow:hidden;
  background:
    radial-gradient(circle at 20% 20%, rgba(184,137,43,0.18), transparent 45%),
    linear-gradient(160deg, var(--navy-950) 0%, var(--navy-900) 55%, var(--navy-800) 100%);
  color:#E7E9EE; padding: 3.5rem 3.25rem; display:flex; flex-direction:column; justify-content:space-between;
}
.login-aside .masthead-mark{
  width:52px; height:52px; border-radius:12px; background:var(--brass);
  display:flex; align-items:center; justify-content:center; color:var(--navy-950);
  font-family:var(--font-display); font-weight:700; font-size:1.4rem; margin-bottom:2rem;
}
.login-aside h1{ font-family:var(--font-display); font-size:2.6rem; line-height:1.15; color:#fff; max-width:520px; margin:0 0 1rem; }
.login-aside p.lede{ color:#9AA6B8; font-size:1rem; max-width:440px; line-height:1.6; }
.login-aside .ledger-lines{ margin-top:2.5rem; border-top:1px solid rgba(255,255,255,0.12); padding-top:1.5rem; display:flex; gap:2.5rem; }
.login-aside .ledger-lines .stat b{ display:block; font-family:var(--font-display); font-size:1.6rem; color:var(--brass-light); }
.login-aside .ledger-lines .stat span{ font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:#8EA1BE; }
.login-aside .footer-note{ font-size:.75rem; color:#5E7089; }

.login-main{ flex:1; background:var(--paper); display:flex; align-items:center; justify-content:center; padding:2rem; }
.login-card{ width:100%; max-width:400px; }
.login-card h2{ font-family:var(--font-display); font-size:1.6rem; margin:0 0 .35rem; }
.login-card p.sub{ color:var(--ink-soft); font-size:.88rem; margin:0 0 1.75rem; }
.login-card .form-group{ margin-bottom:1.15rem; }
.login-card label{ font-size:.8rem; font-weight:600; color:var(--ink); display:block; margin-bottom:.35rem; }
.input-icon-group{ position:relative; }
.input-icon-group i{ position:absolute; left:.9rem; top:50%; transform:translateY(-50%); color:var(--ink-soft); font-size:.85rem; }
.input-icon-group input{ padding-left:2.4rem; }
.input-icon-group .toggle-pass{ position:absolute; right:.9rem; left:auto; cursor:pointer; }
.login-card .form-options{ display:flex; justify-content:space-between; align-items:center; font-size:.82rem; margin-bottom:1.25rem; }
.login-card .btn-login{ width:100%; padding:.7rem 1rem; }
.login-card .alert-box{ padding:.65rem .9rem; border-radius:8px; font-size:.82rem; margin-bottom:1.1rem; display:flex; align-items:center; gap:.5rem; }
.login-card .alert-danger{ background:var(--danger-bg); color:var(--danger); }
.login-card .alert-success{ background:var(--success-bg); color:var(--success); }
.login-card .signature-rule{ display:flex; align-items:center; gap:.75rem; margin:1.5rem 0; color:var(--ink-soft); font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; }
.login-card .signature-rule::before, .login-card .signature-rule::after{ content:''; flex:1; height:1px; background:var(--line); }

@media (max-width: 860px){
  .login-aside{ display:none; }
}
