/* ==========================================================================
   Nossa Casa · camada "premium"
   Carregada depois do app.css: redefine tokens e componentes (barra, menu, cartões, tabelas,
   formulários, navegação do celular) sem mudar o HTML das telas antigas.
   Identidade: azul #124D9B (estrutura), dourado #F5B323 (só como acento de estado ativo e destaque).
   ========================================================================== */
:root{
  --azul:#124d9b; --azul-esc:#0d3a75; --azul-2:#2f6fc4; --ouro:#f5b323;
  --fundo:#f3f5f9; --papel:#fff; --tinta:#0c1b36; --suave:#66738a; --linha:#e4e8f0; --linha-2:#eef1f6;
  --fundo-azul:#eaf1fb; --raio:16px; --raio-p:12px;
  --verde:#13824a; --vermelho:#c2392b; --amarelo:#a86a00;
  --fundo-verde:#e6f5ed; --fundo-vermelho:#fdecea; --fundo-amarelo:#fff5dc;
  --sombra-1:0 1px 2px rgba(12,27,54,.04),0 1px 1px rgba(12,27,54,.03);
  --sombra-2:0 1px 2px rgba(12,27,54,.04),0 12px 28px -14px rgba(12,27,54,.16);
  --lateral:264px; --topo-h:60px;
  --curva:cubic-bezier(.22,.8,.24,1);
  font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme:dark){:root{
  --azul:#6aa3f0; --azul-esc:#8fbbf5; --azul-2:#8fbbf5; --fundo:#0c1118; --papel:#151c26; --tinta:#e9eef6; --suave:#93a1b6; --linha:#243040; --linha-2:#1d2735;
  --fundo-azul:#16243a; --fundo-verde:#12281c; --fundo-vermelho:#33191a; --fundo-amarelo:#2f2610; --verde:#4cc283; --vermelho:#f0847a; --amarelo:#e6b552;
  --sombra-1:0 1px 2px rgba(0,0,0,.3); --sombra-2:0 1px 2px rgba(0,0,0,.3),0 12px 28px -14px rgba(0,0,0,.6)}}
html{scroll-behavior:smooth}
body{background:var(--fundo);color:var(--tinta);font-size:15px;line-height:1.5;letter-spacing:-.003em;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}
h1,h2,h3{letter-spacing:-.022em;font-weight:700;color:var(--tinta)}
h1{font-size:1.7rem;line-height:1.15;margin:0 0 .35rem}
h2{font-size:1.05rem;margin:1.4rem 0 .7rem}
a{color:var(--azul);text-decoration-thickness:1px;text-underline-offset:3px}
.n,table td.n,.cartao-atalho b,.numero b,.cabeca h1,.painel td{font-variant-numeric:tabular-nums}
.ico{flex:none;display:block}
:focus-visible{outline:2px solid var(--azul);outline-offset:2px;border-radius:8px}

/* ---------- barra superior ---------- */
.topo{background:color-mix(in srgb,var(--papel) 88%,transparent);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);
  border-bottom:1px solid var(--linha);color:var(--tinta);position:sticky;top:0;z-index:30}
.topo-in{max-width:1240px;height:var(--topo-h);margin:auto;padding:0 1.2rem;display:flex;align-items:center;gap:.5rem}
body.logado .topo{margin-left:var(--lateral)}
.menu-btn{display:none!important}
.marca-app{display:none;align-items:center;gap:.6rem;color:var(--tinta);text-decoration:none}
.marca-app img{border-radius:8px;display:block}.marca-txt{display:flex;flex-direction:column;line-height:1.1}.marca-txt b{font-size:.98rem;letter-spacing:-.02em}.marca-txt small{font-size:.68rem;color:var(--suave);font-weight:600}
.titulo-pagina{font-weight:650;font-size:.95rem;color:var(--tinta);letter-spacing:-.01em;margin-right:auto}
.icone-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;border:0;background:transparent;color:var(--suave);cursor:pointer;text-decoration:none;position:relative;transition:background .18s,color .18s,transform .18s var(--curva)}
.icone-btn:hover{background:var(--fundo-azul);color:var(--azul)}.icone-btn:active{transform:scale(.94)}
.sino{color:var(--suave)}.sino b{position:absolute;top:4px;right:3px;background:var(--vermelho);color:#fff;font-size:.62rem;min-width:1.05rem;height:1.05rem;border-radius:99px;display:grid;place-items:center;padding:0 .25rem;box-shadow:0 0 0 2px var(--papel)}
.sair{background:transparent;color:var(--suave)}
.fila{background:var(--fundo-amarelo);color:var(--amarelo);border:1px solid color-mix(in srgb,var(--ouro) 45%,transparent);font-weight:700;border-radius:99px;padding:.2rem .65rem;font-size:.75rem}
.quem{margin:0 .3rem 0 .4rem;display:flex;align-items:center;gap:.55rem;text-align:left}
.quem-txt{font-size:.82rem;font-weight:650;line-height:1.15;display:flex;flex-direction:column;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quem small{color:var(--suave);font-weight:500;font-size:.7rem}
.avatar{width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,var(--azul),var(--azul-2));color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem;flex:none}

/* ---------- menu lateral (computador) ---------- */
.lateral{top:0;bottom:0;left:0;width:var(--lateral);background:var(--papel);border-right:1px solid var(--linha);padding:1.1rem .8rem 1rem;z-index:40;display:flex;flex-direction:column;scrollbar-width:thin}
.lateral-marca{background:transparent;border-radius:0;margin:.1rem .4rem 1.1rem;padding:0}
.lateral-marca .brand-logo{background:transparent;max-height:46px;object-fit:contain;object-position:left center}
.lateral .grupo{margin-bottom:.9rem}
.lateral .grupo>.grupo-nome{display:block;font-size:.66rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--suave);padding:.35rem .7rem;border-left:0;border-radius:8px;opacity:.85}
.lateral .grupo>.grupo-nome:hover{background:transparent;color:var(--azul)}.lateral .grupo>.grupo-nome.on{background:transparent;color:var(--azul)}
.lateral a.item{display:flex;align-items:center;gap:.7rem;padding:.52rem .7rem;border-radius:11px;color:#3d4a61;text-decoration:none;font-weight:550;font-size:.9rem;border-left:0;position:relative;transition:background .16s,color .16s}
@media (prefers-color-scheme:dark){.lateral a.item{color:#b6c2d4}}
.lateral a.item .ico{color:#8793a8;transition:color .16s}
.lateral a.item:hover{background:var(--fundo)}.lateral a.item:hover .ico{color:var(--azul)}
.lateral a.item.on{background:var(--fundo-azul);color:var(--azul);font-weight:650}
.lateral a.item.on .ico{color:var(--azul)}
.lateral a.item.on::before{content:"";position:absolute;left:-.8rem;top:20%;bottom:20%;width:3px;border-radius:0 3px 3px 0;background:var(--ouro)}
.lateral a .n{margin-left:auto;background:var(--vermelho);color:#fff;font-size:.66rem;border-radius:99px;padding:.04rem .45rem;font-weight:700}
.lateral-fim{margin-top:auto;padding-top:.9rem;border-top:1px solid var(--linha-2);display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.lateral-fim .avatar{width:34px;height:34px}.lateral-fim b{display:block;font-size:.84rem;line-height:1.1}.lateral-fim small{color:var(--suave);font-size:.7rem}.lateral-fim .versao{flex-basis:100%;font-size:.64rem;opacity:.7}

/* ---------- conteúdo ---------- */
body.logado main{margin-left:var(--lateral);max-width:1240px;padding:1.6rem 1.6rem 4rem}
body.logado #sem-sinal{margin-left:var(--lateral)}
.cabeca{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin:.1rem 0 1.4rem}
.cabeca p{color:var(--suave);margin:.25rem 0 0;font-size:.92rem;max-width:62ch}
.eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--azul)}
.trilha{border-bottom:0;padding-bottom:0;margin:0 0 1.1rem}
.trilha .voltar{padding:.35rem .85rem .35rem .6rem;border:1px solid var(--linha);background:var(--papel);box-shadow:var(--sombra-1);font-size:.8rem;min-height:34px;transition:transform .18s var(--curva),box-shadow .18s}
.trilha .voltar:hover{background:var(--papel);box-shadow:var(--sombra-2);transform:translateX(-2px)}
.trilha nav{font-size:.78rem}
/* cartões e painéis */
.cartao,.painel,.numero{background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);box-shadow:var(--sombra-1);padding:1.15rem 1.2rem}
.cartao,.painel{margin-bottom:1rem}
.painel-cab{margin-bottom:.9rem}.painel-cab h2{margin:0;font-size:.98rem}.painel-cab p{font-size:.78rem}
.painel-cab a{font-size:.78rem;font-weight:650;text-decoration:none;display:inline-flex;align-items:center;gap:.25rem}
.cartoes,.grade,.grade-obra{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));margin:.4rem 0 1.4rem}
.grade{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.grade-obra{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.numero{padding:1rem 1.1rem}
.numero span{font-size:.74rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--suave)}
.numero b{font-size:clamp(1.25rem,4.6vw,1.65rem);letter-spacing:-.03em;margin:.35rem 0 .2rem;font-weight:700}
.cartao-atalho{position:relative;display:flex;flex-direction:column;gap:.1rem;min-height:132px;padding:1.05rem 1.15rem 1rem;border:1px solid var(--linha);border-top:1px solid var(--linha);border-radius:var(--raio);background:var(--papel);
  box-shadow:var(--sombra-1);text-decoration:none;color:var(--tinta);transition:transform .25s var(--curva),box-shadow .25s,border-color .25s}
.cartao-atalho:hover{transform:translateY(-3px);box-shadow:var(--sombra-2);border-color:color-mix(in srgb,var(--azul) 35%,var(--linha))}
.cartao-atalho:active{transform:translateY(-1px) scale(.99)}
.cartao-atalho h3{order:1;margin:0;padding-right:3rem;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--suave)}
.cartao-atalho .chip,.cartao-atalho .ic{position:absolute;top:.85rem;right:.9rem;width:2.35rem;height:2.35rem;border-radius:12px;display:grid;place-items:center;background:var(--fundo-azul);color:var(--azul);font-style:normal;font-size:1rem}
.cartao-atalho b{order:2;margin-top:auto;padding-top:.6rem;font-size:1.55rem;line-height:1.1;font-weight:700;letter-spacing:-.035em;color:var(--tinta)}
.cartao-atalho b.mau{color:var(--vermelho)}.cartao-atalho b.ok{color:var(--verde)}
.cartao-atalho small{order:3;color:var(--suave);font-size:.78rem;margin-top:.25rem;line-height:1.3}
.cartao-atalho>.btn{margin-top:.7rem;align-self:flex-start}
/* avisos */
.aviso-item{display:flex;gap:.8rem;align-items:center;padding:.8rem 1rem;border-radius:14px;margin-bottom:.55rem;text-decoration:none;color:var(--tinta);border:1px solid var(--linha);border-left:3px solid var(--linha);background:var(--papel);transition:transform .2s var(--curva),box-shadow .2s}
.aviso-item:hover{transform:translateX(3px);box-shadow:var(--sombra-2)}
.aviso-item .ic{width:2.3rem;height:2.3rem;border-radius:11px;display:grid;place-items:center;background:var(--fundo-azul);color:var(--azul);flex:none;font-size:1rem}
.aviso-item.critico{border-left-color:var(--vermelho);background:var(--papel)}.aviso-item.critico .ic{background:var(--fundo-vermelho);color:var(--vermelho)}
.aviso-item.atencao{border-left-color:var(--ouro);background:var(--papel)}.aviso-item.atencao .ic{background:var(--fundo-amarelo);color:var(--amarelo)}
.aviso-item b{font-size:.9rem;font-weight:650;letter-spacing:-.01em}.aviso-item small{font-size:.78rem}
.aviso{border-radius:12px}
/* tabelas */
table{font-size:.88rem}
th{font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--suave);border-bottom:1px solid var(--linha);padding:.55rem .6rem}
td{padding:.7rem .6rem;border-bottom:1px solid var(--linha-2)}
tbody tr:hover td,table tr:hover>td{background:color-mix(in srgb,var(--fundo-azul) 55%,transparent)}
tr:last-child td{border-bottom:0}
.rolagem table th{background:var(--papel)}
/* botões e formulários */
.btn{border-radius:12px;padding:.62rem 1.05rem;font-weight:650;letter-spacing:-.005em;background:var(--azul);box-shadow:0 1px 2px rgba(18,77,155,.3),0 6px 14px -6px rgba(18,77,155,.45);transition:transform .18s var(--curva),box-shadow .18s,background .18s}
.btn:hover{background:var(--azul-esc);transform:translateY(-1px)}.btn:active{transform:scale(.97)}
.btn.sec{background:var(--papel);color:var(--azul);border:1px solid var(--linha);box-shadow:var(--sombra-1)}.btn.sec:hover{background:var(--fundo-azul)}
.btn.mini{padding:.38rem .8rem;font-size:.82rem;border-radius:10px}
input,select,textarea{border:1px solid var(--linha);border-radius:12px;background:var(--papel);padding:.62rem .8rem;transition:border-color .16s,box-shadow .16s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--azul);box-shadow:0 0 0 4px color-mix(in srgb,var(--azul) 16%,transparent)}
label{font-size:.8rem;font-weight:600;color:var(--suave)}
.filtros{display:flex;gap:.5rem;flex-wrap:wrap}.filtros select,.filtros input{width:auto;min-height:40px}
/* mapa */
.mapa-vp{border-radius:14px;border-color:var(--linha)}
.mapa-barra button{border-radius:10px;font-weight:650}
.mapa-card{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.2rem;align-items:center;padding:.9rem;transition:box-shadow .25s,transform .25s var(--curva)}
.mapa-card:hover{box-shadow:var(--sombra-2);transform:translateY(-2px)}
.mapa-card img{border-radius:12px}

/* ---------- gráficos (premium.js) ---------- */
.gf{position:relative;width:100%}
.gf svg{display:block;width:100%;height:auto;overflow:visible}
.gf-eixo{stroke:var(--linha);stroke-width:1}.gf-eixo-t{fill:var(--suave);font-size:10.5px;font-weight:600}
.gf-barra{transform-origin:center bottom;transform-box:fill-box;transform:scaleY(0);transition:transform .9s var(--curva);cursor:pointer}
.gf.vivo .gf-barra{transform:scaleY(1)}
.gf-barra:hover{filter:brightness(1.08)}
.gf-linha{fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:var(--len,1200);stroke-dashoffset:var(--len,1200);transition:stroke-dashoffset 1.3s var(--curva)}
.gf.vivo .gf-linha{stroke-dashoffset:0}
.gf-area{opacity:0;transition:opacity 1s .35s}.gf.vivo .gf-area{opacity:1}
.gf-fatia{fill:none;stroke-width:15;transition:stroke-dasharray 1.1s var(--curva),stroke-width .2s;cursor:pointer}
.gf-fatia:hover,.gf-fatia.ativa{stroke-width:18}
.gf-centro{fill:var(--tinta);font-weight:700;letter-spacing:-.03em;text-anchor:middle;font-variant-numeric:tabular-nums}.gf-centro-s{fill:var(--suave);font-size:9px;font-weight:600;text-anchor:middle;text-transform:uppercase;letter-spacing:.08em}
.gf-leg{display:grid;gap:.35rem;margin-top:.9rem;font-size:.82rem}
.gf-leg div{display:flex;align-items:center;gap:.55rem;padding:.2rem .3rem;border-radius:8px;cursor:default}
.gf-leg div:hover{background:var(--fundo)}
.gf-leg i{width:.65rem;height:.65rem;border-radius:4px;flex:none}.gf-leg span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gf-leg b{font-variant-numeric:tabular-nums;font-weight:650}
.gf-dica{position:absolute;pointer-events:none;background:#0c1b36;color:#fff;border-radius:10px;padding:.45rem .65rem;font-size:.76rem;line-height:1.35;box-shadow:0 8px 24px rgba(12,27,54,.3);opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s;z-index:5;white-space:nowrap}
.gf-dica.on{opacity:1;transform:none}.gf-dica b{display:block;font-size:.8rem}
.gf-legenda{display:flex;gap:1rem;font-size:.76rem;color:var(--suave);margin:.1rem 0 .6rem;flex-wrap:wrap}.gf-legenda i{display:inline-block;width:.6rem;height:.6rem;border-radius:3px;margin-right:.4rem}
.spark{display:block;width:100%;height:34px;margin-top:.5rem}
.cartao-atalho .spark{position:absolute;right:1rem;bottom:.9rem;width:42%;height:30px;margin:0;opacity:.95}
.barra-cresce{height:7px;border-radius:5px;background:var(--azul);width:0;transition:width 1s var(--curva)}
.vivo .barra-cresce{width:var(--w)}
table.calor td{border-radius:6px;border:2px solid var(--papel)}

/* ---------- animações de entrada ---------- */
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  ::view-transition-old(root){animation:210ms var(--curva) both vt-sai}
  ::view-transition-new(root){animation:340ms var(--curva) both vt-entra}
  @keyframes vt-sai{to{opacity:0;transform:translateY(-6px)}}
  @keyframes vt-entra{from{opacity:0;transform:translateY(10px)}}
  @keyframes subir{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
  main>*{animation:subir .55s var(--curva) both}
  main>*:nth-child(2){animation-delay:.04s}main>*:nth-child(3){animation-delay:.08s}main>*:nth-child(4){animation-delay:.12s}main>*:nth-child(5){animation-delay:.16s}main>*:nth-child(n+6){animation-delay:.2s}
  .cartoes>*,.grade>*,.grade-obra>*{animation:subir .6s var(--curva) both}
  .cartoes>*:nth-child(2),.grade>*:nth-child(2){animation-delay:.05s}.cartoes>*:nth-child(3),.grade>*:nth-child(3){animation-delay:.1s}.cartoes>*:nth-child(4),.grade>*:nth-child(4){animation-delay:.15s}
  .cartoes>*:nth-child(n+5){animation-delay:.2s}
}

/* ---------- celular: aplicativo ---------- */
.folha,.barra-cel{display:none}
@media (max-width:899px){
  :root{--topo-h:56px}
  .lateral{display:none}
  body.logado .topo{margin-left:0}
  body.logado main{margin-left:0;max-width:none;padding:1rem 1rem calc(6.2rem + env(safe-area-inset-bottom))}
  body.logado #sem-sinal{margin-left:0}
  .topo-in{padding:0 .9rem;gap:.15rem}
  .marca-app{display:flex;margin-right:auto}.titulo-pagina{display:none}
  .quem-txt{display:none}.quem{margin:0 .1rem 0 .3rem}
  .sair{display:none}
  .cabeca{margin-bottom:1.1rem}h1{font-size:1.55rem}
  .cartoes{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
  .cartao-atalho{min-height:118px;padding:.9rem .9rem .85rem}
  .cartao-atalho h3{font-size:.66rem;padding-right:2.3rem;letter-spacing:.06em}
  .cartao-atalho .chip,.cartao-atalho .ic{width:2rem;height:2rem;border-radius:10px;top:.7rem;right:.7rem}
  .cartao-atalho b{font-size:1.3rem}.cartao-atalho small{font-size:.72rem}
  .grade{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.grade-obra{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
  .cartao,.painel{padding:1rem}.painel{border-radius:18px}
  .mapa-card{grid-template-columns:1fr}.mapa-vp{height:64vh}
  .duas{grid-template-columns:1fr}
  /* barra inferior flutuante */
  .barra-cel{display:flex;position:fixed;left:.75rem;right:.75rem;bottom:calc(.65rem + env(safe-area-inset-bottom));z-index:60;padding:.35rem;gap:.1rem;border-radius:24px;border:1px solid color-mix(in srgb,var(--linha) 80%,transparent);
    background:color-mix(in srgb,var(--papel) 86%,transparent);backdrop-filter:saturate(1.8) blur(18px);-webkit-backdrop-filter:saturate(1.8) blur(18px);box-shadow:0 10px 30px -8px rgba(12,27,54,.28),0 2px 6px rgba(12,27,54,.08)}
  .barra-cel a,.barra-cel button{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:.12rem;font-size:.64rem;font-weight:650;letter-spacing:.005em;color:var(--suave);background:none;border:0;padding:.3rem 0 .2rem;text-decoration:none;-webkit-tap-highlight-color:transparent}
  .barra-cel i{position:relative;display:grid;place-items:center;width:3.1rem;height:1.9rem;border-radius:99px;transition:background .25s var(--curva),color .25s,transform .25s var(--curva)}
  .barra-cel a:active i,.barra-cel button:active i{transform:scale(.9)}
  .barra-cel a.on{color:var(--azul)}.barra-cel a.on i{background:var(--fundo-azul);color:var(--azul)}
  .barra-cel a.on i::after{content:"";position:absolute;bottom:-.28rem;width:4px;height:4px;border-radius:50%;background:var(--ouro)}
  .barra-cel i b{position:absolute;top:-2px;right:.45rem;background:var(--vermelho);color:#fff;font-size:.58rem;min-width:1rem;height:1rem;border-radius:99px;display:grid;place-items:center;padding:0 .25rem;box-shadow:0 0 0 2px var(--papel)}
  /* folha de menu */
  .veu{display:block;position:fixed;inset:0;background:rgba(8,16,32,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:70;opacity:0;pointer-events:none;transition:opacity .28s}
  body.menu-aberto .veu{opacity:1;pointer-events:auto}
  .folha{display:block;position:fixed;left:0;right:0;bottom:0;max-height:86vh;overflow-y:auto;z-index:80;background:var(--papel);border-radius:26px 26px 0 0;padding:.5rem 1rem calc(1.4rem + env(safe-area-inset-bottom));
    transform:translateY(105%);transition:transform .42s var(--curva);box-shadow:0 -20px 50px -10px rgba(8,16,32,.35);overscroll-behavior:contain}
  body.menu-aberto .folha{transform:none}
  body.menu-aberto{overflow:hidden}
  .folha-alca{width:42px;height:5px;border-radius:3px;background:var(--linha);margin:.2rem auto .6rem}
  .folha-topo{display:flex;justify-content:space-between;align-items:center;margin-bottom:.2rem}.folha-topo b{font-size:1.15rem;letter-spacing:-.02em}
  .folha h3{margin:1rem 0 .55rem;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--suave)}
  .folha-grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
  .folha-grade a{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.8rem .3rem .65rem;border-radius:16px;background:var(--fundo);border:1px solid var(--linha-2);color:var(--tinta);text-decoration:none;font-size:.72rem;font-weight:600;text-align:center;line-height:1.2;transition:transform .2s var(--curva),background .2s}
  .folha-grade a:active{transform:scale(.95)}
  .folha-grade i{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:14px;background:var(--papel);color:var(--azul);box-shadow:var(--sombra-1)}
  .folha-grade a.on{background:var(--fundo-azul);border-color:color-mix(in srgb,var(--azul) 30%,transparent)}
  .folha-grade a.on i{background:var(--azul);color:#fff}
  #toast{bottom:6.4rem}
  table.analitica{font-size:.8rem}
}
@media (min-width:900px){.marca-app{display:none}}
@media (max-width:420px){.cartao-atalho b{font-size:1.18rem}.cabeca h1{font-size:1.4rem}}
@media (max-width:899px){.so-desktop{display:none!important}.barra-cel span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
