  :root {
    --primary-color: #007bff;
    --secondary-color: #00b3ff;
    --accent-color: #28a745;
    --success-color: #28a745;
    --warning-color: #ffc107;
    --danger-color: #dc3545;
    --info-color: #17a2b8;
    --light-color: #f8f9fa;
    --dark-color: #343a40;
    --body-font: 'Poppins', sans-serif;
    --heading-font: 'Poppins', sans-serif;
    --font-size-base: 16px;
    --border-radius: 8px;
    --box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    --transition-speed: 0.3s;
}

body {
    font-family: var(--body-font);
    font-size: var(--font-size-base);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--heading-font);
}

.btn-primary {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    border: none;
    border-radius: var(--border-radius);
    transition: all var(--transition-speed) ease;
}

.btn-secondary {
    background: linear-gradient(135deg, var(--secondary-color) 0%, var(--primary-color) 100%);
    border: none;
    border-radius: var(--border-radius);
    transition: all var(--transition-speed) ease;
}

.btn-success { background-color: var(--success-color); border-color: var(--success-color); border-radius: var(--border-radius); transition: all var(--transition-speed) ease; }
.btn-warning { background-color: var(--warning-color); border-color: var(--warning-color); border-radius: var(--border-radius); transition: all var(--transition-speed) ease; }
.btn-danger { background-color: var(--danger-color); border-color: var(--danger-color); border-radius: var(--border-radius); transition: all var(--transition-speed) ease; }
.btn-info { background-color: var(--info-color); border-color: var(--info-color); border-radius: var(--border-radius); transition: all var(--transition-speed) ease; }

.card {
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
    transition: all var(--transition-speed) ease;
}

.form-control {
    border-radius: var(--border-radius);
    transition: all var(--transition-speed) ease;
}

.form-control:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.badge.bg-primary { background-color: var(--primary-color) !important; }
.badge.bg-secondary { background-color: var(--secondary-color) !important; }
.badge.bg-success { background-color: var(--success-color) !important; }
.badge.bg-warning { background-color: var(--warning-color) !important; }
.badge.bg-danger { background-color: var(--danger-color) !important; }
.badge.bg-info { background-color: var(--info-color) !important; }

.text-primary { color: var(--primary-color) !important; }
.text-secondary { color: var(--secondary-color) !important; }
.text-success { color: var(--success-color) !important; }
.text-warning { color: var(--warning-color) !important; }
.text-danger { color: var(--danger-color) !important; }
.text-info { color: var(--info-color) !important; }

.btn:hover, .card:hover {
    transform: translateY(-2px);
}

