/* Palet Warna & Font */
        :root {
            --bg-dark-green: #294436;
            --input-bg: #1f3629;
            --btn-teal: #75a8a4;
            --text-muted-green: #688a7c;
        }

        body {
            background-color: var(--bg-dark-green); /* Background halaman luar */
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0;
            overflow-x: hidden; /* Mencegah scroll horizontal */
        }

        /* Container utama card login */
        .login-container {
            background-color: var(--bg-dark-green);
            border-radius: 2rem;
            width: 90%;
            max-width: 1100px;
            min-height: 600px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
            position: relative;
            overflow: hidden; /* Penting untuk memotong kurva */
            display: flex;
            flex-wrap: wrap;
        }

        /* Panel Kiri (Area Putih + Gambar) */
        .left-panel {
            background-color: #ffffff;
            position: relative;
            padding: 3rem;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            /* Membuat efek kurva melengkung ke dalam area hijau */
            border-top-right-radius: 40% 10%;
            border-bottom-right-radius: 30% 90%;
        }

        /* Panel Kanan (Area Form) */
        .right-panel {
            padding: 4rem 3rem;
            display: flex;
            flex-direction: column;
            justify-content: center;
            color: white;
        }

        /* Styling Input */
        .custom-input {
            background-color: var(--input-bg);
            border: none;
            color: white;
            padding: 0.8rem 1rem;
            border-radius: 8px; /* Sedikit lebih melengkung agar serasi */
        }
        .custom-input:focus {
            background-color: var(--input-bg);
            color: white;
            box-shadow: 0 0 0 0.25rem rgba(232, 152, 152, 0.25); /* Glow warna pink saat diklik */
        }
        .custom-input::placeholder {
            color: #7b9c8c;
            font-size: 0.9rem;
        }

        /* Styling Label */
        .form-label {
            font-size: 0.9rem;
            margin-bottom: 0.3rem;
        }

        /* =========================================
           STYLING TOMBOL YANG BARU DISESUAIKAN 
           ========================================= */
        .btn.btn-happybloom-cyan.w-100 {
            background-color: #e89898; /* Warna pink/peach dari logo Happy Bloom (Kontras tinggi) */
            color: white;
            font-weight: 600;
            letter-spacing: 1px;
            border-radius: 50px; /* Bentuk pil yang cantik */
            padding: 12px 24px;
            border: none;
            text-transform: uppercase;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
            transition: all 0.3s ease;
        }
        .btn-custom:hover {
            background-color: #d68282; /* Warna sedikit gelap saat kursor diarahkan */
            color: white;
            box-shadow: 0 6px 8px rgba(0, 0, 0, 0.3);
            transform: translateY(-2px); /* Efek melayang */
        }

        /* Styling Link */
        .link-teal {
            color: var(--btn-teal);
            text-decoration: none;
        }
        .link-teal:hover {
            text-decoration: underline;
        }
        .text-muted-custom {
            color: var(--text-muted-green);
            text-decoration: none;
            font-size: 0.8rem;
        }

        /* Penyesuaian untuk layar HP (Mobile) */
        @media (max-width: 768px) {
            .left-panel {
                border-radius: 0; /* Menghilangkan kurva di HP agar rapi */
                border-bottom-left-radius: 2rem;
                border-bottom-right-radius: 2rem;
                padding: 2rem;
                min-height: 400px;
            }
            .login-container {
                flex-direction: column;
            }
            .right-panel {
                padding: 2rem;
            }
        }