/* hoje.css — dashboard tempo real (Caminho A) */
.hoje { padding: 16px 20px; display: flex; flex-direction: column; gap: 16px; }
.hoje .live { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--az-success-700); }
.hoje .live .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--az-success-500); animation: pulse 1.6s infinite; }
.hoje .live.stale { color: var(--az-warning-700); } .hoje .live.stale .dot { background: var(--az-warning-500); animation: none; }
@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: .3; } }
.hoje .est { font-size: 11px; color: var(--az-text-tertiary); }
.lag-pill { font-size: 11px; padding: 3px 8px; border-radius: 999px; }
.lag-pill.ok   { background: var(--az-success-50); color: var(--az-success-700); }
.lag-pill.warn { background: var(--az-warning-50); color: var(--az-warning-700); }
.lag-pill.bad  { background: var(--az-danger-50);  color: var(--az-danger-700); }
.hoje-cards { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
@media (max-width: 1100px) { .hoje-cards { grid-template-columns: repeat(3, 1fr); } }
.hoje-cards .kpi .k-value { font-size: 26px; }
.hoje-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; align-items: start; }
.panel { background: #fff; border: .5px solid var(--az-border-tertiary); border-radius: var(--az-radius-lg); padding: 16px; }
.panel h4 { margin: 0 0 12px; font-size: 13px; font-weight: 500; }
.live-list .li { display: flex; align-items: center; justify-content: space-between; padding: 9px 0; border-bottom: .5px solid var(--az-border-tertiary); font-size: 13px; }
.live-list .li:last-child { border-bottom: 0; }
.live-list .li.sla { color: var(--az-danger-900); }
.live-list .li .r { display: flex; align-items: center; gap: 10px; }
.live-list .li .pct { font-variant-numeric: tabular-nums; }
.live-list .li.sla .pct { background: var(--az-danger-100); color: var(--az-danger-900); padding: 2px 8px; border-radius: 999px; font-weight: 500; }
.ag-status { width: 8px; height: 8px; border-radius: 50%; background: var(--az-success-500); display: inline-block; }
/* container do chart com ALTURA FIXA — evita feedback loop de resize (2.B.1) */
.hoje-grid .panel:has(canvas) { height: 320px; display: flex; flex-direction: column; }
.hoje-grid .panel canvas { flex: 1; max-height: 100%; width: 100% !important; min-height: 0; }
