@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--apex-green-900:#091613;--apex-green-850:#111e1b;--apex-green-750:#15221f;--apex-green-700:#0e3e32;--apex-green-600:#414846;--apex-green-500:#a1d1bf;--apex-green-400:#00ff9f;--apex-green-300:#55ffbe;--apex-green-200:#a1d1bf;--apex-green-100:#c1c8c4;--apex-green-50:#e6f7ef;--apex-yellow-500:#f5c518;--apex-yellow-400:#f7d44a;--apex-yellow-300:#fade7a;--apex-yellow-200:#fce9a8;--apex-yellow-100:#fef4d4;--gray-950:#091613;--gray-900:#15221f;--gray-850:#111e1b;--gray-800:#111e1b;--gray-700:#0e3e32;--gray-600:#414846;--gray-500:#8c9591;--gray-400:#a1d1bf;--gray-300:#c1c8c4;--gray-200:#d1d4db;--gray-100:#ecedf0;--gray-50:#f7f8fa;--severity-normal:#22c55e;--severity-monitor:#f59e0b;--severity-abnormal:#f97316;--severity-critical:#ef4444;--status-submitted:#6366f1;--status-pending:#f59e0b;--status-completed:#22c55e;--status-failed:#ef4444;--bg-primary:var(--gray-950);--bg-secondary:var(--gray-850);--bg-card:var(--gray-900);--bg-card-hover:var(--gray-700);--bg-input:var(--gray-950);--text-primary:var(--gray-300);--text-secondary:var(--gray-400);--text-muted:var(--gray-500);--border-color:var(--gray-600);--border-subtle:#243531;--accent:var(--apex-green-400);--accent-hover:var(--apex-green-300);--accent-bg:#00ff9f14;--highlight:var(--apex-yellow-500);--highlight-bg:#f5c5181a;--radius-sm:3px;--radius-md:3px;--radius-lg:3px;--radius-xl:3px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow:0 0 20px #00ff9f26;--transition:.2s cubic-bezier(.4, 0, .2, 1);--font-sans:"Inter", system-ui, -apple-system, sans-serif;font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.6}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);min-height:100vh;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--gray-600);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}.eq-stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px;display:grid}.eq-stat-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:border-color var(--transition), transform .15s ease;padding:20px}.eq-stat-card:hover{border-color:var(--accent);transform:translateY(-1px)}.eq-stat-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:700}.eq-stat-value{color:var(--text-primary);font-size:28px;font-weight:800;font-family:var(--font-mono)}.eq-table-container{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.eq-table{border-collapse:collapse;width:100%;font-size:13px}.eq-table thead{background:#00000026}.eq-table th{text-align:left;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);white-space:nowrap;padding:12px 16px;font-size:11px;font-weight:700}.eq-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);padding:14px 16px}.eq-table tbody tr{cursor:pointer;transition:background var(--transition)}.eq-table tbody tr:hover{background:#00ff9f08}.eq-table tbody tr:last-child td{border-bottom:none}.eq-table-empty{text-align:center;color:var(--text-muted);padding:48px 24px;font-size:13px}.eq-table-empty-icon{opacity:.3;margin-bottom:8px}.eq-toolbar{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.eq-search-box{flex:1;min-width:200px;position:relative}.eq-search-box .search-icon{color:var(--text-muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.eq-search-box input{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-size:13px;font-family:var(--font-sans);transition:border-color var(--transition);outline:none;padding:10px 12px 10px 34px}.eq-search-box input:focus{border-color:var(--accent)}.eq-filter-select{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;font-family:var(--font-sans);cursor:pointer;outline:none;padding:10px 12px}.eq-pagination{border-top:1px solid var(--border-subtle);color:var(--text-muted);justify-content:space-between;align-items:center;padding:14px 16px;font-size:12px;display:flex}.eq-load-more{background:var(--accent-bg);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;transition:all var(--transition);padding:6px 16px;font-size:12px;font-weight:600}.eq-load-more:hover:not(:disabled){background:var(--accent);color:var(--bg-primary)}.eq-load-more:disabled{opacity:.5;cursor:not-allowed}.eq-btn{border-radius:var(--radius-sm);font-size:13px;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:8px 16px;display:inline-flex}.eq-btn-primary{background:var(--accent);color:var(--bg-primary);border-color:var(--accent)}.eq-btn-primary:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.eq-btn-secondary{border-color:var(--border-subtle);color:var(--text-primary);background:0 0}.eq-btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.eq-btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000;padding:6px 10px}.eq-btn-ghost:hover:not(:disabled){color:var(--accent);background:#ffffff0d}.eq-btn-danger{color:#f87171;background:#ef44441a;border-color:#ef444440}.eq-btn-danger:hover:not(:disabled){background:#ef444433}.eq-btn-sm{padding:4px 10px;font-size:12px}.eq-btn:disabled{opacity:.5;cursor:not-allowed}.eq-badge{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-radius:100px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.eq-badge--active{color:var(--accent);background:#00ff9f1f}.eq-badge--inactive{color:var(--text-muted);background:#ffffff0f}.eq-badge--maintenance{color:#fde68a;background:#fbbf241f}.eq-badge--degraded{color:#fdba74;background:#fb923c1f}.eq-badge--decommissioned{color:#fca5a5;background:#ef44441f}.eq-badge--owned{color:#93c5fd;background:#60a5fa1f}.eq-badge--leased{color:#d8b4fe;background:#c084fc1f}.eq-badge--standard{color:#93c5fd;background:#60a5fa1a}.eq-badge--custom{color:#fde68a;background:#fbbf241a}.eq-badge--required{color:#fca5a5;background:#ef44441a}.eq-tabs{border-bottom:1px solid var(--border-subtle);gap:0;margin-bottom:20px;display:flex}.eq-tab{color:var(--text-muted);font-size:13px;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 20px}.eq-tab:hover{color:var(--text-primary)}.eq-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.eq-split-pane{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);grid-template-columns:260px 1fr;gap:0;min-height:500px;display:grid;overflow:hidden}.eq-split-left{border-right:1px solid var(--border-subtle);flex-direction:column;display:flex}.eq-split-left-header{border-bottom:1px solid var(--border-subtle);background:#0000001a;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.eq-split-left-header h3{text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin:0;font-size:12px;font-weight:700}.eq-split-left-body{flex:1;overflow-y:auto}.eq-split-right{padding:20px 24px;overflow-y:auto}.eq-tree-row{cursor:pointer;color:var(--text-secondary);transition:all var(--transition);border-left:2px solid #0000;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.eq-tree-row:hover{color:var(--text-primary);background:#00ff9f08}.eq-tree-row.selected{color:var(--accent);border-left-color:var(--accent);background:#00ff9f0f}.eq-tree-icon{opacity:.6;flex-shrink:0}.eq-form{flex-direction:column;gap:16px;display:flex}.eq-form-group{flex-direction:column;gap:6px;display:flex}.eq-form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700}.eq-form-label .required{color:#ef4444;margin-left:2px}.eq-form-input,.eq-form-select,.eq-form-textarea{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;font-family:var(--font-sans);transition:border-color var(--transition);outline:none;padding:10px 12px}.eq-form-input:focus,.eq-form-select:focus,.eq-form-textarea:focus{border-color:var(--accent)}.eq-form-input.error,.eq-form-select.error{border-color:#ef4444}.eq-form-textarea{resize:vertical;min-height:80px}.eq-form-row{flex-wrap:wrap;gap:16px;display:flex}.eq-form-row>*{flex:200px;min-width:0;max-width:100%}.eq-form-checkbox{cursor:pointer;color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:inline-flex}.eq-form-checkbox input[type=checkbox]{accent-color:var(--accent)}.eq-form-error{color:#ef4444;margin-top:2px;font-size:11px}.eq-schema-field{border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:border-color var(--transition), box-shadow var(--transition);background:#00000026;overflow:hidden}.eq-schema-field:hover{border-color:#ffffff14}.eq-schema-field-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition);align-items:center;gap:10px;padding:12px 14px;display:flex}.eq-schema-field-header:hover{background:#ffffff05}.eq-schema-field-body{border-top:1px solid var(--border-subtle);background:#00000014;flex-direction:column;gap:14px;padding:16px;display:flex}.eq-schema-field-body .eq-form-row{gap:12px}.eq-schema-field-body .eq-form-label{letter-spacing:.4px;font-size:11px}.eq-schema-field-body .eq-form-input,.eq-schema-field-body .eq-form-select{padding:8px 10px;font-size:12px}.eq-schema-field-header .eq-btn-ghost{opacity:0;justify-content:center;align-items:center;min-width:24px;height:24px;transition:opacity .15s;display:inline-flex}.eq-schema-field:hover .eq-schema-field-header .eq-btn-ghost,.eq-schema-field-header:focus-within .eq-btn-ghost{opacity:1}.eq-schema-field-header .eq-btn-ghost:disabled{opacity:.2!important}.eq-schema-field-body .eq-form-checkbox{cursor:pointer;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;align-items:center;gap:6px;padding-top:20px;font-size:12px;font-weight:600;display:inline-flex}.eq-schema-field-body label:has(input[type=checkbox]){cursor:pointer;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;align-items:center;gap:6px;padding-top:20px;font-size:12px;font-weight:600;display:inline-flex}.eq-section{margin-top:28px}.eq-section-title{color:var(--text-primary);margin:0 0 16px;font-size:14px;font-weight:700}.eq-section-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.eq-propset-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.eq-propset-card{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#0000001a;overflow:hidden}.eq-propset-header{border-bottom:1px solid var(--border-subtle);background:#0000001a;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.eq-propset-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700}.eq-propset-body{padding:14px}.eq-propset-field{border-bottom:1px solid #ffffff08;justify-content:space-between;padding:6px 0;display:flex}.eq-propset-field:last-child{border-bottom:none}.eq-propset-field-label{color:var(--text-muted);font-size:12px}.eq-propset-field-value{color:var(--text-primary);font-size:12px;font-weight:600}.eq-propset-missing{border-radius:var(--radius-sm);color:#fca5a5;text-align:center;background:#ef444408;border:1px dashed #ef444433;flex-direction:column;justify-content:center;align-items:center;padding:24px;font-size:12px;display:flex}.eq-wizard-steps{gap:0;margin-bottom:32px;padding:0;display:flex}.eq-wizard-step{border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition);background:#0000001a;flex:1;align-items:center;gap:10px;padding:14px 20px;display:flex}.eq-wizard-step:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.eq-wizard-step:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.eq-wizard-step+.eq-wizard-step{border-left:none}.eq-wizard-step.active{background:var(--accent-bg);border-color:var(--accent)}.eq-wizard-step.completed{background:#00ff9f0d}.eq-wizard-number{width:28px;height:28px;color:var(--text-muted);background:#ffffff0d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.eq-wizard-step.active .eq-wizard-number{background:var(--accent);color:var(--bg-primary)}.eq-wizard-step.completed .eq-wizard-number{color:var(--accent);background:#00ff9f33}.eq-wizard-label{color:var(--text-muted);font-size:13px;font-weight:600}.eq-wizard-step.active .eq-wizard-label{color:var(--accent)}.eq-wizard-body{min-height:300px}.eq-wizard-footer{border-top:1px solid var(--border-subtle);justify-content:space-between;margin-top:24px;padding-top:20px;display:flex}.eq-review-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.eq-review-item{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:#0000001a;padding:12px 16px}.eq-review-label{text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:700}.eq-review-value{color:var(--text-primary);font-size:14px;font-weight:600}.eq-review-empty{color:var(--text-muted);text-align:center;font-size:12px;font-style:italic}.eq-detail-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.eq-detail-title{color:var(--text-primary);font-size:20px;font-weight:700}.eq-detail-subtitle{color:var(--text-secondary);margin-top:4px;font-size:13px}.eq-detail-meta{gap:12px;margin-top:8px;display:flex}.eq-detail-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.eq-detail-field{flex-direction:column;gap:4px;display:flex}.eq-detail-field-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);font-size:11px;font-weight:700}.eq-detail-field-value{color:var(--text-primary);font-size:14px;font-weight:500}.eq-timeline{border-left:2px solid var(--border-subtle);flex-direction:column;gap:0;padding-left:20px;display:flex}.eq-timeline-item{padding:16px 0 16px 24px;position:relative}.eq-timeline-item:before{content:"";background:var(--bg-card);border:2px solid var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:20px;left:-7px}.eq-timeline-item.historical:before{border-color:var(--text-muted)}.eq-timeline-date{color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:600}.eq-timeline-content{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:14px 16px}.eq-skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#ffffff08 25%,#ffffff0f 50%,#ffffff08 75%) 0 0/200% 100%;animation:1.5s ease-in-out infinite eq-shimmer}@keyframes eq-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.eq-skeleton-text{height:14px;margin-bottom:8px}.eq-skeleton-text:last-child{width:60%}.eq-inline-edit{align-items:center;gap:8px;display:flex}.eq-inline-edit input{background:var(--bg-input);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-family:var(--font-sans);outline:none;padding:4px 8px}.eq-panel-overlay{z-index:300;background:#00000080;animation:.2s eq-fade-in;position:fixed;inset:0}@keyframes eq-fade-in{0%{opacity:0}to{opacity:1}}.eq-panel{background:var(--bg-primary);border-left:1px solid var(--border-subtle);z-index:301;flex-direction:column;width:min(720px,80vw);animation:.25s eq-slide-in;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-4px 0 24px #0000004d}@keyframes eq-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.eq-panel-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-secondary);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.eq-panel-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.eq-panel-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition);background:0 0;border:none;align-items:center;padding:6px;display:flex}.eq-panel-close:hover{background:var(--accent-bg);color:var(--accent)}.eq-panel-body{flex:1;padding:24px;overflow:hidden auto}.eq-panel-footer{border-top:1px solid var(--border-subtle);background:var(--bg-secondary);flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:14px 24px;display:flex}.nav-section{margin-bottom:4px}.nav-section-toggle{cursor:pointer;width:100%;color:var(--text-secondary);font-size:14px;font-weight:600;font-family:var(--font-sans);transition:all var(--transition);background:0 0;border:none;align-items:center;gap:8px;padding:10px 16px 10px 20px;display:flex}.nav-section-toggle:hover{color:var(--text-primary);background:#ffffff08}.nav-section-toggle.active{color:var(--accent)}.nav-section-toggle .nav-icon{flex-shrink:0;width:20px;height:20px}.nav-section-toggle .section-chevron{margin-left:auto;transition:transform .2s}.nav-section-toggle.expanded .section-chevron{transform:rotate(180deg)}.nav-section-children{transition:max-height .25s;overflow:hidden}.nav-section-children .nav-link{padding-left:52px}@media (width<=768px){.eq-split-pane,.eq-form-row,.eq-detail-grid{grid-template-columns:1fr}.eq-wizard-label{display:none}.eq-panel{width:100vw}}.eq-drawer-overlay{opacity:0;pointer-events:none;z-index:1000;background:#00000080;transition:opacity .2s;position:fixed;inset:0}.eq-drawer-overlay.open{opacity:1;pointer-events:auto}.eq-drawer{background:var(--bg-primary);border-left:1px solid var(--border-subtle);z-index:1001;flex-direction:column;width:min(450px,90vw);transition:right .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;bottom:0;right:-100%;box-shadow:-4px 0 24px #0003}.eq-drawer.open{right:0}.eq-drawer-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-card);justify-content:space-between;align-items:center;padding:16px;display:flex}.eq-drawer-body{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex;overflow-y:auto}.eq-timeline-filter{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;flex-direction:column;gap:8px;padding:12px;display:flex}.eq-filter-title{color:var(--text-secondary);font-size:12px;font-weight:600}.eq-filter-inputs{align-items:center;gap:8px;display:flex}.eq-filter-separator{color:var(--text-muted)}.date-picker-wrapper{width:100%}.date-picker-wrapper input{background:var(--bg-input);width:100%;color:var(--text-primary)}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{content:"";border:3px solid #ccc;border-width:3px 3px 0 0;width:9px;height:9px;display:block;position:absolute;top:6px}.react-datepicker-wrapper{border:0;padding:0;display:inline-block}.react-datepicker{color:#000;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:initial;background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{margin:0 15px;display:inline-block}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{color:#000;margin-top:0;font-size:.944rem;font-weight:700}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{text-align:center;cursor:pointer;z-index:1;text-indent:-999em;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex;position:absolute;top:2px;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{margin-left:auto;margin-right:auto;display:block;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{width:0;font-size:20px;position:relative;top:-1px}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{text-align:center;margin:.4rem}.react-datepicker__year-wrapper{flex-wrap:wrap;max-width:180px;display:flex}.react-datepicker__year .react-datepicker__year-text{width:4rem;margin:2px;display:inline-block}.react-datepicker__month{text-align:center;margin:.4rem}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{width:4rem;margin:2px;display:inline-block}.react-datepicker__input-time-container{clear:both;float:left;text-align:left;width:100%;margin:5px 0 10px 15px}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{margin-left:10px;display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.3rem;display:inline;position:absolute;top:0;right:-87px}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.3rem;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{text-align:center;border-bottom-right-radius:.3rem;width:85px;margin:0 auto;overflow-x:hidden}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:content-box;width:100%;height:calc(195px + .85rem);margin:0;padding-left:0;padding-right:0;list-style:none;overflow-y:scroll}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{white-space:nowrap;height:30px;padding:5px 10px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{color:#fff;background-color:#216ba5;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:#0000}.react-datepicker__week-number{color:#ccc;text-align:center;width:1.7rem;margin:.166rem;line-height:1.7rem;display:inline-block}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{color:#fff;background-color:#216ba5;border-radius:.3rem}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;text-align:center;width:1.7rem;margin:.166rem;line-height:1.7rem;display:inline-block}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{color:#fff;background-color:#3dcc4a;border-radius:.3rem}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{color:#fff;background-color:#ff6803;border-radius:.3rem;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{color:#fff;white-space:nowrap;visibility:hidden;opacity:0;background-color:#333;border-radius:4px;padding:4px;transition:visibility,opacity .3s ease-in-out;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{color:#fff;background-color:#216ba5;border-radius:.3rem}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{color:#000;background-color:#bad9f1;border-radius:.3rem}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){color:#000;background-color:#f0f0f0}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{color:#fff;white-space:nowrap;visibility:hidden;opacity:0;background-color:#333;border-radius:4px;padding:4px;transition:visibility,opacity .3s ease-in-out;position:absolute;bottom:70%;left:50%;transform:translate(-50%)}.react-datepicker__input-container{width:100%;display:inline-block;position:relative}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:content-box;padding:.5rem;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{top:0;right:-16px;transform:rotate(135deg)}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{z-index:1;text-align:center;background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;width:50%;position:absolute;top:30px;left:25%}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{width:100%;margin-left:auto;margin-right:auto;line-height:20px;display:block}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;user-select:none;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;vertical-align:middle;background-color:#0000;border:0;outline:0;height:100%;padding:0 6px 0 0;display:table-cell;position:absolute;top:0;right:0}.react-datepicker__close-icon:after{cursor:pointer;color:#fff;text-align:center;vertical-align:middle;content:"×";background-color:#216ba5;border-radius:50%;width:16px;height:16px;padding:2px;font-size:12px;line-height:1;display:table-cell}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{cursor:pointer;text-align:center;clear:left;background:#f0f0f0;border-top:1px solid #aeaeae;padding:5px 0;font-weight:700}.react-datepicker__portal{z-index:2147483647;background-color:#000c;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media (width<=400px),(height<=550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;height:auto;margin:.4rem;padding-left:.2rem;padding-right:.2rem}.react-datepicker__aria-live{clip-path:circle(0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.react-datepicker__calendar-icon{vertical-align:-.125em;width:1em;height:1em}.ssp-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#09161399;justify-content:flex-end;animation:.2s ease-out ssp-overlay-in;display:flex;position:fixed;inset:0}@keyframes ssp-overlay-in{0%{opacity:0}to{opacity:1}}.ssp-panel{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#111e1beb;border-left:1px solid #a1d1bf1f;flex-direction:column;width:440px;max-width:90vw;height:100vh;animation:.25s cubic-bezier(.4,0,.2,1) ssp-slide-in;display:flex;box-shadow:-8px 0 32px #0006}@keyframes ssp-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.ssp-header{border-bottom:1px solid #a1d1bf1a;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.ssp-header-left{align-items:center;gap:10px;display:flex}.ssp-header-icon{width:32px;height:32px;color:var(--accent);background:#00ff9f1a;border-radius:8px;justify-content:center;align-items:center;display:flex}.ssp-title{color:var(--text-primary);font-size:14px;font-weight:700;font-family:var(--font-sans);margin:0}.ssp-subtitle{color:var(--text-secondary);font-family:monospace;font-size:11px}.ssp-header-right{align-items:center;gap:6px;display:flex}.ssp-btn-icon{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #a1d1bf1a;border-radius:6px;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.ssp-btn-icon:hover{color:var(--accent);background:#00ff9f14;border-color:#00ff9f33}.ssp-sync-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:100px;align-items:center;gap:4px;padding:3px 8px;font-size:10px;font-weight:600;display:flex}.ssp-sync-ok{color:#34d399;background:#34d3991f;border:1px solid #34d39933}.ssp-sync-warn{color:#fbbf24;background:#fbbf241f;border:1px solid #fbbf2433;animation:2s ease-in-out infinite ssp-pulse}@keyframes ssp-pulse{0%,to{opacity:1}50%{opacity:.7}}.ssp-sync-offline{color:#f87171;background:#f871711f;border:1px solid #f8717133}.ssp-body{flex:1;padding:20px;overflow-y:auto}.ssp-loading{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 0;font-size:13px;display:flex}.ssp-empty{color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:60px 0;display:flex}.ssp-empty p{margin:0;font-size:13px}.ssp-empty-hint{color:var(--text-disabled);font-size:11px}.ssp-section{margin-bottom:24px}.ssp-section-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:11px;font-weight:700}.ssp-section-hint{color:var(--text-disabled);margin:0 0 10px;font-size:11px;line-height:1.5}.ssp-gateway-info{background:#09161399;border:1px solid #a1d1bf1a;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.ssp-gateway-name{color:var(--text-primary);font-family:monospace;font-size:13px;font-weight:600}.ssp-gateway-status{text-transform:uppercase;letter-spacing:.05em;border-radius:100px;padding:2px 8px;font-size:10px;font-weight:600}.ssp-status-healthy{color:#34d399;background:#34d3991f}.ssp-status-degraded{color:#fbbf24;background:#fbbf241f}.ssp-status-unhealthy,.ssp-status-unreachable,.ssp-status-not_configured,.ssp-status-unknown{color:#f87171;background:#f871711f}.ssp-threshold-grid{flex-direction:column;gap:12px;display:flex}.ssp-field{background:#09161380;border:1px solid #a1d1bf14;border-radius:8px;padding:10px 12px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.ssp-field:hover{border-color:#a1d1bf26}.ssp-field-changed{background:#00ff9f08;border-color:#00ff9f40}.ssp-field-label{color:var(--text-secondary);margin-bottom:6px;font-size:11px;font-weight:600;display:block}.ssp-field-input-group{align-items:center;gap:8px;display:flex}.ssp-field-input{color:var(--text-primary);background:#111e1bcc;border:1px solid #a1d1bf26;border-radius:6px;outline:none;flex:1;padding:6px 10px;font-family:monospace;font-size:13px;transition:border-color .2s}.ssp-field-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #00ff9f1a}.ssp-field-current{color:var(--text-disabled);white-space:nowrap;font-size:10px}.ssp-select{width:100%;color:var(--text-primary);cursor:pointer;background:#111e1bcc;border:1px solid #a1d1bf26;border-radius:6px;outline:none;padding:8px 10px;font-size:12px;transition:border-color .2s}.ssp-select:focus{border-color:var(--accent)}.ssp-select option{background:var(--bg-primary);color:var(--text-primary)}.ssp-message{border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:12px;display:flex}.ssp-message-error{color:#f87171;background:#f871711a;border:1px solid #f8717133}.ssp-message-success{color:#34d399;background:#34d3991a;border:1px solid #34d39933}.ssp-btn{cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-sans);border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.ssp-btn:disabled{opacity:.5;cursor:not-allowed}.ssp-btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:var(--bg-primary);font-weight:700}.ssp-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 16px #00ff9f33}.ssp-btn-secondary{color:var(--accent);background:#00ff9f14;border:1px solid #00ff9f33}.ssp-btn-secondary:hover:not(:disabled){background:#00ff9f24}.ssp-btn-ghost{color:var(--text-secondary);background:0 0;border:1px solid #a1d1bf26}.ssp-btn-ghost:hover:not(:disabled){color:var(--text-primary);border-color:#a1d1bf4d}.ssp-footer{border-top:1px solid #a1d1bf1a;flex-shrink:0;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}@media (width<=480px){.ssp-panel{width:100vw}}.gw-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.gw-page-title{color:var(--text-primary);align-items:center;gap:10px;font-size:20px;font-weight:600;display:flex}.gw-page-title svg{color:var(--accent)}.gw-page-meta{color:var(--text-muted);align-items:center;gap:12px;font-size:13px;display:flex}.gw-refresh-btn{font-size:13px;font-weight:500;font-family:var(--font-sans);color:var(--accent);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);background:#00ff9f0f;border:1px solid #00ff9f2e;align-items:center;gap:6px;padding:7px 14px;display:inline-flex}.gw-refresh-btn:hover{background:#00ff9f1f;border-color:#00ff9f4d}.gw-refresh-btn:disabled{opacity:.4;cursor:not-allowed}.gw-refresh-btn svg{width:14px;height:14px}@keyframes gw-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gw-refresh-btn.is-loading svg{animation:1s linear infinite gw-spin}.gw-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px;display:grid}.gw-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition);padding:20px;position:relative;overflow:hidden}.gw-card:before{content:"";background:var(--border-subtle);height:2px;transition:all var(--transition);position:absolute;top:0;left:0;right:0}.gw-card:hover{border-color:var(--border-color);box-shadow:var(--shadow-md)}.gw-card:hover:before{background:var(--accent);box-shadow:0 0 12px #00ff9f33}.gw-card[data-status=healthy]:before{background:#22c55e}.gw-card[data-status=degraded]:before{background:#f59e0b}.gw-card[data-status=unhealthy]:before,.gw-card[data-status=unreachable]:before{background:#ef4444}.gw-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.gw-card-identity{flex:1;min-width:0}.gw-card-name{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:3px;font-size:15px;font-weight:600;display:flex}.gw-card-ip{color:var(--text-muted);font-family:SF Mono,Fira Code,monospace;font-size:12px}.gw-card-actions{flex-shrink:0;gap:4px;display:flex}.gw-card-action-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:all var(--transition);font-family:var(--font-sans);background:0 0;justify-content:center;align-items:center;display:flex}.gw-card-action-btn:hover{color:var(--accent);background:#00ff9f0a;border-color:#00ff9f33}.gw-card-action-btn.gw-card-action-primary{color:var(--accent);border-color:#00ff9f26}.gw-card-action-btn.gw-card-action-primary:hover{background:#00ff9f14;border-color:#00ff9f4d}.gw-card-action-btn:disabled{opacity:.3;cursor:not-allowed}.gw-card-action-btn.is-loading svg{animation:1s linear infinite gw-spin}.gw-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:flex-start;padding-top:60px;animation:.15s ease-out gw-fade-in;display:flex;position:fixed;inset:0}@keyframes gw-fade-in{0%{opacity:0}to{opacity:1}}.gw-modal-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);width:100%;max-width:720px;max-height:calc(100vh - 120px);animation:.2s ease-out gw-slide-up;overflow-y:auto}@keyframes gw-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.gw-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;position:relative}.gw-status-dot:after{content:"";opacity:0;border-radius:50%;position:absolute;inset:-3px}.gw-status-dot.healthy{background:#22c55e;box-shadow:0 0 6px #22c55e66}.gw-status-dot.healthy:after{background:#22c55e4d;animation:2s ease-in-out infinite gw-pulse}.gw-status-dot.degraded{background:#f59e0b;box-shadow:0 0 6px #f59e0b66}.gw-status-dot.unhealthy,.gw-status-dot.unreachable{background:#ef4444}.gw-status-dot.unreachable{background:var(--gray-500)}@keyframes gw-pulse{0%,to{opacity:0;transform:scale(1)}50%{opacity:1;transform:scale(1.6)}}.gw-stats-row{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.gw-stat{flex-direction:column;gap:2px;display:flex}.gw-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.gw-stat-value{color:var(--text-primary);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.gw-sensor-counts{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.gw-sensor-chip{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);background:#ffffff08;align-items:center;gap:4px;padding:3px 8px;font-family:SF Mono,Fira Code,Inter,monospace;font-size:11px;font-weight:500;display:inline-flex}.gw-sensor-chip .count{color:var(--text-primary);font-weight:600}.gw-sensor-chip.has-sensors{background:#00ff9f08;border-color:#00ff9f26}.gw-badges{flex-wrap:wrap;gap:6px;display:flex}.gw-badge{border-radius:var(--radius-sm);border:1px solid;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}.gw-badge.mqtt-connected{color:#22c55e;background:#22c55e0f;border-color:#22c55e33}.gw-badge.mqtt-disconnected{color:#ef4444;background:#ef44440f;border-color:#ef444433}.gw-badge.reconcile-warning{color:#f59e0b;background:#f59e0b0f;border-color:#f59e0b33}.gw-badge.version,.gw-badge.control-ok{color:var(--text-muted);border-color:var(--border-subtle);background:#ffffff05}.gw-badge.issues{color:#ef4444;background:#ef44440f;border-color:#ef444433}.gw-error-banner{color:#f87171;border-radius:var(--radius-sm);word-break:break-all;background:#ef44440f;border:1px solid #ef44441f;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;font-size:12px;display:flex}.gw-error-banner svg{flex-shrink:0;width:14px;height:14px}@keyframes gw-shimmer{0%{background-position:-200px 0}to{background-position:400px 0}}.gw-skeleton{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:20px}.gw-skeleton-line{background:linear-gradient(90deg, var(--border-subtle) 0px, #ffffff0a 100px, var(--border-subtle) 200px);background-size:400px 100%;border-radius:3px;height:12px;margin-bottom:10px;animation:1.5s ease-in-out infinite gw-shimmer}.gw-skeleton-line:first-child{width:50%;height:16px}.gw-skeleton-line:nth-child(2){width:35%}.gw-skeleton-line:nth-child(3){width:100%;margin-top:16px}.gw-skeleton-line:nth-child(4){width:80%}.gw-skeleton-line:nth-child(5){width:60%}.gw-section-shimmer{flex-direction:column;gap:10px;padding:4px 0;display:flex}.gw-section-shimmer .gw-skeleton-line{border-radius:var(--radius-sm);width:100%;height:14px}.gw-section-shimmer .gw-skeleton-line:first-child{width:60%}.gw-section-shimmer .gw-skeleton-line:nth-child(2){width:80%}.gw-section-shimmer .gw-skeleton-line:nth-child(3){width:45%}.gw-section-shimmer .gw-skeleton-line:nth-child(4){width:70%}.gw-section-shimmer .gw-skeleton-line:nth-child(5){width:55%}.gw-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 24px;display:flex}.gw-empty-icon{color:var(--text-muted);opacity:.4;margin-bottom:16px}.gw-empty-title{color:var(--text-primary);margin-bottom:6px;font-size:16px;font-weight:600}.gw-empty-desc{color:var(--text-muted);max-width:360px;font-size:13px}.gw-location-groups{flex-direction:column;gap:28px;display:flex}.gw-location-group{flex-direction:column;gap:12px;display:flex}.gw-location-header{border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;margin-bottom:4px;padding:8px 0;display:flex}.gw-location-header svg{color:var(--accent);flex-shrink:0}.gw-location-name{color:var(--text-primary);font-size:14px;font-weight:600}.gw-location-code{color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff08;padding:1px 6px;font-family:SF Mono,Fira Code,monospace;font-size:12px;font-weight:500}.gw-location-count{color:var(--text-muted);margin-left:auto;font-size:12px}.gw-card-subtitle{color:var(--text-muted);align-items:center;gap:4px;font-family:SF Mono,Fira Code,monospace;font-size:12px;display:flex}.gw-card-sep{color:var(--border-color)}.gw-card-serial{color:var(--text-muted)}.gw-meta-row{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;gap:12px;margin-bottom:12px;padding-bottom:12px;display:flex}.gw-meta-item{color:var(--text-secondary);align-items:center;gap:5px;font-size:12px;display:inline-flex}.gw-meta-item svg{color:var(--text-muted)}.gw-detail-header{align-items:center;gap:12px;margin-bottom:24px;display:flex}.gw-detail-back{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-muted);cursor:pointer;transition:all var(--transition);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.gw-detail-back:hover{color:var(--accent);border-color:#00ff9f33}.gw-detail-title-area{flex:1;min-width:0}.gw-detail-title{color:var(--text-primary);align-items:center;gap:8px;font-size:18px;font-weight:600;display:flex}.gw-detail-subtitle{color:var(--text-muted);margin-top:2px;font-family:SF Mono,Fira Code,monospace;font-size:12px}.gw-detail-header-actions{flex-shrink:0;gap:8px;display:flex}.gw-detail-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:16px;padding:20px}.gw-detail-section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.gw-detail-section-title{color:var(--text-primary);align-items:center;gap:8px;margin:0 0 16px;font-size:14px;font-weight:600;display:flex}.gw-detail-section-header .gw-detail-section-title{margin-bottom:0}.gw-detail-sensor-total{color:var(--text-muted);margin-left:4px;font-size:12px;font-weight:400}.gw-detail-health-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:16px;display:grid}.gw-detail-badges-row{flex-wrap:wrap;gap:8px;display:flex}.gw-detail-badge{border-radius:var(--radius-sm);align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.gw-detail-badge.ok{color:#22c55e;background:#22c55e14;border:1px solid #22c55e26}.gw-detail-badge.warn{color:#f59e0b;background:#f59e0b14;border:1px solid #f59e0b26}.gw-detail-issues{flex-direction:column;gap:6px;margin-top:12px;display:flex}.gw-detail-issue{color:#f59e0b;border-radius:var(--radius-sm);background:#f59e0b0a;border:1px solid #f59e0b1a;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.gw-detail-sensor-table{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden}.gw-detail-sensor-row{color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);grid-template-columns:70px 80px 1fr 60px 140px 40px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:grid}.gw-detail-sensor-row:last-child{border-bottom:none}.gw-detail-sensor-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:#ffffff05;font-size:11px;font-weight:600}.gw-detail-sensor-id{font-family:SF Mono,Fira Code,monospace;font-size:12px}.gw-detail-sensor-name{color:var(--text-primary);font-weight:500}.gw-detail-sensor-group{text-align:center;font-family:SF Mono,Fira Code,monospace;font-size:12px}.gw-detail-sensor-mac{color:var(--text-muted);font-family:SF Mono,Fira Code,monospace;font-size:11px}.gw-detail-add-form{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff05;margin-bottom:16px;padding:14px}.gw-detail-add-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.gw-detail-add-row label{flex-direction:column;gap:4px;display:flex}.gw-detail-input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);height:34px;color:var(--text-primary);min-width:100px;transition:border-color var(--transition);padding:0 10px;font-family:inherit;font-size:13px}.gw-detail-input:focus{border-color:var(--accent);outline:none}.gw-detail-add-result{border-radius:var(--radius-sm);align-items:center;gap:6px;margin-top:10px;padding:6px 10px;font-size:12px;display:flex}.gw-detail-add-result.success{color:#22c55e;background:#22c55e0f}.gw-detail-add-result.error{color:#ef4444;background:#ef44440f}.gw-detail-json{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);background:#00000026;margin:0;padding:14px;font-family:SF Mono,Fira Code,monospace;font-size:12px;line-height:1.5;overflow-x:auto}.app-layout{min-height:100vh;display:flex}.top-menu-bar{z-index:200;background:#04100e;justify-content:space-between;align-items:center;height:58px;padding:0;display:flex;position:fixed;top:0;left:0;right:0}.top-menu-brand{background:#04100e;justify-content:center;align-items:center;width:240px;height:100%;padding-top:6px;display:flex}.top-menu-logo{cursor:pointer;width:auto;height:55px;transition:opacity var(--transition)}.top-menu-logo:hover{opacity:.85}.top-menu-divider{display:none}.top-app-nav{border-bottom:1px solid var(--border-subtle);z-index:199;background:#04100e;justify-content:center;align-items:center;gap:28px;height:38px;margin:0;padding:0 20px 10px;display:flex;position:fixed;top:58px;left:0;right:0}.top-app-nav-item{height:100%;color:var(--text-secondary);letter-spacing:-.03em;transition:color var(--transition);cursor:pointer;background:0 0;border:none;align-items:center;font-size:18px;font-weight:800;text-decoration:none;display:flex;position:relative}.top-app-nav-item:hover{color:var(--text-primary)}.top-app-nav-item.active{color:var(--text-primary)!important}.top-app-nav-item.active:after{content:"";background:var(--accent);border-radius:3px;height:2px;position:absolute;bottom:-6px;left:0;right:0;box-shadow:0 0 10px #00ff9f66}.top-menu-right-section{align-items:center;gap:16px;height:100%;margin-left:auto;padding-right:24px;display:flex}.top-menu-search-container{height:32px;color:var(--text-secondary);transition:border-color var(--transition), box-shadow var(--transition);background:#091613d1;border:1px solid #a1d1bf26;border-radius:3px;align-items:center;gap:10px;padding:0 10px;display:flex;position:relative}.top-menu-search-container:focus-within{border-color:#88d1e773;box-shadow:0 0 20px #00ff9f26}.top-menu-search-icon{color:var(--text-secondary);pointer-events:none;flex-shrink:0}.top-menu-search-input{width:130px;min-width:0;height:100%;font-family:var(--font-sans);color:var(--text-primary);background:0 0;border:0;outline:0;flex:1;padding:0;font-size:13px}.top-menu-search-input::placeholder{color:var(--text-muted)}.top-menu-search-mode{color:#88d1e7;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:#111e1bd9;border:1px solid #00ff9f33;border-radius:3px;align-items:center;gap:1px;height:22px;padding:0 7px;font-size:10px;font-weight:900;display:flex;box-shadow:0 0 8px #00ff9f1f,0 0 20px #00ff9f0f}.kai-ai-brand{letter-spacing:.02em;vertical-align:baseline;background:linear-gradient(90deg,#ff6ec7,#ff9a44,#ffdc40,#44ff9a,#44d1ff,#a78bfa,#ff6ec7) 0 0/200% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-left:-.1em;font-size:1.33em;font-weight:900;animation:12s linear infinite ai-rainbow-shift}.kai-chat .kai-ai-brand{animation-duration:4s}@keyframes ai-rainbow-shift{0%{background-position:0%}to{background-position:200%}}.kai-search-shell{z-index:300;position:relative}.kai-backdrop{z-index:298;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#04100e66;animation:.15s ease-out kaiFadeIn;position:fixed;inset:0}@keyframes kaiFadeIn{0%{opacity:0}to{opacity:1}}.kai-chat{z-index:300;transform-origin:100% 0;background:#111e1bf5;border:1px solid #a1d1bf26;border-radius:12px;flex-direction:column;width:420px;max-height:min(560px,100vh - 110px);animation:.2s cubic-bezier(.16,1,.3,1) kaiChatIn;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 16px 48px #04100e8c,0 0 0 1px #00ff9f0f}@keyframes kaiChatIn{0%{opacity:0;transform:scale(.92)translateY(-8px)}to{opacity:1;transform:scale(1)translateY(0)}}.kai-chat-header{background:#09161399;border-bottom:1px solid #a1d1bf1a;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.kai-chat-brand{flex-direction:column;gap:2px;display:flex}.kai-chat-title{color:var(--text-primary);letter-spacing:-.02em;text-transform:uppercase;align-items:center;font-size:18px;font-weight:900;display:inline-flex}.kai-chat-subtitle{color:var(--text-secondary);letter-spacing:.04em;font-size:11px}.kai-popover-close{width:30px;height:30px;color:var(--text-secondary);cursor:pointer;transition:color var(--transition), background var(--transition);background:#091613db;border:1px solid #a1d1bf26;border-radius:6px;flex-shrink:0;place-items:center;display:grid}.kai-popover-close:hover{color:var(--text-primary);background:#091613}.kai-chat-body{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.kai-chat-welcome{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:14px 8px 6px;display:flex}.kai-chat-welcome-text{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.kai-chat-welcome-text strong{color:var(--text-primary)}.kai-suggestions{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.kai-suggestion{color:var(--text-secondary);cursor:pointer;transition:all var(--transition);background:#091613b3;border:1px solid #a1d1bf1f;border-radius:16px;padding:6px 10px;font-size:11px;font-weight:600}.kai-suggestion:hover{color:var(--text-primary);background:#00ff9f14;border-color:#00ff9f33}.kai-msg{max-width:85%;animation:.15s ease-out kaiFadeIn;display:flex}.kai-msg-user{align-self:flex-end}.kai-msg-kai{align-self:flex-start}.kai-msg-bubble{word-break:break-word;border-radius:14px;padding:10px 14px;font-size:13px;line-height:1.5}.kai-msg-user .kai-msg-bubble{color:var(--text-primary);background:#00ff9f26;border-bottom-right-radius:4px}.kai-msg-kai .kai-msg-bubble{color:var(--text-secondary);background:#24353180;border-bottom-left-radius:4px}.kai-markdown{overflow-x:auto}.kai-markdown p{margin:0 0 8px}.kai-markdown p:last-child{margin-bottom:0}.kai-markdown h1,.kai-markdown h2,.kai-markdown h3,.kai-markdown h4{color:var(--text-primary);margin:12px 0 6px;font-weight:600}.kai-markdown h1{font-size:16px}.kai-markdown h2{font-size:15px}.kai-markdown h3{font-size:14px}.kai-markdown strong{color:var(--text-primary);font-weight:600}.kai-markdown ul,.kai-markdown ol{margin:6px 0;padding-left:20px}.kai-markdown li{margin:3px 0}.kai-markdown code{background:#0000004d;border-radius:4px;padding:1px 5px;font-family:SF Mono,Fira Code,monospace;font-size:12px}.kai-markdown pre{background:#00000059;border-radius:8px;margin:8px 0;padding:10px 12px;overflow-x:auto}.kai-markdown pre code{background:0 0;padding:0;font-size:12px}.kai-markdown table{border-collapse:collapse;width:100%;margin:8px 0;font-size:12px}.kai-markdown th,.kai-markdown td{text-align:left;border:1px solid #ffffff1a;padding:5px 8px}.kai-markdown th{color:var(--text-primary);background:#0003;font-weight:600}.kai-markdown blockquote{border-left:3px solid var(--accent);color:var(--text-muted);margin:8px 0;padding:4px 12px}.kai-markdown hr{border:none;border-top:1px solid #ffffff14;margin:10px 0}.kai-markdown a{color:var(--accent);text-decoration:underline}.kai-chat-input-bar{background:#09161399;border-top:1px solid #a1d1bf1a;align-items:flex-end;gap:8px;padding:10px 14px;transition:border-color .2s;display:flex}.kai-chat-input-bar.is-listening{border-top-color:#00ff9f40;align-items:center}.kai-waveform{flex:1;align-items:center;gap:12px;padding:6px 0;display:flex}.kai-waveform-bars{align-items:center;gap:3px;height:28px;display:flex}.kai-waveform-bars span{background:linear-gradient(#00ff9f,#44d1ff);border-radius:3px;width:3px;animation:.8s ease-in-out infinite alternate kaiBar}.kai-waveform-bars span:first-child{height:8px;animation-duration:.6s;animation-delay:0s}.kai-waveform-bars span:nth-child(2){height:16px;animation-duration:.75s;animation-delay:.1s}.kai-waveform-bars span:nth-child(3){height:22px;animation-duration:.5s;animation-delay:.15s}.kai-waveform-bars span:nth-child(4){height:14px;animation-duration:.7s;animation-delay:50ms}.kai-waveform-bars span:nth-child(5){height:10px;animation-duration:.65s;animation-delay:.2s}@keyframes kaiBar{0%{opacity:.5;transform:scaleY(.4)}to{opacity:1;transform:scaleY(1)}}.kai-waveform-text{flex:1;min-width:0;overflow:hidden}.kai-waveform-label{color:#00ff9fb3;letter-spacing:.04em;font-size:12px;font-weight:600;animation:.3s ease-out kaiFadeIn}.kai-waveform-transcript{color:var(--text-primary);opacity:.85;font-size:13px;font-style:italic;line-height:1.4;display:block}.kai-chat-input{min-width:0;min-height:36px;max-height:100px;color:var(--text-primary);font-family:var(--font-sans);resize:none;background:0 0;border:0;outline:0;flex:1;padding:8px 0;font-size:14px;line-height:1.4}.kai-chat-input::placeholder{color:var(--text-muted)}.kai-voice-btn,.kai-send-btn{cursor:pointer;height:34px;transition:background var(--transition), color var(--transition);border:0;border-radius:6px;place-items:center;display:grid}.kai-voice-btn{color:#88d1e7;background:#111e1bd9;border:1px solid #a1d1bf26;width:36px}.kai-voice-btn:hover{color:#a8e4f5;background:#111e1b}.kai-voice-btn.listening{color:#ef4444;background:#ef44441a;border-color:#ef444466;animation:1.2s ease-in-out infinite kaiPulse}@keyframes kaiPulse{0%,to{box-shadow:0 0 #ef44444d}50%{box-shadow:0 0 0 6px #ef444400}}.kai-send-btn{background:linear-gradient(135deg, var(--accent), #55ffbe);color:#091613;padding:0 14px;font-weight:800}.kai-send-btn:hover{filter:brightness(1.1)}@media (width<=560px){.kai-chat{border-radius:8px;width:auto;max-height:calc(100vh - 100px);position:fixed;top:100px;left:8px;right:8px}}.top-menu-utility-icons{align-items:center;gap:14px;display:flex}.utility-btn{color:var(--text-secondary);cursor:pointer;transition:color var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.utility-btn:hover{color:#fff}.top-menu-divider-pipe{background:var(--border-subtle);opacity:.5;width:1px;height:20px}.top-menu-profile{cursor:pointer;transition:background var(--transition);color:var(--text-primary);border-radius:3px;align-items:center;gap:10px;padding:5px 8px;display:flex;position:relative}.top-menu-profile:hover{background:#ffffff08}.profile-avatar-box{color:#fff;background:#8b24b5;border-radius:3px;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:14px;font-weight:900;display:grid}.profile-avatar-box img{object-fit:cover;border-radius:3px;width:100%;height:100%}.profile-avatar-placeholder-icon{color:#fff}.profile-info{text-align:left;flex-direction:column;line-height:1.25;display:flex}.profile-name{color:var(--text-primary);white-space:nowrap;font-size:13px;font-weight:700}.profile-site{color:var(--text-secondary);letter-spacing:.05em;white-space:nowrap;text-transform:uppercase;margin-top:4px;font-size:11px;font-weight:600}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-subtle);z-index:100;width:260px;transition:transform var(--transition);flex-direction:column;flex-shrink:0;display:flex;position:fixed;top:96px;bottom:0;left:0}.sidebar-brand{border-bottom:1px solid var(--border-subtle);align-items:center;padding:20px;display:flex}.sidebar-logo{width:auto;height:32px}.login-logo{width:auto;height:85px;margin-bottom:8px}.sidebar-nav{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;gap:4px;padding:16px 12px;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-section-title{text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);padding:16px 12px 8px;font-size:10px;font-weight:600}.nav-link{border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition);cursor:pointer;text-align:left;background:0 0;border:none;border-right:3px solid #0000;align-items:center;gap:12px;width:100%;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.nav-link:hover{background:var(--bg-card);color:var(--text-primary)}.nav-link.active{color:#88d1e7!important;background:#15221f!important;border-right:3px solid #88d1e7!important}.nav-link.active .nav-icon{color:#88d1e7!important}.nav-icon{flex-shrink:0;width:20px;height:20px}.main-content{flex-direction:column;flex:1;min-height:calc(100vh - 96px);margin-top:96px;margin-left:260px;display:flex}.top-bar{border-bottom:1px solid var(--border-subtle);background:var(--bg-primary);z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;height:64px;padding:0 32px;display:flex;position:sticky;top:96px}.top-bar h2{color:var(--text-primary);letter-spacing:-.3px;font-size:18px;font-weight:600}.top-bar-actions{align-items:center;gap:16px;display:flex}.top-bar-divider{background:var(--border-color);opacity:.5;width:1px;height:20px}.header-user-info{align-items:center;gap:12px;display:flex}.header-user-info .user-details{flex-direction:column;line-height:1.3;display:flex}.header-user-info .user-name{color:var(--text-primary);font-size:13px;font-weight:600}.header-user-info .user-email{color:var(--text-muted);font-size:11px}.header-logout-btn{border-radius:var(--radius-sm);color:#f87171!important;cursor:pointer!important;transition:all var(--transition)!important;background:#ef444414!important;border:none!important;align-items:center!important;gap:6px!important;padding:6px 12px!important;font-size:12px!important;font-weight:500!important;display:inline-flex!important}.header-logout-btn:hover{color:#fca5a5!important;background:#ef444426!important}.page-content{flex:1;padding:32px}.btn{border-radius:var(--radius-sm);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition);white-space:nowrap;border:none;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:var(--apex-green-900);font-weight:700;box-shadow:0 2px 8px #00ff9f33}.btn-primary:hover{background:linear-gradient(135deg, var(--accent-hover), #80ffd2);transform:translateY(-1px);box-shadow:0 4px 16px #00ff9f59}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--gray-600)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-card);color:var(--text-primary)}.btn-sm{padding:6px 14px;font-size:13px}.btn-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition);padding:24px}.card:hover{border-color:var(--border-color);box-shadow:var(--shadow-sm)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:32px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition);align-items:flex-start;gap:16px;padding:20px 24px;display:flex}.stat-card:hover{border-color:var(--border-color);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-icon.green{color:var(--apex-green-300);background:#22845e26}.stat-icon.yellow{color:var(--apex-yellow-500);background:#f5c51826}.stat-icon.blue{color:#818cf8;background:#6366f126}.stat-icon.red{color:#f87171;background:#ef444426}.stat-info h3{color:var(--text-primary);letter-spacing:-.5px;margin-bottom:4px;font-size:28px;font-weight:700;line-height:1}.stat-info p{color:var(--text-secondary);font-size:13px;font-weight:500}.table-container{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.table-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.table-header h3{color:var(--text-primary);font-size:16px;font-weight:600}.table-filters{gap:8px;display:flex}table{border-collapse:collapse;width:100%}thead th{text-align:left;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);background:#00000026;padding:12px 24px;font-size:12px;font-weight:600}tbody td{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);padding:14px 24px;font-size:14px}tbody tr{transition:background var(--transition);cursor:pointer}tbody tr:hover{background:#ffffff05}tbody tr:last-child td{border-bottom:none}.badge{letter-spacing:.2px;border-radius:100px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-submitted{color:#a5b4fc;background:#6366f11f}.badge-pending{color:#fcd34d;background:#f59e0b1f}.badge-completed{color:#86efac;background:#22c55e1f}.badge-received{color:#7dd3fc;background:#38bdf81f}.badge-failed{color:#fca5a5;background:#ef44441f}.badge-dot{border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse}.badge-submitted .badge-dot{background:var(--status-submitted)}.badge-pending .badge-dot{background:var(--status-pending)}.badge-completed .badge-dot{background:var(--status-completed)}.badge-received .badge-dot{background:#38bdf8}.badge-failed .badge-dot{background:var(--status-failed)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.severity{align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.severity-dot{border-radius:50%;width:10px;height:10px}.severity-0 .severity-dot{background:var(--severity-normal)}.severity-1 .severity-dot{background:var(--severity-monitor)}.severity-2 .severity-dot{background:var(--severity-abnormal)}.severity-3 .severity-dot{background:var(--severity-critical)}.severity-4 .severity-dot{background:#dc2626}.severity-0{color:var(--severity-normal)}.severity-1{color:var(--severity-monitor)}.severity-2{color:var(--severity-abnormal)}.severity-3{color:var(--severity-critical)}.severity-4{color:#dc2626}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-secondary);font-size:13px;font-weight:600}.form-input,.form-select{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);transition:all var(--transition);outline:none;padding:10px 14px;font-size:14px}.form-input:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.form-input::placeholder{color:var(--text-muted)}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:85vh;box-shadow:var(--shadow-lg);animation:.3s cubic-bezier(.16,1,.3,1) slideUp;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:24px 28px;display:flex}.modal-header h3{color:var(--text-primary);font-size:18px;font-weight:600}.modal-body{flex-direction:column;gap:20px;padding:28px;display:flex}.modal-footer{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:12px;padding:20px 28px;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:80px 32px;display:flex}.empty-state-icon{background:var(--accent-bg);border-radius:var(--radius-lg);width:64px;height:64px;color:var(--accent);justify-content:center;align-items:center;margin-bottom:20px;display:flex}.empty-state h3{color:var(--text-primary);margin-bottom:8px;font-size:18px}.empty-state p{color:var(--text-secondary);max-width:360px;margin-bottom:24px;font-size:14px}.detail-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px;display:grid}.detail-field label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.detail-field .value{color:var(--text-primary);font-size:15px;font-weight:500}.test-results-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.test-card{border-radius:var(--radius-md);border:1px solid var(--border-subtle);transition:all var(--transition);background:#00000026;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.test-card:hover{border-color:var(--border-color);background:#0003}.test-name{color:var(--text-secondary);font-size:13px}.test-mnemonic{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:600}.test-value{color:var(--text-primary);font-size:18px;font-weight:700}.test-unit{color:var(--text-muted);margin-left:4px;font-size:12px}.loading{color:var(--text-muted);justify-content:center;align-items:center;padding:60px;display:flex}.spinner{border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1024px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}.detail-grid,.form-row{grid-template-columns:1fr}}.login-page{background:linear-gradient(135deg, var(--apex-green-900) 0%, var(--apex-green-800) 50%, var(--apex-green-700) 100%);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";background:radial-gradient(at 30%,#00ff9f0f 0%,#0000 50%),radial-gradient(at 70% 60%,#a1d1bf0d 0%,#0000 40%);width:200%;height:200%;animation:20s ease-in-out infinite alternate gradientShift;position:absolute;top:-50%;left:-50%}@keyframes gradientShift{0%{transform:translate(0)rotate(0)}to{transform:translate(-3%,-3%)rotate(3deg)}}.login-card{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:var(--radius-xl);text-align:center;background:#111e1bd9;border:1px solid #a1d1bf26;width:100%;max-width:400px;padding:48px 40px;animation:.5s cubic-bezier(.16,1,.3,1) slideUp;position:relative;box-shadow:0 25px 50px -12px #00000080}.login-brand{justify-content:center;align-items:center;gap:14px;margin-bottom:32px;display:flex}.login-brand .brand-icon{background:linear-gradient(135deg, var(--apex-green-500), var(--apex-green-300));border-radius:var(--radius-md);color:#fff;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;font-weight:800;display:flex;box-shadow:0 4px 16px #22845e4d}.login-brand h1{color:var(--text-primary);letter-spacing:-.5px;font-size:24px;font-weight:700}.login-brand span{color:var(--text-secondary);font-size:12px;font-weight:500;display:block}.login-loading{color:var(--text-secondary);flex-direction:column;align-items:center;gap:16px;font-size:14px;display:flex}.spin{animation:1s linear infinite spin}.sidebar-footer{border-top:1px solid var(--border-subtle);flex-direction:column;gap:10px;padding:16px;display:flex}.user-info{align-items:center;gap:10px;padding:6px 4px;display:flex}.user-avatar{border:2px solid var(--border-subtle);border-radius:50%;flex-shrink:0;width:32px;height:32px}.user-details{flex-direction:column;min-width:0;display:flex}.user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.user-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.logout-btn{color:#f87171;border-radius:var(--radius-sm);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition);background:#ef444414;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:500;display:flex}.logout-btn:hover{color:#fca5a5;background:#ef444426}.login-form{text-align:left;flex-direction:column;gap:16px;display:flex}.login-form .form-input{box-sizing:border-box;width:100%}.password-input-container{align-items:center;width:100%;display:flex;position:relative}.password-input{width:100%;padding-right:42px!important}.password-toggle-btn{color:var(--text-muted);cursor:pointer;transition:color var(--transition);z-index:10;background:0 0;border:none;outline:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;right:14px}.password-toggle-btn:hover{color:var(--text-primary)}.login-submit{justify-content:center;width:100%;margin-top:4px}.login-error{color:#fca5a5;border-radius:var(--radius-sm);background:#ef44441a;border:1px solid #ef444440;padding:10px 14px;font-size:13px;font-weight:500}.login-divider{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;align-items:center;gap:16px;margin:20px 0;font-size:12px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border-subtle);flex:1;height:1px}.login-auth0{justify-content:center;width:100%}.user-avatar-placeholder{background:linear-gradient(135deg, var(--apex-green-500), var(--apex-green-300));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.no-access-page{background:linear-gradient(135deg, var(--apex-green-900) 0%, var(--apex-green-800) 50%, var(--apex-green-700) 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.no-access-card{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:var(--radius-xl);text-align:center;background:#111e1bd9;border:1px solid #a1d1bf26;width:100%;max-width:440px;padding:48px 40px;animation:.5s cubic-bezier(.16,1,.3,1) slideUp;position:relative;box-shadow:0 25px 50px -12px #00000080}.no-access-icon{border-radius:var(--radius-lg);color:#fbbf24;background:#f59e0b1a;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 24px;display:flex}.no-access-card h2{color:var(--text-primary);margin-bottom:8px;font-size:20px;font-weight:700}.no-access-card p{color:var(--text-secondary);margin-bottom:24px;font-size:14px;line-height:1.6}.no-access-email{color:var(--text-primary);font-weight:600}.no-access-actions{justify-content:center;gap:12px;display:flex}.profile-dropdown{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:290px;box-shadow:var(--shadow-lg);z-index:300;flex-direction:column;padding:8px;animation:.15s cubic-bezier(.16,1,.3,1) dropdownFadeIn;display:flex;position:absolute;top:calc(100% + 12px);right:0}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.profile-dropdown-header{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.dropdown-avatar-box{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#1a2623;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.dropdown-avatar-box img{object-fit:cover;border-radius:var(--radius-sm);width:100%;height:100%}.dropdown-info{text-align:left;flex-direction:column;line-height:1.35;display:flex;overflow:hidden}.dropdown-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.dropdown-email{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.profile-dropdown-item{color:var(--text-primary);border-radius:var(--radius-sm);transition:all var(--transition);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:10px 12px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.profile-dropdown-item:hover{background:var(--bg-card);color:#88d1e7}.profile-dropdown-item .item-icon{color:var(--text-muted);width:16px;height:16px;transition:color var(--transition);flex-shrink:0}.profile-dropdown-item:hover .item-icon{color:#88d1e7}.profile-dropdown-item .chevron-right{color:var(--text-muted);margin-left:auto;font-size:14px;font-weight:600}.profile-dropdown-item:hover .chevron-right{color:#88d1e7}.profile-dropdown-divider{background:var(--border-subtle);height:1px;margin:6px 0}.profile-dropdown-item.logout-btn-red{border-radius:var(--radius-sm);margin-top:4px;color:#f87171!important;background:#ef444414!important}.profile-dropdown-item.logout-btn-red:hover{color:#fca5a5!important;background:#ef444426!important}.profile-dropdown-item.logout-btn-red .item-icon{color:#f87171!important}.profile-dropdown-item.logout-btn-red:hover .item-icon{color:#fca5a5!important}.tenant-picker-wrapper{position:relative}.tenant-picker-chevron{transition:transform var(--transition);margin-left:auto}.tenant-picker-chevron.rotated{transform:rotate(180deg)}.tenant-picker-list{flex-direction:column;gap:2px;padding:4px 0 4px 12px;animation:.15s cubic-bezier(.16,1,.3,1) dropdownFadeIn;display:flex}.tenant-picker-item{color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:13px;font-weight:500;display:flex}.tenant-picker-item:hover{background:var(--bg-card)}.tenant-picker-item.active{background:var(--accent-bg);color:var(--accent)}.tenant-picker-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.tenant-picker-role{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:#0003;border-radius:2px;padding:2px 6px;font-size:10px;font-weight:600}.tenant-picker-item.active .tenant-picker-role{color:var(--accent);background:#00ff9f1a}.tenant-picker-check{color:var(--accent);flex-shrink:0}.vibration-chart{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:border-color var(--transition), box-shadow var(--transition);overflow:hidden}.vibration-chart:hover{border-color:var(--border-color);box-shadow:var(--shadow-sm)}.vibration-chart-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px 12px;display:flex}.vibration-chart-title-group{align-items:center;gap:12px;display:flex}.vibration-chart-icon{border-radius:var(--radius-sm);color:#00e5ff;background:#00e5ff14;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.vibration-chart-title{color:var(--text-primary);letter-spacing:-.02em;margin:0;font-size:14px;font-weight:700}.vibration-chart-subtitle{color:var(--text-muted);letter-spacing:.02em;font-size:11px}.vibration-axis-toggles{gap:6px;display:flex}.vibration-axis-toggle{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-sans);letter-spacing:.04em;cursor:pointer;transition:all var(--transition);-webkit-user-select:none;user-select:none;background:0 0;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.vibration-axis-toggle .vibration-axis-dot{opacity:.4;width:6px;height:6px;transition:opacity var(--transition);background:currentColor;border-radius:50%}.vibration-axis-toggle-x.active{color:#00e5ff;background:#00e5ff0f;border-color:#00e5ff4d}.vibration-axis-toggle-x.active .vibration-axis-dot{opacity:1;background:#00e5ff;box-shadow:0 0 6px #00e5ff80}.vibration-axis-toggle-y.active{color:#f43f5e;background:#f43f5e0f;border-color:#f43f5e4d}.vibration-axis-toggle-y.active .vibration-axis-dot{opacity:1;background:#f43f5e;box-shadow:0 0 6px #f43f5e80}.vibration-axis-toggle-z.active{color:#fbbf24;background:#fbbf240f;border-color:#fbbf244d}.vibration-axis-toggle-z.active .vibration-axis-dot{opacity:1;background:#fbbf24;box-shadow:0 0 6px #fbbf2480}.vibration-axis-toggle:hover:not(.active){border-color:var(--border-color);color:var(--text-secondary)}.vibration-stats-row{border-bottom:1px solid var(--border-subtle);gap:0;display:flex}.vibration-stat{border-right:1px solid var(--border-subtle);transition:background var(--transition);flex:1;padding:10px 16px}.vibration-stat:last-child{border-right:none}.vibration-stat:hover{background:#ffffff04}.vibration-stat-label{text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:10px;font-weight:700}.vibration-stat-x .vibration-stat-label{color:#00e5ff}.vibration-stat-y .vibration-stat-label{color:#f43f5e}.vibration-stat-z .vibration-stat-label{color:#fbbf24}.vibration-stat-metrics{flex-wrap:wrap;gap:12px;display:flex}.vibration-stat-metric{color:var(--text-muted);align-items:center;gap:4px;display:inline-flex}.vibration-stat-metric svg{opacity:.5;flex-shrink:0}.vibration-stat-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.vibration-stat-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);opacity:.7;font-size:9px;font-weight:600}.vibration-chart-body{height:360px;padding:8px 4px 4px}.vibration-chart-empty{height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.vibration-chart-empty svg{opacity:.3}.vibration-chart-empty p{margin:0;font-size:13px}@media (width<=640px){.vibration-chart-header{flex-direction:column;align-items:flex-start;gap:10px}.vibration-stats-row{flex-direction:column}.vibration-stat{border-right:none;border-bottom:1px solid var(--border-subtle)}.vibration-stat:last-child{border-bottom:none}.vibration-chart-body{height:280px}}.monitoring-subtitle{color:var(--text-muted);margin:0 0 24px;font-size:13px}.monitoring-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.monitoring-kpi-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition);align-items:center;gap:14px;padding:16px 20px;display:flex}.monitoring-kpi-card:hover{border-color:var(--border-color);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.monitoring-kpi-icon{border-radius:var(--radius-sm);flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.monitoring-kpi-icon-storage{color:#818cf8;background:#6366f11a}.monitoring-kpi-icon-memory{color:#00e5ff;background:#00e5ff14}.monitoring-kpi-icon-sensors{background:var(--accent-bg);color:var(--accent)}.monitoring-kpi-body{flex-direction:column;gap:2px;display:flex}.monitoring-kpi-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11px;font-weight:600}.monitoring-kpi-value{color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:20px;font-weight:700}.monitoring-kpi-value-muted{color:var(--text-muted);font-size:14px}.monitoring-error{border-radius:var(--radius-lg);color:#f87171;background:#ef444414;border:1px solid #ef444440;padding:16px 20px;font-size:13px;font-weight:500}.monitoring-loading{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);height:400px;color:var(--text-muted);justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}@media (width<=640px){.monitoring-kpi-grid{grid-template-columns:1fr}.monitoring-loading{height:280px}}.velocity-chart{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:border-color var(--transition), box-shadow var(--transition);overflow:hidden}.velocity-chart:hover{border-color:var(--border-color);box-shadow:var(--shadow-sm)}.velocity-chart-icon{border-radius:var(--radius-sm);color:#a78bfa;background:#a78bfa14;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.velocity-axis-toggle{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-sans);letter-spacing:.04em;cursor:pointer;transition:all var(--transition);-webkit-user-select:none;user-select:none;background:0 0;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.velocity-axis-toggle:hover:not(.active){border-color:var(--border-color);color:var(--text-secondary)}.velocity-axis-toggle-x.active{color:#a78bfa;background:#a78bfa0f;border-color:#a78bfa4d}.velocity-axis-toggle-x.active .vibration-axis-dot{opacity:1;background:#a78bfa;box-shadow:0 0 6px #a78bfa80}.velocity-axis-toggle-y.active{color:#f97316;background:#f973160f;border-color:#f973164d}.velocity-axis-toggle-y.active .vibration-axis-dot{opacity:1;background:#f97316;box-shadow:0 0 6px #f9731680}.velocity-axis-toggle-z.active{color:#34d399;background:#34d3990f;border-color:#34d3994d}.velocity-axis-toggle-z.active .vibration-axis-dot{opacity:1;background:#34d399;box-shadow:0 0 6px #34d39980}.velocity-stat-x .vibration-stat-label{color:#a78bfa}.velocity-stat-y .vibration-stat-label{color:#f97316}.velocity-stat-z .vibration-stat-label{color:#34d399}.sensor-health-section{margin-bottom:24px}.sensor-health-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 10px;font-size:11px;font-weight:700}.sensor-health-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.sensor-health-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition);align-items:center;gap:10px;padding:12px 14px;display:flex}.sensor-health-card:hover{border-color:var(--border-color);box-shadow:var(--shadow-sm)}.sensor-health-icon{border-radius:var(--radius-sm);flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.sensor-health-icon-temp{color:#f87171;background:#ef444414}.sensor-health-icon-crest{color:#fbbf24;background:#fbbf2414}.sensor-health-icon-battery{color:#22c55e;background:#22c55e14}.sensor-health-icon-rssi{color:#818cf8;background:#6366f114}.sensor-health-body{flex-direction:column;gap:1px;display:flex}.sensor-health-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:10px;font-weight:600}.sensor-health-value{color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:16px;font-weight:700}.sensor-health-value-muted{color:var(--text-muted);font-size:13px}.monitoring-charts-stack{flex-direction:column;gap:24px;display:flex}@media (width<=640px){.sensor-health-grid{grid-template-columns:repeat(2,1fr)}}.trend-chart{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:border-color var(--transition), box-shadow var(--transition);overflow:hidden}.trend-chart:hover{border-color:var(--border-color);box-shadow:var(--shadow-sm)}.trend-chart-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.trend-chart-title-group{align-items:center;gap:10px;display:flex}.trend-chart-icon{border-radius:var(--radius-sm);flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.trend-chart-icon-temp{color:#f87171;background:#f8717114}.trend-chart-icon-device{color:#818cf8;background:#818cf814}.trend-chart-title{color:var(--text-primary);margin:0;font-size:13px;font-weight:600;line-height:1.2}.trend-chart-subtitle{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.trend-chart-body{height:220px;padding:4px 4px 0}.monitoring-analysis-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;display:grid}@media (width<=768px){.monitoring-analysis-grid{grid-template-columns:1fr}.trend-chart-body{height:180px}}.searchable-select-container{position:relative}.searchable-select-btn{cursor:pointer;text-align:left;justify-content:space-between;align-items:center;width:100%;display:flex}.searchable-select-btn-text{font-weight:500}.searchable-select-popover{z-index:50;background:var(--card-bg,#1e1e2e);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;max-height:280px;margin-top:4px;display:flex;position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:0 8px 24px #0000004d}.searchable-select-search{border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;padding:8px 10px;display:flex}.searchable-select-input{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;font-size:13px}.searchable-select-options{max-height:220px;overflow-y:auto}.searchable-select-empty{text-align:center;color:var(--text-muted);padding:16px 12px;font-size:13px}.searchable-select-option{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;border:none;border-bottom:1px solid var(--border-subtle);background:0 0;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;transition:background .2s;display:flex}.searchable-select-option:hover{background:#6366f11a}.searchable-select-option.selected,.searchable-select-option.selected:hover{background:#6366f126}
