html, body {
            height: 100%;
            margin: 0;
            padding: 0;
        }

        .login-container {
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #F1F5F9; /* Diubah dari #0D1117 ke abu-abu terang (Slate 100) */
            position: relative;
            overflow: hidden;
        }

        .login-bg-decoration {
            position: absolute;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            /* Gradient disesuaikan agar pancaran cahayanya lembut di latar belakang terang */
            background: radial-gradient(circle at 20% 50%, rgba(249, 115, 22, 0.06) 0%, transparent 50%),
                        radial-gradient(circle at 80% 80%, rgba(59, 130, 246, 0.06) 0%, transparent 50%);
            pointer-events: none;
        }

        .login-box {
            width: 100%;
            max-width: 420px;
            padding: 2rem;
            background: #FFFFFF; /* Diubah dari var(--solar-slate) menjadi Putih Bersih */
            border: 1px solid #E2E8F0; /* Border disesuaikan menjadi abu-abu terang */
            border-radius: 16px;
            box-shadow: 0 20px 40px rgba(15, 23, 42, 0.08); /* Efek shadow diperhalus khas light mode */
            position: relative;
            z-index: 10;
        }

        .login-header {
            text-align: center;
            margin-bottom: 2rem;
        }

        .login-brand {
            width: 60px;
            height: 60px;
            margin: 0 auto 1rem;
            background: linear-gradient(135deg, var(--solar-orange), var(--solar-amber));
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.8rem;
            color: #FFFFFF; /* Memastikan icon/teks di dalam logo tetap putih */
            box-shadow: 0 8px 24px rgba(249, 115, 22, 0.2);
        }

        .login-header h1 {
            color: #0F172A; /* Diubah dari #F1F5F9 menjadi Gelap (Slate 900) */
            font-size: 1.75rem;
            font-weight: 700;
            margin: 0 0 0.5rem 0;
        }

        .login-header p {
            color: #64748B; /* Warna deskripsi disesuaikan (Slate 500) */
            font-size: 0.9rem;
            margin: 0;
        }

        .form-group {
            margin-bottom: 1.25rem;
        }

        .form-label {
            color: #475569; /* Diubah dari #94A3B8 menjadi lebih gelap agar kontras (Slate 600) */
            font-size: 0.85rem;
            font-weight: 600;
            margin-bottom: 0.5rem;
            display: block;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .form-control {
            background: #FFFFFF; /* Diubah dari #0F172A menjadi Putih */
            border: 1px solid #CBD5E1; /* Border disesuaikan (Slate 300) */
            color: #1E293B; /* Teks input diubah jadi gelap (Slate 800) */
            padding: 0.75rem 1rem;
            border-radius: 8px;
            font-size: 0.9rem;
            transition: all 0.2s;
        }

        .form-control:focus {
            background: #FFFFFF;
            border-color: var(--solar-orange);
            color: #1E293B;
            box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.15);
        }

        .form-control::placeholder {
            color: #94A3B8; /* Placeholder disesuaikan agar terlihat di base putih */
        }

        .form-check {
            margin-bottom: 1.25rem;
        }

        .form-check-input {
            background: #FFFFFF; /* Diubah dari #0F172A menjadi Putih */
            border-color: #CBD5E1;
            cursor: pointer;
            width: 1.2em;
            height: 1.2em;
        }

        .form-check-input:checked {
            background: var(--solar-orange);
            border-color: var(--solar-orange);
            box-shadow: none;
        }

        .form-check-label {
            color: #475569; /* Diubah dari #94A3B8 menjadi lebih gelap */
            font-size: 0.85rem;
            cursor: pointer;
            user-select: none;
            margin-left: 0.5rem;
        }

        .forgot-link {
            color: var(--solar-orange);
            font-size: 0.85rem;
            text-decoration: none;
            transition: color 0.2s;
            float: right;
        }

        .forgot-link:hover {
            color: var(--solar-amber);
            text-decoration: underline;
        }

        .btn-login {
            width: 100%;
            padding: 0.85rem;
            background: linear-gradient(135deg, var(--solar-orange), #EA580C);
            border: none;
            color: #fff;
            font-weight: 600;
            font-size: 0.95rem;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.3s;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            margin-top: 0.5rem;
        }

        .btn-login:hover {
            background: linear-gradient(135deg, #EA580C, #C2410C);
            transform: translateY(-2px);
            box-shadow: 0 12px 24px rgba(249, 115, 22, 0.25);
            color: #fff;
        }

        .btn-login:active {
            transform: translateY(0);
        }

        .signup-link {
            text-align: center;
            margin-top: 1.5rem;
            padding-top: 1.5rem;
            border-top: 1px solid #E2E8F0; /* Border pembatas diubah jadi abu-abu terang */
        }

        .signup-link p {
            color: #64748B;
            font-size: 0.85rem;
            margin: 0;
        }

        .signup-link a {
            color: var(--solar-orange);
            text-decoration: none;
            font-weight: 600;
            transition: color 0.2s;
        }

        .signup-link a:hover {
            color: var(--solar-amber);
        }

        /* Modifikasi Elemen Notifikasi (Pesan Error & Sukses) */
        .error-message {
            background: #FEF2F2; /* Menggunakan basis merah muda cerah */
            border: 1px solid rgba(239, 68, 68, 0.25);
            color: #991B1B; /* Teks merah gelap agar mudah dibaca */
            padding: 0.75rem 1rem;
            border-radius: 8px;
            margin-bottom: 1.5rem;
            font-size: 0.85rem;
        }

        .success-message {
            background: #F0FDF4; /* Menggunakan basis hijau muda cerah */
            border: 1px solid rgba(34, 197, 94, 0.25);
            color: #166534; /* Teks hijau gelap agar mudah dibaca */
            padding: 0.75rem 1rem;
            border-radius: 8px;
            margin-bottom: 1.5rem;
            font-size: 0.85rem;
        }

        .form-check-input:focus {
            border-color: var(--solar-orange);
            box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.15);
        }

        @media (max-width: 576px) {
            .login-box {
                padding: 1.5rem;
                max-width: 100%;
                margin: 1rem;
            }

            .login-header h1 {
                font-size: 1.5rem;
            }

            .btn-login {
                padding: 0.75rem;
            }
        }