/* HW Pharma · rotina de visitas. Usa as variáveis do CRM para não destoar do resto. */
#hw-module{max-width:80rem;margin:0 auto;padding:2px 0 2.5rem;color:var(--ink)}
#hw-module h1{font-size:1.375rem;margin:0;font-weight:700;letter-spacing:-.01em}
#hw-module h2{font-size:1.25rem;margin:0;font-weight:700}
#hw-module h3{margin:0 0 .625rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.hw-topo{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.875rem}
.hw-subabas{margin:-.25rem 0 .875rem}
.hw-sub{color:var(--mut);font-size:.8125rem;margin:.25rem 0 0}
.hw-topo-acoes{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.hw-dias{display:flex;gap:.25rem;align-items:center}
.hw-seta{padding:.4375rem .625rem;font-size:.9375rem;line-height:1;color:var(--mut,#6A6F6C)}
.hw-rotulo-semana{min-width:9.375rem;text-align:center}
/* O campo de data fica atras do rotulo: ele existe para pular longe, nao para ser lido. */
.hw-escolha-semana{position:relative;display:inline-flex}
.hw-escolha-semana input{position:absolute;left:0;bottom:0;width:100%;opacity:0;pointer-events:none;border:0;background:none;font:inherit}
.hw-escolha-semana input.a-vista{position:static;opacity:1;pointer-events:auto;padding:.4375rem .625rem;border:1px solid var(--line);border-radius:.5rem;background:var(--sur);font-size:.8125rem;color:var(--ink)}
.hw-btn{border:1px solid var(--line);background:var(--sur);border-radius:.5rem;padding:.4375rem .6875rem;cursor:pointer;font:inherit;font-size:.7812rem;font-weight:500;color:var(--ink);white-space:nowrap}
.hw-btn:hover{border-color:var(--acc);color:var(--acc)}
.hw-btn:disabled{opacity:.55;cursor:default}
.hw-btn.hw-primary{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}
.hw-btn.hw-primary:hover{opacity:.92;color:var(--acc-ink)}
.hw-blocos{display:grid;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:.625rem;margin:0 0 1rem}
.hw-bloco{background:var(--sur);border:1px solid var(--line);border-radius:.625rem;padding:.75rem .875rem}
.hw-rotulo{font-size:.6875rem;text-transform:uppercase;letter-spacing:.07em;color:var(--mut)}
.hw-valor{font:600 1.375rem/1.15 var(--sans);margin-top:.25rem;font-variant-numeric:tabular-nums}
.hw-valor small{font-size:.75rem;color:var(--mut);font-weight:500;margin-left:.25rem}
.hw-nota{font-size:.7188rem;color:var(--mut);margin-top:.25rem;line-height:1.35;font-weight:400;text-transform:none;letter-spacing:0}
.hw-bloco.alta .hw-valor{color:var(--alta)}
.hw-bloco.ok .hw-valor{color:var(--ok)}
.hw-bloco.acc .hw-valor{color:var(--acc)}
.hw-bloco.crit .hw-valor{color:var(--crit)}
.hw-filtros{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:0 0 .875rem}
.hw-filtros input[type=date]{padding:.4375rem .625rem;border:1px solid var(--line);border-radius:.5rem;background:var(--sur);font:inherit;font-size:.8125rem;color:var(--ink)}
.hw-chip{border:1px solid var(--line);background:var(--sur);border-radius:6.1875rem;padding:.3125rem .6875rem;cursor:pointer;font:inherit;font-size:.7812rem;color:var(--ink)}
.hw-chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.hw-conta{font-family:var(--mono);font-size:.6562rem;opacity:.7;margin-left:.3125rem}
.hw-busca{flex:1;min-width:11.875rem;padding:.5rem .75rem;border:1px solid var(--line);border-radius:.5rem;background:var(--sur);font:inherit;font-size:.8125rem;color:var(--ink)}
.hw-lista{display:flex;flex-direction:column;gap:.5rem}
.hw-cartao{background:var(--sur);border:1px solid var(--line);border-radius:.625rem;padding:.75rem .875rem .75rem 1rem;position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:.875rem}
.hw-cartao::before{content:"";position:absolute;left:0;top:.625rem;bottom:.625rem;width:.25rem;border-radius:0 .1875rem .1875rem 0;background:var(--baixa)}
.hw-cartao.agendada::before{background:var(--acc)}
.hw-cartao.realizada::before,.hw-cartao.prescritor::before{background:var(--ok)}
.hw-cartao.cancelada::before,.hw-cartao.sem_interesse::before{background:var(--mut)}
.hw-cartao.remarcada::before,.hw-cartao.em_contato::before{background:var(--media)}
.hw-cartao.parceiro::before{background:var(--acc)}
.hw-cartao.prospect::before{background:var(--baixa)}
.hw-cartao-corpo{min-width:0;flex:1}
.hw-cartao-topo{display:flex;gap:.5rem;align-items:baseline;flex-wrap:wrap}
.hw-hora{font:.75rem var(--mono);color:var(--mut)}
.hw-nome{border:0;background:transparent;padding:0;font:inherit;font-weight:600;font-size:.9062rem;color:var(--ink);cursor:pointer;text-align:left}
.hw-nome:hover{color:var(--acc);text-decoration:underline}
.hw-linhas{margin:.25rem 0 0;padding:0;list-style:none;font-size:.8125rem;display:flex;flex-direction:column;gap:2px}
.hw-fraco{color:var(--mut)}
.hw-marcas-linha{display:flex;gap:.375rem;flex-wrap:wrap;margin-top:.25rem}
.hw-acoes{display:flex;flex-direction:column;gap:.375rem;align-items:flex-end}
.hw-acoes-linha{display:flex;gap:.375rem;flex-wrap:wrap;margin-top:.375rem}
.hw-selo{display:inline-block;font-size:.6875rem;padding:2px .5rem;border-radius:6.1875rem;font-weight:600;white-space:nowrap;background:var(--sur2);color:var(--mut)}
.hw-selo.ok{background:var(--ok-soft);color:var(--ok)}
.hw-selo.acc{background:var(--acc-soft);color:var(--acc)}
.hw-selo.media{background:var(--media-soft);color:var(--media)}
.hw-selo.baixa{background:var(--baixa-soft);color:var(--baixa)}
.hw-selo.crit{background:var(--crit-soft);color:var(--crit)}
.hw-painel{background:var(--sur);border:1px solid var(--line);border-radius:.625rem;padding:.875rem 1rem;margin-top:1rem}
.hw-duplo{display:grid;grid-template-columns:repeat(auto-fit,minmax(20.625rem,1fr));gap:.75rem}
.hw-duplo .hw-painel{margin-top:1rem}
.hw-vazio{color:var(--mut);padding:1.625rem;text-align:center;border:1px dashed var(--line);border-radius:.625rem;margin:0}
.hw-carregando{color:var(--mut);padding:1.875rem;text-align:center}
.hw-tabela{overflow-x:auto}
.hw-tabela table{width:100%;border-collapse:collapse;font-size:.8125rem}
.hw-tabela th{text-align:left;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);font-weight:600;padding:.375rem .5rem;border-bottom:1px solid var(--line);white-space:nowrap}
.hw-tabela td{padding:.4375rem .5rem;border-bottom:1px solid var(--line);vertical-align:top;font-variant-numeric:tabular-nums}
.hw-dir{text-align:right}
.hw-mono{font:.75rem var(--mono);color:var(--mut);white-space:nowrap}
.hw-total td{font-weight:700;border-top:2px solid var(--line)}
.hw-positivo{color:var(--ok)}
.hw-negativo{color:var(--crit)}
.hw-ficha{background:var(--sur);border:1px solid var(--line);border-radius:.75rem;padding:1rem 1.125rem;display:flex;gap:1rem;align-items:flex-start;margin-bottom:.875rem}
.hw-avatar{width:3.25rem;height:3.25rem;flex:none;border-radius:50%;background:var(--acc);color:var(--acc-ink);display:grid;place-items:center;font:700 1.0625rem var(--sans)}
.hw-etiquetas{display:flex;gap:.375rem;flex-wrap:wrap;margin-top:.5rem;align-items:center}
.hw-etiqueta{font-size:.75rem;padding:.25rem .625rem;border-radius:6.1875rem;background:var(--sur2);display:inline-flex;gap:.375rem;align-items:center}
.hw-etiqueta i{color:var(--mut);font-size:.625rem;text-transform:uppercase;letter-spacing:.06em;font-style:normal}
.hw-tempo{display:flex;flex-direction:column}
.hw-evento{display:grid;grid-template-columns:4.75rem 1fr;gap:.625rem;font-size:.8125rem;padding:.5625rem 0;border-bottom:1px solid var(--line)}
.hw-evento:last-child{border-bottom:0}
.hw-data{font:.75rem var(--mono);color:var(--mut)}
.hw-funil{display:flex;flex-direction:column;gap:.625rem}
.hw-funil-linha{display:grid;grid-template-columns:1fr auto;gap:.25rem .625rem;font-size:.8125rem;align-items:baseline}
.hw-funil-linha b{font-variant-numeric:tabular-nums}
.hw-funil-linha i{grid-column:1/-1;height:.4375rem;background:var(--sur2);border-radius:.25rem;overflow:hidden}
.hw-funil-linha em{display:block;height:100%;background:var(--acc)}
@media(max-width:760px){
 #hw-module{padding-bottom:1.875rem}
 .hw-cartao{flex-direction:column}
 .hw-acoes{flex-direction:row;align-items:flex-start;flex-wrap:wrap}
 .hw-evento{grid-template-columns:1fr;gap:2px}
 .hw-topo-acoes{width:100%;justify-content:space-between}
}

/* Diálogos: aproveitam a moldura .conversation-dialog do CRM e só acrescentam o layout dos campos. */
.hw-dialog{width:min(38.75rem,calc(100vw - 2rem))}
.hw-dialog.hw-larga{width:min(42.5rem,calc(100vw - 2rem))}
.hw-dialog form{display:flex;flex-direction:column;max-height:85vh}
.hw-dialog header h2{font-size:1.125rem;margin:0}
.hw-dialog .hw-fechar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:1.875rem;height:1.875rem;padding:0;border:1px solid var(--line);border-radius:.5rem;background:var(--sur);color:var(--mut);font-size:1.0625rem;line-height:1;cursor:pointer}
.hw-dialog .hw-fechar:hover{border-color:#b9c4c7;color:var(--ink)}
.hw-corpo{flex:1;min-height:0;max-height:none;overflow:auto;display:flex;flex-direction:column;gap:.75rem;line-height:1.45}
.hw-dialog footer{justify-content:space-between;gap:.75rem}
.hw-footer-botoes{display:flex;gap:.5rem;margin-left:auto}
.hw-dialog footer .query-primary{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}
.hw-dialog footer .query-primary:disabled{opacity:.6;cursor:default}
.hw-erro{color:var(--crit);font-size:.8125rem;margin:0}
.hw-linha{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.75rem,1fr));gap:.75rem}
.hw-campo{display:grid;gap:.375rem;font-size:.8125rem;font-weight:600}
.hw-campo input,.hw-campo select,.hw-campo textarea{width:100%;box-sizing:border-box;padding:.625rem;border:1px solid var(--line);border-radius:.5rem;background:#fff;color:var(--ink);font:inherit;font-weight:400}
.hw-campo textarea{min-height:4rem;resize:vertical}
.hw-campo input:focus,.hw-campo select:focus,.hw-campo textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px rgba(17,117,114,.15)}
.hw-medico-linha{display:flex;gap:.5rem}
.hw-medico-linha select{flex:1;min-width:0}
.hw-marcas{display:grid;gap:2px}
.hw-marca{display:flex;align-items:center;gap:.5625rem;font-size:.8438rem;padding:.25rem 0;cursor:pointer}
.hw-marca input{width:1.0625rem;height:1.0625rem;margin:0;flex:none}
.hw-secao{font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);font-weight:600;margin:.25rem 0 -2px;border-top:1px solid var(--line);padding-top:.75rem}
.hw-resumo{margin:0;color:var(--mut);font-size:.8125rem}
.hw-dica,.hw-previa{font-size:.75rem;color:var(--mut);margin:0;line-height:1.45}
.hw-previa b{color:var(--ink)}
.hw-estrelas{display:flex;gap:.25rem}
.hw-dialog .hw-estrelas button{border:0;background:transparent;padding:0;border-radius:0;font-size:1.375rem;line-height:1;color:var(--line);cursor:pointer}
.hw-dialog .hw-estrelas button.on{color:var(--media)}
@media(max-width:700px){.hw-dialog,.hw-dialog.hw-larga{width:calc(100vw - 1.25rem)}.hw-dialog form{max-height:92vh}}

/* Visao geral: duas colunas que viram uma no celular, e o grafico de barras do mes a mes. */
#hw-module .hw-duas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1rem}
#hw-module .hw-barras{display:flex;align-items:flex-end;gap:.5rem;min-height:9.375rem;overflow-x:auto;padding-top:.25rem}
#hw-module .hw-barra-col{flex:1 0 2.875rem;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.3125rem;min-height:8.75rem}
#hw-module .hw-barra{width:100%;max-width:2.375rem;min-height:2px;border-radius:.3125rem .3125rem 0 0;background:var(--hw-acento,#0f766e)}
#hw-module .hw-barra-valor{font-size:.625rem;font-variant-numeric:tabular-nums;color:var(--hw-fraco,#64748b)}
#hw-module .hw-barra-mes{font-size:.625rem;color:var(--hw-fraco,#64748b);white-space:nowrap}

/* Semana da rotina de visitas.
   minmax(0,1fr) e nao minmax(178px,1fr): com piso em pixel, sete colunas mais os vaos estouram
   a largura util e nasce uma barra de rolagem mesmo numa tela larga, com o domingo cortado. Com
   piso zero elas dividem o que existe. A rolagem horizontal volta so no estreito, onde ela e
   util em vez de sintoma. */
.hw-semana{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:.5rem;margin:.875rem 0}
.hw-dia{display:flex;flex-direction:column;min-height:6.5rem;border:1px solid var(--line,#DDDBD3);
  border-radius:.625rem;background:var(--sur,#fff);padding:.5rem;min-width:0}
.hw-dia.hw-hoje{border-color:var(--acc,#0F6E6A)}
/* Dia vazio recua: fundo levemente rebaixado e sem sombra, para o olho pousar em quem tem
   visita. Antes todos os sete tinham o mesmo peso e a semana virava um tabuleiro uniforme. */
.hw-dia.hw-vazio-dia{background:#fbfbf9;border-style:dashed}
.hw-dia-topo{display:flex;align-items:baseline;justify-content:space-between;gap:.375rem;
  padding-bottom:.375rem;border-bottom:1px solid var(--line,#DDDBD3);font-size:.75rem;min-width:0}
.hw-dia.hw-hoje .hw-dia-topo b{color:var(--acc,#0F6E6A)}
.hw-dia-num{color:var(--mut,#6A6F6C)}
.hw-dia-custo{font-size:.6875rem;color:var(--mut,#6A6F6C);font-variant-numeric:tabular-nums;white-space:nowrap}
.hw-dia-corpo{flex:1;display:flex;flex-direction:column;gap:.375rem;padding-top:.375rem;min-width:0}
.hw-dia-vazio{margin:0;font-size:.75rem;color:var(--mut,#6A6F6C);opacity:.5}
/* O "+" ocupa a area livre inteira em vez de ser um botao solto no rodape: no dia vazio a
   coluna toda vira alvo, que e o gesto natural de quem esta montando a rota. */
.hw-dia-mais{flex:1;min-height:1.875rem;margin-top:.375rem;border:0;border-radius:.4375rem;background:transparent;
  color:var(--mut,#6A6F6C);font-size:1rem;line-height:1;cursor:pointer;opacity:0;transition:opacity .12s}
.hw-dia:hover .hw-dia-mais,.hw-dia.hw-vazio-dia .hw-dia-mais{opacity:.55}
.hw-dia-mais:hover{opacity:1;background:var(--acc-soft,#DCEDEB);color:var(--acc,#0F6E6A)}
@media (max-width:900px){
  .hw-semana{grid-auto-columns:minmax(9.375rem,1fr);overflow-x:auto;padding-bottom:.375rem}
  .hw-dia-mais{opacity:.55}
}

/* Cartao da coluna do dia. O cartao da lista tem CRM, local, contato e decomposicao do custo --
   util numa linha larga, ilegivel numa coluna de 180px, onde cada frase quebrava uma palavra
   por linha e os botoes cobriam o texto. Aqui cabe o essencial: hora, quem e, quanto custa. */
.hw-mini{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:.4375rem .5rem;
  border:1px solid var(--line,#DDDBD3);border-left:3px solid var(--mut,#6A6F6C);border-radius:.4375rem;
  background:var(--sur,#fff);font:inherit;cursor:pointer}
.hw-mini:hover{border-color:var(--acc,#0F6E6A);border-left-color:var(--acc,#0F6E6A)}
.hw-mini.agendada{border-left-color:var(--acc,#0F6E6A)}
.hw-mini.realizada{background:color-mix(in srgb,#2E7D5B 11%,var(--sur,#fff));border-color:color-mix(in srgb,#2E7D5B 35%,var(--line,#DDDBD3));border-left:4px solid #2E7D5B}
.hw-mini.realizada .hw-mini-topo b::after{content:" · Realizada";font-weight:600;color:#2E7D5B;font-size:.6875rem}
.hw-mini.cancelada{border-left-color:#B23A2E;opacity:.55}
.hw-mini.remarcada{border-left-color:#B8921E}
.hw-mini-topo{display:flex;align-items:center;justify-content:space-between;gap:.375rem;font-size:.75rem;font-variant-numeric:tabular-nums}
.hw-mini-ponto{width:.4375rem;height:.4375rem;border-radius:50%;background:currentColor;opacity:.6;flex:0 0 auto}
.hw-mini-nome{font-size:.75rem;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hw-mini-valor{font-size:.6875rem;color:var(--mut,#6A6F6C);font-variant-numeric:tabular-nums}
/* Especialidade e resultado no cartao do dia: e por eles que se decide voltar ou nao, entao
   ficam visiveis sem abrir a visita. */
.hw-mini-esp{font-size:.6875rem;font-weight:600;color:var(--acc,#0F6E6A);line-height:1.25;
  overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hw-mini-res{font-size:.6875rem;color:var(--ink,#1B1F1E);line-height:1.3;
  overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hw-mini-res b{color:#B8921E;letter-spacing:-1px}
.hw-mini-res.hw-fraco{color:var(--mut,#6A6F6C)}
.hw-mini-esp.hw-fraco{color:var(--mut,#6A6F6C);font-weight:400}
.hw-esp{color:var(--acc,#0F6E6A)}
.hw-link{display:inline-block;text-decoration:none}

/* Excluir fica visivelmente diferente de Editar: e a unica acao da ficha que nao volta atras. */
.hw-perigo{color:#8a3b31}
.hw-perigo:hover{border-color:#8a3b31;background:#f9ecea}

/* O anexo do comprovante: botao discreto, dentro do cartao e do dialogo. */
.hw-anexo{padding:2px .5rem;font-size:.6875rem;line-height:1.6}
.hw-campo input[type=file]{padding:.5rem;font-size:.75rem;background:var(--bg,#fff)}

/* Funil de captacao. Cartao em vez de tabela: a tabela de sete colunas que este painel pedia
   vira rolagem horizontal no celular, e e no celular que a rota e decidida. */
.hw-funil-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(16.875rem,1fr));gap:.625rem;margin-top:.625rem}
.hw-funil-cartao{border:1px solid var(--line,#DDDBD3);border-radius:.625rem;background:var(--sur,#fff);padding:.75rem;display:flex;flex-direction:column;gap:.5rem}
.hw-funil-topo{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.hw-funil-esp{margin:0;font-size:.75rem}
.hw-funil-fatos{margin:0;display:flex;flex-wrap:wrap;gap:.25rem}
.hw-pilula{font-size:.6562rem;padding:2px .4375rem;border-radius:6.1875rem;background:var(--sur2,#EEEDE7);color:var(--mut,#6A6F6C);white-space:nowrap}
.hw-funil-dinheiro{display:grid;grid-template-columns:repeat(3,1fr);gap:.375rem;margin:0;padding:.5rem 0;border-top:1px solid var(--line,#DDDBD3);border-bottom:1px solid var(--line,#DDDBD3)}
.hw-funil-dinheiro div{min-width:0}
.hw-funil-dinheiro dt{font-size:.625rem;text-transform:uppercase;letter-spacing:.04em;color:var(--mut,#6A6F6C)}
.hw-funil-dinheiro dd{margin:0;font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums}
.hw-funil-rodape{margin:0;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.6875rem}
.hw-chip-n{margin-left:.375rem;padding:0 .375rem;border-radius:6.1875rem;background:var(--sur2,#EEEDE7);font-size:.6875rem}
.hw-chip.on .hw-chip-n{background:rgba(255,255,255,.25)}
.hw-funil-linha small{min-width:2.375rem;text-align:right;font-size:.6875rem;color:var(--mut,#6A6F6C);font-variant-numeric:tabular-nums}
/* Aviso de tela que ainda nao tem o que mostrar: explica o que falta fazer, nao so que esta vazia. */
.hw-aviso{margin:.75rem 0 0;padding:.75rem .875rem;border-radius:.625rem;border:1px solid #E4D9A8;background:#FBF6E3;
  color:#6B5A16;font-size:.8125rem;line-height:1.5}


/* Visitas vencidas sem registro: a boca do funil. */
.hw-painel-atraso{border-color:#C0651A}
.hw-atrasadas{display:flex;flex-direction:column;gap:.375rem;margin-top:.5rem}
.hw-atrasada{display:flex;align-items:center;gap:.625rem;padding:.5rem .625rem;border:1px solid var(--line,#DDDBD3);
  border-radius:.5625rem;background:var(--sur,#fff);font-size:.8125rem}
.hw-atrasada b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Planilha de gastos da rotina de visitas */
.hw-rotina-visao{margin-bottom:.75rem}
.hw-gastos-filtros select{padding:.4375rem .625rem;border:1px solid var(--line);border-radius:.5rem;background:var(--sur);font:inherit;font-size:.8125rem;color:var(--ink)}
.hw-gastos-filtros input[type=month]{padding:.4375rem .625rem;border:1px solid var(--line);border-radius:.5rem;background:var(--sur);font:inherit;font-size:.8125rem;color:var(--ink)}
.hw-gastos-filtros .hw-filtros{margin-bottom:.5rem}
/* Médicos em lista, funis de acompanhamento e ROI (v1.26) */
button.hw-link{border:0;background:none;padding:0;font:inherit;font-size:.7812rem;color:var(--acc);cursor:pointer}
.hw-ordem{border:0;background:none;padding:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}
.hw-ordem.on{color:var(--ink)}
.hw-nowrap{white-space:nowrap}
.hw-tabela td .hw-pilula{display:inline-block;margin:.1875rem .25rem 0 0}
.hw-sep{width:1px;align-self:stretch;background:var(--line);margin:0 .25rem}
.hw-busca.hw-data-curta,.hw-busca.hw-select-curto{flex:0 0 auto;min-width:0;width:auto}
.hw-kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(13.4375rem,1fr);gap:.625rem;overflow-x:auto;padding-bottom:.375rem;align-items:start}
.hw-kcol{background:var(--sur2,#EEEDE7);border:1px solid var(--line);border-radius:.625rem;padding:.5rem;min-height:7.5rem;max-height:70vh;overflow-y:auto;display:flex;flex-direction:column;gap:.375rem}
.hw-kcol.alvo{outline:2px dashed var(--acc);outline-offset:-2px}
.hw-kcol header{display:flex;justify-content:space-between;align-items:center;font-size:.7812rem;position:sticky;top:-.5rem;background:var(--sur2,#EEEDE7);padding:2px 0 .25rem;z-index:1}
.hw-kcard{background:var(--sur);border:1px solid var(--line);border-radius:.5rem;padding:.4375rem .5625rem;font-size:.7812rem;cursor:grab;display:flex;flex-direction:column;gap:2px;min-width:0}
.hw-kcard:hover{border-color:var(--acc)}
.hw-kcard.arrastando{opacity:.45}
.hw-ktopo{display:flex;align-items:flex-start;gap:.375rem;min-width:0}
.hw-ktopo .hw-selo{flex:0 0 auto;font-size:.625rem;padding:1px .375rem}
.hw-knome{flex:1 1 auto;min-width:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.25;text-align:left;font-size:.8125rem}
.hw-kmeta{color:var(--mut);font-size:.7188rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hw-kacoes{display:flex;align-items:center;gap:.375rem;margin-top:.25rem}
.hw-kseta{border:1px solid var(--line);background:var(--sur);border-radius:.375rem;width:1.75rem;height:1.5rem;font-size:.625rem;color:var(--ink);cursor:pointer;flex:0 0 auto}
.hw-kseta:hover:not(:disabled){background:var(--acc);border-color:var(--acc);color:#fff}
.hw-kseta:disabled{opacity:.3;cursor:default}
.hw-klink{border:0;background:none;padding:0;font:inherit;font-size:.75rem;color:var(--acc);cursor:pointer}
.hw-ktirar{color:var(--mut)}
.hw-kacoes .hw-kseta:last-child{margin-left:auto}

/* 1.27.0 -- semana compacta, brindes no dia e dialogo alinhado. */
.hw-semana{gap:.375rem;margin:.625rem 0}
.hw-dia{min-height:0;padding:.375rem;border-radius:.5rem}
.hw-dia-topo{padding-bottom:.25rem;font-size:.6875rem}
.hw-dia-corpo{gap:.25rem;padding-top:.25rem}
.hw-mini{padding:.25rem .375rem;gap:0;font-size:.6875rem;border-radius:.375rem}
.hw-mini-topo,.hw-mini-nome{font-size:.6875rem}
.hw-mini-esp,.hw-mini-res,.hw-mini-valor{font-size:.625rem}
.hw-mini-nome{-webkit-line-clamp:1}
.hw-mini-acao{display:block;width:100%;text-align:left;padding:.1875rem .375rem;border:1px dashed var(--line,#DDDBD3);border-radius:.375rem;
  background:#fbfbf9;font:inherit;font-size:.625rem;line-height:1.3;color:var(--ink,#1B1F1E);cursor:pointer;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hw-mini-acao b{color:var(--acc,#0F6E6A)}
.hw-mini-acao.ok b{color:#2E7D5B}.hw-mini-acao.media b{color:#B8921E}
.hw-mini-acao:hover{border-style:solid;border-color:var(--acc,#0F6E6A)}
.hw-dia-botoes{display:flex;gap:.25rem;margin-top:.25rem}
.hw-dia-botoes .hw-dia-mais{flex:1;min-height:1.375rem;margin:0;font-size:.625rem;font-weight:600;opacity:.55}
.hw-dia-botoes .hw-dia-mais:hover{opacity:1}
.hw-blocos .hw-bloco{padding:.625rem .75rem}
.hw-blocos .hw-valor{font-size:1.375rem}

.hw-dialog header{padding:.875rem 1.125rem}
.hw-dialog form>div,.hw-dialog .hw-corpo{gap:.75rem}
.hw-linha{align-items:end;gap:.625rem}
.hw-campo{gap:.25rem;font-size:.75rem;align-content:end}
.hw-campo input,.hw-campo select{height:2.375rem;padding:0 .625rem}
.hw-campo textarea{padding:.5rem .625rem}
.hw-campo select{-webkit-appearance:none;appearance:none;padding-right:1.875rem;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236A6F6C' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 11px center}
.hw-campo input[type=file]{height:auto;padding:.375rem;border-style:dashed;background:#fbfbf9;font-size:.75rem;color:var(--mut,#6A6F6C)}
.hw-campo input[type=file]::file-selector-button{margin-right:.625rem;padding:.375rem .75rem;border:1px solid var(--line,#DDDBD3);border-radius:.375rem;
  background:#fff;color:var(--ink,#1B1F1E);font:inherit;font-weight:600;cursor:pointer}
.hw-campo input[type=file]::file-selector-button:hover{border-color:var(--acc,#0F6E6A);color:var(--acc,#0F6E6A)}
.hw-dialog .hw-dica .hw-anexo{padding:.1875rem .5rem;font-size:.75rem}
.hw-dialog footer{padding:.75rem 1.125rem}
.hw-dialog footer button{height:2.375rem;padding:0 1.125rem;border-radius:.5rem}
.hw-campo .hw-medico-busca{height:2.125rem;font-size:.8125rem}
.hw-medico-campo{gap:.375rem}
.hw-dialog .hw-corpo :is(input,select,textarea):disabled{background:color-mix(in srgb,var(--line,#DDDBD3) 30%,var(--sur,#fff));color:var(--ink,#1B1F1E);opacity:1;cursor:default}
/* Busca de pedido no brinde: lista dos pedidos do medico no HW Orcamentos, logo abaixo do campo. */
.hw-campo{position:relative}
.hw-pedidos-lista{position:absolute;z-index:5;left:auto;right:0;width:max-content;max-width:26.25rem;top:100%;margin-top:2px;max-height:16.25rem;overflow:auto;background:var(--sur,#fff);border:1px solid var(--line,#DDDBD3);border-radius:.5rem;box-shadow:0 8px 24px rgba(0,0,0,.12);min-width:100%}
.hw-pedidos-lista button{display:block;width:100%;text-align:left;padding:.4375rem .625rem;border:0;background:none;font:inherit;font-size:.75rem;cursor:pointer}
.hw-pedidos-lista button:hover{background:color-mix(in srgb,var(--acc,#0F6E6A) 10%,transparent)}
.hw-sub-linha>td{background:color-mix(in srgb,var(--line,#DDDBD3) 25%,transparent)}
.hw-mini-tabela{width:100%;font-size:.75rem}
.hw-mini-tabela th,.hw-mini-tabela td{padding:.25rem .5rem}
.hw-pedidos-lista[data-formulas]{left:0;right:auto}
/* Barra de filtros no padrao do HW Orcamentos: datas, atalhos, busca e chips numa caixa so. */
.hw-fcaixa{background:var(--sur,#fff);border:1px solid var(--line,#DDDBD3);border-radius:.875rem;padding:.75rem;margin:0 0 1rem}
.hw-fc-linha{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.hw-fc-chips{border-top:1px solid var(--line,#DDDBD3);margin-top:.75rem;padding-top:.75rem}
.hw-fcaixa .hw-data-curta{width:9.375rem}
.hw-rapido.on{background:color-mix(in srgb,var(--acc,#0F6E6A) 12%,var(--sur,#fff));border-color:color-mix(in srgb,var(--acc,#0F6E6A) 45%,var(--line,#DDDBD3));color:var(--acc,#0F6E6A)}
.hw-fc-busca{flex:1 1 15rem;display:flex;align-items:center;gap:.5rem;border:1px solid var(--line,#DDDBD3);border-radius:.5rem;padding:0 .625rem;background:var(--sur,#fff);min-height:2.25rem}
.hw-fc-busca span{color:var(--mut,#6A6F6C);font-size:1rem}
.hw-fc-busca input{border:0;outline:0;flex:1;font:inherit;background:transparent;min-width:0;padding:.4375rem 0}
.hw-fc-busca:focus-within{border-color:var(--acc,#0F6E6A)}
.hw-fc-chips .hw-chip{white-space:nowrap}
/* chips dos filtros numa linha so (rola de lado se a tela for estreita) */
.hw-fcaixa .hw-fc-chips{flex-wrap:nowrap;overflow-x:auto;gap:.25rem}
.hw-fc-chips .hw-chip{padding:.25rem .5rem;font-size:.75rem;flex:0 0 auto}
.hw-fc-chips .hw-sep{margin:0 2px}
/* abas dos funis */
.hw-funil-abas{display:flex;gap:0;border-bottom:2px solid var(--line,#DDDBD3);margin:.25rem 0 1rem;overflow-x:auto}
.hw-funil-aba{appearance:none;border:0;background:none;font:inherit;font-size:1rem;font-weight:600;color:var(--mut,#6B6A64);padding:.75rem 1.375rem;margin-bottom:-2px;border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:.5rem}
.hw-funil-aba:hover{color:var(--ink,#1F1E1B);background:rgba(0,0,0,.03)}
.hw-funil-aba.on{color:var(--acc,#2F6B66);border-bottom-color:var(--acc,#2F6B66)}
.hw-funil-aba-n{font-size:.7812rem;font-weight:600;background:var(--sur2,#EFEDE6);color:inherit;border-radius:6.1875rem;padding:2px .5625rem}
.hw-funil-aba.on .hw-funil-aba-n{background:var(--acc,#2F6B66);color:#fff}
.hw-linha-on>td{background:color-mix(in srgb,var(--acc,#2F6B66) 10%,transparent)}
.hw-mes-nav{display:flex;align-items:center;gap:.625rem;margin-bottom:.875rem;font-size:1rem}
/* Medicos: tabela compacta, uma linha por medico */
.hw-tab-compacta td{padding-top:.375rem;padding-bottom:.375rem;vertical-align:middle;white-space:nowrap}
.hw-tab-compacta th{white-space:nowrap}
.hw-tab-compacta .hw-td-nome{max-width:16.25rem;overflow:hidden;text-overflow:ellipsis}
.hw-tab-compacta .hw-td-nome .hw-nome{white-space:nowrap}
.hw-tab-compacta td.hw-fraco{max-width:10.625rem;overflow:hidden;text-overflow:ellipsis}
.hw-tab-compacta .hw-btn{padding:.25rem .625rem;font-size:.7812rem}
.hw-tab-compacta table{font-size:.8125rem}
.hw-tab-compacta th,.hw-tab-compacta td{padding-left:.375rem;padding-right:.375rem}
.hw-tab-compacta th .hw-ordem{font-size:.6562rem;letter-spacing:.04em}
.hw-tab-compacta .hw-td-nome{max-width:12.5rem}
.hw-tab-compacta td.hw-fraco{max-width:8.125rem}
.hw-tab-compacta .hw-selo{font-size:.6875rem;padding:2px .4375rem}
.hw-tab-compacta .hw-td-nome{padding-right:.875rem}
.hw-tab-compacta .hw-btn{padding:2px .5625rem;font-size:.75rem}
/* Comissoes */
.hw-tab-com .hw-com-valor{font-weight:700;color:#1F5FA8}
.hw-tab-com .hw-mini-tabela td{white-space:nowrap}
.hw-tab-com .hw-sub-linha>td{padding:.5rem .75rem .75rem}
.hw-tab-com td.hw-fraco{max-width:none}
.hw-periodo-nome{min-width:9.375rem;text-align:center;font-size:.875rem;white-space:nowrap}
.hw-so-leitura{background:var(--sur2,#EFEDE6)!important;color:var(--mut,#6A6F6C);cursor:not-allowed}

.hw-pix{font-size:.75rem;line-height:1.3;margin-top:2px}
.hw-pix .hw-link{font-size:.75rem;padding:0}
/* Tabelas da HW Pharma: tudo alinhado à esquerda, como o Guilherme pediu (13/10). */
#hw-module .hw-tabela th,#hw-module .hw-tabela td,#hw-module .hw-tabela .hw-dir{text-align:left}
/* Repasse do mes: cada valor com seu peso. Bruto e repasse em destaque, frete/custo/sobra menores. */
.hw-rep-resumo{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr) minmax(0,1fr);gap:.625rem;margin:0 0 .875rem}
.hw-rep-resumo>div{background:var(--sur);border:1px solid var(--line);border-radius:.625rem;padding:.75rem .875rem}
.hw-rep-eq{display:flex;align-items:flex-end;gap:.875rem;flex-wrap:wrap;margin-top:.375rem;font-variant-numeric:tabular-nums}
.hw-rep-eq small{display:block;font-size:.6875rem;color:var(--mut);font-weight:400;margin-bottom:2px}
.hw-rep-op{font-size:1.125rem;color:var(--mut);padding-bottom:2px}
.r-bruto{font:600 1.375rem/1.15 var(--sans);color:var(--ink)}
.r-frete{font:500 .9375rem/1.2 var(--sans);color:var(--mut);padding-bottom:2px}
.r-liq{font:500 1.1875rem/1.15 var(--sans);color:var(--ink);padding-bottom:1px}
.hw-rep-destaque{border-color:#1F5FA8!important;background:#F2F6FC!important}
.r-rep{font:600 1.375rem/1.15 var(--sans);color:#1F5FA8;margin-top:.25rem;font-variant-numeric:tabular-nums}
.hw-rep-menor>div:not(.hw-nota){display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.375rem}
.hw-rep-menor b{font:500 .9062rem/1.2 var(--sans);color:var(--mut);font-variant-numeric:tabular-nums}
.hw-rep-menor b.r-sobra{color:var(--mut)}
.hw-rep-tab td.c-bruto{font-weight:600;color:var(--ink)}
.hw-rep-tab td.c-frete{font-size:.75rem;color:var(--mut)}
.hw-rep-tab td.c-liq{color:var(--ink);font-weight:400}
.hw-rep-tab td.c-rep{font-weight:600;color:#1F5FA8}
.hw-rep-tab td.c-custo{font-size:.75rem;color:var(--mut)}
.hw-rep-tab td.c-sobra{font-size:.75rem;color:var(--mut)}
.hw-rep-tab .c-rep,.hw-rep-tab .c-custo{border-left:1px solid var(--line);padding-left:.75rem!important}
@media (max-width:900px){.hw-rep-resumo{grid-template-columns:1fr}}
.hw-pend{color:var(--media);font-weight:600}
.hw-rep-tab td.c-rep .hw-pend{font-size:.75rem}
.hw-pix-falta{color:var(--media);font-weight:600}
.hw-com-acoes{display:flex;gap:.375rem;justify-content:flex-end;align-items:center;white-space:nowrap}
.hw-com-acoes .hw-btn{height:1.875rem;min-width:6.5rem;display:inline-flex;align-items:center;justify-content:center;gap:.3125rem;padding:0 .625rem;box-sizing:border-box}
.hw-com-acoes .hw-btn-pdf{min-width:4rem}
.hw-btn-icone,.hw-com-acoes .hw-btn-icone{min-width:1.875rem;width:1.875rem;padding:0;display:inline-flex;align-items:center;justify-content:center}
.hw-btn-pdf{display:inline-flex;align-items:center;gap:.3125rem}
.hw-btn-pdf svg{flex:none;opacity:.85}
.hw-pix-copiar{display:inline-flex;align-items:center;gap:.3125rem}
/* "x" discreto para tirar um pedido do repasse */
.hw-rep-tab td.hw-rep-x{width:1.375rem;padding-left:2px!important;padding-right:2px!important}
.hw-rep-tirar{border:0;background:none;color:var(--mut);opacity:.35;font-size:.9375rem;line-height:1;cursor:pointer;padding:2px .25rem;border-radius:.25rem}
.hw-rep-tab tr:hover .hw-rep-tirar{opacity:.8}
.hw-rep-tirar:hover{background:var(--sur2);opacity:1}
.hw-rep-fora td{opacity:.55}
.hw-rep-fora td:first-child,.hw-rep-fora td:nth-child(2),.hw-rep-fora td:nth-child(3),.hw-rep-fora td:nth-child(4){text-decoration:line-through}
/* Situação do repasse em palavras e peso (daltonismo) */
.hw-sit-atraso{font-weight:700}
.hw-sit-pago{color:var(--mut,#6b6b6b)}
.hw-sit-aguarda{font-style:italic}
/* Conciliação do repasse com o extrato */
.hw-conc-topo{margin:0 0 .625rem}
.hw-conc-contas{display:flex;flex-direction:column;gap:.3125rem;margin-bottom:.5rem}
.hw-seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:.5rem;overflow:hidden;width:max-content;max-width:100%}
.hw-seg button{border:0;border-right:1px solid var(--line);background:var(--sur);padding:.375rem .6875rem;font:inherit;font-size:.7812rem;cursor:pointer;color:var(--ink)}
.hw-seg button:last-child{border-right:0}
.hw-seg button.on{background:var(--ink);color:var(--bg)}
.hw-conc-lista{max-height:46vh;overflow:auto;border:1px solid var(--line);border-radius:.5rem}
.hw-conc-linha{display:grid;grid-template-columns:1.125rem 5.25rem 1fr auto;gap:.625rem;align-items:center;padding:.5rem .625rem;border-bottom:1px solid var(--line);cursor:pointer;font-size:.8125rem}
.hw-conc-linha[hidden]{display:none}
.hw-conc-lista .hw-conc-linha:last-child{border-bottom:0}
.hw-conc-linha:has(input:checked){background:var(--sur2,#EEEDE7)}
.hw-conc-quem{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hw-conc-quem small,.hw-conc-sem small{display:block;color:var(--mut,#6b6b6b);font-size:.7188rem}
.hw-conc-valor{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.hw-conc-valor small{display:block;font-weight:400;font-size:.6875rem;color:#1F5FA8}
.hw-conc-sem{grid-template-columns:1.125rem 1fr;border:1px dashed var(--line);border-radius:.5rem;margin-top:.5rem}
.hw-conc-motivo{margin-top:.625rem}
.hw-conc-soma{margin:.5rem 2px 0;font-size:.8125rem;min-height:1em}
.hw-conc-soma:empty{display:none}
.hw-conc-motivo[hidden]{display:none}
.hw-bloco .hw-valor.hw-azul{color:#1F5FA8}
.hw-diverg{font-weight:600;color:var(--ink);text-decoration:underline dotted;cursor:help}
/* Filtro padrão (20/10): uma linha só, sem caixa branca; pílula do período compacta, busca curta e contador à direita. */
#hw-module .hw-fcaixa{background:none;border:0;padding:0;margin:0 0 .875rem}
#hw-module .hw-fc-busca{flex:0 1 20rem}
#hw-module .hw-fc-conta{margin-left:auto;color:var(--mut,#6A6F6C);font-size:.8125rem;white-space:nowrap}
/* Menu lateral do Painel HW: "Visitas e brindes" é o título e as telas ficam embaixo, como Exames na FGH. */
.nav button[data-hw-sub] svg{visibility:hidden}
.app:not(.medical-menu-locked) .rail .nav button[data-hw-sub]{min-height:2rem;font-size:.8125rem!important;font-weight:500}
.app:not(.medical-menu-locked) .rail .nav button[data-hw-pai],.app:not(.medical-menu-locked) .rail .nav button[data-hw-pai].on{background:transparent;color:var(--sb-ink);font-weight:500}
