[hidden] { display: none !important; }
.login-panel { max-width:400px; margin:50px auto; }
.server-status { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 20px; font-size:14px; }
footer { flex-wrap:wrap; }
.busca-com-limpar { position:relative; margin-bottom:14px; }
.busca-com-limpar input { width:100%; min-width:0; padding-right:48px; }
.busca-com-limpar input::-webkit-search-cancel-button { -webkit-appearance:none; appearance:none; }
.busca-com-limpar input::-ms-clear { display:none; }
.busca-com-limpar button { position:absolute; right:2px; top:50%; transform:translateY(-50%); width:42px; height:40px; border:0; background:transparent; font-size:24px; padding:0; }
.busca-com-limpar button:focus-visible { outline:2px solid #218064; outline-offset:-3px; }
.produto-compra { display:flex; align-items:center; gap:12px; min-width:0; }
.produto-compra > span { overflow-wrap:anywhere; }
.quantidade-compra { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-width:38px; padding:7px; border-radius:6px; background:#e1f1e9; color:#145d47; font-size:20px; }
.foto-remedio { width:58px; height:70px; object-fit:contain; flex-shrink:0; background:white; border-radius:5px; }
.laboratorio-remedio { display:block; margin-top:6px; color:#52675f; }
.remedio-catalogo { display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.remedio-catalogo > div:first-of-type { flex:1; min-width:120px; }
.acoes-remedio { display:flex; flex-wrap:wrap; gap:8px; }
.editar-na-lista { grid-column:1 / -1; justify-self:start; font-size:14px; padding:8px 10px; }
.preview-remedio { max-width:100%; width:200px; max-height:240px; object-fit:contain; }
.editor-remedio label { display:grid; gap:6px; padding:0; border:0; background:transparent; cursor:default; font-size:14px; }
.valor-compra { display:flex; flex-direction:column; align-items:flex-end; flex-shrink:0; white-space:nowrap; }
.total-cupom { font-size:20px; padding-top:18px; border-bottom:0; }
.aviso-duplicidade { color:#8a5a00; background:#fff6e0; border:1px solid #f0d999; border-radius:6px; padding:10px 12px; margin-bottom:14px; font-size:14px; }
.comparar-compras { margin-top:24px; }
.resumo-mensal { margin-bottom:10px; }
.resumo-mensal-lista { display:grid; gap:2px; margin-top:10px; }
.resumo-mensal-linha { display:grid; grid-template-columns:1fr auto auto; gap:14px; align-items:baseline; padding:8px 0; border-bottom:1px dashed #d3ddd4; }
.resumo-mensal-total { border-top:2px solid #218064; border-bottom:0; margin-top:4px; padding-top:12px; font-size:18px; }
.comparar-compras > label { display:block; border:0; background:transparent; padding:0; margin-bottom:8px; font-weight:normal; }
.preco-historico { padding:14px 0; border-top:1px dashed #d3ddd4; }
.precos-unitarios { display:flex; flex-wrap:wrap; gap:18px; margin-bottom:0; }
.precos-unitarios > div { flex:1; min-width:85px; }
.precos-unitarios dt { color:#52675f; font-size:14px; }
.precos-unitarios dd { margin:5px 0 0; font-weight:bold; }
.selecao-remedio { display: grid; grid-template-columns: minmax(0,1fr) 105px; align-items: center; gap: 10px 16px; }
.marcar-remedio { display: flex; align-items: center; gap: 12px; border: 0; background: transparent; padding: 0; font-weight: normal; min-width: 0; }
.marcar-remedio span { overflow-wrap: anywhere; }
.marcar-remedio input { width: 22px; height: 22px; flex: 0 0 22px; accent-color: #218064; cursor: pointer; }
.quantidade-remedio { display: grid; gap: 6px; border: 0; padding: 0; font-size: 13px; font-weight: normal; }
.quantidade-remedio input { min-width: 0; font-size:20px; font-weight:bold; text-align:center; }
.remedio-selecionado { border-color:#218064; background:#f0f8f3; }
.selecao-remedio small { grid-column: 1 / -1; }
.campo-lab-apr { grid-column: 1 / -1; display:grid; gap:4px; margin-top:6px; border:0; background:transparent; padding:0; font-size:13px; font-weight:normal; color:#52675f; cursor:default; }
.campo-lab-apr input { width:100%; box-sizing:border-box; font-size:14px; }
@media(max-width:400px) { .selecao-remedio { grid-template-columns: minmax(0,1fr) 85px; padding:12px; gap:8px; } }
.acoes-cupom { display:flex; flex-wrap:wrap; gap:10px; }
@media(max-width:550px) { nav button { flex:1; padding-left:6px; padding-right:6px; white-space:nowrap; font-size:15px; } }
