:root{--fundo: #f6f7f5;--cartao: #ffffff;--texto: #1a1a1a;--suave: #6b7280;--borda: #e5e7eb;--marca: #111111;--destaque: #6cb33f;--perigo: #b91c1c;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--texto);background:var(--fundo);-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;background:var(--fundo)}button,input,select,textarea{font:inherit}button{border:1px solid var(--borda);background:#fff;border-radius:8px;padding:8px 12px;cursor:pointer;min-height:40px}button:hover{border-color:#c4c8cf}button.primario{background:var(--marca);color:#fff;border-color:var(--marca)}button.perigo{color:var(--perigo);border-color:#fecaca}button.link{border:none;background:none;color:#1d4ed8;padding:4px 0;min-height:0}button:disabled{opacity:.6;cursor:default}input,select,textarea{border:1px solid var(--borda);border-radius:8px;padding:8px 10px;min-height:40px;background:#fff;width:100%}textarea{min-height:80px}label{display:flex;flex-direction:column;gap:4px;font-size:14px;color:#374151;flex:1}label.check{flex-direction:row;align-items:center;gap:8px;flex:none}label.check input{width:auto;min-height:0}.centro{display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;min-height:100vh;padding:16px;text-align:center}.erro{color:var(--perigo);margin:4px 0}.aviso{background:#fff7ed;border:1px solid #fed7aa;padding:8px 12px;border-radius:8px}.dica{color:var(--suave);font-size:13px}.cartao{background:var(--cartao);border:1px solid var(--borda);border-radius:12px;padding:16px;margin-bottom:12px}.caixa{border:1px dashed var(--borda);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px}.formulario{display:flex;flex-direction:column;gap:12px}.linha{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.acoes{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.chip{display:inline-block;border-radius:999px;padding:3px 10px;font-size:12px;border:none;min-height:0}.tela-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.login{width:100%;max-width:360px;display:flex;flex-direction:column;gap:12px;text-align:center}.logo-login{width:140px;height:140px;margin:0 auto;border-radius:50%}.topo{display:flex;align-items:center;gap:12px;padding:8px 16px;padding-top:max(8px,env(safe-area-inset-top));background:var(--marca);color:#fff;position:sticky;top:0;z-index:10;flex-wrap:wrap}.logo-topo{width:36px;height:36px;border-radius:50%}.topo nav{display:flex;gap:4px;flex:1;overflow-x:auto}.topo nav a{color:#d1d5db;text-decoration:none;padding:8px 10px;border-radius:8px;white-space:nowrap}.topo nav a.active{color:#fff;background:#ffffff1f}.usuario{display:flex;align-items:center;gap:8px;font-size:13px}.usuario button{background:transparent;color:#fff;border-color:#4b5563;min-height:32px;padding:4px 10px}main{padding:12px 16px 40px;max-width:1400px;margin:0 auto}.pagina{max-width:900px;margin:0 auto}.barra-agenda{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px}.barra-agenda .grupo{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.barra-agenda input[type=date],.barra-agenda select{width:auto}.alternador{display:flex}.alternador button{border-radius:0}.alternador button:first-child{border-radius:8px 0 0 8px}.alternador button:last-child{border-radius:0 8px 8px 0}.alternador button.ativo{background:var(--marca);color:#fff}.alerta-recepcao{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:10px;display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.legenda{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.grade{display:grid;background:#fff;border:1px solid var(--borda);border-radius:12px;overflow-x:auto}.cabecalho-dia{text-align:center;padding:8px 4px;font-weight:600;border-bottom:1px solid var(--borda);border-left:1px solid var(--borda);cursor:pointer;position:sticky;top:0;background:#fff}.cabecalho-dia.hoje{color:var(--destaque)}.coluna-horas{border-right:1px solid var(--borda)}.rotulo-hora{font-size:12px;color:var(--suave);text-align:right;padding:2px 6px 0 0;border-top:1px solid var(--borda)}.coluna-dia{position:relative;border-left:1px solid var(--borda)}.celula{border-top:1px solid var(--borda);cursor:pointer}.celula:hover{background:#f9fafb}.celula.fechado{background:repeating-linear-gradient(45deg,#fafafa,#fafafa 6px,#f3f4f6 6px,#f3f4f6 12px)}.bloco{position:absolute;border:none;border-left:4px solid;border-radius:6px;padding:4px 6px;text-align:left;font-size:12px;line-height:1.25;overflow:hidden;min-height:0;box-shadow:0 1px 2px #00000014}.bloco .hora{font-weight:700}.bloco .status{display:block;opacity:.85;font-size:11px}.fundo-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:flex-end;justify-content:center;z-index:50}.modal{background:#fff;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;border-radius:16px 16px 0 0;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}@media(min-width:700px){.fundo-modal{align-items:center}.modal{border-radius:16px}}.topo-modal{display:flex;justify-content:space-between;align-items:center}.topo-modal h2{margin:0;font-size:20px}.fechar{border:none;font-size:26px;background:none}.acoes-status{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.historico{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.historico li{border-radius:10px;padding:8px 10px;max-width:90%}.historico li.enviada{background:#ecfdf5;align-self:flex-end}.historico li.recebida{background:#f3f4f6;align-self:flex-start}.sugestoes{list-style:none;padding:0;margin:4px 0;border:1px solid var(--borda);border-radius:8px}.sugestoes button{width:100%;text-align:left;border:none;border-bottom:1px solid var(--borda);border-radius:0}.paciente-escolhido{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--borda);border-radius:10px;padding:10px}.dias-semana{display:flex;gap:10px;flex-wrap:wrap}.tabela{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}.tabela th,.tabela td{text-align:left;padding:10px;border-bottom:1px solid var(--borda)}.tabela tbody tr{cursor:pointer}.tabela tbody tr:hover{background:#f9fafb}.tabela tr.inativo{opacity:.5}.modo-teste{border-color:#f59e0b;background:#fffbeb}.login label{text-align:left}@media(max-width:700px){.topo{gap:8px}.topo nav{order:3;width:100%;flex-basis:100%}.usuario{margin-left:auto}.usuario span,.legenda{display:none}main{padding:8px 10px 40px}}
