.swal2-container {
    z-index: 2000 !important;
}

#consultaModal.modal {
    z-index: 1999 !important;
}

.modal {
    z-index: 9999 !important;
}

/* ===== GRABACIÓN DE AUDIO ===== */
.start-recording-button {
    font-size: 40px;
    color: gray;
    cursor: pointer;
    opacity: .8;
    margin-bottom: 30px;
}

.start-recording-button:hover {
    opacity: 1;
}

.recording-contorl-buttons-container {
    /*targeting Chrome & Safari*/
    display: -webkit-flex;
    /*targeting IE10*/
    display: -ms-flex;
    display: flex;
    justify-content: space-evenly;
    /*horizontal centering*/
    align-items: center;
    width: 334px;
    margin-bottom: 30px;
}

.cancel-recording-button,
.stop-recording-button {
    font-size: 40px;
    cursor: pointer;
}

.cancel-recording-button {
    color: gray;
    opacity: 0.7;
}

.cancel-recording-button:hover {
    color: rgb(100, 100, 100);
}

.stop-recording-button {
    color: #33cc33;
    opacity: 0.7;
}

.stop-recording-button:hover {
    color: #27a527;
}

.recording-elapsed-time {
    /*targeting Chrome & Safari*/
    display: -webkit-flex;
    /*targeting IE10*/
    display: -ms-flex;
    display: flex;
    justify-content: center;
    /*horizontal centering*/
    align-items: center;
}

.red-recording-dot {
    font-size: 25px;
    color: gray;
    margin-right: 12px;
    /*transitions with Firefox, IE and Opera Support browser support*/
    animation-name: flashing-recording-dot;
    -webkit-animation-name: flashing-recording-dot;
    -moz-animation-name: flashing-recording-dot;
    -o-animation-name: flashing-recording-dot;
    animation-duration: 2s;
    -webkit-animation-duration: 2s;
    -moz-animation-duration: 2s;
    -o-animation-duration: 2s;
    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
}

/* The animation code */
@keyframes flashing-recording-dot {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-webkit-keyframes flashing-recording-dot {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-moz-keyframes flashing-recording-dot {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-o-keyframes flashing-recording-dot {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.elapsed-time {
    font-size: 32px;
}

.recording-contorl-buttons-container.hide {
    display: none;
}

.overlay {
    position: absolute;
    top: 0;
    height: 100vh;
    width: 100%;
    background-color: rgba(82, 76, 76, 0.35);
    /*targeting Chrome & Safari*/
    display: -webkit-flex;
    /*targeting IE10*/
    display: -ms-flex;
    display: flex;
    justify-content: center;
    /*horizontal centering*/
    align-items: center;
}

.overlay.hide {
    display: none;
}

.browser-not-supporting-audio-recording-box {
    /*targeting Chrome & Safari*/
    display: -webkit-flex;
    /*targeting IE10*/
    display: -ms-flex;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    /*horizontal centering*/
    align-items: center;
    width: 317px;
    height: 119px;
    background-color: red;
    border-radius: 10px;
    padding: 15px;
    font-size: 16px;
}

.close-browser-not-supported-box {
    cursor: pointer;
    background-color: #abc1c05c;
    border-radius: 10px;
    font-size: 16px;
    border: none;
}

.close-browser-not-supported-box:hover {
    background-color: #92a5a45c;
}

.close-browser-not-supported-box:focus {
    outline: none;
    border: none;
}

.audio-element.hide {
    display: none;
}

.text-indication-of-audio-playing-container {
    height: 20px;
}

.text-indication-of-audio-playing {
    font-size: 20px;
}

.text-indication-of-audio-playing.hide {
    display: none;
}

/* 3 Dots animation*/
.text-indication-of-audio-playing span {
    /*transitions with Firefox, IE and Opera Support browser support*/
    animation-name: blinking-dot;
    -webkit-animation-name: blinking-dot;
    -moz-animation-name: blinking-dot;
    -o-animation-name: blinking-dot;
    animation-duration: 2s;
    -webkit-animation-duration: 2s;
    -moz-animation-duration: 2s;
    -o-animation-duration: 2s;
    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
}

.text-indication-of-audio-playing span:nth-child(2) {
    animation-delay: .4s;
    -webkit-animation-delay: .4s;
    -moz-animation-delay: .4s;
    -o-animation-delay: .4s;
}

.text-indication-of-audio-playing span:nth-child(3) {
    animation-delay: .8s;
    -webkit-animation-delay: .8s;
    -moz-animation-delay: .8s;
    -o-animation-delay: .8s;
}

/* The animation code */
@keyframes blinking-dot {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

/* The animation code */
@-webkit-keyframes blinking-dot {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

/* The animation code */
@-moz-keyframes blinking-dot {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

/* The animation code */
@-o-keyframes blinking-dot {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.my-custom-scrollbar {
    position: relative;
    height: 250px;
    overflow: auto;
}

.table-wrapper-scroll-y {
    display: block;
}

/* ===== ESTILOS INLINE ESPECÍFICOS ===== */

/* Hero Section */
.hero-title {
    font-size: 4em;
    font-weight: 700;
}

/* About Section */
.about-hr {
    width: 60px;
    margin-top: 1px;
    border: 1px solid #035232 !important;
}

/* Icon Colors */
.icon-red {
    color: #D8222F;
}

/* Modal Styles */
.modal-scroll {
    overflow-y: scroll;
    background-color: rgba(121, 120, 120, 0.5) !important;
}

/* Tabla Historica */
.tabla-historica-denunciante {
    overflow-x: hidden;
    overflow-y: hidden;
    overflow-x: auto;
    overflow-y: auto;
}

/* Form Styles */
.form-box-sizing {
    box-sizing: border-box;
    margin-bottom: 1.5rem !important;
}

.form-title {
    box-sizing: border-box;
    margin-top: .5rem !important;
    margin-bottom: .5rem;
    font-family: inherit;
    font-weight: 600;
    line-height: 1.5;
    color: #32325d;
    font-size: 1.25rem;
    orphans: 3;
    widows: 3;
    page-break-after: avoid;
}

.form-row {
    box-sizing: border-box;
    display: flex;
    margin-right: -15px;
    margin-left: -15px;
    flex-wrap: wrap;
}

.form-row-mt3 {
    box-sizing: border-box;
    display: flex;
    margin-right: -15px;
    margin-left: -15px;
    flex-wrap: wrap;
    margin-top: 1rem !important;
}

.form-col-6 {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
    max-width: 50%;
    flex: 0 0 50%;
}

.form-col-12 {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
    max-width: 100%;
    flex: 0 0 100%;
}

.form-label {
    box-sizing: border-box;
    display: inline-block;
    margin-bottom: .5rem;
}

.form-control-inline {
    box-sizing: border-box;
    font-family: inherit;
    font-size: .875rem;
    line-height: 1.5;
    margin: 0;
    text-transform: none;
    display: block;
    width: 100%;
    height: calc(2.75rem + 2px);
    padding: .625rem .75rem;
    transition: all .15s ease-in-out;
    color: #8898aa;
    border: 1px solid #dee2e6;
    border-radius: .25rem;
    background-color: #fff;
    background-clip: padding-box;
    box-shadow: 0 3px 2px rgba(233, 236, 239, .05);
}

.form-control-textarea {
    box-sizing: border-box;
    font-family: inherit;
    font-size: .875rem;
    line-height: 1.5;
    margin: 0;
    overflow: auto;
    resize: vertical;
    display: block;
    width: 100%;
    height: auto;
    padding: .625rem .75rem;
    transition: all .15s ease-in-out;
    color: #8898aa;
    border: 1px solid #dee2e6;
    border-radius: .25rem;
    background-color: #fff;
    background-clip: padding-box;
    box-shadow: 0 3px 2px rgba(233, 236, 239, .05);
}

.form-control-input {
    box-sizing: border-box;
    font-family: inherit;
    font-size: .875rem;
    line-height: 1.5;
    margin: 0;
    overflow: visible;
    display: block;
    width: 100%;
    height: calc(2.75rem + 2px);
    padding: .625rem .75rem;
    transition: all .15s ease-in-out;
    color: #8898aa;
    border: 1px solid #dee2e6;
    border-radius: .25rem;
    background-color: #fff;
    background-clip: padding-box;
    box-shadow: 0 3px 2px rgba(233, 236, 239, .05);
}

.form-group-col-12 {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
    max-width: 100%;
    flex: 0 0 100%;
    margin-bottom: 1.5rem;
}

/* Option Styles */
.form-option {
    box-sizing: border-box;
}

/* Terms Text */
.terms-paragraph {
    margin: 8px;
}

.terms-error {
    color: red;
    display: none;
}

/* Alert Styles */
.alert-row {
    box-sizing: border-box;
    display: flex;
    margin-right: -15px;
    margin-left: -15px;
    flex-wrap: wrap;
    justify-content: center !important;
    text-align: right !important;
}

.alert-success-inline {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
    max-width: 66.66667%;
    flex: 0 0 66.66667%;
    margin-bottom: 1rem;
    padding: 1rem 1.5rem;
    border: 1px solid transparent;
    border-radius: .375rem;
    font-size: .875rem;
    color: #fff;
    border-color: #4fd69c;
    background-color: #4fd69c;
    margin: 0 !important;
    text-align: left !important;
}

.alert-success {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
    max-width: 100%;
    flex: 0 0 100%;
    margin-bottom: 1rem;
    padding: 1rem 1.5rem;
    border: 1px solid transparent;
    border-radius: .375rem;
    font-size: .875rem;
    color: #fff;
    border-color: #4fd69c;
    background-color: #4fd69c;
    display: none;
}

.alert-danger {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
    max-width: 100%;
    flex: 0 0 100%;
    margin-bottom: 1rem;
    padding: 1rem 1.5rem;
    border: 1px solid transparent;
    border-radius: .375rem;
    font-size: .875rem;
    color: #fff;
    border-color: #f75676;
    background-color: #f75676;
    display: none;
}

.alert-pending {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
    max-width: 100%;
    flex: 0 0 100%;
    margin-bottom: 1rem;
    padding: 1rem 1.5rem;
    border: 1px solid transparent;
    border-radius: .375rem;
    font-size: .875rem;
    color: #fff;
    border-color: #3c4d69;
    background-color: #3c4d69;
    display: none;
}

.alert-error {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
    max-width: 100%;
    flex: 0 0 100%;
    margin-bottom: 1rem;
    padding: 1rem 1.5rem;
    border: 1px solid transparent;
    border-radius: .375rem;
    font-size: .875rem;
    color: #fff;
    border-color: #3c4d69;
    background-color: #3c4d69;
    display: none;
}

/* Code Styles */
.code-inline {
    box-sizing: border-box;
    font-family: inherit;
    font-size: .9375rem;
    word-break: break-word;
    color: #fff !important;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: .5rem;
}

/* Form Consulta */
.form-consulta {
    box-sizing: border-box;
}

.form-consulta-row {
    box-sizing: border-box;
    display: flex;
    margin-right: -15px;
    margin-left: -15px;
    flex-wrap: wrap;
}

.form-consulta-row-my3 {
    box-sizing: border-box;
    display: flex;
    margin-right: -15px;
    margin-left: -15px;
    flex-wrap: wrap;
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}

.form-consulta-input {
    box-sizing: border-box;
    font-family: inherit;
    font-size: .875rem;
    line-height: 1.5;
    margin: 0;
    overflow: visible;
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
    max-width: 83.33333%;
    flex: 0 0 83.33333%;
    display: block;
    height: calc(2.75rem + 2px);
    padding: .625rem .75rem;
    transition: all .15s ease-in-out;
    color: #8898aa;
    border: 1px solid #dee2e6;
    border-radius: .25rem;
    background-color: #fff;
    background-clip: padding-box;
    box-shadow: 0 3px 2px rgba(233, 236, 239, .05);
    margin-right: 1rem !important;
    margin-left: 1rem !important;
}

/* Comments Section */
.comments-row {
    box-sizing: border-box;
    display: flex;
    margin-right: -15px;
    margin-left: -15px;
    flex-wrap: wrap;
    display: none;
}

.error-motivo {
    visibility: hidden;
}

.error-size-file {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
    max-width: 100%;
    flex: 0 0 100%;
    margin-bottom: 1rem;
    padding: 1rem 1.5rem;
    border: 1px solid transparent;
    border-radius: .375rem;
    font-size: .875rem;
    color: #fff;
    border-color: #f75676;
    background-color: #f75676;
    display: none !important;
}

/* Table Section */
.table-row {
    box-sizing: border-box;
    display: flex;
    margin-right: 0px;
    margin-left: 0px;
    flex-wrap: wrap;
}

.tabla-historica-denunciante {
    overflow-x: hidden;
    overflow-y: hidden;
    overflow-x: auto;
    overflow-y: auto;
}

/* Button Styles */
.btn-guardar-cambios {
    display: none;
}

/* Captcha Errors */
.captcha-errors {
    display: none;
}

.captcha-errors1 {
    display: none;
}

/* Invalid Feedback */
.invalid-feedback {
    display: none;
}

/* ===== RESPONSIVE Y UTILIDADES ===== */
@media (max-width: 768px) {
    .hero-title {
        font-size: 2.5em;
    }

    .form-col-6 {
        max-width: 100%;
        flex: 0 0 100%;
    }

    .alert-success-inline {
        max-width: 100%;
        flex: 0 0 100%;
    }
}