*{box-sizing:border-box}
:root{
  --navy:#07101f;
  --navy2:#0b1629;
  --navy3:#10213c;
  --blue:#2f6bff;
  --gold:#d4af37;
  --gold2:#f3d87b;
  --text:#0f172a;
  --muted:#64748b;
  --line:#e5eaf2;
  --paper:#f6f8fc;
}
html,body{margin:0;min-height:100%}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--text)}
a{text-decoration:none}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.02fr .98fr}
.auth-brand-panel{
  position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;
  min-height:100vh;padding:34px 44px;color:#fff;background:
  radial-gradient(circle at 20% 0%,rgba(212,175,55,.13),transparent 25%),
  radial-gradient(circle at 88% 25%,rgba(47,107,255,.26),transparent 30%),
  linear-gradient(145deg,var(--navy),var(--navy2) 50%,var(--navy3))
}
.auth-brand-panel:after{
  content:"";position:absolute;inset:0;opacity:.10;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:52px 52px;mask-image:linear-gradient(to bottom,#000,transparent 90%)
}
.back-site{position:relative;z-index:2;color:#9fb0c6;font-size:11px;font-weight:800}
.back-site:hover{color:#fff}
.auth-brand-content{position:relative;z-index:2;max-width:620px;margin:auto 0}
.brand-lockup{display:flex;align-items:center;gap:13px;margin-bottom:58px}
.brand-logo{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,var(--gold2),var(--gold));color:#111827;font-size:14px;font-weight:950;box-shadow:0 16px 36px rgba(212,175,55,.22)}
.brand-lockup>span:last-child{display:grid;gap:3px}
.brand-lockup strong{font-size:15px}
.brand-lockup small{color:#93a4bd;font-size:8px;letter-spacing:.16em}
.eyebrow,.form-kicker{display:inline-block;color:var(--gold2);font-size:9px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}
.auth-brand-content h1{max-width:610px;margin:13px 0 16px;font-size:clamp(38px,5vw,63px);line-height:1.01;letter-spacing:-.05em}
.auth-brand-content>p{max-width:590px;margin:0;color:#afbed1;font-size:14px;line-height:1.75}
.benefits{display:grid;gap:11px;margin-top:32px;max-width:580px}
.benefits>div{display:flex;align-items:flex-start;gap:12px;padding:13px 14px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.035)}
.benefits>div>span{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;color:#f3d87b;background:rgba(212,175,55,.10);font-size:10px;font-weight:950}
.benefits p{display:grid;gap:3px;margin:0}
.benefits strong{font-size:11px}
.benefits small{color:#93a4bd;font-size:9px;line-height:1.45}
.brand-footer{position:relative;z-index:2;color:#61738d;font-size:9px}

.auth-form-panel{min-height:100vh;display:grid;place-items:center;padding:42px;background:
 radial-gradient(circle at 100% 0%,rgba(47,107,255,.08),transparent 24%),var(--paper)}
.auth-card{width:min(460px,100%)}
.auth-card-register{width:min(540px,100%)}
.mobile-brand{display:none}
.auth-card h2{margin:10px 0 7px;font-size:34px;letter-spacing:-.04em}
.form-subtitle{margin:0 0 28px;color:var(--muted);font-size:12px;line-height:1.55}
form{display:grid;gap:14px}
.field{display:grid;gap:7px}
.field>span{color:#334155;font-size:10px;font-weight:850}
input{
  width:100%;min-height:51px;padding:0 14px;border:1px solid #dce3ed;border-radius:12px;
  outline:none;color:#0f172a;background:#fff;font-size:13px;transition:.2s
}
input::placeholder{color:#9aa7b7}
input:focus{border-color:#2f6bff;box-shadow:0 0 0 4px rgba(47,107,255,.09)}
.password-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.btn{min-height:52px;border:0;border-radius:12px;cursor:pointer;font-size:12px;font-weight:900;transition:.2s}
.btn-primary{margin-top:3px;color:#fff;background:linear-gradient(135deg,#2f6bff,#214fda);box-shadow:0 14px 30px rgba(47,107,255,.20)}
.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.05)}
.alert{margin-bottom:18px;padding:13px 14px;border-radius:11px;font-size:11px;line-height:1.5}
.alert-erro{color:#991b1b;border:1px solid #fecaca;background:#fff1f2}
.alert-sucesso{color:#166534;border:1px solid #bbf7d0;background:#f0fdf4}
.alert-aviso{color:#92400e;border:1px solid #fde68a;background:#fffbeb}
.auth-divider{display:flex;align-items:center;gap:10px;margin:22px 0 17px;color:#94a3b8;font-size:9px}
.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#e2e8f0}
.account-link{margin:0;text-align:center;color:#64748b;font-size:11px}
.account-link a{color:#2f6bff;font-weight:850}
.account-link a:hover{text-decoration:underline}
.security-note{margin:22px 0 0;padding:12px 13px;border:1px solid #e5eaf2;border-radius:11px;color:#64748b;background:#fff;font-size:9px;line-height:1.5;text-align:center}

@media(max-width:900px){
  .auth-shell{grid-template-columns:1fr}
  .auth-brand-panel{display:none}
  .auth-form-panel{min-height:100vh;padding:28px 20px}
  .mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:38px}
  .mobile-brand .brand-logo{width:42px;height:42px;border-radius:13px}
  .mobile-brand strong{font-size:13px}
}
@media(max-width:580px){
  .auth-form-panel{padding:22px 16px}
  .auth-card h2{font-size:29px}
  .password-grid{grid-template-columns:1fr}
}
