:root{--font-family-base:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-primary:#3b82f6;--color-secondary:#1e293b;--color-success:#22c55e;--color-error:#ef4444;--color-warning:#f59e0b;--bg-page:#0f172a;--bg-surface:#1e293b;--bg-surface-alt:#0f172a;--text-title:#e2e8f0;--text-body:#e2e8f0;--text-muted:#94a3b8;--border-color:#334155;--focus-ring:0 0 0 3px #3b82f640;--radius-sm:8px;--radius-md:12px;--radius-lg:14px;--space-1:8px;--space-2:16px;--space-3:24px}*{box-sizing:border-box}body{background:var(--bg-page);min-height:100vh;color:var(--text-body);font-family:var(--font-family-base), "sans-serif";margin:0}h1,h2,h3,h4,h5,h6{color:var(--text-title);margin:0}p{color:var(--text-body);margin:0}.ui-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 10px 24px #0206173d}.ui-label{color:var(--text-body);font-size:.82rem;font-weight:600}.ui-input,.ui-select,.ui-multiselect{background:var(--bg-surface-alt);border:1px solid var(--border-color);color:var(--text-body);border-radius:var(--radius-sm);padding:8px 10px;font-size:.86rem;transition:border-color .2s,box-shadow .2s,background-color .2s}.ui-input:hover,.ui-select:hover,.ui-multiselect:hover{filter:brightness(1.05)}.ui-input:focus,.ui-select:focus,.ui-multiselect:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:none}.ui-button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:8px 12px;font-size:.85rem;font-weight:600}.ui-button--primary{background:var(--color-primary);color:var(--text-title)}.ui-button--secondary{border-color:var(--border-color);color:var(--text-body);background:0 0}.ui-button:disabled,.ui-button--disabled{opacity:.6;cursor:not-allowed}.ui-table{border-collapse:collapse;width:100%}.ui-tooltip{background:var(--bg-surface-alt);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.ui-modal{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.dashboardShell{width:min(1160px,94vw);margin:0 auto;padding:28px 0 42px}.dashboardHeader{justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.dashboardHeaderActions{align-items:center;gap:var(--space-2);display:flex}.dashboardTitle{letter-spacing:.2px;font-size:clamp(1.4rem,2vw,1.9rem)}.dashboardSubtitle{color:var(--text-muted);margin-top:6px;font-size:.92rem}.filterGroup{align-items:center;gap:var(--space-1);display:flex}.filterGroup .ui-select{min-width:160px}.statusPill{border:1px solid #0000;border-radius:999px;padding:8px 14px;font-size:.84rem;font-weight:600}.statusPill.isOnline{color:#86efac;background:#22c55e24;border-color:#22c55e4d}.statusPill.isOffline{color:#fca5a5;background:#ef444429;border-color:#ef444452}.errorBanner{color:#fca5a5;border-radius:var(--radius-md);margin-bottom:var(--space-2);background:#ef444429;border:1px solid #f8717152;padding:10px 14px;font-size:.9rem}.cardsGrid{gap:var(--space-2);margin-bottom:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.CardInfo{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);min-height:128px;padding:16px;box-shadow:0 10px 24px #0206173d}.kpiSkeleton{min-height:128px;position:relative;overflow:hidden}.kpiSkeleton:after{content:"";background:linear-gradient(90deg,#0000,#94a3b824,#0000);animation:1.4s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.cardHeader{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.nameInfo{color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;font-size:.8rem;font-weight:600}.trendBadge{border:1px solid #0000;border-radius:999px;padding:4px 8px;font-size:.76rem;font-weight:700}.trendBadge.cor-alerta{color:#fca5a5;background:#ef44441f;border-color:#f8717159}.trendBadge.cor-sucesso{color:#86efac;background:#22c55e24;border-color:#22c55e59}.valorInfo{color:var(--text-title);margin-bottom:12px;font-size:clamp(1.45rem,2.5vw,1.9rem);font-weight:700;line-height:1.2}.dataInfo{justify-content:space-between;align-items:baseline;font-size:.84rem;display:flex}.dataLabel{color:var(--text-muted)}.dataValue{color:#cbd5e1;font-weight:600}.chartPanel{margin-bottom:var(--space-3);justify-content:center;display:flex}.chartContainer{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:980px;margin:12px auto;padding:clamp(12px,2.5vw,20px);box-shadow:0 10px 24px #0206173d}.chartHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.chartTitle{font-size:clamp(.92rem,2.2vw,1.1rem)}.chartSubtitle,.chartMeta{color:var(--text-muted);font-size:.76rem}.chartHeaderControls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;width:100%;max-width:420px;display:flex}.chartCanvas{width:100%;height:clamp(300px,46vw,380px)}.chartDescription{color:var(--color-primary);margin-bottom:6px;font-size:.76rem;font-weight:700}.chartEmptyState{color:var(--text-muted);text-align:center;padding-top:32px;font-size:.8rem}.conversionSection{margin-top:var(--space-3)}.conversionChartSection{margin-bottom:18px}.conversionChartHeader{justify-content:space-between;gap:var(--space-2);align-items:flex-start;margin-bottom:12px;display:flex}.sectionTitle{color:var(--text-title);margin:0;font-size:1.14rem;font-weight:600}.conversionChartSubtitle{color:var(--text-muted);margin-top:6px;font-size:.88rem}.conversionChartFilters{grid-template-columns:repeat(3,minmax(130px,1fr));gap:10px;width:min(100%,560px);display:grid}.conversionChartFilters label{color:#cbd5e1;flex-direction:column;gap:6px;font-size:.78rem;display:flex}.conversionChartFilters select{background:var(--bg-surface-alt);border:1px solid var(--border-color);color:var(--text-body);border-radius:var(--radius-sm);padding:8px 10px;font-size:.84rem;transition:border-color .2s,box-shadow .2s,filter .2s}.conversionChartFilters select:hover{filter:brightness(1.05)}.conversionChartFilters select:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:none}.conversionChartCard{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;box-shadow:0 10px 24px #0206173d}.conversionChartCanvas{width:100%;height:clamp(300px,42vw,380px)}.conversionChartEmpty{text-align:center;color:var(--text-muted);margin:0;padding:28px 14px;font-size:.92rem}@media (width<=980px){.dashboardHeader{flex-direction:column;align-items:flex-start}.dashboardHeaderActions{justify-content:space-between;width:100%}.cardsGrid{grid-template-columns:1fr}.conversionChartHeader{flex-direction:column}.conversionChartFilters{grid-template-columns:repeat(2,minmax(120px,1fr));width:100%}}@media (width<=720px){.cardsGrid{grid-template-columns:1fr}.statusPill{white-space:normal}.dashboardHeaderActions{flex-direction:column;align-items:stretch}.conversionChartFilters{grid-template-columns:1fr}}
