/* Portal do assinante (conta.html) e páginas públicas. Cada produto define as cores no :root:
   --n-cor (destaque), --n-cor-t (texto sobre o destaque), --n-fundo, --n-tinta, --n-linha, --n-sec (cor suave). Cópia em cada pasta (neg.css). */
*{box-sizing:border-box}
body.neg{margin:0;background:var(--n-fundo,#f3f4f8);color:var(--n-tinta,#1a1c3a);font:16px/1.5 var(--n-fonte,system-ui,sans-serif);-webkit-text-size-adjust:100%}
#app{max-width:980px;margin:0 auto;padding:0 16px 64px}
h1,h2,h3{line-height:1.2;margin:0 0 .5em;font-family:var(--n-titulo,inherit)}
h1{font-size:1.6rem}h2{font-size:1.3rem}h3{font-size:1.08rem}
a{color:var(--n-cor,#2b3fd6)}
.mut{color:var(--n-sec,#545878)}.peq{font-size:.85rem}
.topo{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--n-linha,#d5d8e8)}
.abas{display:flex;gap:6px;overflow-x:auto;padding:12px 0;scrollbar-width:thin}
.aba{flex:none;border:1px solid var(--n-linha,#d5d8e8);background:#fff;color:inherit;border-radius:999px;padding:9px 16px;font:inherit;font-weight:600;cursor:pointer;min-height:44px}
.aba.on{background:var(--n-cor,#2b3fd6);border-color:var(--n-cor,#2b3fd6);color:var(--n-cor-t,#fff)}
.card{background:#fff;border:1px solid var(--n-linha,#d5d8e8);border-radius:12px;padding:18px;margin:0 0 14px}
.card.entrar{max-width:460px;margin:12vh auto 0}
.faixa-assinar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#fdf3cf;border:1px solid #e6cf74;color:#4d3b00;border-radius:10px;padding:12px 14px;margin:12px 0 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:10px;background:var(--n-cor,#2b3fd6);color:var(--n-cor-t,#fff);font:inherit;font-weight:700;padding:11px 18px;min-height:44px;cursor:pointer;text-decoration:none}
.btn:disabled{opacity:.6;cursor:wait}
.btn.sec{background:#fff;color:var(--n-tinta,#1a1c3a);border:1px solid var(--n-linha,#b8bdd6)}
.btn.perigo{background:#fff;color:#b53a25;border:1px solid #b53a25}
.btn.peq{min-height:38px;padding:7px 12px;font-size:.9rem}
.campo{display:flex;flex-direction:column;gap:4px;margin:0 0 12px}
.campo label{font-weight:600;font-size:.92rem}
.campo small{color:var(--n-sec,#545878)}
input,select,textarea{font:inherit;width:100%;padding:10px 12px;min-height:44px;border:1px solid var(--n-linha,#b8bdd6);border-radius:8px;background:#fff;color:inherit}
textarea{min-height:90px;resize:vertical}
input[type=checkbox],input[type=radio]{width:auto;min-height:0}
.grade{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.linha{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tag{display:inline-block;border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700;background:#e8eaf3}
.tag.ok{background:#e2f3ea;color:#17784d}.tag.aviso{background:#fdf3cf;color:#7a5a00}.tag.nao{background:#fbe7e2;color:#b53a25}
.vazio{color:var(--n-sec,#545878);padding:10px 0}
.num{text-align:right}
.tabela-wrap{overflow-x:auto;border:1px solid var(--n-linha,#d5d8e8);border-radius:10px;background:#fff}
table{border-collapse:collapse;width:100%;font-size:.93rem}
th,td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--n-linha,#e3e5f0);vertical-align:top}
th{background:rgba(0,0,0,.04);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
tr:last-child td{border-bottom:0}
.resumo{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:0 0 14px}
.resumo div{background:#fff;border:1px solid var(--n-linha,#d5d8e8);border-radius:10px;padding:12px}
.resumo b{display:block;font-size:1.5rem}
.preco b{font-size:1.2rem}
pre.texto{white-space:pre-wrap;background:rgba(0,0,0,.04);border-radius:8px;padding:12px;font:inherit;margin:8px 0}
.neg-toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#1a1c3a;color:#fff;padding:12px 18px;border-radius:10px;z-index:99;max-width:92vw;transition:opacity .5s}
.neg-toast.erro{background:#b53a25}.neg-toast.sai{opacity:0}
.fotos{display:flex;gap:8px;flex-wrap:wrap}.fotos img{width:84px;height:84px;object-fit:cover;border-radius:8px;border:1px solid var(--n-linha,#ccc)}
.publico{max-width:720px;margin:0 auto;padding:20px 16px 60px}
.publico header{padding:6px 0 14px;border-bottom:1px solid var(--n-linha,#d5d8e8);margin-bottom:16px}
@media (max-width:560px){th,td{padding:8px}.card{padding:14px}h1{font-size:1.4rem}}
@media print{.topo,.abas,.faixa-assinar,.btn,.neg-toast{display:none!important}.card{border:0}}
