.site-brand-text{
    font-weight:700;
    line-height:1.2;
    font-size:1rem;
    white-space:normal;
    word-break:break-word;
}
.brand-logo-img{
    height:42px;
    width:auto;
    max-width:120px;
    object-fit:contain;
    margin-right:10px;
}
.brand-logo-img-sm{
    height:34px;
    width:auto;
    max-width:90px;
    object-fit:contain;
    margin-right:10px;
}
.main-footer.professional-footer,
.professional-auth-footer{
    background:#111827;
    color:#e5e7eb;
    border-top:0;
}
.main-footer.professional-footer a,
.professional-auth-footer a{
    color:#ffffff;
    text-decoration:none;
}
.footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:24px;
    align-items:start;
}
.footer-title{
    font-size:1.05rem;
    font-weight:700;
    margin-bottom:10px;
    color:#fff;
}
.footer-text{
    color:#d1d5db;
    font-size:.95rem;
    line-height:1.7;
}
.footer-link-list{
    list-style:none;
    padding:0;
    margin:0;
}
.footer-link-list li{
    margin-bottom:8px;
}
.footer-bottom{
    border-top:1px solid rgba(255,255,255,.12);
    margin-top:20px;
    padding-top:14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
}
.public-topbar-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
}
.public-brand-wrap{
    display:flex;
    align-items:center;
    min-width:0;
}
.auth-brand-wrap{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
}
.auth-brand-wrap img{
    max-height:70px;
    width:auto;
    max-width:220px;
    object-fit:contain;
}
.auth-card-wrap{
    width:100%;
    max-width:420px;
}
.responsive-auth-page{
    min-height:100vh;
    display:flex;
    flex-direction:column;
}
.responsive-auth-main{
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px 12px;
}
@media (max-width: 991.98px){
    .footer-grid{
        grid-template-columns:1fr 1fr;
    }
}
@media (max-width: 767.98px){
    .footer-grid{
        grid-template-columns:1fr;
    }
    .site-brand-text{
        font-size:.95rem;
    }
    .brand-logo-img{
        height:36px;
        max-width:90px;
    }
    .brand-logo-img-sm{
        height:30px;
        max-width:70px;
    }
    .public-topbar-inner{
        align-items:flex-start;
    }
}
