/* Sistema Joseilson — Reset e estilos base */
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font-sans);
  font-size:var(--text-base);
  line-height:1.5;
  color:var(--ink-900);
  background:var(--bg-page);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,p{margin:0}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
ul{list-style:none;margin:0;padding:0}
img{max-width:100%;display:block}

::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:var(--ink-300);border-radius:6px}
::-webkit-scrollbar-track{background:transparent}
:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px}

.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.text-xs{font-size:var(--text-xs)}
.text-sm{font-size:var(--text-sm)}
.text-muted{color:var(--ink-500)}
.text-success{color:var(--success-fg)}
.text-warning{color:var(--warning-fg)}
.text-danger{color:var(--danger-fg)}
.fw-600{font-weight:600}

.flex{display:flex}
.flex-col{display:flex;flex-direction:column}
.items-center{align-items:center}
.justify-between{justify-content:space-between}
.flex-wrap{flex-wrap:wrap}
.gap-2{gap:var(--space-2)}
.gap-3{gap:var(--space-3)}
.gap-4{gap:var(--space-4)}
.flex-1{flex:1}
.hidden{display:none!important}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
}
