/* ============================================================================
   VORTEK THEME — capa de color y tipografía de todo el sistema
   ----------------------------------------------------------------------------
   GENERADO: no editar a mano los valores de color; salen de la paleta
   Tailwind v4 (oklch) convertida a hex/RGB, porque Bootstrap compone
   rgba(var(--bs-*-rgb), opacidad) y eso no funciona con oklch.

   Se carga la ÚLTIMA (HeadCSS.cshtml) y pisa la plantilla sin tocarla: la
   plantilla repite cada color como hex fijo cientos de veces (style.css y
   style-preset.css), así que aquí se redefine cada variante una sola vez.

   Roles:
     primary    azul de marca (#04a9f5 ≈ sky-500), sin cambios en el sólido
     secondary  gris pizarra (gray)
     success    verde #19ab7e — antes menta #1de9b6, ilegible como texto
     warning    naranja #ff8a38 — antes amarillo #f4c22b
     danger     rojo
     info       morado (#7239ea, como Metronic) — antes celeste y se
                confundía con primary

   Cada rol tiene su versión sólida (botones, bg-*, border-*), su texto sobre
   fondo claro (text-*, más oscuro que el sólido para que se lea) y su pareja
   suave (bg-light-*, badges, btn-light-*, alertas): fondo claro + texto
   oscuro del mismo tono. En oscuro la pareja se invierte.
   ============================================================================ */

/* ── Tipografía ────────────────────────────────────────────────────────── */
:root {
    --bs-font-sans-serif: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
    --bs-font-monospace: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
    --bs-body-font-family: var(--bs-font-sans-serif);
    /* 15px en todo el sistema (la plantilla trae 0.875rem = 14px) */
    --bs-body-font-size: 15px;
}

:root {
    --bs-success: #19ab7e;
    --bs-success-rgb: 25, 171, 126;
    --bs-success-text-emphasis: #006045;
    --bs-success-bg-subtle: #d0fae5;
    --bs-success-border-subtle: #a4f4cf;
    --bs-warning: #ff8a38;
    --bs-warning-rgb: 255, 138, 56;
    --bs-warning-text-emphasis: #c3621d;
    --bs-warning-bg-subtle: #ffedd4;
    --bs-warning-border-subtle: #ffb86a;
    --bs-danger: #e7000b;
    --bs-danger-rgb: 231, 0, 11;
    --bs-danger-text-emphasis: #c10007;
    --bs-danger-bg-subtle: #ffe2e2;
    --bs-danger-border-subtle: #ffc9c9;
    --bs-info: #7239ea;
    --bs-info-rgb: 114, 57, 234;
    --bs-info-text-emphasis: #7008e7;
    --bs-info-bg-subtle: #ede9fe;
    --bs-info-border-subtle: #c4b4ff;
    --bs-secondary: #4a5565;
    --bs-secondary-rgb: 74, 85, 101;
    --bs-secondary-text-emphasis: #4a5565;
    --bs-secondary-bg-subtle: #f3f4f6;
    --bs-secondary-border-subtle: #e5e7eb;
}

[data-pc-theme=dark] {
    --bs-success-text-emphasis: #5ee9b5;
    --bs-success-bg-subtle: rgba(0, 96, 69, .3);
    --bs-success-border-subtle: rgba(0, 96, 69, .6);
    --bs-warning-text-emphasis: #ffb86a;
    --bs-warning-bg-subtle: rgba(159, 45, 0, .3);
    --bs-warning-border-subtle: rgba(159, 45, 0, .6);
    --bs-danger-text-emphasis: #ffa2a2;
    --bs-danger-bg-subtle: rgba(193, 0, 7, .3);
    --bs-danger-border-subtle: rgba(193, 0, 7, .6);
    --bs-info-text-emphasis: #c4b4ff;
    --bs-info-bg-subtle: rgba(112, 8, 231, .3);
    --bs-info-border-subtle: rgba(112, 8, 231, .6);
    --bs-secondary-text-emphasis: #d1d5dc;
    --bs-secondary-bg-subtle: rgba(74, 85, 101, .4);
    --bs-secondary-border-subtle: rgba(74, 85, 101, .6);
}

/* ── success ─────────────────────────────────────────────────────────────── */
[data-pc-direction] .text-success {
    --bs-text-opacity: 1;
    color: rgba(0, 122, 85, var(--bs-text-opacity)) !important;
}
[data-pc-theme=dark] .text-success {
    color: rgba(0, 212, 146, var(--bs-text-opacity)) !important;
}
.link-success {
    color: #007a55 !important;
    text-decoration-color: #007a55 !important;
}
.link-success:hover, .link-success:focus {
    color: #15916b !important;
}

.btn-success {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #19ab7e;
    --bs-btn-border-color: #19ab7e;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #15916b;
    --bs-btn-hover-border-color: #15916b;
    --bs-btn-focus-shadow-rgb: 25, 171, 126;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #127a5a;
    --bs-btn-active-border-color: #127a5a;
    --bs-btn-disabled-color: #ffffff;
    --bs-btn-disabled-bg: #19ab7e;
    --bs-btn-disabled-border-color: #19ab7e;
}
.btn-outline-success {
    --bs-btn-color: #007a55;
    --bs-btn-border-color: #19ab7e;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #19ab7e;
    --bs-btn-hover-border-color: #19ab7e;
    --bs-btn-focus-shadow-rgb: 25, 171, 126;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #15916b;
    --bs-btn-active-border-color: #15916b;
    --bs-btn-disabled-color: #19ab7e;
    --bs-btn-disabled-border-color: #19ab7e;
}
[data-pc-theme=dark] .btn-outline-success {
    --bs-btn-color: #00d492;
}

.bg-light-success,
.badge.bg-light-success {
    background: #d0fae5;
    color: #006045;
}
.btn-light-success {
    background: #d0fae5;
    color: #006045;
    border-color: #d0fae5;
}
.btn-light-success:hover,
.btn-light-success.focus,
.btn-light-success:focus,
.btn-light-success:not(:disabled):not(.disabled).active,
.btn-light-success:not(:disabled):not(.disabled):active,
.show > .btn-light-success.dropdown-toggle,
.btn-check:active + .btn-light-success,
.btn-check:checked + .btn-light-success {
    background: #19ab7e;
    color: #ffffff;
    border-color: #19ab7e;
}
[data-pc-theme=dark] .bg-light-success,
[data-pc-theme=dark] .badge.bg-light-success,
[data-pc-theme=dark] .btn-light-success:not(:hover):not(:focus):not(.active):not(:active) {
    background: rgba(0, 96, 69, .3);
    color: #5ee9b5;
    border-color: transparent;
}

/* ── warning ─────────────────────────────────────────────────────────────── */
[data-pc-direction] .text-warning {
    --bs-text-opacity: 1;
    color: rgba(195, 98, 29, var(--bs-text-opacity)) !important;
}
[data-pc-theme=dark] .text-warning {
    color: rgba(255, 184, 106, var(--bs-text-opacity)) !important;
}
.link-warning {
    color: #c3621d !important;
    text-decoration-color: #c3621d !important;
}
.link-warning:hover, .link-warning:focus {
    color: #f27a24 !important;
}

.btn-warning {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #ff8a38;
    --bs-btn-border-color: #ff8a38;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #f27a24;
    --bs-btn-hover-border-color: #f27a24;
    --bs-btn-focus-shadow-rgb: 255, 138, 56;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #dc6a16;
    --bs-btn-active-border-color: #dc6a16;
    --bs-btn-disabled-color: #ffffff;
    --bs-btn-disabled-bg: #ff8a38;
    --bs-btn-disabled-border-color: #ff8a38;
}
.btn-outline-warning {
    --bs-btn-color: #c3621d;
    --bs-btn-border-color: #ff8a38;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #ff8a38;
    --bs-btn-hover-border-color: #ff8a38;
    --bs-btn-focus-shadow-rgb: 255, 138, 56;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #f27a24;
    --bs-btn-active-border-color: #f27a24;
    --bs-btn-disabled-color: #ff8a38;
    --bs-btn-disabled-border-color: #ff8a38;
}
[data-pc-theme=dark] .btn-outline-warning {
    --bs-btn-color: #ffb86a;
}

.bg-light-warning,
.badge.bg-light-warning {
    background: #ffedd4;
    color: #c3621d;
}
.btn-light-warning {
    background: #ffedd4;
    color: #c3621d;
    border-color: #ffedd4;
}
.btn-light-warning:hover,
.btn-light-warning.focus,
.btn-light-warning:focus,
.btn-light-warning:not(:disabled):not(.disabled).active,
.btn-light-warning:not(:disabled):not(.disabled):active,
.show > .btn-light-warning.dropdown-toggle,
.btn-check:active + .btn-light-warning,
.btn-check:checked + .btn-light-warning {
    background: #ff8a38;
    color: #ffffff;
    border-color: #ff8a38;
}
[data-pc-theme=dark] .bg-light-warning,
[data-pc-theme=dark] .badge.bg-light-warning,
[data-pc-theme=dark] .btn-light-warning:not(:hover):not(:focus):not(.active):not(:active) {
    background: rgba(159, 45, 0, .3);
    color: #ffb86a;
    border-color: transparent;
}

/* ── danger ──────────────────────────────────────────────────────────────── */
[data-pc-direction] .text-danger {
    --bs-text-opacity: 1;
    color: rgba(231, 0, 11, var(--bs-text-opacity)) !important;
}
[data-pc-theme=dark] .text-danger {
    color: rgba(255, 100, 103, var(--bs-text-opacity)) !important;
}
.link-danger {
    color: #e7000b !important;
    text-decoration-color: #e7000b !important;
}
.link-danger:hover, .link-danger:focus {
    color: #c10007 !important;
}

.btn-danger {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #e7000b;
    --bs-btn-border-color: #e7000b;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #c10007;
    --bs-btn-hover-border-color: #c10007;
    --bs-btn-focus-shadow-rgb: 231, 0, 11;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #9f0712;
    --bs-btn-active-border-color: #9f0712;
    --bs-btn-disabled-color: #ffffff;
    --bs-btn-disabled-bg: #e7000b;
    --bs-btn-disabled-border-color: #e7000b;
}
.btn-outline-danger {
    --bs-btn-color: #e7000b;
    --bs-btn-border-color: #e7000b;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #e7000b;
    --bs-btn-hover-border-color: #e7000b;
    --bs-btn-focus-shadow-rgb: 231, 0, 11;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #c10007;
    --bs-btn-active-border-color: #c10007;
    --bs-btn-disabled-color: #e7000b;
    --bs-btn-disabled-border-color: #e7000b;
}
[data-pc-theme=dark] .btn-outline-danger {
    --bs-btn-color: #ff6467;
}

.bg-light-danger,
.badge.bg-light-danger {
    background: #ffe2e2;
    color: #c10007;
}
.btn-light-danger {
    background: #ffe2e2;
    color: #c10007;
    border-color: #ffe2e2;
}
.btn-light-danger:hover,
.btn-light-danger.focus,
.btn-light-danger:focus,
.btn-light-danger:not(:disabled):not(.disabled).active,
.btn-light-danger:not(:disabled):not(.disabled):active,
.show > .btn-light-danger.dropdown-toggle,
.btn-check:active + .btn-light-danger,
.btn-check:checked + .btn-light-danger {
    background: #e7000b;
    color: #ffffff;
    border-color: #e7000b;
}
[data-pc-theme=dark] .bg-light-danger,
[data-pc-theme=dark] .badge.bg-light-danger,
[data-pc-theme=dark] .btn-light-danger:not(:hover):not(:focus):not(.active):not(:active) {
    background: rgba(193, 0, 7, .3);
    color: #ffa2a2;
    border-color: transparent;
}

/* ── info ────────────────────────────────────────────────────────────────── */
[data-pc-direction] .text-info {
    --bs-text-opacity: 1;
    color: rgba(112, 8, 231, var(--bs-text-opacity)) !important;
}
[data-pc-theme=dark] .text-info {
    color: rgba(196, 180, 255, var(--bs-text-opacity)) !important;
}
.link-info {
    color: #7008e7 !important;
    text-decoration-color: #7008e7 !important;
}
.link-info:hover, .link-info:focus {
    color: #7008e7 !important;
}

.btn-info {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #7239ea;
    --bs-btn-border-color: #7239ea;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #7008e7;
    --bs-btn-hover-border-color: #7008e7;
    --bs-btn-focus-shadow-rgb: 114, 57, 234;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #5d0ec0;
    --bs-btn-active-border-color: #5d0ec0;
    --bs-btn-disabled-color: #ffffff;
    --bs-btn-disabled-bg: #7239ea;
    --bs-btn-disabled-border-color: #7239ea;
}
.btn-outline-info {
    --bs-btn-color: #7008e7;
    --bs-btn-border-color: #7239ea;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #7239ea;
    --bs-btn-hover-border-color: #7239ea;
    --bs-btn-focus-shadow-rgb: 114, 57, 234;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #7008e7;
    --bs-btn-active-border-color: #7008e7;
    --bs-btn-disabled-color: #7239ea;
    --bs-btn-disabled-border-color: #7239ea;
}
[data-pc-theme=dark] .btn-outline-info {
    --bs-btn-color: #c4b4ff;
}

.bg-light-info,
.badge.bg-light-info {
    background: #ede9fe;
    color: #7008e7;
}
.btn-light-info {
    background: #ede9fe;
    color: #7008e7;
    border-color: #ede9fe;
}
.btn-light-info:hover,
.btn-light-info.focus,
.btn-light-info:focus,
.btn-light-info:not(:disabled):not(.disabled).active,
.btn-light-info:not(:disabled):not(.disabled):active,
.show > .btn-light-info.dropdown-toggle,
.btn-check:active + .btn-light-info,
.btn-check:checked + .btn-light-info {
    background: #7239ea;
    color: #ffffff;
    border-color: #7239ea;
}
[data-pc-theme=dark] .bg-light-info,
[data-pc-theme=dark] .badge.bg-light-info,
[data-pc-theme=dark] .btn-light-info:not(:hover):not(:focus):not(.active):not(:active) {
    background: rgba(112, 8, 231, .3);
    color: #c4b4ff;
    border-color: transparent;
}

/* ── secondary ───────────────────────────────────────────────────────────── */
[data-pc-direction] .text-secondary {
    --bs-text-opacity: 1;
    color: rgba(106, 114, 130, var(--bs-text-opacity)) !important;
}
[data-pc-theme=dark] .text-secondary {
    color: rgba(153, 161, 175, var(--bs-text-opacity)) !important;
}
.link-secondary {
    color: #6a7282 !important;
    text-decoration-color: #6a7282 !important;
}
.link-secondary:hover, .link-secondary:focus {
    color: #364153 !important;
}

.btn-secondary {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #4a5565;
    --bs-btn-border-color: #4a5565;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #364153;
    --bs-btn-hover-border-color: #364153;
    --bs-btn-focus-shadow-rgb: 74, 85, 101;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #1e2939;
    --bs-btn-active-border-color: #1e2939;
    --bs-btn-disabled-color: #ffffff;
    --bs-btn-disabled-bg: #4a5565;
    --bs-btn-disabled-border-color: #4a5565;
}
.btn-outline-secondary {
    --bs-btn-color: #6a7282;
    --bs-btn-border-color: #4a5565;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #4a5565;
    --bs-btn-hover-border-color: #4a5565;
    --bs-btn-focus-shadow-rgb: 74, 85, 101;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #364153;
    --bs-btn-active-border-color: #364153;
    --bs-btn-disabled-color: #4a5565;
    --bs-btn-disabled-border-color: #4a5565;
}
[data-pc-theme=dark] .btn-outline-secondary {
    --bs-btn-color: #99a1af;
}

.bg-light-secondary,
.badge.bg-light-secondary {
    background: #f3f4f6;
    color: #4a5565;
}
.btn-light-secondary {
    background: #f3f4f6;
    color: #4a5565;
    border-color: #f3f4f6;
}
.btn-light-secondary:hover,
.btn-light-secondary.focus,
.btn-light-secondary:focus,
.btn-light-secondary:not(:disabled):not(.disabled).active,
.btn-light-secondary:not(:disabled):not(.disabled):active,
.show > .btn-light-secondary.dropdown-toggle,
.btn-check:active + .btn-light-secondary,
.btn-check:checked + .btn-light-secondary {
    background: #4a5565;
    color: #ffffff;
    border-color: #4a5565;
}
[data-pc-theme=dark] .bg-light-secondary,
[data-pc-theme=dark] .badge.bg-light-secondary,
[data-pc-theme=dark] .btn-light-secondary:not(:hover):not(:focus):not(.active):not(:active) {
    background: rgba(74, 85, 101, .4);
    color: #d1d5dc;
    border-color: transparent;
}

/* ── primary (solo pareja suave, preset-11: color de Vortek) ────────────── */
[data-pc-preset=preset-11] .bg-light-primary,
[data-pc-preset=preset-11] .badge.bg-light-primary,
[data-pc-preset=preset-11] .btn-light-primary:not(:hover):not(:focus):not(.active):not(:active) {
    background: #e3f5f6;
    color: #0b6f77;
    border-color: #e3f5f6;
}
[data-pc-theme=dark][data-pc-preset=preset-11] .bg-light-primary,
[data-pc-theme=dark][data-pc-preset=preset-11] .badge.bg-light-primary,
[data-pc-theme=dark][data-pc-preset=preset-11] .btn-light-primary:not(:hover):not(:focus):not(.active):not(:active) {
    background: rgba(23, 164, 174, .3);
    color: #a8e6ea;
    border-color: transparent;
}

/* ── primary (solo pareja suave, preset-1) ─────────────────────────────── */
[data-pc-preset=preset-1] .bg-light-primary,
[data-pc-preset=preset-1] .badge.bg-light-primary,
[data-pc-preset=preset-1] .btn-light-primary:not(:hover):not(:focus):not(.active):not(:active) {
    background: #dff2fe;
    color: #0069a8;
    border-color: #dff2fe;
}
[data-pc-theme=dark][data-pc-preset=preset-1] .bg-light-primary,
[data-pc-theme=dark][data-pc-preset=preset-1] .badge.bg-light-primary,
[data-pc-theme=dark][data-pc-preset=preset-1] .btn-light-primary:not(:hover):not(:focus):not(.active):not(:active) {
    background: rgba(0, 105, 168, .3);
    color: #74d4ff;
    border-color: transparent;
}
