/* Hoja a mano, servida directo por {% static 'css/project.css' %}.
 *
 * NO se genera desde project.scss — eso lo decía el encabezado anterior y era
 * falso: project.scss no contiene ninguno de estos selectores. El bundle que sí
 * sale de project.scss es otro archivo, static/webpack_bundles/css/project.*.css.
 *
 * Carga ANTES que trexia.css (base_enhanced.html:29 y :30), así que ante mismo
 * selector y misma especificidad gana trexia.css. Lo que se declare acá y
 * también allá es código muerto. */

/* Las tarjetas KPI vivían acá con `background: #0f2137` y `border-radius: 10px`,
 * dos valores fuera del DS. No hace falta tokenizarlos: trexia.css:342 ya
 * declara los mismos tres selectores con var(--trexia-sidebar-bg) y
 * var(--trexia-radius), y gana por orden de carga. Este bloque no pintaba nada
 * — sólo dejaba los valores viejos a la vista del próximo que leyera el archivo. */

/* Opportunity card.
 *
 * Sin font-family propia: el stack del sistema hacía que el interior de la
 * tarjeta se leyera en otra tipografía que las etiquetas KPI 60px más arriba.
 * Ahora hereda --font-body como el resto de la app.
 *
 * Sin height: 100%: junto con el flex-grow-1 del cuerpo estiraba las tarjetas
 * cortas hasta la más alta de la fila y tiraba el sobrante al medio, dejando de
 * 0 a 45px de vacío entre la última línea y el pie de badges según la tarjeta.
 * El sobrante ahora no existe; el ras de abajo lo pone align-items: start en
 * .trexia-cards.
 *
 * El hover vive sólo en trexia.css: acá había una segunda sombra
 * (0 4px 12px rgba(0,0,0,0.12)) para el mismo elemento y el mismo estado. */
/* Superficie (radius/borde/fondo/sombra) y transition se declaran en
 * trexia.css:496, que carga después y gana aunque acá lleven !important.
 * Estaban duplicadas verbatim en los dos archivos. Acá quedan sólo las
 * propiedades que trexia.css no declara. */
.opp-card {
  cursor: pointer;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.opp-card,
.opp-card:focus,
.opp-card:active {
  outline: none !important;
}
.opp-card .dropdown-toggle::after {
  display: none;
}
.opp-card button,
.opp-card .dropdown-toggle {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
/* El `outline: none !important` iba acá arriba, sin estado: apagaba también el
 * foco de teclado. Medido con Tab real, outline-style daba `none` sobre el
 * primer control de la tarjeta mientras el botón de la cabecera de página sí
 * dibujaba su anillo — el mismo teclado, dos respuestas. Y como venía con
 * !important desde una hoja que carga después, la regla de trexia.css se
 * escribía y no se aplicaba.
 * Apagarlo sólo cuando el foco NO es de teclado conserva el motivo original
 * (que un clic con el mouse no deje anillo) sin dejar ciego al que tabula. */
.opp-card button:focus:not(:focus-visible),
.opp-card .dropdown-toggle:focus:not(:focus-visible) {
  outline: none !important;
}
/* .opp-card .opp-card-footer y .opacity-20 salieron: cero usos. Sólo existe
   .opp-card-header (components/kanban-card.html), y Bootstrap trae .opacity-25,
   no -20. */

.alert-debug {
  color: black;
  background-color: white;
  border-color: #d6e9c6;
}

.alert-error {
  color: #b94a48;
  background-color: #f2dede;
  border-color: #eed3d7;
}
