:root {
    --login-glass: rgba(255, 255, 255, .18);
    --login-glass-strong: rgba(255, 255, 255, .76);
    --login-border: rgba(255, 255, 255, .42);
    --login-ink: #173244;
    --login-muted: #526b78;
    --login-accent: #22a8a5;
}

body { min-height: 100vh; background: #123b49; }
.top-content, .inner-bg, .container-fluid, .container-fluid > .row { min-height: 100vh; }
.aulacore-login-stage {
    width: 100%; min-height: 100vh; padding: clamp(22px, 5vw, 72px);
    display: flex; align-items: center; background-size: cover; background-position: center;
}
.aulacore-login-stage:before { content: ''; position: fixed; inset: 0; pointer-events: none; background: radial-gradient(circle at 18% 18%, rgba(255,255,255,.20), transparent 28%), radial-gradient(circle at 84% 80%, rgba(36,190,183,.24), transparent 32%); }
.aulacore-login-stage > [class*="col-"] { position: relative; z-index: 1; }
.aulacore-login-glass {
    max-width: 430px; margin: 0 auto; overflow: hidden; border: 1px solid var(--login-border); border-radius: 26px;
    background: var(--login-glass); box-shadow: 0 28px 70px rgba(4,26,38,.34);
    -webkit-backdrop-filter: blur(24px) saturate(145%); backdrop-filter: blur(24px) saturate(145%);
}
.aulacore-login-glass .form-top { padding: 30px 34px 8px; background: transparent; text-align: center; }
.aulacore-login-glass .form-top-left { padding: 0; }
.aulacore-login-brand { display: inline-flex; align-items: center; gap: 12px; color: #fff; text-align: left; }
.aulacore-login-brand-icon { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.48); border-radius: 15px; background: rgba(255,255,255,.20); color: #fff; font-size: 21px; box-shadow: inset 0 1px 0 rgba(255,255,255,.35); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.aulacore-login-brand strong,.aulacore-login-brand small { display: block; color: #fff; }
.aulacore-login-brand strong { font-size: 21px; line-height: 1.15; }
.aulacore-login-brand small { margin-top: 3px; font-size: 11px; font-weight: 500; letter-spacing: .08em; opacity: .82; text-transform: uppercase; }
.aulacore-login-glass .form-bottom { padding: 20px 34px 34px; border-radius: 0; background: var(--login-glass-strong); color: var(--login-ink); }
.aulacore-login-glass .form-bottom h3 { margin: 0 0 2px; color: var(--login-ink) !important; font-size: 26px; font-weight: 700; }
.aulacore-login-glass .login-subtitle { margin: 0 0 24px; color: var(--login-muted) !important; opacity: 1; }
.aulacore-login-glass .form-group { margin-bottom: 15px; }
.aulacore-login-glass input.form-control { height: 52px; padding: 0 46px 0 16px; border: 1px solid rgba(49,82,98,.18); border-radius: 13px; background: rgba(255,255,255,.72); color: var(--login-ink); box-shadow: inset 0 1px 0 rgba(255,255,255,.6); }
.aulacore-login-glass input.form-control:focus { border-color: var(--login-accent); background: rgba(255,255,255,.94); box-shadow: 0 0 0 4px rgba(34,168,165,.14); }
.aulacore-login-glass .form-control-feedback { height: 52px; line-height: 52px; color: #6c858f; }
.aulacore-login-glass button.btn { height: 52px; border-radius: 13px; background: linear-gradient(135deg, #26aaa7, #238b9c); font-weight: 700; line-height: 52px; box-shadow: 0 12px 25px rgba(26,134,143,.25); }
.aulacore-login-glass button.btn:hover, .aulacore-login-glass button.btn:focus { opacity: 1; background: linear-gradient(135deg, #229c99, #1d7c8c); transform: translateY(-1px); }
.aulacore-login-glass .login-help.unified-recovery { margin-top: 17px; text-align: center; }
.aulacore-login-glass .login-help.unified-recovery .forgot { color: #315867; font-weight: 600; }
.aulacore-login-glass .alert { border: 1px solid rgba(255,255,255,.45); border-radius: 11px; }
.aulacore-login-news { min-height: 72vh; padding: 6vw; background: none !important; color: #fff; }
.aulacore-login-news > div { max-width: 650px; padding: 28px; border: 1px solid rgba(255,255,255,.25); border-radius: 22px; background: rgba(7,38,50,.28); box-shadow: 0 22px 55px rgba(2,20,30,.20); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.aulacore-login-news .h3, .aulacore-login-news h4, .aulacore-login-news p { color: #fff; }
.aulacore-login-news .more { color: #b9fffa; font-weight: 600; }
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) { .aulacore-login-glass { background: rgba(238,247,248,.92); } .aulacore-login-news > div { background: rgba(9,45,57,.86); } }
@media (max-width: 991px) { .aulacore-login-stage { padding: 24px 15px; } .aulacore-login-news-column { display: none; } .aulacore-login-glass { max-width: 460px; } }
@media (max-width: 480px) { .aulacore-login-glass { border-radius: 20px; } .aulacore-login-glass .form-top { padding: 24px 24px 6px; } .aulacore-login-glass .form-bottom { padding: 18px 24px 28px; } }
@media (prefers-reduced-motion: reduce) { .aulacore-login-glass button.btn { transition: none; } }
