:root{
  --auth-blue-1:#0b47b7;
  --auth-blue-2:#0c63e7;
  --auth-blue-3:#0c84ff;
  --auth-ink:#1d2f59;
  --auth-muted:#6d7a97;
  --auth-line:#d8e2f2;
  --auth-bg:#e8f0fb;
  --auth-surface:#ffffff;
}
*{box-sizing:border-box}
body.auth-page{
  min-height:100vh;margin:0;padding:20px;display:grid;place-items:center;
  background:radial-gradient(circle at 15% 18%,rgba(12,99,231,.16),transparent 27%),radial-gradient(circle at 84% 14%,rgba(12,132,255,.12),transparent 24%),linear-gradient(180deg,#eef5ff,#dce8f8);
  color:var(--auth-ink);
}
.auth-shell{width:min(1040px,100%);min-height:580px;display:grid;grid-template-columns:minmax(330px,.92fr) minmax(420px,1.08fr);overflow:hidden;border-radius:30px;background:var(--auth-surface);box-shadow:0 28px 75px rgba(13,54,121,.18)}
.auth-brand{position:relative;overflow:hidden;padding:34px;background:linear-gradient(145deg,var(--auth-blue-1),var(--auth-blue-2));color:#fff;display:flex;flex-direction:column;justify-content:space-between}
.auth-brand:before{content:"";position:absolute;width:520px;height:520px;right:-260px;top:-160px;border-radius:50%;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 58px rgba(255,255,255,.045),0 0 0 118px rgba(255,255,255,.02)}
.auth-brand>*{position:relative;z-index:1}
.auth-logo{display:flex;align-items:center;gap:12px}.auth-logo img{width:58px;height:58px;object-fit:cover;border-radius:16px;box-shadow:0 10px 26px rgba(4,27,70,.16)}.auth-logo strong{display:block;font-size:1.3rem;font-weight:900}.auth-logo span{display:block;color:rgba(255,255,255,.78);font-size:.82rem;margin-top:2px}
.auth-brand-copy h1{font-size:2.25rem;line-height:1.03;letter-spacing:-.045em;font-weight:950;max-width:430px;margin:0}.auth-brand-copy p{font-size:1rem;line-height:1.55;color:rgba(255,255,255,.86);max-width:430px;margin:16px 0 0}
.auth-bento{display:flex;justify-content:center;align-items:flex-end;height:260px}.auth-bento img{height:100%;width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(1,25,70,.25))}
.auth-form-area{padding:46px 52px;display:flex;align-items:center;background:#fcfdff}.auth-form{width:100%;max-width:470px;margin:auto}.auth-badge{display:inline-flex;padding:9px 15px;border-radius:999px;background:#edf4ff;color:#2165dc;font-weight:750;font-size:.85rem}.auth-form h2{font-size:2.35rem;line-height:1.05;letter-spacing:-.04em;font-weight:950;color:#1b2b57;margin:18px 0 10px}.auth-form .auth-intro{color:var(--auth-muted);line-height:1.55;margin-bottom:26px}.auth-form .alert{border-radius:14px}.auth-form .form-label{font-weight:800;color:#1d2f59}.auth-form .form-control{min-height:58px;border:1.5px solid var(--auth-line);border-radius:16px;background:#fff;padding:13px 15px;font-size:1rem;color:#17264b}.auth-form .form-control:focus{border-color:#6f9bff;box-shadow:0 0 0 4px rgba(111,155,255,.15)}.auth-primary{min-height:60px;border:0;border-radius:16px;background:linear-gradient(135deg,#0c63e7,#0a58cf);box-shadow:0 12px 26px rgba(12,99,231,.24);color:#fff;font-weight:850}.auth-primary:hover,.auth-primary:focus{background:linear-gradient(135deg,#0b5dde,#084fc1);color:#fff;transform:translateY(-1px)}.auth-link{color:#0f63e7!important;text-decoration:none;font-weight:650}.auth-link:hover{text-decoration:underline}.auth-security{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:20px;color:#6a7894;font-size:.85rem}.auth-security span:first-child{display:grid;place-items:center;width:24px;height:24px;border-radius:9px;background:#edf4ff;color:#1763df;font-weight:900}.auth-code{letter-spacing:.34em;font-size:1.55rem!important;font-weight:800;text-align:center;padding-left:calc(15px + .34em)!important}
@media(max-width:820px){.auth-shell{grid-template-columns:1fr;max-width:560px}.auth-brand{min-height:280px;padding:28px}.auth-brand-copy h1{font-size:1.8rem}.auth-brand-copy p{font-size:.92rem}.auth-bento{position:absolute;right:16px;bottom:0;height:235px;opacity:.8}.auth-brand-copy{padding-right:180px}.auth-form-area{padding:38px 30px}}
@media(max-width:520px){body.auth-page{padding:8px}.auth-shell{border-radius:24px}.auth-brand{min-height:220px;padding:22px}.auth-bento{height:190px;right:-18px}.auth-brand-copy{padding-right:120px}.auth-brand-copy h1{font-size:1.45rem}.auth-brand-copy p{display:none}.auth-form-area{padding:30px 22px}.auth-form h2{font-size:2rem}.auth-logo img{width:48px;height:48px}}
