/* ============================================================
   theme-clinix.css — estilo de marca Clinix (igual a la página
   pública clinix-bolivia.com): rojo #d9232d, tinta #17181c,
   grises neutros y tipografía Montserrat.
   Se carga en head.php después de Bulma y shared.css.
   Los colores de cada módulo ya fueron migrados en su propio
   .css (styles/*.css); aquí solo van Bulma, SweetAlert2 y
   detalles del chrome (logo del menú, selección, scrollbars).
============================================================ */
:root{
    --cx-red:#d9232d; --cx-red-dk:#bf1b27; --cx-red-xdk:#a3161f;
    --cx-red-lt:#fff1f2; --cx-red-mid:#f6d3d6;
    --cx-ink:#17181c; --cx-muted:#676970; --cx-line:#e9eaee; --cx-soft:#f6f7f9;
}

/* ── Tipografía ── */
body, button, input, select, textarea,
.title, .subtitle, .button, .input, .textarea, .select select, .label, .table,
.swal2-popup { font-family:Montserrat, Arial, sans-serif; }
.title { color:var(--cx-ink); letter-spacing:-.5px; }
::selection { background:#d9232d33; }

a { color:var(--cx-red); }
a:hover { color:var(--cx-red-dk); }

/* ── Bulma: botones ── */
.button.is-primary, .button.is-link, .button.is-info {
    background-color:var(--cx-red); border-color:transparent; color:#fff;
}
.button.is-primary:hover, .button.is-link:hover, .button.is-info:hover,
.button.is-primary.is-hovered, .button.is-link.is-hovered, .button.is-info.is-hovered {
    background-color:var(--cx-red-dk); color:#fff;
}
.button.is-primary:active, .button.is-link:active, .button.is-info:active { background-color:var(--cx-red-xdk); }
.button.is-primary:focus:not(:active), .button.is-link:focus:not(:active), .button.is-info:focus:not(:active) {
    box-shadow:0 0 0 .2em #d9232d40;
}
.button.is-primary.is-light, .button.is-link.is-light, .button.is-info.is-light {
    background-color:var(--cx-red-lt); color:var(--cx-red-dk);
}
.button.is-primary.is-light:hover, .button.is-link.is-light:hover, .button.is-info.is-light:hover {
    background-color:#fde6e8; color:var(--cx-red-xdk);
}
.button.is-primary.is-outlined, .button.is-link.is-outlined, .button.is-info.is-outlined {
    background:transparent; border-color:var(--cx-red); color:var(--cx-red);
}
.button.is-primary.is-outlined:hover, .button.is-link.is-outlined:hover, .button.is-info.is-outlined:hover {
    background:var(--cx-red); color:#fff;
}
.button.is-dark { background-color:var(--cx-ink); }
.button { border-radius:7px; font-weight:600; }
.button.is-rounded { border-radius:9999px; }

/* ── Bulma: textos, etiquetas, avisos ── */
.has-text-primary, .has-text-link, .has-text-info { color:var(--cx-red) !important; }
.has-background-primary, .has-background-link, .has-background-info { background-color:var(--cx-red) !important; }
.tag.is-primary, .tag.is-link, .tag.is-info { background-color:var(--cx-red); color:#fff; }
.tag.is-primary.is-light, .tag.is-link.is-light, .tag.is-info.is-light { background-color:var(--cx-red-lt); color:var(--cx-red-dk); }
.notification.is-primary, .notification.is-link { background-color:var(--cx-red); color:#fff; }
/* "info" es informativo, no error: fondo neutro con acento rojo */
.notification.is-info { background-color:var(--cx-soft); color:var(--cx-ink); border-left:4px solid var(--cx-red); }
.message.is-info, .message.is-link, .message.is-primary { background-color:var(--cx-soft); }
.message.is-info .message-header, .message.is-link .message-header, .message.is-primary .message-header { background-color:var(--cx-ink); }
.message.is-info .message-body, .message.is-link .message-body, .message.is-primary .message-body { border-color:var(--cx-red); color:var(--cx-ink); }
.progress.is-info::-webkit-progress-value, .progress.is-link::-webkit-progress-value, .progress.is-primary::-webkit-progress-value { background-color:var(--cx-red); }
.progress.is-info::-moz-progress-bar, .progress.is-link::-moz-progress-bar, .progress.is-primary::-moz-progress-bar { background-color:var(--cx-red); }

/* ── Bulma: formularios, tablas, paginación ── */
.input:focus, .textarea:focus, .select select:focus,
.input:active, .textarea:active, .select select:active {
    border-color:var(--cx-red); box-shadow:0 0 0 .125em #d9232d26;
}
.select:not(.is-multiple):not(.is-loading)::after { border-color:var(--cx-red); }
.checkbox input, .radio input, input[type=checkbox], input[type=radio] { accent-color:var(--cx-red); }
.pagination-link.is-current { background-color:var(--cx-red); border-color:var(--cx-red); color:#fff; }
.pagination-link:hover, .pagination-previous:hover, .pagination-next:hover { border-color:var(--cx-red-mid); color:var(--cx-red); }
.table tr.is-selected { background-color:var(--cx-red); }
.tabs li.is-active a { border-bottom-color:var(--cx-red); color:var(--cx-red); }
.tabs.is-toggle li.is-active a { background-color:var(--cx-red); border-color:var(--cx-red); }

/* ── SweetAlert2 ── */
.swal2-styled.swal2-confirm { background-color:var(--cx-red) !important; border-radius:7px !important; font-weight:600; }
.swal2-styled.swal2-confirm:hover { background-color:var(--cx-red-dk) !important; background-image:none !important; }
.swal2-styled.swal2-confirm:focus { box-shadow:0 0 0 3px #d9232d55 !important; }
.swal2-styled.swal2-cancel { background-color:#fff !important; color:var(--cx-ink) !important; border:1px solid #dfe0e6 !important; border-radius:7px !important; font-weight:600; }
.swal2-styled.swal2-cancel:hover { background-color:var(--cx-soft) !important; background-image:none !important; }
.swal2-styled.swal2-deny { border-radius:7px !important; }
.swal2-popup { border-radius:14px !important; }
.swal2-title { color:var(--cx-ink) !important; letter-spacing:-.5px; }
.swal2-icon.swal2-info, .swal2-icon.swal2-question { border-color:#f6d3d6 !important; color:var(--cx-red) !important; }
.swal2-timer-progress-bar { background:#d9232d66 !important; }
.swal2-input:focus, .swal2-textarea:focus, .swal2-select:focus { border-color:var(--cx-red) !important; box-shadow:0 0 0 3px #d9232d26 !important; }

/* ── Chrome: logo del menú lateral y topbar ── */
.sb-logo-icon {
    background:var(--cx-red) !important; box-shadow:0 6px 15px #d9232d33;
    font-weight:800; letter-spacing:-.5px; font-size:.95rem !important;
}
.sb-logo-name { letter-spacing:-.5px; }
.sb-profile-banner {
    background:var(--cx-ink) radial-gradient(circle at 85% -30%, #d9232d99 0%, transparent 65%) !important;
}

/* Scrollbars discretas */
* { scrollbar-color:#d6d7dc transparent; }

/* Barras de filtros "buscador + selector + botón" (Recepción de gabinete,
   Historial de estudios, Auditoría): en celular no caben en una fila — el
   buscador quedaba reducido a la lupa y el botón cortado. Se apilan. */
@media (max-width: 768px) {
    .field.has-addons:has(> .control > .select):has(> .control > .button) {
        flex-wrap: wrap;
        gap: .5rem;
    }
    .field.has-addons:has(> .control > .select):has(> .control > .button) > .control {
        flex: 1 1 100%;
    }
    .field.has-addons:has(> .control > .select):has(> .control > .button) > .control :is(.input, .select, select, .button) {
        width: 100%;
        border-radius: 6px !important;
    }
}
