body{
    margin:0;
    min-height:100vh;
    font-family:Tahoma,Arial,sans-serif;
    background:
        radial-gradient(circle at top left, rgba(255,255,255,.16), transparent 28%),
        linear-gradient(135deg,#183825,#2f5f2b);
}
.login-page{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}
.login-card{
    width:100%;
    max-width:430px;
    background:#fff;
    border-radius:26px;
    padding:30px 26px;
    box-shadow:0 24px 60px rgba(0,0,0,.22);
}
.login-logo-wrap{
    width:88px;
    height:88px;
    margin:0 auto 10px;
    background:#fff;
    border-radius:22px;
    border:1px solid #e5e7eb;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}
.login-logo{
    max-width:100%;
    max-height:100%;
    object-fit:contain;
}
.fallback-logo{
    width:100%;
    height:100%;
    align-items:center;
    justify-content:center;
    background:#0f172a;
    color:#fff;
    font-weight:700;
    font-size:28px;
}
.company-title{
    font-size:24px;
    line-height:1.25;
    font-weight:700;
    margin:4px 0 2px;
    color:#111827;
}
.app-title{
    color:#166534;
    font-weight:700;
    font-size:18px;
}
.subtitle{
    color:#6b7280;
    font-size:14px;
    margin-top:2px;
}
.form-label{
    color:#1f2937;
    font-weight:500;
}
.form-control{
    border-radius:10px;
    padding:10px 12px;
}
.input-group .form-control{
    border-top-right-radius:0;
    border-bottom-right-radius:0;
}
.password-toggle{
    border-top-right-radius:10px!important;
    border-bottom-right-radius:10px!important;
    min-width:52px;
}
.login-btn{
    border-radius:10px;
    padding:11px;
    font-weight:700;
}
.hint{
    color:#6b7280;
    font-size:13px;
}
@media(max-width:480px){
    .login-card{padding:24px 18px;border-radius:22px}
    .company-title{font-size:21px}
}
