html,body{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;min-height:100vh;margin:0;padding:0}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}:root,[data-theme=dark]{--dark-base:#0b0d13;--dark-card:#121621;--surface-bg:#0b0d13;--surface-card:#121621;--surface-elevated:#181d2c;--surface-subtle:#ffffff08;--surface-inset:#00000047;--surface-hover:#ffffff0d;--surface-code:#080a0f;--pure-white:#f8fafc;--text-primary:#f8fafc;--text-main:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-on-accent:#fff;--primary-purple:#7c3aed;--primary-indigo:#22d3ee;--primary-blue:#2563eb;--dark-blue:#1e3a8a;--brand-yellow:#facc15;--accent-cyan:#38bdf8;--accent-cyan-bg:#38bdf81f;--accent-cyan-border:#38bdf852;--accent-purple:#c4b5fd;--accent-purple-bg:#8b5cf624;--accent-purple-border:#8b5cf659;--status-success:#10b981;--status-success-text:#34d399;--status-success-bg:#10b9811f;--status-success-border:#10b98152;--success-color:#10b981;--status-warning:#f59e0b;--status-warning-text:#fbbf24;--status-warning-bg:#f59e0b1f;--status-warning-border:#f59e0b52;--warning-color:#f59e0b;--status-danger:#ef4444;--status-danger-text:#f87171;--status-danger-bg:#ef44441f;--status-danger-border:#ef444452;--error-color:#ef4444;--status-info:#3b82f6;--status-info-text:#60a5fa;--status-info-bg:#3b82f61f;--status-info-border:#3b82f652;--bg-color:var(--surface-bg);--card-color:var(--surface-card);--text-color:var(--text-primary);--text-muted-color:var(--text-muted);--border-color:#ffffff17;--border-strong:#ffffff29;--border-subtle:#ffffff0d;--glass-bg:#ffffff0a;--input-bg:#ffffff0d;--nav-bg:#ffffff0f;--shadow-card:0 4px 20px #00000059;--transition-speed:.2s}.light-theme,[data-theme=light]{--dark-base:#f1f5f9;--dark-card:#fff;--surface-bg:#f1f5f9;--surface-card:#fff;--surface-elevated:#f8fafc;--surface-subtle:#f8fafc;--surface-inset:#f1f5f9;--surface-hover:#f1f5f9;--surface-code:#0f172a;--pure-white:#0f172a;--text-primary:#0f172a;--text-main:#0f172a;--text-secondary:#334155;--text-muted:#475569;--text-on-accent:#fff;--bg-color:var(--surface-bg);--card-color:var(--surface-card);--text-color:var(--text-primary);--text-muted-color:var(--text-muted);--border-color:#cbd5e1;--border-strong:#94a3b8;--border-subtle:#e2e8f0;--glass-bg:#0f172a09;--input-bg:#fff;--nav-bg:#0f172a0f;--primary-purple:#6d28d9;--primary-indigo:#0369a1;--brand-yellow:#b45309;--accent-cyan:#0369a1;--accent-cyan-bg:#0284c714;--accent-cyan-border:#0284c747;--accent-purple:#5b21b6;--accent-purple-bg:#6d28d914;--accent-purple-border:#6d28d940;--status-success:#047857;--status-success-text:#065f46;--status-success-bg:#05966914;--status-success-border:#05966947;--success-color:#047857;--status-warning:#b45309;--status-warning-text:#92400e;--status-warning-bg:#d9770617;--status-warning-border:#d977064d;--warning-color:#b45309;--status-danger:#b91c1c;--status-danger-text:#991b1b;--status-danger-bg:#dc262614;--status-danger-border:#dc262647;--error-color:#b91c1c;--status-info:#1d4ed8;--status-info-text:#1e40af;--status-info-bg:#2563eb14;--status-info-border:#2563eb40;--shadow-card:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a}*,:before,:after{box-sizing:border-box}body{background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased;transition:background-color var(--transition-speed), color var(--transition-speed);margin:0;font-family:Inter,system-ui,-apple-system,sans-serif}.tp-container{flex-direction:column;min-height:100vh;display:flex}.tp-header{background-color:var(--bg-color);border-bottom:1px solid var(--border-color);z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0}.tp-header h1{background:linear-gradient(45deg, var(--primary-purple), var(--primary-indigo));-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;margin:0;font-size:1.5rem;font-weight:800}.status-badge{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:20px;padding:.5rem 1rem;font-size:.85rem}.status-online{color:var(--primary-indigo);text-shadow:0 0 10px #52f6f84d}.status-offline{color:var(--error-color)}.system-health-bar{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:20px;gap:1.5rem;padding:.5rem 1.25rem;display:flex}.health-item{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted-color);align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;display:flex}.health-dot{background-color:#555;border-radius:50%;width:8px;height:8px;transition:background-color .3s,box-shadow .3s;display:inline-block}.dot-online{background-color:#2ecc71;box-shadow:0 0 8px #2ecc71}.dot-offline{background-color:var(--error-color);box-shadow:0 0 8px var(--error-color)}.dot-connecting{background-color:var(--brand-yellow);animation:1.5s infinite pulse}@keyframes pulse{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}.tp-main{box-sizing:border-box;width:100%;max-width:100%;margin:0;padding:1rem}.tp-card{background-color:var(--card-color);border:1px solid var(--border-color);transition:transform var(--transition-speed), background-color var(--transition-speed);border-radius:12px;margin-bottom:.75rem;padding:1rem;overflow:hidden;box-shadow:0 10px 30px #0000001a;text-align:left!important}.tp-card h3{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted-color);margin:0 0 1.25rem;font-size:.9rem;text-align:left!important}.tp-card pre,.tp-card code,.tp-card p,.tp-card div{text-align:left!important}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.filter-card{cursor:pointer;transition:all var(--transition-speed);border:2px solid #0000}.filter-card:hover{background-color:var(--glass-bg);transform:translateY(-5px)}.active-filter{border-color:var(--primary-purple);background-color:#7d17ff0d}.stat-value{color:var(--text-color);margin:0;font-size:2rem;font-weight:700}.stat-accent{color:var(--primary-purple)}.stat-cyan{color:var(--primary-indigo)}.stat-yellow{color:var(--brand-yellow)}.scan-controls{gap:1rem;width:100%;display:flex}.scan-controls .tp-input{flex:1}.tp-input{box-sizing:border-box;background:var(--input-bg);border:1px solid var(--border-color);min-width:0;height:38px;color:var(--text-color);transition:border-color var(--transition-speed), box-shadow var(--transition-speed);border-radius:6px;outline:none;padding:.45rem .75rem;font-size:.85rem;line-height:1.25}select.tp-input{background-color:var(--dark-base);color:var(--text-color);cursor:pointer}textarea.tp-input{height:auto;min-height:80px;padding:.6rem .75rem}.tp-input:focus{border-color:var(--primary-purple);box-shadow:0 0 0 2px #7d17ff33}.ztp-wizard-layout{grid-template-columns:minmax(0,820px) minmax(340px,420px);align-items:start;gap:1.5rem;max-width:1280px;margin:0 auto;display:grid}.ztp-form-row-2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:1rem;margin-bottom:1.15rem;display:grid}.ztp-form-row-3{grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr) minmax(0,1.15fr);align-items:end;gap:1rem;margin-bottom:1.15rem;display:grid}.ztp-form-row-3-equal{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:1rem;margin-top:.75rem;display:grid}.ztp-gps-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:1rem;display:grid}.ztp-field{flex-direction:column;width:100%;min-width:0;display:flex}.ztp-label{color:var(--text-color);align-items:center;gap:.35rem;margin-bottom:.35rem;font-size:.78rem;font-weight:700;line-height:1.25;display:flex}@media (width<=1100px){.ztp-wizard-layout{grid-template-columns:1fr}}@media (width<=768px){.ztp-form-row-2,.ztp-form-row-3,.ztp-form-row-3-equal,.ztp-gps-row{grid-template-columns:1fr}}.btn-tp{cursor:pointer;transition:all var(--transition-speed);border:none;border-radius:8px;padding:.6rem 1.25rem;font-size:.85rem;font-weight:600}.btn-primary{background-color:var(--primary-purple);color:#fff!important}.btn-primary:hover{background-color:#9245ff;transform:translateY(-2px);box-shadow:0 5px 15px #7d17ff66}.btn-secondary{background-color:var(--glass-bg);border:1px solid var(--border-color);color:var(--text-color)}.btn-secondary:hover{background-color:var(--nav-bg)}.btn-scanning{background-color:var(--brand-yellow);color:#000}.btn-stop{background-color:var(--error-color);color:#fff}.table-container{border:1px solid var(--border-color);border-radius:12px;width:100%;overflow-x:auto}table{border-collapse:collapse;background-color:var(--card-color);table-layout:auto;width:100%}th{text-align:center;background-color:var(--primary-purple);color:#fff;text-transform:uppercase;letter-spacing:1px;border-bottom:none;padding:.75rem .5rem;font-size:.7rem;font-weight:800}td{text-align:left;border-bottom:1px solid var(--border-color);vertical-align:middle;color:var(--text-color);padding:.5rem .75rem;font-size:.8rem}tr:hover td{background-color:var(--glass-bg)}.badge{text-transform:uppercase;border-radius:4px;padding:.25rem .6rem;font-size:.7rem;font-weight:700;color:#fff!important}.badge-online{background-color:#2ecc71;border:1px solid #27ae60}.badge-offline{background-color:var(--error-color);border:1px solid #c0392b}.badge-degraded{background-color:#e67e22;border:1px solid #d35400}.badge-staged,.badge-staging{background-color:#0284c7;border:1px solid #0369a1}.badge-decommissioning{background-color:#d97706;border:1px solid #b45309}.badge-planned{background-color:#6366f1;border:1px solid #4f46e5}.badge-retired{background-color:#4b5563;border:1px solid #374151}.scan-summary{border:1px solid var(--border-color);box-sizing:border-box;background-color:#0003;border-radius:8px;width:100%;max-height:400px;margin-top:1.5rem;padding:1.5rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem;overflow-y:auto}.backup-sidebar{border-right:1px solid var(--border-color);max-height:calc(100vh - 250px);padding-right:1.5rem;overflow-y:auto}.backup-list{flex-direction:column;gap:.75rem;display:flex}.backup-item{background:var(--glass-bg);cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;padding:1rem;transition:all .2s;display:flex}.backup-item:hover{background:var(--nav-bg)}.active-view{border-color:var(--primary-indigo);background:#52f6f80d}.backup-content-area{flex-direction:column;max-width:calc(100vw - 450px);min-height:500px;display:flex;overflow:hidden}.code-block{color:#c9d1d9;text-align:left;border:1px solid var(--border-color);white-space:pre;background-color:#0d1117;border-radius:8px;flex:1;max-width:100%;padding:1.5rem;font-family:JetBrains Mono,monospace;font-size:.85rem;line-height:1.6;overflow:auto}.tab-container{border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;padding-bottom:.5rem;display:flex}.tab-btn{background:var(--glass-bg);border:1px solid var(--border-color);color:var(--text-muted-color);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.8rem;font-weight:600;transition:all .2s}.tab-btn:hover{background:var(--nav-bg)}.tab-active{background-color:var(--primary-purple);color:#fff;border-color:var(--primary-purple)}.tp-nav{gap:1rem;display:flex}.nav-link{background:var(--nav-bg);border:1px solid var(--border-color);color:var(--text-muted-color);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;border-radius:8px;padding:.6rem 1.5rem;font-size:.85rem;font-weight:700;transition:all .2s}.nav-link:hover{color:var(--text-color);background-color:var(--nav-bg);transform:translateY(-1px)}.nav-active{box-shadow:0 4px 12px #7870db4d;background-color:var(--primary-purple)!important;color:#fff!important;border-color:var(--primary-purple)!important}.grid-2-col{grid-template-columns:300px 1fr;display:grid}.switch{width:44px;height:22px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#333;transition:all .4s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;width:16px;height:16px;transition:all .4s;position:absolute;bottom:3px;left:3px}input:checked+.slider{background-color:var(--primary-purple)}input:checked+.slider:before{transform:translate(22px)}.slider.round{border-radius:22px}.slider.round:before{border-radius:50%}@media (width<=768px){.tp-header{padding:.75rem 1rem}.tp-header h1{font-size:1.1rem}.tp-nav{display:none}.mobile-menu-overlay{background:var(--bg-color);z-index:2000;flex-direction:column;gap:1.5rem;width:100%;height:100%;padding:2rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.mobile-menu-close{cursor:pointer;color:var(--text-color);background:0 0;border:none;align-self:flex-end;font-size:2rem}.mobile-hide{display:none!important}.dashboard-grid{grid-template-columns:1fr}.backup-sidebar{border-right:none;border-bottom:1px solid var(--border-color);max-height:300px;padding-bottom:1.5rem;padding-right:0}.backup-content-area{max-width:100%}.grid-2-col{grid-template-columns:1fr!important}.tp-main,.tp-card{padding:.75rem}th{white-space:nowrap;padding:.5rem .25rem;font-size:.65rem}td{white-space:nowrap;padding:.4rem;font-size:.75rem}.stat-value{font-size:1.5rem}.system-health-bar{gap:.75rem;padding:.4rem .8rem}.health-item span{display:none}}.hamburger-btn{color:var(--text-color);cursor:pointer;background:0 0;border:none;font-size:1.5rem;display:none}@media (width<=768px){.hamburger-btn{display:block}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.theme-toggle-btn{background:var(--glass-bg);border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:.4rem;transition:all .2s;display:flex}.theme-toggle-btn:hover{background:var(--nav-bg)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:#7d17ff66;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary-purple)}.inventory-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem;margin-bottom:.75rem}.inventory-kpi-card{margin-bottom:0!important;padding:.55rem .85rem!important}.inventory-kpi-card h3{letter-spacing:.6px!important;margin:0 0 .2rem!important;font-size:.72rem!important}.inventory-kpi-card .stat-value{line-height:1.15;font-size:1.5rem!important}.inventory-card-compact{padding:.75rem .85rem!important}.inventory-table-wrap{border-radius:10px}.inventory-table-compact{border-collapse:collapse;table-layout:auto;width:100%}.inventory-table-compact thead th{letter-spacing:.5px;vertical-align:top;white-space:nowrap;-webkit-user-select:none;user-select:none;padding:.38rem .45rem;font-size:.66rem}.inventory-table-compact tbody td{vertical-align:middle;padding:.3rem .45rem;font-size:.75rem;line-height:1.25}.th-sort-label{cursor:pointer;justify-content:center;align-items:center;gap:.25rem;width:100%;line-height:1.2;display:inline-flex}.th-sort-icon{opacity:.55;font-size:.62rem}.th-sort-icon.active{opacity:1;color:var(--brand-yellow)}.th-filterable{min-width:128px;max-width:175px}.th-partner-select{color:#fff;cursor:pointer;text-transform:none;letter-spacing:0;background-color:#00000061;border:1px solid #ffffff40;border-radius:4px;outline:none;width:100%;height:22px;margin-top:.24rem;padding:.14rem .32rem;font-size:.66rem;font-weight:600;display:block}.th-partner-select:hover,.th-partner-select:focus{border-color:var(--brand-yellow);background-color:#0000008c}.th-partner-select.active{border-color:var(--brand-yellow);color:var(--brand-yellow);background-color:#f2ff0f2e;font-weight:700}.th-partner-select option{color:#fff;background-color:#1c1c1c;font-weight:500}.cell-hostname{cursor:pointer;max-width:240px}.cell-hostname-primary{color:var(--primary-indigo);white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;font-weight:600;overflow:hidden}.cell-hostname-sub{color:var(--text-muted-color);white-space:nowrap;text-overflow:ellipsis;font-size:.66rem;font-weight:400;overflow:hidden}.cell-partner{white-space:nowrap;text-overflow:ellipsis;max-width:155px;overflow:hidden}.partner-cell-badge{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;vertical-align:middle;border-radius:4px;max-width:100%;padding:.12rem .42rem;font-size:.68rem;font-weight:600;transition:all .15s;display:inline-block;overflow:hidden}.partner-cell-badge.parent{color:#d8b4fe;background:#7d17ff24;border:1px solid #7d17ff59}.partner-cell-badge.parent:hover,.partner-cell-badge.parent.selected{border-color:var(--brand-yellow);color:#fff;background:#7d17ff52}.partner-cell-badge.child{color:#7dd3fc;background:#38bdf81f;border:1px solid #38bdf84d}.partner-cell-badge.child:hover,.partner-cell-badge.child.selected{border-color:var(--brand-yellow);color:#fff;background:#38bdf847}.light-theme .partner-cell-badge.parent{color:#5b21b6;background:#7d17ff1a;border-color:#7d17ff4d}.light-theme .partner-cell-badge.child{color:#0369a1;background:#0284c71a;border-color:#0284c74d}.partner-cell-unassigned{color:var(--text-muted-color);opacity:.5;font-size:.72rem}.partner-active-filter-pill{border-radius:999px;align-items:center;gap:.3rem;padding:.16rem .5rem;font-size:.68rem;font-weight:700;display:inline-flex}.partner-active-filter-pill.parent{color:#e9d5ff;background:#7d17ff33;border:1px solid #7d17ff80}.partner-active-filter-pill.child{color:#bae6fd;background:#38bdf82e;border:1px solid #38bdf873}.partner-active-filter-pill button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:.85rem;line-height:1}.cell-nowrap{white-space:nowrap}.cell-model{text-overflow:ellipsis;max-width:115px;overflow:hidden}.status-dot{background-color:var(--text-muted);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.status-dot.success,.status-dot.online{background-color:var(--status-success);box-shadow:0 0 6px var(--status-success-border)}.status-dot.warning,.status-dot.degraded{background-color:var(--status-warning)}.status-dot.danger,.status-dot.offline{background-color:var(--status-danger)}.status-dot.info,.status-dot.staged{background-color:var(--status-info)}.tp-pill{letter-spacing:.03em;text-transform:uppercase;border:1px solid var(--border-color);background:var(--surface-subtle);color:var(--text-secondary);border-radius:6px;align-items:center;gap:.35rem;padding:.18rem .55rem;font-size:.7rem;font-weight:700;display:inline-flex}.tp-pill-purple{background:var(--accent-purple-bg);border-color:var(--accent-purple-border);color:var(--accent-purple)}.tp-pill-cyan{background:var(--accent-cyan-bg);border-color:var(--accent-cyan-border);color:var(--accent-cyan)}.tp-pill-success{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success-text)}.tp-pill-warning{background:var(--status-warning-bg);border-color:var(--status-warning-border);color:var(--status-warning-text)}.tp-pill-danger{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger-text)}.tp-section-toggle{background:var(--surface-subtle);border:1px solid var(--border-color);width:100%;color:var(--text-primary);cursor:pointer;transition:background var(--transition-speed), border-color var(--transition-speed);border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.82rem;font-weight:700;display:flex}.tp-section-toggle:hover{background:var(--surface-hover);border-color:var(--border-strong)}
