/* Nota fiscal — pacientes do mês × notas emitidas, ponte com o Nibo (notas/module.js). */
.nf{max-width:75rem}
.nf-ic{flex:0 0 auto;vertical-align:-2px}
.nf-topo{margin:0 0 .625rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}
.nf-topo h1{margin:0;font-size:1.75rem}
.nf-topo p{margin:.25rem 0 0;color:var(--mut);font-size:.875rem}
.nf-sub{color:var(--mut);font-size:.7812rem}
.nf-nibo{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.875rem;padding:.875rem 1rem;border:1px solid var(--line);border-radius:.75rem;background:var(--sur);margin:0 0 1rem}
.nf-nibo-info{display:flex;flex-direction:column;gap:.375rem;font-size:.8438rem;min-width:0}
.nf-nibo-info p{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.375rem}
.nf-chave{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.nf-chave input{width:20rem;max-width:100%;padding:.5rem .6875rem;border-radius:.5rem;border:1px solid var(--line);background:var(--sur);color:var(--ink);font:inherit;font-size:.8438rem}
.nf-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .8125rem;border-radius:.5rem;border:1px solid var(--line);background:var(--sur);color:var(--ink);font:inherit;font-size:.8438rem;font-weight:600;white-space:nowrap;cursor:pointer}
.nf-btn-pri{border-color:var(--acc);background:var(--acc);color:var(--acc-ink,#fff)}
.nf-btn:disabled{background:var(--sur2);border-color:var(--line);color:var(--mut);cursor:default}
.nf-link{padding:0;border:0;background:none;color:var(--acc);font:inherit;font-weight:600;cursor:pointer}
.nf-erro,.nf-ok,.nf-aviso{display:flex;align-items:flex-start;gap:.5rem;font-weight:600;margin:0 0 .875rem;font-size:.8438rem}
.nf-nibo .nf-aviso{margin:0}
.nf-nibo .nf-sinc-msg{flex-basis:100%;margin:0;font-weight:500}
.nf-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.625rem;margin:0 0 1rem}
.nf-tile{display:flex;flex-direction:column;gap:.25rem;padding:.875rem;border:1px solid var(--line);border-radius:.625rem;background:var(--sur)}
.nf-tile small{color:var(--mut);font-size:.75rem}
.nf-tile strong{font-size:1.375rem;min-height:1.75rem}
/* Barra de filtro padrão (busca curta, pílula do mês, chips na 2ª linha). */
.nf-filtro{display:flex;flex-direction:column;gap:.625rem;margin:0 0 .875rem}
.nf-filtro .hw-fc-linha{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.nf-filtro .nf-base{margin-left:auto}
.nf-tabs{display:flex;flex-wrap:wrap;gap:.375rem}
.nf-tabs button{display:inline-flex;align-items:center;gap:.5rem;padding:.4375rem .75rem;border-radius:62.4375rem;border:1px solid var(--line);background:var(--sur);color:var(--ink);font:inherit;font-size:.8438rem;cursor:pointer}
.nf-tabs button.on{border-color:var(--acc);color:var(--acc);font-weight:700}
.nf-tabs button span{font-size:.75rem;padding:0 .4375rem;border-radius:62.4375rem;background:var(--sur2)}
.nf-busca input{width:16.25rem;max-width:100%;padding:.5rem .6875rem;border-radius:.5rem;border:1px solid var(--line);background:var(--sur);color:var(--ink);font:inherit;font-size:.8438rem}
.nf-tw{overflow-x:auto;border:1px solid var(--line);border-radius:.75rem;background:var(--sur)}
.nf-tw table{width:100%;border-collapse:collapse;font-size:.8438rem}
.nf-tw th{text-align:left;font-size:.75rem;color:var(--mut);font-weight:600;padding:.625rem .75rem;border-bottom:1px solid var(--line);white-space:nowrap}
.nf-tw td{text-align:left;vertical-align:middle;padding:.5625rem .75rem;border-bottom:1px solid var(--line);min-height:2.75rem}
.nf-tw tr:last-child td{border-bottom:0}
.nf-acao{text-align:right!important;white-space:nowrap}
.nf-nome{padding:0;border:0;background:none;color:var(--ink);font:inherit;font-weight:700;text-align:left;cursor:pointer}
.nf-nome:hover{text-decoration:underline}
.nf-sit{display:inline-flex;align-items:center;gap:.3125rem;font-size:.7188rem;font-weight:500;padding:.1875rem .625rem;border-radius:62.4375rem;border:1px solid #e3e5e8;background:#f7f8f9;color:#5b6470;white-space:nowrap}
.nf-sit .nf-ic{width:.75rem;height:.75rem;opacity:.8}
.nf-sit-conciliar{border-color:#ede3cf;background:#fbf8f1;color:#7d6431}
.nf-sit-pode{border-color:#d8e2f0;background:#f5f8fc;color:#3a5a8c}
.nf-sit-ok{border-color:#d6e8dd;background:#f4faf6;color:#3d6e52}
.nf-sit-enviada{border-color:#e0dcef;background:#f8f7fc;color:#5a5287}
.nf-sit-falta{border-color:#eedada;background:#fcf6f6;color:#8a4a4a}
.nf-btn-leve{padding:.3125rem .75rem;font-size:.7812rem;font-weight:600;border-color:var(--line);background:transparent;color:var(--acc)}
.nf-btn-leve:hover:not(:disabled){background:var(--sur2)}
.nf-v{text-align:right!important;font-variant-numeric:tabular-nums;white-space:nowrap}
.nf-c{text-align:center!important}
.nf-falta{font-weight:600}
.nf-tw table{table-layout:fixed}
.nf-tw td .nf-nome{white-space:normal}
.nf-data{white-space:nowrap;color:var(--ink)}
.nf-emerg{display:flex;gap:.625rem;align-items:flex-start;padding:.6875rem .875rem;margin:0 0 .875rem;border:1px solid #efd7a6;background:#fff8ea;border-radius:.625rem;font-size:.8125rem;color:#5c3d00}
.nf-emerg .nf-sub{color:#7a5a20}
.nf-emerg-d{margin:.75rem 0}
.nf-emerg .nf-conferi{margin-top:.5rem}
.nf-vazio{color:var(--mut);font-size:.875rem}
.nf-mais{display:flex;justify-content:center;margin:1rem 0}
.nf-rodape{margin:.875rem 0 0}
.nf-spin{display:inline-block;width:.75rem;height:.75rem;border:2px solid var(--line);border-top-color:var(--acc);border-radius:50%;animation:nf-gira .8s linear infinite;vertical-align:-1px}
@keyframes nf-gira{to{transform:rotate(360deg)}}
.nf-dialog{width:min(40rem,calc(100vw - 2rem));max-height:88vh;padding:0;border:1px solid var(--line);border-radius:.875rem;background:var(--sur,#fff);color:var(--ink)}
.nf-dialog::backdrop{background:#182f3659}
.nf-dialog header,.nf-dialog footer{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--line)}
.nf-dialog footer{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end}
.nf-dialog header small{color:var(--mut);font-size:.75rem}
.nf-dialog header h2{margin:2px 0 0;font-size:1.1875rem}
.nf-dialog header button{border:0;background:none;font-size:1.375rem;cursor:pointer;color:var(--ink)}
.nf-dbody{padding:1rem 1.25rem;overflow:auto;max-height:calc(88vh - 8.75rem);display:flex;flex-direction:column;gap:.625rem}
.nf-dbody h3{margin:.5rem 0 0;font-size:.875rem}
.nf-dbody p{margin:0}
.nf-dbody .nf-erro{margin:0}
.nf-dados{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem;margin:0}
.nf-dados dt{font-size:.75rem;color:var(--mut)}
.nf-dados dd{margin:1px 0 0;font-size:.875rem}
.nf-opcoes{display:flex;flex-direction:column;gap:.375rem}
.nf-opcoes-cat{max-height:15rem;overflow:auto}
.nf-opcao{display:flex;align-items:flex-start;gap:.625rem;padding:.5625rem .6875rem;border:1px solid var(--line);border-radius:.5625rem;cursor:pointer}
.nf-opcao[hidden]{display:none}
.nf-opcao:has(input:checked){border-color:var(--acc)}
.nf-opcao span{display:flex;flex-direction:column;gap:2px;font-size:.8438rem}
.nf-opcao small{color:var(--mut);font-size:.75rem}
.nf-filtrar,.nf-campo input,.nf-campo textarea{padding:.5rem .625rem;border-radius:.5rem;border:1px solid var(--line);background:var(--sur);color:var(--ink);font:inherit;font-size:.8438rem}
.nf-campo{display:flex;flex-direction:column;gap:.25rem;font-size:.7812rem;color:var(--mut)}
.nf-campo textarea{resize:vertical}
.nf-conferi{display:flex;align-items:flex-start;gap:.5rem;font-size:.8125rem;font-weight:600}
@media (max-width:800px){.nf-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.nf-nibo{flex-direction:column}.nf-busca input{width:100%}}
.nf-pdf{display:inline-flex;align-items:center;gap:.25rem;color:var(--acc);font-weight:600;text-decoration:none;white-space:nowrap}
.nf-pdf:hover{text-decoration:underline}
.nf-num{font-variant-numeric:tabular-nums;white-space:nowrap}
.nf-desc{max-width:26.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nf-status{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;font-size:.8125rem;margin:0 0 .875rem;color:var(--ink,inherit)}
.nf-status svg{width:.9375rem;height:.9375rem}
.nf-status-acoes{margin-left:auto;font-size:.7812rem}
.nf-status-erro b{font-weight:700;text-decoration:underline}
/* Emissão por serviço (0820) */
.nf-dialog:has(.nf-pergunta),.nf-dialog-largo{width:min(51.25rem,calc(100vw - 2rem))}
.nf-dados3{grid-template-columns:repeat(3,minmax(0,1fr))}
.nf-pergunta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.625rem;margin:.875rem 0 .625rem;padding:.6875rem .875rem;border:1px solid var(--line);border-radius:.625rem;background:var(--sur2)}
.nf-seg{display:inline-flex;border:1px solid var(--line);border-radius:.5rem;overflow:hidden;background:var(--sur)}
.nf-seg label{display:flex;align-items:center;cursor:pointer;font-size:.8125rem}
.nf-seg input{position:absolute;opacity:0;pointer-events:none}
.nf-seg span{padding:.375rem .75rem}
.nf-seg label+label span{border-left:1px solid var(--line)}
.nf-seg input:checked+span{background:var(--ink);color:var(--sur);font-weight:600}
.nf-seg input:focus-visible+span{outline:2px solid var(--acc);outline-offset:-2px}
.nf-tw-d table{table-layout:fixed}
.nf-tw-d td{padding:.5rem .625rem}
.nf-bloq td{color:var(--mut)}
.nf-motivo{font-style:italic}
.nf-tag{display:inline-block;margin-left:.375rem;font-size:.6875rem;padding:1px .4375rem;border:1px solid var(--line);border-radius:62.4375rem;color:var(--mut);font-weight:500;vertical-align:1px}
.nf-in{width:100%;box-sizing:border-box;padding:.375rem .5rem;border-radius:.4375rem;border:1px solid var(--line);background:var(--sur);color:var(--ink);font:inherit;font-size:.8125rem}
.nf-in-v{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.nf-in:disabled{background:var(--sur2)}
.nf-conta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;margin:.75rem 0}
.nf-conta div{border:1px solid var(--line);border-radius:.625rem;padding:.5625rem .75rem}
.nf-conta small{display:block;color:var(--mut);font-size:.75rem}
.nf-conta b{font-size:1.0625rem;font-variant-numeric:tabular-nums}
.nf-disc{border:1px solid var(--line);border-radius:.625rem;padding:.625rem .75rem;background:var(--sur2);font-size:.7812rem;margin:0 0 .75rem}
.nf-disc small{display:block;color:var(--mut);font-size:.7188rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.25rem}
.nf-disc p{margin:.1875rem 0}
.nf-anexos{border:1px solid var(--line);border-radius:.625rem;padding:.625rem .75rem;margin-top:.625rem}
.nf-anexos small{display:block;color:var(--mut);font-size:.7188rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.nf-anexos p{display:flex;align-items:center;gap:.375rem;margin:.375rem 0;font-size:.8125rem}
.nf-cfg td{padding:.375rem .5rem}
.nf-dbody h3{font-size:.875rem;margin:1rem 0 .25rem}
.nf-fora td{color:var(--mut)}
.nf-fora td b{color:inherit;font-weight:600}
.nf-tw-d .fgh-data{width:100%}
.nf-tw-d [data-sug]{display:block;margin-top:.25rem;font-size:.75rem}
.nf-dica{display:flex;gap:.375rem;align-items:flex-start;margin-top:.5rem}
.nf-motivo:empty{display:none}
.nf-motivo.nf-pode{font-style:normal;font-weight:600;color:var(--acc)}
/* 1.56.x: diálogo de emissão sem rolagem lateral; a página não rola por baixo (Safari) */
html:has(.nf-dialog[open]){overflow:hidden}
.nf-dialog,.nf-dbody{overscroll-behavior:contain}
.nf-tw-d{overflow-x:hidden}
.nf-tw-d td{position:relative;overflow-wrap:anywhere}
.nf-tw-d th{padding:.625rem .5rem}
.nf-tw-d .nf-in-v{width:100%;min-width:0}
.nf-tw-d .fgh-data{font-size:.8125rem;padding-left:.5rem;padding-right:1.625rem;background-position:right 7px center}
.nf-grupo td{background:var(--bg2,#f5f7f8);color:var(--mut);font-size:.75rem;font-weight:600;padding:.375rem .625rem!important}
.nf-pills{display:flex;flex-wrap:wrap;gap:.375rem;margin:.375rem 0}
.nf-pills button{border:1px solid var(--line);background:var(--sur,#fff);border-radius:62.4375rem;padding:.1875rem .625rem;font:inherit;font-size:.75rem;color:var(--ink);cursor:pointer}
.nf-pills button.on{border-color:var(--acc);color:var(--acc);font-weight:600;background:color-mix(in srgb,var(--acc) 8%,transparent)}
.nf-lab-ex{width:100%;font-size:.8125rem}

.nf-ano-nav{display:flex;align-items:center;gap:.5rem;margin:.25rem 0 .875rem;flex-wrap:wrap}
.nf-ano{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1rem}
.nf-ano-card{min-width:0}
.nf-ano-top{display:flex;align-items:baseline;gap:.625rem;flex-wrap:wrap;margin-bottom:.5rem}
.nf-ano-top h3{margin:0;font-size:.9375rem}
.nf-ano-top strong{font-size:1.125rem}
.nf-ano-top small{color:var(--muted,#6b7280)}

/* Cabeçalho e barra no padrão (16/10): engrenagem no canto, Nibo numa linha, filtro numa linha só. */
.nf-eng{position:relative}
.nf-eng>summary{list-style:none;display:grid;place-items:center;width:2.25rem;height:2.25rem;border:1px solid var(--line);border-radius:.5rem;background:var(--sur);color:var(--mut);cursor:pointer}
.nf-eng>summary::-webkit-details-marker{display:none}
.nf-eng>summary:hover,.nf-eng[open]>summary{color:var(--ink)}
.nf-eng-pop{position:absolute;right:0;top:2.625rem;z-index:40;display:flex;flex-direction:column;min-width:14.375rem;padding:.25rem;background:var(--sur);border:1px solid var(--line);border-radius:.625rem;box-shadow:0 10px 30px #1d1b1922}
.nf-eng-pop button{border:0;background:none;text-align:left;padding:.5rem .625rem;border-radius:.375rem;font:inherit;font-size:.8125rem;color:var(--ink);cursor:pointer}
.nf-eng-pop button:hover{background:var(--sur2,#f2f1ed)}
.nf-filtro.hw-fcaixa{display:block;margin:0 0 .875rem}
.nf-filtro .hw-fc-linha{flex-wrap:wrap}
.nf-filtro .nf-busca{margin-left:auto;flex:1 1 9.375rem;max-width:16.25rem}
.nf-filtro .nf-busca input{width:100%;box-sizing:border-box}
@media (max-width:800px){.nf-filtro .nf-busca{margin-left:0;width:100%}.nf-filtro .nf-busca input{width:100%}.nf-filtro .subabas{max-width:100%;overflow-x:auto}}

/* Mais leve (16/10): sem subtítulo, Nibo na linha da engrenagem, tabela menor e quase sem cor. */
.nf-topo{align-items:center;margin:0 0 .875rem}
.nf-topo h1{font-size:1.5rem}
.nf-topo-dir{display:flex;align-items:center;gap:.75rem;min-width:0}
.nf-topo-dir .nf-status{margin:0;font-size:.75rem;color:var(--mut)}
.nf-topo-dir .nf-status b{font-weight:600;color:var(--ink)}
.nf-topo-dir .nf-status .nf-sub{font-size:.75rem}
.nf-topo-dir .nf-status svg{width:.8125rem;height:.8125rem}
.nf-eng>summary{width:2rem;height:2rem}
.nf-tile{padding:.6875rem .8125rem;gap:2px}
.nf-tile small{font-size:.7188rem}
.nf-tile strong{font-size:1.1875rem;min-height:1.5rem;font-weight:600}
.nf-tw table{font-size:.8125rem}
.nf-tw th{font-size:.6875rem;padding:.5625rem .75rem}
.nf-tw td{padding:.4375rem .75rem;min-height:0}
.nf-tw .nf-sub{font-size:.7188rem}
.nf-nome{font-weight:600}
.nf-falta{font-weight:600}
.nf-pdf{font-weight:500}
.nf-sit,.nf-sit-conciliar,.nf-sit-pode,.nf-sit-ok,.nf-sit-enviada,.nf-sit-falta{font-size:.6875rem;padding:2px .5rem;border-color:var(--line);background:transparent;color:var(--mut)}
.nf-sit-pode{color:var(--ink);font-weight:600}
.nf-tw td.nf-acao{padding-left:1.25rem}
.nf-btn-leve{padding:.1875rem .625rem;font-size:.75rem;font-weight:500;color:var(--ink);border-radius:.4375rem}
.nf-btn-leve .nf-ic{width:.75rem;height:.75rem}
@media (max-width:900px){.nf-topo{flex-wrap:wrap}.nf-topo-dir{width:100%;justify-content:space-between}}
/* Janela de emissão (16/10): uma rolagem só, pergunta do reembolso no seletor padrão, pop-up da consulta. */
.nf-dialog[open]{display:flex;flex-direction:column;overflow:hidden}
.nf-dialog>header,.nf-dialog>footer{flex:none}
.nf-dialog>.nf-dbody{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto}
.nf-pergunta{margin:.375rem 0 .25rem;padding:0;border:0;background:none;font-size:.8125rem;font-weight:600}
.nf-seg{gap:2px;padding:.1875rem;border-radius:.625rem}
.nf-seg span{padding:.3125rem .75rem;border-radius:.4375rem;color:var(--mut);font-weight:500}
.nf-seg label+label span{border-left:0}
.nf-seg input:checked+span{background:var(--acc-soft,#E3E9EF);color:var(--acc,#1D5B92);font-weight:600}
.nf-campo-t{display:block;font-size:.75rem;color:var(--mut);font-weight:600;margin:.375rem 0 .25rem}
.nf-cons-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.25rem,1fr));gap:.375rem}
.nf-cons-lista button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:.5rem .625rem;border:1px solid var(--line);border-radius:.5rem;background:var(--sur);font:inherit;font-size:.8125rem;text-align:left;cursor:pointer;color:var(--ink)}
.nf-cons-lista button span{font-size:.75rem;color:var(--mut)}
.nf-cons-lista button small{font-size:.7188rem;color:var(--mut)}
.nf-cons-lista button.on{border-color:var(--acc);background:var(--acc-soft,#E3E9EF)}
.nf-cons-lista button:disabled{opacity:.55;cursor:default}
.nf-cons .nf-in[type=date]{max-width:11.25rem}
.nf-anx{display:flex;flex-wrap:wrap;align-items:baseline;gap:.375rem;margin-top:2px}
.nf-anx .nf-link{font-size:.75rem}
/* Emissão simples (16/10): uma linha por serviço, seletor grande; configurar no pop-up ao marcar */
.nf-srv td{padding:.75rem .625rem;vertical-align:middle}
.nf-srv td.nf-ckc{text-align:center}
.nf-srv input.nf-ck{appearance:none;-webkit-appearance:none;width:1.375rem;height:1.375rem;margin:0;border:1.5px solid var(--line);border-radius:.375rem;background:var(--sur);cursor:pointer;display:inline-grid;place-content:center;transition:background .12s,border-color .12s}
.nf-srv input.nf-ck::after{content:"";width:.375rem;height:.6875rem;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translate(-1px,-1px);opacity:0}
.nf-srv input.nf-ck:checked{background:var(--acc);border-color:var(--acc)}
.nf-srv input.nf-ck:checked::after{opacity:1}
.nf-srv input.nf-ck:disabled{opacity:.4;cursor:not-allowed}
.nf-srv td b{font-size:.875rem}
.nf-srv .nf-sub{margin-top:2px}
.nf-srv .nf-link{margin-left:.375rem;font-size:.75rem}
.nf-srv .nf-tab{color:var(--mut)}
.nf-srv td>input.nf-in[data-txt]{margin-top:.375rem;width:100%}
.nf-cfgx .nf-campo-t{margin-top:.75rem}
.nf-cfgx .nf-campo-t:first-child{margin-top:0}
/* Consulta: médico (lista) e data lado a lado; consultas com nota mostram o PDF (16/10 13:02) */
.nf-cons-grade{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:.75rem;margin:.625rem 0 .25rem}
.nf-med-dd{display:block}
.nf-med-dd>summary{display:flex;width:100%;max-width:none;min-height:2.375rem;font-size:.8438rem}
.nf-med-dd .fp-dd-pop{width:100%;max-height:16.25rem}
.nf-med-dd .fp-dd-pop .hw-chip{justify-content:space-between;width:100%}
.nf-cons-grade input.nf-in{width:100%;min-height:2.375rem;box-sizing:border-box}
.nf-cons-lista .nf-cons-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:.5rem .625rem;border:1px solid var(--line);border-radius:.5rem;background:var(--sur);font-size:.8125rem;color:var(--ink)}
.nf-cons-lista .nf-cons-nota span,.nf-cons-lista .nf-cons-nota small{font-size:.75rem;color:var(--mut)}
.nf-cons-nota .nf-pdf{font-size:.75rem}
/* Texto na nota (16/10 13:48): campo limpo, cresce com o texto, sem alça de redimensionar */
.nf-txt-bloco{margin-top:.875rem}
textarea.nf-txt-nota{display:block;width:100%;box-sizing:border-box;resize:none;overflow:hidden;font:inherit;font-size:.875rem;line-height:1.6;padding:.75rem .875rem;border-radius:.625rem;background:var(--bg,#f6f8fb);min-height:3.25rem;margin-top:.375rem}
textarea.nf-txt-nota:focus{background:var(--sur,#fff)}
@media (max-width:560px){.nf-cons-grade{grid-template-columns:1fr}}
/* Pop-up de exame (16/10 13:22): A = exame feito (seta abre o laudo), B = pedido no modelo do Protocolo */
.nf-dialog.nf-dialog-ex{width:min(65rem,calc(100vw - 2rem))}
.nf-ex-grade{display:grid;grid-template-columns:14.375rem minmax(0,1fr);gap:1rem;align-items:start;margin-bottom:.625rem}
.nf-ex-cards{display:flex;flex-direction:column;gap:.375rem;max-height:29.375rem;overflow:auto;overscroll-behavior:contain;margin-top:.375rem}
.nf-ex-card{position:relative;display:flex;flex-direction:column;gap:1px;padding:.5625rem 2.5rem .5625rem .75rem;border:1px solid var(--line);border-radius:.5rem;background:var(--sur,#fff);font-size:.8125rem;color:var(--ink);cursor:pointer}
.nf-ex-card span{color:var(--mut,#6b7a72);font-size:.75rem}
.nf-ex-card.on{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc) inset;background:color-mix(in srgb,var(--acc) 6%,transparent)}
.nf-ex-ver{position:absolute;right:.375rem;top:50%;transform:translateY(-50%);width:1.75rem;height:1.75rem;border:1px solid var(--line);border-radius:.375rem;background:var(--sur,#fff);color:var(--ink);font-size:.875rem;cursor:pointer}
.nf-ex-ver:hover{border-color:var(--acc);color:var(--acc)}
.nf-ped-topo{display:flex;align-items:center;justify-content:space-between;gap:.625rem}
.nf-ped-topo .nf-med-dd>summary{min-width:13.75rem}
.nf-ped-prev{margin-top:.375rem;overflow:hidden;overscroll-behavior:contain;border:1px solid var(--line);border-radius:.5rem;background:#fff}
.nf-ped-esc{overflow:hidden}.nf-ped-prev iframe{display:block;width:49.625rem;height:37.5rem;border:0;transform-origin:0 0}
.nf-ped-prev>p{padding:.75rem}
.nf-ped-acao{display:flex;align-items:center;justify-content:space-between;gap:.625rem;margin-top:.5rem}
.nf-dialog-largo .nf-ped-prev iframe{max-width:none}
@media (max-width:760px){.nf-ex-grade{grid-template-columns:1fr}.nf-ex-cards{flex-direction:row;overflow-x:auto}.nf-ex-card{min-width:10.625rem}}
.nf-hist{margin:.25rem 0 .625rem}.nf-hist-topo{display:flex;justify-content:space-between;gap:.625rem;align-items:center}
.nf-hist-tab{margin-top:.375rem;max-height:16.25rem;overflow:auto;overscroll-behavior:contain}
.nf-hist-tab td{vertical-align:top;font-size:.7812rem}.nf-hist-desc{white-space:pre-line;color:var(--mut,#5b6b62);min-width:17.5rem}
.nf-ped-dds{display:flex;gap:.5rem;align-items:stretch}.nf-cid-dd>summary{min-width:9.375rem;min-height:2.375rem;font-size:.8438rem}
.nf-cid-dd .fp-dd-pop{width:16.25rem;max-height:20rem}.nf-cid-dd .fp-dd-pop .hw-chip{width:100%;justify-content:space-between;white-space:nowrap}
/* CID obrigatório antes; médico padrão fixo com lápis (16/10 13:48) */
.nf-cid-dd.nf-falta>summary{border-color:var(--ink,#1d2433);font-weight:600}
.nf-med-fixo{display:inline-flex;align-items:center;gap:.5rem;min-height:2.375rem;box-sizing:border-box;padding:0 .375rem 0 .75rem;border:1px solid var(--line);border-radius:.5rem;font-size:.8438rem;background:var(--sur,#fff)}
.nf-med-fixo[hidden],.nf-med-dd[hidden]{display:none}
.nf-cons-grade .nf-med-fixo{display:flex;justify-content:space-between}
.nf-lapis{width:1.75rem;height:1.75rem;border:0;border-radius:.375rem;background:transparent;color:var(--mut,#6b7280);font-size:.9375rem;cursor:pointer}.nf-lapis:hover{background:var(--bg,#f1f4f8);color:var(--ink)}
.nf-ped-aviso{margin:.375rem 0 0;font-size:.7812rem;color:var(--mut,#6b7280);text-align:right}.nf-cons-grade .nf-ped-aviso{text-align:left}
.nf-srv tr.nf-lib .nf-sub{color:var(--mut)}
.nf-ex-sem{display:block;margin-top:2px;font-size:.6875rem;font-weight:600;color:var(--mut,#6b7a72)}
.nf-ex-cards.nf-ex-linha{flex-direction:row;flex-wrap:wrap;max-height:none}.nf-ex-linha .nf-ex-card{min-width:10.625rem;padding-right:.75rem}
.nf-add{display:inline-block;margin:.625rem 2px 0;font-size:.8125rem}
.nf-livre-cab{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.nf-tirar{font-size:1.125rem;line-height:1;color:var(--mut,#888);padding:0 .25rem}
.nf-chips{display:flex;flex-wrap:wrap;gap:.375rem;margin:.25rem 0 .875rem}.nf-chips .hw-chip:disabled{opacity:.5;cursor:not-allowed}
/* Larguras das tabelas (31/10, iPad): com table-layout fixo e as colunas fixas somando mais que a
   tela, a coluna Paciente ia a zero — nome em 5 linhas por cima do valor, cabeçalhos encavalados
   e o botão Emitir cortado. Agora a tabela tem largura mínima (rola de lado se faltar espaço),
   o nome fica numa linha com reticências e a ação gruda na borda direita. */
.nf-tw-pac table{min-width:66.25rem}
.nf-tw-notas table{min-width:56.25rem}
.nf-tw-pac td,.nf-tw-notas td{overflow:hidden}
.nf-tw-pac td .nf-nome,.nf-tw-notas td .nf-nome{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nf-tw-notas .nf-desc{max-width:100%}
.nf-tw-pac th:last-child,.nf-tw-pac td.nf-acao{position:sticky;right:0;z-index:1;background:var(--sur);overflow:visible}
.nf-tw-pac td.nf-acao{padding-left:.5rem}
.nf-tw-ano td,.nf-tw-ano th{padding-left:.625rem;padding-right:.625rem}
.nf-ano{grid-template-columns:repeat(auto-fit,minmax(27.5rem,1fr))}
@media (max-width:1200px) and (min-width:901px){.nf .fgh-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){.nf .fgh-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
