: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)}.login-container{background:radial-gradient(circle at top,#3b82f624,#0000 34%),linear-gradient(#0f172a 0%,#0b1220 100%);justify-content:center;align-items:center;min-height:100vh;padding:clamp(20px,4vw,40px);display:flex}.login-box{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:420px;padding:clamp(24px,4vw,36px);animation:.22s ease-out loginFadeIn;box-shadow:0 10px 24px #0206173d}@keyframes loginFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:24px}.login-header h1{color:var(--text-title);letter-spacing:-.02em;margin-bottom:8px;font-size:clamp(1.45rem,2.6vw,1.85rem);font-weight:700}.login-header p{color:var(--text-muted);margin:0;font-size:.92rem}.login-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text-body);letter-spacing:.02em;font-size:.82rem;font-weight:600}.form-group input{background:var(--bg-surface-alt);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-body);padding:10px 12px;font-size:.9rem;transition:border-color .2s,box-shadow .2s,filter .2s}.form-group input::placeholder{color:var(--text-muted)}.form-group input:hover{filter:brightness(1.04)}.form-group input:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:none}.error-message{color:#fca5a5;border-radius:var(--radius-sm);text-align:center;background:#ef44441f;border:1px solid #f8717159;padding:10px 12px;font-size:.88rem}.submit-button{background:var(--color-primary);color:var(--text-title);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;margin-top:4px;padding:10px 12px;font-size:.9rem;font-weight:700;transition:transform .18s,filter .18s,box-shadow .18s}.submit-button:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 8px 18px #3b82f62e}.submit-button:active:not(:disabled){transform:translateY(1px)}.submit-button:disabled{opacity:.65;cursor:not-allowed}.login-footer{border-top:1px solid var(--border-color);text-align:center;margin-top:22px;padding-top:18px}.login-footer p{color:var(--text-muted);margin-bottom:10px;font-size:.8rem}.login-footer code{text-align:left;border-radius:var(--radius-sm);background:var(--bg-surface-alt);border:1px solid var(--border-color);color:var(--text-body);padding:12px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem;line-height:1.55;display:block}.login-footer code strong{color:var(--text-title)}@media (width<=480px){.login-container{padding:16px}.login-box{border-radius:var(--radius-md);padding:20px}.login-footer code{font-size:.74rem}}.login-test-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;display:flex}.login-test-box{color:#e0e0e0;background:#1e1e1e;border-radius:12px;width:100%;max-width:700px;padding:40px;box-shadow:0 20px 60px #0000004d}.login-test-header{text-align:center;border-bottom:2px solid #667eea;margin-bottom:30px;padding-bottom:20px}.login-test-header h1{color:#667eea;margin:0 0 10px;font-size:28px;font-weight:600}.login-test-header p{color:#888;margin:0;font-size:14px}.login-test-form{margin-bottom:30px}.form-group{margin-bottom:20px}.form-group label{color:#e0e0e0;margin-bottom:8px;font-size:14px;font-weight:500;display:block}.form-group input{color:#e0e0e0;box-sizing:border-box;background:#2a2a2a;border:2px solid #333;border-radius:8px;width:100%;padding:12px 16px;font-size:14px;transition:all .3s}.form-group input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{color:#666;cursor:not-allowed;background:#1a1a1a}.error-message{color:#fca5a5;background:#ef44441a;border:1px solid #ef4444;border-radius:8px;margin-bottom:15px;padding:12px 16px;font-size:14px}.success-message{color:#86efac;background:#22c55e1a;border:1px solid #22c55e;border-radius:8px;margin-bottom:15px;padding:12px 16px;font-size:14px}.success-message code{word-break:break-all;background:#1a1a1a;border-radius:4px;margin-top:8px;padding:8px;font-family:Courier New,monospace;font-size:12px;display:block}.login-test-buttons{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:30px;display:grid}.btn{cursor:pointer;text-align:center;border:none;border-radius:8px;padding:12px 16px;font-size:14px;font-weight:600;transition:all .3s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{color:#fff;background:#667eea;grid-column:1/-1}.btn-primary:hover:not(:disabled){background:#5568d3;box-shadow:0 8px 16px #667eea4d}.btn-secondary{color:#fff;background:#22c55e}.btn-secondary:hover:not(:disabled){background:#16a34a;box-shadow:0 8px 16px #22c55e4d}.btn-warning{color:#fff;background:#f59e0b}.btn-warning:hover:not(:disabled){background:#d97706;box-shadow:0 8px 16px #f59e0b4d}.btn-danger{color:#fff;background:#ef4444}.btn-danger:hover:not(:disabled){background:#dc2626;box-shadow:0 8px 16px #ef44444d}.btn-reset{color:#fff;background:#6b7280;grid-column:1/-1}.btn-reset:hover:not(:disabled){background:#4b5563}.login-test-results{background:#2a2a2a;border-radius:8px;margin-bottom:30px;padding:20px}.login-test-results h2{color:#667eea;margin:0 0 15px;font-size:18px}.results-list{flex-direction:column;gap:12px;display:flex}.result-item{background:#1a1a1a;border-left:4px solid #666;border-radius:6px;padding:12px;font-size:13px}.result-success{background:#22c55e0d;border-left-color:#22c55e}.result-error{background:#ef44440d;border-left-color:#ef4444}.result-pending{background:#f59e0b0d;border-left-color:#f59e0b}.result-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.result-name{color:#e0e0e0;font-weight:600}.result-time{color:#666;font-size:12px}.result-details{cursor:pointer;color:#667eea;margin-top:8px}.result-details summary{-webkit-user-select:none;user-select:none;margin-bottom:8px;text-decoration:underline}.result-details pre{color:#86efac;background:#0a0a0a;border:1px solid #333;border-radius:4px;padding:12px;font-family:Courier New,monospace;font-size:11px;overflow-x:auto}.result-error{color:#fca5a5;background:#ef44441a;border-radius:4px;padding:8px;font-size:13px}.login-test-info{background:#667eea1a;border:1px solid #667eea;border-radius:8px;padding:20px}.login-test-info h3{color:#667eea;margin:0 0 12px;font-size:16px}.login-test-info ul{color:#b0b0b0;margin:0;padding-left:20px;font-size:13px;line-height:1.8}.login-test-info li{margin-bottom:8px}@media (width<=600px){.login-test-box{padding:20px}.login-test-header h1{font-size:22px}.login-test-buttons{grid-template-columns:1fr}.btn-primary,.btn-reset{grid-column:1}}.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);flex-direction:column;width:100%;min-height:500px;margin:12px auto;padding:clamp(12px,2.5vw,20px);display:flex;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;display:flex}.compareLegendRow{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.compareBadge{color:#bfdbfe;background:#3b82f61f;border:1px solid #3b82f673;border-radius:999px;align-items:center;padding:4px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.compareBadge--faded{color:#e2e8f0b8;background:#94a3b81f;border-color:#94a3b859}.chartCanvas{flex:1;width:100%;min-height: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);width:100%;min-width:0}.conversionChartSection{width:100%;min-width:0;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);flex-direction:column;min-width:0;min-height:430px;padding:16px;display:flex;box-shadow:0 10px 24px #0206173d}.conversionChartCanvas{flex:1;width:100%;min-width:0;height:380px;min-height:320px}.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}.chartContainer{min-height:450px}.chartCanvas{min-height:350px}.conversionChartHeader{flex-direction:column}.conversionChartFilters{grid-template-columns:repeat(2,minmax(120px,1fr));width:100%}.conversionChartCanvas{min-height:350px}}@media (width<=720px){.cardsGrid{grid-template-columns:1fr}.statusPill{white-space:normal}.dashboardHeaderActions{flex-direction:column;align-items:stretch}.chartContainer{min-height:400px}.chartCanvas{min-height:300px}.conversionChartFilters{grid-template-columns:1fr}.conversionChartCanvas{min-height:300px}}.app-header{z-index:100;margin-bottom:var(--space-3);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e293beb;position:sticky;top:0;box-shadow:0 10px 24px #02061738}.header-content{justify-content:space-between;align-items:center;gap:var(--space-2);width:min(1160px,100%);margin:0 auto;padding:14px clamp(16px,3vw,28px);display:flex}.header-title h1{color:var(--text-title);letter-spacing:-.02em;margin:0;font-size:clamp(1.05rem,2vw,1.4rem);font-weight:700}.logout-button{color:var(--text-body);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:8px 14px;font-family:inherit;font-size:.88rem;font-weight:600;transition:transform .18s,filter .18s,box-shadow .18s,border-color .18s}.logout-button:hover{filter:brightness(1.05);border-color:#3b82f673;box-shadow:0 8px 18px #0206172e}.logout-button:active{transform:translateY(1px)}@media (width<=768px){.header-content{width:min(1160px,100%);padding:12px 16px}.header-title h1{font-size:1rem}.logout-button{padding:7px 12px;font-size:.82rem}}.filterBar{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border:1px solid #ffffff1a;border-radius:12px;margin-bottom:24px;padding:20px;box-shadow:0 4px 6px #0000001a}.filterBar__container{flex-direction:column;gap:16px;display:flex}.filterBar__row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:flex-end;gap:16px;display:grid}.filterBar__row--advanced{opacity:.9;border-top:1px solid #ffffff1a;margin-top:12px;padding-top:12px}.filterBar__group{flex-direction:column;gap:8px;display:flex}.filterBar__group--checkbox{justify-content:flex-end}.filterBar__checkbox{accent-color:#3b82f6;cursor:pointer;width:18px;height:18px}.filterBar__label{text-transform:uppercase;letter-spacing:.5px;color:#ffffffb3;font-size:12px;font-weight:600}.filterBar__select,.filterBar__input{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff26;border-radius:6px;padding:10px 12px;font-family:inherit;font-size:14px;transition:all .2s}.filterBar__select:hover,.filterBar__input:hover{background:#ffffff14;border-color:#ffffff40}.filterBar__select:focus,.filterBar__input:focus{background:#ffffff1a;border-color:#66bbff80;outline:none;box-shadow:0 0 0 3px #66bbff1a}.filterBar__select option{color:#fff;background:#1a1a2e;padding:8px}.filterBar__reset{color:#fff;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;background:linear-gradient(135deg,#ff6b6b 0%,#ee5a52 100%);border:none;border-radius:6px;height:38px;padding:10px 20px;font-size:13px;font-weight:600;transition:all .2s}.filterBar__reset:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6b6b4d}.filterBar__reset:active{transform:translateY(0)}.filterBar--compact{margin-bottom:16px;padding:16px}.filterBar--compact .filterBar__row{grid-template-columns:auto auto auto 1fr auto;gap:12px}.filterBar--compact .filterBar__group{gap:4px}.filterBar--compact .filterBar__label{font-size:11px}.filterBar--compact .filterBar__select{padding:8px 10px;font-size:13px}.filterBar--compact .filterBar__reset{height:32px;padding:8px 16px;font-size:12px}@media (width<=768px){.filterBar{margin-bottom:16px;padding:16px}.filterBar__row{grid-template-columns:1fr 1fr}.filterBar__row--advanced{grid-template-columns:1fr}.filterBar__reset{grid-column:1/-1}.filterBar--compact .filterBar__row{grid-template-columns:1fr}.filterBar--compact .filterBar__reset{grid-column:1/-1}}@media (width<=480px){.filterBar{padding:12px}.filterBar__row{grid-template-columns:1fr}.filterBar__reset{width:100%}}
