/* global background: subtle gradient for modern feel */
        body {
            background: linear-gradient(135deg, #f5f7fc 0%, #e9eef5 100%);
            font-family: 'Segoe UI', Roboto, system-ui, -apple-system, 'Helvetica Neue', sans-serif;
        }

        /* card styling: soft rounded corners, smooth shadow */
        .login-card {
            border: none;
            border-radius: 28px;
            background: rgba(255, 255, 255, 0.98);
            backdrop-filter: blur(0px);
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }

        .login-card:hover {
            box-shadow: 0 20px 35px -12px rgba(0, 0, 0, 0.15) !important;
        }

        /* Logo container: perfect center alignment + responsive sizing */
        .logo-wrapper {
            display: flex;
            justify-content: center;
            align-items: center;
            padding-top: 1.8rem;
            padding-bottom: 0.5rem;
        }

        /* responsive logo: keeps proportion, centered, max-width relative to card */
        .brand-logo {
            max-width: 35%;          /* adapts nicely on mobile/desktop */
            height: auto;
            width: auto;
            display: block;
            transition: transform 0.2s;
        }

        /* for very small devices (<=480px) increase relative size slightly */
        @media (max-width: 576px) {
            .brand-logo {
                max-width: 65%;
            }
        }

        /* optional divider elegance */
        .title-divider {
            width: 50px;
            height: 3px;
            background: #0d6efd;
            margin: 0.5rem auto 1rem auto;
            border-radius: 4px;
            opacity: 0.7;
        }

        /* custom button styling */
        .btn-login {
            padding: 10px 0;
            font-weight: 600;
            border-radius: 5px;
            background-color: #0a58ca;
            border: none;
            transition: all 0.2s;
        }

        .btn-login:hover {
            background-color: #004a9f;
            transform: translateY(-1px);
            box-shadow: 0 4px 12px rgba(13, 110, 253, 0.3);
        }

        /* input fields: rounded & consistent */
        .form-control {
            border-radius: 5px;
            padding: 0.65rem 1.2rem;
            border: 1px solid #dee2e6;
            transition: 0.2s;
        }

        .form-control:focus {
            border-color: #86b7fe;
            box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.2);
        }

        .form-label {
            font-weight: 500;
            margin-bottom: 0.4rem;
            margin-left: 0.3rem;
            font-size: 0.9rem;
            color: #2c3e50;
        }

        /* alert styling: subtle and modern */
        .alert-custom {
            border-radius: 50px;
            padding: 0.7rem 1rem;
            font-size: 0.9rem;
            border-left: 5px solid #dc3545;
        }

        /* card body spacing */
        .card-body-custom {
            padding: 1.5rem 2rem 2rem 2rem;
        }

        @media (max-width: 480px) {
            .card-body-custom {
                padding: 1.2rem 1.5rem 1.8rem 1.5rem;
            }
        }

        /* footer or subtle note (optional) */
        .secure-note {
            font-size: 0.7rem;
            text-align: center;
            margin-top: 1rem;
            color: #6c757d;
        }