body {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    
    /* GANTI background: linear-gradient(...) LAMA DENGAN KODE BARU INI */
    
    /* PENTING: Perhatikan path 'assets/bg.png' */
    background-image: url('assets/bg.png');
    background-size: cover; /* Memastikan gambar menutupi seluruh area viewport */
    background-position: center center; /* Memastikan gambar selalu berada di tengah */
    background-repeat: no-repeat; /* Mencegah gambar berulang */
    background-attachment: fixed; /* (Opsional) Menjaga gambar tetap diam saat discroll */

    /* Tambahkan Overlay Gelap (Disarankan untuk keterbacaan teks putih) */
    background-color: rgba(0, 0, 0, 0.4); 
    background-blend-mode: overlay; 


    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}


.main-content {
    display: flex;
    flex-direction: column;
    align-items: center; 
    text-align: center; 
}


.main-title {
    font-size: 48px; 
    font-weight: bold;
    color: white;
    margin-bottom: 25px; 
    letter-spacing: 2px;
    text-shadow: 0 4px 10px rgba(0, 0, 0, 0.5); 
}



.login-form {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 15px;
    padding: 40px;
    width: 350px;
    color: white;
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.3);
    text-align: left;
}


.login-form h2 {
    font-size: 22px;
    margin: 0;
    font-weight: bold;
    text-align: center;
}
.login-form .role-title {
    font-size: 14px;
    opacity: 0.9;
    margin-top: 5px;
    margin-bottom: 25px;
    text-align: center;
}
.instruction {
    font-size: 13px;
    opacity: 0.8;
    margin-bottom: 20px;
    text-align: left;
}


.login-form label {
    display: block;
    margin-top: 15px;
    margin-bottom: 5px;
    font-size: 14px;
    opacity: 0.9;
}
.login-form input[type="text"],
.login-form input[type="password"] {
    width: 100%;
    padding: 12px 10px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.1);
    color: white;
    box-sizing: border-box;
    font-size: 16px;
    outline: none;
}
.login-form input:focus {
    background: rgba(255, 255, 255, 0.2);
}


.options {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 15px 0;
    font-size: 13px;
}
.options a {
    color: white;
    text-decoration: none;
    opacity: 0.8;
}
.options a:hover {
    text-decoration: underline;
}


.btn-login {
    width: 100%;
    padding: 15px;
    background: #006aff;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    margin-top: 20px;
    transition: background 0.3s;
}
.btn-login:hover {
    background: #0056e6;
}


.register-link {
    text-align: center;
    margin-top: 20px;
    font-size: 13px;
}
.register-link a {
    color: white;
    font-weight: bold;
    text-decoration: none;
}
.register-link a:hover {
    text-decoration: underline;
}


@media (max-width: 900px) {
 
    .main-title {
        font-size: 36px; 
    }
}
/* --- Tombol Floating Telegram --- */
.telegram-float {
    position: fixed; /* Membuat tombol selalu terlihat saat discroll */
    width: 60px;
    height: 60px;
    bottom: 40px; /* Jarak dari bawah */
    right: 40px; /* Jarak dari kanan */
    background-color: #0088CC; /* Warna Biru Telegram */
    color: #FFF;
    border-radius: 50px; /* Membuat lingkaran */
    text-align: center;
    box-shadow: 2px 2px 3px #999;
    z-index: 1000; /* Memastikan tombol berada di atas elemen lain */
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s;
}

.telegram-float:hover {
    background-color: #0077B3; /* Warna sedikit lebih gelap saat hover */
}

/* Penyesuaian ikon di dalamnya */
.telegram-float img {
    width: 30px !important; 
    height: 30px !important;
    border-radius: 0;
    margin: 0;
    padding: 0;
}