.step-indicator{display:flex;justify-content:center;margin-bottom:30px}
.step-circle{width:36px;height:36px;border-radius:50%;background:#e0e0e0;color:#666;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;border:2px solid #ccc;transition:all .3s}
.step-circle.active{background:#0066cc;color:#fff;border-color:#0066cc}
.step-circle.completed{background:#28a745;color:#fff;border-color:#28a745}
.step-line{width:60px;height:2px;background:#ccc;margin:0 8px;display:inline-block;vertical-align:middle}
.step-line.active{background:#0066cc}
.step-line.completed{background:#28a745}
.aspirante-block{display:none}
.aspirante-block.active{display:block}
.modal-aviso{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);z-index:9999;display:flex;align-items:center;justify-content:center}
.modal-aviso-content{background:#fff;border-radius:12px;padding:30px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto}
.no-becas{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:12px;margin:15px 0;font-weight:700;text-align:center;color:#856404;font-size:16px}
.form-section-title{background:#f0f4f8;padding:8px 15px;border-radius:6px;font-weight:600;color:#333;margin:15px 0 10px;border-left:4px solid #0066cc}
.field-required label:after{content:" *";color:#dc3545;font-weight:700}
.error-feedback{color:#dc3545;font-size:12px;margin-top:2px;display:none}
.error-feedback.show{display:block}
.is-invalid{border-color:#dc3545!important}
.success-check{font-size:64px;color:#28a745}
.comprobante-box{background:#f8f9fa;border:2px dashed #0066cc;border-radius:10px;padding:20px;text-align:center}
.comprobante-box .folio{font-size:20px;font-weight:700;color:#0066cc;letter-spacing:1px}
 

/* Focus border color */
.form-select:focus, .form-control:focus, input:focus, select:focus, textarea:focus {
    border-color: #000 !important;
    box-shadow: 0 0 0 0.2rem rgba(0,0,0,0.15) !important;
}




@media (max-width: 767.98px) {
    .card-body.p-4 { padding: 15px !important; }
    .step-line { width: 30px; margin: 0 4px; }
    .step-circle { width: 30px; height: 30px; font-size: 12px; }
    .step-indicator { margin-bottom: 20px; }
    .modal-aviso-content { padding: 20px; width: 95%; word-break: break-word; overflow-wrap: break-word; }
    .modal-aviso-content .gap-2 { width: 100% !important; max-width: 100% !important; }
    .modal-aviso { align-items: flex-start !important; padding-top: 15px; }
    .modal-aviso-content { max-height: 90vh; }
    .form-section-title { font-size: 14px; padding: 6px 12px; }
    .field-required label { font-size: 14px; }
    h4.mb-3 { font-size: 17px; }
    .no-becas { font-size: 14px; padding: 10px; word-break: break-word; overflow-wrap: break-word; }
    .btn { font-size: 14px; padding: 10px 16px; }
}
@media (max-width: 575.98px) {
    .step-line { width: 20px; margin: 0 2px; }

@media (max-width: 768px) {
    header#top img { height: 50px !important; }
}
@media (max-width: 480px) {
    header#top img { height: 40px !important; }
}
    .step-circle { width: 26px; height: 26px; font-size: 11px; }
    .modal-aviso-content { border-radius: 8px; padding: 15px; }
    .modal-aviso-content h4 { font-size: 16px; }
    .card-body.p-4 { padding: 12px !important; }
}