html,body{height:100%;margin:0}
body{background:var(--vh-bg);color:var(--vh-text);font-family:var(--vh-font-body)}
.page{display:flex;min-height:100vh}
.hero{flex:1.25;position:relative;overflow:hidden;background:#0A1111}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,20,20,0) 45%,rgba(12,20,20,.92) 85%),linear-gradient(90deg,rgba(12,20,20,0) 75%,#0C1414 100%)}
.hero-copy{position:absolute;left:56px;right:56px;bottom:56px;z-index:2}
.hero-copy h1{font-family:var(--vh-font-heading);font-weight:800;font-size:2.5rem;line-height:1.15;margin:0 0 12px;color:#E6F4F1}
.hero-copy h1 span{color:var(--vh-accent)}
.hero-copy p{color:#A9C3BF;font-size:1.05rem;max-width:520px;margin:0}
.chips{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.chip{background:rgba(20,32,32,.8);border:1px solid var(--vh-border);border-radius:999px;padding:6px 14px;font-size:.85rem;color:#CFE7E3}
.chip i{color:var(--vh-primary-light);margin-right:6px}
.side{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;background:radial-gradient(600px 400px at 70% 10%,rgba(20,184,166,.10),transparent 60%),var(--vh-bg)}
.card-login{width:100%;max-width:420px;background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:24px;padding:40px 36px}
.card-login .logo{height:46px;margin-bottom:28px}
.card-login h2{font-family:var(--vh-font-heading);font-weight:700;font-size:1.5rem;margin:0 0 6px}
.muted{color:var(--vh-text-muted)}
.form-label{font-weight:600;font-size:.875rem;color:#CFE7E3}
.input-wrap{position:relative}
.input-wrap i.lead{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--vh-text-muted)}
.form-control{background:var(--vh-surface-2);border:1px solid var(--vh-border);color:var(--vh-text);border-radius:12px;padding:12px 14px 12px 42px;min-height:48px}
.form-control:focus{background:var(--vh-surface-2);color:var(--vh-text);border-color:var(--vh-primary);box-shadow:var(--vh-shadow-glow)}
.btn-vh{background:linear-gradient(135deg,var(--vh-primary),var(--vh-primary-dark));border:0;color:#fff;font-weight:700;border-radius:12px;padding:12px;font-family:var(--vh-font-heading);min-height:48px}
.note{display:flex;gap:10px;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.25);border-radius:12px;padding:10px 12px;font-size:.82rem;color:#E9D3A8;margin-top:22px}
.note i{color:var(--vh-warning)}
.foot{margin-top:24px;font-size:.75rem;color:#5F7A77;text-align:center}
.alert-login{background:rgba(216,102,102,.12);border:1px solid rgba(216,102,102,.4);color:#F3C7C7;border-radius:12px;padding:10px 12px;margin-bottom:12px}
@media (max-width: 760px){
  .page{flex-direction:column}
  .hero{height:220px;flex:none}
  .hero-copy{left:20px;right:20px;bottom:16px}
  .hero-copy h1{font-size:1.45rem}
  .hero-copy p,.chips{display:none}
  .side{padding:12px 16px 24px}
  .card-login{padding:22px 18px}
}
