/* ══════════════════════════════════════════════════════════════════════
   Blueprint 2026-09-20 — Contraste de botones en TODO el sistema.

   La estética «glass» de vendor.css dejó los botones de acción con color
   como un tinte translúcido (p. ej. .btn-info = rgba(--fxl-primary / .14),
   casi blanco) con texto oscuro: en pantalla no se ven como botones y el
   usuario no distingue ni color ni texto. Y en la barra superior, los
   botones con `tw-text-white` (Clock In, toggle móvil) quedaban blanco
   sobre el gris claro que el tema fuerza a la barra.

   Aquí se restauran SÓLIDOS, con texto blanco y contraste WCAG (>= 4.5:1;
   AA para texto en negrita pide 3:1, estos lo superan). Se inyecta en
   TODAS las páginas (InjectImmersiveLayer, ramas pesada y ligera) DESPUÉS
   de vendor.css, así que gana; con !important porque las reglas glass
   tienen la misma especificidad.

   Sólo toca las clases semánticas de acción y los botones de barra con
   texto blanco; los .btn neutros (glass) quedan igual.
   ══════════════════════════════════════════════════════════════════════ */

/* ── Botones semánticos de acción: sólidos, texto blanco ──────────────── */
.btn.btn-primary, a.btn.btn-primary,
.btn.btn-info, a.btn.btn-info,
.btn.btn-success, a.btn.btn-success,
.btn.btn-warning, a.btn.btn-warning,
.btn.btn-danger, a.btn.btn-danger {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border: 0 !important;
    font-weight: 600 !important;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .18);
}
.btn.btn-primary i, .btn.btn-info i, .btn.btn-success i, .btn.btn-warning i, .btn.btn-danger i,
a.btn.btn-primary i, a.btn.btn-info i, a.btn.btn-success i, a.btn.btn-warning i, a.btn.btn-danger i,
.btn.btn-primary .caret, .btn.btn-info .caret, .btn.btn-success .caret, .btn.btn-warning .caret, .btn.btn-danger .caret {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-top-color: #ffffff !important; /* caret del dropdown */
}
.btn.btn-primary, a.btn.btn-primary { background: #0369a1 !important; background-image: none !important; }
.btn.btn-primary:hover, a.btn.btn-primary:hover { background: #075985 !important; }
.btn.btn-info, a.btn.btn-info { background: #0e7490 !important; background-image: none !important; }
.btn.btn-info:hover, a.btn.btn-info:hover { background: #155e75 !important; }
.btn.btn-success, a.btn.btn-success { background: #047857 !important; background-image: none !important; }
.btn.btn-success:hover, a.btn.btn-success:hover { background: #065f46 !important; }
.btn.btn-warning, a.btn.btn-warning { background: #b45309 !important; background-image: none !important; }
.btn.btn-warning:hover, a.btn.btn-warning:hover { background: #92400e !important; }
.btn.btn-danger, a.btn.btn-danger { background: #b91c1c !important; background-image: none !important; }
.btn.btn-danger:hover, a.btn.btn-danger:hover { background: #991b1b !important; }

/* ── Botón neutro: legible sobre fondo claro (antes glass casi invisible) ── */
.btn.btn-default, a.btn.btn-default,
.btn.btn-secondary, a.btn.btn-secondary {
    background: #f1f5f9 !important;
    background-image: none !important;
    color: #1e293b !important;
    -webkit-text-fill-color: #1e293b !important;
    border: 1px solid #cbd5e1 !important;
    font-weight: 600 !important;
}
.btn.btn-default:hover, a.btn.btn-default:hover,
.btn.btn-secondary:hover, a.btn.btn-secondary:hover { background: #e2e8f0 !important; }
.btn.btn-default i, a.btn.btn-default i { color: inherit !important; -webkit-text-fill-color: currentColor !important; }

/* ── Barra superior: botones con texto blanco (Clock In, toggle móvil…) ── */
html body [data-fxl-topbar="1"] button.tw-text-white,
html body [data-fxl-topbar="1"] a.tw-text-white,
html[data-theme-effective="light"] body [data-fxl-topbar="1"] button.tw-text-white,
html[data-theme-effective="light"] body [data-fxl-topbar="1"] a.tw-text-white,
html[data-theme-effective="dark"] body [data-fxl-topbar="1"] button.tw-text-white,
html[data-theme-effective="dark"] body [data-fxl-topbar="1"] a.tw-text-white {
    background: #075985 !important;
    background-image: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: rgba(255, 255, 255, .18) !important;
}
html body [data-fxl-topbar="1"] button.tw-text-white:hover,
html body [data-fxl-topbar="1"] a.tw-text-white:hover,
html[data-theme-effective="light"] body [data-fxl-topbar="1"] button.tw-text-white:hover,
html[data-theme-effective="dark"] body [data-fxl-topbar="1"] button.tw-text-white:hover {
    background: #0369a1 !important;
}

/* ── Tema oscuro: rellenos sólidos + texto blanco siguen bien; el neutro se aclara ── */
:root[data-theme-effective="dark"] .btn.btn-default,
:root[data-theme-effective="dark"] a.btn.btn-default,
:root[data-theme-effective="dark"] .btn.btn-secondary,
:root[data-theme-effective="dark"] a.btn.btn-secondary {
    background: #334155 !important;
    color: #e2e8f0 !important;
    -webkit-text-fill-color: #e2e8f0 !important;
    border-color: #475569 !important;
}
