/* Ligação entre o menu do protótipo (pv.css) e o painel que já existia (app.css). Usa só os tokens do guia visual. */
.app-pv { display: flex; min-height: 100vh; background: #F6F5FA; }
.app-pv .pv-shell { display: contents; }
.app-pv .pv-side { width: 264px; flex: none; }
.app-pv .pv-side.open { width: min(300px, 86vw); }
.app-pv .pv-col { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.app-pv .main { padding: 24px max(16px, env(safe-area-inset-right, 0px)) 64px max(16px, env(safe-area-inset-left, 0px)); }
@media (min-width: 1024px) { .app-pv .main { padding: 32px 40px 72px; } }
.app-pv .mob-head, .app-pv .tabbar { display: none !important; }
.app-pv .pv-nav { text-decoration: none; }
.app-pv .pv-nav.on { background: #ECEDF4; }
.app-pv .pv-nav.on svg { color: #9C2968; }
.pvx .hide { display: none !important; }
.pvx .pv-scrim[hidden] { display: none; }
.pvx-tela { display: grid; gap: 24px; align-content: start; background: transparent; }
.pvx-tela a.btn { text-decoration: none; }
.pv-modal-root { position: relative; z-index: 60; background: transparent; }
.pv-toast-root { background: transparent; }
.pvx .pro-card { color: var(--ink); cursor: default; text-align: left; }
.pvx .pro-card:hover { border-color: var(--border); }
.pvx .tbl td, .pvx .tbl th { border-bottom: 0; }
.pvx .num:not(.r) { text-align: inherit; }
@media (max-width: 420px) { .pvx .kpi b { font-size: 22px; line-height: 30px; } }
.pvx .field { margin: 0; }
.pvx .kpi b small { display: inline; }

/* DS-titulos: Plus Jakarta Sans, titulos em peso medio */
h1, h2 { font-weight: 600 !important; }
h3 { font-weight: 700; }
