/* Devforger presentation only; vendor bundles and kt_* hooks stay unchanged. */
.df-login { margin: 0; background: var(--bs-body-bg); }
.df-login-layout { min-height: 100vh; min-height: 100dvh; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.df-login-brand { display: flex; flex-direction: column; justify-content: space-between; gap: 4rem; padding: clamp(3rem, 6vw, 7rem); color: #fff; background: radial-gradient(ellipse at 0% 100%, #294fac 0%, transparent 65%), #101e3c; }
.df-brand-message { padding: 4rem 0; }
.df-brand-eyebrow { color: #bdceff; font-size: .85rem; font-weight: 600; letter-spacing: .2em; }
.df-brand-message h2 { margin: 2rem 0; color: #fff; font-size: clamp(2.5rem, 3.5vw, 4.25rem); line-height: 1.35; letter-spacing: -.04em; word-break: keep-all; }
.df-brand-message p { color: #d4dff5; font-size: 1.2rem; line-height: 1.9; word-break: keep-all; }
.df-brand-caption { color: #bdceff; font-size: .95rem; }
.df-login-panel { display: flex; align-items: center; justify-content: center; padding: 4rem 2rem; }
.df-login-form { width: 100%; max-width: 400px; }
.df-login :is(input, button, a):focus-visible { outline: 3px solid var(--bs-primary); outline-offset: 4px; }
.df-skip-link { position: absolute; top: 1rem; left: 1rem; z-index: 10; padding: 1rem; background: var(--bs-body-bg); transform: translateY(-200%); }
.df-skip-link:focus { transform: translateY(0); }
@media (max-width: 991.98px) {
    .df-login-layout { grid-template-columns: minmax(0, 1fr); }
    .df-login-brand { display: none; }
    .df-login-panel { padding: 3rem 1.5rem; }
}
