/* Mesmas cores e temas, com tipografia e acabamentos consistentes. */
:root { --fonte-interface: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif; --serif: var(--fonte-interface); }
body, button, input, select, textarea, h1, h2, h3, h4, h5, h6 { font-family: var(--fonte-interface) !important; }
.vp-visual-icon { display: inline-block; width: 1.15em; height: 1.15em; flex-shrink: 0; vertical-align: -.18em; color: inherit; overflow: visible; }
.h-ico .vp-visual-icon, .h-emoji .vp-visual-icon { width: 1em; height: 1em; }
:is(.card, .cartao, .painel-card, .stat-card, .kpi, .h-card, .h-caixa, .h-duvida, .h-plano, .modal-conteudo, .modal-content, .modal-box, .produto-card, .card-produto, .aurora-card, .aurora-plus-card) { border-radius: 16px !important; }
:is(button, .btn, .botao, .h-btn, input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea) { border-radius: 10px; }
:is([data-caixa="mosaico"], [data-caixa="mosaico_plus"], [data-caixa="classico_rubro"]) :is(.produto, .produto-card, .card-produto, .atalho, .botao, .btn, .modal-conteudo, input:not([type="checkbox"]):not([type="radio"]), select) { border-radius: 10px !important; }
[data-caixa] :is(.pdv-esq, .pdv-dir, .mc-modal-box, .ultimo-item, .sugestoes-pdv) { border-radius: 16px !important; }
[data-caixa] :is(.btn-pagar, .btn-pagar-rapido, .mc-botao, .chip-cat, .ui-desfazer, .sp-item, .item-carrinho, .pdv-pill) { border-radius: 10px !important; }
button, .btn, .botao, .h-btn, .menu-link, .nav-link { transition: background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease; }
button:active, .btn:active, .h-btn:active { translate: 0 1px; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline-offset: 3px; transition: box-shadow .18s ease, outline-offset .18s ease; }
@media (hover: hover) {
    :is(.h-caixa, .h-plano, .card-produto, .produto-card):hover { translate: 0 -3px; transition: translate .2s ease, box-shadow .2s ease; }
    :is(button, .btn, .h-btn):hover .vp-visual-icon { translate: 0 -1px; transition: translate .18s ease; }
}
.vp-entrada { animation: vp-aparecer .42s ease both; animation-delay: var(--vp-atraso, 0ms); }
@keyframes vp-aparecer { from { opacity: .65; translate: 0 8px; } to { opacity: 1; translate: 0 0; } }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
    .vp-entrada { animation: none !important; }
}
@media print {
    *, *::before, *::after { animation: none !important; transition: none !important; translate: none !important; }
}
