body { font-family: 'Inter', sans-serif; transition: background-color 0.5s ease; }
.font-bangla { font-family: 'Tiro Bangla', serif; }
:root {
    --bg-color: #ffffff; 
    --bg-secondary: #f9fafb; 
    --bg-tertiary: #f0fdfa; /* Light teal tint for modern look */
    --text-color: #111827; 
    --text-muted: #4b5563; 
    --border-color: #e5e7eb; 
    --indigo-600: #4f46e5;
    --indigo-400: #818cf8;
    --card-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.01);
}
.dark {
    --bg-color: #1f2937; 
    --bg-secondary: #374151; 
    --bg-tertiary: #111827;
    --text-color: #f3f4f6; 
    --text-muted: #9ca3af; 
    --border-color: #4b5563;
    --card-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3), 0 8px 10px -6px rgba(0, 0, 0, 0.2);
}

body { background-color: var(--bg-tertiary); color: var(--text-color); }
.card { background-color: var(--bg-color); box-shadow: var(--card-shadow); border: 1px solid var(--border-color); }
.info-card { background-color: var(--bg-secondary); border: 1px solid var(--border-color); transition: transform 0.2s ease, box-shadow 0.2s ease; }
.info-card:hover { transform: translateY(-3px); box-shadow: var(--card-shadow); }

.form-input { background-color: var(--bg-color); border-color: var(--border-color); color: var(--text-color); transition: all 0.3s ease;}
.form-input:focus { box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.2); border-color: var(--indigo-600); outline: none; }

.toggle-switch { width: 48px; height: 26px; }
.toggle-switch:before { content: ''; position: absolute; height: 22px; width: 22px; left: 2px; bottom: 2px; background-color: white; transition: .4s; border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,0.2); }
input:checked + .toggle-switch:before { transform: translateX(22px); }

.animate-fade-in { animation: fadeIn 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.progress-bar-container { background-color: var(--border-color); border-radius: 999px; overflow: hidden; height: 8px; margin-top: 10px; }
.progress-bar { height: 100%; background: linear-gradient(90deg, var(--indigo-400), var(--indigo-600)); transition: width 1.5s cubic-bezier(0.4, 0, 0.2, 1); }

#certificate-content { background: linear-gradient(135deg, var(--bg-color) 0%, var(--bg-secondary) 100%); }
.cert-text-color { color: var(--text-color); }

/* Custom Scrollbar for Tabs */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Toast Animation */
#toast-container { z-index: 9999; }
.toast-enter { animation: toastIn 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards; }
.toast-leave { animation: toastOut 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards; }
@keyframes toastIn { from { opacity: 0; transform: translateY(100%) scale(0.9); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes toastOut { from { opacity: 1; transform: translateY(0) scale(1); } to { opacity: 0; transform: translateY(100%) scale(0.9); } }

/* Modal Animation */
.modal-enter { animation: modalFadeIn 0.3s ease-out forwards; }
.modal-leave { animation: modalFadeOut 0.3s ease-in forwards; }
@keyframes modalFadeIn { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }
@keyframes modalFadeOut { from { opacity: 1; transform: scale(1); } to { opacity: 0; transform: scale(0.95); } }