/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
/* ---- State visibility (driven by classes Blazor toggles on the dialog) ---- */
.components-reconnect-first-attempt-visible[b-3zw0c0re44],
.components-reconnect-repeated-attempt-visible[b-3zw0c0re44],
.components-reconnect-failed-visible[b-3zw0c0re44],
.components-pause-visible[b-3zw0c0re44],
.components-resume-failed-visible[b-3zw0c0re44],
.rc-spinner[b-3zw0c0re44] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-3zw0c0re44],
#components-reconnect-modal.components-reconnect-show .rc-spinner[b-3zw0c0re44],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-3zw0c0re44],
#components-reconnect-modal.components-reconnect-retrying .rc-spinner[b-3zw0c0re44],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-3zw0c0re44],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-3zw0c0re44],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-3zw0c0re44] {
    display: block;
}

/* ---- Dialog shell ---- */
#components-reconnect-modal[b-3zw0c0re44] {
    font-family: 'IRANSansX', Tahoma, Arial, sans-serif;
    direction: rtl;
    color: #e2e8f0; /* slate-200 */
    width: min(22rem, calc(100vw - 2rem));
    margin: auto;
    padding: 2rem 1.75rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 1.25rem;
    background: rgba(15, 23, 42, 0.85);
    backdrop-filter: blur(8px);
    box-shadow: 0 20px 60px -20px rgba(2, 6, 23, 0.8);
    opacity: 0;
    transition: display 0.4s allow-discrete, overlay 0.4s allow-discrete;
    animation: rc-fade-out-b-3zw0c0re44 0.4s both;
}

#components-reconnect-modal[open][b-3zw0c0re44] {
    animation: rc-slide-up-b-3zw0c0re44 0.9s cubic-bezier(.05, .89, .25, 1.02) 0.15s, rc-fade-in-b-3zw0c0re44 0.4s ease-out 0.15s;
    animation-fill-mode: both;
}

#components-reconnect-modal[b-3zw0c0re44]::backdrop {
    background: rgba(2, 6, 23, 0.6);
    backdrop-filter: blur(3px);
    animation: rc-fade-in-b-3zw0c0re44 0.4s ease-out;
    opacity: 1;
}

.components-reconnect-container[b-3zw0c0re44] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.65rem;
    text-align: center;
}

/* ---- Typography ---- */
.rc-title[b-3zw0c0re44] {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 700;
    color: #ffffff;
}

.rc-text[b-3zw0c0re44] {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.7;
    color: #94a3b8; /* slate-400 */
}

.rc-count[b-3zw0c0re44] {
    font-weight: 700;
    color: #34d399; /* brand-400 */
    font-variant-numeric: tabular-nums;
}

/* ---- Warning icon (failed / resume-failed) ---- */
/* NB: no `display` here — visibility is owned by the state rules above. A base `display`
   would have equal specificity but later source order, defeating the default `display:none`. */
.rc-icon[b-3zw0c0re44] {
    box-sizing: border-box;
    width: 3rem;
    height: 3rem;
    padding: 0.75rem;
    border-radius: 1rem;
    margin: 0 auto 0.25rem;
}

.rc-icon svg[b-3zw0c0re44] { display: block; width: 1.5rem; height: 1.5rem; }

.rc-icon-warn[b-3zw0c0re44] {
    background: rgba(245, 158, 11, 0.12);
    color: #fbbf24;      /* accent-400 */
    box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.25);
}

/* ---- Button ---- */
/* No base `display` (state rules own visibility); the show rule supplies `display:block`. */
.rc-btn[b-3zw0c0re44] {
    width: 100%;
    margin-top: 0.4rem;
    border: 0;
    cursor: pointer;
    color: #fff;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.625rem 1.5rem;
    border-radius: 0.75rem;
    background-color: #bd3421; /* brand-700 — solid coral, AA-contrast with white text */
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08), 0 4px 12px -6px rgba(15, 23, 42, 0.25);
    transition: filter 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
}

.rc-btn:hover[b-3zw0c0re44] { filter: brightness(1.05); box-shadow: 0 8px 20px -10px rgba(15, 23, 42, 0.35); }
.rc-btn:active[b-3zw0c0re44] { transform: scale(0.98); }

/* ---- Spinner: brand violet ripple ---- */
.rc-spinner[b-3zw0c0re44] {
    position: relative;
    width: 4rem;
    height: 4rem;
    margin-bottom: 0.25rem;
}

.rc-spinner div[b-3zw0c0re44] {
    position: absolute;
    border: 3px solid #10b981; /* brand-500 */
    opacity: 1;
    border-radius: 50%;
    animation: rc-ripple-b-3zw0c0re44 1.4s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

.rc-spinner div:nth-child(2)[b-3zw0c0re44] { animation-delay: -0.7s; border-color: #f59e0b; /* accent-500 */ }

@keyframes rc-ripple-b-3zw0c0re44 {
    0%   { top: 2rem; left: 2rem; width: 0; height: 0; opacity: 0; }
    5%   { top: 2rem; left: 2rem; width: 0; height: 0; opacity: 1; }
    100% { top: 0; left: 0; width: 4rem; height: 4rem; opacity: 0; }
}

@keyframes rc-slide-up-b-3zw0c0re44 {
    0%   { transform: translateY(24px) scale(0.96); }
    100% { transform: translateY(0) scale(1); }
}

@keyframes rc-fade-in-b-3zw0c0re44  { from { opacity: 0; } to { opacity: 1; } }
@keyframes rc-fade-out-b-3zw0c0re44 { from { opacity: 1; } to { opacity: 0; } }
