/* Compras da clínica (compras/module.js): mesma barra e cartões das outras telas. */
.cp{min-width:0}
.cp-topo{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem .875rem;margin:0 0 .875rem}
.cp-topo h1{margin:0;font-size:1.5rem}
.cp-esp{flex:1}
.cp-abas{display:flex;gap:.25rem;padding:.1875rem;border:1px solid var(--line);border-radius:.625rem;background:var(--sur)}
.cp-abas button{padding:.375rem .75rem;border:0;border-radius:.4375rem;background:none;color:var(--mut);font:inherit;font-size:.8125rem;font-weight:500;cursor:pointer}
.cp-abas button.on{background:var(--sur2);color:var(--ink);font-weight:700}
.cp-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(11.25rem,1fr));gap:.625rem;margin:0 0 .75rem}
.cp-kpi{display:flex;flex-direction:column;gap:.25rem;padding:.75rem .875rem;border:1px solid var(--line);border-radius:.75rem;background:var(--sur)}
.cp-kpi span{font-size:.75rem;color:var(--mut)}
.cp-kpi b{font-size:1.375rem;white-space:nowrap}
.cp-barra{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.625rem .75rem;border:1px solid var(--line);border-radius:.875rem;background:var(--sur);margin:0 0 .75rem}
.cp-busca{margin:0}
.cp-busca input{width:17.5rem;max-width:100%;padding:.4375rem .6875rem;border:1px solid var(--line);border-radius:.5rem;background:var(--sur);color:var(--ink);font:inherit;font-size:.8125rem}
.cp-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-left:auto}
.cp-chip{padding:.3125rem .75rem;border-radius:62.4375rem;border:1px solid var(--line);background:var(--sur);color:var(--mut);font:inherit;font-size:.7812rem;font-weight:500;cursor:pointer;white-space:nowrap}
.cp-chip b{margin-left:.1875rem}
.cp-chip.on{border-width:2px;border-color:var(--acc);color:var(--acc);font-weight:700;padding:.25rem .6875rem}
.cp-caixa{border:1px solid var(--line);border-radius:.625rem;background:var(--sur);overflow-x:auto}
.cp-tab{width:100%;border-collapse:collapse;font-size:.8438rem}
.cp-tab thead th{background:var(--sur2);text-align:left;font-size:.7188rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);padding:.6875rem .875rem;white-space:nowrap}
.cp-tab td{padding:.625rem .875rem;border-top:1px solid var(--line);vertical-align:middle}
.cp-tab tbody tr:hover{background:var(--sur2)}
.cp-tab td small{display:block;margin-top:2px;font-size:.7188rem;color:var(--mut)}
.cp-tab th.cp-dir,.cp-dir{text-align:right}
.cp-chk{width:1.75rem}
.cp-nw{white-space:nowrap}
.cp-mut{color:var(--mut)}
.cp-acao{text-align:right;white-space:nowrap}
.cp-vazio{padding:1.75rem 1rem;color:var(--mut);font-size:.8438rem}
.cp-sit{display:inline-block;padding:2px .5625rem;border-radius:62.4375rem;border:1px solid var(--line);font-size:.7188rem;white-space:nowrap}
.cp-sit.cp-ok{font-weight:600;background:var(--ok-soft);border-color:transparent;color:var(--ok)}
.cp-sit.cp-baixo{font-weight:800;background:var(--alta-soft);border-color:transparent;color:var(--alta)}
.cp-sit.cp-sem{border-style:dashed;color:var(--mut)}
.cp-sit.cp-p-aberto{font-weight:700}
.cp-sit.cp-p-comprado{font-weight:700;border-width:2px}
.cp-sit.cp-p-recebido{font-weight:600;background:var(--ok-soft);border-color:transparent;color:var(--ok)}
.cp-sit.cp-p-cancelado{color:var(--mut);text-decoration:line-through}
.cp-lapis{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:1px solid var(--line);border-radius:.4375rem;background:var(--sur);color:var(--mut);cursor:pointer}
.cp-lapis:hover{color:var(--ink);border-color:var(--ink)}
.cp-pri,.cp-leve{padding:.4375rem .8125rem;border-radius:.5rem;font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer;white-space:nowrap}
.cp-pri{border:1px solid var(--acc);background:var(--acc);color:#fff}
.cp-pri:disabled{opacity:.45;cursor:default}
.cp-leve{border:1px solid var(--line);background:var(--sur);color:var(--ink)}
.cp-aviso{margin:0 0 .75rem;padding:.5625rem .75rem;border:1px solid var(--line);border-left:4px solid var(--acc);border-radius:.5rem;background:var(--sur);font-size:.8125rem}
.cp-pag{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.625rem;padding:.625rem 1rem;border-top:1px solid var(--line);font-size:.7812rem;color:var(--mut)}
.cp-pag button{padding:.3125rem .75rem;border:1px solid var(--line);border-radius:.5rem;background:var(--sur);color:var(--ink);font:inherit;font-size:.7812rem;cursor:pointer}
.cp-pag button:disabled{opacity:.45;cursor:default}
.cp-dialog{width:min(40rem,calc(100vw - 1.5rem));padding:0;border:1px solid var(--line);border-radius:.875rem;background:var(--sur);color:var(--ink)}
.cp-dialog::backdrop{background:#0006}
.cp-form{display:flex;flex-direction:column;gap:.75rem;padding:1.125rem 1.25rem}
.cp-form h2{margin:0;font-size:1.125rem}
.cp-grade{display:grid;grid-template-columns:1fr 1fr;gap:.625rem .75rem}
.cp-grade label{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;font-weight:600;color:var(--mut)}
.cp-grade .cp-larga{grid-column:1/-1}
.cp-grade input,.cp-grade textarea,.cp-qtd{padding:.5rem .625rem;border:1px solid var(--line);border-radius:.5rem;background:var(--sur);color:var(--ink);font:inherit;font-size:.8438rem;font-weight:400}
.cp-qtd{width:5.625rem;text-align:right}
.cp-tab-ped{border:1px solid var(--line);border-radius:.5rem}
.cp-erro{margin:0;min-height:1em;font-size:.7812rem;font-weight:600;color:var(--alta)}
.cp-erro:empty{display:none}
.cp-botoes{display:flex;justify-content:flex-end;gap:.5rem}
.cp-esq{margin-right:auto}
@media (max-width:640px){.cp-grade{grid-template-columns:1fr}.cp-chips{margin-left:0}}
