/* Utility layer for shared layout classes */
*{box-sizing:border-box}
a{color:inherit}
img{max-width:100%;height:auto}
.min-h-screen{min-height:100vh}
.w-full{width:100%}
.w-20{width:5rem}
.w-64{width:16rem}
.max-w-xl{max-width:36rem}
.min-w-\[900px\]{min-width:900px}
.block{display:block}
.inline-block{display:inline-block}
.inline-flex{display:inline-flex}
.flex{display:flex}
.grid{display:grid}
.hidden{display:none}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.justify-end{justify-content:flex-end}
.gap-2{gap:.5rem}
.gap-3{gap:.75rem}
.gap-4{gap:1rem}
.space-y-1 > * + *{margin-top:.25rem}
.space-y-2 > * + *{margin-top:.5rem}
.space-y-3 > * + *{margin-top:.75rem}
.space-y-4 > * + *{margin-top:1rem}
.overflow-hidden{overflow:hidden}
.overflow-auto{overflow:auto}
.overflow-x-auto{overflow-x:auto}
.text-right{text-align:right}
.text-center{text-align:center}
.align-top{vertical-align:top}
.whitespace-pre-wrap{white-space:pre-wrap}
.whitespace-nowrap{white-space:nowrap}
.break-all{word-break:break-all}
.rounded{border-radius:.25rem}
.rounded-lg{border-radius:.5rem}
.rounded-xl{border-radius:.75rem}
.rounded-2xl{border-radius:1rem}
.border{border:1px solid rgba(15,23,42,.14)}
.border-t{border-top:1px solid rgba(15,23,42,.14)}
.border-red-200{border-color:#fecaca}
.border-slate-200{border-color:#e2e8f0}
.p-2{padding:.5rem}
.p-3{padding:.75rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.px-2{padding-left:.5rem;padding-right:.5rem}
.px-3{padding-left:.75rem;padding-right:.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.py-1{padding-top:.25rem;padding-bottom:.25rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.pr-5{padding-right:1.25rem}
.mb-1{margin-bottom:.25rem}
.mb-2{margin-bottom:.5rem}
.mb-3{margin-bottom:.75rem}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mt-1{margin-top:.25rem}
.mt-2{margin-top:.5rem}
.mt-3{margin-top:.75rem}
.mt-4{margin-top:1rem}
.mt-5{margin-top:1.25rem}
.mt-6{margin-top:1.5rem}
.my-4{margin-top:1rem;margin-bottom:1rem}
.ml-2{margin-left:.5rem}
.text-xs{font-size:.75rem;line-height:1rem}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-\[11px\]{font-size:11px}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.font-extrabold{font-weight:800}
.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
.leading-6{line-height:1.5rem}
.text-white{color:#fff}
.text-gray-400{color:#9ca3af}
.text-gray-500{color:#6b7280}
.text-gray-600{color:#4b5563}
.text-gray-700{color:#374151}
.text-gray-800{color:#1f2937}
.text-gray-900{color:#111827}
.text-slate-400{color:#94a3b8}
.text-slate-500{color:#64748b}
.text-slate-600{color:#475569}
.text-slate-700{color:#334155}
.text-blue-600{color:#2563eb}
.text-blue-800{color:#1e40af}
.text-green-700{color:#15803d}
.text-emerald-700{color:#047857}
.text-red-600{color:#dc2626}
.text-red-700{color:#b91c1c}
.text-amber-800{color:#92400e}
.bg-white{background:#fff}
.bg-black{background:#000}
.bg-gray-50{background:#f9fafb}
.bg-gray-100{background:#f3f4f6}
.bg-gray-900{background:#111827}
.bg-slate-100{background:#f1f5f9}
.bg-slate-900{background:#0f172a}
.bg-blue-50{background:#eff6ff}
.bg-green-50{background:#f0fdf4}
.bg-green-700{background:#15803d}
.bg-red-50{background:#fef2f2}
.bg-amber-50{background:#fffbeb}
.bg-emerald-50{background:#ecfdf5}
.shadow{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.08)}
.hover\:underline:hover{text-decoration:underline}
.hover\:shadow-md:hover{box-shadow:0 4px 12px rgba(0,0,0,.12)}
.hover\:bg-slate-50:hover{background:#f8fafc}
.transition{transition:all .15s ease}
.list-disc{list-style:disc}
.line-through{text-decoration:line-through}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.sm\:grid-cols-2{grid-template-columns:repeat(1,minmax(0,1fr))}
.md\:grid-cols-2{grid-template-columns:repeat(1,minmax(0,1fr))}
.md\:grid-cols-3{grid-template-columns:repeat(1,minmax(0,1fr))}
.md\:grid-cols-4{grid-template-columns:repeat(1,minmax(0,1fr))}
.md\:grid-cols-5{grid-template-columns:repeat(1,minmax(0,1fr))}
.lg\:grid-cols-3{grid-template-columns:repeat(1,minmax(0,1fr))}
.md\:col-span-1,.md\:col-span-2,.md\:col-span-5{grid-column:span 1 / span 1}
@media (min-width:640px){
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:768px){
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
  .md\:flex-row{flex-direction:row}
  .md\:items-center{align-items:center}
  .md\:justify-between{justify-content:space-between}
  .md\:col-span-1{grid-column:span 1 / span 1}
  .md\:col-span-2{grid-column:span 2 / span 2}
  .md\:col-span-5{grid-column:span 5 / span 5}
}
@media (min-width:1024px){
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
}


.xl\:grid-cols-2{grid-template-columns:repeat(1,minmax(0,1fr))}
.lg\:col-span-1,.lg\:col-span-2{grid-column:span 1 / span 1}
@media (min-width:1024px){
  .lg\:col-span-1{grid-column:span 1 / span 1}
  .lg\:col-span-2{grid-column:span 2 / span 2}
}
@media (min-width:1280px){
  .xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
}
