/* Progress Bar */
#progressBar { z-index: 1000; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
.progress-step { position: relative; }
.progress-step .badge {
    width: 40px; height: 40px;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1rem;
}

@media (max-width: 768px) {
    .progress-step .small { font-size: 0.7rem; }
    .progress-step .badge { width: 30px; height: 30px; font-size: 0.85rem; }
}

/* Step Card */
.step-card {
    border: 2px solid #dee2e6; border-radius: 0.5rem;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}
.step-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0,0,0,0.15);
}

/* Button animations */
.btn { transition: all 0.2s ease; }
.btn:hover { transform: scale(1.05); }
.btn:active { transform: scale(0.98); }

/* Alert customization */
.alert { border-left: 4px solid; }
.alert-info { border-left-color: #17a2b8; }
.alert-success { border-left-color: #28a745; }
.alert-warning { border-left-color: #ffc107; }

@media (max-width: 576px) {
    .card-header h2 { font-size: 1.25rem; }
    .alert-heading { font-size: 1rem; }
    .btn-lg { padding: 0.5rem 1rem; font-size: 1rem; }
}

@media print {
    #progressBar { position: static !important; }
    .btn, .dropdown { display: none; }
    .card { break-inside: avoid; }
}
