/* Bakgrund med rörliga partiklar */
        body {
            font-family: 'Segoe UI', sans-serif;
            height: 100vh;
            margin: 0;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            background: radial-gradient(circle at top left, #1a1a2e, #0f0f1f);
            color: #f0f0f0;
        }

        /* Partiklar */
        .particle {
            position: absolute;
            background: rgba(255, 255, 255, 0.15);
            border-radius: 50%;
            animation: float 10s linear infinite;
        }

        @keyframes float {
            0% { transform: translateY(0) translateX(0); }
            50% { transform: translateY(-50px) translateX(20px); }
            100% { transform: translateY(0) translateX(0); }
        }

        /* Formulärkort med svävande effekt */
        .login-card {
            position: relative;
            background: linear-gradient(145deg, #2c2c3e, #32324a);
            padding: 2.5rem 2rem;
            border-radius: 1.5rem;
            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.6);
            width: 100%;
            max-width: 400px;
            transform: translateY(-60px);
            opacity: 0;
            animation: slideIn 0.8s forwards;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .login-card:hover {
            transform: translateY(-65px);
            box-shadow: 0 25px 50px rgba(0, 0, 0, 0.8);
        }

        @keyframes slideIn {
            to { transform: translateY(0); opacity: 1; }
        }

        .login-card h1 {
            margin-bottom: 2rem;
            text-align: center;
            font-weight: 700;
            color: #f8f9fa;
        }

        /* Bild överst */
        .login-image img {
            border: 2px solid #6dd5fa;
            box-shadow: 0 0 15px rgba(109, 213, 250, 0.5);
            width: 80px;
            height: 80px;
            object-fit: cover;
            border-radius: 10%;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            margin-bottom: 1rem;
        }

        .login-image img:hover {
            transform: scale(1.1);
            box-shadow: 0 0 25px rgba(109, 213, 250, 0.8);
        }

        /* Input med ikoner */
        .form-control {
            background-color: #1f1f2e;
            border: 1px solid #444466;
            color: #f0f0f0;
            transition: all 0.3s ease;
        }

        .form-control:focus {
            border-color: #6dd5fa;
            box-shadow: 0 0 8px rgba(109, 213, 250, 0.5);
        }

        .input-group-text {
            background-color: #1f1f2e;
            border: 1px solid #444466;
            color: #3498db;
        }

        /* Gradientknapp med ripple */
        .btn-primary {
            position: relative;
            overflow: hidden;
            background: linear-gradient(135deg, #3498db, #6dd5fa);
            border: none;
            font-weight: 500;
        }

        .btn-primary::after {
            content: "";
            position: absolute;
            width: 100%;
            height: 100%;
            left: 0;
            top: 0;
            background: rgba(255, 255, 255, 0.15);
            opacity: 0;
            transition: opacity 0.3s;
        }

        .btn-primary:active::after {
            opacity: 1;
            transition: 0s;
        }

        .btn-primary:hover {
            background: linear-gradient(135deg, #2980b9, #4facfe);
        }

        /* Glömt lösenord */
        .forgot-btn {
            background: none;
            border: none;
            color: #6dd5fa;
            text-decoration: underline;
            padding: 0;
            margin-top: 1rem;
            display: block;
            text-align: center;
            cursor: pointer;
        }

        /* Portal-spinner */
        #loadingPopup {
            display: none; /* gömd som default */
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.85);
            align-items: center;
            justify-content: center;
            z-index: 9999;
        }
