@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap");:root{--bg-primary:#07090e;--bg-secondary:#0d121d;--bg-card:rgba(16,23,38,0.7);--bg-card-hover:rgba(22,32,54,0.85);--border-color:rgba(255,255,255,0.08);--border-focus:rgba(59,130,246,0.5);--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-blue:#3b82f6;--accent-blue-glow:rgba(59,130,246,0.25);--accent-green:#10b981;--accent-green-glow:rgba(16,185,129,0.2);--accent-amber:#f59e0b;--accent-rose:#f43f5e;--accent-purple:#8b5cf6;--font-sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"JetBrains Mono",monospace}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);min-height:100vh;-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 0 0,rgba(59,130,246,.08) 0,transparent 50%),radial-gradient(at 100% 0,rgba(139,92,246,.06) 0,transparent 50%),radial-gradient(at 50% 100%,rgba(16,185,129,.05) 0,transparent 50%);background-attachment:fixed}a{color:inherit;text-decoration:none}.glass-panel{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:12px;transition:all .2s cubic-bezier(.16,1,.3,1)}.glass-panel:hover{border-color:rgba(255,255,255,.14)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.02em}.badge-online{background:rgba(16,185,129,.15);color:#34d399;border:1px solid rgba(16,185,129,.3)}.badge-offline{background:rgba(100,116,139,.15);color:#94a3b8;border:1px solid rgba(100,116,139,.3)}.badge-revoked{background:rgba(244,63,94,.15);color:#fb7185;border:1px solid rgba(244,63,94,.3)}.badge-degraded{background:rgba(245,158,11,.15);color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.status-dot{width:7px;height:7px;border-radius:50%}.status-dot.online{background:#10b981;box-shadow:0 0 8px #10b981;animation:pulse-dot 2s infinite}.status-dot.offline{background:#64748b}.status-dot.revoked{background:#f43f5e}@keyframes pulse-dot{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.15);opacity:1}to{transform:scale(.95);opacity:.8}}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:white;border:1px solid rgba(255,255,255,.15);padding:8px 16px;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 14px var(--accent-blue-glow);transition:all .18s ease}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(59,130,246,.4)}.btn-secondary{background:rgba(255,255,255,.05);color:var(--text-primary);border:1px solid var(--border-color);padding:8px 16px;border-radius:8px;font-weight:500;font-size:.875rem;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .18s ease}.btn-secondary:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}.btn-danger{background:rgba(244,63,94,.12);color:#fb7185;border:1px solid rgba(244,63,94,.25);padding:6px 12px;border-radius:6px;font-weight:600;font-size:.8rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .18s ease}.btn-danger:hover{background:rgba(244,63,94,.25)}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table th{padding:12px 16px;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-color)}.data-table td{padding:14px 16px;font-size:.875rem;border-bottom:1px solid rgba(255,255,255,.04)}.data-table tr:hover td{background:rgba(255,255,255,.02)}.font-mono{font-family:var(--font-mono)}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100}.progress-bar-bg{width:100%;height:6px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:999px;transition:width .3s ease}