:root{
  --cor:#0b22d6; --cor-escura:color-mix(in srgb,var(--cor) 38%,#04081c); --tinta:#0d1321; --suave:#6d7484;
  --fundo:#f4f6fa; --cartao:#fff; --linha:#e7eaf0; --verde:#1f9d61; --vermelho:#d83b42; --ouro:#b97f00;
  --sombra:0 18px 55px rgba(15,24,60,.10); --r:20px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--tinta);background:var(--fundo);font-size:15px;line-height:1.45}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3{margin:0;line-height:1.2;text-wrap:balance}
.carregando{display:grid;place-items:center;min-height:100vh;color:var(--suave)}
.oculto{display:none!important}
svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* Botões e campos */
.bt{border:1px solid var(--linha);background:#fff;border-radius:12px;padding:10px 16px;font-weight:600;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.bt:hover{border-color:#cfd5e2}
a.bt{text-decoration:none;color:inherit}
.bt.principal{background:var(--cor);border-color:var(--cor);color:#fff}
.bt.principal:hover{filter:brightness(1.08)}
.bt.pequeno{padding:6px 11px;border-radius:10px;font-size:13px}
.bt.limpo{border-color:transparent;background:transparent;color:var(--cor);padding-inline:6px}
.bt:disabled{opacity:.55;cursor:default}
.bt:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--cor) 35%,transparent);outline-offset:1px}
label.campo{display:grid;gap:6px;font-size:13px;font-weight:600;color:#3b4354}
input,select,textarea{border:1px solid var(--linha);border-radius:12px;padding:10px 12px;background:#fff;width:100%;font-weight:400}
textarea{min-height:84px;resize:vertical}
.grade{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
.grade .largo{grid-column:1/-1}
.nota{margin:0;background:#fff8e1;border:1px solid #f1dfa5;color:#6b4d00;border-radius:12px;padding:10px 12px;font-size:13px}
input[readonly]{background:var(--fundo);color:var(--suave)}
.erro-form{color:var(--vermelho);font-size:13px;font-weight:600;min-height:20px;margin:10px 0 0}
.marcas{display:flex;flex-wrap:wrap;gap:10px}
.marca{display:flex;align-items:center;gap:8px;border:1px solid var(--linha);border-radius:12px;padding:9px 12px;font-weight:600;font-size:14px;color:var(--tinta)}
.marca input{width:auto}
.marca.travada{background:#f4f6fa;color:var(--suave)}

/* Entrada: estilos em vitrine.css (tela de entrada e vitrine de acervos) */

/* Estrutura: menu lateral e barra do topo no padrão do protótipo (V199 a V203) */
.casca{display:grid;grid-template-columns:78px minmax(0,1fr);min-height:100vh;
  --lado:var(--menu,color-mix(in srgb,var(--cor) 18%,#050814));--lado2:var(--menu2,color-mix(in srgb,var(--lado) 91%,#fff))}
.casca>.area{grid-column:2;min-width:0}
.lateral{position:fixed;top:0;left:0;bottom:0;width:78px;z-index:60;background:var(--lado);color:#fff;padding:18px 10px;
  overflow:hidden auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent;transition:width .22s .35s,box-shadow .22s .35s}
.lateral:hover,.lateral:has(:focus-visible){width:276px;box-shadow:14px 0 44px rgba(2,6,23,.38);transition-delay:0s}
.lateral .marca-lado{display:flex;gap:12px;align-items:center;padding:4px 4px 18px;white-space:nowrap}
.lateral .sigla{width:50px;height:50px;border-radius:14px;background:#fff;color:var(--cor);display:grid;place-items:center;font-weight:800;font-size:18px;flex:0 0 50px}
.lateral .marca-lado strong{font-size:15px;letter-spacing:.08em;text-transform:uppercase;display:block}
.lateral .marca-lado small{display:block;color:#929bb0;margin-top:3px}
.lateral .quem-sou{display:flex;align-items:center;gap:11px;background:var(--lado2);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:7px;margin-bottom:20px;white-space:nowrap;overflow:hidden}
.lateral .avatar{width:42px;height:42px;border-radius:50%;background:#fff;color:#111827;display:grid;place-items:center;font-weight:800;flex:0 0 auto}
.lateral .quem-sou strong{display:block;line-height:1.15}
.lateral .quem-sou small{display:block;color:#9ea8bd;margin-top:4px;line-height:1.1}
.lateral .caixa-perfil{margin:0 0 14px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.05)}
.lateral .caixa-perfil label{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.6;margin-bottom:5px;font-weight:400}
.lateral .caixa-perfil select{width:100%;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:8px}
.lateral .caixa-perfil select option{color:var(--tinta)}
.lateral .rotulo-menu{font-size:10px;letter-spacing:.15em;color:#6e7891;text-transform:uppercase;margin:18px 12px 8px;white-space:nowrap}
.menu{display:grid;gap:5px;grid-template-columns:minmax(0,1fr)}
.menu .grupo,.menu .itens{min-width:0}
.menu a,.menu button{border:0;background:transparent;color:#aeb6c7;border-radius:13px;padding:11px 18px;display:flex;align-items:center;gap:11px;text-align:left;width:100%;
  text-decoration:none;white-space:nowrap;overflow:hidden;font:inherit;cursor:pointer}
.menu a>span,.menu button>span{font-size:14px;font-weight:650}
.menu svg{width:21px;height:21px;min-width:21px}
.menu>a:hover,.menu>a.atual,.menu>button:hover,.menu .grupo>a:hover,.menu .grupo>a.atual,.menu .grupo>button:hover{background:#fff;color:var(--lado2)}
.menu .grupo{display:flex;flex-direction:column}
.menu .grupo>button>svg:first-child,.menu .grupo>a>svg:first-child,.menu .itens svg{color:var(--zc,currentColor)}
.menu .grupo>button:hover>svg:first-child,.menu .grupo>a:hover>svg:first-child,.menu .grupo>a.atual>svg:first-child{color:var(--zd,currentColor)}
.menu .seta{margin-left:auto;transition:transform .18s;opacity:.75;width:18px;height:18px;min-width:18px}
.menu .grupo.aberto .seta{transform:rotate(180deg)}
.menu .cabeca.tem-atual{color:#fff}
.menu .itens{display:none;flex-direction:column;gap:2px;margin:2px 0 6px}
.menu .grupo.aberto .itens{display:flex}
.menu .itens a,.menu .itens .breve{padding:8px 19px;border-radius:10px;position:relative;gap:10px;display:flex;align-items:center;white-space:nowrap;overflow:hidden;color:#aeb6c7;text-decoration:none}
.menu .itens a>span,.menu .itens .breve>span{font-size:13.5px;font-weight:650}
.menu .itens svg{width:18px;height:18px;min-width:18px}
.menu .itens a:hover{background:#fff;color:var(--lado2)}
.menu .itens a:hover svg{color:var(--zd,currentColor)}
.menu .itens a.atual{background:rgba(255,255,255,.12);color:#fff;font-weight:800}
.menu .itens a.atual::before{content:"";position:absolute;left:6px;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--zc,#4ade80)}
.menu .breve{opacity:.45;cursor:default}
.menu .breve em{margin-left:auto;font-style:normal;font-size:10px;letter-spacing:.06em;text-transform:uppercase;border:1px solid rgba(255,255,255,.3);border-radius:99px;padding:1px 7px}
.menu .grupo>.breve{padding:11px 18px;display:flex;gap:11px;align-items:center;color:#aeb6c7;white-space:nowrap;overflow:hidden}
.menu .grupo>.breve>span{font-size:14px;font-weight:650}
.menu .grupo>.breve>svg{color:var(--zc,currentColor)}
.menu .sair{margin-top:16px;border:1px solid rgba(255,255,255,.08)}
.lateral .marca-lado>div:not(.sigla),.lateral .quem-sou>div:not(.avatar),.lateral .rotulo-menu,.menu a>span,.menu button>span,.menu .breve>span,.menu .breve em,.menu .seta{opacity:0;transition:opacity .12s .3s}
.lateral:hover .marca-lado>div:not(.sigla),.lateral:hover .quem-sou>div:not(.avatar),.lateral:hover .rotulo-menu,.lateral:hover .menu a>span,.lateral:hover .menu button>span,.lateral:hover .menu .breve>span,.lateral:hover .menu .breve em,.lateral:hover .menu .seta,
.lateral:has(:focus-visible) .marca-lado>div:not(.sigla),.lateral:has(:focus-visible) .quem-sou>div:not(.avatar),.lateral:has(:focus-visible) .rotulo-menu,.lateral:has(:focus-visible) .menu a>span,.lateral:has(:focus-visible) .menu button>span,.lateral:has(:focus-visible) .menu .breve>span,.lateral:has(:focus-visible) .menu .breve em,.lateral:has(:focus-visible) .menu .seta{opacity:1;transition-delay:.09s}
.lateral:not(:hover):not(:has(:focus-visible)) .caixa-perfil{display:none}
.lateral:hover .menu .itens a,.lateral:hover .menu .itens .breve,.lateral:has(:focus-visible) .menu .itens a,.lateral:has(:focus-visible) .menu .itens .breve{padding-left:34px}
.lateral:hover .menu .itens a.atual::before,.lateral:has(:focus-visible) .menu .itens a.atual::before{left:22px}
.lateral .fechar-menu{display:none}
.barra-topo{height:76px;background:var(--zm,var(--lado));display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 28px;position:sticky;top:0;z-index:5;
  box-shadow:0 6px 20px rgba(15,23,42,.14);transition:background-color .25s}
.barra-topo h2{margin:0;font-size:21px;letter-spacing:-.015em;color:#fff}
.barra-topo p{margin:4px 0 0;color:rgba(255,255,255,.82);font-size:12px}
.barra-topo .marca-cel,.barra-topo .abre-menu{display:none}
.conteudo{min-width:0;padding:26px clamp(16px,2.2vw,28px) 60px}
.topo{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.topo h1{font-size:26px;font-weight:800;letter-spacing:-.01em}
.topo p{margin:4px 0 0;color:var(--suave)}

/* Cartões, números e tabelas */
.cartao{background:var(--cartao);border:1px solid var(--linha);border-radius:var(--r);padding:20px}
.cartao h3{font-size:15px;margin-bottom:14px}
.numeros{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:16px}
.numero{background:#fff;border:1px solid var(--linha);border-radius:var(--r);padding:18px 20px}
.numero span{color:var(--suave);font-size:13px;font-weight:600}
.numero b{display:block;font-size:32px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:4px}
.duas{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.barra-linha{display:grid;grid-template-columns:90px minmax(0,1fr) 32px;align-items:center;gap:10px;margin:9px 0;font-size:14px}
.barra{height:10px;border-radius:99px;background:var(--fundo);overflow:hidden}
.barra i{display:block;height:100%;border-radius:99px;background:var(--cor)}
.barra-linha b{text-align:right;font-variant-numeric:tabular-nums}
.filtros{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.filtros input{flex:1 1 240px}
.filtros select{width:auto;flex:0 0 auto}
.rolagem{overflow-x:auto;background:#fff;border:1px solid var(--linha);border-radius:var(--r)}
table{border-collapse:collapse;width:100%;min-width:640px}
th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--suave);text-align:left;padding:13px 16px;border-bottom:1px solid var(--linha);white-space:nowrap}
td{padding:13px 16px;border-bottom:1px solid var(--linha);vertical-align:middle}
tr:last-child td{border-bottom:0}
tbody tr.clicavel{cursor:pointer}
tbody tr.clicavel:hover{background:#fafbfe}
td .sub{display:block;color:var(--suave);font-size:13px}
td.acoes{text-align:right;white-space:nowrap}
.vazio{padding:38px 20px;text-align:center;color:var(--suave)}
.etiqueta{display:inline-block;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:700;background:var(--fundo);color:#3b4354;margin:1px 2px 1px 0;white-space:nowrap}
.etiqueta.verde{background:#e6f6ee;color:#14734a}
.etiqueta.ouro{background:#fff4d6;color:#8a5d00}
.etiqueta.cinza{background:#eef0f4;color:#5b6272}
.etiqueta.vermelha{background:#fde9ea;color:#b02a31}
.etiqueta.azul{background:color-mix(in srgb,var(--cor) 11%,#fff);color:var(--cor)}
.faixa{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.faixa i{width:26px;height:10px;border-radius:3px;border:1px solid rgba(0,0,0,.18);background:#fff}
.faixa .f-cinza{background:#9aa1ad}.faixa .f-amarela{background:#f2c81d}.faixa .f-laranja{background:#f08a24}
.faixa .f-verde{background:#2f9e58}.faixa .f-azul{background:#1f5fd6}.faixa .f-roxa{background:#6b3fb5}
.faixa .f-marrom{background:#6f4526}.faixa .f-preta{background:#15171c}

/* Janela e avisos */
dialog{border:0;border-radius:24px;padding:0;width:min(620px,calc(100vw - 24px));box-shadow:var(--sombra);color:var(--tinta)}
dialog::backdrop{background:rgba(8,14,40,.45)}
dialog form{padding:24px}
dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}
dialog header h2{font-size:20px}
dialog header p{margin:4px 0 0;color:var(--suave);font-size:14px}
dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:8px;flex-wrap:wrap}
#avisos{position:fixed;right:18px;bottom:18px;display:grid;gap:8px;z-index:50}
.aviso{background:var(--tinta);color:#fff;padding:12px 16px;border-radius:14px;box-shadow:var(--sombra);max-width:360px;font-weight:600}
.aviso.erro{background:var(--vermelho)}

@media (max-width:900px){
  .grade{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* Planos, contratos e página do cliente */
dialog.larga{width:min(820px,calc(100vw - 24px))}
.voltar{display:inline-flex;align-items:center;gap:4px;color:var(--suave);text-decoration:none;font-weight:600;font-size:14px;margin-bottom:10px}
.voltar:hover{color:var(--cor)}
.acoes-linha{display:flex;gap:8px;flex-wrap:wrap}
.pilha{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.pilha>*{min-width:0}
.cartao>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.cartao>header h3{margin:0;font-size:17px}
.cartao>header p{margin:4px 0 0;color:var(--suave);font-size:14px}
.dados{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0 0 14px}
.dados div{background:var(--fundo);border-radius:14px;padding:11px 13px}
.dados dt{font-size:12px;color:var(--suave);font-weight:600}
.dados dd{margin:2px 0 0;font-weight:700;font-variant-numeric:tabular-nums}
.linha-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--linha);flex-wrap:wrap}
.linha-item:first-of-type{border-top:0}
.linha-item small{display:block;color:var(--suave)}
.documento{white-space:pre-wrap;background:var(--fundo);border-radius:14px;padding:16px;font-size:14px;line-height:1.6;max-height:46vh;overflow:auto;margin:0 0 12px;font-family:inherit}
.historico{list-style:none;margin:0;padding:0;display:grid;gap:10px;max-height:40vh;overflow:auto}
.historico li{border-left:3px solid var(--linha);padding:2px 0 2px 12px;font-size:14px}
.historico small{display:block;color:var(--suave)}
.bloco{background:#fff;border:1px solid var(--linha);border-radius:var(--r);padding:20px;margin-bottom:16px}
.bloco>h3{font-size:16px;margin-bottom:4px}
.bloco>p{margin:0 0 14px;color:var(--suave);font-size:14px}
.grade.tres{grid-template-columns:repeat(3,minmax(0,1fr))}
.com-resumo{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.resumo-plano{position:sticky;top:18px;background:var(--cor-escura);color:#fff;border-radius:var(--r);padding:20px}
.resumo-plano small{color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}
.resumo-plano h3{font-size:20px;margin:6px 0 2px}
.resumo-plano .preco{font-size:30px;font-weight:800;letter-spacing:-.02em;margin:10px 0}
.resumo-plano ul{margin:10px 0 0;padding-left:18px;color:rgba(255,255,255,.85);font-size:14px;display:grid;gap:5px}
.mod-linha{display:grid;grid-template-columns:minmax(140px,1fr) 190px 110px;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--linha)}
.mod-linha:first-child{border-top:0}
.mod-linha label{display:flex;align-items:center;gap:9px;font-weight:600}
.mod-linha input[type=checkbox],.marca-simples input{width:auto}
.marca-simples{display:flex;align-items:center;gap:9px;font-weight:600;font-size:14px;color:var(--tinta)}
.resumo-venda{background:var(--fundo);border-radius:14px;padding:12px 14px;font-size:14px;display:grid;gap:4px}
.resumo-venda b{font-size:17px}
.rodape-form{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.numero.clicavel{cursor:pointer;text-align:left;font:inherit;color:inherit}
.numero.clicavel:hover{border-color:var(--cor)}
@media (max-width:900px){.com-resumo{grid-template-columns:1fr}.resumo-plano{position:static}.grade.tres{grid-template-columns:1fr}.mod-linha{grid-template-columns:1fr 1fr}}
@media print{
  body>*:not(dialog){display:none!important}
  dialog{position:static;box-shadow:none;width:100%;max-width:none}
  dialog::backdrop{background:none}
  .nao-imprimir,.historico,.so-tela{display:none!important}
  .documento{max-height:none;overflow:visible;background:none;padding:0}
}

@media (max-width:820px){
  .casca{display:block}
  .lateral{width:min(84vw,340px);height:100dvh;z-index:40;transform:translateX(-104%);transition:transform .28s cubic-bezier(.2,.8,.2,1);box-shadow:24px 0 70px rgba(0,0,0,.26);padding:20px 16px 24px}
  .lateral:hover,.lateral:has(:focus-visible){width:min(84vw,340px)}
  .casca.menu-aberto .lateral{transform:none}
  .casca.menu-aberto::after{content:"";position:fixed;inset:0;background:rgba(8,14,40,.45);z-index:30}
  .lateral .marca-lado>div:not(.sigla),.lateral .quem-sou>div:not(.avatar),.lateral .rotulo-menu,.menu a>span,.menu button>span,.menu .breve>span,.menu .breve em,.menu .seta{opacity:1}
  .lateral:not(:hover):not(:has(:focus-visible)) .caixa-perfil{display:block}
  .lateral .marca-lado{padding-right:48px}
  .lateral .quem-sou{padding:12px}
  .menu{gap:7px}
  .menu a,.menu button{min-height:50px;border-radius:16px;padding:12px 14px}
  .menu a>span,.menu button>span{font-size:15px}
  .menu .itens a,.menu .itens .breve{padding-left:34px;min-height:44px}
  .menu .itens a.atual::before{left:22px}
  .lateral .fechar-menu{display:flex;position:absolute;top:18px;right:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.08);color:#fff;align-items:center;justify-content:center;z-index:3}
  .barra-topo{height:68px;padding:0 12px 0 10px;justify-content:flex-start}
  .barra-topo .titulo-barra{display:none}
  .barra-topo .marca-cel{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;letter-spacing:.08em;text-transform:uppercase;min-width:0;flex:1}
  .barra-topo .marca-cel .sigla{width:40px;height:40px;border-radius:12px;background:#fff;color:var(--cor);display:grid;place-items:center;font-size:15px;flex:none;letter-spacing:0}
  .barra-topo .marca-cel span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .barra-topo .abre-menu{display:flex;width:44px;height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.14);color:#fff;align-items:center;justify-content:center;flex:none}
}

/* Identidade visual do protótipo nas telas: botões, etiquetas, tabelas, janela, lista e ficha do cliente */
.bt{border-radius:13px;padding:10px 13px;font-weight:750;color:#20283a;justify-content:center}
.bt.pequeno{padding:8px 10px;font-size:12px;border-radius:13px}
.bt.principal{color:#fff}
.bt.escuro{background:#0b1f6b;border-color:#0b1f6b;color:#fff;height:40px;padding:0 15px;border-radius:11px;font-weight:700;font-size:13.5px}
.bt.escuro:hover{background:#1d4ed8;border-color:#1d4ed8}
.bt.claro{background:#fff;border:1px solid #dbe1ea;color:#1e293b;height:40px;padding:0 15px;border-radius:11px;font-weight:700;font-size:13.5px}
.bt.elo{background:transparent;border:0;color:#1d4ed8;height:40px;padding:0 10px;border-radius:11px;font-weight:700;font-size:13.5px}
.bt.elo:hover{background:#eff4ff}
.bt.perigo{background:var(--vermelho);border-color:var(--vermelho);color:#fff}
.bt svg{width:17px;height:17px;stroke-width:2}
.etiqueta{padding:6px 9px;font-size:11px;font-weight:800;background:#f2f4f8;color:#364055}
.etiqueta.verde{background:#e9f8f0;color:#167647}.etiqueta.vermelha{background:#fff0f1;color:#ad2a31}
.etiqueta.ouro{background:#fff4cc;color:#8a6100}.etiqueta.cinza{background:#f1f3f6;color:#6b7280}
.etiqueta.azul{background:color-mix(in srgb,var(--cor) 9%,#fff);color:var(--cor)}
.pilula{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 11px;font-size:12px;font-weight:800;vertical-align:middle;white-space:nowrap;text-transform:none;letter-spacing:0}
.pilula i{width:7px;height:7px;border-radius:50%}
.pilula.ok{background:#dcfce7;color:#15803d}.pilula.ok i{background:#16a34a}
.pilula.atraso{background:#fee2e2;color:#b91c1c}.pilula.atraso i{background:#dc2626}
.pilula.fora{background:#f1f5f9;color:#64748b}.pilula.fora i{background:#94a3b8}
.rolagem{border:1px solid rgba(15,23,42,.07);border-radius:18px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
table{font-size:13.5px}
th{background:#f8fafc;color:#64748b;font-size:11px;font-weight:800;letter-spacing:.05em;padding:11px 14px;border-bottom:1px solid #eef1f5}
td{padding:11px 14px;border-bottom:1px solid #f1f4f8}
tbody tr.clicavel:hover td{background:#f8fbff}
td .sub{color:#94a3b8;font-size:11.5px}
td.direita,th.direita{text-align:right;white-space:nowrap}
td.devendo{color:#b91c1c;font-weight:800}
dialog{border-radius:26px;width:min(560px,calc(100vw - 36px));box-shadow:0 30px 100px rgba(0,0,0,.25)}
dialog.larga{width:min(760px,calc(100vw - 36px))}
dialog::backdrop{background:rgba(4,10,28,.58)}
dialog form{padding:22px}
dialog header h2{font-size:18.7px;margin:0 0 5px}
dialog header p{font-size:13px;margin:0}
dialog label.campo{font-size:11px;color:var(--suave);font-weight:400}
dialog input,dialog select,dialog textarea{padding:11px;font-size:16px}
dialog footer .bt{font-size:16px;padding:10px 13px}
.nome-avatar{display:flex;align-items:center;gap:10px}
.avatar-p{width:34px;height:34px;border-radius:50%;color:#fff;font-weight:800;font-size:12px;display:grid;place-items:center;flex:0 0 34px}
.barra-lista{display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:16px;padding:12px 14px;margin-bottom:12px}
.barra-lista .busca{display:flex;align-items:center;gap:8px;flex:1 1 280px;height:40px;border:1px solid #dbe1ea;border-radius:11px;padding:0 12px;background:#f8fafc;color:#64748b}
.barra-lista .busca input{border:0;background:transparent;outline:0;flex:1;padding:0;font-size:15px;color:var(--tinta)}
.fichas{display:flex;gap:6px;flex-wrap:wrap}
.ficha-f{border:1px solid #dbe1ea;background:#fff;border-radius:999px;padding:7px 12px;font-size:12.5px;font-weight:700;color:#334155;display:inline-flex;gap:6px;align-items:center}
.ficha-f b{background:#eef2f7;border-radius:999px;padding:1px 7px;font-size:11px}
.ficha-f.ligada{background:#0b1f6b;border-color:#0b1f6b;color:#fff}
.ficha-f.ligada b{background:rgba(255,255,255,.18)}
.cab-lista{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:2px 0 14px}
.cab-lista h1{margin:0;font-size:24px}
.cab-lista p{margin:2px 0 0;color:#64748b;font-size:13.5px}
.cli-cab{display:flex;gap:18px;align-items:center;background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:20px;padding:18px 20px;margin-bottom:12px;position:relative}
.cli-volta{position:absolute;top:12px;left:12px;width:32px;height:32px;border:1px solid #e2e8f0;border-radius:9px;background:#fff;color:#334155;display:grid;place-items:center;text-decoration:none}
.cli-volta svg{width:16px;height:16px;stroke-width:2}
.cli-foto{width:104px;height:104px;border-radius:50%;padding:4px;background:conic-gradient(#16a34a,#22c55e);flex:0 0 104px;margin-left:26px}
.cli-foto.atraso{background:conic-gradient(#dc2626,#f87171)}.cli-foto.fora{background:#cbd5e1}
.cli-foto span{width:100%;height:100%;border-radius:50%;color:#fff;font-size:34px;font-weight:800;display:grid;place-items:center;border:4px solid #fff}
.cli-info{min-width:0}
.cli-info h1{margin:0;font-size:24px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;text-transform:uppercase;letter-spacing:.01em}
.cli-info p{margin:4px 0 12px;color:#64748b;font-size:13.5px}
.cli-botoes{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.cli-mais{position:relative}
.cli-menu{display:none;position:absolute;top:calc(100% + 6px);left:0;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 14px 34px rgba(15,23,42,.16);padding:6px;z-index:30;min-width:230px}
.cli-mais.aberto .cli-menu{display:block}
.cli-menu button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;padding:10px 12px;border-radius:9px;font-size:13.5px;text-align:left;color:#0f172a}
.cli-menu button:hover{background:#f1f5f9}
.cli-abas{display:flex;gap:2px;overflow-x:auto;background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:14px;padding:5px;margin-bottom:14px;scrollbar-width:thin}
.cli-abas button{border:0;background:none;padding:10px 16px;border-radius:10px;font-weight:800;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:#64748b;white-space:nowrap}
.cli-abas button:hover:not(:disabled){color:#0f172a;background:#f8fafc}
.cli-abas button.ligada{background:#0b1f6b;color:#fff}
.cli-abas button:disabled{opacity:.45;cursor:default}
.indicadores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
.indicador{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:16px;padding:14px;min-width:0}
.indicador .ic,.caixa-cab .ic{width:38px;height:38px;border-radius:11px;background:#eff4ff;color:#1d4ed8;display:grid;place-items:center;flex:0 0 38px}
.indicador .ic svg,.caixa-cab .ic svg{width:19px;height:19px}
.indicador small{display:block;color:#64748b;font-size:12px}
.indicador b{font-size:18px;color:#0f172a;white-space:nowrap}
.indicador.atraso .ic{background:#fee2e2;color:#b91c1c}.indicador.atraso b{color:#b91c1c}
.indicador.bom .ic{background:#dcfce7;color:#15803d}
.caixas3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.caixa{background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:18px;box-shadow:0 1px 2px rgba(15,23,42,.04);padding:16px 18px;min-width:0}
.caixa+.caixa.solta{margin-top:14px}
.caixa-cab{display:flex;align-items:center;gap:10px;padding-bottom:10px;margin-bottom:6px;border-bottom:1px solid #f1f4f8}
.caixa-cab h4{margin:0;font-size:15px;flex:1}
.bt-seta{width:32px;height:32px;border:1px solid #e2e8f0;border-radius:9px;background:#fff;color:#334155;display:grid;place-items:center}
.bt-seta svg{width:16px;height:16px;stroke-width:2;transform:rotate(-90deg)}
.item-l{padding:8px 0;border-bottom:1px dashed #eef1f5;font-size:13.5px;overflow-wrap:anywhere}
.item-l:last-child{border-bottom:0}
.item-l small{display:block;color:#94a3b8;font-size:11.5px}
.item-l.linha{display:flex;justify-content:space-between;gap:10px;align-items:center}
.faixa-barra{height:22px;border-radius:5px;border:1px solid rgba(0,0,0,.15);position:relative;background:#fff;margin-top:8px;display:flex;justify-content:flex-end;padding-right:10px;overflow:hidden}
.faixa-barra .ponta{height:100%;min-width:58px;padding:0 8px;background:#111827;display:flex;align-items:center;justify-content:center;gap:4px}
.faixa-barra.f-preta .ponta{background:#b91c1c}
.faixa-barra .ponta i{width:4px;height:72%;background:#fff;border-radius:1px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.faixa-barra.grande{height:46px;border-radius:9px;padding-right:18px;box-shadow:0 8px 20px rgba(15,23,42,.10)}
.faixa-barra.grande .ponta{min-width:84px;gap:6px;padding:0 12px}
.faixa-barra.grande .ponta i{width:7px;height:66%;border-radius:2px}
.previa-faixa{display:flex;flex-direction:column;gap:6px}
.previa-faixa .faixa-barra{margin-top:0;max-width:420px}
.previa-faixa small{color:#64748b;font-size:12.5px}
.caixa .forte{display:block;margin-top:10px;font-weight:700}
.caixa .fraco{color:#64748b;font-size:12px}
.cab-secao{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.cab-secao h3{margin:0;font-size:18px}
.contrato{border:1px solid var(--linha);border-radius:var(--r);padding:20px;margin-bottom:14px}
.contrato:last-child{margin-bottom:0}
.contrato h3{font-size:16px;margin:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.contrato .meta{color:var(--suave);font-size:12px;margin:5px 0 12px}
.quadros{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:14px}
.quadro{border:1px solid var(--linha);border-radius:20px;padding:12px;min-width:0}
.quadro small{color:var(--suave);font-size:13.5px;display:block}
.quadro b{font-size:26px;font-weight:800;letter-spacing:-.02em;display:block;line-height:1.2}
.quadro b em{font-style:normal;font-size:13px;color:#475569;font-weight:800}
.quadro .medidor{height:6px;border-radius:99px;background:#eef1f5;overflow:hidden;margin:6px 0}
.quadro .medidor i{display:block;height:100%;background:var(--cor);border-radius:99px}
.quadro .elos{display:flex;gap:12px;font-size:11px;flex-wrap:wrap}
.quadro .elos button{border:0;background:none;padding:0;color:#1d4ed8;text-decoration:underline;font-size:11px}
.blocos-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.blocos-info div{border:1px solid var(--linha);border-radius:14px;padding:10px 12px}
.blocos-info small{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--suave)}
.blocos-info b{font-size:13.5px}
@media (max-width:1000px){.caixas3{grid-template-columns:1fr}.indicadores{grid-template-columns:1fr}}
@media (max-width:820px){.cli-cab{flex-direction:column;align-items:flex-start;padding-top:52px}.cli-foto{margin-left:0;width:84px;height:84px;flex-basis:84px}.cli-foto span{font-size:26px}.cli-info h1{font-size:20px}}
.maiusculo{text-transform:uppercase}
.quadro-fino .medidor{height:6px;border-radius:99px;background:#eef1f5;overflow:hidden;margin:8px 0 4px}
.quadro-fino .medidor i{display:block;height:100%;background:var(--cor);border-radius:99px}
.tabela-solta{overflow-x:auto;margin-top:12px}
.tabela-solta table{min-width:620px}
.caixa .vazio{padding:16px 0;color:#94a3b8;font-size:13.5px;margin:0}
.caixa .contrato .meta{margin-bottom:12px}
.caixa>.fichas{margin-bottom:2px}
.seletor-plano{height:40px;border:1px solid #dbe1ea;border-radius:11px;padding:0 10px;width:auto;font-size:14px}
.cli-abas button.ligada,.cli-abas button.ligada:hover{background:#0b1f6b;color:#fff}
.faixa-barra.f-cinza{background:#9aa1ad}.faixa-barra.f-amarela{background:#f2c81d}.faixa-barra.f-laranja{background:#f08a24}
.faixa-barra.f-verde{background:#2f9e58}.faixa-barra.f-azul{background:#1f5fd6}.faixa-barra.f-roxa{background:#6b3fb5}
.faixa-barra.f-marrom{background:#6f4526}.faixa-barra.f-preta{background:#111827}

/* Agenda, Semana Padrão, Espaços e Chamada */
.numero small{display:block;color:var(--verde);font-size:13px;margin-top:6px}
.numeros{margin-bottom:16px}
.cartao{border-radius:var(--r);margin-bottom:16px;box-shadow:0 10px 32px rgba(20,30,70,.043)}
.cartao h3.grande{font-size:20px}
.bt.sucesso{background:var(--verde);border-color:var(--verde);color:#fff}
.bt.grande{padding:13px;font-size:16px}
.nota-azul{background:color-mix(in srgb,var(--cor) 6%,#fff);border:1px solid color-mix(in srgb,var(--cor) 20%,#fff);border-radius:14px;padding:12px 14px;font-size:12.5px;color:#334155;margin:0 0 14px}
.espaco-acima{margin-top:14px}.espaco-abaixo{margin-bottom:14px}
.grade-cartoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.grade-cartoes .contrato{margin:0}
.numerao{font-size:34px;font-weight:800;letter-spacing:-.03em}
.quadro-sem-borda em{font-style:normal;font-size:12px;font-weight:700;color:#475569}
.quadro-sem-borda .medidor{height:7px;border-radius:99px;background:#eef1f5;overflow:hidden;margin:8px 0 4px}
.quadro-sem-borda .medidor i{display:block;height:100%;background:var(--cor);border-radius:99px}
.semana{display:grid;grid-template-columns:repeat(7,minmax(170px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px}
.semana-dia{background:#fafbfd;border:1px solid var(--linha);border-radius:18px;padding:10px;min-width:0}
.semana-dia h4{margin:4px 4px 10px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#364055}
.aula-cartao{background:#fff;border:1px solid var(--linha);border-radius:16px;padding:12px;margin-bottom:8px;display:grid;gap:3px}
.aula-cartao.inativa{opacity:.6}
.aula-cartao .hora{font-size:15px;font-weight:800}
.aula-cartao strong{font-size:13px}
.aula-cartao small{color:var(--suave);font-size:11px}
.aula-cartao .etiqueta{justify-self:start;margin:6px 0}
.aula-cartao .bt.pequeno{padding:6px 9px;font-size:11px}
.vazio-pequeno{color:#94a3b8;font-size:12px;margin:6px 4px}
.agenda-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.agenda-nav .mes{display:flex;align-items:center;gap:12px}
.agenda-nav .mes b{font-size:17px}
.bt-seta.lado{width:42px;height:42px;border-radius:14px}
.bt-seta.lado svg{transform:none;width:18px;height:18px}
.bt-seta.lado.virado svg{transform:rotate(180deg)}
.dias{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.dia{flex:0 0 62px;border:1px solid var(--linha);background:#fff;border-radius:16px;padding:10px 4px;display:grid;gap:2px;justify-items:center;color:var(--tinta)}
.dia span{font-size:13px;color:var(--suave)}
.dia b{font-size:19px}
.dia small{font-size:9px;color:var(--suave)}
.dia.ligado{background:var(--cor);border-color:var(--cor);color:#fff}
.dia.ligado span,.dia.ligado small{color:rgba(255,255,255,.85)}
.aula-linha{display:flex;align-items:center;gap:22px;border:1px solid var(--linha);border-radius:18px;padding:14px 16px;margin-bottom:10px;flex-wrap:wrap}
.aula-linha:last-child{margin-bottom:0}
.aula-linha .hora{font-size:20px;font-weight:800;letter-spacing:-.02em;flex:0 0 70px}
.aula-linha .info{flex:1 1 240px;min-width:0}
.aula-linha .info strong{display:block;font-size:15px}
.aula-linha .info small{display:block;color:var(--suave);font-size:13px;margin:2px 0 6px}
.cartao>.aula-linha{border-width:0 0 1px;border-radius:0;padding:16px 0;margin:0}
.cartao>.aula-linha:last-child{border-bottom:0}
.cartao .meta{color:var(--suave);font-size:13px;margin:0}
p.meta{color:var(--suave);font-size:12px}
@media (max-width:820px){.aula-linha{gap:10px}.aula-linha .hora{flex-basis:auto}}

/* Financeiro */
.filtros-fin{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:flex-end;margin:0 0 14px}
.filtros-fin label{display:grid;gap:5px;min-width:0}
.filtros-fin label>span{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#64748b}
.filtros-fin select,.filtros-fin input{width:auto;min-width:130px;max-width:100%;height:38px;padding:0 10px;border-radius:10px;font-size:13.5px;border-color:#dbe1ea}
.filtros-fin input[type=search]{min-width:170px}
select.estreito{width:auto;max-width:100%}
.numeros.fin{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.numeros.fin .numero{padding:14px 16px;border-radius:16px;border-color:rgba(15,23,42,.07);box-shadow:0 1px 2px rgba(15,23,42,.04);min-width:0}
.numeros.fin .numero>span{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#64748b}
.numeros.fin .numero b{font-size:21px;margin-top:6px;overflow-wrap:anywhere}
.numeros.fin .numero small{color:#64748b;font-size:11.5px;margin-top:4px}
.numeros.fin .numero em{display:block;font-style:normal;color:#64748b;font-size:11.5px;margin-top:2px}
.numeros.fin .numero em+small{color:#15803d}
.numero.verde b{color:#15803d}.numero.vermelho b{color:#b91c1c}.numero.laranja b{color:#c2410c}.numero.azul b{color:#1d4ed8}
.numero.borda{border-left:4px solid #94a3b8}
.numero.verde.borda{border-left-color:#16a34a}.numero.vermelho.borda{border-left-color:#dc2626}.numero.azul.borda{border-left-color:#1d4ed8}
.rotulo-ponto{display:inline-flex;align-items:center;gap:7px;text-transform:none!important;letter-spacing:0!important;font-size:12.5px!important;font-weight:600!important}
.rotulo-ponto i,.legenda i{width:9px;height:9px;border-radius:50%;background:#94a3b8;flex:none}
.rotulo-ponto i.verde{background:#16a34a}.rotulo-ponto i.azul{background:#2563eb}.rotulo-ponto i.vermelho{background:#dc2626}.rotulo-ponto i.laranja{background:#ea580c}
td.entrou,b.entrou{color:#15803d;font-weight:700}td.saiu,b.saiu{color:#b91c1c;font-weight:700}
tr.riscado td{color:#94a3b8;text-decoration:line-through}
tr.riscado td .sub{text-decoration:none}
.linhas-valor{display:grid;gap:0}
.linhas-valor>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid #f1f4f8;font-size:13.5px}
.linhas-valor>div:last-child{border-bottom:0}
.linhas-valor span{color:#475569;min-width:0}
.linhas-valor span small{display:block;color:#94a3b8;font-size:11.5px}
.linhas-valor b{font-variant-numeric:tabular-nums;white-space:nowrap}
.linhas-valor .total{border-top:1px solid #dbe1ea;border-bottom:0;margin-top:2px}
.linhas-valor .total span{color:var(--tinta);font-weight:700}.linhas-valor .total b{font-size:16px}
.grade-cartoes.paineis{margin-bottom:16px;align-items:stretch}
.grade-cartoes.paineis .cartao{margin:0}
.conta-fin .numerao{display:block;font-size:24px;font-weight:800;letter-spacing:-.02em;margin:6px 0 2px;font-variant-numeric:tabular-nums}
.colunas-mes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;align-items:end;height:170px;margin-top:6px}
.colunas-mes>div{display:grid;grid-template-rows:1fr auto;gap:6px;height:100%;text-align:center}
.colunas-mes .par{display:flex;align-items:flex-end;justify-content:center;gap:4px;border-bottom:1px solid #e2e8f0}
.colunas-mes .par i{width:38%;max-width:22px;min-height:2px;border-radius:5px 5px 0 0;background:#16a34a}
.colunas-mes .par i.vermelho{background:#ef4444}
.colunas-mes small{color:#64748b;font-size:11.5px}
.legenda{display:flex;gap:14px;margin:10px 0 0}
.barra-linha.larga{font-size:13px}
.barra-linha.larga .barra i{background:#16a34a}
.barras-vermelhas .barra-linha.larga .barra i{background:#ef4444}
.cab-lista h1.menor{font-size:18px}
.cartao>header .acoes-linha{align-items:center}
@media (max-width:640px){
  .filtros-fin label{flex:1 1 140px}
  .filtros-fin select,.filtros-fin input{width:100%}
}
@media print{
  dialog .tabela-solta{overflow:visible}
  dialog table{min-width:0;font-size:11px}
}
td a:not(.bt){color:inherit;text-decoration:none}
td a:not(.bt):hover{color:var(--cor);text-decoration:underline}
section.cartao>.tabela-solta table{min-width:820px}
.barra-linha.larga{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;margin:10px 0}
.barra-linha.larga .barra{grid-column:1/-1;grid-row:2;height:7px}

/* Ensino */
.faixa i.l-branca{background-image:linear-gradient(180deg,transparent 30%,#fff 30%,#fff 70%,transparent 70%)}
.faixa i.l-preta{background-image:linear-gradient(180deg,transparent 30%,#15171c 30%,#15171c 70%,transparent 70%)}
.faixa-barra.l-branca{background-image:linear-gradient(180deg,transparent 32%,#fff 32%,#fff 68%,transparent 68%)}
.faixa-barra.l-preta{background-image:linear-gradient(180deg,transparent 32%,#15171c 32%,#15171c 68%,transparent 68%)}
.rotulo-campo{display:block;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin-bottom:6px}
.escolhas{display:grid;gap:6px}
.escolhas.em-linha{display:flex;flex-wrap:wrap;gap:6px}
.escolha{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--linha);border-radius:12px;padding:8px 11px;font-size:13.5px;cursor:pointer}
.escolha input{width:auto;margin-top:3px}
.escolha small{display:block;color:#94a3b8;font-size:11.5px}
.escolha:has(input:checked){border-color:var(--cor);background:color-mix(in srgb,var(--cor) 5%,#fff)}
.estreito-campo{width:auto;flex:1 1 220px}
.ficha-f.azul{background:#eef2ff;border-color:#e0e7ff;color:#1d4ed8}
.ficha-f.verde{background:#e6f6ee;border-color:#cdebd9;color:#14734a}
.ficha-f.ouro{background:#fff4d6;border-color:#f3e2a8;color:#8a5d00}
.ficha-f:disabled{cursor:default;opacity:1}
.ficha-f b.verde{background:#dcfce7;color:#15803d}
.ficha-f .faixa{gap:6px}
.apagado{opacity:.55}
span.apagado{opacity:1;color:#94a3b8}
.semana-plano{display:grid;grid-template-columns:130px minmax(0,1fr) 170px;gap:16px;padding:18px 0;border-top:1px solid var(--linha);align-items:center}
.semana-plano:first-of-type{border-top:0}
.sp-lado{display:grid;gap:6px;justify-items:start}
.sp-lado h4{margin:0;font-size:15px}
.sp-lado small,.sp-fim small{color:#94a3b8;font-size:11.5px}
.sp-fim{display:grid;gap:4px}
.sp-fim b{font-size:18px}
.turma-plano{display:grid;grid-template-columns:120px minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid var(--linha);border-radius:14px;padding:8px 12px;margin-bottom:6px}
.turma-plano.ok{background:#f3faf6;border-color:#d5ecdf}
.turma-plano>.etiqueta{justify-self:start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tp-tecnica b{display:block;font-size:13.5px}
.tp-tecnica small{color:#64748b;font-size:11.5px}
.lista-rolavel{max-height:56vh;overflow:auto}
.barra-linha.ranking{grid-template-columns:minmax(0,1fr) minmax(80px,1fr) 28px}
.barra-linha.ranking span small{display:block;color:#94a3b8;font-size:11.5px}
.barra-linha.ranking .barra i{background:linear-gradient(90deg,#3b82f6,#8b5cf6)}
.barra-linha.ranking .barra.verde i{background:linear-gradient(90deg,#10b981,#3b82f6)}
.resumo-grad{cursor:pointer;margin:0}
.resumo-grad.ligado{border:2px solid var(--cor)}
.resumo-grad .cab-secao{margin-bottom:4px}
.resumo-grad small{color:#64748b;font-size:12px}
.grande-numero{margin:0;font-weight:700}
.grande-numero b{font-size:30px;font-weight:800;margin-right:4px}
.medidor{height:7px;border-radius:99px;background:#eef1f5;overflow:hidden}
.medidor i{display:block;height:100%;background:var(--cor);border-radius:99px}
.medidor.fino{height:4px;margin-top:6px;max-width:110px}
.medidor.verde i{background:#16a34a}.medidor.laranja i{background:#ea580c}
table.regras input{width:84px;height:34px;padding:0 8px}
.evo-colunas{display:grid;grid-template-columns:minmax(260px,400px) minmax(0,1fr);gap:16px;align-items:start}
.botao-linha{width:100%;background:transparent;border:0;border-top:1px solid var(--linha);text-align:left;font:inherit;color:inherit;border-radius:0}
.botao-linha:hover,.botao-linha.ligada{background:#f4f6fb}
.colunas-mes .par i.azul{background:#3b82f6}
.graus{display:flex;gap:8px;flex-wrap:wrap}
.graus span{width:38px;height:38px;border-radius:50%;border:2px solid var(--linha);display:grid;place-items:center;font-weight:800;color:#94a3b8}
.graus span.feito{background:#0b1f6b;border-color:#0b1f6b;color:#fff}
dialog textarea{resize:vertical}
@media (max-width:900px){
  .semana-plano{grid-template-columns:1fr}
  .turma-plano{grid-template-columns:minmax(0,1fr) auto}
  .turma-plano .tp-tecnica{grid-column:1/-1;grid-row:2}
  .evo-colunas{grid-template-columns:1fr}
}

/* CRM */
.barra-lista .espacador{flex:1}
.op-quadro{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(232px,1fr);gap:12px;overflow-x:auto;padding-bottom:10px;align-items:start}
.op-coluna{background:#eef1f8;border-radius:16px;padding:10px;min-height:220px;border:2px solid transparent}
.op-coluna.sobre{border-color:#1d3bd1;background:#e0e7ff}
.op-coluna.g{background:#e9f8ef}.op-coluna.p{background:#fdeeee}
.op-cab{display:flex;justify-content:space-between;align-items:center;padding:2px 4px}
.op-cab b{font-size:13.5px}
.op-cab span{font-size:12px;font-weight:800;background:#fff;border-radius:999px;padding:2px 9px;color:#334155}
.op-prazo{display:block;color:#64748b;font-size:11.5px;padding:0 4px 6px}
.op-lista{display:grid;gap:8px;margin-top:6px}
.op-vazia{text-align:center;color:#94a3b8;font-size:12.5px;padding:18px 0}
.op-cartao{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:13px;padding:11px 12px;cursor:grab;display:grid;gap:7px;box-shadow:0 1px 2px rgba(15,23,42,.05)}
.op-cartao:hover,.op-cartao:focus-visible{border-color:#a5b4fc;outline:0}
.op-cartao.arrastando{opacity:.45}
.op-cartao.atrasada{border-left:4px solid #dc2626}
.op-cartao>b{font-size:13.5px;line-height:1.25}
.op-cartao>small{font-size:11.5px;color:#475569}
.quem-op{display:flex;gap:8px;align-items:center;min-width:0}
.quem-op .avatar-p{width:28px;height:28px;flex:0 0 28px;font-size:10.5px}
.quem-op>span:last-child{font-size:12.5px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quem-op small{display:block;font-weight:500;color:#64748b;font-size:11px}
.meta-op{display:flex;justify-content:space-between;gap:6px;align-items:center;font-size:11.5px;color:#64748b}
.op-cartao .ruim,.meta-op .ruim{color:#b91c1c;font-weight:700}
.op-cartao .resp{font-size:11px;color:#94a3b8;border-top:1px solid #f1f5f9;padding-top:6px}
.interesse{font-size:10.5px;font-weight:800;border-radius:999px;padding:3px 8px;text-transform:uppercase;letter-spacing:.03em;background:#fef3c7;color:#92400e;white-space:nowrap}
.interesse.q{background:#fee2e2;color:#b91c1c}.interesse.f{background:#e0f2fe;color:#0369a1}
tr.clicavel{cursor:pointer}
tr.clicavel:hover td{background:#f8fafc}
.acoes-linha.no-fim{align-items:flex-end}
.contadores{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:12px}
.contadores button{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:10px 8px;display:grid;gap:2px;font-family:inherit}
.contadores button b{font-size:19px;color:#0f172a}
.contadores button span{font-size:11.5px;color:#64748b;font-weight:700}
.contadores button.ligado{background:#0b1f6b;border-color:#0b1f6b}
.contadores button.ligado b,.contadores button.ligado span{color:#fff}
.contadores button.ruim:not(.ligado) b{color:#b91c1c}
.atividade{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #eef2f7;flex-wrap:wrap}
.atividade:first-child{border-top:0}
.atividade .tipo{font-size:11px;font-weight:800;background:#eef2ff;color:#3730a3;border-radius:999px;padding:4px 10px;white-space:nowrap}
.atividade>div:nth-child(2){flex:1;min-width:200px}
.atividade b{display:block;font-size:14px}
.atividade small{color:#64748b;font-size:12.5px}
.atividade .quando{text-align:right;min-width:130px}
.atividade .quando b{font-size:13px}
.atividade.atrasada{border-left:3px solid #dc2626;padding-left:10px}
.atividade.atrasada .quando b{color:#b91c1c}
.indicadores.cinco{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.mini-contadores{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}
.mini-contadores div{background:#f8fafc;border-radius:12px;padding:10px;text-align:center}
.mini-contadores b{display:block;font-size:20px}
.mini-contadores span{font-size:11.5px;color:#64748b}
.mini-contadores .ruim b{color:#b91c1c}
.barra-linha.larga .barra.azul i{background:var(--cor)}
.funil{border:1px solid #e5e9f2;border-radius:16px;padding:12px 14px;margin-top:10px}
.funil .cab-secao small{color:#64748b}
.etapas{display:flex;gap:8px;flex-wrap:wrap}
.etapas>div{display:flex;gap:8px;align-items:center;background:#f8fafc;border:1px solid #e5e9f2;border-radius:12px;padding:8px 10px}
.etapas em{font-style:normal;width:22px;height:22px;border-radius:50%;background:#0b1f6b;color:#fff;font-size:11.5px;font-weight:800;display:grid;place-items:center;flex:none}
.etapas span b{display:block;font-size:13px}
.etapas span small{color:#64748b;font-size:11.5px}
.etapas .bt-seta.lado{width:32px;height:32px;border-radius:9px}
.etapas .fixa.g{background:#e9f8ef;border-color:#bbf7d0}.etapas .fixa.p{background:#fdeeee;border-color:#fecaca}
.marcadores{display:flex;gap:6px;flex-wrap:wrap}
.marcadores span{background:#f1f5f9;border-radius:999px;padding:6px 6px 6px 12px;font-size:12.5px;font-weight:600;display:inline-flex;gap:6px;align-items:center}
.marcadores button{border:0;background:#e2e8f0;border-radius:50%;width:18px;height:18px;line-height:16px;color:#475569;padding:0;font-size:13px}
.cadastro-publico{max-width:640px;margin:0 auto;padding:28px 16px 60px}
.cadastro-publico h1{font-size:24px;margin-bottom:6px}
.cadastro-publico p{color:var(--suave)}
.cadastro-publico form{margin-top:16px}
.cadastro-publico .bt.grande{width:100%;margin-top:10px}
@media (max-width:820px){
  .contadores{grid-template-columns:repeat(3,minmax(0,1fr))}
  .op-quadro{grid-auto-columns:minmax(240px,82vw)}
}

/* Menu fixo: a pessoa escolhe deixar o menu sempre aberto; o conteúdo ocupa o espaço que sobra (só em telas largas). */
.lateral .fixar-menu{display:none}
@media (min-width:821px){
  .casca{transition:grid-template-columns .22s}
  .casca.menu-fixo{grid-template-columns:276px minmax(0,1fr)}
  .casca.menu-fixo .lateral{width:276px;box-shadow:none;transition-delay:0s}
  .casca.menu-fixo .lateral .marca-lado>div:not(.sigla),.casca.menu-fixo .lateral .quem-sou>div:not(.avatar),.casca.menu-fixo .lateral .rotulo-menu,.casca.menu-fixo .menu a>span,.casca.menu-fixo .menu button>span,
  .casca.menu-fixo .menu .breve>span,.casca.menu-fixo .menu .breve em,.casca.menu-fixo .menu .seta{opacity:1;transition-delay:0s}
  .casca.menu-fixo .lateral .caixa-perfil{display:block}
  .casca.menu-fixo .lateral .menu .itens a,.casca.menu-fixo .lateral .menu .itens .breve{padding-left:34px}
  .casca.menu-fixo .lateral .menu .itens a.atual::before{left:22px}
  .lateral .marca-lado{padding-right:44px}
  .lateral .marca-lado>div:not(.sigla){min-width:0;overflow:hidden}
  .lateral .marca-lado strong,.lateral .marca-lado small{overflow:hidden;text-overflow:ellipsis}
  .lateral .fixar-menu{display:flex;position:absolute;top:24px;left:222px;width:36px;height:36px;border-radius:11px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#aeb6c7;
    align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .12s .3s}
  .lateral:hover .fixar-menu,.lateral:has(:focus-visible) .fixar-menu,.casca.menu-fixo .lateral .fixar-menu{opacity:1;pointer-events:auto;transition-delay:0s}
  .lateral .fixar-menu:hover{background:#fff;color:var(--lado2)}
  .lateral .fixar-menu svg{width:18px;height:18px}
  .lateral .fixar-menu[aria-pressed=true]{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.3)}
  .lateral .fixar-menu[aria-pressed=true] svg{transform:rotate(45deg)}
}

/* ---------- Plano técnico: planejamento das variações ---------- */
.turma-plano .acoes-linha{flex-wrap:nowrap;gap:6px}
.linha-var{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px}
.modo-var{font-size:11.5px;padding:3px 6px;border:1px solid var(--linha);border-radius:8px;background:#fff;max-width:190px;width:auto;min-height:0;height:auto}
.dias-revisao{display:grid;gap:10px;margin-bottom:12px}
.dia-revisao{display:grid;grid-template-columns:140px minmax(0,1fr);gap:8px 12px;align-items:center;border:1px solid var(--linha);border-radius:12px;padding:10px 12px}
.dia-revisao b{display:block;font-size:13.5px}
.dia-revisao small{display:block;color:#64748b;font-size:11.5px}
.dia-revisao .acumulado{grid-column:2;display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:860px){
  .turma-plano .acoes-linha{grid-column:1/-1;justify-content:flex-end}
  .dia-revisao{grid-template-columns:1fr}
  .dia-revisao .acumulado{grid-column:1}
}

/* ---------- Biblioteca digital ---------- */
.voltar{margin:0 0 12px;font-size:13px}
.abas-bd{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.aba-bd{border:1px solid var(--linha);background:#fff;border-radius:99px;padding:7px 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;color:#475569}
.aba-bd.ativa{background:var(--cor);border-color:var(--cor);color:#fff}
.grade-bd{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.cartao-bd{display:block;border:1px solid var(--linha);border-radius:16px;overflow:hidden;background:#fff;color:inherit;text-decoration:none;transition:box-shadow .15s,transform .15s}
.cartao-bd:hover{box-shadow:0 10px 26px rgba(15,23,42,.12);transform:translateY(-2px)}
.cartao-bd.fechado .capa-bd{filter:saturate(.45)}
.capa-bd{position:relative;aspect-ratio:16/9;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:14px;color:#fff;background:linear-gradient(135deg,var(--cor-escura),var(--cor))}
.capa-bd span{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.85}
.capa-bd b{font-size:18px;line-height:1.2}
.capa-bd i{position:absolute;top:10px;right:10px;font-style:normal;font-size:10.5px;font-weight:800;background:#f5b301;color:#3b2a00;border-radius:99px;padding:3px 9px}
.capa-bd.cor-1{background:linear-gradient(135deg,#7c2d12,#ea580c)}
.capa-bd.cor-2{background:linear-gradient(135deg,#064e3b,#059669)}
.capa-bd.cor-3{background:linear-gradient(135deg,#4c1d95,#7c3aed)}
.capa-bd.cor-4{background:linear-gradient(135deg,#0f172a,#334155)}
.capa-bd.cor-5{background:linear-gradient(135deg,#831843,#db2777)}
.cbd-corpo{padding:12px 14px 14px;display:grid;gap:6px}
.cbd-topo{display:flex;gap:6px;flex-wrap:wrap}
.cbd-corpo p{margin:0;font-size:13px;color:#334155;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cbd-corpo small{color:#64748b;font-size:11.5px}
.player{position:relative;aspect-ratio:16/9;background:#0b1224;border-radius:14px;overflow:hidden;max-width:960px}
.player iframe,.player video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#0b1224}
.player.vazio{display:grid;place-content:center;justify-items:center;gap:10px;color:#cbd5e1;text-align:center;padding:20px}
.player.vazio p{margin:0}
.texto-livre{white-space:pre-line}
.lista-simples{margin:6px 0 0;padding-left:18px;display:grid;gap:4px}
section.cartao>.capa-bd{max-width:520px;border-radius:14px}

/* Capa enviada pela academia */
.capa-bd.com-imagem{padding:0;background:#0b1224}
.capa-bd.com-imagem img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.bloco-capa{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;align-items:center;border:1px solid var(--linha);border-radius:16px;padding:14px;background:#f8fafc}
.bloco-capa p{margin:4px 0 10px;font-size:12.5px;color:#64748b}
.previa-capa .capa-bd{border-radius:12px;overflow:hidden}
.previa-capa .capa-bd b{font-size:14px}
td.com-miniatura{position:relative;padding-left:76px!important;min-height:44px}
.miniatura-capa{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:54px}
.miniatura-capa .capa-bd{border-radius:8px;overflow:hidden;padding:4px}
.miniatura-capa .capa-bd span,.miniatura-capa .capa-bd i{display:none}
.miniatura-capa .capa-bd b{font-size:5.5px;line-height:1.15}
@media(max-width:600px){.bloco-capa{grid-template-columns:1fr}}

/* ---------- Caixa (layout do protótipo) ---------- */
.cab-caixa{display:flex;align-items:center;gap:12px}
.cab-caixa h1{display:flex;align-items:center;gap:10px}
.numero.como-link{text-decoration:none;color:inherit;display:block}
.numero.como-link:hover{box-shadow:0 8px 22px rgba(15,23,42,.10)}
.cartao-filtros{background:#fff;border:1px solid var(--linha);border-radius:18px;padding:14px 16px}
.caixa-det{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px;align-items:start}
.caixa-det>div{display:grid;gap:16px}
.caixa-det>*,.caixa-det>div>*{min-width:0}
.caixa-det .tabela-solta{overflow-x:auto}
.linha-info{padding:9px 0;border-top:1px solid var(--linha)}
.linha-info:first-child{border-top:0;padding-top:0}
.linha-info small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#64748b}
.linhas-valor .sub-linha{padding-left:16px;font-size:13px}
.linhas-valor .sub-linha.apagado{opacity:.5}
.saldos-caixa{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.saldos-caixa>div{border:1px solid var(--linha);border-radius:14px;padding:10px 12px}
.saldos-caixa small{display:block;font-size:11px;color:#64748b}
.saldos-caixa b{font-size:17px}
.saldos-caixa .forte{background:var(--cor-escura);border-color:var(--cor-escura);color:#fff}
.saldos-caixa .forte small{color:rgba(255,255,255,.75)}
.menu-pontos{position:relative;display:inline-block}
.menu-pontos summary{list-style:none;cursor:pointer;font-size:20px;line-height:1;padding:4px 10px;border-radius:8px}
.menu-pontos summary::-webkit-details-marker{display:none}
.menu-pontos summary:hover{background:#eef2f7}
.menu-pontos>div{position:absolute;right:0;top:100%;z-index:5;background:#fff;border:1px solid var(--linha);border-radius:12px;box-shadow:0 12px 30px rgba(15,23,42,.14);padding:6px;display:grid;min-width:170px}
.menu-pontos>div a,.menu-pontos>div button{all:unset;cursor:pointer;padding:8px 10px;border-radius:8px;font-size:13.5px;text-align:left}
.menu-pontos>div a:hover,.menu-pontos>div button:hover:not(:disabled){background:#f1f5f9}
.menu-pontos>div button:disabled{opacity:.45;cursor:not-allowed}
.fechar-caixa{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:22px}
.opcoes-fechar{display:grid;gap:10px;margin:10px 0}
.opcoes-fechar label{display:flex;gap:10px;align-items:center;font-size:14.5px;cursor:pointer}
.opcoes-fechar input{width:18px;height:18px;flex:0 0 18px;accent-color:var(--cor)}
.linha-nova-cat{display:flex;gap:6px;margin-top:6px}
.linha-nova-cat input{flex:1}
.mais-campos summary{cursor:pointer;font-weight:700;font-size:13px;color:var(--cor);margin-bottom:8px}
.espelho-cab{margin-bottom:12px}
@media(max-width:900px){.caixa-det,.fechar-caixa{grid-template-columns:1fr}}

.clicavel{cursor:pointer}
tr.clicavel:hover td{background:#f8fafc}
.contrato.clicavel:hover{box-shadow:0 8px 22px rgba(15,23,42,.10)}

/* ---------- Ficha do cliente completa ---------- */
.indicadores{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.cli-foto{position:relative}
.cli-foto img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:4px solid #fff;display:block}
.cli-camera{position:absolute;right:-2px;bottom:-2px;width:32px;height:32px;border-radius:10px;border:2px solid #fff;background:#0b1f6b;color:#fff;font-size:15px;line-height:1;cursor:pointer;display:grid;place-items:center}
img.avatar-p{object-fit:cover;display:block}
.foto-janela{display:grid;gap:14px;justify-items:center;text-align:center}
.foto-previa{width:220px;height:220px;border-radius:50%;overflow:hidden;background:#0b1f6b;color:#fff;display:grid;place-items:center;font-size:64px;font-weight:800}
.foto-previa img,.foto-previa video{width:100%;height:100%;object-fit:cover;display:block}
.cli-menu{max-height:70vh;overflow:auto}
.caixa p.texto-livre{margin:4px 0;font-size:13.5px;color:#334155}
.caixa+.caixa{margin-top:14px}

/* ---------- Nova venda (carrinho) ---------- */
[data-carrinho] .caixa h4{margin:0 0 10px;font-size:14px}
.tipos-venda{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tipo-venda{border:1.5px solid var(--linha);border-radius:14px;background:#fff;padding:18px 14px;display:grid;justify-items:center;gap:4px;text-align:center;cursor:pointer;font:inherit;color:#475569}
.tipo-venda svg{width:22px;height:22px}
.tipo-venda b{font-size:14.5px;color:#0f172a}
.tipo-venda small{font-size:12px;color:#64748b}
.tipo-venda.ligado{border-color:var(--cor);background:color-mix(in srgb,var(--cor) 6%,#fff)}
.tipo-venda.ligado b,.tipo-venda.ligado svg{color:var(--cor)}
.item-venda{display:flex;align-items:center;gap:10px}
.item-venda .ic{width:34px;height:34px;border-radius:10px;background:#eef2ff;color:var(--cor);display:grid;place-items:center;flex:0 0 34px}
.item-venda .ic svg{width:17px;height:17px}
.inicio-item{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#64748b}
.inicio-item input{width:auto}
.qtd{display:inline-flex;align-items:center;border:1px solid var(--linha);border-radius:10px;overflow:hidden}
.qtd button{border:0;background:#f8fafc;width:30px;height:30px;font-size:16px;cursor:pointer;color:var(--cor)}
.qtd b{min-width:34px;text-align:center;font-size:13.5px}
.duas-venda{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;align-items:start}
.duas-venda .caixa+.caixa{margin-top:0}
.par-campo{display:flex;gap:6px}
.par-campo select{width:auto;flex:0 0 auto}
.total-venda{display:flex;justify-content:space-between;align-items:center;background:var(--cor-escura);color:#fff;border-radius:12px;padding:12px 16px;margin-top:12px}
.total-venda b{font-size:22px}
.rodape-venda{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;background:rgba(244,246,250,.94);backdrop-filter:blur(6px);padding:12px 0;margin-top:8px;z-index:5}
.cartoes-venda{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;max-height:58vh;overflow:auto;padding:2px}
.cartao-venda{border:1px solid var(--linha);border-radius:14px;padding:14px;display:grid;gap:5px;justify-items:start;align-content:start}
.cartao-venda b{font-size:13.5px}
.cartao-venda small{color:#64748b;font-size:11.5px}
.cartao-venda .preco{font-size:17px;font-weight:800;color:#0f172a;margin:2px 0}
.cartao-venda.apagado{opacity:.55}
@media(max-width:860px){.tipos-venda,.duas-venda{grid-template-columns:1fr}}

/* ---------- Programa de Fidelidade ---------- */
.fid-capa{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px;align-items:center}
.fid-capa h2{margin:10px 0 6px;font-size:24px}.fid-capa ul{margin:10px 0 16px;padding-left:18px;color:#475569;line-height:1.7}
.fid-preco{border:1px solid var(--linha);border-radius:16px;padding:18px;text-align:center;background:#f8fafc}
.fid-preco small{display:block;color:var(--suave)}.fid-preco b{display:block;font-size:26px;margin:4px 0}.fid-preco span{font-size:12.5px;color:#64748b}
.fid-duas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.fid-duas .caixa+.caixa{margin-top:0}
.fid-linha{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid #f1f4f8;color:inherit;text-decoration:none;min-width:0}
.fid-linha:hover{background:#f8fafc}.fid-linha em{font-style:normal;font-weight:800;color:#94a3b8;width:18px;text-align:center}
.fid-linha div{flex:1;min-width:0}.fid-linha b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fid-linha small{color:#64748b;font-size:11.5px}
.fid-linha>span:last-child{font-weight:800;white-space:nowrap}
.fid-medida{margin-top:10px}.fid-medida>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:13px;margin-bottom:5px}
.fid-cartoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:12px}
.fid-cartao{border:1px solid var(--linha);border-radius:16px;padding:16px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px}
.fid-cartao .ic{width:46px;height:46px;border-radius:14px;background:#eef2ff;color:var(--cor);display:grid;place-items:center}.fid-cartao .ic svg{width:22px;height:22px}
.fid-cartao small{color:#64748b;font-size:12px}.fid-cartao .preco{font-size:20px;font-weight:800}.fid-cartao .preco em{font-style:normal;font-size:12px;color:#64748b}
.fid-cartao .acoes-linha{margin-top:auto;padding-top:8px;justify-content:center}.fid-cartao.apagado{opacity:.55}
.fid-cartao .bt svg{width:14px;height:14px}
.fid-regra{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #f1f4f8}.fid-regra>div{flex:1;min-width:0}.fid-regra small{display:block;color:#64748b;font-size:12px}
.fid-g{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.fid-g label{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:#64748b}
.fid-g input{width:110px;padding:7px 9px;border:1px solid var(--linha);border-radius:10px;font:inherit}
.chave{position:relative;display:inline-block;width:40px;height:22px;flex:0 0 40px;margin-top:2px}
.chave input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1;width:100%;height:100%}
.chave span{position:absolute;inset:0;border-radius:99px;background:#cbd5e1;transition:background .15s}
.chave span::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}
.chave input:checked+span{background:var(--cor)}.chave input:checked+span::after{transform:translateX(18px)}
.chave input:focus-visible+span{outline:2px solid var(--cor);outline-offset:2px}.chave input:disabled{cursor:default}
.fid-mv{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #f1f4f8}
.fid-mv small{display:block;color:#64748b;font-size:11.5px}.fid-mv>b{white-space:nowrap}
.fid-saldo{font-size:15px;white-space:nowrap}
.fid-meu{background:var(--marinho,#0b1560);color:#fff;border-radius:16px;padding:16px 18px;margin-bottom:6px}.fid-meu small{display:block;opacity:.8}.fid-meu b{font-size:26px}
.fid-como{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.fid-como div{border:1px solid var(--linha);border-radius:12px;padding:8px 10px;font-size:13px}
.fid-como span{font-weight:800;color:#15803d;margin-right:6px}
.fid-rw{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f1f4f8}
.fid-rw small{display:block;color:#64748b;font-size:12px}.fid-rw>div:last-child{display:flex;align-items:center;gap:10px;white-space:nowrap}.fid-rw span{font-weight:700;font-size:13px}
dialog h4{margin:16px 0 8px}
.fid-aluno{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.fid-aluno>div{flex:1;min-width:200px}.fid-aluno h3{margin:0 0 2px}.fid-aluno p{margin:0}
.fid-aluno .ic{width:44px;height:44px;border-radius:13px;background:#eef2ff;color:var(--cor);display:grid;place-items:center}.fid-aluno .ic svg{width:21px;height:21px}
small.devendo,span.devendo{color:#b91c1c;font-weight:700}
.elo-fino{background:none;border:0;padding:0;margin-left:8px;color:var(--cor);font:inherit;font-size:12px;text-decoration:underline;cursor:pointer;text-transform:none;letter-spacing:0}
.caixa-fina{border:1px solid var(--linha);border-radius:14px;padding:12px 14px;margin-top:12px}

/* ---------- Pré-matrículas ---------- */
.pre-link{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;background:#f8fafc;border:1px dashed var(--linha);border-radius:12px;padding:10px 12px;margin:10px 0 0;overflow-wrap:anywhere;user-select:all}
.pre-linha{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid #f1f4f8;flex-wrap:wrap}
.pre-linha:last-child{border-bottom:0}.pre-dados{flex:1;min-width:220px;display:flex;flex-direction:column;gap:4px;font-size:13px}
.pre-dados small{color:#64748b;font-size:12px;overflow-wrap:anywhere}.pre-titulo{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.aviso-pre{display:flex;flex-direction:column;gap:2px;margin-bottom:14px;text-decoration:none;color:inherit;border-left:4px solid #f59e0b}.aviso-pre span{color:#64748b;font-size:13px}
.cadastro-publico h3{font-size:15px;margin:20px 0 8px}
.pre-escolhas{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.pre-escolha{position:relative;display:block;cursor:pointer}
.pre-escolha input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.pre-escolha span{display:flex;flex-direction:column;gap:2px;border:1px solid var(--linha);border-radius:14px;padding:12px 14px;height:100%}
.pre-escolha small{color:#64748b;font-size:12px}
.pre-escolha input:checked+span{border-color:var(--cor);background:color-mix(in srgb,var(--cor) 7%,#fff);box-shadow:0 0 0 1px var(--cor)}
.pre-escolha input:focus-visible+span{outline:2px solid var(--cor);outline-offset:2px}
.pre-dep{border:1px solid var(--linha);border-radius:14px;padding:6px 14px 14px;margin:0 0 10px}.pre-dep legend{font-weight:700;font-size:13px;padding:0 6px}
.pre-enviado{text-align:center}.pre-certo{width:64px;height:64px;border-radius:50%;background:#dcfce7;color:#15803d;font-size:32px;display:grid;place-items:center;margin:6px auto 12px}
.pre-status{text-align:left;border:1px solid var(--linha);border-radius:14px;margin-top:16px}.pre-status div{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid #f1f4f8}
.pre-status div:last-child{border-bottom:0}

/* ---------- Paginação da lista de clientes ---------- */
.paginacao{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 4px 0;font-size:13px;color:#64748b}
.paginacao:empty{display:none}.paginacao select{padding:5px 8px;border:1px solid var(--linha);border-radius:9px;font:inherit}.paginacao b{color:#0f172a;margin:0 4px}
.duas-venda .caixa{min-width:0}.duas-venda .tabela-solta table{min-width:0;width:100%}
@media(max-width:860px){.fid-capa,.fid-duas{grid-template-columns:1fr}}

/* ---------- Métodos de pagamento ---------- */
.met-ic{color:#fff!important;font-size:11px;font-weight:800;letter-spacing:.02em}
.tabela-taxas input{width:100%;min-width:70px;padding:8px 10px;border:1px solid var(--linha);border-radius:10px;font:inherit}
.tabela-taxas input.curto{max-width:110px}
.tabela-solta table.tabela-taxas{min-width:420px}
.previa-metodo{margin:0 0 10px;grid-template-columns:repeat(4,minmax(0,1fr))}
.a-liberar{color:#1d4ed8}
@media(max-width:700px){.previa-metodo{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Integração bancária ---------- */
.pg-passos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.pg-passo{display:flex;gap:10px;border:1px solid var(--linha);border-radius:14px;padding:12px}
.pg-passo>b{width:26px;height:26px;border-radius:50%;background:var(--cor);color:#fff;display:grid;place-items:center;font-size:13px;flex:0 0 26px}
.pg-passo small{display:block;color:#64748b;font-size:12px;margin-top:3px;line-height:1.45}
@media(max-width:1100px){.pg-passos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pg-passos{grid-template-columns:1fr}}
.pg-provedores{display:grid;gap:8px;margin-top:10px}.pg-provedores .bt{justify-content:flex-start;text-align:left}
.pg-provedores .bt{white-space:normal;min-width:0;flex-wrap:wrap}.fid-duas>*{min-width:0}.fid-duas>section.cartao{margin-top:0}

/* ---------- Cobrança online (Pix, boleto, link) ---------- */
.meios-online{display:grid;gap:10px}
.pix-caixa{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}
.pix-qr{width:220px;height:220px;border:1px solid var(--linha);border-radius:14px;padding:8px;background:#fff;image-rendering:pixelated}
.pix-codigo{width:100%;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;padding:10px;border:1px solid var(--linha);border-radius:12px;resize:vertical;overflow-wrap:anywhere}
@media(max-width:640px){.pix-caixa{grid-template-columns:1fr;justify-items:center}.pix-caixa>div{width:100%}}

/* Integração bancária › Visão geral */
.vg-topo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}
.vg-kpi{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--linha);border-radius:18px;padding:16px 18px;flex-wrap:wrap}
.vg-kpi>div{flex:1 1 180px;min-width:0}.vg-kpi small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#64748b}
.vg-kpi b{display:block;font-size:24px;margin-top:2px}.vg-kpi em{display:block;font-style:normal;color:#64748b;font-size:12px}
.vg-ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;flex:0 0 44px}.vg-ic svg{width:22px;height:22px}
.vg-ic.verde{background:#dcfce7;color:#15803d}.vg-ic.azul{background:#e0f2fe;color:#0369a1}
.vg-grade{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:14px;align-items:start}
.vg-barras{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:end;min-height:180px;padding-top:8px}
.vg-barras>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;min-width:0}
.vg-barras span{font-size:11px;color:#475569;white-space:nowrap}.vg-barras i{display:block;width:70%;max-width:54px;border-radius:8px 8px 3px 3px;background:#bae6fd}
.vg-barras i.atual{background:var(--cor)}.vg-barras em{font-style:normal;font-size:12px;color:#64748b}
.vg-metodo{margin-top:12px}.vg-metodo>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;flex-wrap:wrap}.vg-metodo span{color:#475569}
.vg-barra{height:8px;border-radius:99px;background:#eef2f7;margin-top:6px;overflow:hidden}.vg-barra i{display:block;height:100%;border-radius:99px;background:var(--cor)}
.vg-kv{padding:9px 0;border-bottom:1px solid var(--linha)}.vg-kv small{display:block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--suave)}.vg-kv b{font-size:13.5px}
@media(max-width:900px){.vg-topo,.vg-grade{grid-template-columns:1fr}}
[hidden]{display:none!important}
dialog [data-de]{margin:6px 0 12px}

/* Equipe das aulas e ganhos dos professores */
.gp-chip{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap;background:#ede9fe;color:#4c1d95}
.gp-chip.principal{background:#dbeafe;color:#1e3a8a}.gp-chip.aux{background:#ffedd5;color:#7c2d12}.gp-chip.ajud{background:#e2e8f0;color:#1e293b}.gp-chip.part{background:#ede9fe;color:#4c1d95}.gp-chip.espera{background:#fef3c7;color:#78350f}
.gp-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:14px}
.gp-k{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:18px;min-width:0}
.gp-k small{display:block;font-size:11.5px;font-weight:800;color:#475569;text-transform:uppercase;letter-spacing:.04em}
.gp-k b{display:block;font-size:26px;margin-top:6px;overflow-wrap:anywhere}.gp-k span{font-size:12.5px;color:#475569}
.gp-k.verde b{color:#166534}.gp-k.azul b{color:#1e3a8a}
.gp-k.escuro{background:#0b1f6b;border-color:#0b1f6b;color:#fff}.gp-k.escuro small,.gp-k.escuro span{color:#c7d2fe}
.gp-k.alerta{background:#fffbeb;border-color:#fde68a}.gp-k.alerta small,.gp-k.alerta span,.gp-k.alerta b{color:#78350f}
.gp-prog{height:14px;border-radius:999px;background:#dbe3f5;overflow:hidden;margin-top:10px}.gp-prog i{display:block;height:100%;width:0;background:#166534;border-radius:999px}
.gp-mini{width:110px;height:9px;border-radius:999px;background:#dbe3f5;overflow:hidden}.gp-mini i{display:block;height:100%;width:0;background:#166534}
.gp-g2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.1fr);gap:14px;align-items:start}
.gp-g2e{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;align-items:start}
.gp-g2>.cartao,.gp-g2e>.cartao{margin:0}
.gp-linha{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:14px}
.gp-funcao{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:10px 0;font-size:14px}
.gp-total{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--linha);padding-top:10px;margin-top:10px;font-size:14px}
.gp-par{display:flex;justify-content:space-between;gap:10px;margin-top:6px;font-size:14px}
.gp-verde{color:#166534}.gp-vermelho{color:#991b1b}.gp-cinza{color:#64748b}.gp-forte{color:#0f172a}
.gp-lista{display:grid;gap:10px}
.gp-item{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border:1px solid #e2e8f0;border-radius:14px;padding:12px 14px;background:#fff}
.gp-item.espera{background:#fffbeb;border-color:#fde68a}
.gp-item .t{font-size:19px;font-weight:800;width:58px}.gp-item .m{flex:1 1 190px;min-width:0}.gp-item .m small{display:block;color:#475569;font-size:12.5px}
.gp-item .v{text-align:right}.gp-item .v small{display:block;font-size:11.5px;color:#475569}
.gp-escolha{cursor:pointer}.gp-escolha input{width:19px;height:19px}
.gp-valor{width:86px;text-align:right}
.gp-dia{font-size:12px;font-weight:800;color:#475569;text-transform:uppercase;letter-spacing:.04em;margin:14px 0 8px}
.gp-semana{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;align-items:start}.gp-semana .gp-dia{margin-top:0}
.gp-aula{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:12px 14px;cursor:pointer;text-align:left;font:inherit;width:100%;display:block;color:inherit}
.gp-aula:hover,.gp-aula:focus-visible{border-color:var(--cor)}.gp-aula b{display:block}.gp-aula small{color:#475569;font-size:12px}.gp-aula .cs{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.gp-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;align-items:center}
.gp-in{height:40px;border:1px solid #cbd5e1;border-radius:10px;padding:0 10px;font:inherit;font-weight:700;width:120px;max-width:100%;background:#fff}
.gp-in.largo{width:100%;min-width:200px;font-weight:500}.gp-in.curto{width:84px}
.gp-sel{height:40px;border:1px solid #cbd5e1;border-radius:10px;padding:0 10px;font:inherit;font-weight:700;background:#fff;max-width:100%}
.gp-topo{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.gp-nav{display:flex;gap:8px;align-items:center}.gp-nome{margin:0;font-size:20px}
.gp-novo{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}
.gp-escopo{border-top:1px solid var(--linha);margin-top:16px;padding-top:12px}.gp-escopo .marca-simples{margin-top:10px}
.gp-sub{margin:20px 0 4px}.gp-texto{font-size:13.5px;line-height:1.55;margin:0;color:#334155}
.gp-link{color:#0b1f6b;font-weight:800;cursor:pointer;background:none;border:0;padding:0;font:inherit;text-align:left}.gp-link:hover{text-decoration:underline}
.cartao.gp-alerta{background:#fffbeb;border-color:#fde68a}
@media(max-width:900px){.gp-g2,.gp-g2e{grid-template-columns:minmax(0,1fr)}.gp-k b{font-size:22px}.gp-item .t{width:auto}}
.gp-sel{width:auto}.gp-item .gp-sel{flex:0 1 230px;min-width:0}.gp-item .m .gp-sel{display:block;margin-top:4px;width:100%;max-width:320px}.gp-novo .gp-sel{flex:1 1 170px}
.gp-item input.gp-in{width:120px}.gp-item input.gp-in.curto{width:84px}
.cat-nome,.cat-novo{height:40px;border:1px solid #cbd5e1;border-radius:10px;padding:0 10px;font:inherit;font-weight:600;background:#fff;width:100%;min-width:140px}.cat-novo{flex:1 1 200px;width:auto}

/* Biblioteca digital: cursos e player com progresso */
.pl-topo{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:10px 0}.pl-cab{flex:1;min-width:0}
.pl-resumo small{display:block;font-size:12px;color:#475569}
.pl-prog{height:8px;border-radius:99px;background:#e8ecf7;overflow:hidden;margin-top:6px}.pl-prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cor),#16a34a);border-radius:99px}
.pl-grade{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,1fr);gap:16px;align-items:start}
.pl-lista{max-height:62vh;overflow:auto;border:1px solid var(--linha);border-radius:14px;padding:6px}
.pl-tecnica{font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin:10px 8px 4px}
.pl-item{display:flex;gap:10px;align-items:center;width:100%;text-align:left;border:0;background:none;padding:8px;border-radius:10px;cursor:pointer;font:inherit;color:inherit}
.pl-item.parado{cursor:default}.pl-item:not(.parado):hover{background:#f4f6ff}.pl-item.atual{background:#eef1ff;outline:1px solid #c7d0ff}
.pl-bola{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:900;flex:0 0 24px;background:#eef1f7;color:#475569}
.pl-item.feita .pl-bola{background:#16a34a;color:#fff}.pl-item.atual .pl-bola{background:var(--cor);color:#fff}
.pl-texto{flex:1;min-width:0}.pl-item b{display:block;font-size:13px}.pl-item small{display:block;font-size:11px;color:#64748b}
.pl-titulo{display:block;font-size:16px;margin-top:10px}.pl-sub{display:block;font-size:12px;color:#64748b}.pl-notas{font-size:13px;margin:8px 0 0}
.pl-ctrl{display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-top:10px}
.pl-celula{min-width:130px}
.titulo-bd{font-size:11.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin:16px 0 10px}
.grade-cursos{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.cartao-curso{display:grid;gap:6px;align-content:start;border:1px solid var(--linha);border-radius:18px;padding:16px;background:#fff;color:inherit;text-decoration:none;transition:.16s}
.cartao-curso:hover{border-color:var(--cor);box-shadow:0 6px 18px rgba(15,23,42,.08)}.cartao-curso.meu{border-color:#bbf7d0;background:#f7fef9}
.cartao-curso b{font-size:16px}.cartao-curso small{color:#64748b;font-size:12px}.cartao-curso p{margin:0;font-size:13px;color:#334155}
.cc-topo{display:flex;gap:6px;flex-wrap:wrap}
.cbd-acao{font-size:12.5px;font-weight:800;color:var(--cor)}
.curso-tecnicas{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;max-height:260px;overflow:auto;margin:6px 0 10px}
.curso-tecnica{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--linha);border-radius:12px;padding:8px;font-size:12.5px;cursor:pointer}
.curso-tecnica input{margin-top:3px}.curso-tecnica b{display:block}.curso-tecnica small{color:#64748b}
@media(max-width:820px){.pl-grade{grid-template-columns:1fr}.pl-lista{max-height:none}}
.pl-grade>div{min-width:0}dialog .pl-grade{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}@media(max-width:820px){dialog .pl-grade{grid-template-columns:minmax(0,1fr)}}
.mod-nome{flex:1;min-width:0;display:grid;gap:4px}.mod-nome .cat-nome{max-width:320px}

/* Agenda › Presença e QR Code do check-in */
.largura-toda{width:100%;justify-content:center}
.presenca{align-items:start}.presenca>.cartao{min-width:0}
.presenca-nome{font-size:27px;font-weight:850;letter-spacing:-.02em;line-height:1.15}
.presenca .linha-item small.ao-lado{display:inline;margin-left:6px;font-size:11.5px}
.presenca .nome-avatar{min-width:0;flex:1 1 200px}.presenca .nome-avatar strong{display:block}
img.avatar-p{object-fit:cover;padding:0}
.bt.falta{background:#fde9ea;border-color:#f6c9cc;color:#b02a31}
.qr-caixa{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:20px;align-items:center}
.qr-quadro{background:#fff;border:1px solid var(--linha);border-radius:18px;padding:10px;display:grid;place-items:center;min-height:200px}
svg.qr{width:100%;height:auto;max-width:320px;stroke:none;display:block}
.qr-resultado{text-align:center;display:grid;gap:10px;justify-items:center;padding:36px 20px;max-width:520px;margin:20px auto}
.qr-resultado h2{font-size:24px}.qr-resultado p{margin:0;color:var(--suave)}
.qr-selo{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--ouro)}
.qr-resultado.ok .qr-selo{background:var(--verde)}.qr-selo svg{width:38px;height:38px;stroke-width:2.6}
.acoes-linha.centro{justify-content:center;margin-top:8px}
@media(max-width:720px){.qr-caixa{grid-template-columns:minmax(0,1fr)}.qr-quadro{max-width:300px;margin:0 auto;width:100%}.presenca-nome{font-size:22px}}

/* Loja › Pedidos do app */
.numero.ouro b{color:#8a5d00}
.pedido-linha{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-top:1px solid var(--linha);flex-wrap:wrap}
.pedido-linha:first-child{border-top:0}
.pedido-linha .info{flex:1 1 260px;min-width:0;display:grid;gap:3px}
.pedido-linha .titulo{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pedido-linha small{color:#475569;font-size:12.5px;overflow-wrap:anywhere}.pedido-linha small.fraco{color:#94a3b8;font-size:11.5px}
.passos{display:flex;gap:6px;margin:16px 0 4px}
.passos div{flex:1;display:grid;gap:6px;justify-items:center;font-size:11.5px;font-weight:700;color:#94a3b8;text-align:center;position:relative}
.passos i{width:16px;height:16px;border-radius:50%;background:#e2e8f0;position:relative;z-index:1}
.passos div+div::before{content:"";position:absolute;top:7px;right:50%;width:100%;height:2px;background:#e2e8f0}
.passos .feito{color:#14734a}.passos .feito i{background:var(--verde)}.passos .feito+div::before,.passos .feito::before{background:var(--verde)}
.passos .agora{color:var(--cor)}.passos .agora i{background:var(--cor);box-shadow:0 0 0 4px color-mix(in srgb,var(--cor) 18%,#fff)}
.titulo-secao{font-size:11.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin:18px 0 4px}

/* Loja do aplicativo do aluno */
.loja-topo{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:linear-gradient(120deg,var(--cor-escura),var(--cor));color:#fff;border-radius:var(--r);padding:26px 24px;margin-bottom:16px}
.loja-topo h1{font-size:25px;font-weight:850;letter-spacing:-.02em;margin:8px 0 6px}.loja-topo p{margin:0;opacity:.86;max-width:520px}
.loja-selo{display:inline-block;font-size:10.5px;font-weight:900;letter-spacing:.12em;background:rgba(255,255,255,.16);border-radius:999px;padding:5px 11px}
.loja-topo .bt{color:var(--tinta)}
.loja-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.produto-cartao{border:1px solid var(--linha);border-radius:18px;overflow:hidden;background:#fff;display:flex;flex-direction:column;min-width:0}
.produto-capa{min-height:104px;display:grid;place-items:center;text-align:center;color:#fff;font-weight:850;font-size:16px;padding:14px;letter-spacing:-.01em;background:#334155}
.produto-corpo{padding:14px;display:grid;gap:6px;align-content:start;flex:1}
.produto-corpo .etiqueta{justify-self:start}.produto-corpo h4{margin:0;font-size:15px}.produto-corpo small{color:#64748b;font-size:12px}
.produto-preco{font-size:19px;font-weight:850;margin-top:2px}.produto-preco span{font-size:11px;font-weight:600;color:#64748b}
.produto-acoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:8px;margin-top:6px}.produto-acoes .bt{justify-content:center;padding:9px 10px}
@media(max-width:560px){.loja-grade{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.loja-topo{padding:20px 16px}.loja-topo h1{font-size:21px}.produto-capa{min-height:80px;font-size:14px}.produto-corpo{padding:11px}}

/* Relatórios (central no padrão do protótipo V197) */
.rel-busca{margin-bottom:14px}
.rel-busca input{height:44px;border-radius:12px;border-color:#d6dbe6;padding:0 14px;font-size:14px}
.rel-achados{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:6px;margin-bottom:14px;display:grid}
.rel-achados a{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;color:inherit;text-decoration:none;flex-wrap:wrap}
.rel-achados a:hover,.rel-achados a:focus-visible{background:#f3f5fb}.rel-achados a span{color:#64748b;font-size:12px}
.rel-hub{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.rel-cat{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:10px;min-width:0}
.rel-cat .ic{width:46px;height:46px;border-radius:14px;background:#eef2ff;color:#1d3bd1;display:grid;place-items:center}
.rel-cat .ic svg{width:24px;height:24px}
.rel-cat h3{margin:0;font-size:17px}.rel-cat p{margin:0;color:#64748b;font-size:13px;line-height:1.45;flex:1}
.rel-cat small{color:#64748b;font-size:12px;font-weight:700}
.rel-cat .bt{justify-content:center;height:42px;font-size:15px}
.rel-voltar{display:inline-flex;align-items:center;gap:6px;color:#1d3bd1;font-weight:700;text-decoration:none;margin-bottom:12px;font-size:16px}
.rel-voltar:hover{text-decoration:underline}
.rel-lado{display:grid;grid-template-columns:250px minmax(0,1fr);gap:14px;align-items:start}
.rel-lado>*{min-width:0}
.rel-menu{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:8px;display:grid}
.rel-menu h5{margin:10px 8px 4px;font-size:11px;text-transform:uppercase;color:#64748b;letter-spacing:.04em}
.rel-menu a{display:block;padding:7px 10px;border-radius:9px;font-size:13px;color:#0f172a;text-decoration:none}
.rel-menu a:hover{background:#f3f5fb}
.rel-menu a.on{background:#0b1f6b;color:#fff;font-weight:700}
.rel-menu a.na{color:#94a3b8}.rel-menu a.na.on{color:#fff}
.rel-msel{display:none;height:44px;border-radius:12px;font-weight:700;margin-bottom:12px}
.rel-cartao{margin:0}
.rel-cartao>header{margin-bottom:12px}
.rel-cartao>header h3{font-size:17px}.rel-cartao>header p{font-size:12.5px}
.rel-acoes{display:flex;gap:6px;flex-wrap:wrap}
.rel-acoes .bt{height:36px;padding:0 12px;font-size:13px}
.rel-carregando{opacity:.5;transition:opacity .2s}
.rel-tabela table{min-width:0;font-size:13px}
.rel-tabela th.rel-th{cursor:pointer;user-select:none}.rel-tabela th.rel-th:hover{color:#0f172a}
.rel-tabela th i{font-style:normal;margin-left:3px;color:#1d3bd1}
.rel-tabela tfoot td{font-weight:800;border-top:2px solid #e5e8ef;background:#fbfcfe}
.rel-tabela tr.prev td{color:#64748b;font-style:italic}
.rel-tabela .pos{color:#15803d}.rel-tabela .neg{color:#b91c1c}.rel-tabela .forte{font-weight:800}
.rel-lk{color:#0b1f6b!important;font-weight:700;text-decoration:none}.rel-lk:hover{text-decoration:underline!important}
.rel-zap{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;border:1px solid #bbf7d0;background:#f0fdf4;color:#16a34a}
.rel-zap svg.cheio{width:16px;height:16px;fill:currentColor;stroke:none}
.rel-zap:hover{background:#dcfce7}
.rel-trilho{display:block;min-width:80px;height:8px;border-radius:6px;background:#e8ecf5;overflow:hidden}
.rel-trilho u{display:block;height:100%;background:#1d3bd1;border-radius:6px}
.rel-mais{display:flex;margin:12px auto 0}
.rel-conta,.rel-legenda{font-size:12px;color:#64748b;margin:10px 0 0}
.rel-legenda{margin:2px 0 10px}
.rel-nota{font-size:12px;color:#64748b;margin:12px 0 0;line-height:1.5}
.rel-na{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:22px;color:#475569;font-size:14px;line-height:1.55}
.rel-na b{display:block;color:#0f172a;font-size:15px;margin-bottom:4px}
.rel-blocos{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-bottom:12px}
.rel-blk{border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:14px;min-width:0}
.rel-blk h4{margin:0 0 10px;font-size:13px}
.rel-bar{display:grid;grid-template-columns:minmax(0,120px) minmax(0,1fr) auto;gap:8px;align-items:center;font-size:12.5px;margin:6px 0}
.rel-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rel-bar i{display:block;height:8px;border-radius:6px;background:#e8ecf5;overflow:hidden}.rel-bar i u{display:block;height:100%;background:#1d3bd1;border-radius:6px}
.rel-bar b{font-size:12px;white-space:nowrap}
.rel-fluxo{display:flex;align-items:flex-end;gap:2px;height:90px;margin:8px 0 2px}
.rel-fluxo div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:1px;min-width:0}
.rel-fluxo i{display:block;border-radius:2px 2px 0 0}
.rel-fluxo i.e{background:#16a34a}.rel-fluxo i.s{background:#dc2626}.rel-fluxo i.e.prev{background:#86efac}.rel-fluxo i.s.prev{background:#fca5a5}
.rel-dre tr.grp td{background:#f5f7fb;font-weight:800}
.rel-dre tr.sub td:first-child{padding-left:26px}
.rel-dre tr.tot td{background:#0b1f6b;color:#fff;font-weight:800}
.rel-dre tr.tot td.neg{color:#fecaca}
.rel-dre td{white-space:nowrap}
.rel-impressao{position:fixed;left:-20000px;top:0;width:1000px}
@media (max-width:820px){
  .rel-lado{grid-template-columns:minmax(0,1fr)}
  .rel-menu{display:none}
  .rel-msel{display:block}
  .rel-hub{grid-template-columns:minmax(0,1fr)}
  .rel-bar{grid-template-columns:minmax(0,90px) minmax(0,1fr) auto}
  .rel-cartao{padding:16px}
}
@media print{
  dialog.rel-impressao{position:static;left:auto;width:auto;border:0;padding:0;margin:0}
  .rel-impressao h1{font-size:18px;margin:0 0 4px}.rel-impressao>p{color:#555;margin:0 0 14px;font-size:12px}
  .rel-impressao .tabela-solta{overflow:visible}
  .rel-impressao table{min-width:0;font-size:10.5px}
  .rel-impressao th,.rel-impressao td{padding:5px 6px}
  .rel-impressao .numeros{grid-template-columns:repeat(4,1fr)}
  .rel-impressao .numero{padding:8px 10px}.rel-impressao .numero b{font-size:15px}
  .rel-impressao .rel-lk{color:#111!important}
}
.rel-tabela td.sem-quebra{white-space:nowrap}
.rel-cartao .numeros.fin{margin-bottom:12px}
.rel-cartao .numeros.fin .numero{padding:11px 14px}
.rel-cartao .numeros.fin .numero b{font-size:20px;margin-top:3px}

/* Personalização: logo no lugar das iniciais e menu lateral em cor clara (texto escuro), como na V203 */
.sigla.com-logo{padding:5px;overflow:hidden}
.sigla.com-logo img{width:100%;height:100%;object-fit:contain;display:block}
.lado-claro .lateral{color:#0f172a;scrollbar-color:rgba(15,23,42,.25) transparent}
.lado-claro .lateral .marca-lado small,.lado-claro .lateral .quem-sou small{color:#475569}
.lado-claro .lateral .quem-sou{border-color:rgba(15,23,42,.1)}
.lado-claro .lateral .avatar{background:#0f172a;color:#fff}
.lado-claro .lateral .sigla{box-shadow:0 0 0 1px rgba(15,23,42,.12)}
.lado-claro .lateral .rotulo-menu{color:#64748b}
.lado-claro .lateral .caixa-perfil{border-color:rgba(15,23,42,.12);background:rgba(15,23,42,.04)}
.lado-claro .lateral .caixa-perfil select{background:#fff;color:#0f172a;border-color:rgba(15,23,42,.2)}
.lado-claro .menu a,.lado-claro .menu button,.lado-claro .menu .itens a,.lado-claro .menu .itens .breve,.lado-claro .menu .grupo>.breve{color:#1e293b}
.lado-claro .menu>a:hover,.lado-claro .menu>a.atual,.lado-claro .menu>button:hover,.lado-claro .menu .grupo>a:hover,.lado-claro .menu .grupo>a.atual,.lado-claro .menu .grupo>button:hover{background:#0f172a;color:#fff}
.lado-claro .menu .cabeca.tem-atual{color:#0f172a}
.lado-claro .menu .itens a:hover{background:rgba(15,23,42,.08);color:#0f172a}
.lado-claro .menu .itens a.atual{background:rgba(15,23,42,.1);color:#0f172a}
.lado-claro .menu .grupo>button>svg:first-child,.lado-claro .menu .grupo>a>svg:first-child,.lado-claro .menu .itens svg{color:var(--zd,currentColor)}
.lado-claro .menu .grupo>button:hover>svg:first-child,.lado-claro .menu .grupo>a:hover>svg:first-child,.lado-claro .menu .grupo>a.atual>svg:first-child{color:var(--zc,currentColor)}
.lado-claro .menu .itens a.atual::before{background:var(--zd,#15803d)}
.lado-claro .menu .breve em{border-color:rgba(15,23,42,.3)}
.lado-claro .menu .sair,.lado-claro .lateral .fechar-menu{border-color:rgba(15,23,42,.16);color:#1e293b}
.lado-claro .lateral .fechar-menu{background:rgba(15,23,42,.05)}

/* Peças comuns das Configurações */
.bt-icone{width:34px;height:34px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#334155;display:inline-grid;place-items:center;padding:0}
.bt-icone:hover{border-color:#cbd5e1;background:#f8fafc}.bt-icone svg{width:16px;height:16px}
.nota-cinza{font-size:12.5px;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:10px 12px;margin-bottom:0}
.erro-texto{color:#b91c1c!important}
td.sem-quebra,.sem-quebra{white-space:nowrap}
.caixa-cab h4 small{display:block;font-size:12px;font-weight:500;color:#64748b;margin-top:2px}
.caixa-cab .acoes-linha{margin-left:auto}

/* Equipamentos */
.eq-linha{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #f1f4f8;flex-wrap:wrap}
.caixa-cab+.eq-linha{border-top:0}
.eq-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eef2ff;color:#1d4ed8;flex:0 0 42px}
.eq-ic.facial{background:#f5f3ff;color:#6d28d9}.eq-ic svg{width:21px;height:21px}
.eq-info{flex:1 1 280px;min-width:0;display:grid;gap:2px}
.eq-info small{color:#64748b;font-size:12.5px;overflow-wrap:anywhere}.eq-info .eq-teste{color:#475569;font-size:11.5px}
.eq-acoes{display:flex;gap:6px;align-items:center}

/* WhatsApp da academia */
.caixa-cab .ic.wa{background:#e7f8ee;color:#128c4a}
.wa-duas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.wa-quadros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.wa-quadros .indicador b{font-size:20px}.wa-quadros .indicador em{display:block;font-style:normal;font-size:11.5px;color:#64748b}
.wa-quadros .indicador.atraso b{color:#b91c1c}
.wa-aviso{background:#fffbeb;border:1px solid #fde68a;color:#92400e;border-radius:12px;padding:10px 14px;font-size:13px;font-weight:600;margin:0 0 12px}
.wa-regras{margin:10px 0 12px;padding-left:18px;color:#475569;font-size:12.5px;display:grid;gap:3px}
.wa-plano{margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:16px;padding:12px 18px;flex-wrap:wrap}
.wa-plano b{display:block;font-size:14px}.wa-plano small{color:#64748b}
.wa-sw{width:42px;height:24px;border-radius:999px;border:0;background:#cbd5e1;position:relative;padding:0;transition:background .18s}
.wa-sw i{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.3);transition:left .18s}
.wa-sw.on{background:#16a34a}.wa-sw.on i{left:21px}.wa-sw:disabled{opacity:.6;cursor:default}
.wa-texto{white-space:normal;max-width:420px;min-width:220px;font-size:12.5px}
.wa-enviando{color:#166534}
.wa-modelo{display:flex;gap:10px;justify-content:space-between;align-items:flex-start;padding:10px 0;border-top:1px solid #eef2f7}
.wa-modelo b{display:block;font-size:13.5px}.wa-modelo small{color:#64748b;font-size:12.5px}.wa-modelo>div:last-child{display:flex;gap:4px;flex:0 0 auto}
.wa-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px;align-items:stretch}
.wa-hero-t{background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:20px;padding:28px 30px}
.wa-hero-t h2{font-size:24px;line-height:1.2;margin:10px 0;color:#0b1a5c;max-width:560px}
.wa-hero-t p{color:#475569;margin:0 0 14px;max-width:600px}
.wa-hero-t ul{margin:0 0 20px;padding:0;list-style:none;display:grid;gap:8px}
.wa-hero-t li{padding-left:26px;position:relative;color:#1e293b;font-size:14px}
.wa-hero-t li::before{content:"✓";position:absolute;left:0;top:1px;width:17px;height:17px;border-radius:50%;background:#dcfce7;color:#166534;font-size:11px;font-weight:900;display:grid;place-items:center}
.wa-tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#166534;background:#dcfce7;border-radius:999px;padding:5px 11px}
.wa-preco{background:linear-gradient(160deg,#0b1a5c,#1d3bd1);color:#fff;border-radius:20px;padding:28px;display:flex;flex-direction:column;justify-content:center;gap:6px}
.wa-preco small{opacity:.8;font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.wa-preco b{font-size:38px;line-height:1.1}.wa-preco span{font-size:13.5px;opacity:.9}
.wa-termos{max-height:300px;overflow:auto;border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px;background:#f8fafc;font-size:13.5px;color:#334155}
.wa-termos p{margin:0 0 10px}.wa-termos p:last-child{margin:0}
.wa-conectar{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:18px;align-items:center;margin:6px 0 12px}
.wa-conectar ol{margin:0 0 10px;padding-left:20px;display:grid;gap:8px;font-size:14px;color:#1e293b}
.wa-qr{width:230px;min-height:230px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;display:grid;place-items:center;padding:8px;text-align:center}
.wa-qr svg{width:100%;height:auto;display:block}
.wa-para{margin-top:0}.wa-para b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis}.wa-para b.wa-off{color:#b45309;white-space:normal}
.wa-para small a{color:#1d4ed8;font-weight:700}
.wa-ponto{display:inline-block;width:7px;height:7px;border-radius:50%;background:#16a34a;margin:0 2px 1px 6px}
.wa-msg{position:relative;display:block}
.wa-msg textarea{padding-right:46px}
.wa-emo{position:absolute;right:8px;top:8px;width:30px;height:30px;border:0;background:#f1f5f9;border-radius:9px;font-size:16px;padding:0}
.wa-emos{display:none;position:absolute;right:8px;top:44px;z-index:5;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:6px;box-shadow:0 12px 30px rgba(15,23,42,.16);grid-template-columns:repeat(8,30px);gap:2px}
.wa-emos.aberto{display:grid}.wa-emos button{border:0;background:transparent;font-size:17px;border-radius:7px;height:30px;padding:0}.wa-emos button:hover{background:#f1f5f9}

/* Personalização */
.per-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.per-grade input[type=color]{height:44px;padding:4px 6px;cursor:pointer}
.per-linha{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}
.per-linha input[type=color]{flex:1;min-width:120px}
.grade-cidade{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:10px}
.campo>span{font-size:13px;font-weight:600;color:#3b4354}
.per-previa{--p:#0b22d6;--a:#f2b318;--s:#0b1028;display:grid;grid-template-columns:120px minmax(0,1fr);border-radius:16px;overflow:hidden;border:1px solid #e2e8f0;min-height:150px;margin-bottom:16px}
.per-lado{background:var(--s);color:#fff;display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 8px}
.per-previa.claro .per-lado{color:#0f172a}
.per-lado b{font-size:12px;letter-spacing:.1em;text-align:center;overflow-wrap:anywhere}
.per-logo{width:46px;height:46px;border-radius:13px;background:#fff;display:grid;place-items:center;font-weight:900;overflow:hidden;padding:4px}
.per-logo img{width:100%;height:100%;object-fit:contain}
.per-main{background:#f4f6fa;padding:14px;display:grid;gap:10px;align-content:start}
.per-hero{background:linear-gradient(110deg,color-mix(in srgb,var(--p) 40%,#04081c),var(--p));color:#fff;border-radius:12px;padding:14px;font-weight:800;font-size:14px}
.per-bt{background:var(--p);color:#fff;border-radius:9px;padding:7px 11px;font-size:12px;font-weight:800}
.per-chip{background:var(--a);color:#fff;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.per-chip.escuro{color:#1f2937}
.per-equipe{display:grid;gap:8px}
.per-equipe>div{display:flex;gap:10px;align-items:center;border:1px solid #eef2f7;border-radius:12px;padding:8px 10px}
.per-equipe b{display:block;font-size:13.5px}.per-equipe small{color:#64748b;font-size:12px}
.per-acoes{justify-content:flex-end}

@media (max-width:900px){.wa-duas,.per-grade,.wa-hero,.wa-conectar{grid-template-columns:minmax(0,1fr)}.wa-quadros{grid-template-columns:repeat(2,minmax(0,1fr))}.wa-qr{margin:0 auto}.wa-hero-t{padding:20px}.wa-hero-t h2{font-size:20px}}
@media (max-width:560px){.per-previa{grid-template-columns:90px minmax(0,1fr)}.eq-acoes{width:100%;justify-content:flex-end}}
.per-equipe .avatar-p{background:#0b1f6b}

/* Início: cartão de graduações (administrador e professor) */
.aviso-grad{display:flex;align-items:center;gap:14px;margin-bottom:14px;text-decoration:none;color:inherit;border-left:4px solid #16a34a}
.aviso-grad.calmo{border-left-color:#cbd5e1}
.aviso-grad .ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#ecfdf3;color:#15803d;flex:none}
.aviso-grad.calmo .ic{background:#f1f5f9;color:#64748b}
.aviso-grad .ic svg{width:22px;height:22px}
.aviso-grad div{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.aviso-grad span{color:#64748b;font-size:13px}
.aviso-grad em{font-style:normal;font-weight:700;color:var(--cor);white-space:nowrap;font-size:13px}
.etq-link{text-decoration:none}

/* Imagem dos produtos (estoque, Nova venda e loja do app) */
.produto-mini,.produto-previa,.produto-foto-venda{display:grid;place-items:center;overflow:hidden;background:#f1f5f9;color:#fff;font-weight:850;flex:none}
.produto-mini img,.produto-previa img,.produto-foto-venda img{width:100%;height:100%;object-fit:contain;background:#fff;display:block}
.produto-mini{width:40px;height:40px;border-radius:10px;font-size:16px;border:1px solid var(--linha)}
.produto-previa{width:132px;height:132px;border-radius:16px;font-size:44px;border:1px solid var(--linha)}
.produto-foto-venda{width:100%;height:118px;border-radius:12px;font-size:36px;margin-bottom:6px}
.sem-imagem.cor-0{background:#334155}.sem-imagem.cor-1{background:#0f766e}.sem-imagem.cor-2{background:#1d4ed8}.sem-imagem.cor-3{background:#7c3aed}.sem-imagem.cor-4{background:#b45309}.sem-imagem.cor-5{background:#be123c}
td.com-produto{display:flex;align-items:center;gap:10px}
td.com-produto>div{min-width:0}
.bloco-imagem-produto{display:flex;gap:16px;align-items:flex-start}
.bloco-imagem-produto p{margin:4px 0 8px}
.produto-capa.com-imagem{padding:0;background:#fff;height:168px;min-height:0;border-bottom:1px solid var(--linha)}
.produto-capa.com-imagem img{width:100%;height:100%;object-fit:contain;display:block}
.pedido-imagem{display:grid;place-items:center;background:#fff;border:1px solid var(--linha);border-radius:14px;height:200px;overflow:hidden}
.pedido-imagem img{max-width:100%;max-height:100%;object-fit:contain}
@media(max-width:560px){.bloco-imagem-produto{flex-direction:column}.produto-previa{width:110px;height:110px}.produto-capa.com-imagem{height:130px}.pedido-imagem{height:160px}}
.produto-mini.com-imagem,.produto-previa.com-imagem,.produto-foto-venda.com-imagem,.produto-capa.com-imagem,.pedido-imagem{position:relative;display:block}
.produto-mini.com-imagem img,.produto-previa.com-imagem img,.produto-foto-venda.com-imagem img,.produto-capa.com-imagem img,.pedido-imagem img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;background:#fff}
.produto-foto-venda.com-imagem{border:1px solid var(--linha)}

/* Início do aluno (protótipo: studentHome) */
.fid-aluno.faixa-roxa{border-left:4px solid #7c3aed}
.aluno-linha{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start;margin-top:16px}
.aluno-linha.sem-lado{grid-template-columns:minmax(0,1fr)}
.aluno-lado{display:grid;gap:16px}
.aluno-lado .cartao header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.aluno-lado .cartao h3{margin:0}
.aluno-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:26px 28px;border-radius:var(--r);color:#fff;
  background:linear-gradient(135deg,var(--cor),color-mix(in srgb,var(--cor) 55%,#04081c));box-shadow:0 18px 40px color-mix(in srgb,var(--cor) 25%,transparent)}
.aluno-hero h2{margin:10px 0 6px;font-size:32px;letter-spacing:-.02em}.aluno-hero p{margin:0;opacity:.9}
.aluno-hero .bt{background:#fff;color:var(--tinta);border-color:#fff}
.hero-selo{display:inline-block;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);border-radius:999px;padding:4px 11px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.aluno-grande{font-size:30px;font-weight:900;letter-spacing:-.02em}
.barra-aluno{height:8px;border-radius:99px;background:#e9edf5;overflow:hidden;margin:10px 0 12px}.barra-aluno i{display:block;height:100%;background:var(--tinta);border-radius:99px}
.aluno-aval{display:flex;align-items:center;gap:14px}.aluno-aval p{margin:3px 0 8px}
.anel-media{width:74px;height:74px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:22px;font-weight:900;color:var(--cor);border:7px solid color-mix(in srgb,var(--cor) 16%,#fff)}
.aluno-aula{display:block;font-size:16px}.aluno-reservada{color:var(--verde);font-weight:700;font-size:13px;margin:4px 0 0}
.bt.bloco{display:flex;width:100%;justify-content:center;margin-top:10px}
.aluno-atalhos{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:18px}
.aluno-atalho{display:block;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.aluno-atalho:hover{transform:translateY(-2px);box-shadow:var(--sombra)}
.aluno-atalho .ic{width:42px;height:42px;border-radius:12px;background:#f1f4f9;display:grid;place-items:center}.aluno-atalho .ic svg{width:21px;height:21px}
.aluno-atalho h4{margin:14px 0 4px;font-size:16px}.aluno-atalho p{margin:0;color:var(--suave);font-size:13px}
.lista-modulos{display:grid;gap:8px}
.modulo-linha{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--linha);border-radius:14px;padding:10px 14px;cursor:pointer}
.modulo-linha span{display:grid}.modulo-linha small{color:var(--suave);font-size:12px}
input.chave{appearance:none;-webkit-appearance:none;width:42px;height:24px;flex:none;border-radius:99px;background:#d6dbe6;position:relative;cursor:pointer;padding:0;border:0;transition:background .15s}
input.chave::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
input.chave:checked{background:var(--cor)}input.chave:checked::after{left:21px}
@media(max-width:980px){.aluno-linha{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.aluno-hero{padding:20px}.aluno-hero h2{font-size:26px}.aluno-atalhos{grid-template-columns:1fr}}

/* Mural da academia */
.cab-mural{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.cab-mural h3{margin:0}.cab-mural p{margin:2px 0 0;color:var(--suave);font-size:13px}
.mural-feed{display:grid;gap:14px}
.mural-post{background:#fff;border:1px solid var(--linha);border-radius:var(--r);overflow:hidden}
.mural-post>header{display:flex;align-items:center;gap:10px;padding:12px 16px}
.mural-post>header>div:first-of-type{flex:1;min-width:0}.mural-post>header b{display:block}.mural-post>header small{color:var(--suave);font-size:11px}
.mural-avatar{width:36px;height:36px;border-radius:11px;background:#f1f4f9;display:grid;place-items:center;font-weight:800;flex:none}
.mural-foto{position:relative;background:#0d1321;aspect-ratio:16/9}
.mural-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.mural-capa{aspect-ratio:16/7;display:grid;place-content:center;text-align:center;gap:6px;color:#fff;padding:20px;background:linear-gradient(135deg,#0d1321,var(--cor))}
.mural-capa b{letter-spacing:.08em;font-size:15px}.mural-capa span{font-weight:700}
.mural-corpo{padding:14px 16px 16px}.mural-corpo h4{margin:0 0 4px;font-size:17px}.mural-corpo p{margin:0 0 12px;color:#3d4556;white-space:pre-line}
.mural-corpo .acoes-linha{align-items:center;flex-wrap:wrap}
.mural-equipe{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:18px;align-items:start}
.mural-equipe .cartao>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.mural-equipe h3{margin:0}.mural-equipe header p{margin:2px 0 0;color:var(--suave);font-size:13px}
.mural-previa{border:1px dashed var(--linha);border-radius:14px;padding:10px;margin:6px 0 8px;min-height:44px;display:grid;place-items:center}
.mural-previa img{max-width:100%;max-height:200px;border-radius:10px;display:block}
@media(max-width:980px){.mural-equipe{grid-template-columns:minmax(0,1fr)}}

/* Ranking de presença (protótipo: studentRanking) */
.abas-rank{display:inline-flex;background:#f1f4f9;border-radius:12px;padding:4px;gap:4px}
.abas-rank button{border:0;background:transparent;border-radius:9px;padding:7px 13px;font-weight:700;color:var(--suave);cursor:pointer}
.abas-rank button.ativa{background:#fff;color:var(--tinta);box-shadow:0 1px 3px rgba(0,0,0,.08)}
section.cartao>header:has(.abas-rank){display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.rank-periodo{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 0}
.rank-periodo small{display:block;color:var(--suave);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.rank-periodo b{font-size:21px}
.podio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}
.podio-cartao{border:1px solid var(--linha);border-radius:18px;padding:16px 10px;text-align:center;display:grid;justify-items:center;gap:2px}
.podio-cartao.primeiro{padding-top:26px;background:linear-gradient(180deg,#fff8e1,#fff);border-color:#f2d27a}
.podio-pos{font-weight:900;color:var(--suave)}.podio-avatar{width:46px;height:46px;border-radius:50%;background:var(--cor);color:#fff;display:grid;place-items:center;font-weight:800;margin:6px 0}
.podio-cartao small{color:var(--suave);font-size:11px}.podio-cartao strong{font-size:26px;margin-top:8px}
.rank-linha{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;margin-bottom:6px}
.rank-linha>div:nth-child(2){flex:1;min-width:0}.rank-linha small{display:block;color:var(--suave);font-size:11px}
.rank-linha.eu{background:color-mix(in srgb,var(--cor) 8%,#fff);outline:1px solid color-mix(in srgb,var(--cor) 25%,#fff)}
.rank-n{width:32px;height:32px;border-radius:10px;background:#f1f4f9;display:grid;place-items:center;font-weight:800;flex:none}
.rank-barra{height:6px;background:#eef1f6;border-radius:99px;max-width:220px;margin-top:6px;overflow:hidden}.rank-barra i{display:block;height:100%;background:var(--cor)}
.vencedores{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:12px}
.vencedor-cartao{border:1px solid var(--linha);border-radius:16px;padding:12px 14px}.vencedor-cartao header small{display:block;color:var(--suave);font-size:10px}
.vencedor{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--linha)}.vencedor:first-of-type{margin-top:8px}
.vencedor>div{flex:1}.vencedor small{display:block;color:var(--suave);font-size:11px}
.medalha{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:12px;background:#f1f4f9}
.medalha.m1{background:#fde68a}.medalha.m2{background:#e2e8f0}.medalha.m3{background:#fed7aa}
.numero small{display:block;color:var(--suave);font-size:12px}
@media(max-width:560px){.podio{gap:6px}.podio-cartao{padding:12px 4px}.podio-cartao b{font-size:12px}}
.aluno-ferramentas{display:flex;justify-content:flex-end;margin:-6px 0 12px}
.mural-capa{max-height:300px}.mural-foto{max-height:460px}
.mural-capa{aspect-ratio:auto;height:clamp(170px,26vw,300px);max-height:none}
.mural-foto{aspect-ratio:auto;height:clamp(190px,36vw,420px);max-height:none}
.aluno-atalhos{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.aluno-atalhos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.aluno-atalhos{grid-template-columns:minmax(0,1fr)}}

/* Meu financeiro (aluno) e Pedidos dos alunos */
.numeros.fin3{grid-template-columns:repeat(3,minmax(0,1fr))}
.numero b.menor{font-size:24px}
.numero small.verde-t{color:var(--verde)}.numero small.vermelho-t{color:var(--vermelho)}
.fin-duas{align-items:stretch}
.fin-valor{font-size:34px;font-weight:900;letter-spacing:-.03em;margin-top:10px}
.kv{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--linha)}.kv span{color:#3d4556}.kv b{text-align:right}
.fin-tabela td .sub{display:block;font-size:11px;color:var(--suave)}
.recibo{border:1px dashed var(--linha);border-radius:14px;padding:16px}.recibo small{display:block;color:var(--suave);font-size:11px}.recibo p{margin:12px 0}
.pedido-plano{border:1px solid var(--linha);border-radius:14px;padding:12px 14px;margin-top:10px}.pedido-plano p{margin:6px 0 0}
.pedido-topo{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.pedido-topo small{display:block;color:var(--suave);font-size:11px}
.pedido-plano .acoes-linha{margin-top:10px}
@media(max-width:760px){.numeros.fin3{grid-template-columns:minmax(0,1fr)}}
@media print{body.imprimindo-recibo #app{display:none!important}body.imprimindo-recibo dialog{position:static;box-shadow:none;border:0;max-width:none;width:100%}}
@media(max-width:640px){
  .fin-tabela thead{display:none}
  .fin-tabela,.fin-tabela tbody{display:block;min-width:0!important;width:100%}
  .fin-tabela tr{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding:12px 0;border-bottom:1px solid var(--linha)}
  .fin-tabela td{display:block;padding:0!important;border:0!important;white-space:normal}
  .fin-tabela td.fin-titulo{grid-column:1/-1}
  .fin-tabela td[data-r]::before{content:attr(data-r);display:block;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--suave);margin-bottom:2px}
  .fin-tabela td.acoes{grid-column:1/-1;text-align:left}.fin-tabela td.acoes:empty{display:none}
}

/* WhatsApp oficial (Meta) */
.wa-meta{margin:6px 0 10px}
.wa-ajuda{border:1px solid var(--linha);border-radius:12px;padding:10px 14px;background:#fafbfd}
.wa-ajuda summary{cursor:pointer;font-weight:700}.wa-ajuda ol{margin:10px 0 0;padding-left:20px;display:grid;gap:6px;font-size:13px;color:#3d4556}
.wa-previa{background:#e7fbe9;border:1px solid #c9eecd;border-radius:12px 12px 12px 2px;padding:10px 12px;white-space:pre-line;margin:6px 0;min-height:20px}

/* Famílias e responsáveis financeiros */
.fam-desconto{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:4px 0 14px}
.fam-desconto label{max-width:240px}.fam-desconto .meta{margin:0 0 6px;flex:1;min-width:220px}
.fam-nome{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--cor);cursor:pointer;text-align:left}
.fin-tabela .sub.verde-t{color:var(--verde)}.fin-tabela .sub.vermelho-t,.sub.vermelho-t{color:var(--vermelho)}
.fam-alunos{display:grid;gap:6px;max-height:240px;overflow:auto;border:1px solid var(--linha);border-radius:12px;padding:10px 12px;margin-top:6px}
.fam-alunos .marca-simples small{margin-left:auto;font-weight:400}
.fam-fatura{border:1px solid var(--linha);border-radius:14px;padding:12px 14px;margin-top:10px}
.fam-fatura-topo{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.fam-fatura-topo small{display:block;color:var(--suave);font-size:12px}
.fam-fatura-valor{display:grid;justify-items:end;gap:4px}
.fam-itens{width:100%;border-collapse:collapse;margin-top:8px;font-size:13px}
.fam-itens td{padding:6px 4px;border-top:1px solid var(--linha);vertical-align:top}
.fam-itens td small{display:block;color:var(--suave);font-size:11.5px}
.fam-itens td:nth-child(2),.fam-itens td:nth-child(3){text-align:right;white-space:nowrap}
.fam-itens s{color:var(--suave);font-size:12px}
.fam-resp{border-left:4px solid var(--cor)}
.fam-aviso{display:flex;gap:12px;align-items:flex-start}
.fam-proxima{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.fam-proxima>div{flex:1;min-width:220px}.fam-proxima .fin-valor{margin-top:4px}
@media (max-width:640px){.fam-proxima .bt{width:100%}.fam-desconto label{max-width:none;width:100%}}

/* WhatsApp: escolha da forma de conexão (oficial ou QR Code) */
.wa-formas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:10px}
.wa-forma{border:1px solid var(--linha);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;background:#fff}
.wa-forma.atual{border-color:var(--cor);box-shadow:0 0 0 2px color-mix(in srgb,var(--cor) 18%,transparent)}
.wa-forma-cab{display:flex;justify-content:space-between;align-items:center;gap:10px}
.wa-forma ul{margin:0;padding-left:0;list-style:none;display:grid;gap:5px;font-size:13px}
.wa-forma .wa-pros li::before{content:'✓ ';color:var(--verde);font-weight:800}
.wa-forma .wa-contras li::before{content:'! ';color:#b45309;font-weight:900}
.wa-forma .bt{align-self:flex-start;margin-top:auto}
.wa-forma-atual{margin:auto 0 0;font-weight:700;font-size:13px;color:var(--cor)}
.wa-termos ul{margin:0 0 10px;padding-left:18px;display:grid;gap:4px}
.wa-ajuda ul{padding-left:18px;display:grid;gap:6px;font-size:13px}
@media (max-width:900px){.wa-formas{grid-template-columns:minmax(0,1fr)}}
/* Biblioteca de modelos da Meta */
.bib-lista{display:grid;gap:10px;max-height:58vh;overflow:auto;margin-top:12px}
.bib-item{border:1px solid var(--linha);border-radius:14px;padding:12px 14px;display:grid;gap:6px}
.bib-cab{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.bib-cab .sub{color:var(--suave);font-size:12px}
.bib-item .wa-previa{margin:0}

/* Atendimento WhatsApp (caixa de entrada) */
.at-tela{display:grid;grid-template-columns:340px minmax(0,1fr);gap:14px;height:calc(100vh - 150px);min-height:520px}
.at-lista,.at-conversa{background:#fff;border:1px solid var(--linha);border-radius:18px;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.at-filtros{display:flex;flex-wrap:wrap;gap:6px;padding:12px 12px 6px}
.at-filtros button{border:1px solid var(--linha);background:#fff;border-radius:999px;padding:5px 10px;font-size:12.5px;font-weight:700;color:#475569;cursor:pointer}
.at-filtros button.ativa{background:var(--cor);border-color:var(--cor);color:#fff}
.at-filtros button b{background:rgba(0,0,0,.12);border-radius:999px;padding:0 6px;margin-left:2px}
.at-busca{margin:4px 12px 8px;width:auto}
.at-lista .wa-aviso{margin:0 12px 8px}
.at-itens{overflow:auto;flex:1}
.at-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;border:0;border-top:1px solid var(--linha);background:#fff;padding:10px 12px;text-align:left;cursor:pointer;font:inherit}
.at-item:hover{background:#f8fafc}.at-item.ativo{background:color-mix(in srgb,var(--cor) 8%,#fff)}
.at-item.nova b{color:#0f172a}.at-item .at-meio{display:grid;min-width:0}
.at-item .at-meio b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.at-item .at-meio small{color:var(--suave);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.at-item.nova .at-meio small{color:#0f172a;font-weight:600}
.at-fim{display:grid;justify-items:end;gap:4px}.at-fim small{color:var(--suave);font-size:11.5px}
.at-badge{background:#16a34a;color:#fff;border-radius:999px;font-style:normal;font-size:11px;font-weight:800;padding:1px 7px}
.at-av{width:40px;height:40px;border-radius:50%;background:color-mix(in srgb,var(--cor) 14%,#fff);color:var(--cor);display:grid;place-items:center;font-weight:800;font-size:14px}
.at-conversa.vazia{display:grid;place-items:center;text-align:center;padding:30px}
.at-cab{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--linha)}
.at-quem{flex:1;display:grid;min-width:0}.at-quem small{color:var(--suave);font-size:12px}
.at-resumo{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:7px 14px;background:#f8fafc;border-bottom:1px solid var(--linha);font-size:12.5px;color:#475569}
.at-msgs{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:#f4f6f9}
.at-msg{max-width:78%;border-radius:14px;padding:7px 11px;background:#fff;border:1px solid var(--linha);align-self:flex-start;display:grid;gap:2px}
.at-msg p{margin:0;white-space:pre-wrap;word-break:break-word;font-size:14px;color:#0f172a}
.at-msg.sai{align-self:flex-end;background:#dcf8c6;border-color:#c5ebae}.at-msg.sai.robo{background:#eef2ff;border-color:#dbe1fb}
.at-msg small{font-size:11px;color:#64748b;font-weight:700}.at-msg .at-hora{font-weight:400;justify-self:end}
.at-sis{align-self:center;font-size:11.5px;color:#64748b;background:#e2e8f0;border-radius:999px;padding:3px 10px;margin:2px 0}
.at-acoes{display:flex;gap:8px;flex-wrap:wrap;padding:8px 14px;border-top:1px solid var(--linha)}
.at-escrever{display:flex;gap:8px;padding:0 14px 14px}.at-escrever textarea{flex:1;min-height:44px;resize:vertical}
.at-janela{margin:0 14px 14px}
.so-celular{display:none}
@media (max-width:900px){.at-tela{grid-template-columns:minmax(0,1fr);height:calc(100vh - 120px)}.escondida-celular{display:none!important}.so-celular{display:inline-grid}.at-msg{max-width:90%}}
.wa-receber{border-top:1px solid var(--linha);padding-top:14px}.wa-receber h4{margin:0 0 6px}
.copiavel{cursor:copy;word-break:break-all;font-family:ui-monospace,Consolas,monospace;font-size:12.5px}
.wa-ajuda code{background:#f1f5f9;border-radius:6px;padding:1px 5px;font-size:12px}
.wa-tunel{border:1px solid var(--linha);border-radius:14px;padding:12px 14px;display:grid;gap:10px;background:#fbfcfe}
.wa-tunel .caixa-cab{margin:0;padding:0;border:0}.wa-tunel h4{margin:0;flex:1}
.regra-variacoes{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:4px;font-size:11.5px;color:var(--suave)}
/* WhatsApp › Robô */
.robo-tela{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;align-items:start}
.robo-teste{position:sticky;top:90px;display:grid;gap:10px}
.robo-chat{background:#f4f6f9;border-radius:14px;padding:12px;min-height:280px;max-height:52vh;overflow:auto;display:flex;flex-direction:column;gap:8px}
.robo-chat .at-msg{max-width:92%}
.robo-teste .at-escrever{padding:0}.robo-teste .at-escrever input{flex:1}
.robo-ops{display:grid;gap:8px;margin-top:8px}
.robo-op{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--linha);border-radius:14px;padding:10px 12px;background:#fff}
.robo-op.desligada{opacity:.55;background:#f8fafc}
.robo-num{width:30px;height:30px;border-radius:50%;background:color-mix(in srgb,var(--cor) 12%,#fff);color:var(--cor);display:grid;place-items:center;font-weight:800}
.robo-op-t{display:grid;gap:3px;min-width:0}.robo-op-t small{color:var(--suave);font-size:12px}
.robo-resp{white-space:pre-wrap;color:#334155!important;background:#f8fafc;border-radius:8px;padding:5px 8px}
.robo-op-acoes{display:flex;gap:6px;align-items:center}
.robo-ajuda{margin-bottom:14px}.robo-ajuda ol{display:grid;gap:6px;font-size:13px}
@media (max-width:1000px){.robo-tela{grid-template-columns:minmax(0,1fr)}.robo-teste{position:static}.robo-op{grid-template-columns:30px minmax(0,1fr)}.robo-op-acoes{grid-column:1/-1;justify-content:flex-end}}

/* Robô: links nas respostas prontas */
.robo-links { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 10px; border: 1px dashed var(--linha); border-radius: 10px; background: var(--fundo); }
.robo-links > .meta:first-child { font-weight: 600; margin-right: 2px; }
.robo-links > small.meta, .robo-links > .wa-aviso { flex-basis: 100%; margin: 4px 0 0; }
.robo-escolha { flex-basis: 100%; display: flex; gap: 6px; align-items: center; }
.robo-escolha select, .robo-escolha input { flex: 1; min-width: 0; }
.robo-link { display: inline-block; padding: 1px 8px; margin: 1px 0; border-radius: 999px; background: color-mix(in srgb, var(--cor) 12%, #fff); color: var(--cor); font-weight: 600; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; vertical-align: bottom; }
@media (max-width: 600px) { .robo-escolha { flex-wrap: wrap; } .robo-escolha .bt { width: 100%; } }
.robo-link.falta { background: color-mix(in srgb, var(--vermelho) 12%, #fff); color: var(--vermelho); text-decoration: line-through; }
.robo-foto { display: block; width: 100%; max-width: 260px; aspect-ratio: 1; object-fit: cover; border-radius: 10px; margin: 4px 0 6px; background: var(--fundo); }
.robo-simulado { display: block; margin-top: 4px; color: var(--ouro); font-weight: 600; }

/* Vídeos da biblioteca técnica: campo com prévia, trecho, lista do canal e aba Vídeos */
.campo-video { display: grid; gap: 8px; }
.cv-canal { gap: 6px; }
.cv-trecho { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: end; }
.cv-trecho small { grid-column: 1 / -1; margin-top: -4px; }
.cv-cartao { display: flex; gap: 12px; align-items: flex-start; padding: 10px; border: 1px solid var(--linha); border-radius: 12px; background: var(--fundo); }
.cv-cartao.problema, .vd-item.problema, .cv-item.problema { border-color: color-mix(in srgb, var(--vermelho) 45%, #fff); background: color-mix(in srgb, var(--vermelho) 5%, #fff); }
.cv-cartao img, .cv-item img, .vd-item img { width: 128px; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 8px; background: #111; flex: 0 0 auto; }
.cv-cartao > div, .cv-item-t, .vd-corpo { display: grid; gap: 4px; min-width: 0; }
.cv-cartao b, .cv-item-t b, .vd-corpo > b { overflow-wrap: anywhere; }
.cv-sem { display: grid; place-items: center; width: 128px; aspect-ratio: 16 / 9; border-radius: 8px; background: #1f2433; color: #fff; font-size: 12px; font-weight: 700; flex: 0 0 auto; }
.cv-usos { display: grid; gap: 3px; margin-top: 8px; padding: 10px; border-radius: 10px; background: #fff4d6; color: #5c3f00; }
.cv-lista { display: grid; gap: 8px; max-height: 60vh; overflow: auto; }
.cv-item { display: flex; gap: 12px; align-items: flex-start; text-align: left; padding: 8px; border: 1px solid var(--linha); border-radius: 12px; background: #fff; cursor: pointer; font: inherit; color: inherit; }
.cv-item:hover { border-color: var(--cor); }
.vd-resumo { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; margin-bottom: 12px; }
.vd-resumo b { font-size: 18px; }
.vd-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)); gap: 10px; }
.vd-item { display: flex; gap: 12px; align-items: flex-start; padding: 10px; border: 1px solid var(--linha); border-radius: 14px; background: #fff; }
.vd-usos { display: flex; flex-wrap: wrap; gap: 4px; }
.vc-codigo { display: block; margin: 6px 0; padding: 8px 10px; border-radius: 8px; background: #0f172a; color: #e2e8f0; font-size: 12px; overflow-wrap: anywhere; user-select: all; }
.vc-cartao header { align-items: flex-start; }
.vc-nota { margin-bottom: 14px; }
@media (max-width: 600px) {
  .vd-lista { grid-template-columns: 1fr; }
  .cv-cartao img, .cv-item img, .vd-item img, .cv-sem { width: 96px; }
  .cv-trecho { grid-template-columns: 1fr 1fr; }
}
.cv-cartao .etiqueta, .vd-corpo > .etiqueta, .cv-item-t .etiqueta { justify-self: start; }
.vc-google { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 6px 0; }
.bt-google { display: inline-flex; align-items: center; gap: 10px; }
.g-logo { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #fff; color: #4285f4; font-weight: 800; font-family: Arial, sans-serif; }
.vc-avancado { margin-top: 10px; }

/* ===== Controle de acesso (V192/V193) ===== */
.indicadores.ac-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.ac-de{font-style:normal;font-size:12.5px;color:#64748b;font-weight:600}
.ac-barra{border:0;padding:0;margin:4px 0 0}
.ac-nome{display:flex;align-items:center;gap:10px;min-width:0}.ac-nome b{display:block}.ac-nome small{display:block;color:#64748b;font-size:12px}
.ac-av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:800;flex:0 0 34px;overflow:hidden;background:#94a3b8}
.ac-av img{width:100%;height:100%;object-fit:cover}
.ac-motivo{white-space:normal;max-width:300px;font-size:13px}.ac-motivo small{display:block;color:#64748b}
.ac-tabela td{vertical-align:middle}
.ac-ok{color:#166534!important;font-weight:700}.ac-bloq{color:#b91c1c!important;font-weight:700}
.ac-kiosk{border-radius:18px;padding:30px 22px;text-align:center;display:grid;gap:8px;justify-items:center;color:#fff;min-height:330px;align-content:center}
.ac-kiosk.claro{color:#0f172a}
.ac-kiosk small{opacity:.75;text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:11.5px}
.ac-kiosk h2{margin:6px 0 0;font-size:26px;color:inherit}.ac-kiosk p{margin:0;opacity:.88;max-width:420px}.ac-kiosk p.forte{opacity:1;font-weight:700;margin:0}
.ac-kiosk em{font-style:normal;opacity:.6;font-size:12px;margin-top:8px}
.ac-kav{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:rgba(148,163,184,.25);padding:5px;margin-top:6px;overflow:hidden}
.ac-kav svg{width:52px;height:52px}.ac-kav img{width:100%;height:100%;border-radius:50%;object-fit:cover}.ac-kav span{font-size:36px;font-weight:800;color:#fff}
.ac-kav.ok{background:#22c55e}.ac-kav.bad{background:#ef4444}
.ac-kres{display:inline-block;font-weight:800;font-size:15px;padding:8px 18px;border-radius:999px}.ac-kres.ok{background:#dcfce7;color:#166534}.ac-kres.bad{background:#fee2e2;color:#991b1b}
.ac-leitor{margin-top:12px}
.ac-folha{text-align:center}.ac-folha h1{font-size:22px;margin:0 0 4px}.ac-folha p{color:#555;margin:4px 0}
.ac-qr-grande{width:min(320px,100%);margin:12px auto}.ac-qr-grande svg.qr{max-width:none}
.ac-aluno{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid rgba(15,23,42,.08);border-left:4px solid #16a34a;border-radius:16px;padding:14px 16px;margin-bottom:14px;flex-wrap:wrap}
.ac-aluno.bad{border-left-color:#dc2626}
.ac-aluno .ic{width:42px;height:42px;border-radius:12px;background:#e0e7ff;color:#1d3bd1;display:grid;place-items:center;flex:0 0 42px}.ac-aluno .ic svg{width:22px;height:22px}
.ac-aluno>div{flex:1;min-width:160px}.ac-aluno b{display:block;font-size:14.5px}.ac-aluno small{color:#64748b;font-size:12.5px}
.ac-meu{text-align:center}.ac-meu .wa-aviso{text-align:left;margin:6px 0 12px}
.ac-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;border-radius:999px;padding:6px 11px;background:#f1f5f9;color:#475569;border:0;font-family:inherit;white-space:nowrap}
.ac-chip svg{width:15px;height:15px}.ac-chip.ok{background:#dcfce7;color:#166534}.ac-chip.bad{background:#fee2e2;color:#991b1b}
.ac-chip.acao{background:#0b1a5c;color:#fff}button.ac-chip{cursor:pointer}
.barra-topo .bt-topo{margin-left:auto;width:44px;height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.14);color:#fff;display:flex;align-items:center;justify-content:center;flex:none;cursor:pointer}
.barra-topo .bt-topo svg{width:20px;height:20px}.barra-topo .bt-topo:hover{background:rgba(255,255,255,.24)}
@media (max-width:820px){.indicadores.ac-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.barra-topo .bt-topo{display:none}}
@media print{dialog.ac-impressao>form>header{display:none}.ac-qr-grande{width:340px}}
.tabela-solta table.ac-tabela{min-width:900px}
.ac-tabela td:first-child{white-space:nowrap}
@media (max-width:820px){.ac-cab{flex-wrap:wrap}.ac-cab .acoes-linha{width:100%;margin-left:0}.ac-cab .acoes-linha .bt{flex:1 1 auto}}
.caixa input[type=color]{height:42px;padding:4px;min-width:80px}

/* Minhas configurações (protótipo: studentSettings): cartão do perfil com o menu das seções à esquerda e o painel à direita. */
.cfg{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}
.cfg-lado{position:sticky;top:16px}
.cfg-perfil{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}
.cfg-foto{width:104px;height:104px;border-radius:28px;background:#eef1f7;color:var(--tinta);display:grid;place-items:center;font-size:30px;font-weight:900;overflow:hidden;margin-bottom:8px}
.cfg-foto img{width:100%;height:100%;object-fit:cover;display:block}
.cfg-nome{font-size:20px;font-weight:900;line-height:1.2;overflow-wrap:anywhere}
.cfg-perfil small{color:var(--suave);font-size:12.5px}
.cfg-perfil .bt{margin-top:12px}
.cfg-menu{display:grid;gap:8px;margin-top:18px}
.cfg-menu button{text-align:left;border:1px solid var(--linha);background:#fff;border-radius:12px;padding:11px 13px;font-weight:700;color:#334155}
.cfg-menu button:hover{border-color:#cfd5e2}
.cfg-menu button.ativa{border-color:var(--cor);background:color-mix(in srgb,var(--cor) 8%,#fff);color:var(--cor)}
.cfg-painel>header{margin-bottom:16px}
.cfg-linha{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 0;border-top:1px solid var(--linha)}
.cfg-linha>div{min-width:0}.cfg-linha b{display:block}.cfg-linha small{display:block;color:var(--suave);font-size:12.5px;margin-top:2px}
.cfg-nota{margin:14px 0 0;background:#f6f8fc;border:1px solid var(--linha);border-radius:12px;padding:12px 14px;font-size:13px;color:#475569}
.cfg-acoes{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:18px}
.cfg-caixa{background:#f8fafc;border:1px solid var(--linha);border-radius:16px;padding:16px;margin-bottom:6px}
.cfg-bloco{margin-top:20px;padding-top:16px;border-top:1px solid var(--linha)}
.cfg-bloco>b{display:block}.cfg-bloco h3{font-size:16px}
.cfg-grad{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--linha);border-radius:14px;padding:12px 14px;margin-top:10px;flex-wrap:wrap}
.cfg-grad small{display:block;color:var(--suave);font-size:12px;margin-top:3px}
.cfg-grad .cfg-recusa{color:#9a3412}
.cfg-msg{border:1px solid var(--linha);border-radius:14px;padding:12px 14px;margin-top:10px}
.cfg-msg .cab-secao{margin-bottom:6px}.cfg-msg small{display:block;color:var(--suave);font-size:12px}
.cfg-msg p{margin:6px 0 0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.cfg-msg .cfg-resposta{background:#f0fdf4;border-radius:10px;padding:8px 10px}
.cfg-termos h4{margin:14px 0 4px}.cfg-termos p{margin:0;color:#475569;font-size:14px}
.cfg-painel .fraco{color:#64748b;font-size:12.5px}
@media (max-width:900px){.cfg{grid-template-columns:1fr}.cfg-lado{position:static}.cfg-menu{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.cfg-menu{grid-template-columns:1fr}.cfg-linha{align-items:flex-start}}
/* Nome e foto no menu levam às Minhas configurações. */
a.quem-sou{color:inherit;text-decoration:none}
a.quem-sou:hover{border-color:rgba(255,255,255,.22)}
.lateral .avatar{overflow:hidden}.lateral .avatar img{width:100%;height:100%;object-fit:cover;display:block}
.podio-avatar{overflow:hidden}.podio-avatar img{width:100%;height:100%;object-fit:cover;display:block}
/* Mensagens do app (Clientes › Pedidos dos alunos) e problemas reportados (FREEDOM). */
.msg-app{border:1px solid var(--linha);border-radius:14px;padding:12px 14px;margin-top:10px}
.msg-app p{margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}.msg-app small{color:var(--suave);font-size:12px}
/* Agenda: visão do mês (protótipo: semana ou mês). */
.ag-alternar{display:flex;justify-content:flex-end;margin:-4px 0 10px}
.ag-mes{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.ag-mes-cab{text-align:center;font-size:12px;color:var(--suave);font-weight:700;padding-bottom:2px}
.ag-mes-dia{border:1px solid var(--linha);background:#fff;border-radius:12px;min-height:74px;padding:7px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}
.ag-mes-dia:hover{border-color:var(--cor)}
.ag-mes-dia b{font-size:15px}.ag-mes-dia small{font-size:11px;color:var(--suave)}
.ag-mes-dia em{font-style:normal;font-size:10.5px;font-weight:800;color:var(--cor)}
.ag-mes-dia.fora{opacity:.45}.ag-mes-dia.hoje{border-color:var(--cor);box-shadow:inset 0 0 0 1px var(--cor)}
@media (max-width:600px){.ag-mes{gap:3px}.ag-mes-dia{min-height:58px;padding:5px}.ag-mes-dia small{font-size:9.5px}}

/* Loja › Vitrine Jiu365: categorias da vitrine em grupos */
.vt-categorias{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.vt-categorias fieldset{border:1px solid var(--linha);border-radius:12px;padding:8px 12px 10px;margin:0;display:grid;gap:4px;align-content:start}
.vt-categorias legend{font-size:12px;font-weight:700;color:var(--suave);padding:0 4px;text-transform:uppercase;letter-spacing:.05em}
.vt-categorias .escolha{font-size:13.5px}
.vt-previa{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#000;max-width:320px}
.vt-previa iframe,.vt-previa video{position:absolute;inset:0;width:100%;height:100%;border:0}
.vt-capa-linha{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.vt-capa-previa{position:relative;width:240px;max-width:100%;aspect-ratio:16/8;border-radius:12px;overflow:hidden;background:#0a1430;flex:none}
.vt-capa-previa img{width:100%;height:100%;object-fit:cover;display:block}
.vt-capa-previa span{position:absolute;left:8px;bottom:8px;background:rgba(0,0,0,.65);color:#fff;font-size:11px;padding:2px 8px;border-radius:6px}
.vt-capa-linha>div:last-child{flex:1;min-width:220px}
/* Painel FREEDOM › Configurações */
.aviso-erro{background:#fde9ea;color:#8f1d24;border:1px solid #f6c5c8;border-radius:10px;padding:10px 12px;font-size:13.5px;margin:0 0 12px}
form[data-form-teste]{margin-top:14px;padding-top:14px;border-top:1px solid var(--borda,#e3e6ee)}
/* Aviso do período de teste da plataforma */
.aviso-teste{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;background:#eef3ff;border:1px solid #c9d8ff;color:#1e3a8a;border-radius:12px;padding:10px 14px;margin:0 0 16px;font-size:14px}
.aviso-teste a{color:inherit;font-weight:700}
.aviso-teste.vencido{background:#fff4e5;border-color:#ffd8a8;color:#7a3e00}
/* Primeiros passos da academia nova */
.passos-academia header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.passos-academia header p{margin:2px 0 0;color:var(--suave);font-size:13.5px}
.passos-barra{height:8px;border-radius:99px;background:#eef0f4;overflow:hidden;margin:12px 0 14px}
.passos-barra i{display:block;height:100%;background:var(--cor);border-radius:99px;width:0}
.passos-lista{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.passos-lista a{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--borda,#e3e6ee);border-radius:12px;color:inherit;text-decoration:none;min-height:58px}
.passos-lista a:hover,.passos-lista a:focus-visible{border-color:var(--cor);background:color-mix(in srgb,var(--cor) 5%,#fff)}
.passos-lista b{display:block;font-size:14px}
.passos-lista small{display:block;color:var(--suave);font-size:12.5px;line-height:1.35}
.passos-lista em{margin-left:auto;font-style:normal;font-size:12.5px;font-weight:700;color:var(--cor);white-space:nowrap}
.passo-marca{flex:0 0 26px;height:26px;border-radius:50%;border:2px solid #cfd5e1;display:grid;place-items:center;font-weight:800;font-size:14px;color:#fff}
.passos-lista li.feito .passo-marca{background:#14a05a;border-color:#14a05a}
.passos-lista li.feito em{color:#14734a}
.passos-lista li.feito b{color:var(--suave)}
@media (max-width:760px){.passos-lista{grid-template-columns:1fr}}

/* Minha conta › Adicionar à minha conta */
.cfg-adicionar-lista{display:grid;gap:10px;margin-top:14px}
.cfg-adicionar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;align-items:center;border:1px solid var(--linha);border-radius:14px;padding:14px 16px;text-decoration:none;color:var(--tinta);background:#fff}
.cfg-adicionar:hover{border-color:var(--cor)}
.cfg-adicionar b{grid-column:1}
.cfg-adicionar small{grid-column:1;color:var(--suave);font-size:13px}
.cfg-adicionar span{grid-column:2;grid-row:1 / span 2;color:var(--cor);font-weight:800;font-size:18px}

/* Biblioteca digital: de onde é este acervo e o caminho para os das outras academias (vitrine). */
.faixa-acervos{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;background:#eef3ff;border:1px solid #d6e2ff;color:#173a8a;border-radius:14px;padding:10px 14px;font-size:14px}
.faixa-acervos-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.faixa-acervos-links a:not(.bt){color:#173a8a;font-weight:700}
.titulo-mc{margin:16px 0 8px;font-size:14px;color:var(--suave);font-weight:700}
.mc-acervos{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.mc-acervo{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--linha);border-radius:14px;padding:12px 14px}
.mc-acervo b{display:block}.mc-acervo small{color:var(--suave)}
button.cfg-adicionar{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer}
/* Entrar com Google em Minhas configurações e no Painel FREEDOM (23/10/2026). */
fieldset.escolhas{border:1px solid var(--linha);border-radius:12px;padding:10px 12px;margin:0}
fieldset.escolhas legend{font-weight:700;padding:0 4px}
.g-linha{display:flex;align-items:center;gap:14px;margin-bottom:12px;border:1px solid var(--linha);border-radius:14px;padding:14px 16px}
.g-linha>div{flex:1;min-width:0}
.g-linha small{display:block;color:#64748b}
.g-linha .g-logo{width:28px;height:28px}
/* Meu pedido: quem pediu matrícula ou aula experimental, aguardando liberação (23/10/2026). */
.mp-grade{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}
@media (max-width:900px){.mp-grade{grid-template-columns:minmax(0,1fr)}}
.mp-pedido{display:grid;gap:16px}
.mp-pedido h3{margin:4px 0;font-size:19px}
.mp-topo{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.mp-sobre,.mp-dado>span,.mp-motivo>span,.mp-recado>span{display:block;font-size:11.5px;font-weight:700;letter-spacing:.12em;color:#5b6478}
.mp-etapas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:700px){.mp-etapas{grid-template-columns:minmax(0,1fr)}}
.mp-etapa{border:1px solid var(--linha);border-radius:14px;padding:14px;display:grid;gap:6px;align-content:start}
.mp-etapa>span{width:28px;height:28px;border-radius:50%;border:2px solid #94a3b8;display:grid;place-items:center;font-weight:800;color:#5b6478;box-sizing:border-box}
.mp-etapa small{color:#5b6478;font-size:13px}
.mp-etapa.feita{border-color:#bfe9d3;background:#f1fbf5}.mp-etapa.feita>span{background:var(--verde);border-color:var(--verde);color:#fff}
.mp-etapa.atual{border:2px solid var(--cor);background:color-mix(in srgb,var(--cor) 6%,#fff)}.mp-etapa.atual>span{background:var(--cor);border-color:var(--cor);color:#fff}
.mp-liberado{border-top:1px solid var(--linha);padding-top:14px;display:grid;gap:10px}
.mp-atalhos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.mp-atalhos a{border:1px solid var(--linha);border-radius:14px;padding:14px;display:grid;gap:4px;text-decoration:none;color:inherit}
.mp-atalhos a:hover{border-color:var(--cor)}
.mp-atalhos small{color:#5b6478}.mp-atalhos em{font-style:normal;font-weight:700;color:var(--cor);font-size:13px}
.mp-rodape{display:flex;justify-content:flex-end}
.bt.perigo-leve{color:#b3261e;border-color:#f3c3c6;background:#fff}
.mp-academia{display:grid;gap:14px}
.mp-ac-topo{display:flex;gap:12px;align-items:center}.mp-ac-topo small{display:block;color:#5b6478}
.mp-sigla{width:46px;height:46px;border-radius:12px;background:var(--cor);color:#fff;font-weight:800;display:grid;place-items:center;flex:none}
.mp-dado{display:grid;gap:3px;font-size:14px}.mp-dado a{font-size:13px}
.bt.mp-whats{background:#16a34a;border-color:#16a34a;color:#fff;justify-content:center}
.mp-motivo{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:12px;display:grid;gap:4px}
.mp-recado{background:#fff;border:1px solid var(--linha);border-radius:12px;padding:12px;display:grid;gap:4px}
.mp-bloqueado{max-width:640px;margin:0 auto;text-align:center;display:grid;gap:14px;justify-items:center}
.mp-cadeado{width:64px;height:64px;border-radius:50%;background:#fff4d6;color:#8a5d00;display:grid;place-items:center}
.mp-aulas{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;text-align:left}
.mp-aulas div{border:1px dashed #cbd5e1;border-radius:12px;padding:10px 12px;display:grid;gap:3px;color:#5b6478}
.mp-aulas b{color:#334155;font-size:13px}.mp-aulas small{font-size:12px}
.mp-faixa{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#fffbeb;border-color:#fde68a;margin-bottom:16px}
.mp-faixa small{display:block;color:#5b6478;margin-top:4px}
.mp-aprovado{display:grid;gap:10px;justify-items:start;background:#f1fbf5;border-color:#bfe9d3;margin-bottom:16px}
.mp-aprovado h3{margin:0;font-size:18px}.mp-aprovado .mp-recado{width:100%;box-sizing:border-box}
/* Menu de quem aguarda: itens bloqueados com o status embaixo. */
.menu a.bloqueado{color:#7f8aa3}
.menu a.bloqueado>span small{display:block;font-size:11px;font-weight:700;color:#fcd34d;margin-top:2px}
.menu a.bloqueado .cadeado-menu{margin-left:auto;width:14px;height:14px;flex:none}
.lateral .quem-sou small.aguardando{display:inline-block;background:#fde68a;color:#78350f;border-radius:99px;padding:2px 8px;font-weight:700;font-size:11px}
