* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; width: 100%; background: #f5f6fa; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
.split-container { display: flex; height: 100vh; width: 100vw; }

.left-panel { 
    flex: 1; 
    background: linear-gradient(180deg, #1a2332 0%, #1e3a5f 100%); 
    display: flex; 
    flex-direction: column; 
    justify-content: center; 
    align-items: center; 
    padding: 20px; 
    color: white; 
    position: relative; 
    overflow: hidden; 
}

.left-panel .brand { 
    text-align: center; 
    margin-bottom: 30px; 
    display: flex;
    flex-direction: column;
    align-items: center;
}

.left-panel .brand .logo { 
    width: 150px; 
    height: auto; 
    margin-bottom: 20px; 
    object-fit: contain; 
    background: transparent !important; 
    border-radius: 0 !important; 
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.left-panel .brand h1 { 
    font-size: 36px; 
    font-weight: 700; 
    margin-bottom: 5px; 
}

.left-panel .brand p { 
    font-size: 15px; 
    opacity: 0.85; 
}

.left-panel .info-box { 
    width: 100%; 
    max-width: 400px; 
    background: rgba(255,255,255,0.05); 
    border: 1px solid rgba(255,255,255,0.1); 
    border-radius: 8px; 
    padding: 20px; 
}

.left-panel .info-box .info-item { 
    margin-bottom: 15px; 
}

.left-panel .info-box .info-item:last-child { 
    margin-bottom: 0; 
}

.left-panel .info-box .info-text { 
    font-size: 14px; 
    opacity: 0.85; 
}

.left-panel .info-box .info-text strong { 
    display: block; 
    font-size: 15px; 
    margin-bottom: 2px; 
}

.right-panel { 
    flex: 1; 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    padding: 20px; 
    background: #ffffff; 
}

.form-wrapper { 
    width: 100%; 
    max-width: 420px; 
}

.form-title { 
    text-align: center; 
    margin-bottom: 25px; 
}

.form-title h2 { 
    font-size: 24px; 
    font-weight: 700; 
    color: #1e3a5f; 
    margin-bottom: 5px; 
}

.form-title p { 
    font-size: 14px; 
    color: #666; 
}

.form-group { 
    margin-bottom: 18px; 
}

.form-group label { 
    font-weight: 600; 
    color: #333; 
    margin-bottom: 6px; 
    display: block; 
    font-size: 13px; 
}

.form-control { 
    padding: 10px 14px; 
    border: 1px solid #d0d0d0; 
    font-size: 14px; 
    border-radius: 4px; 
    background: #fafafa; 
    width: 100%; 
}

.form-control:focus { 
    border-color: #4a90d9; 
    box-shadow: 0 0 0 2px rgba(74,144,217,0.1); 
    background: #ffffff; 
    outline: none; 
}

.input-group { 
    position: relative; 
    display: flex; 
    width: 100%; 
}

.input-group-text { 
    background: #f0f0f0; 
    border: 1px solid #d0d0d0; 
    border-right: none; 
    color: #666; 
    padding: 10px 14px; 
    border-top-left-radius: 4px; 
    border-bottom-left-radius: 4px; 
    display: flex; 
    align-items: center; 
    font-size: 14px; 
}

.input-group .form-control { 
    border-top-left-radius: 0; 
    border-bottom-left-radius: 0; 
}

.btn-login { 
    width: 100%; 
    padding: 12px; 
    background: #1e3a5f; 
    border: none; 
    border-radius: 4px; 
    color: #ffffff; 
    font-weight: 600; 
    font-size: 15px; 
    cursor: pointer; 
    transition: all 0.3s; 
}

.btn-login:hover { 
    background: #152a45; 
}

.alert { 
    padding: 10px 14px; 
    margin-bottom: 15px; 
    border-radius: 4px; 
    font-size: 13px; 
}

.alert-danger { 
    background: #f8d7da; 
    color: #721c24; 
    border: 1px solid #f5c6cb; 
}

@media (max-width: 992px) {
    .split-container { 
        flex-direction: column; 
    }
    .left-panel { 
        display: none; 
    }
}