/* =========================================================
   Lups — estilos (site do produto, portal da escola, painel, app do aluno)
   ========================================================= */
:root{
  --pri:#0f5132; --pri-esc:#0a3a24; --sec:#f5b301;
  --txt:#1c2421; --txt2:#5b6661; --borda:#e3e8e5; --fundo:#f6f7f5; --card:#fff;
  --ok:#1e8449; --erro:#b42318; --aviso:#b54708; --info:#175cd3;
  --raio:12px; --sombra:0 1px 2px rgba(16,24,20,.05),0 4px 16px rgba(16,24,20,.06);
  --serif:Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);color:var(--txt);background:var(--fundo);line-height:1.55;font-size:16px}
img{max-width:100%;display:block}
a{color:var(--pri)}
h1,h2,h3{line-height:1.2;margin:0 0 .5em}
.container{max-width:1180px;margin:0 auto;padding:0 16px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.muted{color:var(--txt2)} .small{font-size:.85rem} .center{text-align:center} .right{text-align:right}
.mt{margin-top:1rem} .mb{margin-bottom:1rem} .mt2{margin-top:2rem}
.flex{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap} .between{justify-content:space-between}
.grid{display:grid;gap:1rem}
.g2{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.g2,.g3,.g4{grid-template-columns:1fr}}

/* ---------- Botões / formulários ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1.05rem;border-radius:9px;border:1px solid transparent;
  background:var(--pri);color:#fff;font:600 .95rem var(--sans);cursor:pointer;text-decoration:none;white-space:nowrap;transition:.15s}
.btn:hover{background:var(--pri-esc)}
.btn-sec{background:#fff;color:var(--txt);border-color:var(--borda)} .btn-sec:hover{background:#f0f2f1}
.btn-ouro{background:var(--sec);color:#2b2100} .btn-ouro:hover{filter:brightness(.95);background:var(--sec)}
.btn-perigo{background:var(--erro)} .btn-perigo:hover{background:#8f1c13}
.btn-peq{padding:.35rem .7rem;font-size:.85rem} .btn-gde{padding:.85rem 1.4rem;font-size:1.05rem}
.btn-bloco{width:100%}
.btn-link{background:none;border:0;color:var(--pri);padding:0;font:inherit;cursor:pointer;text-decoration:underline}
label{display:block;font-weight:600;font-size:.9rem;margin:.75rem 0 .3rem}
input:not([type]),input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=datetime-local],input[type=search],input[type=url],input[type=tel],select,textarea{
  width:100%;padding:.65rem .8rem;border:1px solid #cdd5d0;border-radius:9px;font:inherit;background:#fff;color:var(--txt)}
input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--pri) 40%,transparent);border-color:var(--pri)}
textarea{min-height:120px;resize:vertical}
input[type=color]{width:56px;height:40px;border:1px solid #cdd5d0;border-radius:8px;padding:2px;background:#fff}
.dica{font-size:.82rem;color:var(--txt2);margin-top:.25rem}
.check{display:flex;gap:.5rem;align-items:center;font-weight:500}
.check input{width:auto}
.form-acoes{display:flex;gap:.6rem;margin-top:1.25rem;flex-wrap:wrap}

/* ---------- Alertas / etiquetas ---------- */
.alerta{padding:.8rem 1rem;border-radius:10px;margin-bottom:.75rem;border:1px solid}
.alerta-ok{background:#ecfdf3;border-color:#abefc6;color:#05603a}
.alerta-erro{background:#fef3f2;border-color:#fecdca;color:#912018}
.alerta-aviso{background:#fffaeb;border-color:#fedf89;color:#93370d}
.alerta-info{background:#eff8ff;border-color:#b2ddff;color:#175cd3}
.tag{display:inline-block;padding:.15rem .55rem;border-radius:99px;font-size:.75rem;font-weight:700;background:#eef2f0;color:var(--txt2)}
.tag-ok{background:#dcfae6;color:#067647} .tag-erro{background:#fee4e2;color:#b42318}
.tag-aviso{background:#fef0c7;color:#93370d} .tag-info{background:#d1e9ff;color:#175cd3}

/* ---------- Cartões / tabelas ---------- */
.card{background:var(--card);border:1px solid var(--borda);border-radius:var(--raio);padding:1.25rem;box-shadow:var(--sombra)}
.card h2{font-size:1.15rem}
.tabela-wrap{overflow-x:auto;background:#fff;border:1px solid var(--borda);border-radius:var(--raio)}
table{width:100%;border-collapse:collapse;font-size:.93rem}
th,td{padding:.65rem .8rem;text-align:left;border-bottom:1px solid var(--borda);vertical-align:middle}
th{font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--txt2);background:#fafbfa}
tr:last-child td{border-bottom:0}
tbody tr:hover{background:#fafcfb}
.vazio{text-align:center;padding:2.5rem 1rem;color:var(--txt2)}
.paginacao{display:flex;gap:.35rem;justify-content:center;margin:1.25rem 0;flex-wrap:wrap}
.paginacao a,.paginacao span{padding:.4rem .75rem;border-radius:8px;border:1px solid var(--borda);background:#fff;text-decoration:none;color:var(--txt)}
.paginacao .atual{background:var(--pri);color:#fff;border-color:var(--pri)}

/* =================== PORTAL PÚBLICO (jornal) =================== */
.topo-faixa{background:var(--pri-esc);color:#d7e6dd;font-size:.82rem}
.topo-faixa .container{display:flex;justify-content:space-between;gap:1rem;padding-top:.4rem;padding-bottom:.4rem;flex-wrap:wrap}
.topo-faixa a{color:#fff;text-decoration:none}
.cabecalho{background:#fff;border-bottom:1px solid var(--borda)}
.cabecalho .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;padding-bottom:1rem}
.marca{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--txt)}
.marca img{width:54px;height:54px;object-fit:contain}
.marca .selo{width:54px;height:54px;border-radius:14px;background:var(--pri);color:var(--sec);display:grid;place-items:center;font:700 1.35rem var(--serif)}
.marca b{display:block;font:700 1.45rem/1.1 var(--serif);letter-spacing:-.01em}
.marca span{font-size:.8rem;color:var(--txt2);text-transform:uppercase;letter-spacing:.08em}
.busca-topo{display:flex;max-width:300px;flex:1}
.busca-topo input{border-radius:9px 0 0 9px}
.busca-topo button{border-radius:0 9px 9px 0}
.menu{background:var(--pri);position:sticky;top:0;z-index:20;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.menu .container{display:flex;align-items:center;gap:.15rem;overflow-x:auto;scrollbar-width:none}
.menu .container::-webkit-scrollbar{display:none}
.menu a{color:#e8f1ec;text-decoration:none;padding:.85rem .85rem;font-weight:600;font-size:.92rem;white-space:nowrap;border-bottom:3px solid transparent}
.menu a:hover,.menu a.ativo{color:#fff;border-bottom-color:var(--sec)}
.menu .dir{margin-left:auto}
.aviso-faixa{background:var(--sec);color:#2b2100;font-weight:600;font-size:.92rem}
.aviso-faixa .container{padding-top:.5rem;padding-bottom:.5rem}
.aviso-faixa a{color:#2b2100}
main.portal{padding:1.5rem 0 3rem}

.secao-titulo{display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid var(--txt);margin:2rem 0 1rem;padding-bottom:.35rem}
.secao-titulo h2{font:700 1.35rem var(--serif);margin:0;text-transform:uppercase;letter-spacing:.02em}
.secao-titulo a{font-size:.88rem;font-weight:600;text-decoration:none}

.manchete{display:grid;grid-template-columns:1.6fr 1fr;gap:1.25rem}
@media(max-width:860px){.manchete{grid-template-columns:1fr}}
.destaque-principal{position:relative;border-radius:var(--raio);overflow:hidden;min-height:400px;background:var(--pri-esc);display:flex;align-items:flex-end;color:#fff;text-decoration:none}
.destaque-principal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.destaque-principal::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(0,0,0,.82))}
.destaque-principal .txt{position:relative;z-index:1;padding:1.5rem}
.destaque-principal h1{font:700 2rem/1.15 var(--serif);margin:.4rem 0}
.destaque-principal p{margin:0;opacity:.9}
.lista-lateral{display:flex;flex-direction:column;gap:1rem}
.mini{display:grid;grid-template-columns:120px 1fr;gap:.8rem;text-decoration:none;color:var(--txt);background:#fff;border-radius:var(--raio);overflow:hidden;border:1px solid var(--borda)}
.mini img,.mini .sem-img{width:120px;height:100%;min-height:96px;object-fit:cover}
.mini div{padding:.6rem .6rem .6rem 0}
.mini h3{font:700 1rem/1.25 var(--serif);margin:.25rem 0 0}
.chapeu{display:inline-block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--cor,var(--pri))}
.destaque-principal .chapeu{background:var(--cor,var(--sec));color:#fff;padding:.2rem .55rem;border-radius:4px}
.sem-img{background:linear-gradient(135deg,var(--pri),var(--pri-esc));display:grid;place-items:center;color:rgba(255,255,255,.55);font:700 1.6rem var(--serif)}

.noticia-card{background:#fff;border-radius:var(--raio);overflow:hidden;border:1px solid var(--borda);text-decoration:none;color:var(--txt);display:flex;flex-direction:column;transition:.15s}
.noticia-card:hover{transform:translateY(-2px);box-shadow:var(--sombra)}
.noticia-card img,.noticia-card .sem-img{aspect-ratio:16/9;width:100%;object-fit:cover}
.noticia-card .corpo{padding:1rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.noticia-card h3{font:700 1.12rem/1.3 var(--serif);margin:0}
.noticia-card p{margin:0;color:var(--txt2);font-size:.92rem}
.noticia-card time{margin-top:auto;font-size:.8rem;color:var(--txt2)}

.duas-col{display:grid;grid-template-columns:1fr 340px;gap:2rem}
@media(max-width:960px){.duas-col{grid-template-columns:1fr}}
.lateral .card{margin-bottom:1rem}
.evento-item{display:flex;gap:.8rem;text-decoration:none;color:var(--txt);padding:.6rem 0;border-bottom:1px solid var(--borda)}
.evento-item:last-child{border-bottom:0}
.data-bloco{flex:0 0 56px;height:60px;border-radius:10px;background:var(--pri);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.data-bloco b{font-size:1.45rem} .data-bloco span{font-size:.7rem;font-weight:700;color:var(--sec);margin-top:2px}
.evento-item h4{margin:0 0 .15rem;font-size:.97rem}
.top-leitor{display:flex;align-items:center;gap:.7rem;padding:.45rem 0}
.pos{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:#eef2f0;font-size:.85rem;flex:0 0 30px}
.pos.p1{background:#f5c518;color:#3d2f00}.pos.p2{background:#cfd8dc}.pos.p3{background:#e0a46b;color:#3d1f00}

.artigo{background:#fff;border-radius:var(--raio);padding:2rem;border:1px solid var(--borda)}
@media(max-width:600px){.artigo{padding:1.1rem}}
.artigo h1{font:700 2.2rem/1.15 var(--serif);margin:.4rem 0 .6rem}
@media(max-width:600px){.artigo h1{font-size:1.65rem}}
.artigo .linha-fina{font-size:1.15rem;color:var(--txt2);margin:0 0 1rem}
.artigo .meta{font-size:.85rem;color:var(--txt2);border-top:1px solid var(--borda);border-bottom:1px solid var(--borda);padding:.6rem 0;margin-bottom:1.25rem}
.artigo .capa{border-radius:10px;margin-bottom:1.25rem;width:100%}
.texto{font-size:1.08rem;line-height:1.75}
.texto h2{font:700 1.45rem var(--serif);margin:1.6rem 0 .6rem}.texto h3{font-size:1.15rem;margin:1.3rem 0 .5rem}
.texto img{border-radius:10px;margin:1rem 0}
.texto figure{margin:1.25rem 0}.texto figcaption{font-size:.85rem;color:var(--txt2);text-align:center}
.texto blockquote{border-left:4px solid var(--sec);margin:1.25rem 0;padding:.4rem 1rem;font:italic 1.15rem var(--serif);color:#3a4540;background:#fffbea}
.video{position:relative;aspect-ratio:16/9;margin:1.25rem 0}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:10px}
.compartilhar{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.5rem}

.hero-bib{background:linear-gradient(120deg,var(--pri-esc),var(--pri));color:#fff;border-radius:var(--raio);padding:2rem;display:grid;grid-template-columns:1.3fr 1fr;gap:1.5rem;align-items:center}
@media(max-width:760px){.hero-bib{grid-template-columns:1fr}}
.hero-bib h1{font:700 2rem var(--serif)} .hero-bib p{opacity:.9}
.hero-bib .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.hero-bib .stats div{background:rgba(255,255,255,.1);border-radius:10px;padding:.8rem;text-align:center}
.hero-bib .stats b{display:block;font-size:1.6rem;color:var(--sec)}

.rodape{background:#121a16;color:#aab7b0;padding:2.5rem 0 1.5rem;font-size:.9rem}
.rodape a{color:#e6efe9;text-decoration:none}
.rodape .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
@media(max-width:760px){.rodape .cols{grid-template-columns:1fr}}
.rodape h4{color:#fff;margin:0 0 .6rem}
.rodape ul{list-style:none;padding:0;margin:0}.rodape li{margin:.3rem 0}
.rodape .copy{border-top:1px solid #26312c;margin-top:2rem;padding-top:1rem;font-size:.8rem}

/* Catálogo / quiosque */
.catalogo-busca{display:flex;gap:.5rem;margin-bottom:1.25rem}
.catalogo-busca input{font-size:1.15rem;padding:.9rem 1rem}
.obra-card{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:1rem;display:flex;gap:1rem;text-decoration:none;color:var(--txt)}
.obra-capa{flex:0 0 70px;height:100px;border-radius:6px;background:linear-gradient(160deg,var(--pri),var(--pri-esc));color:var(--sec);display:grid;place-items:center;font:700 1.4rem var(--serif);overflow:hidden}
.obra-capa img{width:100%;height:100%;object-fit:cover}
.obra-card h3{margin:0 0 .2rem;font-size:1.05rem}
body.quiosque .menu,body.quiosque .topo-faixa,body.quiosque .rodape,body.quiosque .busca-topo{display:none}
body.quiosque{font-size:18px}
.quiosque-aviso{position:fixed;bottom:16px;right:16px;background:#000c;color:#fff;padding:.5rem .9rem;border-radius:99px;font-size:.85rem;display:none}

/* Ranking */
.podio{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:1rem;align-items:end;margin:1rem 0 2rem}
.podio .lugar{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);text-align:center;padding:1.2rem .8rem}
.podio .l1{padding-top:2rem;border-color:#f5c518;box-shadow:0 8px 24px rgba(245,197,24,.25)}
.podio .medalha{font-size:2.4rem}
.podio b{display:block;font-size:1.05rem}
.avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;margin:0 auto .5rem;background:var(--pri);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.3rem}

/* =================== PAINEL =================== */
.painel{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
.lateral-painel{background:#10221a;color:#b9c9c0;padding:1rem .75rem;position:sticky;top:0;height:100vh;overflow-y:auto}
.lateral-painel .marca-p{display:flex;gap:.6rem;align-items:center;color:#fff;text-decoration:none;padding:.3rem .5rem 1rem}
.lateral-painel .marca-p .selo{width:38px;height:38px;border-radius:10px;background:var(--sec);color:#10221a;display:grid;place-items:center;font:800 1rem var(--serif)}
.lateral-painel .marca-p b{font-size:.95rem;line-height:1.2}
.nav-grupo{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#6f8a7c;margin:1rem .6rem .35rem}
.lateral-painel a.item{display:flex;gap:.6rem;align-items:center;color:#cfdcd5;text-decoration:none;padding:.5rem .65rem;border-radius:8px;font-size:.92rem}
.lateral-painel a.item:hover{background:#1a3528;color:#fff}
.lateral-painel a.item.ativo{background:var(--pri);color:#fff}
.lateral-painel .ic{width:20px;text-align:center}
.conteudo-painel{min-width:0}
.barra-topo{background:#fff;border-bottom:1px solid var(--borda);padding:.7rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;position:sticky;top:0;z-index:10}
.barra-topo .menu-btn{display:none}
.area{padding:1.5rem;max-width:1280px}
.cab-pagina{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}
.cab-pagina h1{font-size:1.55rem;margin:0}
.cab-pagina p{margin:.2rem 0 0;color:var(--txt2)}
.kpi{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:1rem 1.1rem}
.kpi span{font-size:.8rem;color:var(--txt2);font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.kpi b{display:block;font-size:1.9rem;line-height:1.1;margin-top:.2rem}
.kpi.alerta-k b{color:var(--erro)}
.filtros{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem;align-items:flex-end}
.filtros > *{flex:0 1 auto}
.filtros input[type=search]{min-width:220px}
.filtros select,.filtros input{width:auto}
@media(max-width:860px){
  .painel{grid-template-columns:1fr}
  .lateral-painel{position:fixed;left:-270px;width:260px;z-index:50;transition:.2s}
  .lateral-painel.aberta{left:0;box-shadow:0 0 0 100vmax rgba(0,0,0,.4)}
  .barra-topo .menu-btn{display:inline-flex}
  .area{padding:1rem}
}

/* Balcão */
.balcao{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
@media(max-width:900px){.balcao{grid-template-columns:1fr}}
.campo-scanner{display:flex;gap:.5rem}
.campo-scanner input{font-size:1.3rem;padding:.8rem 1rem;font-family:ui-monospace,monospace;letter-spacing:.04em}
.leitor-box{display:flex;gap:1rem;align-items:center;padding:1rem;border-radius:var(--raio);border:2px solid var(--borda);margin-top:1rem}
.leitor-box.ok{border-color:#47cd89;background:#f6fef9}
.leitor-box.bloq{border-color:#f97066;background:#fffbfa}
.leitor-box img,.leitor-box .avatar{width:72px;height:72px;border-radius:12px;object-fit:cover;margin:0}
.semaforo{font-size:1.1rem;font-weight:800}
.semaforo.ok{color:var(--ok)}.semaforo.bloq{color:var(--erro)}
.resultado{margin-top:.75rem}
.scanner-video{width:100%;max-width:420px;border-radius:10px;overflow:hidden;margin-top:.75rem}

/* Importação */
.mapa-tabela select{min-width:150px;font-size:.85rem;padding:.4rem}
.mapa-tabela td,.mapa-tabela th{white-space:nowrap}
.linha-erro td{background:#fef3f2}
.linha-ignorada td{opacity:.4;text-decoration:line-through}
.passos{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}
.passos span{padding:.35rem .8rem;border-radius:99px;background:#eef2f0;font-size:.85rem;font-weight:600;color:var(--txt2)}
.passos span.at{background:var(--pri);color:#fff}
.zona-arquivo{border:2px dashed #b9c6bf;border-radius:var(--raio);padding:2rem;text-align:center;background:#fafcfb;cursor:pointer}
.zona-arquivo.sobre{border-color:var(--pri);background:#eef7f2}

/* Editor de texto */
.editor-barra{display:flex;gap:.25rem;flex-wrap:wrap;border:1px solid #cdd5d0;border-bottom:0;border-radius:9px 9px 0 0;padding:.35rem;background:#fafbfa}
.editor-barra button{border:1px solid transparent;background:none;padding:.3rem .55rem;border-radius:6px;cursor:pointer;font-weight:700;font-size:.85rem}
.editor-barra button:hover{background:#e9eeeb;border-color:var(--borda)}
.editor-texto{border-radius:0 0 9px 9px!important;min-height:340px;font-family:ui-monospace,Menlo,monospace;font-size:.93rem}
.previa{border:1px dashed var(--borda);border-radius:9px;padding:1rem;background:#fff;max-height:500px;overflow:auto}

/* =================== APP DO ALUNO =================== */
.app{max-width:640px;margin:0 auto;padding:0 0 90px;min-height:100vh;background:var(--fundo)}
.app-topo{background:linear-gradient(135deg,var(--pri),var(--pri-esc));color:#fff;padding:1.2rem 1.1rem 4.5rem;border-radius:0 0 26px 26px}
.app-topo .flex{justify-content:space-between}
.app-corpo{padding:0 1rem;margin-top:-3.6rem}
.perfil-card{background:#fff;border-radius:18px;padding:1.1rem;box-shadow:var(--sombra);display:flex;gap:1rem;align-items:center}
.perfil-card .foto{width:76px;height:76px;border-radius:16px;object-fit:cover;background:var(--pri);color:#fff;display:grid;place-items:center;font-size:1.6rem;font-weight:800;flex:0 0 76px}
.nivel-barra{height:10px;background:#eef2f0;border-radius:99px;overflow:hidden;margin:.35rem 0}
.nivel-barra i{display:block;height:100%;background:linear-gradient(90deg,var(--sec),#ff8a00);border-radius:99px}
.app-sec{margin-top:1.2rem}
.app-sec h2{font-size:1.02rem;margin-bottom:.5rem}
.livro-item{background:#fff;border-radius:14px;padding:.85rem 1rem;border:1px solid var(--borda);margin-bottom:.6rem}
.livro-item.atrasado{border-color:#fda29b;background:#fffbfa}
.medalhas{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.medalha{background:#fff;border:1px solid var(--borda);border-radius:14px;padding:.7rem .4rem;text-align:center;font-size:.75rem}
.medalha i{font-style:normal;font-size:1.8rem;display:block}
.medalha.off{opacity:.35;filter:grayscale(1)}
.app-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--borda);display:flex;justify-content:space-around;padding:.45rem 0 calc(.45rem + env(safe-area-inset-bottom));z-index:30}
.app-nav a{display:flex;flex-direction:column;align-items:center;font-size:.72rem;color:var(--txt2);text-decoration:none;gap:.1rem;padding:0 .6rem}
.app-nav a i{font-style:normal;font-size:1.35rem}
.app-nav a.ativo{color:var(--pri);font-weight:700}

/* Login */
.tela-login{min-height:100vh;display:grid;place-items:center;padding:1rem;background:linear-gradient(135deg,var(--pri-esc),var(--pri))}
.tela-login .card{width:100%;max-width:400px;padding:2rem}
.tela-login .selo-g{width:64px;height:64px;border-radius:16px;background:var(--sec);color:var(--pri-esc);display:grid;place-items:center;font:800 1.6rem var(--serif);margin:0 auto 1rem}

/* =================== CARTEIRINHA =================== */
.carteirinhas{display:flex;flex-wrap:wrap;gap:6mm;justify-content:flex-start}
.carteirinha{width:85.6mm;height:54mm;border-radius:3.5mm;overflow:hidden;position:relative;background:#fff;border:.3mm solid #cfd8d3;
  display:flex;flex-direction:column;font-family:var(--sans);break-inside:avoid;page-break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.carteirinha .ct-topo{background:var(--pri);color:#fff;padding:2mm 5mm 2mm 3mm;display:flex;justify-content:space-between;align-items:center}
.carteirinha .ct-topo b{font-size:3.2mm;line-height:1.1}
.carteirinha .ct-topo span{font-size:2.3mm;color:var(--sec);font-weight:800;letter-spacing:.3mm}
.carteirinha .ct-corpo{display:flex;gap:3mm;padding:2.5mm 5mm 1mm 3mm;flex:1}
.carteirinha .ct-foto{width:20mm;height:25mm;border-radius:1.5mm;object-fit:cover;background:#e8eeea;display:grid;place-items:center;color:#7d8c84;font-weight:800;font-size:5mm;flex:0 0 20mm}
.carteirinha .ct-dados{font-size:2.6mm;line-height:1.35;min-width:0}
.carteirinha .ct-dados .nome{font-size:3.3mm;font-weight:800;line-height:1.15;margin-bottom:1mm}
.carteirinha .ct-dados small{display:block;color:#6a7871;font-size:2mm;text-transform:uppercase;letter-spacing:.2mm}
.carteirinha .ct-barra{padding:0 3mm 1.5mm;text-align:center}
.carteirinha .ct-barra svg{height:9mm;width:auto;max-width:100%}
.carteirinha .faixa{position:absolute;right:0;bottom:0;width:3mm;height:100%;background:var(--sec)}

/* =================== ETIQUETAS =================== */
.folha-etiquetas{background:#fff;margin:0 auto 10mm;box-shadow:0 0 0 1px #ddd;display:grid;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.etiqueta{display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;text-align:center;padding:1mm}
.etiqueta .esc{font-size:2.2mm;font-weight:700;text-transform:uppercase;letter-spacing:.2mm;white-space:nowrap;overflow:hidden;max-width:100%}
.etiqueta svg{max-width:100%;height:auto}
.mostrar-bordas .etiqueta{outline:.2mm dashed #bbb}

/* =================== IMPRESSÃO =================== */
.so-impressao{display:none}
@media print{
  @page{margin:10mm}
  body{background:#fff}
  .nao-imprimir,.lateral-painel,.barra-topo,.menu,.topo-faixa,.rodape,.app-nav,.cabecalho{display:none!important}
  .painel{display:block}.area{padding:0;max-width:none}
  .so-impressao{display:block}
  .card,.tabela-wrap{box-shadow:none;border-color:#999}
  .quebra{page-break-before:always}
  body.so-resultado .area > *:not(#resultado){display:none!important}
  a{color:inherit;text-decoration:none}
}
@media(max-width:600px){
  .busca-topo{display:none}
  .marca b{font-size:1.2rem} .marca span{font-size:.7rem}
  .topo-faixa .container > span:first-child{display:none}
  .destaque-principal{min-height:300px} .destaque-principal h1{font-size:1.5rem}
}

/* =================== SITE DO PRODUTO (lups.com.br) ===================
   Paleta da marca: azul-marinho #0b2e66 · marinho profundo #061a3f · verde-azulado #06a09b · laranja #ff7001 */
body.lp{--lp-marinho:#0b2e66;--lp-fundo:#061a3f;--lp-teal:#06a09b;--lp-laranja:#ff7001;background:#fff}
.lp-topo{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid #e6ebf3}
.lp-topo .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.7rem;padding-bottom:.7rem}
.lp-marca{text-decoration:none;color:var(--lp-marinho)}
.lp-nav{display:flex;align-items:center;gap:1.2rem}
.lp-nav a{color:#24324d;text-decoration:none;font-weight:600;font-size:.93rem}
.lp-nav a:hover{color:var(--lp-teal)}
.lp-nav .lp-btn-entrar{color:#fff;background:var(--lp-marinho)}
@media(max-width:760px){.lp-nav a:not(.lp-btn-entrar){display:none}}
.lp-hero{background:radial-gradient(1100px 500px at 75% 10%,rgba(6,160,155,.35),transparent 60%),linear-gradient(160deg,var(--lp-fundo),var(--lp-marinho) 70%);color:#fff;padding:4.5rem 0 4rem;overflow:hidden}
.lp-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:center}
@media(max-width:900px){.lp-hero-grid{grid-template-columns:1fr}.lp-mock{display:none}}
.lp-selo{display:inline-block;background:rgba(6,160,155,.2);border:1px solid rgba(6,160,155,.55);color:#9fe7e3;padding:.3rem .8rem;border-radius:99px;font-size:.8rem;font-weight:700;letter-spacing:.02em}
.lp-hero h1{font:900 clamp(2.1rem,4.6vw,3.4rem)/1.08 var(--sans);letter-spacing:-.02em;margin:1rem 0}
.lp-hero h1 em{font-style:normal;color:var(--lp-laranja)}
.lp-sub{font-size:1.15rem;color:#c9d6ea;max-width:36rem}
.lp-cta{background:var(--lp-laranja)!important;color:#fff!important;border-color:transparent}
.lp-cta:hover{filter:brightness(1.06)}
.lp-hero .btn-sec{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.lp-hero .btn-sec:hover{background:rgba(255,255,255,.08)}
.lp-numeros{display:flex;gap:2rem;margin-top:2.2rem;flex-wrap:wrap}
.lp-numeros b{display:block;font-size:1.9rem;color:#fff;line-height:1}
.lp-numeros span{font-size:.82rem;color:#9fb3d1}
.lp-mock{position:relative;display:flex;justify-content:center}
.lp-tel{width:290px;background:#f4f7fb;border-radius:34px;padding:12px;box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 0 8px #0d1d3f;color:var(--txt);transform:rotate(2deg)}
.lp-tel-topo{background:linear-gradient(135deg,var(--lp-marinho),var(--lp-fundo));color:#fff;border-radius:24px 24px 16px 16px;padding:1rem 1rem 2.2rem}
.lp-tel-topo small{display:block;opacity:.7;font-size:.7rem}
.lp-tel-card{background:#fff;border-radius:14px;margin:-1.6rem .4rem 0;padding:.7rem;display:flex;gap:.6rem;align-items:center;box-shadow:var(--sombra);font-size:.85rem}
.lp-tel-card small{display:block;color:var(--txt2);font-size:.72rem}
.lp-tel-card .nivel-barra{height:7px}
.lp-avatar{width:44px;height:44px;border-radius:12px;background:var(--lp-teal);color:#fff;display:grid;place-items:center;font-weight:800;flex:0 0 44px}
.lp-tel-ok{margin:.6rem .4rem 0;background:#ecfdf3;color:#05603a;border-radius:10px;padding:.45rem .6rem;font-size:.75rem;font-weight:600}
.lp-tel-livro{margin:.5rem .4rem 0;background:#fff;border-radius:10px;padding:.55rem .6rem;font-size:.8rem;display:flex;flex-direction:column;gap:.3rem;border:1px solid var(--borda)}
.lp-tel-livro .tag{align-self:flex-start}
.lp-tel-meds{display:flex;justify-content:space-between;margin:.6rem .4rem 0;font-size:1.35rem}
.lp-tel-meds .off{filter:grayscale(1);opacity:.3}
.lp-tel-rank{margin:.6rem .4rem .3rem;text-align:center;font-size:.78rem;font-weight:700;color:var(--lp-marinho)}
.lp-etq{position:absolute;left:-10px;bottom:-14px;background:#fff;border-radius:8px;padding:6px 10px;width:150px;box-shadow:0 12px 30px rgba(0,0,0,.35);transform:rotate(-7deg)}
.lp-sec{padding:4.5rem 0}
.lp-sec-alt{background:#f3f6fb}
.lp-h2{font:900 clamp(1.6rem,3vw,2.2rem)/1.15 var(--sans);text-align:center;color:var(--lp-marinho);letter-spacing:-.01em;margin-bottom:.6rem}
.lp-card{background:#fff;border:1px solid #e3e9f3;border-radius:16px;padding:1.5rem;transition:.18s}
.lp-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(11,46,102,.1);border-color:rgba(6,160,155,.45)}
.lp-card h3{color:var(--lp-marinho);font-size:1.12rem;margin:.6rem 0 .35rem}
.lp-card p{color:#4f5d75;margin:0;font-size:.95rem}
.lp-ic{width:48px;height:48px;border-radius:12px;background:rgba(6,160,155,.12);display:grid;place-items:center;font-size:1.5rem}
.lp-passos > div{background:#fff;border-radius:16px;padding:1.5rem;border:1px solid #e3e9f3}
.lp-passos span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--lp-laranja);color:#fff;font-weight:900}
.lp-passos h3{color:var(--lp-marinho);margin:.7rem 0 .3rem}
.lp-passos p{color:#4f5d75;margin:0}
.lp-lgpd{display:grid;grid-template-columns:1.6fr 1fr;gap:2rem;align-items:center}
.lp-lgpd p{color:#4f5d75;font-size:1.05rem}
.lp-escudo{font-size:9rem;text-align:center;filter:drop-shadow(0 18px 30px rgba(11,46,102,.25))}
@media(max-width:760px){.lp-lgpd{grid-template-columns:1fr}.lp-escudo{display:none}}
.lp-lista{padding-left:0;list-style:none}
.lp-lista li{padding:.35rem 0 .35rem 1.8rem;position:relative;color:#2f3b52}
.lp-lista li::before{content:"✓";position:absolute;left:0;top:.3rem;width:1.3rem;height:1.3rem;border-radius:50%;background:rgba(6,160,155,.15);color:var(--lp-teal);display:grid;place-items:center;font-weight:900;font-size:.8rem}
.lp-busca{max-width:520px;display:block;margin:1.25rem auto 0;font-size:1.05rem;padding:.85rem 1rem}
.lp-escola{background:#fff;border:1px solid #e3e9f3;border-radius:14px;padding:1rem;display:flex;gap:.8rem;align-items:flex-start}
.lp-escola img,.lp-escola-ini{width:52px;height:52px;border-radius:12px;object-fit:contain;flex:0 0 52px}
.lp-escola-ini{background:var(--lp-marinho);color:#fff;display:grid;place-items:center;font-weight:800}
.lp-escola b{display:block;color:var(--lp-marinho)}
.lp-escola small{color:var(--txt2)}
.lp-escola .btn{background:var(--lp-marinho)}
.lp-escola .btn-sec{background:#fff;color:var(--lp-marinho)}
.lp-contato{display:grid;grid-template-columns:1fr 1.1fr;gap:2.5rem;align-items:start}
@media(max-width:860px){.lp-contato{grid-template-columns:1fr}}
.lp-contato p{color:#4f5d75;font-size:1.05rem}
.lp-mel{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lp-rodape{background:var(--lp-fundo);color:#9fb3d1;padding:3rem 0 1.5rem}
.lp-rodape .lups-logo{color:#fff}
.lp-rod-cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
@media(max-width:700px){.lp-rod-cols{grid-template-columns:1fr}}
.lp-rod-cols b{display:block;color:#fff;margin-bottom:.5rem}
.lp-rod-cols a{display:block;color:#c9d6ea;text-decoration:none;padding:.18rem 0;font-size:.92rem}
.lp-rod-cols a:hover{color:#fff}
.lp-copy{border-top:1px solid #16305e;margin-top:2rem;padding-top:1rem}
.lp-doc{max-width:820px;margin:0 auto;padding:3rem 16px}
.lp-doc h1{color:var(--lp-marinho)}.lp-doc h2{color:var(--lp-marinho);font-size:1.2rem;margin-top:1.8rem}
.lp-doc p,.lp-doc li{color:#2f3b52}
