/* Utilitários em falta no /assets/css/tailwind.min.css (build reduzido do gestoi).
   Mantém o portal com o layout correto sem depender do CSS partilhado. */
.max-w-6xl{max-width:72rem}
.max-w-xl{max-width:36rem}
.max-w-lg{max-width:32rem}
.max-w-xs{max-width:20rem}
.aspect-square{aspect-ratio:1/1}
.backdrop-blur-sm{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (min-width:640px){
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:768px){ .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (min-width:1024px){
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lg\:grid-cols-\[320px_1fr\]{grid-template-columns:320px 1fr}
}
@media (min-width:1280px){ .xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))} }

/* ── Utilitários em falta no build reduzido (2.ª leva) ───────────────────── */
.font-black{font-weight:900}
.mb-6{margin-bottom:1.5rem}
.mt-5{margin-top:1.25rem}
.mt-6{margin-top:1.5rem}
.mt-0\.5{margin-top:.125rem}
.-mt-1{margin-top:-.25rem}
.mr-0\.5{margin-right:.125rem}
.mr-1\.5{margin-right:.375rem}
.-top-3{top:-.75rem}
.-right-3{right:-.75rem}
.z-20{z-index:20}
.gap-1\.5{gap:.375rem}
.px-1\.5{padding-left:.375rem;padding-right:.375rem}
.px-2\.5{padding-left:.625rem;padding-right:.625rem}
.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}
.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}
.h-1\.5{height:.375rem}
.h-11{height:2.75rem}
.h-28{height:7rem}
.h-auto{height:auto}
.w-14{width:3.5rem}
.w-32{width:8rem}
.w-auto{width:auto}
.w-px{width:1px}
.items-end{align-items:flex-end}
.leading-relaxed{line-height:1.625}
.list-disc{list-style-type:disc}
.object-contain{object-fit:contain}
.opacity-60{opacity:.6}
.cursor-zoom-in{cursor:zoom-in}
.drop-shadow{filter:drop-shadow(0 1px 2px rgb(0 0 0/.1)) drop-shadow(0 1px 1px rgb(0 0 0/.06))}
.border-b-2{border-bottom-width:2px}
.border-dashed{border-style:dashed}
.border-transparent{border-color:transparent}
.border-slate-400{border-color:#94a3b8}
.border-rose-200{border-color:#fecdd3}
.max-h-\[92vh\]{max-height:92vh}
.max-w-\[92vw\]{max-width:92vw}
.text-\[9px\]{font-size:9px}
.text-\[10px\]{font-size:10px}
.text-\[11px\]{font-size:11px}
.text-\[12px\]{font-size:12px}
.text-rose-600{color:#e11d48}
.text-rose-700{color:#be123c}
.text-emerald-700{color:#047857}
.bg-rose-50{background-color:#fff1f2}
.bg-rose-100{background-color:#ffe4e6}
.bg-rose-50\/40{background-color:rgb(255 241 242/.4)}
.bg-slate-200{background-color:#e2e8f0}
.bg-slate-50\/50{background-color:rgb(248 250 252/.5)}
.bg-slate-50\/60{background-color:rgb(248 250 252/.6)}
.bg-slate-900\/80{background-color:rgb(15 23 42/.8)}
.bg-white\/70{background-color:rgb(255 255 255/.7)}
.sm\:col-span-2{grid-column:span 2/span 2}
.sm\:col-span-3{grid-column:span 3/span 3}
@media (min-width:640px){ .sm\:block{display:block} }
.hover\:bg-slate-50:hover{background-color:#f8fafc}
.hover\:bg-slate-800:hover{background-color:#1e293b}
.hover\:bg-white:hover{background-color:#fff}
.hover\:bg-rose-50:hover{background-color:#fff1f2}
.hover\:bg-emerald-700:hover{background-color:#047857}
.hover\:border-slate-400:hover{border-color:#94a3b8}
.hover\:border-slate-500:hover{border-color:#64748b}
.hover\:border-slate-900:hover{border-color:#0f172a}
.hover\:border-rose-400:hover{border-color:#fb7185}
.hover\:text-slate-700:hover{color:#334155}
.hover\:text-slate-900:hover{color:#0f172a}
.hover\:text-rose-600:hover{color:#e11d48}
.focus\:ring-2:focus{box-shadow:0 0 0 2px var(--pt-ring,#cbd5e1)}
.focus\:ring-slate-300:focus{--pt-ring:#cbd5e1}
.disabled\:opacity-40:disabled{opacity:.4}
.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}
