.backstage-container{min-height:100vh;background:var(--app-gradient);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative;display:flex}.backstage-container:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,var(--accent-hover-bg) 0%,transparent 50%),radial-gradient(circle at 80% 20%,var(--accent-row-hover) 0%,transparent 50%);pointer-events:none}.sidebar{background:var(--sidebar-gradient);border-right:1px solid var(--panel-border);display:flex;flex-direction:column;padding:1rem .5rem;position:fixed;top:0;left:0;height:100vh;z-index:10;box-shadow:var(--shadow-sidebar);transition:width .2s ease}.sidebar.collapsed{width:60px;align-items:center}.sidebar.expanded{width:220px;align-items:stretch}.sidebar-top-actions{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem;width:100%;align-items:center}.sidebar-toggle{width:40px;height:40px;border:none;border-radius:8px;background:var(--input-bg);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;align-self:center}.sidebar-toggle:hover{background:var(--accent-hover-bg);color:var(--accent-color)}.theme-toggle{border:1px solid var(--panel-border-strong);border-radius:8px;background:var(--accent-soft-bg);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.6rem;transition:all .2s ease;min-height:40px}.theme-toggle.collapsed{width:40px;padding:0}.theme-toggle.expanded{width:100%;padding:0 .75rem;justify-content:flex-start}.theme-toggle:hover{background:var(--accent-hover-bg);color:var(--accent-color)}.theme-toggle-label{white-space:nowrap;font-size:.9rem}.sidebar.collapsed .theme-toggle-label{display:none}.user-badge{width:100%;border:1px solid var(--panel-border);border-radius:8px;background:var(--overlay-bg);color:var(--text-primary);display:flex;align-items:center;gap:.6rem;min-height:40px;overflow:hidden;cursor:pointer;text-align:left}.user-badge.expanded{padding:.5rem .75rem;justify-content:flex-start}.user-badge.collapsed{width:40px;padding:0;justify-content:center}.user-badge-text{display:flex;flex-direction:column;min-width:0}.user-badge-email{font-size:.85rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-badge-meta{font-size:.75rem;color:var(--text-muted);line-height:1.1;text-transform:lowercase}.sidebar.collapsed .user-badge-text{display:none}.user-badge:hover{background:var(--accent-hover-bg);color:var(--accent-color)}.user-badge:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.logout-button{border:1px solid var(--panel-border-strong);border-radius:8px;background:var(--accent-soft-bg);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.6rem;transition:all .2s ease;min-height:40px}.logout-button.expanded{width:100%;padding:0 .75rem;justify-content:flex-start}.logout-button.collapsed{width:40px;padding:0}.logout-button:hover{background:var(--accent-hover-bg);color:var(--accent-color)}.logout-button-label{white-space:nowrap;font-size:.9rem}.sidebar.collapsed .logout-button-label{display:none}.nav-items{display:flex;flex-direction:column;gap:.8rem;flex:1;width:100%}.nav-footer{width:100%;display:flex;flex-direction:column;align-items:center;gap:.75rem;padding-bottom:.5rem}.nav-item{height:40px;border:none;border-radius:8px;background:var(--overlay-bg);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;text-decoration:none;overflow:hidden}.sidebar.collapsed .nav-item{width:40px;justify-content:center}.sidebar.expanded .nav-item{width:100%;justify-content:flex-start;gap:.7rem;padding:0 .75rem}.nav-item:active{transform:scale(.95)}.nav-item.active{background:var(--accent-color);color:#fff;box-shadow:0 0 10px var(--accent-glow)}.nav-item:hover:not(.active){background:var(--accent-hover-bg);color:var(--accent-color)}.nav-label{white-space:nowrap;font-size:.92rem}.sidebar.collapsed .nav-label{display:none}.backstage-main{flex:1;padding:1rem;position:relative;z-index:1;overflow-y:auto;transition:margin-left .2s ease}.backstage-main.collapsed{margin-left:60px}.backstage-main.expanded{margin-left:220px}.breadcrumb-nav{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;color:var(--text-muted);font-size:.92rem}.breadcrumb-item{display:inline-flex;align-items:center;gap:.35rem}.breadcrumb-link{color:var(--accent-color);text-decoration:none}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-current{color:var(--text-primary);font-weight:600}.breadcrumb-separator{color:var(--text-muted)}.backstage-main .page-content section{max-width:100%;overflow-x:auto}.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--overlay-strong-bg);animation:modal-overlay-fade .18s ease-out}.modal-content{width:min(520px,100%);animation:modal-content-enter .2s ease-out;position:relative;background:var(--panel-gradient);border:1px solid var(--panel-border-strong);border-radius:12px;padding:1rem 1rem 1.25rem;box-shadow:var(--shadow-elevated);color:var(--text-primary)}.modal-form{display:grid;gap:.75rem}.modal-confirm-panel{padding:.85rem 1rem;border-radius:10px;border:1px solid var(--panel-border-strong);background:var(--accent-soft-bg)}.modal-confirm-panel p{margin:0}.modal-confirm-panel p+p{margin-top:.5rem}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.modal-header h3{margin:0}.modal-close-btn{border:1px solid var(--panel-border);background:var(--accent-soft-bg);color:var(--text-accent);width:2rem;height:2rem;border-radius:8px;cursor:pointer;position:absolute;top:.75rem;right:.75rem}.modal-close-btn:focus{outline:none}.modal-close-btn:focus-visible{outline:2px solid var(--text-accent);outline-offset:2px}@keyframes modal-overlay-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-content-enter{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dashboard{width:100%}.dashboard h1{margin-bottom:2rem;color:var(--text-primary);font-size:1.5rem;font-weight:600;letter-spacing:-.5px}.dashboard-user{color:var(--text-muted);font-weight:500;font-size:1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;max-width:1200px;margin-bottom:1.5rem}.stat-card{background:var(--panel-gradient);border:1px solid var(--panel-border);border-radius:12px;padding:1.5rem;position:relative;overflow:hidden;box-shadow:var(--shadow-elevated)}.stat-card-link{display:block;text-decoration:none;cursor:pointer;will-change:transform,box-shadow;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.stat-card-link:hover,.stat-card-link:focus-visible{transform:translateY(-3px) scale(1.01);border-color:var(--panel-border-strong);box-shadow:0 10px 24px var(--accent-glow)}.stat-card-link:active{transform:translateY(-1px) scale(.995)}.stat-card-link:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.stat-card-disabled{opacity:.72}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent-color),#4dd2ff,var(--accent-color));pointer-events:none}.stat-card h2{font-size:.8rem;color:var(--text-secondary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.stat-number{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin:0;text-shadow:0 2px 4px rgba(0,0,0,.5);font-family:Inter,sans-serif;letter-spacing:-.5px}.loading{text-align:center;padding:2rem;color:var(--text-secondary)}.error{text-align:center;padding:2rem;color:var(--danger-color)}.dashboard-panel{max-width:1200px;background:var(--panel-gradient);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--shadow-elevated);overflow:hidden}.dashboard-panel-header{padding:1.25rem 1.5rem 1rem;border-bottom:1px solid var(--panel-border-soft);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.dashboard-panel-header h2{margin:0;color:var(--text-primary);font-size:1.1rem;font-weight:600}.dashboard-search-input{min-width:min(320px,100%);padding:.65rem .85rem;border-radius:8px;border:1px solid var(--panel-border);background:var(--input-bg);color:var(--text-primary)}.dashboard-sort-button{display:inline-flex;align-items:center;gap:.45rem;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.dashboard-sort-button.active{color:var(--text-primary)}.dashboard-sort-indicator{font-size:.72rem;color:var(--text-muted)}.dashboard-empty-state{margin:0;padding:1.5rem;color:var(--text-secondary)}.dashboard-table-scroll{overflow-x:auto}.dashboard-table{width:100%;border-collapse:collapse}.dashboard-table th,.dashboard-table td{padding:.9rem 1.5rem;text-align:left;border-bottom:1px solid var(--panel-border-soft)}.dashboard-table th{color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.dashboard-table td{color:var(--text-primary)}.dashboard-device-link{color:var(--text-link);text-decoration:none;font-weight:600}.dashboard-device-link:hover{text-decoration:underline}.dashboard-device-cell{display:inline-flex;align-items:center;gap:.55rem}.dashboard-production-indicator{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:999px;background:#22c55e24;color:#22c55e;box-shadow:0 0 0 1px #22c55e33}.dashboard-production-indicator-inactive{background:#94a3b81f;color:var(--text-muted);box-shadow:0 0 0 1px #94a3b833}.dashboard-subscription-indicator{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:999px;background:#3b82f624;color:#60a5fa;box-shadow:0 0 0 1px #3b82f638}.dashboard-subscription-indicator-inactive{background:#94a3b81f;color:var(--text-muted);box-shadow:0 0 0 1px #94a3b833}.dashboard-table tbody tr:last-child td{border-bottom:none}.tenants-page{width:100%}.tenant-create-form{display:grid;gap:.65rem;padding:1rem;border:1px solid var(--panel-border);border-radius:12px;background:var(--panel-gradient)}.tenant-create-open-btn{margin-bottom:1rem}.tenant-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--overlay-strong-bg);animation:tenant-modal-overlay-fade .18s ease-out}.tenant-modal-content{width:min(520px,100%);animation:tenant-modal-content-enter .2s ease-out}.tenant-modal-header{display:flex;justify-content:space-between;align-items:center}.tenant-modal-close-btn{border:1px solid var(--panel-border);background:var(--accent-soft-bg);color:var(--text-accent);width:2rem;height:2rem;border-radius:8px;cursor:pointer}@keyframes tenant-modal-overlay-fade{0%{opacity:0}to{opacity:1}}@keyframes tenant-modal-content-enter{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.tenants-list{background:var(--panel-gradient);border:1px solid var(--panel-border);border-radius:12px;overflow-x:auto;overflow-y:hidden;box-shadow:var(--shadow-elevated)}table{width:max-content;min-width:100%;border-collapse:collapse}.catalog-row-selected{background:var(--accent-row-selected, rgba(59, 130, 246, .14))}.tenant-actions{display:flex;gap:.5rem;align-items:center}.tenant-action-link,.tenant-edit-btn,.tenant-delete-btn{border:1px solid var(--panel-border);background:var(--accent-soft-bg);color:var(--text-accent);padding:.35rem .6rem;border-radius:8px;text-decoration:none;cursor:pointer;font-size:.8rem}.tenant-delete-btn{border-color:var(--danger-border);background:var(--danger-soft-bg);color:var(--danger-text)}.tenant-input{width:100%;margin-top:.25rem;padding:.55rem .7rem;border-radius:8px;border:1px solid var(--panel-border);background:var(--input-bg);color:var(--text-primary)}.detail-page{width:100%}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.detail-breadcrumb{margin:0 0 .4rem;color:var(--text-muted);font-size:.85rem}.detail-breadcrumb a{color:var(--text-link);text-decoration:none}.detail-subtitle{margin-top:.35rem;color:var(--text-muted)}.detail-panel{background:var(--panel-gradient);border:1px solid var(--panel-border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-elevated);margin-bottom:1.25rem}.detail-panel .panel-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--panel-border-soft);gap:1rem;flex-wrap:wrap}.detail-panel .panel-header h2{margin:0;color:var(--text-primary);font-size:1rem;letter-spacing:.3px}.detail-panel>:not(.panel-header){padding:1rem}.inline-actions{display:flex;align-items:center;gap:.75rem}.btn-danger{color:var(--danger-text)}.empty-state{padding:1rem;color:var(--text-secondary)}.detail-edit-form{padding:1rem;display:grid;gap:.65rem}.detail-input{width:100%;padding:.55rem .7rem;border-radius:8px;border:1px solid var(--panel-border);background:var(--input-bg);color:var(--text-primary)}.success-banner{margin-bottom:1rem;background:var(--success-soft-bg);border:1px solid var(--success-border);border-radius:10px;color:var(--success-text);padding:.75rem 1rem}.modal-overlay{position:fixed;inset:0;background:var(--overlay-strong-bg);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-card{width:min(420px,calc(100vw - 2rem));background:var(--panel-gradient);border:1px solid var(--panel-border-strong);border-radius:12px;padding:1rem;box-shadow:var(--shadow-elevated)}.modal-card h3{margin:0 0 .75rem}.modal-label{display:block;margin-bottom:.35rem;color:var(--text-muted)}.modal-card select{width:100%}.modal-actions{margin-top:1rem;display:flex;justify-content:flex-end;gap:.75rem}.device-name-with-badge{display:inline-flex;align-items:center;gap:.5rem}.legacy-inline-badge{display:inline-flex;align-items:center;padding:.18rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.03em;color:#f8fafc;background:linear-gradient(135deg,#334155,#475569);border:1px solid rgba(148,163,184,.35)}.customers-page{width:100%}.page-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.customers-list{background:var(--panel-gradient);border:1px solid var(--panel-border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-elevated)}table{width:100%;border-collapse:collapse}th,td{padding:1rem;text-align:left;border-bottom:1px solid var(--panel-border-soft)}.clickable-row{cursor:pointer}.customer-create-form{display:grid;gap:.65rem;padding:1rem;border:1px solid var(--panel-border);border-radius:12px;background:var(--panel-gradient)}.customer-label{color:var(--text-accent)}.customer-input{width:100%;margin-top:.25rem;padding:.55rem .7rem;border-radius:8px;border:1px solid var(--panel-border);background:var(--input-bg);color:var(--text-primary)}.customer-tenant-readonly{margin:0;color:var(--text-secondary);font-size:.9rem}.customer-action-btn{border:1px solid var(--panel-border);background:var(--accent-soft-bg);color:var(--text-accent);padding:.35rem .6rem;border-radius:8px;text-decoration:none;cursor:pointer;font-size:.8rem}.customer-delete-btn{border:1px solid var(--danger-border);background:var(--danger-soft-bg);color:var(--danger-text);padding:.35rem .6rem;border-radius:8px;cursor:pointer;font-size:.8rem}.clickable-row:focus-visible{outline:2px solid var(--accent-color);outline-offset:-2px}.entity-link{color:var(--text-link);text-decoration:none;font-weight:600}.entity-link:hover{text-decoration:underline}.support-ticket-priority{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .65rem;font-size:.8rem;font-weight:600;white-space:nowrap}.support-ticket-priority-none{color:var(--text-muted)}.support-ticket-priority-low{background:#94a3b829;color:#64748b;border:1px solid rgba(148,163,184,.35)}.support-ticket-priority-medium{background:#3b82f624;color:#1d4ed8;border:1px solid rgba(59,130,246,.35)}.support-ticket-priority-high{background:#f9731624;color:#c2410c;border:1px solid rgba(249,115,22,.35)}.support-ticket-priority-critical{background:#ef444424;color:#b91c1c;border:1px solid rgba(239,68,68,.35)}.support-tickets-page{padding:2rem;display:grid;gap:1rem}.support-ticket-panel{background:var(--panel-gradient);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--shadow-elevated);padding:1.25rem}.support-ticket-form{display:grid;gap:.9rem}.support-ticket-form label{display:grid;gap:.35rem;color:var(--text-muted)}.support-ticket-form input,.support-ticket-form textarea{width:100%;border:1px solid var(--panel-border-strong);border-radius:10px;background:var(--input-bg);color:var(--text-primary);padding:.75rem .9rem}.support-ticket-form textarea{resize:vertical}.support-ticket-form-actions{display:flex;justify-content:flex-end}.support-ticket-action{border:1px solid var(--panel-border-strong);border-radius:10px;background:var(--accent-soft-bg);color:var(--text-primary);text-decoration:none;padding:.7rem 1rem;cursor:pointer}.support-ticket-action:hover{background:var(--accent-hover-bg);color:var(--accent-color)}.support-ticket-empty{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-secondary)}.support-ticket-closed-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem}.support-ticket-closed-actions .support-ticket-action{display:inline-flex;align-items:center;gap:.45rem}.support-ticket-table{width:100%;border-collapse:collapse}.support-ticket-table th,.support-ticket-table td{border-bottom:1px solid var(--panel-border-soft);padding:.8rem .65rem;text-align:left;vertical-align:top}.support-ticket-table th{color:var(--text-muted);font-size:.8rem;text-transform:uppercase}.support-ticket-link{color:var(--text-link);text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}.support-ticket-link:hover{text-decoration:underline}.support-ticket-detail{display:grid;gap:1rem}.support-ticket-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.support-ticket-meta div{display:grid;gap:.2rem}.support-ticket-body h2{margin-bottom:.5rem}.support-ticket-body pre{white-space:pre-wrap;word-break:break-word;font:inherit;background:var(--overlay-bg);border:1px solid var(--panel-border-soft);border-radius:10px;padding:.9rem}.support-ticket-comments{display:grid;gap:.85rem}.support-ticket-comment{border:1px solid var(--panel-border-soft);border-radius:10px;background:var(--overlay-bg);padding:.85rem;display:grid;gap:.55rem}.support-ticket-comment header{display:flex;justify-content:space-between;gap:.75rem;color:var(--text-muted);font-size:.9rem}.support-ticket-comment pre{margin:0;border:none;background:transparent;padding:0}.support-ticket-refresh-meta{margin-top:.35rem;color:var(--text-muted);font-size:.85rem}.support-ticket-title{display:inline-flex;align-items:center;gap:.5rem}.support-ticket-lock-icon{color:var(--text-muted);flex-shrink:0}.support-ticket-state{display:inline-flex;align-items:center;gap:.35rem;text-transform:lowercase}.support-ticket-state-closed{color:var(--text-muted)}.support-ticket-search-panel{padding-top:1rem;padding-bottom:1rem}.support-ticket-search-label{display:grid;gap:.35rem;color:var(--text-muted)}.support-ticket-search-input{width:100%;border:1px solid var(--panel-border-strong);border-radius:10px;background:var(--input-bg);color:var(--text-primary);padding:.75rem .9rem}.support-ticket-header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.support-ticket-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.support-ticket-pagination-single{justify-content:center}.support-ticket-pagination-meta{color:var(--text-muted);font-size:.9rem}.support-ticket-category-admin{display:grid;gap:1rem}.support-ticket-category-help{margin:0;color:var(--text-secondary)}.support-ticket-category-form{display:flex;gap:.75rem;align-items:end;flex-wrap:wrap}.support-ticket-category-form label{display:grid;gap:.35rem;flex:1;min-width:220px;color:var(--text-muted)}.support-ticket-category-form input,.support-ticket-form select{width:100%;border:1px solid var(--panel-border-strong);border-radius:10px;background:var(--input-bg);color:var(--text-primary);padding:.75rem .9rem}.support-ticket-row-closed td{opacity:.85}.devices-page{width:100%;display:flex;flex-direction:column;gap:1.5rem}.page-header{display:flex;justify-content:space-between;align-items:center}.page-header-actions{display:flex;align-items:center;gap:.75rem}.devices-list{background:var(--panel-gradient);border:1px solid var(--panel-border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-elevated)}.onboarding-panel{border-color:var(--panel-border-strong)}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--panel-border-soft);gap:1rem;flex-wrap:wrap}.panel-header h2{margin:0;color:var(--text-primary);font-size:1rem;letter-spacing:.3px}.devices-search-input{min-width:min(320px,100%);padding:.65rem .85rem;border-radius:8px;border:1px solid var(--panel-border);background:var(--input-bg);color:var(--text-primary)}.devices-sort-button{display:inline-flex;align-items:center;gap:.45rem;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.devices-sort-button.active{color:var(--text-primary)}.devices-sort-indicator{font-size:.72rem;color:var(--text-muted)}.devices-table-scroll{overflow-x:auto;overflow-y:visible}.devices-table-scroll table{width:max-content;min-width:100%;border-collapse:collapse}thead{background:var(--overlay-bg)}.devices-list th,.devices-list td{padding:1rem;text-align:left;border-bottom:1px solid var(--panel-border-soft);vertical-align:middle;white-space:nowrap}th{font-weight:600;color:var(--text-primary);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}td{color:var(--text-secondary);font-size:.9rem}.device-name-link{color:var(--text-link);text-decoration:none;font-weight:600}.device-name-link:hover{text-decoration:underline}.production-indicator{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:999px;background:#22c55e24;color:#22c55e;box-shadow:0 0 0 1px #22c55e33}.production-indicator-inactive{background:#94a3b81f;color:var(--text-muted);box-shadow:0 0 0 1px #94a3b833}.subscription-indicator{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:999px;background:#3b82f624;color:#60a5fa;box-shadow:0 0 0 1px #3b82f638}.subscription-indicator-inactive{background:#94a3b81f;color:var(--text-muted);box-shadow:0 0 0 1px #94a3b833}.device-usage-indicators{display:inline-flex;align-items:center;gap:.45rem}tbody tr:hover{background-color:var(--accent-row-hover)}tbody tr:last-child td{border-bottom:none}.inline-location-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.location-name{min-width:92px;color:var(--text-primary);font-size:.85rem}select{background:var(--input-bg);color:var(--text-primary);border:1px solid var(--panel-border);border-radius:6px;padding:.45rem .6rem;font-size:.85rem}.empty-state{margin:0;padding:1rem}.success-banner{border:1px solid var(--success-border);color:var(--success-text);background:var(--success-soft-bg);border-radius:8px;padding:.75rem 1rem}.subscription-chart{display:grid;gap:.85rem;padding:1rem}.subscription-chart-row{display:grid;grid-template-columns:minmax(110px,140px) minmax(180px,1fr) 48px;gap:.9rem;align-items:center}.subscription-chart-label{color:var(--text-primary);font-size:.9rem;font-weight:500}.subscription-chart-bar-track{height:.9rem;border-radius:999px;background:var(--overlay-bg);border:1px solid var(--panel-border-soft);overflow:hidden}.subscription-chart-bar{height:100%;min-width:.5rem;border-radius:999px;background:linear-gradient(90deg,#3b82f6,#60a5fa)}.subscription-chart-value{color:var(--text-primary);font-size:.9rem;font-weight:600;text-align:right}.device-status{display:inline-flex;align-items:center;gap:.55rem;font-weight:500}.device-status-legacy{color:var(--text-secondary)}.status-dot{width:.7rem;height:.7rem;border-radius:999px;display:inline-block;box-shadow:0 0 0 3px var(--overlay-bg)}.status-dot-online{background:#22c55e}.status-dot-offline{background:#ef4444}.maintenance-dot-green{background:#22c55e}.maintenance-dot-orange{background:#f97316}.maintenance-dot-red{background:#ef4444}.legacy-helper-text{margin:.5rem 0 0;padding:0}.device-detail-page{width:100%}.page-header{margin-bottom:2rem}.back-link{display:inline-block;margin-bottom:1rem;color:var(--text-link);text-decoration:none;padding:.4rem .8rem;border-radius:6px;background:var(--accent-soft-bg);border:1px solid var(--panel-border-strong);transition:all .2s ease;font-size:.85rem;font-weight:500}.back-link:hover{background:var(--accent-hover-bg);border-color:var(--accent-color);transform:translateY(-1px)}.page-header h1{color:var(--text-primary);font-size:1.5rem;font-weight:600;letter-spacing:-.5px}.device-title-block{display:grid;gap:.65rem}.device-badges{display:flex;flex-wrap:wrap;gap:.6rem}.detail-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.38rem .8rem;font-size:.82rem;font-weight:700;letter-spacing:.02em}.detail-badge-legacy{color:#f8fafc;background:linear-gradient(135deg,#334155,#475569);border:1px solid rgba(148,163,184,.35)}.detail-badge-muted{color:var(--text-primary);background:#94a3b81f;border:1px solid var(--panel-border-strong)}.detail-badge-accent{color:var(--text-link);background:var(--accent-soft-bg);border:1px solid var(--accent-color)}.device-info,.system-info{background:var(--panel-gradient);border:1px solid var(--panel-border);border-radius:12px;padding:1.5rem;margin-bottom:2rem;position:relative;overflow:hidden;box-shadow:var(--shadow-elevated)}.wazuh-section.collapsed{padding-top:.9rem;padding-bottom:.9rem}.wazuh-section-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:0;border:none;background:transparent;color:inherit;cursor:pointer;text-align:left}.wazuh-section-toggle-main{display:inline-flex;align-items:center;gap:.5rem;min-width:0}.wazuh-section-toggle h2{margin:0}.wazuh-section-chevron{display:inline-flex;color:var(--text-muted);flex-shrink:0}.wazuh-section-summary{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.45rem;min-width:0}.wazuh-summary-muted{color:var(--text-muted);font-size:.85rem}.wazuh-section.expanded .wazuh-section-toggle{margin-bottom:1rem}.device-actions{margin-top:1rem}.legacy-device-banner{border:1px solid var(--panel-border-strong);background:var(--accent-soft-bg);border-radius:12px;padding:1rem 1.25rem;color:var(--text-primary)}.legacy-device-banner p{margin:.5rem 0 0;color:var(--text-secondary)}.runtime-summary-grid,.interval-meta-grid,.maintenance-form-grid{display:grid;gap:1rem}.runtime-summary-grid,.interval-meta-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:1rem}.maintenance-form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:1.5rem}.maintenance-form-full{grid-column:1 / -1}.detail-textarea{min-height:96px;resize:vertical}.checkbox-row{display:flex;align-items:center;gap:.6rem;color:var(--text-primary);font-weight:500}.maintenance-pill{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:.25rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600}.maintenance-status-green{background:#22c55e1f;color:#15803d}.maintenance-status-orange{background:#f9731624;color:#c2410c}.maintenance-status-red{background:#ef444424;color:#b91c1c}.detail-table-scroll{overflow-x:auto}.interval-list{display:grid;gap:1rem}.interval-card{border:1px solid var(--panel-border-soft);border-radius:12px;padding:1rem;background:var(--overlay-bg)}.interval-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.interval-card-header h3{margin:0 0 .35rem;color:var(--text-primary)}.interval-card-header p,.interval-description{margin:0;color:var(--text-secondary)}.interval-description{margin-top:.75rem}.interval-actions{display:flex;gap:.75rem;flex-wrap:wrap}.device-type-editor{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--panel-border-soft)}.device-type-editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.location-link{color:var(--text-link);text-decoration:none}.location-link:hover{text-decoration:underline}.btn-link{color:var(--text-link);text-decoration:none;padding:.4rem .8rem;border-radius:6px;background:var(--accent-soft-bg);border:1px solid var(--panel-border-strong);transition:all .2s ease;font-size:.85rem;font-weight:500;display:inline-block;cursor:pointer}button.btn-link{font-family:inherit}.btn-link:hover:enabled{background:var(--accent-hover-bg);border-color:var(--accent-color);transform:translateY(-1px)}.btn-link:disabled{opacity:.6;cursor:not-allowed}.remote-hmi-section{display:grid;gap:.85rem}.remote-hmi-url,.remote-hmi-empty{color:var(--text-secondary);margin:0}.remote-hmi-url code,.remote-hmi-empty code{color:var(--text-accent)}.remote-hmi-offline-hint{color:var(--danger-text)}.remote-hmi-frame-wrap{width:100%;min-height:70vh;border:1px solid var(--panel-border);border-radius:12px;overflow:hidden;background:var(--overlay-bg)}.remote-hmi-frame{width:100%;height:70vh;border:0;display:block;background:#fff}.field-help-text{margin:.45rem 0 0;color:var(--text-secondary);font-size:.8rem;line-height:1.45}.device-info:before,.system-info:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent-color),#4dd2ff,var(--accent-color))}.device-info h2,.system-info h2{color:var(--text-primary);margin-bottom:1rem;font-size:1.1rem;font-weight:600;letter-spacing:-.5px;position:relative}.device-info h2:after,.system-info h2:after{content:"";position:absolute;bottom:-.3rem;left:0;width:2rem;height:1px;background:var(--accent-color)}.legacy-device-banner{display:grid;gap:.35rem;margin-bottom:1.25rem;padding:1rem 1.1rem;border-radius:12px;border:1px solid rgba(148,163,184,.28);background:linear-gradient(135deg,#33415557,#4755692e);color:var(--text-primary)}.legacy-device-banner strong{font-size:.95rem}.legacy-device-banner span{color:var(--text-secondary);line-height:1.5}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.info-item{display:flex;flex-direction:column}.info-item label{font-size:.7rem;color:var(--text-secondary);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.info-item span{font-size:1rem;color:var(--text-primary);font-weight:600}.info-value-with-meta{display:grid;gap:.45rem;justify-items:start}.info-value-with-meta small{color:var(--text-secondary);font-size:.8rem;font-weight:500}.system-info-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.fetch-btn{padding:.5rem 1rem;background:linear-gradient(135deg,var(--accent-color),var(--accent-color-strong));color:#fff;border:1px solid var(--panel-border-strong);border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s ease}.fetch-btn:hover:not(:disabled){background:linear-gradient(135deg,#4dd2ff,var(--accent-color));transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-glow)}.fetch-btn:disabled{background:var(--surface-subtle);color:var(--text-muted);cursor:not-allowed;transform:none;box-shadow:none}.system-info-content{background:var(--overlay-bg);border-radius:6px;padding:1rem;overflow-x:auto;border:1px solid var(--panel-border-soft)}.system-info-content pre{margin:0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;color:var(--text-link);line-height:1.6}.no-info{color:var(--text-secondary);font-style:italic;padding:1rem;background:var(--overlay-bg);border-radius:6px;border:1px dashed var(--panel-border)}.loading,.error{text-align:center;padding:2rem;color:var(--text-secondary)}.error{color:var(--danger-color)}.security-page{padding:2rem;display:grid;gap:1.25rem}.security-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.security-page-header h1{display:inline-flex;align-items:center;gap:.65rem;margin:0}.security-refresh{display:inline-flex;align-items:center;gap:.45rem}.security-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.85rem}.security-summary-card{background:var(--panel-gradient);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--shadow-elevated);padding:1rem 1.1rem;display:grid;gap:.35rem}.security-summary-ok{border-color:#22c55e59}.security-summary-warn{border-color:#f9731666}.security-summary-critical{border-color:#ef444466}.security-summary-label{color:var(--text-muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}.security-summary-value{font-size:1.6rem;color:var(--text-primary);line-height:1.1}.security-summary-hint{color:var(--text-muted);font-size:.8rem}.security-panel{background:var(--panel-gradient);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--shadow-elevated);padding:1.1rem;display:grid;gap:1rem}.security-panel-toolbar{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.security-search-label{display:grid;gap:.35rem;color:var(--text-muted);flex:1;min-width:240px}.security-search-input{width:100%;border:1px solid var(--panel-border-strong);border-radius:10px;background:var(--input-bg);color:var(--text-primary);padding:.7rem .85rem}.security-table-scroll{overflow-x:auto}.security-table{width:100%;border-collapse:collapse}.security-table th,.security-table td{text-align:left;padding:.75rem .65rem;border-bottom:1px solid var(--panel-border-soft);vertical-align:top}.security-table th{color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.security-row-critical{background:#ef44440f}.security-row-warning{background:#f973160d}.security-health{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.2rem .6rem;font-size:.8rem;font-weight:600}.security-health-healthy{background:#22c55e24;color:#15803d}.security-health-warning{background:#f9731624;color:#c2410c}.security-health-critical{background:#ef444424;color:#b91c1c}.security-health-unknown{background:#94a3b829;color:#64748b}.security-status-sub{display:block;margin-top:.3rem;color:var(--text-muted);font-size:.8rem}.security-agent-name{font-weight:600;color:var(--text-primary)}.security-agent-id{color:var(--text-muted);font-size:.8rem}.security-config{display:inline-flex;border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:600}.security-config.synced{background:#22c55e1f;color:#15803d}.security-config.drift{background:#f9731624;color:#c2410c}.security-device-link{display:grid;gap:.2rem}.security-device-link a{color:var(--text-link);text-decoration:none;font-weight:600}.security-device-link a:hover{text-decoration:underline}.security-device-customer{color:var(--text-muted);font-size:.82rem}.security-unlinked{color:var(--text-muted);font-style:italic}.security-urgent-toggle{display:inline-flex;align-items:center;gap:.45rem;color:var(--text-secondary);align-self:end;padding-bottom:.55rem}.security-cve-cell,.security-threat-cell{display:grid;gap:.35rem;min-width:12rem}.security-cve-counts{display:flex;flex-wrap:wrap;gap:.35rem}.security-cve-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:700;background:#94a3b824;color:#64748b}.security-cve-pill.critical{background:#ef444429;color:#b91c1c}.security-cve-pill.high{background:#f9731629;color:#c2410c}.wazuh-urgent-block{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--panel-border-soft)}.wazuh-urgent-block h3{margin:0 0 .55rem;font-size:.95rem}.security-detail-list{margin:0;padding-left:1.1rem;display:grid;gap:.45rem}.security-cve-stat{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.05rem;min-width:3.4rem;padding:.35rem .55rem;border-radius:10px;background:#94a3b81f;color:#64748b}.security-cve-stat strong{font-size:1.15rem;line-height:1;color:inherit}.security-cve-stat span{font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;font-weight:700}.security-cve-stat.critical{background:#ef444424;color:#b91c1c}.security-cve-stat.high{background:#f9731624;color:#c2410c}.security-cve-total{color:var(--text-muted);font-size:.78rem}.security-row-clickable{cursor:pointer}.security-row-clickable:hover td{background:#3b82f60d}.security-header-actions{display:flex;gap:.6rem;flex-wrap:wrap}.security-section-title{display:inline-flex;align-items:center;gap:.45rem;margin:0;font-size:1.05rem}.security-filter-pills{display:flex;flex-wrap:wrap;gap:.4rem}.security-filter-pill{border:1px solid var(--panel-border-strong);background:var(--overlay-bg);color:var(--text-secondary);border-radius:999px;padding:.35rem .75rem;cursor:pointer;font-size:.82rem;font-weight:600}.security-filter-pill.active{background:var(--accent-soft-bg);color:var(--accent-color);border-color:var(--accent-color)}.security-cve-table td{vertical-align:top}.security-cve-description{max-width:28rem;color:var(--text-secondary);font-size:.86rem;line-height:1.4}.security-hint-banner{display:flex;align-items:flex-start;gap:.55rem;padding:.85rem 1rem;border-radius:12px;border:1px solid rgba(249,115,22,.35);background:#f973161a;color:var(--text-primary)}.security-panel .info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem}.security-panel .info-item{display:grid;gap:.25rem}.security-panel .info-item label{color:var(--text-muted);font-size:.78rem;text-transform:uppercase}.security-panel .entity-link{color:var(--text-link);text-decoration:none;font-weight:600}.security-panel .entity-link:hover{text-decoration:underline}.security-detail-list .crit{color:#b91c1c}.security-detail-list .high{color:#c2410c}.security-cve-table .crit{color:#b91c1c}.security-cve-table .high{color:#c2410c}.servers-page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:.25rem}.servers-page-header h1{margin:0}.servers-bulk-progress{margin:0 0 1rem;color:var(--text-muted);font-size:.95rem}.servers-ssh-cell{min-width:9rem;max-width:14rem;vertical-align:top}.servers-ssh-display{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem}.servers-ssh-edit-link{font-size:.85rem}.servers-ssh-edit{display:flex;flex-direction:column;gap:.35rem}.servers-ssh-input{width:100%;max-width:12rem;padding:.25rem .4rem;font-size:.9rem}.servers-ssh-edit-actions{display:flex;gap:.5rem;flex-wrap:wrap}.servers-ssh-save{font-weight:600}.servers-row-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.servers-action-sshkey{display:inline-flex;align-items:center;gap:.25rem}.servers-btn-all-update{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;border-radius:10px;border:1px solid var(--panel-border);background:var(--input-bg);color:var(--text-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease}.servers-btn-all-update:hover:not(:disabled){background:var(--panel-border);border-color:var(--text-muted)}.servers-btn-all-update:disabled{opacity:.45;cursor:not-allowed}.servers-icon-spin{animation:servers-spin .85s linear infinite}@keyframes servers-spin{to{transform:rotate(360deg)}}.servers-table .server-vlan-header-row td{padding:0;background:var(--input-bg);border-top:1px solid var(--panel-border);border-bottom:1px solid var(--panel-border);font-weight:600;font-size:.88rem;color:var(--text-secondary)}.servers-table .server-vlan-header-row:first-of-type td{border-top:none}.server-vlan-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .65rem;width:100%;margin:0;padding:.65rem .85rem;border:none;background:transparent;color:inherit;font:inherit;font-weight:600;text-align:left;cursor:pointer;border-radius:0}.server-vlan-toggle:hover{filter:brightness(1.08)}.server-vlan-toggle:focus-visible{outline:2px solid var(--text-link);outline-offset:-2px}.server-vlan-chevron{display:inline-flex;flex-shrink:0;color:var(--text-muted);align-items:center}.server-vlan-header-row-collapsed td{border-bottom:1px solid var(--panel-border)}.server-vlan-title{margin-right:.35rem}.server-vlan-count{font-weight:500;color:var(--text-muted);font-size:.82rem}.server-status-cell{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;min-height:2.25rem}.server-status-label{display:flex;align-items:center;min-width:0;flex:1 1 auto}.server-status-label .device-status{min-width:0}.server-power-actions{display:inline-flex;flex-shrink:0;align-items:center;gap:.35rem}.server-power-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;margin:0;border-radius:8px;border:1px solid var(--panel-border);background:var(--input-bg);color:var(--text-primary);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.server-power-btn:hover:not(:disabled){background:var(--panel-border);border-color:var(--text-muted);color:var(--text-link)}.server-power-btn:focus-visible{outline:2px solid var(--text-link);outline-offset:2px}.server-power-btn:disabled{opacity:.38;cursor:not-allowed}.status-dot-paused{background:#f59e0b}@media(max-width:900px){.server-status-cell{flex-wrap:wrap}}.infrastructure-page{padding:2rem;display:grid;gap:1.25rem}.infrastructure-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.infrastructure-page-header h1{display:inline-flex;align-items:center;gap:.65rem;margin:0}.infrastructure-note{color:var(--text-muted);font-size:.85rem;margin:.35rem 0 0}.infrastructure-actions{display:inline-flex;gap:.65rem;flex-wrap:wrap}.infrastructure-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.85rem}.infrastructure-summary-card{background:var(--panel-gradient);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--shadow-elevated);padding:1rem 1.1rem;display:grid;gap:.35rem}.infrastructure-summary-warn{border-color:#f9731666}.infrastructure-summary-critical{border-color:#ef444466}.infrastructure-summary-label{color:var(--text-muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}.infrastructure-summary-value{font-size:1.6rem;color:var(--text-primary);line-height:1.1}.infrastructure-panel{background:var(--panel-gradient);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--shadow-elevated);padding:1.1rem;display:grid;gap:.85rem}.infrastructure-panel h2{margin:0;font-size:1.05rem}.infrastructure-table-wrap{overflow-x:auto}.infrastructure-table{width:100%;border-collapse:collapse}.infrastructure-table th,.infrastructure-table td{text-align:left;padding:.55rem .65rem;border-bottom:1px solid var(--panel-border);vertical-align:top}.infrastructure-table th{color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.infrastructure-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600}.infrastructure-badge-good{background:#22c55e26;color:#22c55e}.infrastructure-badge-warn{background:#f9731626;color:#f97316}.infrastructure-warning{margin-bottom:1rem;padding:.75rem 1rem;border-radius:.5rem;background:#f973161f;border:1px solid rgba(249,115,22,.35);color:#ea580c;font-size:.9rem}.infrastructure-badge-bad{background:#ef444426;color:#ef4444}.infrastructure-badge-allowed{background:#22c55e26;color:#22c55e}.infrastructure-badge-denied{background:#ef444426;color:#ef4444}.infrastructure-badge-unknown{background:#94a3b826;color:var(--text-muted)}.infrastructure-gap-high{border-left:3px solid #ef4444}.infrastructure-gap-medium{border-left:3px solid #f97316}.infrastructure-gap-low{border-left:3px solid #eab308}.infrastructure-gap-list{display:grid;gap:.75rem}.infrastructure-gap-item{padding:.75rem .85rem;border:1px solid var(--panel-border);border-radius:10px;background:#ffffff05}.infrastructure-subnav{display:flex;gap:.75rem;flex-wrap:wrap}.infrastructure-subnav a{color:var(--text-muted);text-decoration:none}.infrastructure-subnav a.active,.infrastructure-subnav a:hover{color:var(--text-primary)}.infrastructure-search{max-width:320px}.infrastructure-query-form{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr)) repeat(2,minmax(160px,1fr)) 90px 90px auto;gap:.75rem;align-items:end}.infrastructure-query-form select,.infrastructure-query-form input{min-height:2.4rem}.infrastructure-toggle{display:inline-flex;align-items:center;gap:.45rem;color:var(--text-muted);font-size:.85rem}.infrastructure-query-result{padding:.75rem .9rem;border-radius:10px;border:1px solid var(--panel-border)}.infrastructure-query-allowed{border-color:#22c55e73;background:#22c55e1a}.infrastructure-query-denied{border-color:#ef444473;background:#ef44441a}.infrastructure-query-unknown{border-color:#94a3b873}.infrastructure-map{position:relative;display:grid;gap:.55rem}.infrastructure-map-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.infrastructure-map-line{stroke-width:2;stroke-opacity:.85}.infrastructure-map-line-allowed{stroke:#22c55e}.infrastructure-map-line-denied{stroke:#ef4444}.infrastructure-vlan-row{display:grid;grid-template-columns:180px 1fr;gap:.75rem;align-items:start;position:relative;z-index:2;padding:.45rem .35rem;border-bottom:1px solid var(--panel-border)}.infrastructure-vlan-label{display:grid;gap:.15rem;color:var(--text-muted);font-size:.82rem}.infrastructure-vlan-label strong{color:var(--text-primary);font-size:.9rem}.infrastructure-vlan-hosts{display:flex;flex-wrap:wrap;gap:.45rem}.infrastructure-host-chip{display:grid;gap:.1rem;text-align:left;border:1px solid var(--panel-border);background:#ffffff08;color:var(--text-primary);border-radius:8px;padding:.35rem .55rem;cursor:pointer;min-width:9rem}.infrastructure-host-chip-name{font-size:.82rem;font-weight:600}.infrastructure-host-chip-meta{font-size:.72rem;color:var(--text-muted)}.infrastructure-host-chip.is-source{border-color:#38bdf8;box-shadow:0 0 0 2px #38bdf859}.infrastructure-host-chip.is-destination{border-color:#f97316;box-shadow:0 0 0 2px #f9731659}.infrastructure-host-chip.is-allowed{border-color:#22c55eb3;background:#22c55e1f}.infrastructure-host-chip.is-dimmed{opacity:.42}.infrastructure-host-chip.is-no-ip{border-style:dashed}@media(max-width:900px){.infrastructure-query-form,.infrastructure-vlan-row{grid-template-columns:1fr}}.infrastructure-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.infrastructure-meta-item{display:grid;gap:.2rem}.infrastructure-meta-label{color:var(--text-muted);font-size:.78rem;text-transform:uppercase}.infrastructure-meta-value{color:var(--text-primary);word-break:break-word}:root{--app-gradient: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 50%, #0f0f0f 100%);--sidebar-gradient: linear-gradient(180deg, #1a1a1a 0%, #2a2a2a 100%);--panel-gradient: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);--panel-border: rgba(54, 204, 255, .2);--panel-border-soft: rgba(54, 204, 255, .1);--panel-border-strong: rgba(54, 204, 255, .3);--accent-color: #36ccff;--accent-color-strong: #2a9fd8;--accent-glow: rgba(54, 204, 255, .3);--accent-soft-bg: rgba(54, 204, 255, .08);--accent-hover-bg: rgba(54, 204, 255, .12);--accent-row-hover: rgba(54, 204, 255, .05);--overlay-bg: rgba(0, 0, 0, .3);--overlay-strong-bg: rgba(0, 0, 0, .65);--input-bg: rgba(0, 0, 0, .25);--surface-subtle: rgba(255, 255, 255, .1);--text-primary: #ffffff;--text-secondary: #cccccc;--text-muted: #9db0bc;--text-link: #36ccff;--text-accent: #cfefff;--danger-color: #ff4444;--danger-soft-bg: rgba(255, 120, 120, .12);--danger-border: rgba(255, 120, 120, .35);--danger-text: #ffd6d6;--success-color: #14532d;--success-soft-bg: rgba(74, 164, 108, .15);--success-border: rgba(99, 255, 158, .4);--success-text: #9dffbf;--shadow-elevated: 0 4px 16px rgba(0, 0, 0, .4);--shadow-sidebar: 2px 0 10px rgba(0, 0, 0, .3);--focus-color: #ffffff;color-scheme:dark}:root[data-theme=light]{--app-gradient: linear-gradient(135deg, #f4f8fb 0%, #eef4f8 50%, #e6eef5 100%);--sidebar-gradient: linear-gradient(180deg, #ffffff 0%, #eef4f8 100%);--panel-gradient: linear-gradient(135deg, #ffffff 0%, #f5f8fc 100%);--panel-border: rgba(11, 132, 216, .18);--panel-border-soft: rgba(11, 132, 216, .12);--panel-border-strong: rgba(11, 132, 216, .28);--accent-color: #0b84d8;--accent-color-strong: #0a6bb0;--accent-glow: rgba(11, 132, 216, .22);--accent-soft-bg: rgba(11, 132, 216, .08);--accent-hover-bg: rgba(11, 132, 216, .14);--accent-row-hover: rgba(11, 132, 216, .05);--overlay-bg: rgba(15, 23, 42, .05);--overlay-strong-bg: rgba(15, 23, 42, .35);--input-bg: rgba(255, 255, 255, .9);--surface-subtle: rgba(15, 23, 42, .06);--text-primary: #102a43;--text-secondary: #486581;--text-muted: #627d98;--text-link: #0b84d8;--text-accent: #184c75;--danger-color: #d64545;--danger-soft-bg: rgba(214, 69, 69, .1);--danger-border: rgba(214, 69, 69, .25);--danger-text: #a61b1b;--success-color: #1f6b45;--success-soft-bg: rgba(31, 107, 69, .12);--success-border: rgba(31, 107, 69, .22);--success-text: #1f6b45;--shadow-elevated: 0 8px 24px rgba(15, 23, 42, .08);--shadow-sidebar: 2px 0 12px rgba(15, 23, 42, .08);--focus-color: #0b84d8;color-scheme:light}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{height:100%;width:100%}body{background:var(--app-gradient);color:var(--text-primary);-webkit-touch-callout:default;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{font-family:inherit;outline:none}ul,ol{list-style:none}*{text-rendering:optimizeLegibility}html{scroll-behavior:smooth}button:focus-visible,input:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}::selection{background:var(--accent-hover-bg);color:var(--text-primary)}::-moz-selection{background:var(--accent-hover-bg);color:var(--text-primary)}
