/* Plantão+ — aba Medicamentos. Usa os tokens de style.css (--pri, --line, --warn...). */
.med-pend{display:inline-flex;align-items:center;gap:4px;color:var(--warn);font-size:.82rem;font-weight:650}
.med-link{border:0;background:none;padding:0 2px;color:var(--pri-d);font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:32px}
.med-link:focus-visible,.med-linha:focus-visible,.med-kpi:focus-visible,.med-secao:focus-visible,.med-chip:focus-visible,.med-dica:focus-visible{outline:3px solid #8cc7cc;outline-offset:2px}
.med-mini{margin-left:8px;font-size:.68rem;padding:3px 6px;vertical-align:middle}

/* situação da base */
.med-resumo{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;margin:0 0 18px}
.med-kpi{display:flex;align-items:baseline;gap:9px;min-height:52px;padding:9px 16px;border-radius:11px;border:1px solid var(--line);background:#fff;cursor:pointer;text-align:left;transition:border-color .16s,background .16s}
.med-kpi b{font-size:1.35rem;font-variant-numeric:tabular-nums;line-height:1}
.med-kpi span{font-size:.84rem;font-weight:620;color:#3a4f55}
.med-kpi:hover{border-color:#93b9b1}
.med-kpi.on{border-color:var(--pri);background:var(--pri-l)}
.med-kpi.k-ok b{color:var(--ok)} .med-kpi.k-info b{color:var(--info)} .med-kpi.k-warn b{color:var(--warn)} .med-kpi.k-dados b{color:var(--dados)}
.med-kpi-nota{flex:1 1 260px;display:flex;align-items:center;justify-content:flex-end;font-size:.82rem;color:var(--mute);text-align:right}

/* filtros */
.med-filtros{display:grid;grid-template-columns:minmax(240px,2fr) repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end;margin-bottom:14px}
.med-filtro{display:flex;flex-direction:column;gap:5px;font-size:.76rem;font-weight:680;color:#4a5f64;min-width:0}
.med-filtro .i{min-height:44px;font-size:.9rem}
.med-filtro-fim{display:flex;align-items:center;gap:10px;justify-content:flex-end;grid-column:1/-1}

/* listagem */
.med-tabela{padding:0;overflow:hidden}
.med-linha{display:grid;grid-template-columns:minmax(220px,2.1fr) minmax(170px,1.5fr) minmax(170px,1.1fr) minmax(150px,1.2fr);gap:16px;align-items:center;width:100%;padding:13px 18px;border:0;border-bottom:1px solid #e9eeec;background:#fff;text-align:left;cursor:pointer;min-height:64px;font-size:.9rem}
.med-linha:last-child{border-bottom:0}
.med-linha:hover{background:#f6faf9}
.med-linha.on{background:var(--pri-l);box-shadow:inset 3px 0 0 var(--pri)}
.med-linha.inativo{color:var(--mute)}
.med-linha>span{min-width:0;display:flex;flex-direction:column;gap:3px}
.med-linha>span:first-child{display:block}
.med-linha b{font-weight:720;overflow-wrap:anywhere}
.med-linha small{display:block;color:var(--mute);font-size:.78rem;line-height:1.35;overflow-wrap:anywhere}
.med-cab{cursor:default;min-height:0;padding:10px 18px;background:#f6f8f7;font-size:.71rem;font-weight:720;text-transform:uppercase;letter-spacing:.04em;color:#52666b}
.med-cab:hover{background:#f6f8f7}
.med-formas{font-size:.84rem}
.med-vias{display:flex;flex-wrap:wrap;gap:4px}
.med-vias i{font-style:normal;font-size:.7rem;font-weight:740;padding:2px 7px;border-radius:6px;background:#eef2f4;color:#3d5157}
.med-lac{color:var(--warn)!important}
.med-l-fonte{grid-template-columns:minmax(260px,3fr) minmax(160px,1.2fr) minmax(140px,1fr) 110px}
.med-l-imp{grid-template-columns:minmax(200px,1.4fr) minmax(220px,2fr) minmax(210px,1.1fr);cursor:default}
.med-l-imp:hover{background:#fff}

/* gaveta lateral: a listagem continua visível ao lado */
.med-gaveta-fundo{position:fixed;inset:0;z-index:40;background:#10282d00;transition:background .22s;display:flex;justify-content:flex-end}
.med-gaveta-fundo.on{background:#10282d2e}
.med-gaveta{width:min(760px,100%);height:100%;background:#fff;border-left:1px solid var(--line);box-shadow:-18px 0 50px #10282d24;display:flex;flex-direction:column;transform:translateX(28px);opacity:0;transition:transform .26s cubic-bezier(.16,1,.3,1),opacity .2s;outline:0}
.med-gaveta-fundo.on .med-gaveta{transform:none;opacity:1}
.med-gaveta-topo{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:18px 22px 12px;border-bottom:1px solid var(--line)}
.med-gaveta-topo h2{margin:0;font-size:1.3rem;letter-spacing:-.01em;overflow-wrap:anywhere}
.med-gaveta-topo p{margin:3px 0 0}
.med-situacao{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 22px;background:#f8faf9;border-bottom:1px solid var(--line)}
.med-secoes{display:flex;gap:4px;padding:8px 16px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:thin}
.med-secao{flex:none;min-height:42px;padding:8px 12px;border:0;border-radius:9px;background:none;font-size:.84rem;font-weight:650;color:#415459;cursor:pointer;white-space:nowrap}
.med-secao small{margin-left:6px;font-size:.72rem;background:#eef2f4;border-radius:10px;padding:1px 7px;color:#52666b}
.med-secao:hover{background:#f1f5f6}
.med-secao.on{background:var(--pri-l);color:var(--pri-d)}
.med-gaveta-corpo{flex:1;overflow-y:auto;padding:18px 22px 40px;display:flex;flex-direction:column;gap:18px;overscroll-behavior:contain}

.med-grupo{display:flex;flex-direction:column;gap:10px}
.med-grupo-topo{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.med-grupo h3{margin:0;font-size:1.02rem}
.med-grupo h3 small,.med-fila h3 small{font-weight:600;color:var(--mute);font-size:.8rem}
.med-grupo>p{margin:0}
.med-vazio{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0;padding:12px 14px;border:1px dashed #d9c9a3;border-radius:10px;background:#fffaf0;font-size:.86rem}
.med-item{border:1px solid var(--line);border-radius:11px;padding:13px 15px;background:#fff;display:flex;flex-direction:column;gap:8px}
.med-item.inativo{background:#f7f9f9;color:var(--mute)}
.med-item-topo{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}
.med-item-topo b{overflow-wrap:anywhere}
.med-item-st{display:flex;gap:6px;flex-wrap:wrap}
.med-item p{margin:0}
.med-dl{display:grid;grid-template-columns:minmax(120px,32%) 1fr;gap:5px 14px;margin:0;font-size:.87rem}
.med-dl dt{color:var(--mute);font-size:.8rem}
.med-dl dd{margin:0;overflow-wrap:anywhere;white-space:pre-line}
.med-proib{color:var(--crit)}
.med-fonte{font-size:.78rem;color:var(--mute)}
.med-item-acoes{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.med-item-acoes .btn{min-height:40px}
.med-apres{display:flex;flex-direction:column;gap:8px;padding-bottom:6px}
.med-apres>.med-item:not(:first-child){margin-left:18px;background:#fafcfb}
.med-add-sub{align-self:flex-start;margin-left:18px}
.med-proposta{border:1px solid #f0d9a8;background:var(--warn-l);border-radius:10px;padding:11px 13px;display:flex;flex-direction:column;gap:7px}
.med-lacunas{border:1px solid #f0d9a8;background:#fffaf0;border-radius:11px;padding:13px 15px;font-size:.88rem}
.med-lacunas ul{margin:8px 0 8px 18px;padding:0;display:grid;gap:3px}
.med-lacunas p{margin:0;color:#6b5a2e}
.med-detalhes summary{cursor:pointer;font-weight:650;font-size:.86rem;min-height:36px;display:flex;align-items:center}
.med-diff{width:100%;border-collapse:collapse;font-size:.82rem;background:#fff;border-radius:8px;overflow:hidden}
.med-diff th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--mute);padding:6px 8px;border-bottom:1px solid var(--line)}
.med-diff td{padding:6px 8px;border-bottom:1px solid #eef2f1;vertical-align:top;overflow-wrap:anywhere}
.med-diff .de{color:#7a5a5a;text-decoration:line-through;text-decoration-color:#c9a3a3}
.med-diff .para{font-weight:650}
.med-versao{border:1px solid var(--line);border-radius:11px;padding:13px 15px;display:flex;flex-direction:column;gap:6px}
.med-versao p{margin:0}

/* formulários */
.med-form{display:flex;flex-direction:column;gap:18px}
.med-form fieldset{border:0;padding:0;margin:0;min-width:0}
.med-form legend{font-size:.78rem;font-weight:740;text-transform:uppercase;letter-spacing:.05em;color:#3d5157;padding:0;margin-bottom:10px}
.med-form legend small{text-transform:none;letter-spacing:0;font-weight:560;color:var(--mute);font-size:.8rem}
.med-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.med-campo{display:flex;flex-direction:column;gap:6px;min-width:0}
.med-campo.largo{grid-column:1/-1}
.med-rotulo{display:flex;align-items:center;gap:8px;min-height:26px}
.med-rotulo label{font-size:.84rem;font-weight:660;color:#324d50}
.med-rotulo em{font-style:normal;font-weight:560;color:var(--crit);font-size:.76rem}
.med-nat{font-size:.66rem;font-weight:720;text-transform:uppercase;letter-spacing:.05em;color:var(--info);background:var(--info-l);border-radius:5px;padding:2px 6px}
.med-dica{margin-left:auto;flex:none;width:28px;height:28px;border-radius:50%;border:1px solid #bdcdca;background:#fff;color:var(--pri-d);font-weight:760;font-size:.82rem;cursor:pointer}
.med-dica[aria-expanded=true]{background:var(--pri);border-color:var(--pri);color:#fff}
.med-ajuda{margin:0;font-size:.8rem;line-height:1.45;color:#3d5157;background:#f1f7f5;border-radius:8px;padding:8px 10px}
.med-campo.erro .i{border-color:var(--crit);box-shadow:0 0 0 3px #fbd5d0}
.med-erro{margin:0;font-size:.8rem;font-weight:650;color:var(--crit)}
textarea.i.med-curto{min-height:76px}
.med-chips{display:flex;flex-wrap:wrap;gap:6px}
.med-chip{min-height:42px;padding:8px 13px;border-radius:9px;border:1px solid #bdcdca;background:#fff;font-size:.86rem;font-weight:640;cursor:pointer}
.med-chip.on{background:var(--pri);border-color:var(--pri);color:#fff}
.med-chip.mais{border-style:dashed;color:var(--mute)}
.med-fonte-linha{display:grid;grid-template-columns:1fr 130px auto;gap:8px;align-items:center;font-size:.84rem}
.med-form-fim{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding-top:6px}
.med-nova-apres{border:1px dashed #bdcdca;border-radius:12px;padding:15px;display:flex;flex-direction:column;gap:12px}
.med-nova-apres h3{margin:0}

/* etapas do cadastro */
.med-passos{list-style:none;display:flex;gap:6px;margin:0;padding:12px 22px 8px;overflow-x:auto}
.med-passos li{flex:1 0 auto;display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:640;color:var(--mute);white-space:nowrap}
.med-passos li span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1.5px solid #bdcdca;font-size:.76rem;font-variant-numeric:tabular-nums}
.med-passos li.on{color:var(--pri-d)} .med-passos li.on span{background:var(--pri);border-color:var(--pri);color:#fff}
.med-passos li.feito span{background:var(--ok-l);border-color:#9fd3b8;color:var(--ok)}
.med-progresso{height:3px;background:#e6eceb}
.med-progresso i{display:block;height:100%;background:var(--pri);transition:width .35s cubic-bezier(.16,1,.3,1)}

/* aprovações */
.med-fila{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.med-fila h3{margin:0}
.med-fila-item{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:12px 0;border-top:1px solid #e9eeec;flex-wrap:wrap}
.med-fila-item>div:first-child{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:5px}
.med-fila-item p{margin:0;overflow-wrap:anywhere}
.med-corpo>.alert{margin-bottom:12px}

/* estado do resultado na Segurança clínica */
.estado-chip{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:740;border-radius:7px;padding:4px 8px;border:1px solid transparent;margin-left:8px;vertical-align:middle}
.estado-chip.e-compatibilidade_confirmada{background:var(--ok-l);color:var(--ok);border-color:#b7dfc9}
.estado-chip.e-incompatibilidade_confirmada{background:var(--crit-l);color:var(--crit);border-color:#efc1bb}
.estado-chip.e-atencao{background:var(--warn-l);color:var(--warn);border-color:#f0d9a8}
.estado-chip.e-informacao_insuficiente{background:#f4effa;color:#5b3d8a;border-color:#dccfee}
.estado-chip.e-nao_avaliado{background:var(--dados-l);color:var(--dados);border-color:#d5dee2}
.estado-resumo{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px;font-size:.84rem}
.estado-resumo .estado-chip{margin:0;font-size:.78rem;padding:6px 10px}
.estado-resumo>span:last-child{color:var(--mute);flex:1 1 280px}

@media(max-width:1100px){
  .med-linha{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
  .med-linha>span:nth-child(4),.med-cab>span:nth-child(n+3){display:none}
  .med-linha>span:nth-child(3){grid-column:1/-1;flex-direction:row;gap:10px;align-items:center}
  .med-l-fonte{grid-template-columns:minmax(0,2fr) minmax(0,1fr)} .med-l-fonte>span:nth-child(3){display:flex;grid-column:auto}
  .med-l-imp{grid-template-columns:1fr} .med-l-imp>span:nth-child(3){grid-column:auto}
  .med-filtros{grid-template-columns:repeat(2,minmax(0,1fr))} .med-busca{grid-column:1/-1}
}
@media(max-width:640px){
  .med-gaveta-topo,.med-situacao,.med-gaveta-corpo{padding-left:14px;padding-right:14px}
  .med-dl{grid-template-columns:1fr} .med-dl dt{margin-top:4px}
  .med-kpi-nota{justify-content:flex-start;text-align:left}
  .med-fonte-linha{grid-template-columns:1fr} .med-apres>.med-item:not(:first-child),.med-add-sub{margin-left:8px}
}
@media(prefers-reduced-motion:reduce){.med-gaveta,.med-gaveta-fundo,.med-progresso i{transition:none}}
