body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0f172a;color:#e2e8f0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app{display:flex;min-height:100vh}.sidebar{background:#1e293b;border-right:1px solid #334155;display:flex;flex-direction:column;padding:2rem 0;width:260px}.logo{border-bottom:1px solid #334155;padding:0 2rem 2rem}.logo h1{color:#60a5fa;font-size:1.5rem;margin-bottom:.5rem}.version{color:#64748b;font-size:.75rem}.nav-menu{flex:1 1;list-style:none;padding:2rem 0}.nav-menu li{margin-bottom:.5rem}.nav-menu a{color:#cbd5e1;display:block;padding:.75rem 2rem;text-decoration:none;transition:all .2s}.nav-menu a:hover{background:#334155;color:#60a5fa}.sidebar-footer{border-top:1px solid #334155;color:#64748b;font-size:.75rem;padding:2rem}.main-content{flex:1 1;overflow-y:auto;padding:2rem}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.dashboard-header h1{color:#f1f5f9;font-size:2rem}.subtitle{color:#94a3b8;margin-top:.5rem}.btn-primary{background:#3b82f6;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:background .2s}.btn-primary:hover{background:#2563eb}.btn-primary:disabled{background:#475569;cursor:not-allowed}.btn-secondary{background:#475569;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:background .2s}.btn-secondary:hover{background:#64748b}.client-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.client-card{background:#1e293b;border:1px solid #334155;border-radius:.75rem;color:inherit;display:block;padding:1.5rem;text-decoration:none;transition:all .2s}.client-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f633;transform:translateY(-2px)}.card-header{align-items:start;border-bottom:1px solid #334155;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.card-header h3{color:#f1f5f9;font-size:1.25rem;margin-bottom:.25rem}.domain{color:#94a3b8;font-size:.875rem}.package-badge{background:#334155;border-radius:.25rem;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.status-row{align-items:center;display:flex;justify-content:space-between;padding:.5rem 0}.label{color:#94a3b8;font-size:.875rem}.value{color:#f1f5f9;font-weight:600}.status-badge{border-radius:.25rem;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.card-footer{border-top:1px solid #334155;display:flex;gap:1.5rem;margin-top:1rem;padding-top:1rem}.stat{align-items:center;display:flex;flex-direction:column}.stat-value{color:#60a5fa;font-size:1.5rem;font-weight:700}.stat-label{color:#94a3b8;font-size:.75rem;margin-top:.25rem}.modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#1e293b;border:1px solid #334155;border-radius:.75rem;max-width:500px;padding:2rem;width:90%}.modal h2{color:#f1f5f9}.form-group,.modal h2{margin-bottom:1.5rem}.form-group label{color:#cbd5e1;display:block;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group select{background:#0f172a;border:1px solid #334155;border-radius:.5rem;color:#f1f5f9;font-size:1rem;padding:.75rem;width:100%}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;outline:none}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.client-detail{margin:0 auto;max-width:1400px}.detail-header{margin-bottom:2rem}.back-link{color:#60a5fa;display:inline-block;margin-bottom:1rem;text-decoration:none}.back-link:hover{text-decoration:underline}.header-content{align-items:center;display:flex;justify-content:space-between}.header-actions{display:flex;gap:1rem}.detail-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.panel{background:#1e293b;border:1px solid #334155;border-radius:.75rem;padding:1.5rem}.panel h2{align-items:center;color:#f1f5f9;display:flex;font-size:1.25rem;gap:.5rem;margin-bottom:1rem}.live-badge{animation:pulse 2s infinite;color:#22c55e;font-size:.75rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.metrics-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.metric-card{background:#0f172a;border-radius:.5rem;display:flex;flex-direction:column;padding:1rem}.metric-label{color:#94a3b8;font-size:.75rem;margin-bottom:.5rem}.metric-value{color:#60a5fa;font-size:1.5rem;font-weight:700}.services-grid{grid-gap:.75rem;display:grid;gap:.75rem}.service-toggle{align-items:center;background:#0f172a;border:2px solid #0000;border-radius:.5rem;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .2s}.service-toggle:hover{background:#1e293b}.service-toggle.active{background:#22c55e1a;border-color:#22c55e}.service-icon{font-size:1.5rem}.service-name{color:#cbd5e1;flex:1 1}.toggle-indicator{color:#64748b;font-size:1.25rem}.service-toggle.active .toggle-indicator{color:#22c55e}.chart-panel{grid-column:1/-1}.incidents-list{display:flex;flex-direction:column;gap:.75rem}.incident-item{background:#0f172a;border-radius:.5rem;display:flex;gap:1rem;padding:1rem}.severity-badge{border-radius:.25rem;font-size:.75rem;font-weight:600;height:-webkit-fit-content;height:fit-content;padding:.25rem .75rem}.severity-badge.critical{background:#ef4444;color:#fff}.severity-badge.high{background:#f59e0b;color:#fff}.severity-badge.medium{background:#eab308;color:#fff}.incident-info{flex:1 1}.incident-type{color:#f1f5f9;font-weight:600;margin-bottom:.25rem}.incident-desc{color:#94a3b8;font-size:.875rem;margin-bottom:.5rem}.incident-rpn{color:#64748b;font-size:.75rem}.loading-container{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:400px}.spinner{animation:spin 1s linear infinite;border:4px solid #334155;border-radius:50%;border-top-color:#3b82f6;height:50px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.empty-state{padding:4rem 2rem;text-align:center}.empty-state h2{color:#cbd5e1;margin-bottom:1rem}.empty-state p{color:#64748b;margin-bottom:2rem}.no-data{padding:2rem}.no-data,.placeholder{color:#64748b;text-align:center}.placeholder{background:#1e293b;border:1px solid #334155;border-radius:.75rem;font-size:1.25rem;padding:4rem 2rem}.error-container{color:#ef4444;font-size:1.25rem;min-height:400px}.error-container,.test-running{align-items:center;display:flex;justify-content:center}.test-running{flex-direction:column;gap:1rem;padding:4rem 2rem}.test-progress{animation:pulse 2s infinite;color:#64748b;font-size:.875rem}.test-success-banner{align-items:center;background:#22c55e1a;border:1px solid #22c55e;border-radius:.5rem;color:#22c55e;display:flex;font-weight:600;justify-content:space-between;margin-bottom:2rem;padding:1rem 1.5rem}.test-duration{color:#94a3b8;font-size:.875rem}.test-hint{color:#64748b;font-size:.875rem;margin-top:.5rem}.guardian-status{border-left:4px solid #22c55e}.guardian-active{display:flex;flex-direction:column;gap:1rem}.status-indicator{align-items:center;border-radius:.5rem;display:inline-flex;font-weight:600;gap:.5rem;padding:.5rem 1rem;width:-webkit-fit-content;width:fit-content}.status-indicator.active{background:#22c55e1a;color:#22c55e}.guardian-p95{background:#0f172a;border-radius:.5rem;margin-top:1rem;padding:1rem}.guardian-p95 h3{color:#cbd5e1;font-size:1rem;margin-bottom:.75rem}.metric-row{border-bottom:1px solid #334155;display:flex;justify-content:space-between;padding:.5rem 0}.metric-row:last-child{border-bottom:none}.metric-row span.good{color:#22c55e;font-weight:600}.metric-row span.bad{color:#ef4444;font-weight:600}.guardian-inactive{color:#64748b;padding:2rem;text-align:center}.guardian-actions{border-top:1px solid #334155;display:flex;gap:1rem;margin-top:1rem;padding-top:1rem}.guardian-actions button{flex:1 1}
/*# sourceMappingURL=main.c1873e07.css.map*/