:root {
    --bg-color: #0D1117;
    --text-color: #EAEAEA;
    --text-muted-color: #a0aec0;
    --card-bg-color: #161B22;
    --border-color: #30363d;
    --header-bg-color: rgba(13, 17, 23, 0.7);
    --input-bg-color: #0D1117;
    --link-color: #A78BFA;
}
html.light {
    --bg-color: #F9FAFB;
    --text-color: #111827;
    --text-muted-color: #6B7280;
    --card-bg-color: #FFFFFF;
    --border-color: #E5E7EB;
    --header-bg-color: rgba(255, 255, 255, 0.7);
    --input-bg-color: #F3F4F6;
    --link-color: #8B5CF6;
}
body { 
    font-family: 'Inter', sans-serif; 
    background-color: var(--bg-color); 
    color: var(--text-color); 
    display: flex; 
    flex-direction: column; 
    min-height: 100vh; 
}
.text-muted { 
    color: var(--text-muted-color); 
}
.card { 
    background-color: var(--card-bg-color); 
    border: 1px solid var(--border-color); 
    transition: transform 0.3s ease, box-shadow 0.3s ease; 
}
.card:hover { 
    transform: translateY(-5px); 
    box-shadow: 0 10px 30px rgba(0,0,0,0.2); 
}
.input-field { 
    background-color: var(--input-bg-color); 
    border: 1px solid var(--border-color); 
}
.input-field:focus { 
    outline: none; 
    box-shadow: 0 0 0 2px var(--link-color); 
}
.link { 
    color: var(--link-color); 
}
.link:hover { 
    text-decoration: underline; 
}
.page-content { 
    display: none; 
}
.page-content.active { 
    display: block; 
}
.auth-form { 
    display: none; 
}
.auth-form.active { 
    display: block; 
}
.faq-answer { 
    max-height: 0; 
    overflow: hidden; 
    transition: max-height 0.3s ease-out; 
}
#lightbox { 
    position: fixed; 
    z-index: 1000; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    background-color: rgba(0, 0, 0, 0.9); 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    opacity: 0; 
    visibility: hidden; 
    transition: opacity 0.3s ease, visibility 0.3s ease; 
}
#lightbox.visible { 
    opacity: 1; 
    visibility: visible; 
}
#lightbox img { 
    max-width: 90%; 
    max-height: 80%; 
    border-radius: 8px; 
}
#lightbox-close { 
    position: absolute; 
    top: 20px; 
    right: 30px; 
    font-size: 3rem; 
    color: white; 
    cursor: pointer; 
    line-height: 1; 
}
.lang-switcher button.active { 
    color: var(--link-color); 
    font-weight: bold; 
}
.gradient-text { 
    background: linear-gradient(90deg, #A78BFA, #F472B6); 
    -webkit-background-clip: text; 
    -webkit-text-fill-color: transparent; 
}
#notification-container { 
    position: fixed; 
    bottom: 1.5rem; 
    right: 1.5rem; 
    z-index: 9999; 
    display: flex; 
    flex-direction: column; 
    gap: 1rem; 
}
.toast { 
    display: flex; 
    align-items: center; 
    padding: 1rem 1.5rem; 
    border-radius: 0.5rem; 
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); 
    min-width: 300px; 
    max-width: 400px; 
    opacity: 0; 
    transform: translateX(100%); 
    animation: slideIn 0.5s forwards, fadeOut 0.5s 4.5s forwards; 
}
.toast-icon { 
    margin-right: 0.75rem; 
}
.toast-content { 
    flex-grow: 1; 
}
.toast-close { 
    margin-left: 1rem; 
    background: none; 
    border: none; 
    cursor: pointer; 
    opacity: 0.7; 
}
.toast.success { 
    background-color: #10B981; 
    color: white; 
}
.toast.error { 
    background-color: #EF4444; 
    color: white; 
}
.toast.info { 
    background-color: #3B82F6; 
    color: white; 
}
@keyframes slideIn { 
    from { 
        transform: translateX(100%); 
        opacity: 0; 
    } 
    to { 
        transform: translateX(0); 
        opacity: 1; 
    } 
}
@keyframes fadeOut { 
    from { 
        opacity: 1; 
    } 
    to { 
        opacity: 0; 
    } 
}
.modal-backdrop { 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    background-color: rgba(0, 0, 0, 0.5); 
    z-index: 9998; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
}
.video-container { 
    position: relative; 
    padding-bottom: 56.25%; 
    height: 0; 
    overflow: hidden; 
    max-width: 100%; 
    border-radius: 0.75rem; 
    border: 1px solid var(--border-color); 
    box-shadow: 0 10px 30px rgba(0,0,0,0.3); 
}
.video-container iframe { 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
}
#payment-modal { 
    transition: opacity 0.3s ease, visibility 0.3s ease; 
}
.payment-tab { 
    cursor: pointer; 
    padding: 0.75rem 1.5rem; 
    border-bottom: 2px solid transparent; 
    transition: border-color 0.3s ease, color 0.3s ease; 
}
.payment-tab.active { 
    border-bottom-color: var(--link-color); 
    color: var(--text-color); 
}
.payment-tab-content { 
    display: none; 
}
.payment-tab-content.active { 
    display: block; 
}
/* Style for Manual Transfer */
.bank-details { 
    background-color: var(--input-bg-color); 
    border: 1px solid var(--border-color); 
    padding: 1.5rem; 
    border-radius: 0.75rem; 
}

/* Style untuk Tab VPS */
.vps-tab { 
    cursor: pointer; 
    padding: 0.75rem 1.5rem; 
    border-radius: 0.5rem; 
    transition: background-color 0.3s ease; 
}
.vps-tab.active { 
    background-color: var(--link-color); 
    color: white; 
}
.vps-plan-content { 
    display: none; 
}
.vps-plan-content.active { 
    display: grid; 
}