:root {
    --lgu-brand-green:#165f49;
    --lgu-brand-green-dark:#0d4034;
    --lgu-brand-gold:#b98218;
    --lgu-brand-ink:#10242d;
    --lgu-brand-muted:#64737c;
    --lgu-brand-line:#dce7ec;
    --lgu-brand-soft:#edf7f3;
}

body[data-path="login"] {
    min-height:100vh;
    background:
        linear-gradient(115deg,rgba(7,32,42,.90) 0%,rgba(12,69,54,.76) 46%,rgba(10,27,36,.42) 100%),
        url("/assets/university_ops/images/lgu-official-campus-header.webp") center/cover fixed no-repeat;
}

body[data-path="login"] .page-content-wrapper,
body[data-path="login"] main.container {
    min-height:calc(100vh - 48px);
}

body[data-path="login"] main.container {
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:0 !important;
    margin-bottom:0 !important;
}

body[data-path="login"] .page_content {
    width:100%;
}

body[data-path="login"] section.for-login,
body[data-path="login"] section.for-email-login,
body[data-path="login"] section.for-forgot,
body[data-path="login"] section.for-login-with-email-link,
body[data-path="login"] section.for-signup {
    width:min(100%, 430px);
    margin:0 auto;
}

body[data-path="login"] .page-card-head {
    text-align:center;
    margin-bottom:1rem;
}

body[data-path="login"] .page-card-head .app-logo {
    display:block;
    width:min(280px, 78vw);
    max-height:76px;
    object-fit:contain;
    margin:0 auto .9rem;
    padding:.45rem .7rem;
    border-radius:8px;
    background:rgba(255,255,255,.96);
    box-shadow:0 16px 36px rgba(3,20,26,.18);
}

body[data-path="login"] .page-card-head h4 {
    color:#fff;
    font-weight:800;
    font-size:1.15rem;
    line-height:1.35;
    margin:0;
    text-shadow:0 2px 18px rgba(0,0,0,.35);
}

body[data-path="login"] .login-content.page-card {
    border:1px solid rgba(255,255,255,.34);
    border-radius:8px;
    background:rgba(255,255,255,.98);
    box-shadow:0 26px 70px rgba(4,21,28,.30);
    overflow:hidden;
}

body[data-path="login"] .form-control {
    border-color:var(--lgu-brand-line);
}

body[data-path="login"] .form-control:focus {
    border-color:var(--lgu-brand-green);
    box-shadow:0 0 0 2px rgba(22,95,73,.16);
}

body[data-path="login"] .forgot-password-message a,
body[data-path="login"] .sign-up-message a {
    color:var(--lgu-brand-green);
    font-weight:700;
}

body[data-path="login"] .btn-primary,
body[data-path="login"] .btn-login {
    min-height:2.55rem;
    border-color:var(--lgu-brand-green);
    background:var(--lgu-brand-green);
    color:#fff;
    font-weight:800;
    border-radius:6px;
}

body[data-path="login"] .btn-primary:hover,
body[data-path="login"] .btn-login:hover {
    border-color:var(--lgu-brand-green-dark);
    background:var(--lgu-brand-green-dark);
}

body[data-path="login"] .btn-login-with-frappe-cloud {
    display:none !important;
}

.navbar .navbar-brand.navbar-home {
    min-width:0;
    max-width:220px;
}

.navbar .navbar-brand .app-logo {
    width:174px;
    max-width:174px;
    max-height:34px;
    object-fit:contain;
}

.web-footer .footer-powered {
    color:var(--lgu-brand-muted);
}

@media (max-width: 575.98px) {
    body[data-path="login"] main.container {
        align-items:flex-start;
        padding-top:1.75rem;
    }

    body[data-path="login"] section.for-login,
    body[data-path="login"] section.for-email-login,
    body[data-path="login"] section.for-forgot,
    body[data-path="login"] section.for-login-with-email-link,
    body[data-path="login"] section.for-signup {
        width:100%;
    }

    .navbar .navbar-brand .app-logo {
        width:142px;
        max-width:142px;
    }
}
