.login-body{
  margin:0;min-height:100vh;display:flex;background:var(--paper);
}

.login-split{
  display:grid;grid-template-columns:1fr 1fr;min-height:100vh;width:100%;
}
@media(max-width:900px){
  .login-split{grid-template-columns:1fr;}
  .login-brand-panel{display:none;}
}

/* ───────── LEFT: BRAND PANEL ───────── */
.login-brand-panel{
  background:linear-gradient(160deg, var(--tenant-primary-dark), var(--tenant-primary));
  color:#fff;display:flex;flex-direction:column;justify-content:space-between;
  padding:48px;position:relative;overflow:hidden;
}
.login-brand-panel::before{
  content:'';position:absolute;inset:0;opacity:.5;
  background-image:
    repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0px, rgba(255,255,255,.025) 1px, transparent 1px, transparent 26px);
}

.login-brand-top{position:relative;z-index:1;display:flex;align-items:center;gap:12px;}
.login-brand-logo{width:46px;height:46px;border-radius:11px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.25);}
.login-brand-logo img{width:100%;height:100%;object-fit:contain;padding:4px;}
.login-brand-name{font-family:'Fraunces',serif;font-size:19px;font-weight:600;}
.login-brand-name small{display:block;font-family:'Inter',sans-serif;font-size:10.5px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:rgba(255,255,255,.45);margin-top:1px;}

.login-brand-mid{position:relative;z-index:1;max-width:380px;}
.login-brand-mid h1{font-family:'Fraunces',serif;font-size:32px;font-weight:600;line-height:1.18;margin-bottom:14px;}
.login-brand-mid p{font-size:14px;color:rgba(255,255,255,.68);line-height:1.6;}

/* Vitals-strip motif, echoing .status-row's left-edge bar elsewhere
   in the app — a quiet nod to the same signature element, not a
   literal repeat of it. */
.login-vitals-row{display:flex;align-items:center;gap:12px;margin-top:28px;padding:13px 16px;border-radius:11px;background:rgba(255,255,255,.07);border-left:3px solid var(--tenant-accent);}
.login-vitals-row i{font-size:16px;color:var(--tenant-accent);}
.login-vitals-row span{font-size:12.5px;color:rgba(255,255,255,.78);font-weight:500;}

.login-brand-bottom{position:relative;z-index:1;font-size:11.5px;color:rgba(255,255,255,.4);}

/* ───────── RIGHT: FORM PANEL ───────── */
.login-form-panel{
  display:flex;align-items:center;justify-content:center;padding:40px 32px;
}
.login-form-card{width:100%;max-width:380px;}
.login-form-header{margin-bottom:28px;}
.login-form-header .mobile-logo{display:none;width:42px;height:42px;border-radius:10px;background:var(--tenant-primary);align-items:center;justify-content:center;margin-bottom:18px;overflow:hidden;}
.login-form-header .mobile-logo img{width:100%;height:100%;object-fit:contain;padding:4px;}
@media(max-width:900px){.login-form-header .mobile-logo{display:flex;}}
.login-form-header h2{font-family:'Fraunces',serif;font-size:24px;font-weight:600;margin-bottom:6px;}
.login-form-header p{font-size:13px;color:var(--ink-soft);}

.login-field{margin-bottom:16px;}
.login-field label{font-size:12px;font-weight:600;color:var(--ink-soft);margin-bottom:6px;display:block;}
.login-input-wrap{position:relative;}
.login-input-wrap i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--ink-soft);font-size:14px;}
.login-input-wrap input{
  width:100%;border:1px solid var(--line);border-radius:9px;padding:11px 14px 11px 38px;font-size:13.5px;
  font-family:'Inter',sans-serif;background:var(--surface);color:var(--ink);transition:border-color .15s;
}
.login-input-wrap input:focus{outline:none;border-color:var(--tenant-primary);}
.login-input-wrap .toggle-password{position:absolute;right:13px;top:50%;transform:translateY(-50%);left:auto;cursor:pointer;background:none;border:none;padding:0;}

.login-row-between{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;font-size:12.5px;}
.login-remember{display:flex;align-items:center;gap:7px;color:var(--ink-soft);}
.login-remember input{accent-color:var(--tenant-primary);}
.login-forgot{color:var(--tenant-primary);font-weight:600;text-decoration:none;}
.login-forgot:hover{text-decoration:underline;}

.login-submit-btn{
  width:100%;background:var(--tenant-primary);color:#fff;border:none;border-radius:9px;
  padding:12px;font-size:14px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s;
}
.login-submit-btn:hover{background:var(--tenant-primary-dark);}
.login-submit-btn:disabled{opacity:.7;cursor:default;}

.login-error{
  background:var(--danger-bg);border:1px solid #EFC9C2;color:#8A3329;border-radius:9px;
  padding:11px 14px;font-size:12.5px;margin-bottom:18px;display:flex;align-items:flex-start;gap:9px;
}
.login-error i{margin-top:1px;flex-shrink:0;}

.login-footer-note{margin-top:26px;text-align:center;font-size:11.5px;color:var(--ink-soft);}
