/* ============================================================
    views/assets/css/custom/custom.css
    GLOBAL — Estilos universales del sistema
    Última actualización: 2026-06-02 4:55 pm (VET)
   ============================================================ */

/* ============================================================
   ENLACES
   ============================================================ */

a:link,
a:visited,
a:hover,
a:active {
    text-decoration: none !important;
}

/* ============================================================
   BORDES REDONDEADOS (COMPATIBLE CON SELECT2 Y TAGSINPUT)
   ============================================================ */

.rounded,
.select2-selection,
.bootstrap-tagsinput,
.bootstrap-tagsinput>.badge {
    border-radius: 8px !important;
}

.rounded-start {
    border-top-left-radius: 8px !important;
    border-bottom-left-radius: 8px !important;
}

.rounded-end {
    border-top-right-radius: 8px !important;
    border-bottom-right-radius: 8px !important;
}

.rounded-top {
    border-top-left-radius: 8px !important;
    border-top-right-radius: 8px !important;
}

.rounded-bottom {
    border-bottom-left-radius: 8px !important;
    border-bottom-right-radius: 8px !important;
}

/* ============================================================
   BACKGROUND IMAGE
   ============================================================ */

.backgroundImage {
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    z-index: 1;
}

/* ============================================================
   CHECKBOXES Y BOTONES
   ============================================================ */

.form-check-input {
    width: 1.2em !important;
    height: 1.2em !important;
}

.form-check-input:active,
.form-check-input:focus,
.btn {
    outline: 0 !important;
    box-shadow: none !important;
}

/* ============================================================
   LIST GROUP
   ============================================================ */

.list-group-item {
    border: 0px !important;
}

/* ============================================================
   ICONO ADMIN
   ============================================================ */

.icon-admin {
    width: 40px;
    height: 40px;
    object-fit: contain;
    vertical-align: middle;
    margin-right: 8px;
}

/* ============================================================
   CAMPOS REQUERIDOS — ALERTA VISUAL PREMIUM
   ============================================================ */

.input-requerido {
    border: 2px solid #dc3545 !important;
    background-color: #fff5f5 !important;
    transition: 0.2s ease-in-out;
}

.input-requerido::placeholder {
    color: #dc3545 !important;
    opacity: 1;
}

/* ============================================================
   FIX RESPONSIVE PREMIUM — GLOBAL
   ============================================================ */

/* Select2 ancho completo en móvil */
@media (max-width: 576px) {
    .select2-container {
        width: 100% !important;
    }
}

/* Iconos input-group más pequeños */
@media (max-width: 576px) {
    .input-group-text {
        padding: 4px 6px !important;
        font-size: 0.75rem !important;
    }
}

/* Labels más pequeños */
@media (max-width: 576px) {

    label,
    .form-label {
        font-size: 0.78rem !important;
    }
}

/* Inputs en pantallas muy pequeñas */
@media (max-width: 360px) {

    .form-control,
    .form-select {
        font-size: 0.78rem !important;
        padding: 6px 8px !important;
    }
}

/* Textarea en móvil */
@media (max-width: 576px) {
    textarea.form-control {
        min-height: 70px !important;
    }
}

/* Botones globales en móvil */
@media (max-width: 576px) {
    .btn {
        font-size: 0.85rem !important;
        padding: 0.55rem 0.75rem !important;
    }
}

/* ============================================================
   FIX 6 — UX PREMIUM GLOBAL
   ============================================================ */

/* Enfoque premium */
.form-control:focus,
.form-select:focus,
.select2-selection:focus {
    border-color: #0d6efd !important;
    box-shadow: 0 0 0 .15rem rgba(13, 110, 253, .25) !important;
    outline: none !important;
}

/* Hover suave */
.form-control:hover,
.form-select:hover {
    border-color: #bcbcbc !important;
}

/* Placeholder premium */
.form-control::placeholder,
textarea::placeholder {
    color: #6c757d !important;
    opacity: 0.85 !important;
}

/* Placeholder Select2 */
.select2-selection__placeholder {
    color: #6c757d !important;
    opacity: 0.85 !important;
}

/* Enfoque Select2 */
.select2-container--default .select2-selection--single:focus,
.select2-container--default .select2-selection--multiple:focus {
    border-color: #0d6efd !important;
    box-shadow: 0 0 0 .15rem rgba(13, 110, 253, .25) !important;
}

/* Input-group accesible */
.input-group-text {
    background-color: #f8f9fa !important;
    border-color: #ced4da !important;
    color: #495057 !important;
}

/* Labels globales */
.form-label,
label {
    font-weight: 600 !important;
    color: #444 !important;
    margin-bottom: 4px !important;
    font-size: 0.85rem !important;
}

/* Textarea premium */
textarea.form-control {
    resize: vertical !important;
    min-height: 80px !important;
}

/* Tabs globales */
.nav-link.active {
    font-weight: 600 !important;
    color: #0d6efd !important;
}

/* Botones premium */
.btn:focus,
.btn:active {
    box-shadow: none !important;
    outline: none !important;
}

/* Campos requeridos (focus) */
.input-requerido:focus {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 .15rem rgba(220, 53, 69, .25) !important;
}

/* Transiciones suaves */
.form-control,
.form-select,
.select2-selection {
    transition: all 0.2s ease-in-out !important;
}

/* Modales de búsqueda responsivos - fix para centrado en celular */
.modal .table-responsive {
    width: 100% !important;
}

/* ============================================================
   FIX SELECT2 EN MODO OSCURO (body.dark-mode & GENERAL)
   ============================================================ */

body.dark-mode .select2-container--default .select2-selection--single {
    background-color: #0f172a !important;
    color: #f8fafc !important;
    border-color: #334155 !important;
}

body.dark-mode .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #f8fafc !important;
}

body.dark-mode .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #94a3b8 !important;
}

body.dark-mode .select2-dropdown {
    background-color: #1e293b !important;
    color: #f8fafc !important;
    border-color: #334155 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5) !important;
}

body.dark-mode .select2-container--default .select2-search--dropdown .select2-search__field {
    background-color: #0f172a !important;
    color: #f8fafc !important;
    border-color: #334155 !important;
}

body.dark-mode .select2-container--default .select2-results__option {
    background-color: #1e293b !important;
    color: #f8fafc !important;
}

body.dark-mode .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #3b82f6 !important;
    color: #ffffff !important;
}

body.dark-mode .select2-container--default .select2-results__option[aria-selected="true"] {
    background-color: #334155 !important;
    color: #ffffff !important;
}

/* ============================================================
   FIX ETIQUETAS (LABELS) EN MODO OSCURO (body.dark-mode)
   ============================================================ */

body.dark-mode label,
body.dark-mode .form-label,
body.dark-mode .paciente-form label,
body.dark-mode .form-check-label,
body.dark-mode legend,
body.dark-mode .modal-body label {
    color: #ffffff !important;
}

body.dark-mode #wrap_totales_cotizacion_top {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    color: #f8fafc !important;
}

body.dark-mode #wrap_totales_cotizacion_top .text-muted,
body.dark-mode #wrap_totales_cotizacion_top .text-dark,
body.dark-mode #wrap_totales_cotizacion_top .text-secondary {
    color: #cbd5e1 !important;
}

body.dark-mode #qd_subtotal_bs,
body.dark-mode #qd_tax_bs,
body.dark-mode #qd_total_bs {
    color: #60a5fa !important;
}

/* ============================================================
   ESTANDARIZACIÓN DE BOTONES DE ACCIÓN (TABLAS Y MODALES)
   ============================================================ */
.btn-action-ver {
    background-color: #0dcaf0 !important;
    border-color: #0dcaf0 !important;
    color: #ffffff !important;
}

.btn-action-ver:hover {
    background-color: #0bacce !important;
    border-color: #0bacce !important;
    color: #ffffff !important;
}

.btn-action-editar {
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
    color: #ffffff !important;
}

.btn-action-editar:hover {
    background-color: #0b5ed7 !important;
    border-color: #0a58ca !important;
    color: #ffffff !important;
}

.btn-action-whatsapp {
    background-color: #198754 !important;
    border-color: #198754 !important;
    color: #ffffff !important;
}

.btn-action-whatsapp:hover {
    background-color: #157347 !important;
    border-color: #146c43 !important;
    color: #ffffff !important;
}

.btn-action-anular {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #ffffff !important;
}

.btn-action-anular:hover {
    background-color: #bb2d3b !important;
    border-color: #b02a37 !important;
    color: #ffffff !important;
}

.btn-action-pdf {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #ffffff !important;
}

.btn-action-pdf:hover {
    background-color: #bb2d3b !important;
    border-color: #b02a37 !important;
    color: #ffffff !important;
}