.siges-login-page { padding: 32px 24px; }
.siges-login-shell { width: 100%; max-width: 1160px; position: relative; z-index: 1; }
.siges-login-panel { border: 1px solid var(--siges-border); border-radius: 30px; overflow: hidden; background: #fff; box-shadow: 0 24px 64px #0b2e4a12; }
.siges-login-story { background: #eaf7fd; padding: 32px 38px 20px; display: flex; flex-direction: column; align-items: center; }
.siges-login-brand { display: flex; gap: 14px; align-items: center; align-self: flex-start; margin-bottom: 25px; }
.siges-login-brand img { background: #fff; border: 1px solid #cfe5f0; border-radius: 18px; padding: 8px; object-fit: contain; }
.siges-login-brand strong { display: block; font-size: 1.7rem; font-weight: 850; color: var(--siges-navy); letter-spacing: -.04em; }
.siges-login-brand span { color: #526e82; font-size: .82rem; font-weight: 650; }
.siges-login-story h1 { font-size: clamp(1.2rem, 2vw, 1.55rem); font-weight: 750; color: var(--siges-navy); line-height: 1.4; max-width: 450px; align-self: flex-start; margin: 0; }
.siges-login-illustration { width: 100%; flex: 1; display: flex; align-items: center; justify-content: center; margin: 18px 0 8px; }
.siges-login-illustration img { display: block; width: 100%; max-height: 370px; height: auto; object-fit: contain; }
.siges-login-motto { font-size: .85rem; color: #47677a; margin: 0; text-align: center; }
.siges-login-access { display: flex; align-items: center; padding: 48px 46px; }
.siges-login-form-wrap { width: 100%; max-width: 400px; margin-inline: auto; }
.siges-login-lock { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 18px; background: #eaf7fd; color: #0878b8; font-size: 1.6rem; margin-bottom: 20px; }
.siges-login-access .siges-auth-heading { text-align: left; margin-bottom: 28px; }
.siges-login-access .siges-auth-subtitle { margin: 0; }
.siges-login-access .siges-form-control { min-height: 52px; border: 2px solid #8eafc2; border-radius: 13px; background: #fbfdff; }
.siges-login-access .siges-form-control:focus { border-color: #0878b8; box-shadow: 0 0 0 4px #1e9bd71f; }
.siges-login-access .siges-btn-primary { min-height: 52px; display: flex; justify-content: center; align-items: center; gap: 10px; }
.siges-login-access .siges-password-toggle { right: 8px; }
.siges-login-help { margin-bottom: 0; line-height: 1.65; }
.siges-login-internal { border-top: 1px solid #e1ecf3; padding-top: 22px; margin: 24px 0 0; color: #657888; font-size: .78rem; display: flex; gap: 7px; align-items: center; }
.siges-login-credit { text-align: center; font-size: .82rem; color: #526a7b; padding: 22px 0 0; }
.siges-login-credit span[role="img"] { color: #c84358; }
.siges-login-credit a { color: #125b85; text-underline-offset: 3px; font-weight: 750; }
.siges-login-page a:focus-visible, .siges-login-page button:focus-visible { outline: 3px solid #0878b8; outline-offset: 3px; }
@media (max-width: 991px) {
    .siges-login-story { padding: 26px; }
    .siges-login-access { padding: 32px 26px; }
}
@media (max-width: 767px) {
    .siges-login-page { padding: 18px 12px; }
    .siges-login-panel { border-radius: 23px; }
    .siges-login-story { padding: 22px; }
    .siges-login-brand { margin-bottom: 14px; }
    .siges-login-brand img { width: 48px; height: 48px; }
    .siges-login-brand strong { font-size: 1.4rem; }
    .siges-login-story h1 { font-size: 1.08rem; }
    .siges-login-illustration img { max-height: 220px; }
    .siges-login-access { padding: 30px 22px; }
    .siges-login-lock { display: none; }
}
