/* Layout */
.tw-flex { display: flex; }
.tw-flex-row { flex-direction: row; }
.tw-flex-col { flex-direction: column; }
.tw-inline { display: inline; }
.tw-inline-block { display: inline-block; }
.tw-items-center { align-items: center; }
.tw-gap-x-2 { column-gap: 0.5rem; }
.tw-gap-y-1 { row-gap: 0.25rem; }

/* Sizing */
.tw-w-full { width: 100%; }
.tw-w-10 { width: 2.5rem; }
.tw-h-10 { height: 2.5rem; }
.tw-size-28 { width: 7rem; height: 7rem; }

/* Spacing */
.tw-mb-5 { margin-bottom: 1.25rem; }
.tw-pl-5 { padding-left: 1.25rem; }
.tw-pl-6 { padding-left: 1.5rem; }
.tw-pr-5 { padding-right: 1.25rem; }
.tw-px-8 { padding-left: 2rem; padding-right: 2rem; }
.tw-py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.tw-pb-2 { padding-bottom: 0.5rem; }
.tw-pb-4 { padding-bottom: 1rem; }
.tw-pt-2 { padding-top: 0.5rem; }
.tw-pt-6 { padding-top: 1.5rem; }

/* Spacing — !important overrides */
.\!tw-pr-0 { padding-right: 0 !important; }
.\!tw-pt-0 { padding-top: 0 !important; }
.\!tw-pb-0 { padding-bottom: 0 !important; }
.\!tw-h-auto { height: auto !important; }

/* Borders */
.tw-rounded { border-radius: 0.25rem; }
.tw-rounded-lg { border-radius: 0.5rem; }
.tw-border-solid { border-style: solid; }
.tw-border-gray-300 { border-color: rgb(209 213 219); }
.tw-border-r-2 { border-right-width: 2px; }
.\!tw-border { border-width: 1px !important; }
.\!tw-border-none { border: none !important; }

/* Typography */
.tw-text-center { text-align: center; }
.tw-text-base { font-size: 1rem; line-height: 1.5rem; }
.tw-text-lg { font-size: 1.125rem; line-height: 1.75rem; }
.tw-text-black { color: #000000; }
.tw-text-gray-300 { color: rgb(209 213 219); }
.tw-font-bold { font-weight: 700; }
.tw-uppercase { text-transform: uppercase; }
.tw-leading-tight { line-height: 1.25; }
.tw-outline-none { outline: none; }
.\!tw-text-sm { font-size: 0.875rem !important; line-height: 1.25rem !important; }

/* Arbitrary font size */
.tw-text-\[0\.7em\] { font-size: 0.7em; }

/* Colors — custom brand (cw-yellow: dostosuj jeśli wartość jest inna) */
.tw-bg-cw-yellow { background-color: #ffd100; }
.tw-fill-cw-yellow { fill: #ffd100; }

/* Hover */
.hover\:tw-bg-\[\#ffdf53\]:hover { background-color: #ffdf53; }

/* Focus */
.focus\:\!tw-shadow-none:focus { box-shadow: none !important; }

/* Animation */
@keyframes tw-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.tw-animate-spin { animation: tw-spin 1s linear infinite; }

.pristine-error {
  font-size: 0.9em;
  color: red;
}

.form-group-1 .pristine-error {
  margin-top: -15px;
  margin-bottom: 10px;
}

.has-danger label {
  color: red;
}

.cw-tooltip {
  position: relative;
  display: inline-block;
  text-decoration: underline;
  font-weight: 600;
}

.cw-tooltip .tooltiptext {
  font-weight: normal;
  visibility: hidden;
  width: 160px;
  background-color: #000000;
  color: #fff;
  text-align: center;
  border-radius: 8px;
  padding: 8px 5px;
  position: absolute;
  z-index: 1;
  bottom: 125%;
  left: 50%;
  margin-left: -80px;
  opacity: 0;
  transition: opacity 0.3s;
}

.cw-tooltip .tooltiptext::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #000000 transparent transparent transparent;
}

.cw-tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}