/* 2Marias v5.5.39.97 — camada final de identidade visual.
   Arquivo separado para evitar cache antigo do visual.css e consolidar o esqueleto. */
:root{
  --m2-green:#173F32;
  --m2-green-deep:#102F27;
  --m2-green-dark:#0D2A22;
  --m2-gold:#B58A3B;
  --m2-gold-light:#D0AD68;
  --m2-cream:#F7F1E7;
  --m2-card:#FCF9F3;
  --m2-brown:#382D25;
  --m2-muted:#776B62;
  --m2-line:#E5D8C7;
  --m2-danger:#9B3C38;
}

html,body{background:var(--m2-cream)!important;color:var(--m2-brown)}
body.visual-app{background:var(--m2-cream)!important}

/* Estrutura */
.visual-app .app-shell{
  grid-template-columns:226px minmax(0,1fr)!important;
  grid-template-rows:78px 1fr!important;
  background:var(--m2-cream)!important;
}
.visual-app .app-header{
  height:78px!important;
  padding:12px 28px 12px 24px!important;
  background:rgba(252,249,243,.98)!important;
  border-bottom:1px solid var(--m2-line)!important;
  box-shadow:0 5px 18px rgba(56,45,37,.045)!important;
}
.visual-app .app-brand-logo{width:202px!important;max-width:min(38vw,202px)!important}
.visual-app .app-brand-meta{border-left:0!important}
.visual-app .app-brand-meta::before{
  content:"";position:absolute;left:0;top:50%;width:1px;height:26px;
  transform:translateY(-50%);background:linear-gradient(180deg,transparent,var(--m2-gold),transparent)
}
.visual-app .app-brand .brand-system{color:var(--m2-muted)!important;font-family:Arial,Helvetica,sans-serif!important;font-weight:700!important}
.visual-app .user-info strong{color:var(--m2-brown)!important}
.visual-app .user-info span,.visual-app #build-versao{color:var(--m2-muted)!important}

/* Sidebar — regra final de maior prioridade */
body.visual-app nav.app-nav{
  top:78px!important;
  width:226px!important;
  height:calc(100dvh - 78px)!important;
  padding:23px 12px 28px!important;
  gap:5px!important;
  border-right:0!important;
  background:linear-gradient(180deg,var(--m2-green-deep) 0%,var(--m2-green-dark) 100%)!important;
  box-shadow:8px 0 22px rgba(16,47,39,.10)!important;
}
body.visual-app nav.app-nav .nav-caption{
  color:rgba(247,241,231,.60)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:9px!important;font-weight:700!important;letter-spacing:2px!important
}
body.visual-app nav.app-nav .nav-button{
  min-height:43px!important;padding:11px 13px 11px 15px!important;
  border:1px solid transparent!important;border-radius:10px!important;
  background:transparent!important;color:rgba(252,249,243,.80)!important;
  box-shadow:none!important;font-family:Arial,Helvetica,sans-serif!important;font-size:12px!important;font-weight:500!important
}
body.visual-app nav.app-nav .nav-button .nav-icon,
body.visual-app nav.app-nav .nav-icon{color:var(--m2-gold-light)!important;stroke:currentColor!important}
body.visual-app nav.app-nav .nav-button:hover{
  background:rgba(255,255,255,.075)!important;color:#FFFDF9!important
}
body.visual-app nav.app-nav .nav-button.nav-active{
  position:relative!important;background:rgba(255,255,255,.12)!important;
  border-color:rgba(208,173,104,.25)!important;color:#FFFDF9!important;font-weight:700!important
}
body.visual-app nav.app-nav .nav-button.nav-active::before{
  content:""!important;display:block!important;position:absolute!important;left:-12px!important;
  top:8px!important;bottom:8px!important;width:3px!important;border-radius:0 3px 3px 0!important;
  background:var(--m2-gold-light)!important
}
body.visual-app nav.app-nav .nav-button.nav-active::after{display:none!important}

/* Conteúdo geral */
.visual-app main.dashboard,.visual-app .dashboard{
  padding:32px 34px 62px!important;
  background:radial-gradient(circle at 93% 2%,rgba(208,173,104,.055),transparent 24%),var(--m2-cream)!important
}
.visual-app #secao-painel .dashboard-top h2,
.visual-app .dashboard-top h2{
  color:var(--m2-green-deep)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(29px,2.4vw,38px)!important;font-weight:750!important;letter-spacing:-1.1px!important
}
.visual-app .dashboard-top p{color:var(--m2-muted)!important}
.visual-app .section-eyebrow{color:#8B744E!important;font-family:Arial,Helvetica,sans-serif!important;font-weight:700!important}

/* KPIs */
.visual-app #secao-painel .kpi-grid{gap:14px!important;background:transparent!important;border:0!important}
.visual-app #secao-painel .kpi-card{
  min-height:126px!important;padding:23px 18px 21px!important;text-align:center!important;
  align-items:center!important;justify-content:center!important;
  border:1px solid var(--m2-line)!important;border-radius:14px!important;
  background:var(--m2-card)!important;box-shadow:0 8px 24px rgba(56,45,37,.045)!important
}
.visual-app #secao-painel .kpi-title{
  color:var(--m2-muted)!important;font-family:Arial,Helvetica,sans-serif!important;font-size:11px!important;font-weight:650!important
}
.visual-app #secao-painel .kpi-value{
  color:var(--m2-green-deep)!important;font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(23px,1.8vw,31px)!important;font-weight:750!important;letter-spacing:-.6px!important
}
.visual-app #secao-painel .kpi-green .kpi-value{color:#35725A!important}
.visual-app #secao-painel .kpi-red .kpi-value{color:var(--m2-danger)!important}
.visual-app #secao-painel .kpi-result{background:linear-gradient(145deg,#F4EBDD 0%,#FCF9F3 100%)!important;border-color:#DEC8A2!important}

/* Cards do painel */
.visual-app #secao-painel .dashboard-card{
  border:1px solid var(--m2-line)!important;border-radius:14px!important;
  background:var(--m2-card)!important;box-shadow:0 9px 28px rgba(56,45,37,.045)!important
}
.visual-app #secao-painel .dashboard-card .card-header{
  background:rgba(255,253,249,.92)!important;border-bottom:1px solid var(--m2-line)!important
}
.visual-app #secao-painel .dashboard-card .card-header h3{
  color:var(--m2-green-deep)!important;font-family:Arial,Helvetica,sans-serif!important;font-weight:700!important
}
.visual-app #secao-painel .summary-item strong{color:var(--m2-green-deep)!important;font-family:Arial,Helvetica,sans-serif!important}

/* Botões de topo */
.visual-app .logout-button,.visual-app .pwa-install-button{
  border:1px solid #DCCFBE!important;border-radius:9px!important;background:#FFFDF9!important;color:var(--m2-brown)!important
}
.visual-app .logout-button:hover,.visual-app .pwa-install-button:hover{
  background:#F1E8DB!important;border-color:#CDBB9F!important;color:var(--m2-green-deep)!important
}

@media(max-width:1100px){
  .visual-app .app-shell{grid-template-columns:205px minmax(0,1fr)!important}
  body.visual-app nav.app-nav{width:205px!important}
}
@media(max-width:960px){
  .visual-app .app-shell{display:block!important}
  .visual-app .app-header{height:auto!important;min-height:72px!important}
  body.visual-app nav.app-nav{
    position:sticky!important;top:72px!important;width:100%!important;height:auto!important;
    padding:7px 12px!important;flex-direction:row!important;border-bottom:1px solid rgba(208,173,104,.18)!important
  }
  body.visual-app nav.app-nav .nav-caption{display:none!important}
  body.visual-app nav.app-nav .nav-button{width:auto!important;flex-shrink:0!important;padding:10px 12px!important}
  body.visual-app nav.app-nav .nav-button.nav-active::before{display:none!important}
  .visual-app .dashboard{padding:25px 18px 94px!important}
}
@media(max-width:640px){
  .visual-app .app-brand-logo{width:168px!important;max-width:52vw!important}
  .visual-app .app-brand-meta{display:none!important}
  .visual-app .dashboard{padding:20px 12px 92px!important}
}
