/* Linha visual Brasa (About Me/Linha-Visual/ESTILO.md) */
:root{
  --ground:#f8f4ee; --sunk:#f3eee7; --surface:#fff; --ink:#1a0e08; --ink-deep:#140a05;
  --ink-2:#1a0e089e; --hair:color-mix(in srgb,var(--ink-deep) 8%,transparent);
  --accent:#e8500e; --btn:#d0450c; --label:#c2410c; --accent-tint:#fff1e6; --peach:#ffc9a3; --rust:#7a2306;
  --sans:"Google Sans Flex",-apple-system,"Segoe UI",sans-serif;
  --mono:"Google Sans Code",ui-monospace,Consolas,monospace;
  --ease:cubic-bezier(.16,1,.3,1);
  --ring:0 0 0 1px color-mix(in srgb,var(--ink-deep) 5%,transparent);
  --shadow:var(--ring),0 1px 2px color-mix(in srgb,var(--ink-deep) 4%,transparent),0 18px 40px -28px color-mix(in srgb,var(--rust) 25%,transparent);
}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);font:400 16px/1.6 var(--sans)}
main{max-width:960px;margin:0 auto;padding:48px 20px 80px}
a{color:var(--label);text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .25s var(--ease)}
a:hover{background-size:100% 1px}
a.ferramenta,a.ferramenta:hover{background:var(--surface);background-size:auto}
:focus-visible{outline:2px solid var(--btn);outline-offset:3px;border-radius:6px}
::selection{background:var(--peach);color:var(--ink-deep)}
.etiqueta{font:500 12px/1.2 var(--mono);color:var(--label);text-transform:lowercase;letter-spacing:.02em}
h1{font-weight:600;font-size:clamp(32px,5vw,46px);letter-spacing:-.035em;line-height:1.05;margin:8px 0 16px}
h2{font-weight:600;font-size:23px;letter-spacing:-.025em;line-height:1.2;margin:6px 0 16px}
h3{font-weight:600;font-size:18px;letter-spacing:-.015em;line-height:1.3;margin:6px 0 8px}
p.sub{color:var(--ink-2);max-width:60ch;margin:0 0 32px}
.cartao{background:var(--surface);border-radius:16px;box-shadow:var(--shadow);padding:28px}
.grelha{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
a.ferramenta,.ferramenta{display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .5s var(--ease)}
a.ferramenta:hover{transform:translateY(-2px)}
a.ferramenta p,.ferramenta p{color:var(--ink-2);margin:0}
.ferramenta p.como-linha{margin-top:auto!important}
.ferramenta>p:not(.como-linha){margin-bottom:20px}
.desligado{pointer-events:none}
.desligado>:not(.como-linha){opacity:.55}
.botao{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:11px 20px;font:600 15px var(--sans);
  border:1px solid var(--btn);background:transparent;color:var(--label);cursor:pointer}
.botao.cheio{background:var(--btn);color:#fff}
.botao{transition:background .15s,color .15s,border-color .15s,transform .15s var(--ease)}
.botao:hover:not(:disabled){background:var(--accent-tint);transform:translateY(-1px)}
.botao.cheio:hover:not(:disabled){background:#b23a09;border-color:#b23a09}
.botao:active:not(:disabled){transform:translateY(1px) scale(.98)}
.botao:disabled{opacity:.4;cursor:not-allowed}
.zona{display:block;margin-top:0;border:2px dashed color-mix(in srgb,var(--accent) 45%,transparent);border-radius:16px;background:var(--accent-tint);
  padding:36px 20px;text-align:center;cursor:pointer;transition:background .3s}
.zona:hover,.zona.por-cima{background:#ffe3cc}
.zona:focus-visible{outline-offset:4px}
.zona b{display:block;font-size:19px;margin-bottom:4px}
.ficheiros{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
.ficheiros li{display:flex;gap:12px;align-items:center;justify-content:space-between;background:var(--surface);
  border-radius:12px;box-shadow:var(--ring);padding:10px 14px;flex-wrap:wrap}
.ficheiros li.aviso{display:block;background:var(--accent-tint);box-shadow:none;border-left:4px solid var(--accent);border-radius:8px;font-size:14px}
.ficheiros .nome{font:500 13px var(--mono);overflow-wrap:anywhere}
select,input[type=date]{font:500 15px var(--sans);padding:7px 10px;border-radius:10px;border:1px solid var(--hair);background:var(--surface);color:var(--ink)}
.erro{background:#fff;border-left:4px solid var(--accent);border-radius:8px;padding:12px 16px;margin-top:16px;box-shadow:var(--ring)}
.numeros{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:18px 0}
.numero b{display:block;font-size:34px;font-weight:600;letter-spacing:-.04em;line-height:1}
.linha-acoes{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:20px}
table{width:100%;border-collapse:collapse;font-size:14px}
th{font:500 11px var(--mono);text-transform:lowercase;color:var(--label);text-align:left;padding:8px 6px;border-bottom:1px solid var(--hair)}
td{padding:7px 6px;border-bottom:1px solid var(--hair);vertical-align:top}
td.nw{white-space:nowrap}
td.n{text-align:right;font-variant-numeric:tabular-nums}
.mono{font-family:var(--mono);font-size:12.5px}
.tag{font:500 11px var(--mono);border-radius:999px;padding:2px 8px;background:var(--sunk);white-space:nowrap}
.tag.frio{background:#e3eef8;color:#1d4f7a}
.secao{margin-top:24px}
.escondido{display:none!important}
.caixa{width:16px;height:16px;border:1.5px solid var(--ink);border-radius:3px;display:inline-block}
.tabela-scroll{overflow-x:auto}
details.como{margin:0 0 20px;border-left:3px solid var(--peach);padding:4px 0 4px 16px}
details.como summary{cursor:pointer;font-weight:600}
details.como ol{margin:10px 0 2px;padding-left:22px;color:var(--ink)}
details.como li{margin:6px 0;color:var(--ink-2)}
a.ferramenta p.como-linha,.cartao p.como-linha{margin-top:12px;font-size:13px;color:var(--ink-2);border-top:1px solid var(--hair);padding-top:10px}

.regras{margin-top:40px}
.regras dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:12px 0 0}
.regras dl>div{background:var(--surface);box-shadow:var(--ring);border-radius:12px;padding:14px 16px;border-top:3px solid var(--accent)}
.regras dt{font-weight:600;font-size:15px;margin-bottom:4px}
.regras dd{margin:0;font-size:14px;line-height:1.5;color:var(--ink-2)}
footer{margin-top:56px;padding-top:20px;border-top:1px solid var(--hair);color:var(--ink-2);font-size:14px;line-height:1.6}
@media (max-width:640px){
  .botao,select,input[type=date]{min-height:44px}
  .linha-acoes .botao{flex:1 1 100%;justify-content:center}
  .ficheiros li>span:last-child{display:flex;gap:8px;width:100%}
  .ficheiros select{flex:1}
}

/* Impressao: so o documento escolhido */
/* Documento impresso (modelo Transferir_Prata de 09-11-2026, cores Brasa) */
#impressao{font-family:var(--sans);color:var(--ink)}
#impressao .doc-cab h1{font-size:21pt;letter-spacing:-.03em;line-height:1.1;margin:0 0 2px}
#impressao .doc-cab p{color:#6b5f58;margin:0 0 14px;font-size:10pt}
#impressao .faixa{display:flex;justify-content:space-between;align-items:center;background:var(--ink-deep);color:#fff;padding:9px 12px;margin:6px 0 10px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
#impressao .faixa b{font-size:13pt;letter-spacing:-.01em}
#impressao .faixa span{font-size:10pt;color:var(--peach)}
#impressao h3.tipo-doc{color:var(--label);font-size:11pt;margin:14px 0 4px;break-after:avoid}
#impressao table.doc{table-layout:fixed;font-size:9pt;width:100%;border-collapse:collapse}
#impressao table.doc th{font:600 8pt var(--sans);color:#6b5f58;text-transform:none;letter-spacing:0;border-bottom:1.5px solid var(--ink);padding:5px 4px;vertical-align:bottom}
#impressao table.doc td{padding:5px 4px;border-bottom:1px solid #e3ddd5;vertical-align:middle}
#impressao table.doc tbody tr:nth-child(even) td{background:#f6f2ec;-webkit-print-color-adjust:exact;print-color-adjust:exact}
#impressao table.doc tr{break-inside:avoid}
#impressao table.doc .c-prod{width:auto}
#impressao table.doc th:nth-child(1){width:11%}
#impressao table.doc.doc-a th:nth-child(3),#impressao table.doc.doc-b th:nth-child(3){width:11%}
#impressao table.doc th:nth-child(4){width:9%}#impressao table.doc th:nth-child(5){width:11%}
#impressao table.doc.doc-a th:nth-child(6),#impressao table.doc.doc-b th:nth-child(6){width:6%}
#impressao table.doc.doc-a th:nth-child(7),#impressao table.doc.doc-b th:nth-child(7){width:6%}
#impressao table.doc.doc-c th:nth-child(3){width:10%}#impressao table.doc.doc-c th:nth-child(6){width:8%}#impressao table.doc.doc-c th:nth-child(7){width:10%}#impressao table.doc.doc-c th:nth-child(8){width:6%}
#impressao .faixa-aviso{background:var(--btn)}
#impressao .faixa-aviso span{color:#fff}
#impressao .explica{font-size:9pt;color:#6b5f58;margin:0 0 8px}
#impressao .confirmar{margin-bottom:8px}
#impressao table.doc td.qtd{font-weight:700;font-size:11pt}
#impressao .c-ok{text-align:center}
#impressao .caixa-doc{display:inline-block;width:22px;height:18px;border:1px solid var(--ink)}
#impressao .frio-doc{color:#c0262d;font-weight:600}
#impressao .val-conf{font-weight:700;color:#C2410C;border:1.5px solid #E8500E;border-radius:3px;padding:0 3px}
#impressao .legenda-conf{font-size:10px;margin:4px 0 0}
#impressao .assinaturas{display:flex;justify-content:space-between;gap:12px;margin:18px 0 6px;font-size:9.5pt}
#impressao .nota{font-size:8.5pt;color:#6b5f58;margin-top:14px}
#impressao .nova-pagina{break-before:page}
#impressao{display:none}
@media print{
  @page{size:A4;margin:14mm 12mm 16mm}
  body{background:#fff;font-size:11pt}
  body.a-imprimir main{display:none}
  body.a-imprimir #impressao{display:block}
  *{animation:none!important;transition:none!important}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.farm-doc .botoes-doc{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.botao.pequeno{padding:7px 14px;font-size:14px;justify-content:center}
#impressao .doc-cab h2.doc-parte{font-size:14pt;font-weight:600;letter-spacing:-.02em;color:var(--label);margin:0 0 4px}
#impressao table.doc td.c-prod{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.farm-doc .mono{display:block;min-height:2.6em}

/* Resumo do resultado: um cartao por farmacia */
.cartoes3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:20px 0}
.cf{border-radius:12px;box-shadow:var(--ring);padding:18px}
.cf h3{margin:0}
.cf .loc{font-size:13px;color:var(--ink-2)}
.cf .bloco{border-top:1px solid var(--hair);margin-top:14px;padding-top:12px}
.cf .bloco .etiqueta{display:block;margin-bottom:4px}
.cf .val{font-size:22px;font-weight:600;letter-spacing:-.02em}
.cf .det{font-size:13px;color:var(--ink-2);margin:2px 0 10px}
.cf .botao{width:100%;justify-content:center}
.pe{margin-top:16px;font-size:14px;color:var(--ink-2)}

/* Devolucoes */
.excluidos{display:grid;gap:6px;margin:18px 0 0}
.excluidos .etiqueta{margin-bottom:4px}
.excluidos label{display:flex;gap:8px;align-items:center;font-size:15px;cursor:pointer}
.excluidos label span{color:var(--ink-2);font-size:13px}
.excluidos input{width:18px;height:18px;accent-color:var(--btn)}
#impressao table.doc.doc-d{table-layout:auto}
#impressao table.doc.doc-d th:nth-child(1),#impressao table.doc.doc-d td:first-child{width:1%;white-space:nowrap;padding-right:14px}
#impressao table.doc.doc-d th:nth-child(2){width:auto}
#impressao table.doc.doc-d td{vertical-align:top;font-size:9.5pt}
#impressao .caixa-arm{border:1.5px solid var(--accent);background:var(--accent-tint);padding:8px 12px;margin:0 0 8px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
#impressao .caixa-arm b{display:block;font-size:9pt;color:var(--label);letter-spacing:.04em;margin-bottom:5px}
#impressao .chips{display:flex;gap:6px;flex-wrap:wrap}
#impressao .chip{border:1px solid var(--accent);border-radius:999px;padding:2px 9px;font-size:10pt;font-weight:600;background:#fff}
