/* ═══════════════════════════════════════════════════════════════
   manual.css — CSS do Manual de Uso

   Ficheiro partilhado por dois sítios: a página "Manual de Uso" dentro do painel
   (index.html) e a página pública manual.html. Estava embutido no <style> do
   index.html; foi extraído para aqui quando o manual passou a ter uma versão
   pública, para não haver duas cópias a divergir.

   Depende das variáveis de cor (--line, --ink, --blue, --muted, --faint), que
   cada página define no seu próprio :root.
   ═══════════════════════════════════════════════════════════════ */

.mn-app{display:grid;grid-template-columns:296px 1fr;gap:0;margin-top:16px;
  height:calc(100vh - 176px);min-height:0;border:1px solid var(--line);border-radius:16px;
  overflow:hidden;background:#fff;box-shadow:0 6px 28px rgba(15,28,63,.08)}
@media(max-width:980px){.mn-app{grid-template-columns:1fr;height:auto}
  .mn-nav{max-height:340px}.mn-corpo{max-height:none;overflow:visible}}

/* ── Navegação lateral ── */
.mn-nav{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);
  background:linear-gradient(180deg,#fbfcfe,#f6f9fd)}
.mn-busca{flex:0 0 auto;position:relative;display:flex;align-items:center;padding:14px 13px 10px}
.mn-busca span{position:absolute;left:24px;font-size:12px;opacity:.45;pointer-events:none}
.mn-busca input{width:100%;font-family:inherit;font-size:12.5px;color:var(--ink);background:#fff;
  border:1.5px solid var(--line);border-radius:99px;padding:9px 32px 9px 33px;transition:all .16s}
.mn-busca input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.mn-limpar{position:absolute;right:22px;width:19px;height:19px;border:none;border-radius:50%;
  background:#e2e8f0;color:#64748b;font-size:9px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.mn-limpar:hover{background:#cbd5e1}

.mn-indice{flex:1 1 auto;min-height:0;overflow-y:auto;padding:4px 9px 9px}
.mn-indice::-webkit-scrollbar{width:6px}
.mn-indice::-webkit-scrollbar-thumb{background:#d5dded;border-radius:99px}
.mn-grupo{margin-bottom:12px}
.mn-grupo-t{font-size:8.6px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  color:var(--faint);padding:8px 8px 5px}
.mn-item{display:flex;align-items:flex-start;gap:9px;width:100%;padding:8px 9px;border:none;
  background:none;cursor:pointer;text-align:left;border-radius:9px;transition:background .14s;margin-bottom:1px}
.mn-item:hover{background:#eaf1fd}
.mn-item.on{background:linear-gradient(135deg,#e8f1fe,#eef4ff);box-shadow:inset 3px 0 0 var(--blue)}
.mn-ic{font-size:14px;flex:none;line-height:1.5}
.mn-txt{min-width:0;flex:1}
.mn-txt b{display:block;font-size:12.2px;font-weight:700;color:var(--ink);line-height:1.35}
.mn-item.on .mn-txt b{color:var(--blue)}
.mn-txt small{display:block;font-size:10px;color:var(--faint);line-height:1.4;margin-top:1px}
.mn-semres{padding:26px 16px;text-align:center;font-size:12px;color:var(--muted);line-height:1.6}
.mn-semres small{color:var(--faint);font-size:10.5px}

.mn-pdf{flex:0 0 auto;display:flex;align-items:center;gap:10px;margin:0 11px 12px;padding:10px 12px;
  border:1.5px solid var(--line);border-radius:11px;background:#fff;text-decoration:none;transition:all .16s}
.mn-pdf:hover{border-color:var(--blue);background:#f7faff;transform:translateY(-1px)}
.mn-pdf span{font-size:17px}
.mn-pdf b{display:block;font-size:11.5px;color:var(--ink)}
.mn-pdf small{font-size:9.6px;color:var(--faint)}

/* ── Corpo ── */
.mn-corpo{min-height:0;overflow-y:auto;overscroll-behavior:contain;background:#fff}
.mn-corpo::-webkit-scrollbar{width:9px}
.mn-corpo::-webkit-scrollbar-thumb{background:#dbe3ef;border-radius:99px}
.mn-corpo::-webkit-scrollbar-thumb:hover{background:#c3cee0}
.mn-artigo{max-width:790px;margin:0 auto;padding:34px 42px 48px}
@media(max-width:700px){.mn-artigo{padding:24px 20px 36px}}

.mn-cab{display:flex;gap:16px;align-items:flex-start;padding-bottom:22px;margin-bottom:26px;
  border-bottom:2px solid var(--line)}
.mn-cab-ic{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  font-size:24px;flex:none;background:linear-gradient(135deg,#eef4ff,#f0fdf4);border:1px solid var(--line)}
.mn-cab-g{font-size:9.4px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--blue)}
.mn-cab h1{font-size:25px;font-weight:800;color:var(--ink);letter-spacing:-.025em;line-height:1.15;margin:3px 0 4px}
.mn-cab p{font-size:12.8px;color:var(--muted);margin:0;line-height:1.5}

.mn-artigo h2{font-size:17px;font-weight:800;color:var(--ink);letter-spacing:-.02em;margin:30px 0 11px}
.mn-artigo h3{font-size:14.2px;font-weight:800;color:var(--ink);letter-spacing:-.015em;margin:26px 0 9px}
.mn-artigo p{font-size:13.2px;line-height:1.72;color:#3d4a60;margin-bottom:12px}
.mn-artigo b{font-weight:700;color:var(--ink)}
.mn-artigo ul,.mn-artigo ol{margin:0 0 14px 20px}
.mn-artigo li{font-size:13.2px;line-height:1.66;color:#3d4a60;margin-bottom:6px}
.mn-artigo li::marker{color:var(--blue);font-weight:700}
.mn-artigo code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.6px;
  background:#f1f5f9;padding:2px 6px;border-radius:5px;color:var(--ink)}
.mn-artigo mark{background:#fef08a;color:var(--ink);border-radius:3px;padding:0 2px;font-weight:600}

/* Figuras */
.mn-artigo figure{margin:20px 0;cursor:zoom-in}
.mn-artigo figure img{width:100%;border-radius:12px;border:1px solid var(--line);
  box-shadow:0 6px 22px rgba(15,28,63,.12);transition:transform .22s,box-shadow .22s;display:block}
.mn-artigo figure:hover img{transform:translateY(-2px);box-shadow:0 10px 30px rgba(15,28,63,.17)}
.mn-artigo figcaption{font-size:11.4px;color:var(--muted);margin-top:9px;line-height:1.55;text-align:center}
.mn-zoom{display:block;font-size:9.6px;color:var(--faint);margin-top:3px;opacity:0;transition:opacity .2s}
.mn-artigo figure:hover .mn-zoom{opacity:1}

/* Caixas */
.mn-box{border-radius:12px;padding:15px 18px;margin:18px 0;border-left:4px solid var(--blue);
  background:linear-gradient(135deg,#eff6ff,#f7fbff)}
.mn-box-r{font-size:9.6px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--blue);margin-bottom:6px}
.mn-box p{margin:0;font-size:12.7px;line-height:1.66}
.mn-box.dica{border-left-color:#16a34a;background:linear-gradient(135deg,#f0fdf4,#f8fefb)}
.mn-box.dica .mn-box-r{color:#15803d}
.mn-box.aviso{border-left-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fffdf5)}
.mn-box.aviso .mn-box-r{color:#b45309}

/* Cálculos */
.mn-calc{border:1.5px solid #ddd6fe;border-radius:12px;overflow:hidden;margin:18px 0;background:#fdfcff}
.mn-calc-r{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6d28d9;
  background:linear-gradient(135deg,#f5f3ff,#faf9ff);padding:9px 15px;border-bottom:1px solid #ede9fe}
.mn-calc pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.8px;line-height:1.85;
  color:var(--ink);padding:14px 16px;margin:0;white-space:pre-wrap;word-break:break-word}
.mn-calc pre .op{color:#7c3aed;font-weight:700}
.mn-calc pre .cm{color:#94a3b8;font-style:italic}
.mn-calc-n{font-size:11.6px;color:var(--muted);line-height:1.6;padding:0 16px 13px;margin:0}
.mn-ex{background:#fbfcfe;border:1px dashed #c6d2e6;border-radius:11px;padding:13px 16px;margin:14px 0;
  font-size:12.4px;color:var(--muted);line-height:1.68}
.mn-ex b{color:var(--ink)}

/* Tabelas */
.mn-tab-w{overflow-x:auto;margin:18px 0;border-radius:11px;border:1px solid var(--line)}
.mn-tab{width:100%;border-collapse:collapse;font-size:12.2px}
.mn-tab th{background:var(--ink);color:#fff;font-weight:700;text-align:left;padding:10px 13px;
  font-size:11px;letter-spacing:.02em;white-space:nowrap}
.mn-tab td{padding:9px 13px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.55;color:#3d4a60}
.mn-tab tr:last-child td{border-bottom:none}
.mn-tab tr:nth-child(even) td{background:#fbfcfe}
.mn-tab td b{color:var(--ink)}

/* Passos */
.mn-passos{margin:18px 0}
.mn-passo{display:flex;gap:14px;margin-bottom:16px}
.mn-passo-n{width:27px;height:27px;border-radius:50%;background:linear-gradient(135deg,#1e293b,#334155);
  color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:none}
.mn-passo b{display:block;font-size:13.4px;color:var(--ink);margin-bottom:3px}
.mn-passo p{margin:0;font-size:12.7px;line-height:1.64}

/* Cartões */
.mn-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
@media(max-width:620px){.mn-cards{grid-template-columns:1fr}}
.mn-card{border:1.5px solid var(--line);border-radius:12px;padding:16px;background:#fff;transition:all .18s}
.mn-card:hover{border-color:#c9d9f5;transform:translateY(-2px);box-shadow:0 6px 18px rgba(15,28,63,.08)}
.mn-card span{font-size:20px;display:block;margin-bottom:6px}
.mn-card b{display:block;font-size:13px;color:var(--ink);margin-bottom:4px}
.mn-card p{font-size:11.8px;color:var(--muted);margin:0;line-height:1.58}

/* Selos */
.mn-selos{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}
@media(max-width:620px){.mn-selos{grid-template-columns:1fr 1fr}}
.mn-selo{text-align:center;border:1.5px solid var(--line);border-radius:11px;padding:14px 8px;background:#fff}
.mn-selo-f{font-size:9.6px;font-weight:800;color:#fff;border-radius:99px;padding:3px 0;margin-bottom:8px}
.mn-selo b{display:block;font-size:14px;color:var(--ink)}
.mn-selo small{font-size:9.8px;color:var(--faint)}

/* Perguntas */
.mn-faq{margin:18px 0}
.mn-q{border:1.5px solid var(--line);border-radius:11px;margin-bottom:9px;overflow:hidden;background:#fff;
  transition:border-color .16s}
.mn-q[open]{border-color:#c9d9f5;box-shadow:0 3px 12px rgba(15,28,63,.06)}
.mn-q summary{cursor:pointer;padding:13px 16px;font-size:13px;font-weight:700;color:var(--ink);
  list-style:none;display:flex;align-items:center;gap:9px;transition:background .14s}
.mn-q summary::-webkit-details-marker{display:none}
.mn-q summary::before{content:'▸';color:var(--blue);font-size:13px;transition:transform .2s;flex:none}
.mn-q[open] summary::before{transform:rotate(90deg)}
.mn-q summary:hover{background:#f7faff}
.mn-q p{margin:0;padding:0 16px 15px 38px;font-size:12.7px;line-height:1.68;color:#3d4a60}

/* Passar de capítulo */
.mn-passar{display:flex;justify-content:space-between;gap:12px;margin-top:40px;padding-top:22px;
  border-top:1.5px solid var(--line)}
.mn-passar button{flex:1;max-width:47%;border:1.5px solid var(--line);border-radius:12px;background:#fff;
  padding:12px 15px;cursor:pointer;text-align:left;font-family:inherit;transition:all .18s}
.mn-passar button:hover{border-color:var(--blue);background:#f7faff;transform:translateY(-1px)}
.mn-passar button.dir{text-align:right}
.mn-passar small{display:block;font-size:9.8px;color:var(--faint);font-weight:600;margin-bottom:2px}
.mn-passar b{display:block;font-size:12.6px;color:var(--ink);line-height:1.35}

/* Lupa */
.mn-lupa{position:fixed;inset:0;background:rgba(6,12,28,.93);z-index:99999;display:flex;
  align-items:center;justify-content:center;padding:28px;cursor:zoom-out;animation:mnFade .18s ease}
@keyframes mnFade{from{opacity:0}to{opacity:1}}
.mn-lupa img{max-width:100%;max-height:100%;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.mn-lupa button{position:absolute;top:22px;right:26px;width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.1);color:#fff;font-size:15px;cursor:pointer}
.mn-lupa button:hover{background:rgba(255,255,255,.2)}
