/* Acceso Nocturno (#168): composición flotante basada en Tabler. */
.auth-nocturno { background: var(--kme-gray-100); color: var(--kme-text); min-width: 0; }
.auth-nocturno__page { align-items: center; display: flex; justify-content: center; min-height: 100vh; padding: clamp(1rem, 4vw, 4rem); }
.auth-nocturno__card-shell { background: var(--kme-white); border: 1px solid var(--kme-border); border-radius: calc(var(--tblr-border-radius) * 1.5); box-shadow: 0 1.25rem 3rem rgb(27 31 35 / 12%); display: grid; grid-template-columns: minmax(0, .95fr) minmax(25rem, 1.05fr); max-width: 70rem; min-height: 38rem; overflow: hidden; width: 100%; }
.auth-nocturno__visual { background: var(--kme-blue-dark); min-height: 100%; overflow: hidden; position: relative; }
.auth-nocturno__visual-photo { background: url('../img/brand/auth-office-nocturno.webp') center / cover no-repeat; inset: 0; position: absolute; }
.auth-nocturno__visual-photo::after { background: rgb(0 63 125 / 24%); content: ''; inset: 0; position: absolute; }
.auth-nocturno__rethink-outline { height: min(86%, 32rem); left: 50%; object-fit: contain; position: absolute; top: 48%; transform: translate(-50%, -50%); width: auto; }
.auth-nocturno__message { bottom: clamp(1.5rem, 5vw, 3rem); color: var(--kme-white); left: clamp(1.5rem, 5vw, 3rem); max-width: 19rem; position: absolute; z-index: 1; }
.auth-nocturno__claim { font-family: var(--kme-font-konica); font-size: clamp(1.4rem, 2.2vw, 2rem); font-weight: 700; line-height: 1.2; }
.auth-nocturno__main { display: flex; flex-direction: column; min-width: 0; padding: clamp(1.5rem, 4vw, 3rem); }
.auth-nocturno__main-header { align-items: start; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 17rem) minmax(0, 1fr); grid-template-rows: auto auto; min-height: 11rem; row-gap: 1rem; }
.auth-nocturno__konica-logo { display: block; grid-column: 1; grid-row: 1; justify-self: start; max-width: 100%; object-fit: contain; width: 5rem; }
.auth-nocturno__kmpulse-logo { display: block; grid-column: 2; grid-row: 2; justify-self: center; max-width: 100%; object-fit: contain; width: 17rem; }
.auth-nocturno__form-wrap { margin: auto; max-width: 23rem; padding-block: 2rem; width: 100%; }
.auth-nocturno__card { background: transparent; border: 0; box-shadow: none; }
.auth-nocturno__card .card-body { padding: 0; }
.auth-nocturno__card .h2 { text-align: left !important; }
.auth-nocturno :focus-visible { outline: 2px solid var(--kme-blue) !important; outline-offset: 2px; }
.auth-nocturno__sso-slot { border-top: 1px solid var(--kme-border); margin-top: 1.5rem; padding-top: 1.5rem; }
.auth-nocturno__microsoft-button,
.auth-nocturno__microsoft-button:disabled { background: var(--kme-white); border: 1px solid var(--kme-gray-300); border-radius: var(--tblr-border-radius); color: var(--kme-text); opacity: 1; }
.auth-nocturno__microsoft-logo { height: 1.25rem; margin-right: .75rem; width: 1.25rem; }
.auth-locale-switcher { grid-column: 3; grid-row: 1; justify-self: end; margin: 0; width: 4.75rem; }
.auth-locale-switcher .dropdown-toggle { background: var(--kme-white); border-color: var(--kme-border); color: var(--kme-text); display: inline-flex; justify-content: space-between; width: 100%; }
.auth-locale-switcher .dropdown-toggle:focus,
.auth-locale-switcher.show .dropdown-toggle { background: #eef6fc; border-color: var(--kme-blue); box-shadow: 0 0 0 .2rem rgb(0 98 194 / .16); color: var(--kme-blue); }
.auth-locale-switcher .dropdown-menu { min-width: 100%; }
.auth-locale-switcher .dropdown-item.active,
.auth-locale-switcher .dropdown-item.active:focus,
.auth-locale-switcher .dropdown-item.active:hover { background: #e3f0fa; color: var(--kme-blue); }
.kme-version-badge { margin-top: auto; }

@media (max-width: 61.98rem) {
    .auth-nocturno__card-shell { grid-template-columns: 1fr; max-width: 42rem; }
    .auth-nocturno__visual { min-height: 16rem; }
    .auth-nocturno__rethink-outline { height: 88%; }
    .auth-nocturno__main { min-height: 30rem; }
}

@media (max-width: 47.98rem) {
    .auth-nocturno__page { align-items: stretch; padding: 1rem; }
    .auth-nocturno__card-shell { border: 0; border-radius: 0; box-shadow: none; min-height: 0; }
    .auth-nocturno__visual { display: none; }
    .auth-nocturno__main { min-height: 0; padding: 1rem 0; }
    .auth-nocturno__main-header { grid-template-columns: 1fr; min-height: 0; row-gap: 1rem; }
    .auth-nocturno__konica-logo { display: none; }
    .auth-nocturno__kmpulse-logo { grid-column: 1; grid-row: 1; }
    .auth-locale-switcher { grid-column: 1; grid-row: 2; justify-self: center; }
    .auth-nocturno__form-wrap { margin: 2rem 0 0; padding: 0; }
    .kme-version-badge { margin-top: 1.5rem; }
}
