/**
 * Territórios em Ação — Design System 2.1
 */
:root {
  /* Identidade natural — Economia Popular e Solidária */
  --tae-color-primary-900:#173D2B;
  --tae-color-primary-800:#245338;
  --tae-color-primary-700:#2F6B45;
  --tae-color-primary-600:#4D8660;
  --tae-color-primary-100:#E8F1E9;

  --tae-color-terracotta-900:#743820;
  --tae-color-terracotta-700:#A94F32;
  --tae-color-terracotta-600:#BD6547;
  --tae-color-terracotta-100:#F7E8DF;

  --tae-color-ochre-700:#A77814;
  --tae-color-ochre-100:#F8EECF;

  --tae-color-surface:#FFFDF8;
  --tae-color-background:#F7F2E8;
  --tae-color-border:#DED5C6;
  --tae-color-text:#352F28;
  --tae-color-muted:#71695F;
  --tae-color-success:#2F6B45;
  --tae-color-success-soft:#E8F1E9;
  --tae-color-warning:#A77814;
  --tae-color-danger:#9B4038;

  --tae-space-1:4px;
  --tae-space-2:8px;
  --tae-space-3:12px;
  --tae-space-4:16px;
  --tae-space-5:24px;
  --tae-space-6:32px;
  --tae-space-7:48px;
  --tae-space-8:64px;
  --tae-space-9:96px;

  --tae-radius-sm:10px;
  --tae-radius-md:14px;
  --tae-radius-lg:20px;
  --tae-radius-xl:28px;
  --tae-radius-pill:999px;

  --tae-shadow-sm:0 5px 18px rgba(53,47,40,.07);
  --tae-shadow-md:0 14px 38px rgba(53,47,40,.12);
  --tae-shadow-xl:0 26px 70px rgba(53,47,40,.17);

  --tae-transition:180ms cubic-bezier(.2,.7,.3,1);
  --tae-container:1180px;
  --tae-font-display:Manrope,Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --tae-font-body:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}

.tae-button{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 20px;
  border:1px solid transparent;
  border-radius:var(--tae-radius-md);
  font-weight:800;
  line-height:1;
  text-decoration:none!important;
  cursor:pointer;
  transition:transform var(--tae-transition),box-shadow var(--tae-transition),background var(--tae-transition),color var(--tae-transition);
}
.tae-button:hover{transform:translateY(-2px)}
.tae-button--primary{background:var(--tae-color-primary-700)!important;color:#fff!important;box-shadow:var(--tae-shadow-sm)}
.tae-button--primary:hover{background:var(--tae-color-primary-900)!important;color:#fff!important;box-shadow:var(--tae-shadow-md)}
.tae-button--secondary{background:var(--tae-color-primary-100)!important;color:var(--tae-color-primary-900)!important}
.tae-button--outline{background:transparent!important;border-color:var(--tae-color-primary-700)!important;color:var(--tae-color-primary-700)!important}
.tae-button--ghost{background:transparent!important;color:var(--tae-color-primary-700)!important}
.tae-button--light{background:#fff!important;color:var(--tae-color-primary-900)!important;box-shadow:var(--tae-shadow-sm)}
.tae-button--light:hover{background:var(--tae-color-primary-100)!important;color:var(--tae-color-primary-900)!important}

.tae-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:var(--tae-radius-pill);
  font-size:11px;
  font-weight:850;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.tae-badge--primary{background:var(--tae-color-primary-100);color:var(--tae-color-primary-800)}
.tae-badge--success{background:var(--tae-color-success-soft);color:var(--tae-color-success)}
.tae-badge--neutral{background:#eef1f3;color:#61717a}

.tae-icon{display:block;flex:none}
.tae-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tae-space-3)}

.tae-stat-grid{display:grid}
.tae-stat{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-width:0;
}
.tae-stat__icon{
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 46px;
  border-radius:14px;
  background:var(--tae-color-primary-100);
  color:var(--tae-color-primary-700);
}
.tae-stat>div{min-width:0;text-align:left}
.tae-stat strong{font-variant-numeric:tabular-nums}
.tae-stat span:last-child{white-space:nowrap}

.tae-card{
  background:var(--tae-color-surface);
  border:1px solid var(--tae-color-border);
  border-radius:var(--tae-radius-lg);
  box-shadow:var(--tae-shadow-sm);
  transition:transform var(--tae-transition),box-shadow var(--tae-transition);
}
.tae-card:hover{transform:translateY(-4px);box-shadow:var(--tae-shadow-md)}

.tae-empty-state--component{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:var(--tae-space-3);
}
.tae-empty-state__icon{
  width:64px;
  height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:20px;
  background:var(--tae-color-primary-100);
  color:var(--tae-color-primary-700);
}

.tae-ds-demo{
  width:min(var(--tae-container),calc(100% - 40px));
  margin:50px auto;
  padding:32px;
  border-radius:var(--tae-radius-xl);
  background:var(--tae-color-background);
}
.tae-ds-demo__group{
  margin-top:24px;
  padding:24px;
  border:1px solid var(--tae-color-border);
  border-radius:var(--tae-radius-lg);
  background:#fff;
}
.tae-ds-demo__group h3{margin-top:0;color:var(--tae-color-primary-800)}

@media(max-width:720px){
  .tae-stat{justify-content:flex-start}
  .tae-stat__icon{width:40px;height:40px;flex-basis:40px}
}

/* 2.4 — Linguagem visual natural */
.tae-button--primary{background:var(--tae-color-primary-700)!important}
.tae-button--primary:hover{background:var(--tae-color-terracotta-700)!important}
.tae-button--secondary{background:var(--tae-color-terracotta-100)!important;color:var(--tae-color-terracotta-900)!important}
.tae-button--outline{border-color:var(--tae-color-primary-700)!important;color:var(--tae-color-primary-700)!important}
.tae-button--outline:hover{border-color:var(--tae-color-terracotta-700)!important;color:var(--tae-color-terracotta-700)!important;background:var(--tae-color-terracotta-100)!important}
.tae-button--ghost{color:var(--tae-color-primary-700)!important}
.tae-button--ghost:hover{color:var(--tae-color-terracotta-700)!important;background:var(--tae-color-terracotta-100)!important}
.tae-button--light:hover{background:var(--tae-color-ochre-100)!important}
.tae-badge--primary{background:var(--tae-color-terracotta-100);color:var(--tae-color-terracotta-900)}
.tae-stat__icon,.tae-empty-state__icon{background:var(--tae-color-primary-100);color:var(--tae-color-primary-700)}
.tae-card{background:var(--tae-color-surface)}
