:root{--font-display: "Outfit", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--transition-fast: .16s cubic-bezier(.4, 0, .2, 1);--transition-normal: .26s cubic-bezier(.4, 0, .2, 1)}:root,[data-theme=light]{--bg: #f3f6fc;--bg-elevated: #ffffff;--surface: #ffffff;--surface-2: #f5f7fb;--border: #e5e7eb;--text: #1f2937;--text-muted: #6b7280;--primary: #4f46e5;--primary-hover: #4338ca;--primary-soft: rgba(79, 70, 229, .1);--on-primary: #ffffff;--success: #10b981;--success-soft: rgba(16, 185, 129, .12);--warning: #f59e0b;--warning-soft: rgba(245, 158, 11, .12);--danger: #ef4444;--danger-soft: rgba(239, 68, 68, .12);--info: #0ea5e9;--info-soft: rgba(14, 165, 233, .12);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .06);--shadow-md: 0 4px 16px rgba(40, 50, 90, .07), 0 2px 6px rgba(40, 50, 90, .04);--sidebar-bg: #2d2a54;--bg-app-image: none;color-scheme:light}[data-theme=dark]{--bg: #0b0f1a;--bg-elevated: #131826;--surface: #151b2b;--surface-2: #1b2233;--border: rgba(255, 255, 255, .12);--text: #e8edf6;--text-muted: #a8b1c6;--primary: #6366f1;--primary-hover: #818cf8;--primary-soft: rgba(99, 102, 241, .18);--on-primary: #ffffff;--success: #22c55e;--success-soft: rgba(34, 197, 94, .16);--warning: #f59e0b;--warning-soft: rgba(245, 158, 11, .16);--danger: #ef4444;--danger-soft: rgba(239, 68, 68, .16);--info: #38bdf8;--info-soft: rgba(56, 189, 248, .16);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 8px 30px rgba(0, 0, 0, .45);--sidebar-bg: #131826;--bg-app-image: radial-gradient(circle at 10% 20%, rgba(99, 102, 241, .06) 0%, transparent 45%), radial-gradient(circle at 90% 80%, rgba(139, 92, 246, .07) 0%, transparent 45%);color-scheme:dark}[data-theme=midnight]{--bg: #0a0e27;--bg-elevated: #111634;--surface: #141a3a;--surface-2: #1b2350;--border: rgba(120, 140, 220, .14);--text: #e6ecff;--text-muted: #93a0cf;--primary: #3b82f6;--primary-hover: #60a5fa;--primary-soft: rgba(59, 130, 246, .2);--on-primary: #ffffff;--success: #2dd4bf;--success-soft: rgba(45, 212, 191, .16);--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .16);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .16);--info: #38bdf8;--info-soft: rgba(56, 189, 248, .16);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5);--shadow-md: 0 10px 34px rgba(2, 6, 30, .6);--sidebar-bg: #0d1230;--bg-app-image: radial-gradient(circle at 12% 18%, rgba(59, 130, 246, .1) 0%, transparent 45%), radial-gradient(circle at 88% 82%, rgba(37, 99, 235, .1) 0%, transparent 45%);color-scheme:dark}[data-theme=emerald]{--bg: #0a1410;--bg-elevated: #0f1d17;--surface: #11231b;--surface-2: #173026;--border: rgba(110, 200, 160, .14);--text: #e7f5ec;--text-muted: #8fb6a3;--primary: #10b981;--primary-hover: #34d399;--primary-soft: rgba(16, 185, 129, .18);--on-primary: #04261a;--success: #22c55e;--success-soft: rgba(34, 197, 94, .18);--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .16);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .16);--info: #2dd4bf;--info-soft: rgba(45, 212, 191, .16);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5);--shadow-md: 0 10px 34px rgba(0, 20, 12, .6);--sidebar-bg: #0c1c15;--bg-app-image: radial-gradient(circle at 12% 18%, rgba(16, 185, 129, .1) 0%, transparent 45%), radial-gradient(circle at 88% 82%, rgba(5, 150, 105, .1) 0%, transparent 45%);color-scheme:dark}[data-theme=royal]{--bg: #100a1f;--bg-elevated: #18102e;--surface: #1c1336;--surface-2: #261947;--border: rgba(170, 130, 230, .16);--text: #f0eaff;--text-muted: #b3a3d6;--primary: #a855f7;--primary-hover: #c084fc;--primary-soft: rgba(168, 85, 247, .2);--on-primary: #ffffff;--success: #34d399;--success-soft: rgba(52, 211, 153, .16);--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .16);--danger: #fb7185;--danger-soft: rgba(251, 113, 133, .16);--info: #818cf8;--info-soft: rgba(129, 140, 248, .16);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5);--shadow-md: 0 10px 34px rgba(20, 4, 40, .6);--sidebar-bg: #190f30;--bg-app-image: radial-gradient(circle at 12% 18%, rgba(168, 85, 247, .12) 0%, transparent 45%), radial-gradient(circle at 88% 82%, rgba(124, 58, 237, .1) 0%, transparent 45%);color-scheme:dark}:root,[data-theme]{--bg-main: var(--bg);--bg-sidebar: var(--sidebar-bg);--bg-card: var(--surface);--bg-hover: var(--primary-soft);--primary-glow: var(--primary-soft);--primary-gradient: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);--accent-gradient: linear-gradient(135deg, var(--info) 0%, var(--primary) 100%);--text-main: var(--text);--border-color: var(--border);--border-glow: var(--primary-soft);--status-online: var(--success);--status-online-glow: var(--success-soft);--status-warning: var(--warning);--status-warning-glow: var(--warning-soft);--status-offline: var(--danger);--status-offline-glow: var(--danger-soft);--status-unknown: var(--text-muted);--accent-purple: var(--primary-hover)}body.light-theme .glass-card{background:#fff!important;border:1px solid #e5e7eb!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:0 4px 20px #28325a0a,0 2px 4px #28325a05!important}body.light-theme .glass-card:hover{border-color:#d1d5db!important}body.light-theme .input-field{background-color:#fff!important;color:#1f2937!important;border:1px solid #d1d5db!important}body.light-theme .input-field:focus{background-color:#fff!important;color:#1f2937!important;border-color:#4f46e5!important;box-shadow:0 0 0 3px #4f46e51f!important}body.light-theme select.input-field{background-color:#fff!important;color:#1f2937!important}body.light-theme .modal-overlay{background:#0f172a4d!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}body.light-theme .btn-secondary{background:#fff!important;border:1px solid #d1d5db!important;color:#4b5563!important}body.light-theme .btn-secondary:hover{background:#f9fafb!important;border-color:#9ca3af!important;color:#1f2937!important}body.light-theme .inventory-table th{background-color:#f8fafc!important;color:#475569!important;border-bottom:2px solid #e2e8f0!important}body.light-theme .inventory-table td{color:#334155!important;border-bottom:1px solid #e2e8f0!important}body.light-theme .inventory-table tr:hover td{background-color:#f1f5f9!important}body.light-theme .status-badge.online{background:#10b98114!important;border-color:#10b98133!important;color:#047857!important}body.light-theme .status-badge.offline{background:#ef444414!important;border-color:#ef444433!important;color:#b91c1c!important}body.light-theme .status-badge.warning{background:#f59e0b14!important;border-color:#f59e0b33!important;color:#b45309!important}body.light-theme .status-badge.unknown{background:#f3f4f6!important;border-color:#e5e7eb!important;color:#6b7280!important}body.light-theme .search-filters>div{background-color:#fff!important;border-color:#d1d5db!important}body.light-theme .password-reveal-btn:hover,body.light-theme .modal-close:hover,body.light-theme .detail-val,body.light-theme .stat-value{color:#1f2937!important}body.light-theme .stat-icon{background:#f3f4f6!important;border-color:#e5e7eb!important;color:#4f46e5!important}body.light-theme .glass-card:hover .stat-icon{background:var(--primary-gradient)!important;color:#fff!important}.premium-tabs-container{display:flex;gap:.75rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color);padding-bottom:.75rem}.premium-tab-btn{padding:8px 16px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.85rem;display:inline-flex;align-items:center;gap:.5rem;transition:all var(--transition-fast);border:1px solid var(--border-color);background:#646e8c14;color:var(--text-muted);font-family:var(--font-body)}.premium-tab-btn:hover{background:#646e8c26;color:var(--text-main);border-color:var(--primary-glow)}.premium-tab-btn.active{background:var(--primary-gradient);border:none!important;color:#fff!important;box-shadow:0 4px 12px var(--primary-glow)}body.light-theme .premium-tab-btn{background:#e2e8f0!important;border-color:#cbd5e1!important;color:#334155!important}body.light-theme .premium-tab-btn:hover{background:#cbd5e1!important;color:#0f172a!important;border-color:#94a3b8!important}body.light-theme .premium-tab-btn.active{background:var(--primary-gradient)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 4px 12px #4f46e540!important}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);background-image:var(--bg-app-image);background-attachment:fixed;color:var(--text);font-family:var(--font-body);font-size:.85rem;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:background-color var(--transition-normal),color var(--transition-normal)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;color:var(--text-main)}a,a:visited{color:var(--primary)!important;text-decoration:none;transition:opacity var(--transition-fast)}a:hover{opacity:.85;text-decoration:underline!important}.app-container{display:flex;min-height:100vh}.sidebar{width:230px;background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);padding:1.25rem 1rem;display:flex;flex-direction:column;justify-content:space-between;flex-shrink:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logo-section{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}.logo-icon{width:32px;height:32px;background:var(--primary-gradient);border-radius:8px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px var(--primary-glow)}.logo-text{font-family:var(--font-display);font-size:1.05rem;font-weight:800;background:linear-gradient(135deg,#fff 30%,#c2c2d6);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.logo-badge{font-size:.6rem;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);color:#9d86f9;padding:1px 4px;border-radius:3px;font-weight:700;letter-spacing:.05em;margin-left:auto}.nav-list{list-style:none;display:flex;flex-direction:column;gap:.5rem;flex-grow:1}.nav-item{position:relative;display:flex;align-items:center;gap:.75rem;padding:.55rem .75rem;border-radius:8px;color:var(--text-muted);font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent;font-size:.82rem}.nav-item:hover{color:#fff;background-color:var(--bg-hover);transform:translate(3px)}.nav-item.active{color:#fff;background:#7c3aed1f;border:1px solid rgba(124,58,237,.25);box-shadow:0 4px 20px #7c3aed14;padding-left:1.1rem}.nav-item.active:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;background:var(--primary);border-radius:0 4px 4px 0;box-shadow:0 0 8px var(--primary)}.nav-item.active svg{color:var(--primary);filter:drop-shadow(0 0 5px var(--primary-glow))}.sidebar-footer{border-top:1px solid var(--border-color);padding-top:1.5rem;display:flex;flex-direction:column;gap:1rem}.user-profile-badge{display:flex;align-items:center;gap:.75rem}.user-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff}.user-info{display:flex;flex-direction:column}.user-name{font-size:.9rem;font-weight:600;color:#fff}.user-role{font-size:.75rem;color:var(--text-muted)}.content-area{flex-grow:1;padding:1.25rem;overflow-y:auto;height:100vh}.view-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.view-title-desc{display:flex;flex-direction:column;gap:.15rem}.view-title-desc h1{font-size:1.5rem;font-weight:700}.view-title-desc p{color:var(--text-muted);font-size:.8rem}.glass-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.2rem;box-shadow:var(--shadow-sm);transition:border-color var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal)}.glass-card:hover{border-color:var(--primary-soft)}.glass-card.interactive{cursor:pointer}.glass-card.interactive:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary)}.glass-card.interactive:active{transform:translateY(-1px)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.widget-grid{display:grid;gap:1.5rem}.widget-grid-2-1{grid-template-columns:2fr 1fr}.widget-grid-thirds{grid-template-columns:1fr 1fr 1.2fr}.widget-grid-lead{grid-template-columns:1.4fr 1fr 1fr}@media (max-width: 1024px){.widget-grid-2-1,.widget-grid-thirds,.widget-grid-lead{grid-template-columns:1fr}}.stat-widget{display:flex;align-items:center;justify-content:space-between}.stat-details{display:flex;flex-direction:column;gap:.35rem}.stat-label{font-size:.85rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:1.6rem;font-family:var(--font-display);font-weight:800;color:#fff}.stat-icon{width:40px;height:40px;border-radius:10px;background:#ffffff08;border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;color:var(--primary);transition:all var(--transition-fast)}.glass-card:hover .stat-icon{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 15px var(--primary-glow);border-color:transparent}.glowing-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.glowing-dot.online{background-color:var(--status-online);box-shadow:0 0 10px var(--status-online-glow)}.glowing-dot.offline{background-color:var(--status-offline);box-shadow:0 0 10px var(--status-offline-glow)}.glowing-dot.warning{background-color:var(--status-warning);box-shadow:0 0 10px var(--status-warning-glow)}.glowing-dot.unknown{background-color:var(--status-unknown)}.status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:4px 8px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border:1px solid transparent}.status-badge.online{background:#22c55e14;border-color:#22c55e33;color:#8cf2b2}.status-badge.offline{background:#ef444414;border-color:#ef444433;color:#f58989}.status-badge.warning{background:#f59e0b14;border-color:#f59e0b33;color:#f9cf86}.status-badge.unknown{background:#ffffff0a;border-color:var(--border-color);color:var(--text-muted)}.provider-tag{display:inline-flex;align-items:center;padding:3px 6px;border-radius:4px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent}.provider-tag.azure{background:#0078d41f;border-color:#0078d44d;color:#3aa6ff}.provider-tag.private{background:#ec48991f;border-color:#ec48994d;color:#ff7ebb}.provider-tag.local{background:#10b9811f;border-color:#10b9814d;color:#34d399}.form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.form-group label{font-size:.75rem;color:var(--text-muted);font-weight:500}.input-field{background-color:var(--bg-elevated);border:1px solid var(--border);color:var(--text);padding:.5rem .7rem;border-radius:var(--radius-sm);font-size:.8rem;font-family:var(--font-body);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.input-field::placeholder{color:var(--text-muted);opacity:.8}.input-field:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);background-color:var(--bg-elevated)}.btn{font-family:var(--font-body);font-weight:600;font-size:.8rem;padding:.5rem .95rem;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--primary-soft),0 0 0 1px var(--primary)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--surface-2);border:1px solid var(--border);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--primary-soft);border-color:var(--primary);color:var(--text);transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-ghost{background:transparent;border:1px solid transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:var(--primary-soft);color:var(--text)}.btn-danger{background:var(--danger);color:#fff;box-shadow:var(--shadow-sm)}.btn-danger:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-danger:active:not(:disabled){transform:translateY(0)}.btn-icon{padding:.5rem;border-radius:var(--radius-sm);aspect-ratio:1}.table-container{overflow-x:auto;margin-top:1rem}.inventory-table{width:100%;border-collapse:collapse;text-align:left}.inventory-table th{padding:6px 10px;font-family:var(--font-display);font-size:.76rem;font-weight:600;color:var(--text-muted);border-bottom:2px solid var(--border-color);text-transform:uppercase;letter-spacing:.05em}.inventory-table td{padding:6px 10px;font-size:.78rem;color:var(--text-main);border-bottom:1px solid var(--border-color);vertical-align:middle}.inventory-table tr:hover td{background-color:#ffffff05}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#080a168c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.modal-content{width:100%;max-width:600px;max-height:90vh;overflow-y:auto;position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:1.4rem;animation:modalIn .26s cubic-bezier(.34,1.4,.5,1)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast)}.modal-close:hover{color:#fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes modalIn{0%{transform:translateY(8px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes viewIn{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}@keyframes indicatorIn{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}.login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;position:relative}.login-card{width:100%;max-width:450px;animation:slideUp .4s cubic-bezier(.34,1.56,.64,1);padding:2.5rem}.login-header{text-align:center;margin-bottom:2rem}.login-logo{margin:0 auto 1rem;width:56px;height:56px}.login-header h2{font-size:1.75rem;margin-bottom:.35rem}.login-header p{color:var(--text-muted);font-size:.9rem}.alert-box{background:#ef444414;border:1px solid rgba(239,68,68,.2);color:#f58989;padding:.75rem 1rem;border-radius:8px;font-size:.85rem;margin-bottom:1.25rem}.audit-status-strip{display:flex;gap:1.5rem;margin-bottom:2.5rem;flex-wrap:wrap}.audit-indicator-card{flex:1;min-width:200px;display:flex;gap:1rem;align-items:center}.action-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-filters{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.detail-row{display:flex;justify-content:space-between;padding:.45rem 0;border-bottom:1px solid var(--border-color);font-size:.8rem}.detail-label{color:var(--text-muted);font-weight:500}.detail-val{color:#fff;font-weight:600;font-family:monospace}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .input-field{width:100%;padding-right:3rem}.password-reveal-btn{position:absolute;right:10px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:5px}.password-reveal-btn:hover{color:#fff}.chart-container{height:200px;margin-top:1.5rem;position:relative;display:flex;align-items:flex-end;justify-content:space-between;padding-top:1rem;border-bottom:1px solid var(--border-color)}.chart-bar-wrapper{display:flex;flex-direction:column;align-items:center;flex-grow:1;height:100%;justify-content:flex-end;gap:.5rem}.chart-bar{width:32px;background:var(--primary-gradient);border-radius:6px 6px 0 0;transition:height .8s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 10px var(--primary-glow);position:relative}.chart-bar:hover{background:var(--accent-gradient)}.chart-bar-tooltip{position:absolute;top:-30px;left:50%;transform:translate(-50%);background:#fff;color:#000;font-size:.75rem;font-weight:700;padding:2px 6px;border-radius:4px;opacity:0;pointer-events:none;transition:opacity var(--transition-fast)}.chart-bar:hover .chart-bar-tooltip{opacity:1}.chart-bar-label{font-size:.75rem;color:var(--text-muted);font-weight:600}@keyframes spinAnim{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-anim{animation:spinAnim .8s linear infinite}.sidebar{--rail-w: 68px;--rail-expanded-w: 232px;width:var(--rail-w);background-color:var(--sidebar-bg);border-right:1px solid var(--border);padding:.9rem .7rem;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;flex-shrink:0;height:100vh;z-index:100;overflow:hidden;transition:width var(--transition-normal)}@media (hover: hover) and (min-width: 901px){.sidebar:hover,.sidebar:focus-within{width:var(--rail-expanded-w);box-shadow:var(--shadow-md)}}.sidebar-scroll{display:flex;flex-direction:column;gap:.35rem;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;scrollbar-width:thin}.logo-section{display:flex;align-items:center;gap:.7rem;padding:.25rem .35rem;margin-bottom:1rem;min-height:44px}.logo-icon{width:40px;height:40px;flex-shrink:0;background:var(--primary-gradient);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px var(--primary-soft)}.logo-text-group{display:flex;flex-direction:column;line-height:1.15;white-space:nowrap;opacity:0;transition:opacity var(--transition-fast)}.logo-text{font-family:var(--font-display);font-size:1rem;font-weight:800;color:var(--text);background:none;-webkit-text-fill-color:currentColor}.logo-badge{font-size:.55rem;color:var(--primary);font-weight:700;letter-spacing:.08em}.nav-list{list-style:none;display:flex;flex-direction:column;gap:.25rem;width:100%;padding:0}.nav-divider{height:1px;background:var(--border);margin:.6rem .4rem}.nav-item{position:relative;display:flex;align-items:center;gap:.85rem;height:42px;padding:0 .7rem;border-radius:var(--radius-sm);color:var(--text-muted);font-weight:500;font-size:.83rem;cursor:pointer;border:1px solid transparent;white-space:nowrap;transition:background-color var(--transition-fast),color var(--transition-fast)}.nav-icon{flex-shrink:0}.nav-label{opacity:0;transition:opacity var(--transition-fast)}.sidebar:hover .nav-label,.sidebar:focus-within .nav-label,.sidebar:hover .logo-text-group,.sidebar:focus-within .logo-text-group,.sidebar:hover .user-info,.sidebar:focus-within .user-info{opacity:1}.nav-item:hover{color:var(--text);background-color:var(--surface-2)}.nav-item.active{color:var(--primary);background:var(--primary-soft);font-weight:600}.nav-item.active .nav-icon{color:var(--primary)}.nav-item.active:before{content:"";position:absolute;left:-.7rem;top:50%;transform:translateY(-50%);width:3px;height:22px;background:var(--primary);border-radius:0 3px 3px 0}.nav-item-badge .nav-icon{position:relative}.nav-item-badge .nav-icon:after{content:"";position:absolute;top:-2px;right:-2px;width:7px;height:7px;background-color:var(--danger);border-radius:50%;border:1.5px solid var(--sidebar-bg)}.nav-unread-dot{position:absolute;top:7px;right:9px;width:9px;height:9px;background-color:var(--danger);border-radius:50%;box-shadow:0 0 0 2px var(--sidebar-bg);z-index:5;animation:nav-dot-pulse 1.8s ease-in-out infinite}@keyframes nav-dot-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.7}}.sidebar-footer{width:100%;display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--border);padding-top:.75rem;margin-top:.5rem}.sidebar-footer-actions{display:flex;align-items:center;gap:.4rem}.sidebar-foot-btn{width:40px;height:40px;flex-shrink:0;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;color:var(--text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.sidebar-foot-btn:hover{background:var(--surface-2);color:var(--text)}.user-profile-badge{display:flex;align-items:center;gap:.7rem;width:100%;padding:.35rem;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;cursor:pointer;text-align:left;transition:background-color var(--transition-fast)}.user-profile-badge:hover{background:var(--surface-2)}.user-avatar{width:36px;height:36px;flex-shrink:0;border-radius:50%;background:var(--primary-gradient);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:var(--on-primary)}.user-info{display:flex;flex-direction:column;line-height:1.2;white-space:nowrap;overflow:hidden;opacity:0;transition:opacity var(--transition-fast)}.user-name{font-size:.82rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.7rem;color:var(--text-muted);text-transform:capitalize}.sidebar-logout-btn{display:flex;align-items:center;gap:.85rem;width:100%;height:40px;padding:0 .7rem;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;color:var(--text-muted);font-family:var(--font-body);font-weight:500;font-size:.83rem;cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast),color var(--transition-fast)}.sidebar-logout-btn:hover{background:var(--danger-soft);color:var(--danger)}.top-header-bar{display:flex;align-items:center;justify-content:space-between;background:var(--bg-card);border-bottom:1px solid var(--border-color);padding:.75rem 1.75rem;height:58px;position:sticky;top:0;z-index:10;box-shadow:0 1px 3px #00000003,0 1px 2px #00000005}body.light-theme .top-header-bar{background:#fff;border-bottom:1px solid #e5e7eb}.header-icon-blue{width:34px;height:34px;background-color:#3b82f6!important;border-radius:8px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #3b82f64d!important}.header-search-bar{width:380px;height:36px;border-radius:8px;border:1px solid var(--border-color);background:#ffffff08;color:var(--text-main);padding:0 1rem;font-size:.8rem;transition:all var(--transition-fast)}body.light-theme .header-search-bar{background:#f8fafc;border:1px solid #d1d5db;color:#1f2937}.header-search-bar:focus{outline:none;border-color:#4f46e5!important;box-shadow:0 0 0 3px #4f46e514!important;background:#fff!important}.header-btn-blue{width:36px;height:36px;background-color:#3b82f6!important;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast)}.header-btn-blue:hover{background-color:#2563eb!important}.header-btn-green{width:36px;height:36px;background-color:#10b981!important;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast)}.header-btn-green:hover{background-color:#059669!important}.header-avatar{width:36px;height:36px;border-radius:50%;background-color:#f59e0b!important;display:flex;align-items:center;justify-content:center;color:#fff!important;font-weight:700;font-size:.9rem;box-shadow:0 2px 8px #f59e0b4d!important}.content-area{padding:1.5rem 1.75rem!important;flex-grow:1;height:calc(100vh - 58px)!important;overflow-y:auto}.terminal-window-card{background:#0d0c15!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 20px 50px #0009!important;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.engine-tag{display:inline-flex;align-items:center;padding:3px 6px;border-radius:4px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent}.engine-tag.postgresql{background:#33679126;color:#78b5e6;border-color:#78b5e640}.engine-tag.mysql{background:#f2911126;color:#ffae42;border-color:#ffae4240}.engine-tag.mongodb{background:#4ea83c26;color:#58d343;border-color:#58d34340}.engine-tag.oracle{background:#eb000026;color:#ff5c5c;border-color:#ff5c5c40}.engine-tag.sqlserver{background:#ba00a226;color:#f57aff;border-color:#f57aff40}body.light-theme .engine-tag.postgresql{background:#33679114!important;color:#1e4e75!important;border-color:#1e4e7533!important}body.light-theme .engine-tag.mysql{background:#f2911114!important;color:#b25e00!important;border-color:#b25e0033!important}body.light-theme .engine-tag.mongodb{background:#4ea83c14!important;color:#27621c!important;border-color:#27621c33!important}body.light-theme .engine-tag.oracle{background:#eb000014!important;color:#b91c1c!important;border-color:#b91c1c33!important}body.light-theme .engine-tag.sqlserver{background:#ba00a214!important;color:#9a0089!important;border-color:#9a008933!important}.view-transition{animation:viewIn .28s cubic-bezier(.4,0,.2,1)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,.nav-item:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}.theme-picker-trigger{width:40px;height:40px;min-width:40px;flex-shrink:0;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;color:var(--text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.theme-picker-trigger:hover{background:var(--surface-2);color:var(--text)}.theme-picker-popover{position:absolute;bottom:calc(100% + 10px);left:0;width:230px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:.5rem;z-index:2000;animation:modalIn .18s ease-out}.theme-picker-title{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--text-muted);padding:.35rem .5rem .5rem}.theme-option{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;cursor:pointer;text-align:left;color:var(--text);transition:background-color var(--transition-fast)}.theme-option:hover{background:var(--surface-2)}.theme-option.active{background:var(--primary-soft);border-color:var(--primary)}.theme-swatch{display:inline-flex;border-radius:6px;overflow:hidden;flex-shrink:0;border:1px solid var(--border)}.theme-swatch span{width:12px;height:24px;display:block}.theme-option-text{display:flex;flex-direction:column;line-height:1.2;flex:1}.theme-option-name{font-size:.82rem;font-weight:600}.theme-option-desc{font-size:.7rem;color:var(--text-muted)}.theme-option-check{color:var(--primary);flex-shrink:0}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:3rem 1.5rem;gap:.5rem}.empty-state-compact{padding:1.75rem 1rem}.empty-state-illustration{margin-bottom:.5rem}.empty-state-title{font-size:1.1rem;margin:0}.empty-state-message{color:var(--text-muted);font-size:.88rem;max-width:380px;line-height:1.5;margin:0}.tooltip-wrap{position:relative;display:inline-flex}.tooltip-bubble{position:absolute;z-index:3000;background:var(--text);color:var(--bg);font-size:.72rem;font-weight:600;padding:5px 9px;border-radius:6px;white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-md);animation:fadeIn .12s ease-out}.tooltip-top{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tooltip-bottom{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.tooltip-left{right:calc(100% + 6px);top:50%;transform:translateY(-50%)}.tooltip-right{left:calc(100% + 6px);top:50%;transform:translateY(-50%)}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;font-family:var(--font-body);font-size:.72rem;font-weight:700;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-bottom-width:2px;border-radius:5px}.skeleton{position:relative;overflow:hidden;background:var(--surface-2);border-radius:var(--radius-sm)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--primary-soft),transparent);animation:shimmer 1.4s infinite}.skeleton-line{height:12px;margin:8px 0}.skeleton-card{height:96px}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:600;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted)}.chip.success{background:var(--success-soft);color:var(--success);border-color:transparent}.chip.warning{background:var(--warning-soft);color:var(--warning);border-color:transparent}.chip.danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.chip.info{background:var(--info-soft);color:var(--info);border-color:transparent}.donut-ring{transform:rotate(-90deg);transform-origin:center}.donut-seg{transition:stroke-dashoffset .9s cubic-bezier(.4,0,.2,1)}.mini-bar-track{width:100%;height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden}.mini-bar-fill{height:100%;border-radius:999px;background:var(--primary);transition:width .9s cubic-bezier(.4,0,.2,1)}.mobile-menu-btn,.sidebar-scrim{display:none}@media (max-width: 900px){.mobile-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;margin-right:.25rem}.sidebar{position:fixed!important;left:0;top:0;width:248px!important;height:100vh!important;transform:translate(-110%);transition:transform var(--transition-normal);z-index:1200}.sidebar.open{transform:translate(0)}.sidebar .nav-label,.sidebar .logo-text-group,.sidebar .user-info{opacity:1!important}.sidebar-scrim.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1100;animation:fadeIn .2s ease-out}.header-search-bar{width:100%!important;min-width:0}.top-header-bar{padding:.6rem 1rem;gap:.5rem}.top-header-bar>div{min-width:0}.content-area{padding:1rem!important}.dashboard-grid{grid-template-columns:1fr 1fr!important;gap:.85rem}.widget-grid{grid-template-columns:1fr!important}.view-header{flex-wrap:wrap;gap:.75rem}.modal-content{max-width:100%!important;padding:1.1rem}}@media (max-width: 560px){.dashboard-grid{grid-template-columns:1fr!important}.search-filters{width:100%}.search-filters .input-field{width:100%!important}}.topology-shell{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:1.5rem;height:calc(100vh - 200px);min-height:420px;width:100%;max-width:100%;min-width:0}.topology-vm-list,.topology-graph{min-height:0}.topology-canvas{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;justify-items:center;gap:clamp(1rem,4vw,3.5rem);width:100%;height:100%;padding:2rem clamp(1rem,3vw,3rem);position:relative;overflow-y:auto;overflow-x:hidden}.topology-col{min-width:0;max-width:100%}.topology-col-side{width:100%;max-width:260px;align-self:stretch;max-height:100%;overflow-y:auto;padding-bottom:.25rem}.topology-col-center{flex-shrink:0}.topology-col code,.topology-col span{min-width:0;max-width:100%}@media (max-width: 900px){.topology-shell{grid-template-columns:1fr;height:auto}.topology-vm-list{max-height:260px}.topology-graph{min-height:480px}}@media (max-width: 600px){.topology-canvas{grid-template-columns:1fr;justify-items:stretch;gap:1.25rem;padding:1.25rem;overflow-y:auto}.topology-col-side{max-width:100%;max-height:none;overflow-y:visible}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.skeleton:after{animation:none}}
