body { -webkit-font-smoothing: antialiased; background-color: #f1f5f9; }

/* Slider de verba */
input[type=range] { -webkit-appearance: none; appearance: none; width: 100%; background: transparent; }
input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; height: 20px; width: 20px; border-radius: 50%; background: #2563eb; cursor: pointer; margin-top: -8px; box-shadow: 0 2px 4px rgba(0,0,0,.2); }
input[type=range]::-webkit-slider-runnable-track { width: 100%; height: 6px; cursor: pointer; background: #cbd5e1; border-radius: 999px; }
input[type=range]::-moz-range-thumb { height: 20px; width: 20px; border: 0; border-radius: 50%; background: #2563eb; cursor: pointer; }
input[type=range]::-moz-range-track { height: 6px; background: #cbd5e1; border-radius: 999px; }
input[type=range]:focus { outline: none; }

/* Filtros e menu */
.filtro { font-size: 11px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: .5rem; padding: .4rem .5rem; color: #334155; cursor: pointer; transition: background .15s; }
.filtro:hover { background: #f1f5f9; }
.filtro:focus { outline: 2px solid #3b82f6; outline-offset: 0; }
@media (min-width: 768px) { .filtro { font-size: 12px; padding: .5rem; } }
.menu-item { width: 100%; display: flex; align-items: center; gap: .5rem; padding: .55rem 1rem; font-size: .875rem; color: #334155; text-align: left; transition: background .15s; }
.menu-item:hover { background: #f8fafc; }

/* Campos dos formulários do painel lateral */
.campo-label { display: block; font-size: 11px; font-weight: 600; color: #64748b; margin-bottom: .25rem; }
.campo { width: 100%; font-size: .875rem; border: 1px solid #cbd5e1; border-radius: .5rem; padding: .55rem .65rem; margin-bottom: .9rem; background: #fff; }
.campo:focus { outline: 2px solid #3b82f6; outline-offset: 0; border-color: transparent; }
.btn-primario { width: 100%; background: #2563eb; color: #fff; font-weight: 700; padding: .7rem; border-radius: .75rem; transition: background .15s; }
.btn-primario:hover { background: #3b82f6; }
.btn-primario:disabled { opacity: .6; }

/* Cartões de pedido */
.lead-msg { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.btn-acao { width: 2rem; height: 2rem; display: flex; align-items: center; justify-content: center; background: #f1f5f9; color: #475569; border-radius: 999px; transition: all .15s; }
.btn-acao:hover { background: #e2e8f0; color: #2563eb; }
@media (min-width: 768px) { .btn-acao { width: 2.25rem; height: 2.25rem; } }
.btn-salvar.sujo { background: #2563eb; color: #fff; box-shadow: 0 0 0 4px #dbeafe; }
.btn-salvar.sujo:hover { background: #3b82f6; color: #fff; }

.skeleton { background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%); background-size: 200% 100%; animation: sk 1.2s infinite; border-radius: .75rem; }
@keyframes sk { to { background-position: -200% 0; } }

::-webkit-scrollbar { width: 0; background: transparent; }
#sheetBody::-webkit-scrollbar { width: 6px; }
#sheetBody::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }

/* Gráfico de evolução */
.evo-aba { font-size: 11px; font-weight: 600; color: #64748b; padding: .3rem .65rem; border-radius: .4rem; transition: background .15s, color .15s; }
.evo-aba:hover { color: #1e293b; }
.evo-aba.is-active { background: #fff; color: #1d4ed8; box-shadow: 0 1px 2px rgba(15,23,42,.08); }
.evo-dica { position: absolute; top: 0; pointer-events: none; background: #0f172a; color: #fff; font-size: 11px; line-height: 1.35; padding: .35rem .55rem; border-radius: .45rem; white-space: nowrap; transform: translateX(-50%); z-index: 5; }
#evoGrafico svg { display: block; width: 100%; height: 100%; overflow: visible; }

/* Balão de suporte */
.cvs-md p { margin: 0; }
.cvs-dot { width: 6px; height: 6px; border-radius: 999px; background: #94a3b8; animation: cvs 1s infinite ease-in-out; }
.cvs-dot:nth-child(2) { animation-delay: .15s; }
.cvs-dot:nth-child(3) { animation-delay: .3s; }
@keyframes cvs { 0%, 80%, 100% { opacity: .3; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
