/* LPMS Wizard Styles */

/* Progress bar */
.wizard-progress-step {
    flex: 1;
    text-align: center;
    padding: 8px 4px;
    font-size: 0.75rem;
    border-bottom: 3px solid #dee2e6;
    color: #6c757d;
    transition: all 0.2s;
    cursor: default;
}
.wizard-progress-step.active {
    border-bottom-color: #0d6efd;
    color: #0d6efd;
    font-weight: 600;
}
.wizard-progress-step.completed {
    border-bottom-color: #198754;
    color: #198754;
}
.wizard-progress-step .step-number {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #dee2e6;
    color: #fff;
    font-size: 0.8rem;
    margin-bottom: 4px;
}
.wizard-progress-step.active .step-number { background: #0d6efd; }
.wizard-progress-step.completed .step-number { background: #198754; }

/* Step fade-in */
.wizard-step { animation: fadeIn 0.2s; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

/* Dynamic cards (suspects, vehicles) */
.dynamic-card {
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    padding: 1rem;
    margin-bottom: 1rem;
    background: #fff;
}

/* File upload drop zone */
.upload-zone {
    border: 2px dashed #adb5bd;
    border-radius: 0.5rem;
    padding: 2rem;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s;
    background: #f8f9fa;
}
.upload-zone:hover { border-color: #6c757d; }
.upload-zone.dragover {
    border-color: #0d6efd;
    background: #e8f0fe;
}
.upload-zone i { font-size: 2rem; color: #6c757d; }

/* Submit progress overlay */
.submit-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.6);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}
.submit-progress-card {
    background: #fff;
    border-radius: 0.5rem;
    padding: 2rem;
    min-width: 400px;
    max-width: 90vw;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}

/* Quantity +/- group */
.qty-group { display: flex; align-items: center; gap: 4px; }
.qty-group .btn { padding: 0.15rem 0.5rem; }
.qty-group input { width: 60px; text-align: center; }

/* Review section */
.review-section { margin-bottom: 1.5rem; }
.review-section h6 {
    border-bottom: 2px solid #0d6efd;
    padding-bottom: 0.3rem;
    margin-bottom: 0.75rem;
}
.review-label { font-weight: 600; color: #495057; }

/* Bottom nav spacing */
body { padding-bottom: 80px; }

/* Merch table select sizing */
#merchTable .form-select-sm,
#merchTable .form-control-sm { font-size: 0.8rem; }
