body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);color:#e8e8e8;min-height:100vh;text-align:center}.App-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000004d;border-bottom:1px solid #ffffff1a;padding:2rem 0}.App-header h1{color:#fff;font-size:2.5rem;font-weight:300;margin:0;text-shadow:0 2px 4px #00000080}.status-indicator{align-items:center;color:#b0b0b0;display:flex;font-size:.9rem;gap:.5rem;justify-content:center;margin-top:1rem}.status-dot{background:#666;border-radius:50%;height:8px;width:8px}.status-dot.connected{background:#4ade80;box-shadow:0 0 8px #4ade8080}.status-dot.disconnected{background:#f87171;box-shadow:0 0 8px #f8717180}.status-dot.checking{animation:pulse 2s infinite;background:#fbbf24;box-shadow:0 0 8px #fbbf2480}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.App-main{margin:0 auto;max-width:1200px;padding:2rem}.analytics-form{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 8px 32px #0003;margin-bottom:2rem;padding:1.5rem}.form-group{margin-bottom:1rem;text-align:left}.form-group label{color:#d1d5db;display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem;text-shadow:0 1px 2px #0000004d}.form-group input,.form-group select{background:#0000004d;border:1px solid #fff3;border-radius:8px;box-sizing:border-box;color:#fff;font-size:1rem;height:48px;padding:.75rem;transition:all .3s ease;width:100%}.form-group input[type=date]{height:48px;line-height:1;position:relative}.form-group input[type=date]::-webkit-calendar-picker-indicator{border-radius:4px;cursor:pointer;filter:invert(1);padding:4px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.form-group input[type=date]::-webkit-calendar-picker-indicator:hover{background-color:#fff3}.form-group input[type=date]::-webkit-calendar-picker-indicator:focus{background-color:#ffffff4d;outline:none}.form-group input[type=date]::-webkit-datetime-edit{color:#fff}.form-group input[type=date]::-webkit-datetime-edit-fields-wrapper{padding:0}.form-group input[type=date]::-webkit-datetime-edit-text{color:#ffffffb3;padding:0 2px}.form-group input[type=date]::-webkit-datetime-edit-day-field,.form-group input[type=date]::-webkit-datetime-edit-month-field,.form-group input[type=date]::-webkit-datetime-edit-year-field{background:#0000;color:#fff}.form-group select{appearance:none;background:#0000004d;border:1px solid #fff3;border-radius:8px;color:#fff;font-size:1rem;font-weight:500;outline:none;padding:.75rem;transition:border-color .3s,box-shadow .3s,background .3s;width:100%}.form-group select:focus{background:#0006;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group select option{background:#1f2937;color:#fff;font-size:1rem;font-weight:500}.form-group select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' fill='none' stroke='%23fff' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.2em;padding-right:2.5em}.form-group input::placeholder{color:#ffffff80}.form-group input:focus,.form-group select:focus{background:#0006;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.form-row .form-group{flex:1 1;margin-bottom:0;min-width:180px}.form-row .form-group:last-child{flex:0 0 auto;min-width:auto}button{background:linear-gradient(45deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;box-shadow:0 4px 15px #0003;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;height:48px;letter-spacing:.5px;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .3s ease;white-space:nowrap}button:hover:not(:disabled){background:linear-gradient(45deg,#2563eb,#1e40af);box-shadow:0 6px 20px #0000004d;transform:translateY(-1px)}button.needs-update{background:linear-gradient(45deg,#f97316,#ea580c)}button.needs-update:hover:not(:disabled){background:linear-gradient(45deg,#ea580c,#dc2626)}button:disabled{cursor:not-allowed;opacity:.6;transform:none}.error-message{background:#ef444433;border:1px solid #ef444480;border-radius:8px;color:#fca5a5;margin:1rem 0;padding:1rem}.info-message{background:#fb923c33;border:1px solid #fb923c80;border-radius:8px;color:#fed7aa}.info-message,.success-message{font-weight:500;margin:1rem 0;padding:1rem}.success-message{background:#22c55e33;border:1px solid #22c55e80;color:#86efac}.results-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 8px 32px #0003;padding:2rem}.results-section h2{color:#fff;font-size:1.8rem;font-weight:300;margin:0 0 1.5rem}.charts-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-top:2rem}.chart-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 8px 32px #0003;padding:1.5rem}.chart-card h3{color:#d1d5db;font-size:1.2rem;font-weight:600;letter-spacing:.5px;margin:0 0 1rem;text-align:center;text-transform:uppercase}.checkbox-label{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;color:#d1d5db;cursor:pointer;display:inline-flex;font-size:.9rem;margin-bottom:.5rem;padding:.4rem .6rem;transition:background-color .3s ease;-webkit-user-select:none;user-select:none}.checkbox-label:hover{background:#ffffff1a;border-color:#fff3}.checkbox-label input[type=checkbox]{accent-color:#3b82f6;cursor:pointer;flex-shrink:0;height:12px;margin-right:.5rem;width:12px}.stats-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 8px 32px #0003;margin-top:2rem;padding:1.5rem}.stats-section h3{color:#d1d5db;font-size:1.3rem;font-weight:600;letter-spacing:.5px;margin:0 0 1.5rem;text-align:center;text-transform:uppercase}.stats-table-container{background:#0003;border:1px solid #ffffff1a;border-radius:8px;overflow-x:auto}.stats-table{border-collapse:collapse;color:#e8e8e8;width:100%}.stats-table th{background:#0000004d;border-bottom:2px solid #ffffff1a;color:#d1d5db;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:center;text-transform:uppercase}.stats-table th:first-child{text-align:center;width:80px}.stats-table td{border-bottom:1px solid #ffffff0d;font-size:.95rem;padding:1rem}.stats-table td:first-child{text-align:center;width:80px}.stats-table tbody tr:hover{background:#ffffff0d}.stats-table tbody tr:last-child td{border-bottom:none}.table-checkbox-label{align-items:center;background:#ffffff0d;border:1px solid;border-radius:4px;color:inherit;cursor:pointer;display:inline-flex;font-size:.75rem;height:24px;justify-content:center;min-width:40px;padding:.25rem .5rem;transition:all .3s ease;-webkit-user-select:none;user-select:none}.table-checkbox-label:hover{background:#ffffff1a}.table-checkbox-label input[type=checkbox]{accent-color:inherit;cursor:pointer;flex-shrink:0;height:14px;margin-right:4px;width:14px}.event-name-cell{align-items:center;display:flex;font-weight:500;gap:.5rem}.event-color-dot{border:2px solid #fff3;border-radius:50%;box-shadow:0 2px 4px #0000004d;flex-shrink:0;height:16px;width:16px}.event-name{text-shadow:0 1px 2px #0006}.events-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:.75rem}.event-day-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;box-shadow:0 2px 8px #0003;padding:.75rem;transition:transform .3s ease,box-shadow .3s ease}.event-day-card:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-1px)}.event-day-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.4rem}.event-day-header h4{color:#fff;font-size:.95rem;font-weight:600;margin:0}.event-count-badge{background:#3b82f64d;border:1px solid #3b82f64d;border-radius:6px;color:#93c5fd;font-size:.7rem;font-weight:500;padding:.15rem .4rem}.event-day-content{display:flex;flex-direction:column;gap:.5rem}.version-group{background:#00000026;border:1px solid #ffffff14;border-radius:6px;padding:.5rem}.version-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:.4rem;padding-bottom:.4rem}.version-label{background:#fbbf241a;border:1px solid #fbbf2433;border-radius:3px;color:#fbbf24;font-size:.85rem;font-weight:600;padding:.2rem .4rem}.version-count{background:#3b82f633;border:1px solid #3b82f64d;border-radius:3px;color:#93c5fd;font-size:.7rem;font-weight:500;padding:.15rem .3rem}.version-events{display:flex;flex-direction:column;gap:.2rem}.event-item{background:#0003;border:1px solid #ffffff0d;border-radius:3px;padding:.4rem}.event-item-header{align-items:center;display:flex;justify-content:space-between}.event-name{font-size:.85rem;font-weight:600}.event-count{background:#ffffff1a;border-radius:3px;color:#fff;font-size:.7rem;font-weight:600;min-width:30px;padding:.15rem .3rem;text-align:center}.event-details{color:#9ca3af;font-size:.75rem}.event-version{background:#fb923c33;border:1px solid #fb923c4d;border-radius:2px;color:#fed7aa;font-size:.7rem;padding:.15rem .3rem}@media (max-width:768px){.App-header h1{font-size:2rem}.App-main,.analytics-form{padding:1rem}.form-row{flex-direction:column;gap:1rem}.form-row .form-group{min-width:100%}.charts-container{grid-template-columns:1fr}.chart-card{padding:1rem}.stats-table td,.stats-table th{font-size:.85rem;padding:.75rem .5rem}.events-grid{gap:.75rem;grid-template-columns:1fr}.event-day-card{padding:.75rem}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;justify-content:center;min-height:100vh;padding:20px}.login-card{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;max-width:400px;padding:40px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-form{display:flex;flex-direction:column;gap:20px}.login-title{color:#333;font-size:28px;font-weight:700;margin:0 0 10px;text-align:center}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#555;font-size:14px;font-weight:600}.form-input{background:#fafbfc;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;padding:12px 16px;transition:all .2s ease}.form-input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-input.error{background:#fdf2f2;border-color:#e74c3c}.form-input.error:focus{border-color:#e74c3c;box-shadow:0 0 0 3px #e74c3c1a}.form-input::placeholder{color:#9ca3af}.btn{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;padding:12px 24px;text-align:center;text-decoration:none;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{box-shadow:0 8px 20px #667eea4d;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.btn-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;font-weight:600;padding:0;text-decoration:underline}.btn-link:hover{color:#5a67d8}.form-footer{margin-top:10px;text-align:center}.form-footer p{color:#666;font-size:14px;margin:0 0 8px}.success-message{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724;font-weight:600;margin-bottom:10px;padding:12px 16px;text-align:center}.error-message{color:#e74c3c;font-size:12px;font-weight:500;margin-top:4px}@media (max-width:480px){.login-card{margin:10px;padding:30px 20px}.login-title{font-size:24px}.form-input{font-size:16px;padding:10px 14px}.btn{font-size:16px;padding:10px 20px}}@media (prefers-color-scheme:dark){.login-container{background:linear-gradient(135deg,#2d3748,#4a5568)}.login-card{background:#1a202c}.login-card,.login-title{color:#e2e8f0}.form-group label{color:#cbd5e0}.form-input{background:#2d3748;border-color:#4a5568;color:#e2e8f0}.form-input:focus{background:#2d3748;border-color:#667eea}.form-input::placeholder{color:#718096}.form-footer p{color:#a0aec0}}
/*# sourceMappingURL=main.929105ca.css.map*/