*,*:before,*:after{box-sizing:inherit}:root{box-sizing:border-box;color-scheme:dark}html,body{height:100%}body{margin:0;font:14px/1.35 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}router-outlet{display:none}@font-face{font-family:dolly;src:url("./media/04b-5M5O3V34.ttf") format("truetype");font-display:swap}.card-title:where(h1,h2,h3,h4,h5,h6){margin:0;font-weight:600;font-size:1.25rem}:root{--bg: #0b0f17;--panel: #0f1624;--panel-2: #111b2c;--border: rgba(255, 255, 255, .08);--text: rgba(255, 255, 255, .88);--muted: rgba(255, 255, 255, .55);--hint: rgba(255, 255, 255, .7);--accent: #f62681;--accent-soft: rgba(246, 38, 129, .35);--accent-glow: rgba(246, 38, 129, .55);--accent-2: #8b5cf6;--warn: #fb7185;--ok: #34d399;--info: #60a5fa;--shadow: 0 10px 30px rgba(0, 0, 0, .35);--shadow-soft: 0 8px 20px rgba(0, 0, 0, .25);--sidebar-w: 76px;--topbar-h: 64px;--radius: 14px;--radius-sm: 10px;--font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--tip-bg: rgba(14, 22, 36, .98);--tip-border: rgba(255, 255, 255, .12)}html,body{height:100%;margin:0}app-layout{display:block;background:radial-gradient(1200px 800px at 15% 10%,rgba(246,38,129,.18),transparent 55%),radial-gradient(1000px 700px at 90% 15%,rgba(139,92,246,.14),transparent 55%),linear-gradient(180deg,#070a10,#0b0f17 30%,#0b0f17);color:var(--text);font-family:var(--font),sans-serif;overflow:hidden}app-layout .desktop-guard{display:none;place-items:center;height:100vh;padding:28px;text-align:center;color:var(--text)}@media(max-width:980px){app-layout .app{display:none}app-layout .desktop-guard{display:grid}}app-layout .desktop-guard .card{width:min(520px,100%);background:#0f1624a6;border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}app-layout .desktop-guard .title{font-size:18px;font-weight:700;letter-spacing:.2px;margin:0 0 8px}app-layout .desktop-guard .body{margin:0;color:var(--muted);line-height:1.4}app-layout .app{height:100vh;display:grid;grid-template-columns:fit-content(var(--sidebar-w)) 1fr}app-layout .sidebar{background:linear-gradient(180deg,#0f1624eb,#0a0e16f0);border-right:1px solid var(--border);display:grid;grid-template-rows:var(--topbar-h) 1fr auto;padding:10px 8px;position:relative;overflow:hidden}app-layout .brand-logo{border-radius:10px;position:relative}app-layout .brand-logo img{display:block;width:100%;height:100%;padding:.75rem}app-layout .nav{display:grid;align-content:start;gap:8px;padding:10px 6px}app-layout .nav-group{display:grid;gap:8px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06)}app-layout .nav-group:not(:last-child){margin-bottom:10px}app-layout .nav-item{height:46px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;display:grid;place-items:center;cursor:pointer;position:relative;transition:transform .12s ease,background .12s ease,border-color .12s ease;-webkit-user-select:none;user-select:none}app-layout .nav-item.active{background:linear-gradient(135deg,#f6268159,#8b5cf62e);border-color:#f626818c;box-shadow:0 0 0 1px #f6268159,0 14px 28px #f6268140}app-layout .nav-item:hover{background:#ffffff0f;border-color:#ffffff24;transform:translateY(-1px)}app-layout .nav-item .dot{position:absolute;right:10px;top:10px;width:8px;height:8px;border-radius:999px;background:#fff3}app-layout .nav-item .dot.alert{background:var(--warn);box-shadow:0 0 0 4px #fb71851f}app-layout .nav-item .dot.ok{background:var(--ok);box-shadow:0 0 0 4px #34d3991f}app-layout .nav-item .ico{width:20px;height:20px;color:#fffc}app-layout .nav-item.active .ico{color:#ffffffeb}app-layout .top-identity{height:40px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;box-shadow:0 8px 18px #0000001f;padding:0 10px;display:grid;grid-auto-flow:column;gap:10px;align-items:center;-webkit-user-select:none;user-select:none}app-layout .top-avatar{width:28px;height:28px;border-radius:10px;background:radial-gradient(circle at 35% 35%,#f62681d9,#8b5cf68c);border:1px solid rgba(255,255,255,.14);box-shadow:0 0 0 1px #f6268140,0 10px 18px #f6268138}app-layout .top-meta{display:grid;gap:1px;line-height:1.05}app-layout .top-name{font-weight:800;font-size:12px;letter-spacing:.2px;color:#ffffffe0}app-layout .top-role{font-size:11px;color:#ffffff8c;letter-spacing:.1px}app-layout .conn-state{height:40px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;box-shadow:0 8px 18px #0000001f;padding:0 12px;display:grid;grid-auto-flow:column;gap:10px;align-items:center;font-size:12px;-webkit-user-select:none;user-select:none}app-layout .conn-dot{width:8px;height:8px;border-radius:999px;background:#ffffff4d}app-layout .conn-state.connected .conn-dot{background:var(--ok);box-shadow:0 0 0 4px #34d3992e}app-layout .conn-state.disconnected .conn-dot{background:var(--warn);box-shadow:0 0 0 4px #fb71852e}app-layout .conn-label{color:#ffffffbf;letter-spacing:.1px}app-layout .main{display:grid;grid-template-rows:var(--topbar-h) 1fr;min-width:0;overflow:hidden}app-layout .main-content{overflow-y:auto;min-height:0}app-layout .topbar{height:var(--topbar-h);padding:12px 16px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#0f162499,#0f16244d);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}app-layout .crumbs{display:grid;gap:2px}app-layout .crumbs .title{font-size:14px;font-weight:800;letter-spacing:.2px}app-layout .crumbs .path{font-size:12px;color:var(--muted);letter-spacing:.1px}app-layout .top-actions{display:grid;grid-auto-flow:column;gap:10px;align-items:center}app-layout .btn{height:40px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:#ffffffdb;padding:0 12px;display:inline-grid;grid-auto-flow:column;gap:10px;place-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .12s ease,background .12s ease,border-color .12s ease}app-layout .btn:hover{background:#ffffff0f;border-color:#ffffff29;transform:translateY(-1px)}app-layout .btn.primary{background:linear-gradient(135deg,var(--accent),#ff6aa7);border-color:#f62681bf;box-shadow:0 10px 22px #f6268159}app-layout .btn .kbd{font-family:var(--mono);font-size:11px;color:#ffffffbf;padding:4px 6px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#00000024}app-layout .content{display:grid;gap:14px;padding:16px;min-height:0;grid-template-columns:1fr}app-layout .rail{background:#0f16248c;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);overflow:hidden;display:grid;grid-template-rows:auto 1fr;min-height:0}app-layout .rail-header{padding:14px 14px 12px;border-bottom:1px solid rgba(255,255,255,.06);display:grid;gap:8px}app-layout .rail-header .label{font-size:12px;color:var(--muted);letter-spacing:.2px}app-layout .rail-header .section{font-size:13px;font-weight:800}app-layout .rail-list{overflow:auto;padding:10px;display:grid;gap:8px}app-layout .rail-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.06);background:#ffffff05;cursor:pointer;transition:background .12s ease,border-color .12s ease}app-layout .rail-item:hover{background:#ffffff0d;border-color:#ffffff1f}app-layout .rail-item.active{background:linear-gradient(135deg,#f626814d,#8b5cf624);border-color:#f6268173}app-layout .pill{font-size:11px;color:#ffffffc7;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#00000024}app-layout .panel{background:#0f162473;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:grid;grid-template-rows:auto 1fr;min-width:0;min-height:0}app-layout .panel-header{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.06);display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;background:linear-gradient(180deg,#111b2c73,#0f162433)}app-layout .panel-header .hgroup{display:grid;gap:2px;min-width:0}app-layout .panel-header .hgroup .h1{font-size:14px;font-weight:900;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}app-layout .panel-header .hgroup .sub{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}app-layout .panel-body{padding:16px;overflow:auto;min-height:0}app-layout .grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}app-layout .card{grid-column:span 4;border-radius:var(--radius);border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#111b2c73,#0f16244d);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-soft);padding:14px;min-width:0}app-layout .card .k{font-size:12px;color:var(--muted)}app-layout .card .v{margin-top:10px;font-size:22px;font-weight:900;letter-spacing:.2px}app-layout .card .trend{margin-top:10px;display:grid;grid-auto-flow:column;justify-content:start;gap:10px;align-items:center;font-size:12px;color:var(--hint)}app-layout .badge{padding:4px 8px;border-radius:999px;font-size:11px;border:1px solid rgba(255,255,255,.1);background:#00000024;color:#fffc}app-layout .badge.ok{border-color:#34d3994d;background:#34d3991a}app-layout .badge.warn{border-color:#fb71854d;background:#fb71851a}app-layout .badge.info{border-color:#60a5fa4d;background:#60a5fa1a}app-layout .table{margin-top:12px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.08);overflow:hidden;background:#ffffff05}app-layout table{width:100%;border-collapse:collapse;font-size:13px}app-layout thead th{text-align:left;font-weight:800;color:#ffffffb3;padding:12px;border-bottom:1px solid rgba(255,255,255,.06);background:#0000001f;position:sticky;top:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}app-layout tbody td{padding:12px;border-bottom:1px solid rgba(255,255,255,.06);color:#ffffffd1}app-layout tbody tr:hover{background:#ffffff0a}app-layout .mono{font-family:var(--mono);font-size:12px;color:#ffffffbf}app-layout ::-webkit-scrollbar{width:10px;height:10px}app-layout ::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:999px;border:2px solid rgba(0,0,0,.35)}app-layout ::-webkit-scrollbar-thumb:hover{background:#ffffff29}app-layout ::-webkit-scrollbar-track{background:#0000002e}app-layout .row{display:grid;grid-auto-flow:column;justify-content:start;gap:10px;align-items:center}app-layout .spacer{flex:1}
