:root{--navy:#0b2942;--blue:#1769aa;--line:#d8e3ea;--muted:#607483;--danger:#9f201a}*{box-sizing:border-box}html{font-family:Inter,Segoe UI,Arial,sans-serif;color:#172b3a}.auth-body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% 20%,rgba(55,169,200,.2),transparent 32%),linear-gradient(135deg,#061c2d,#0b3f63);display:grid;place-items:center;padding:28px}.auth-wrapper{width:min(100%,520px)}.login-card,.verification-card{background:rgba(255,255,255,.98);border-radius:24px;padding:34px;box-shadow:0 26px 65px rgba(0,0,0,.28)}.login-brand,.verification-brand{display:flex;align-items:center;gap:12px;padding-bottom:22px;border-bottom:1px solid var(--line)}.login-brand img,.verification-brand img{width:54px;height:54px}.login-brand div,.verification-brand span{display:flex;flex-direction:column}.login-brand span,.verification-brand small{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.09em}.login-brand strong,.verification-brand strong{color:var(--navy);font-size:1.2rem}.login-copy{margin:27px 0 20px}.eyebrow{color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem}.login-copy h1{font-size:2rem;color:var(--navy);margin:3px 0}.login-copy p{color:var(--muted);margin:0}.stack-form{display:flex;flex-direction:column;gap:16px}.stack-form label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:700;color:#304b5d}.stack-form input{width:100%;padding:12px;border:1px solid #c7d5de;border-radius:10px;outline:none;font:inherit}.stack-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,105,170,.13)}.password-field{position:relative}.password-field input{padding-right:78px}.password-toggle{position:absolute;right:7px;top:7px;border:0;background:#eaf3f8;color:var(--blue);border-radius:7px;padding:6px 8px;font-size:.7rem;font-weight:800;cursor:pointer}.button{border:0;border-radius:10px;padding:12px 16px;font:inherit;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center}.button-primary{background:var(--blue);color:#fff}.button-block{width:100%}.login-help,.privacy-note{font-size:.72rem;color:var(--muted);text-align:center;margin:20px 0 0}.alert{padding:12px 14px;border-radius:10px;margin-bottom:14px;background:#feecea;color:var(--danger);border:1px solid #f2c0bc}.alert ul{margin:5px 0 0;padding-left:18px}.verification-card{width:min(100%,540px);text-align:center}.verification-status{display:flex;align-items:center;justify-content:center;gap:12px;margin:24px 0}.verification-status>span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:1.3rem}.is-valid .verification-status>span{background:#e4f5ec;color:#19754a}.is-invalid .verification-status>span{background:#feecea;color:#b3261e}.verification-status div{text-align:left}.verification-status p{margin:0;color:var(--muted);font-size:.75rem}.verification-status strong{color:var(--navy)}.public-photo{width:145px;height:165px;object-fit:cover;border-radius:18px;background:#edf2f5;box-shadow:0 10px 22px rgba(11,41,66,.14)}.verification-card h1{font-size:1.35rem;color:var(--navy);margin:15px 0}.public-data{display:grid;grid-template-columns:1fr 1fr;text-align:left;border:1px solid var(--line);border-radius:13px;overflow:hidden}.public-data div{padding:12px;border-bottom:1px solid var(--line)}.public-data div:nth-child(odd){border-right:1px solid var(--line)}.public-data dt{font-size:.67rem;text-transform:uppercase;color:var(--muted);letter-spacing:.06em}.public-data dd{margin:3px 0 0;font-weight:800}.verification-message{color:var(--muted)}@media(max-width:520px){.auth-body{padding:14px}.login-card,.verification-card{padding:23px;border-radius:18px}.public-data{grid-template-columns:1fr}.public-data div:nth-child(odd){border-right:0}}

.public-credential-page{width:min(100%,960px)}.public-credential-page .credential-card-set-compact{grid-template-columns:repeat(2,minmax(190px,280px));justify-content:center}.public-credential-page .public-data{margin-top:20px}.public-credential-page .privacy-note{max-width:720px;margin:20px auto 0}@media(max-width:700px){.public-credential-page .credential-card-set-compact{grid-template-columns:minmax(230px,320px)}}

.auth-wrapper{width:min(100%,960px)}.login-card{max-width:520px;margin:0 auto}
.public-verification-body{padding:22px}.public-verification-body .auth-wrapper{width:min(100%,1180px)}.public-verification-body .verification-card{width:100%;max-width:none;text-align:left;padding:30px}.public-verification-body .privacy-note{text-align:center}@media(max-width:620px){.public-verification-body{padding:0;background:#f3f7fa;display:block}.public-verification-body .auth-wrapper{width:100%}.public-verification-body .verification-card{border-radius:0;min-height:100vh;padding:18px;box-shadow:none}.public-verification-body .verification-brand{padding-bottom:16px}.public-verification-body .verification-status{margin:18px 0}}
.login-brand img{width:150px!important;height:58px!important;object-fit:contain;object-position:left center}.login-brand{align-items:center}.verification-brand img{object-fit:contain}

/* Sistema de Identidad - pie institucional en acceso */
.auth-body {
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: center;
}
.auth-body > .system-footer {
  width: min(100%, 920px);
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 8px 0;
  color: rgba(255,255,255,.78);
  font-size: .7rem;
}
.auth-body > .system-footer .system-footer-copy { display: flex; flex-direction: column; }
.auth-body > .system-footer strong { color: #fff; font-size: .72rem; }
.auth-body > .system-footer-version { flex: 0 0 auto; font-weight: 850; }
@media(max-width:620px){
  .auth-body{padding:14px 12px 10px}
  .auth-body>.system-footer{flex-direction:column;align-items:flex-start;gap:4px;padding-top:12px}
  .login-card{padding:22px 18px}
  .login-brand img{width:124px!important;height:50px!important}
}
