﻿.login-layout { min-height:100vh; display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,1fr); }
.login-brand { min-width:0; padding:clamp(36px,6vw,82px); display:flex; flex-direction:column; justify-content:space-between; gap:45px; background:var(--header-bg); color:var(--header-text); }
.login-brand .brand-logo { display:block; width:min(220px,100%); max-height:80px; object-fit:contain; object-position:left center; }
.brand-name { color:var(--header-text); font-weight:800; font-size:19px; }
.eyebrow { margin:0 0 12px; color:var(--text-muted); font-size:10px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.login-brand .eyebrow { color:var(--header-muted); }
.login-brand h1 { max-width:620px; margin:0; font-size:clamp(35px,4.2vw,60px); line-height:1.1; letter-spacing:-.045em; font-weight:800; }
.brand-copy { max-width:520px; margin:22px 0 0; color:var(--header-muted); font-size:15px; line-height:1.7; }
.brand-footnote { margin:0; color:var(--header-muted); font-size:12px; }
.login-panel { position:relative; min-width:0; display:grid; place-items:center; padding:70px 32px 40px; }
.login-panel > .theme-toggle { position:absolute; top:20px; right:24px; min-height:38px; padding:8px 12px; border:1px solid var(--border-strong); background:var(--card-bg); color:var(--text); font-size:12px; font-weight:600; border-radius:var(--radius-sm); }
.login-card { width:min(100%,460px); padding:40px; border:1px solid var(--border); border-radius:var(--radius); background:var(--card-bg); }
.login-heading { margin-bottom:28px; }
.login-heading h2 { margin:0 0 10px; font-size:29px; letter-spacing:-.03em; }
.login-heading > p:last-child { margin:0; color:var(--text-muted); font-size:13px; line-height:1.55; }
form label { display:block; margin:18px 0 8px; font-size:13px; font-weight:600; }
form input { width:100%; height:48px; padding:0 13px; border:1px solid var(--border-strong); border-radius:var(--radius-sm); background:var(--input-bg); color:var(--text); font-size:16px; }
.password-wrap { position:relative; }
.password-wrap input { padding-right:82px; }
.icon-button { position:absolute; right:7px; top:7px; height:34px; padding:0 10px; border:0; border-radius:var(--radius-sm); background:var(--surface-alt); color:var(--text); font-size:12px; font-weight:600; }
.form-error { min-height:20px; margin:14px 0 0; color:var(--error); font-size:13px; }
.primary-button { width:100%; min-height:48px; margin-top:10px; border:1px solid var(--button-bg); border-radius:var(--radius-sm); background:var(--button-bg); color:var(--button-text); font-weight:600; }
.primary-button:hover:not(:disabled) { background:var(--button-hover); }
.security-note { margin:22px 0 0; color:var(--text-muted); font-size:12px; line-height:1.55; }
@media (max-width:800px) {
  .login-layout { grid-template-columns:1fr; }
  .login-brand { padding:30px 24px; gap:28px; }
  .login-brand h1 { font-size:34px; }
  .brand-copy { margin-top:12px; }
  .brand-footnote { display:none; }
  .login-panel { padding:72px 18px 32px; }
  .login-card { padding:28px 22px; }
}
