/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* Phase 42.A — masque les spinners natifs sur les inputs qty de la preview LBV
   (Firefox + WebKit). Les boutons +/− Stimulus assurent l'incrément/décrément. */
.push-preview-qty::-webkit-outer-spin-button,
.push-preview-qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.push-preview-qty { -moz-appearance: textfield; appearance: textfield; }

/* Phase 42.B — modale de remplacement de produit LBV. */
dialog.product-swap-modal {
  border: 1px solid #e7dccb;
  border-radius: 12px;
  padding: 0;
  background: #fffdf8;
  width: min(92vw, 640px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.25);
}
dialog.product-swap-modal::backdrop {
  background: rgba(20, 14, 6, 0.45);
}

/* Phase 42.F — Kanban menu drag states. */
.kanban-card { transition: box-shadow 0.15s, transform 0.15s; }
.kanban-chosen { box-shadow: 0 6px 18px rgba(0,0,0,0.15); }
.kanban-ghost { opacity: 0.4; background: #fef3c7; }
@keyframes kanban-saved-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(75, 145, 75, 0.5); }
  100% { box-shadow: 0 0 0 12px rgba(75, 145, 75, 0); }
}
.kanban-saved-pulse { animation: kanban-saved-pulse 0.8s ease-out; }

/* Phase 42.G — modale résultat post-push LBV. */
dialog.push-result-modal {
  border: 1px solid #e7dccb;
  border-radius: 12px;
  padding: 0;
  background: #fffdf8;
  width: min(92vw, 560px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.25);
}
dialog.push-result-modal::backdrop {
  background: rgba(20, 14, 6, 0.45);
}

/* Phase 42.D — badges placard sur les ingrédients recette. */
.pantry-badge {
  display: inline-block;
  font-size: 11px;
  padding: 1px 6px;
  border-radius: 9999px;
  margin-left: 6px;
  white-space: nowrap;
  vertical-align: middle;
}
.pantry-badge-full    { background: #e7f0e3; color: #3f6b3f; }
.pantry-badge-partial { background: #fbecd1; color: #8a5a1f; }
.pantry-badge-missing { background: #efe7da; color: #8a8170; }
