
.account-menu{position:absolute;right:20px;top:66px;z-index:500;width:250px;background:#fff;border:1px solid var(--tp-platinum);border-radius:16px;box-shadow:var(--shadow-md);overflow:hidden}
.account-menu-head{padding:14px 16px;border-bottom:1px solid var(--tp-platinum)}
.account-menu-head strong{display:block;color:var(--tp-violet);font-size:12px}
.account-menu-head span{display:block;color:var(--tp-gray-500);font-size:10px;margin-top:3px}
.account-menu a,.account-menu button{width:100%;border:0;background:#fff;text-decoration:none;color:var(--tp-gray-700);display:flex;align-items:center;gap:9px;padding:11px 14px;font:400 11px/1.3 var(--font-ui);cursor:pointer}
.account-menu a:hover:not(:disabled):not([aria-disabled=true]),.account-menu button:hover:not(:disabled):not([aria-disabled=true]){background:var(--tp-smoke);color:var(--tp-purple)}
.account-menu .material-symbols-rounded{font-size:18px}
.internal-login{margin:0;background:#fff}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.82fr) minmax(520px,1.18fr)}
.login-brand-panel{background:linear-gradient(145deg,var(--tp-violet),var(--tp-purple));color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.login-brand-panel:after{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:rgba(213,0,255,.16);right:-180px;bottom:-160px}
.login-brand-logo{width:185px;position:relative;z-index:1}
.login-brand-copy{position:relative;z-index:1;max-width:520px}
.login-brand-copy h1{font:700 clamp(34px,4vw,58px)/.98 var(--font-brand);margin:10px 0 14px}
.login-brand-copy p{font-size:15px;line-height:1.55;max-width:460px;color:rgba(255,255,255,.82)}
.eyebrow{font:600 10px/1 var(--font-ui);letter-spacing:.13em}
.eyebrow.purple{color:var(--tp-purple)}
.login-security-note{position:relative;z-index:1;display:flex;align-items:center;gap:10px;font-size:11px;color:rgba(255,255,255,.8);max-width:420px}
.login-form-panel{display:grid;place-items:center;padding:40px;background:linear-gradient(180deg,#fff,#fbf8fc)}
.login-card{width:min(440px,100%)}
.login-mobile-logo{display:none}
.login-card h2,.password-card h1{font:700 34px/1.05 var(--font-brand);color:var(--tp-violet);margin:12px 0}
.login-intro,.password-card>p{color:var(--tp-gray-500);font-size:12px;line-height:1.5;margin-bottom:28px}
.form-label{display:grid;gap:7px;color:var(--tp-gray-700);font-size:11px;font-weight:500;margin:14px 0}
.password-field{position:relative}
.password-field .field{padding-right:48px}
.password-field button{position:absolute;right:5px;top:5px;width:38px;height:38px;border:0;background:transparent;color:var(--tp-purple);cursor:pointer}
.login-submit{width:100%;height:48px;margin-top:10px}
.login-error{padding:10px 12px;border-radius:10px;background:#fff0f4;color:#8b0030;font-size:11px;margin-top:10px}
.internal-help{margin-top:18px;color:var(--tp-gray-500);font-size:10px;line-height:1.5}
.password-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:linear-gradient(180deg,#fff,#fbf8fc)}
.password-card{width:min(480px,100%);padding:34px;background:#fff;border:1px solid var(--tp-platinum);border-radius:24px;box-shadow:var(--shadow-sm)}
.password-card>img{width:165px;margin-bottom:28px}
.password-rules{font-size:10px;color:var(--tp-gray-500);margin-top:-6px}
@media(max-width:900px){.login-shell{grid-template-columns:1fr}.login-brand-panel{display:none}.login-form-panel{min-height:100vh}.login-mobile-logo{display:block;margin-bottom:28px}.login-mobile-logo img{width:170px}}

/* Fase 3.1 — login institucional interno */
.login-brand-logo{
  width:210px;
  height:auto;
  object-fit:contain;
  display:block;
}
.login-brand-copy{
  max-width:560px;
}
.login-brand-copy h1{
  max-width:520px;
  letter-spacing:-.025em;
}
.login-brand-copy p{
  max-width:540px;
  font-size:14px;
  line-height:1.65;
}
.login-security-note{
  max-width:560px;
}
