body{background-color:var(--bg-dark);background-image:radial-gradient(circle at 50% 0,#2563eb26 0%,#0000 60%),radial-gradient(circle at 80% 80%,#7c3aed14 0%,#0000 50%);flex-direction:column;justify-content:flex-start;align-items:center;min-height:100dvh;padding:32px 20px 60px;display:flex;overflow:hidden auto}.hub-container{flex-direction:column;gap:36px;width:100%;max-width:1080px;display:flex}.hub-header{background:var(--panel-bg);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(20px);border-radius:16px;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.hub-brand{align-items:center;gap:14px;text-decoration:none;display:flex}.hub-brand-logo{border-radius:9px;width:36px;height:36px;box-shadow:0 0 16px #3b82f666}.hub-brand h1{letter-spacing:-.02em;color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:1.25rem;font-weight:700;display:flex}.hub-brand .sub{color:var(--text-secondary);font-size:.9rem;font-weight:400}.hub-telemetry-badge{border:1px solid var(--panel-border);font-family:var(--font-mono);color:var(--text-secondary);background:#ffffff08;border-radius:9999px;align-items:center;gap:8px;padding:6px 14px;font-size:.78rem;display:flex}.pulse-dot{background-color:var(--green-glow);width:8px;height:8px;box-shadow:0 0 10px var(--green-glow);border-radius:50%;animation:2s infinite pulse-glow}.pulse-dot.offline{background-color:var(--red-glow);box-shadow:0 0 10px var(--red-glow)}@keyframes pulse-glow{0%{opacity:.8;transform:scale(.95)}50%{opacity:1;transform:scale(1.15)}to{opacity:.8;transform:scale(.95)}}.hub-hero{text-align:center;padding:30px 10px 10px}.hub-hero h2{letter-spacing:-.03em;background:linear-gradient(135deg,#fff 30%,#94a3b8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:12px;font-size:2.5rem;font-weight:800}.hub-hero p{color:var(--text-secondary);max-width:620px;margin:0 auto;font-size:1.05rem;line-height:1.5}.hub-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:20px;display:grid}.hub-card{background:var(--panel-bg);border:1px solid var(--panel-border);color:inherit;-webkit-backdrop-filter:blur(16px);border-radius:16px;flex-direction:column;justify-content:space-between;padding:26px;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.hub-card:before{content:"";background:var(--card-gradient,var(--accent-gradient));opacity:.6;height:3px;transition:opacity .25s;position:absolute;top:0;left:0;right:0}.hub-card:hover{border-color:#ffffff2e;transform:translateY(-4px);box-shadow:0 16px 36px #00000080,0 0 20px #3b82f626}.hub-card:hover:before{opacity:1}.hub-card-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.hub-card-icon{color:#60a5fa;background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.hub-card-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:6px;padding:3px 8px;font-size:.72rem;font-weight:600}.badge-prod{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.badge-dev{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.hub-card-title{color:var(--text-primary);margin-bottom:8px;font-size:1.25rem;font-weight:700}.hub-card-desc{color:var(--text-secondary);margin-bottom:24px;font-size:.88rem;line-height:1.5}.hub-card-action{color:#60a5fa;border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding-top:14px;font-size:.82rem;font-weight:600;display:flex}.hub-card-action svg{transition:transform .2s}.hub-card:hover .hub-card-action svg{transform:translate(4px)}.hub-status-panel{background:var(--panel-bg);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(16px);border-radius:16px;padding:24px}.hub-status-title{letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:16px;font-size:.95rem;font-weight:700;display:flex}.hub-status-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.status-metric{background:#00000040;border:1px solid #ffffff0a;border-radius:10px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.metric-value{font-size:.95rem;font-weight:600;font-family:var(--font-mono);color:var(--text-primary);align-items:center;gap:8px;display:flex}.hub-footer{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:10px;font-size:.8rem;display:flex}.hub-footer-links{gap:18px;display:flex}.hub-footer-links a{color:var(--text-secondary);text-decoration:none;transition:color .15s}.hub-footer-links a:hover{color:#60a5fa}@media (width<=640px){.hub-hero h2{font-size:1.85rem}.hub-header{flex-direction:column;align-items:flex-start;gap:14px}}.hub-header-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hub-auth-widget{align-items:center;gap:8px;display:flex}.btn-hub-auth{color:#93c5fd;cursor:pointer;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:9999px;align-items:center;gap:8px;padding:7px 14px;font-size:.8rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.btn-hub-auth:hover{color:#fff;background:#3b82f633;border-color:#3b82f680;box-shadow:0 0 12px #3b82f640}.btn-hub-auth.authenticated{color:#6ee7b7;background:#10b9811f;border-color:#10b98159}.btn-hub-auth.authenticated:hover{color:#a7f3d0;background:#10b98133;border-color:#10b98180;box-shadow:0 0 12px #10b98140}.btn-hub-logout{color:#fca5a5;cursor:pointer;background:#ef44441a;border:1px solid #ef44444d;border-radius:9999px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .2s;display:flex}.btn-hub-logout:hover{color:#fff;background:#ef444440;border-color:#ef444499;box-shadow:0 0 10px #ef44444d}.btn-hub-logout.hidden{display:none}.auth-card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex;position:relative}.auth-card-header h2{margin:0;font-size:1.25rem;font-weight:600}.btn-close-modal{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;font-size:1.1rem;line-height:1;transition:color .15s}.btn-close-modal:hover{color:var(--text-primary)}.auth-card-actions{justify-content:flex-end;gap:10px;margin-top:1.5rem;display:flex}.auth-error-msg{color:#fca5a5;text-align:left;background:#ef44441f;border:1px solid #ef44444d;border-radius:8px;margin-top:8px;padding:8px 12px;font-size:.82rem}.auth-error-msg.hidden{display:none}
