/* Únicamente la ventana de ingreso; no modifica el diseño del portal aprobado. */
body.portal-locked{visibility:hidden!important;overflow:hidden}
body.public-auth-open{overflow:hidden}
.portal-auth-backdrop{position:fixed;z-index:2000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(3,13,29,.83);overflow:auto}
.portal-auth-backdrop[hidden]{display:none!important}
.portal-auth-card{width:min(100%,435px);padding:clamp(24px,5vw,38px);background:linear-gradient(160deg,#fffdf8,#f3eadc);border:1px solid #c69a4c;border-radius:16px;box-shadow:0 24px 75px rgba(0,0,0,.42);color:#0b2140;font-family:Georgia,'Times New Roman',serif}
.portal-auth-card__emblem{display:block;width:70px;height:70px;object-fit:contain;margin:0 auto 8px}
.portal-auth-card h2{text-align:center;font-size:30px;line-height:1.13;margin:0 0 10px;font-weight:600}
.portal-auth-card>p{text-align:center;font-size:15px;line-height:1.5;margin:0 0 23px;color:#44526a;font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
.portal-auth-form{display:grid;gap:8px}
.portal-auth-form label{display:block;font-size:15px;font-weight:700;margin:8px 0 0}
.portal-auth-form input{width:100%;min-height:48px;border:1px solid #b6b9c3;border-radius:8px;padding:10px 13px;background:#fff;color:#132642;font:17px system-ui,-apple-system,'Segoe UI',sans-serif}
.portal-auth-form input:focus-visible{outline:2px solid #ba8d3b;outline-offset:2px}
.portal-auth-password{position:relative}
.portal-auth-password input{padding-right:74px}
.portal-auth-show{position:absolute;right:5px;top:6px;min-width:60px;height:36px;background:transparent;color:#1e3d66;border:0;border-radius:6px;font:600 13px system-ui,-apple-system,'Segoe UI',sans-serif}
.portal-auth-submit{margin-top:14px;min-height:48px;border-radius:9px;border:1px solid #aa7b30;background:linear-gradient(180deg,#dbb468,#bd8733);color:#0a203c;font:700 17px Georgia,serif;box-shadow:0 3px 9px rgba(0,0,0,.12)}
.portal-auth-submit:disabled{opacity:.55;cursor:wait}
.portal-auth-error{color:#922421;font:600 14px/1.45 system-ui,-apple-system,'Segoe UI',sans-serif;margin:8px 0 0;min-height:1.4em}
.portal-auth-bottom{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:16px;font:13px/1.4 system-ui,-apple-system,'Segoe UI',sans-serif;text-align:center;color:#5a6678}
.portal-auth-bottom a{color:#174a79}
.portal-auth-bottom a:focus-visible,.portal-auth-show:focus-visible{outline:2px solid #bb873a;outline-offset:2px}
.portal-account-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 8px}
.portal-welcome{font:500 clamp(17px,2vw,21px)/1.2 Georgia,serif;color:#243c5f}
.portal-welcome strong{font-weight:700;color:#0b2140}
.portal-logout{font:600 14px Georgia,serif;background:rgba(255,255,255,.74);border:1px solid #c8a368;border-radius:9px;color:#19375b;padding:8px 11px}
@media(max-width:460px){.portal-auth-backdrop{padding:12px}.portal-auth-card{padding:23px 19px}.portal-auth-card h2{font-size:27px}.portal-account-row{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.portal-auth-submit,.portal-auth-card{transition:none!important}}

/* El formulario aparece sobre la página PUBLICA, nunca sobre el portal. */
.portal-auth-backdrop{z-index:2147483000}
.portal-auth-card{position:relative;max-height:min(95vh,820px);overflow-y:auto}
.portal-auth-close{position:absolute;top:10px;right:12px;border:1px solid transparent;border-radius:8px;background:transparent;color:#38516d;font:26px/1 system-ui,sans-serif;width:38px;height:38px;cursor:pointer}
.portal-auth-close:hover,.portal-auth-close:focus-visible{background:#ede2ce;border-color:#dec28e}
.portal-auth-return{border:0;background:transparent;color:#174a79;font:600 13px system-ui,sans-serif;text-decoration:underline;cursor:pointer;padding:8px}
.portal-auth-return:hover,.portal-auth-return:focus-visible{color:#081e38}
@media(prefers-reduced-motion:reduce){.portal-auth-backdrop,.portal-auth-card{animation:none!important;transition:none!important}}
