/* ===== ÉCRAN DE RECONNEXION BLAZOR =====
   Blazor ajoute à #components-reconnect-modal les classes :
   components-reconnect-show / -failed / -rejected / -hide (+ -retrying / -paused en .NET 10) */

#components-reconnect-modal {
    display: none;
    position: fixed;
    inset: 0;
    align-items: center;
    justify-content: center;
    padding: 16px;
    font-family: 'Poppins', sans-serif;
    /* Fond et z-index : imposés par MudBlazor.min.css (!important) sur cet id — voile plein aux couleurs du thème */
}

#components-reconnect-modal.components-reconnect-show,
#components-reconnect-modal.components-reconnect-retrying,
#components-reconnect-modal.components-reconnect-paused,
#components-reconnect-modal.components-reconnect-failed,
#components-reconnect-modal.components-reconnect-rejected {
    display: flex;
    /* léger délai : pas de clignotement lors d'une micro-coupure */
    animation: rc-fade-in 0.25s ease 0.8s both;
}

#components-reconnect-modal.components-reconnect-hide {
    display: none;
}

@keyframes rc-fade-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.rc-card {
    width: 100%;
    max-width: 420px;
    padding: 28px 24px;
    text-align: center;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
}

.rc-title {
    margin: 14px 0 6px;
    font-size: 1.05rem;
    font-weight: 600;
    color: #1a1a1a;
}

.rc-text {
    margin: 0;
    font-size: 0.88rem;
    color: #666;
    line-height: 1.45;
}

.rc-spinner {
    width: 38px;
    height: 38px;
    margin: 0 auto;
    border: 4px solid #e3e3e3;
    border-top-color: var(--carpro-green, #62b02a);
    border-radius: 50%;
    animation: rc-spin 0.9s linear infinite;
}

@keyframes rc-spin {
    to { transform: rotate(360deg); }
}

.rc-btn {
    margin-top: 16px;
    padding: 9px 22px;
    font: inherit;
    font-size: 0.88rem;
    font-weight: 600;
    color: #fff;
    background: var(--carpro-green, #62b02a);
    border: none;
    border-radius: 8px;
    cursor: pointer;
}

.rc-btn:hover {
    filter: brightness(0.93);
}

/* Un seul message visible selon l'état */
.rc-state {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .rc-state-show,
#components-reconnect-modal.components-reconnect-retrying .rc-state-show,
#components-reconnect-modal.components-reconnect-paused .rc-state-show,
#components-reconnect-modal.components-reconnect-failed .rc-state-failed,
#components-reconnect-modal.components-reconnect-rejected .rc-state-rejected {
    display: block;
}
