/*
 * 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.
 */

* {}

/* Gęstość widoku komórki arkusza (compact/standard/detailed). Część komórki
   (.density-part) deklaruje w data-density-show listę gęstości, w których jest
   widoczna; przodek z [data-density] decyduje o aktualnej gęstości. Ukrywamy
   wyłącznie części niepasujące — pasujące zachowują swój oryginalny display
   (Tailwind). Przełączanie jest czysto wizualne (CSS) — bez re-fetcha. [#4509] */
[data-density="compact"] .density-part:not([data-density-show~="compact"]),
[data-density="standard"] .density-part:not([data-density-show~="standard"]),
[data-density="detailed"] .density-part:not([data-density-show~="detailed"]) { display: none; }

/* Metryka wariancji w badge'u trybu standard (kwota vs %). Renderujemy obie,
   przełączamy przodkiem [data-metric] — bez re-fetcha. [#4509] */
.metric-part { display: none; }
[data-metric="amount"] .metric-part[data-metric-show="amount"],
[data-metric="percent"] .metric-part[data-metric-show="percent"] { display: inline; }

.confetti-star {
  position: fixed;
  font-size: 1.5rem;
  pointer-events: none;
  transition: left 2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              top 2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              opacity 2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 9999;
  filter: drop-shadow(0 0 3px rgba(255, 215, 0, 0.8));
}
