:root{
  /* compat layer: usa os tokens do app.css quando disponível */
}

/* Minimal Tailwind-like utility compatibility */
.max-w-7xl{max-width:80rem;margin-left:auto;margin-right:auto}
.max-w-md{max-width:28rem;margin-left:auto;margin-right:auto}
.mx-auto{margin-left:auto;margin-right:auto}
.min-h-full{min-height:100%}
.min-h-screen{min-height:100vh}
.w-full{width:100%}
.hidden{display:none !important}
.block{display:block}
.relative{position:relative}
.absolute{position:absolute}
.top-1\/2{top:50%}
.left-1\/2{left:50%}
.transform{transform:translateZ(0)}
.-translate-x-1\/2{transform:translate(-50%,-50%)}
.-translate-y-1\/2{transform:translate(-50%,-50%)}
.inline-flex{display:inline-flex}
.flex{display:flex}
.flex-1{flex:1 1 0%}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.items-center{align-items:center}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.space-x-2>*+*{margin-left:.5rem}
.space-x-3>*+*{margin-left:.75rem}
.space-x-4>*+*{margin-left:1rem}
.space-y-2>*+*{margin-top:.5rem}
.space-y-3>*+*{margin-top:.75rem}
.space-y-4>*+*{margin-top:1rem}
.gap-2{gap:.5rem}
.gap-4{gap:1rem}
.gap-6{gap:1.5rem}
.grid{display:grid}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lg\:col-span-2{grid-column:span 2 / span 2}
.lg\:col-span-1{grid-column:span 1 / span 1}
.p-2{padding:.5rem}
.p-3{padding:.75rem}
.p-4{padding:1rem}
.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}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.pt-6{padding-top:1.5rem}
.mb-2{margin-bottom:.5rem}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}
.mt-1{margin-top:.25rem}
.mt-2{margin-top:.5rem}
.mt-3{margin-top:.75rem}
.mt-4{margin-top:1rem}
.mt-8{margin-top:2rem}
.rounded-lg{border-radius:var(--radius,14px)}
.rounded-full{border-radius:999px}
.border{border:1px solid var(--border,rgba(255,255,255,.12))}
.border-b{border-bottom:1px solid var(--border,rgba(255,255,255,.12))}
.border-t{border-top:1px solid var(--border,rgba(255,255,255,.12))}
.shadow-sm{box-shadow:var(--shadow-sm,0 1px 2px rgba(0,0,0,.2))}
.overflow-y-auto{overflow-y:auto}
.overflow-x-auto{overflow-x:auto}
.max-h-64{max-height:16rem}
.max-h-40{max-height:10rem}
.max-h-32{max-height:8rem}
.max-h-36{max-height:9rem}
.h-16{height:4rem}
.h-2{height:.5rem}
.h-1\.5{height:.375rem}
.text-xs{font-size:12px}
.text-sm{font-size:13px}
.text-md{font-size:14px}
.text-lg{font-size:16px}
.font-medium{font-weight:600}
.font-semibold{font-weight:700}
.text-white{color:#fff}
.text-neutral-900{color:var(--text-0,#fff)}
.text-neutral-700{color:var(--text-1,rgba(255,255,255,.76))}
.text-neutral-600{color:var(--text-2,rgba(255,255,255,.58))}
.text-neutral-500{color:var(--muted,rgba(255,255,255,.44))}
.bg-white{background:var(--surface-1,rgba(15,17,22,.75))}
.bg-neutral-50{background:transparent}
.transition-colors{transition:background .18s,border-color .18s,color .18s}
.transition-all{transition:all .18s}
.duration-300{transition-duration:.3s}

/* Media queries */
@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))}
}
@media (min-width: 1024px){
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lg\:col-span-2{grid-column:span 2 / span 2}
  .lg\:col-span-1{grid-column:span 1 / span 1}
}

/* Generic buttons/inputs if pages still rely on tailwind classes */
button, input, select, textarea{font:inherit}

/* sr-only / peer (checkbox pattern) */
.sr-only{
  position:absolute !important;
  width:1px !important; height:1px !important;
  padding:0 !important; margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

/* Default checkbox box right after input.peer */
input.peer + div{
  width:20px;height:20px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.04);
  display:grid;place-items:center;
  transition: box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
html[data-theme="light"] input.peer + div{
  background: rgba(10,10,10,.03);
  border-color: rgba(10,10,10,.14);
}
input.peer:checked + div{
  background: linear-gradient(135deg, rgba(91,124,250,.96), rgba(124,92,255,.92));
  border-color: rgba(91,124,250,.45);
  box-shadow: var(--glow, 0 0 0 3px rgba(91,124,250,.16));
}
input.peer:focus + div{
  box-shadow: var(--glow, 0 0 0 3px rgba(91,124,250,.16));
  border-color: rgba(91,124,250,.55);
}
input.peer + div svg{
  opacity:0;
  width:14px; height:14px;
  position:static !important;
  transform:none !important;
}
input.peer:checked + div svg{ opacity:1; }

/* Color utility subset used in legacy pages (supports classes with : and /) */
.bg-green-50{background:rgba(22,163,74,.08)}
.bg-green-100{background:rgba(22,163,74,.12)}
.text-green-800{color:rgba(22,163,74,.95)}
.text-green-600{color:rgba(22,163,74,.95)}
.border-green-200{border-color:rgba(22,163,74,.20)}
.border-green-300{border-color:rgba(22,163,74,.28)}

.bg-blue-50{background:rgba(91,124,250,.08)}
.bg-blue-100{background:rgba(91,124,250,.12)}
.text-blue-800{color:rgba(91,124,250,.95)}
.text-blue-600{color:rgba(91,124,250,.95)}
.border-blue-200{border-color:rgba(91,124,250,.20)}
.border-blue-800{border-color:rgba(91,124,250,.28)}

.bg-red-50{background:rgba(239,68,68,.10)}
.bg-red-100{background:rgba(239,68,68,.12)}
.text-red-800{color:rgba(239,68,68,.95)}
.text-red-600{color:rgba(239,68,68,.95)}
.border-red-200{border-color:rgba(239,68,68,.20)}
.border-red-800{border-color:rgba(239,68,68,.28)}

.bg-yellow-50{background:rgba(245,158,11,.10)}
.bg-yellow-100{background:rgba(245,158,11,.12)}
.text-yellow-600{color:rgba(245,158,11,.95)}
.border-yellow-200{border-color:rgba(245,158,11,.20)}
.border-yellow-800{border-color:rgba(245,158,11,.28)}

/* Dark: variants (literal classnames) */
.dark\\:bg-green-900\\/20{background:rgba(22,163,74,.14)}
.dark\\:bg-green-900\\/10{background:rgba(22,163,74,.10)}
.dark\\:bg-green-900\\/30{background:rgba(22,163,74,.18)}
.dark\\:text-green-200{color:rgba(187,247,208,.92)}
.dark\\:text-green-400{color:rgba(74,222,128,.92)}
.dark\\:border-green-800{border-color:rgba(22,163,74,.30)}
.dark\\:border-green-700{border-color:rgba(22,163,74,.26)}

.dark\\:bg-blue-900\\/20{background:rgba(91,124,250,.14)}
.dark\\:bg-blue-900\\/30{background:rgba(91,124,250,.18)}
.dark\\:text-blue-200{color:rgba(191,219,254,.92)}
.dark\\:text-blue-400{color:rgba(96,165,250,.92)}
.dark\\:border-blue-800{border-color:rgba(91,124,250,.30)}

.dark\\:bg-red-900\\/20{background:rgba(239,68,68,.14)}
.dark\\:bg-red-900\\/30{background:rgba(239,68,68,.18)}
.dark\\:text-red-200{color:rgba(254,202,202,.92)}
.dark\\:text-red-400{color:rgba(248,113,113,.92)}
.dark\\:border-red-800{border-color:rgba(239,68,68,.30)}

.dark\\:bg-yellow-900\\/20{background:rgba(245,158,11,.14)}
.dark\\:bg-yellow-900\\/30{background:rgba(245,158,11,.18)}
.dark\\:text-yellow-400{color:rgba(251,191,36,.92)}
.dark\\:border-yellow-800{border-color:rgba(245,158,11,.30)}

