/* =============================================================================
   Nubenet — estilos extra inyectados en el portal Authelia (CSP-friendly:
   el portal bloquea estilos inline, por eso esto vive como stylesheet externa)
   ============================================================================= */

/* Botón flotante "Acceder a mis clusters" */
.nb-hub-btn {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 9999;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #0B5FFF, #0847C0);
    color: #ffffff !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.4px;
    padding: 13px 22px;
    border-radius: 999px;
    text-decoration: none !important;
    box-shadow: 0 10px 28px rgba(11, 95, 255, 0.45);
    transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
    animation: nb-pop 0.35s ease-out;
}
.nb-hub-btn::before {
    content: '';
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #2BD576;
    box-shadow: 0 0 8px 2px rgba(43, 213, 118, 0.55);
    flex: 0 0 auto;
}
.nb-hub-btn::after {
    content: '→';
    font-weight: 700;
}
.nb-hub-btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.12);
    box-shadow: 0 14px 34px rgba(11, 95, 255, 0.6);
}
.nb-hub-btn:visited { color: #ffffff !important; }

@keyframes nb-pop {
    from { transform: translateY(14px); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
}

@media (max-width: 600px) {
    .nb-hub-btn { right: 14px; bottom: 14px; padding: 12px 18px; font-size: 13px; }
}
