/* Tela de login (/user/) */
body{margin:0;background:var(--cor-escuro-fundo);font-family:var(--fonte)}
.login{min-height:100vh;display:flex;flex-wrap:wrap;color:var(--cor-escuro-texto)}

/* Coluna da marca */
.login-brand{flex:1 1 480px;min-width:0;box-sizing:border-box;padding:56px;display:flex;flex-direction:column;justify-content:space-between;gap:64px;position:relative;overflow:hidden}
.login-rings{position:absolute;right:-200px;bottom:-200px;width:640px;height:640px;pointer-events:none}
.login-rings circle{fill:none;stroke:var(--cor-primaria);stroke-width:1.5}
.login-logo{position:relative;align-self:flex-start;width:174px;height:58px;object-fit:contain}
.login-product{position:relative;display:flex;flex-direction:column;gap:16px}
.login-eyebrow{font-size:13px;font-weight:600;letter-spacing:3px;color:var(--cor-primaria)}
.login-product h1{margin:0;font-size:56px;line-height:1.05;font-weight:600;letter-spacing:-1.5px;color:var(--cor-escuro-titulo)}
.login-copy{position:relative;font-size:13px;color:var(--cor-escuro-muted)}

/* Coluna do formulário */
.login-panel{flex:1 1 420px;min-width:0;box-sizing:border-box;padding:56px 24px;background:var(--cor-escuro-superficie);border-left:1px solid var(--cor-escuro-borda);display:flex;align-items:center;justify-content:center}
.login-form{width:100%;max-width:380px;display:flex;flex-direction:column;gap:20px}
.login-head{margin-bottom:8px}
.login-head h2{margin:0 0 8px;font-size:28px;line-height:1.2;font-weight:600;letter-spacing:-.5px;color:var(--cor-escuro-titulo)}
.login-head p{margin:0;font-size:15px;line-height:1.5;color:var(--cor-escuro-texto-2)}

.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:13px;font-weight:600;color:var(--cor-escuro-label)}
.field input{box-sizing:border-box;width:100%;height:50px;padding:0 16px;font:inherit;font-size:15px;color:var(--cor-escuro-texto);background:var(--cor-escuro-fundo);border:1px solid var(--cor-escuro-borda-input);border-radius:var(--raio)}
.field input::placeholder{color:var(--cor-escuro-placeholder)}
.field-pwd{position:relative}
.field-pwd input{padding-right:92px}
.pwd-toggle{position:absolute;top:3px;right:3px;height:44px;min-width:80px;padding:0 12px;font:inherit;font-size:13px;font-weight:600;color:var(--cor-escuro-texto-2);background:transparent;border:0;border-radius:var(--raio-sm);cursor:pointer}

.login-error{margin:0;font-size:14px;line-height:1.5;font-weight:500;color:var(--cor-escuro-erro)}

.btn-primary{height:52px;margin-top:8px;font:inherit;font-size:15px;font-weight:700;letter-spacing:.3px;color:var(--cor-texto-sobre-primaria);background:var(--cor-primaria);border:0;border-radius:var(--raio);cursor:pointer}

.login input:focus-visible,.login button:focus-visible,.login a:focus-visible{outline:2px solid var(--cor-primaria);outline-offset:2px}

/* Celular: no layout empilhado a borda passa para o topo */
@media (max-width:899px){
  .login-panel{border-left:0;border-top:1px solid var(--cor-escuro-borda)}
}
@media (max-width:520px){
  .login-brand{padding:40px 24px}
  .login-product h1{font-size:44px}
}
