body.compact-login { height: auto; min-height: 100vh; min-height: 100dvh; background: radial-gradient(ellipse at 15% 10%, #d7ebe4 0, transparent 50%), radial-gradient(ellipse at 90% 85%, #f3ead6 0, transparent 45%), #f3f7f5; }
.compact-login main.flex-grow-1 { padding: 1.25rem 0; }
.compact-login .login-row { margin-bottom: 0; }
.compact-login .login-row > div { width: 100%; max-width: 460px; }
.compact-login .login-row .card { border-radius: 24px !important; border: 1px solid #dce7e3; box-shadow: 0 16px 48px #0b5d4e14 !important; overflow: hidden; }
.compact-login .login-row .card:hover { transform: none; }
.compact-login .card-title { background: #fff; padding: 1.1rem 1.5rem .65rem !important; }
.compact-login .card-title h2 { margin: 0; color: #0b5d4e !important; font-size: 1.2rem; line-height: 1.7; }
.compact-login #logo { width: auto; max-width: 180px; max-height: 54px; object-fit: contain; }
.compact-login .card > img { display: none; }
.compact-login .card-body { padding: .5rem 1.75rem 1.25rem; }
.signin-heading { text-align: center; margin-bottom: 1.1rem; }
.signin-heading h1 { color: #0b5d4e; font-size: 1.5rem; font-weight: 700; margin-bottom: .3rem; }
.signin-heading p { font-size: .85rem; color: #73847e; margin: 0; }
.signin-form { display: flex; flex-direction: column; gap: .9rem; }
.signin-field .form-label { margin-bottom: .35rem; font-size: .85rem; color: #344f46; font-weight: 600; }
.signin-label-row { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; }
.signin-label-row a { font-size: .75rem; color: #0f766e; }
.compact-login .signin-form .form-control { height: 46px; min-height: 46px; border-radius: 11px; border: 1px solid #dce7e3; background: #f9fbfa; font-size: .9rem; }
.compact-login .login-input input { padding-right: 2.75rem; padding-left: 2.75rem; }
.compact-login .login-input .signin-field-icon { position: absolute; right: 1rem; left: auto; top: 50%; transform: translateY(-50%); color: #7b9b8f; font-size: .95rem; pointer-events: none; }
.signin-eye { display: grid; place-items: center; position: absolute; left: 3px; top: 3px; width: 40px; height: 40px; background: transparent; border: 0; border-radius: 9px; color: #73847e; }
.compact-login .login-input .signin-eye i { position: static; transform: none; color: inherit; font-size: 1rem; pointer-events: none; }
.signin-eye:hover { background: #e6f2ef; color: #0f766e; }
.signin-security { display: grid; grid-template-columns: minmax(0, 1fr) minmax(110px, 145px) 40px; gap: .5rem; align-items: center; }
.signin-security .form-control { padding: .5rem; text-align: center; }
.compact-login .captcha-image { width: 100%; height: 46px; border-radius: 9px; box-shadow: none; background: #fff; }
.compact-login .captcha-refresh { width: 40px; height: 44px; font-size: 1rem; border-radius: 10px; box-shadow: none; background: #e6f2ef; color: #0f766e; }
.compact-login #btnLogin { display: flex; align-items: center; justify-content: center; gap: .75rem; height: 48px !important; margin-top: .25rem; padding: .6rem; border-radius: 11px; font-size: 1rem !important; background: linear-gradient(110deg, #0b5d4e, #0f766e); box-shadow: 0 5px 14px #0f766e24; }
.signin-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .75rem 1.25rem; margin-top: 1.1rem; padding-top: .9rem; border-top: 1px solid #e7eeea; }
.signin-links a, .signin-links button { font: inherit; font-size: .8rem; color: #526b61; background: transparent; border: 0; padding: .2rem 0; }
.signin-links i { margin-inline-end: .25rem; color: #0f766e; }
.signin-links a:hover, .signin-links button:hover { color: #0b5d4e; }
.signin-caption { margin-top: .85rem; color: #7b8a83; font-size: .7rem; text-align: center; }
.signin-caption i { color: #ac8539; }
.compact-login .footer { padding: .65rem 1rem; background: transparent; color: #62766c !important; font-size: .75rem; line-height: 1.7; }
.compact-login .footer .row { margin-bottom: .2rem; }
.compact-login .footer a { color: #0b5d4e; }
.compact-login .footer p, .compact-login .footer address { margin-bottom: 0; }
@media (min-width: 992px) and (max-height: 800px) {
    .compact-login main.flex-grow-1 { padding-block: .65rem; }
    .compact-login .card-title { padding-top: .75rem !important; }
    .compact-login #logo { max-height: 42px; }
    .signin-heading { margin-bottom: .75rem; }
    .signin-form { gap: .65rem; }
    .signin-links { margin-top: .75rem; padding-top: .65rem; }
    .signin-caption { margin-top: .6rem; }
    .compact-login .footer { line-height: 1.5; padding-block: .4rem; }
}
@media (max-width: 575.98px) {
    .compact-login .card-body { padding-inline: 1.25rem; }
    .compact-login .signin-form .form-control { font-size: 16px; }
    .signin-security { grid-template-columns: minmax(0, 1fr) minmax(90px, 125px) 40px; }
}
