/* Painel v2 (5.3) — identidade do escritório: #102849, #1E73BE, #C0C0C0, Arial. */
.vz{font-family:Arial,Helvetica,sans-serif;color:#102849}
.vz-kpis{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;margin-bottom:16px}
.vz-kpi{background:#fff;border:1px solid #e1e6ec;border-top:4px solid #1E73BE;border-radius:10px;padding:14px 16px;min-width:0}
.vz-kpi span{display:block;font-size:12px;color:#5f6b7a;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.vz-kpi strong{display:block;font-size:30px;line-height:1.15;margin:6px 0 2px;color:#102849;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vz-kpi small{display:block;font-size:12px;color:#7d8794}
.vz-kpi.warn{border-top-color:#D68910}.vz-kpi.alert{border-top-color:#C0392B}.vz-kpi.alert strong{color:#C0392B}
.vz-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.vz-card{background:#fff;border:1px solid #e1e6ec;border-radius:12px;padding:16px 18px;min-width:0}
.vz-card h3{margin:0 0 10px;font-size:15px;color:#102849}
.vz-card.span2{grid-column:span 2}.vz-card.span3{grid-column:1/-1}
.vz-svg{width:100%;height:auto;display:block}
.vz-ax{font-size:12px;fill:#7d8794}
.vz-grid line,.vz-grid{stroke:#e6eaef}
.vz-svg .vz-grid{stroke:#e6eaef;stroke-width:1}
.vz-legend{display:flex;gap:16px;font-size:12px;color:#5f6b7a;margin-bottom:6px}
.vz-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.vz-donut{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center}
.vz-donut svg{width:150px;height:150px}
.vz-donut ul{list-style:none;margin:0;padding:0;font-size:13px}
.vz-donut li{display:grid;grid-template-columns:14px 1fr auto;gap:8px;align-items:center;padding:4px 0;border-bottom:1px solid #f0f2f5}
.vz-donut li i{width:12px;height:12px;border-radius:3px}
.vz-donut-n{font-size:26px;font-weight:700;fill:#102849}.vz-donut-n.vz-money{font-size:15px}
.vz-hbars{display:grid;gap:9px}
.vz-hbar{display:grid;grid-template-columns:minmax(90px,38%) 1fr auto;gap:10px;align-items:center;font-size:13px}
.vz-hbar>div{background:#eef2f6;border-radius:6px;height:18px;overflow:hidden}
.vz-hbar b{display:block;height:100%;border-radius:6px}
.vz-hbar2>div{display:grid;gap:3px;height:auto;background:none}.vz-hbar2 b{height:9px;background-clip:padding-box}
.vz-funnel{display:grid;gap:6px;justify-items:center}
.vz-funnel div{display:flex;justify-content:space-between;color:#fff;border-radius:6px;padding:9px 14px;font-size:14px;box-sizing:border-box}
.vz-gauge{text-align:center}.vz-gauge svg{width:100%;max-width:260px}.vz-gauge-n{font-size:30px;font-weight:700;fill:#102849}.vz-gauge p{margin:4px 0 0;font-size:13px;color:#5f6b7a}
.vz-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}
.vz-table th{text-align:left;color:#5f6b7a;font-size:11px;text-transform:uppercase;border-bottom:2px solid #C0C0C0;padding:6px}
.vz-table td{padding:7px 6px;border-bottom:1px solid #eef1f4}
.vz-table tr.today td{background:#fff4e5;font-weight:700}
.vz-integ{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.vz-integ div{display:grid;grid-template-columns:14px 1fr;gap:2px 8px;align-items:center;border:1px solid #e6eaef;border-radius:8px;padding:9px 12px}
.vz-integ i{width:11px;height:11px;border-radius:50%;background:#1E8449;grid-row:span 2}.vz-integ .off i{background:#C0392B}
.vz-integ span{font-weight:700;font-size:13px}.vz-integ small{color:#7d8794;font-size:12px}
.vz-empty{color:#7d8794;font-size:13px;margin:8px 0}
.vz-foot{font-size:12px;color:#7d8794;margin-top:14px}
@media(max-width:1300px){.vz-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.vz-grid{grid-template-columns:1fr 1fr}.vz-card.span2{grid-column:1/-1}}
@media(max-width:760px){.vz-kpis{grid-template-columns:1fr 1fr}.vz-grid{grid-template-columns:1fr}.vz-card.span2,.vz-card.span3{grid-column:auto}.vz-donut{grid-template-columns:110px 1fr}.vz-donut svg{width:110px;height:110px}}

/* ---------- Modo TV real: 42" 1920×1080, tudo dimensionado pela altura da tela, sem rolagem ---------- */
#tv.tv-real{position:fixed;inset:0;padding:0;background:#0d2240;overflow:hidden;z-index:50}
.tv2{height:100vh;display:grid;grid-template-rows:9vh minmax(0,1fr) 4vh;color:#fff;font-family:Arial,Helvetica,sans-serif}
.tv2>header{display:flex;align-items:center;gap:2.2vw;padding:0 2.2vw;background:#102849;border-bottom:3px solid #1E73BE}
.tv2>header img{height:6vh;width:auto}
.tv2 nav{display:flex;gap:1vw;flex:1;justify-content:center}
.tv2 nav span{font-size:1.9vh;padding:.8vh 1.4vw;border-radius:99px;color:#9fb0c4;border:1px solid #2a4a74}
.tv2 nav span.on{background:#1E73BE;color:#fff;border-color:#1E73BE;font-weight:700}
.tv-clock{text-align:right}.tv-clock strong{display:block;font-size:4vh;line-height:1}.tv-clock small{font-size:1.6vh;color:#C0C0C0;text-transform:capitalize}
.tv-exit{background:transparent;border:1px solid #2a4a74;color:#9fb0c4;border-radius:8px;font-size:1.8vh;padding:.6vh .8vw;cursor:pointer}
.tv-body{margin:0;padding:1.8vh 2vw;display:flex;flex-direction:column;gap:1.6vh;min-height:0;overflow:hidden}
.tv2>footer{font-size:1.4vh;color:#9fb0c4;padding:0 2vw;display:flex;align-items:center}
.tv2 .vz-kpis{grid-template-columns:repeat(8,minmax(0,1fr));gap:1vw;margin:0;flex:0 0 auto}
.tv2 .vz-kpi{background:#102849;border:1px solid #23466f;border-top:.6vh solid #1E73BE;padding:1.4vh 1vw}
.tv2 .vz-kpi span{color:#C0C0C0;font-size:1.5vh}.tv2 .vz-kpi strong{color:#fff;font-size:4.6vh;margin:.6vh 0 .2vh}.tv2 .vz-kpi small{color:#9fb0c4;font-size:1.4vh}
.tv2 .vz-kpi.alert strong{color:#ff8a7a}
.tv-row{display:grid;gap:1.2vw;flex:1 1 0;min-height:0}
.tv-2{grid-template-columns:1fr 1fr}
.tv2 .vz-card{background:#102849;border:1px solid #23466f;border-radius:1.2vh;padding:1.6vh 1.3vw;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.tv2 .vz-card h3{color:#fff;font-size:2.4vh;margin:0 0 1.2vh}
.tv2 .vz-card>*:not(h3){min-height:0}
.tv2 .vz-svg{flex:1 1 auto;height:100%;max-height:100%;width:100%}
.tv2 .vz-ax{fill:#C0C0C0;font-size:14px}
.tv2 .vz-svg .vz-grid{stroke:#23466f}
.tv2 .vz-legend{color:#C0C0C0;font-size:1.6vh}
.tv2 .vz-hbar{font-size:2vh;color:#fff;grid-template-columns:minmax(10vw,34%) 1fr auto}.tv2 .vz-hbar>div{background:#1a3a63;height:2.6vh}.tv2 .vz-hbar2>div{background:none;height:auto}.tv2 .vz-hbar2 b{height:1.3vh}
.tv2 .vz-hbars{gap:1.4vh}
.tv2 .vz-donut{grid-template-columns:auto 1fr;flex:1 1 auto}
.tv2 .vz-donut svg{width:min(26vh,15vw);height:min(26vh,15vw)}
.tv2 .vz-donut ul{font-size:2vh}.tv2 .vz-donut li{border-bottom-color:#23466f;padding:.7vh 0}
.tv2 .vz-donut-n{fill:#fff}
.tv2 .vz-gauge svg{max-width:none;height:24vh;width:auto}.tv2 .vz-gauge-n{fill:#fff}.tv2 .vz-gauge p{color:#C0C0C0;font-size:2vh}
.tv2 .vz-table{font-size:2.1vh}.tv2 .vz-table th{color:#C0C0C0;font-size:1.5vh;border-bottom-color:#2a4a74;padding:.6vh .5vw}.tv2 .vz-table td{border-bottom-color:#1d3d66;padding:.75vh .5vw}
.tv2 .vz-table tr.today td{background:#5a3b0e;color:#fff}
.tv2 .vz-integ{grid-template-columns:repeat(2,1fr);gap:1vh .8vw}.tv2 .vz-integ div{border-color:#23466f;padding:1vh .8vw}.tv2 .vz-integ span{font-size:1.9vh}.tv2 .vz-integ small{color:#9fb0c4;font-size:1.5vh}
.tv2 .vz-funnel div{font-size:2.4vh;padding:1.4vh 1.2vw}
.tv2 .vz-empty{color:#C0C0C0;font-size:2.2vh}
.tv2 .vz-table thead th,.tv2 .vz-table thead{background:transparent}.tv2 .vz-table tbody tr:hover td{background:transparent}
.harvey-modal{max-width:760px;width:92vw;border:1px solid #C0C0C0;border-radius:12px;padding:20px;color:#102849;font-family:Arial,Helvetica,sans-serif}
.harvey-modal::backdrop{background:rgba(16,40,73,.45)}.harvey-text{white-space:pre-wrap;line-height:1.45;background:#f7f9fb;border-radius:8px;padding:12px;margin:10px 0}
.harvey-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.harvey-buttons a,.harvey-buttons button{font-size:14px}
.harvey-reply{display:grid;gap:8px;margin:10px 0}.harvey-reply textarea{min-height:90px;font:inherit;padding:10px;border:1px solid #c9d1db;border-radius:8px}
.mk-card{border:1px solid #e1e6ec;border-left:5px solid #C0C0C0;border-radius:10px;padding:12px 14px;margin:10px 0;background:#fff}
.mk-card.aguardando_aprovacao{border-left-color:#1E73BE}.mk-card.aprovado{border-left-color:#1E8449}.mk-card.publicado{opacity:.75}
.mk-head{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#102849}.mk-card details summary{cursor:pointer;color:#1E73BE;margin:6px 0}
