*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;line-height:1.5;color:#1f2937;background-color:#f9fafb;transition:background-color .3s,color .3s}
.dark body{background-color:#111827;color:#f3f4f6}
a{text-decoration:none;color:inherit}
button,input,textarea{font-family:inherit}
img{max-width:100%;display:block}

/* ===== Layout ===== */
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}
.flex{display:flex}
.grid{display:grid}
.block{display:block}
.hidden{display:none}
.items-center{align-items:center}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.flex-col{flex-direction:column}
.flex-row{flex-direction:row}
.gap-1{gap:.25rem}
.gap-2{gap:.5rem}
.gap-4{gap:1rem}
.w-full{width:100%}
.h-full{height:100%}
.min-h-screen{min-height:100vh}

/* ===== Padding & Margin ===== */
.p-2{padding:.5rem}
.p-4{padding:1rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.px-4{padding-left:1rem;padding-right:1rem}
.mt-2{margin-top:.5rem}
.mb-4{margin-bottom:1rem}

/* ===== Text ===== */
.text-sm{font-size:.875rem}
.text-base{font-size:1rem}
.text-lg{font-size:1.125rem}
.text-xl{font-size:1.25rem}
.text-2xl{font-size:1.5rem}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.text-center{text-align:center}
.text-white{color:#fff}
.text-gray-600{color:#4b5563}
.text-gray-300{color:#d1d5db}

/* ===== Background Colors ===== */
.bg-white{background-color:#fff}
.bg-gray-100{background-color:#f3f4f6}
.bg-gray-700{background-color:#374151}
.bg-blue-500{background-color:#3b82f6}
.bg-blue-400{background-color:#60a5fa}
.bg-green-700{background-color:#15803d}
.bg-[var(--verde)]{background-color:var(--verde)}

/* ===== Borders & Radius ===== */
.rounded-lg{border-radius:.5rem}
.rounded-xl{border-radius:.75rem}
.border{border-width:1px;border-color:#e5e7eb}

/* ===== Shadow ===== */
.shadow{box-shadow:0 1px 2px rgba(0,0,0,0.05)}
.shadow-lg{box-shadow:0 10px 15px rgba(0,0,0,0.1)}

/* ===== Transition ===== */
.transition{transition:all .3s ease}
.hover\:bg-blue-600:hover{background-color:#2563eb}
.hover\:bg-green-700:hover{background-color:#15803d}
.hover\:bg-gray-600:hover{background-color:#4b5563}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;justify-center:space-between;padding:.5rem 1.25rem;border-radius:.5rem;font-weight:500;transition:all .3s ease}
.btn-primary{background-color:#3b82f6;color:#fff}
.btn-primary:hover{background-color:#2563eb}
.btn-success{background-color:#16a34a;color:#fff}
.btn-success:hover{background-color:#15803d}
.btn-dark{background-color:#374151;color:#fff}
.btn-dark:hover{background-color:#4b5563}

/* ===== Forms ===== */
.input{width:100%;padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:.5rem;outline:none;transition:border .3s ease}
.input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.2)}
.label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}

/* ===== Responsividade ===== */
@media (max-width:768px){
  .md\:flex-row{flex-direction:column}
  .md\:justify-between{justify-content:center}
  .md\:items-center{align-items:center}
  .md\:w-auto{width:100%}
}
@media (min-width:768px){
  .md\:flex-row{flex-direction:row}
  .md\:justify-between{justify-content:space-between}
  .md\:items-center{align-items:center}
  .md\:w-auto{width:auto}
}
