/**
 * Minimalny fallback gdy CDN Tailwind nie załaduje się (offline / awaria).
 * Pełny UI nadal zależy od cache SW + tailwindcss.com.
 */
.hidden { display: none !important; }
.flex { display: flex; }
.grid { display: grid; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.gap-2 { gap: 0.5rem; }
.w-full { width: 100%; }
.min-h-screen { min-height: 100vh; }
.fixed { position: fixed; }
.relative { position: relative; }
.bottom-0 { bottom: 0; }
.z-50 { z-index: 50; }
.p-4 { padding: 1rem; }
.p-5 { padding: 1.25rem; }
.rounded-xl { border-radius: 0.75rem; }
.rounded-2xl { border-radius: 1rem; }
.font-black { font-weight: 800; }
.font-bold { font-weight: 700; }
.text-white { color: #fff; }
.text-center { text-align: center; }
.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.shrink-0 { flex-shrink: 0; }
.flex-1 { flex: 1 1 0%; }
.cursor-pointer { cursor: pointer; }