/* Blazor가 변경하는 상태 클래스만 사용한다. 전체 화면 배경/오버레이는 만들지 않는다. */
#components-reconnect-modal {
    display: none;
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1100;
    box-sizing: border-box;
    width: min(380px, calc(100vw - 2rem));
    max-height: calc(100dvh - 2rem);
    overflow-y: auto;
    padding: 1rem 1.15rem;
    border: 1px solid #bfd3f6;
    border-left: 4px solid #3065c6;
    border-radius: 12px;
    background: #fff;
    color: #24364b;
    box-shadow: 0 6px 24px rgb(28 50 84 / 15%);
    font-size: 0.875rem;
    line-height: 1.6;
}

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

/* 재연결 실패 안내가 표시되는 동안만 일반 오류창의 중복 표시를 막는다.
   오류 상태/로그는 변경하지 않아 연결 안내가 사라지면 기존 오류 표시가 유지된다. */
body:has(#components-reconnect-modal.components-reconnect-failed) #blazor-error-ui,
body:has(#components-reconnect-modal.components-reconnect-rejected) #blazor-error-ui {
    display: none !important;
}

#components-reconnect-modal .connection-status-title {
    display: block;
    margin-bottom: 0.35rem;
}

#components-reconnect-modal p {
    display: none;
    margin: 0;
}

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

#components-reconnect-modal.components-reconnect-show .connection-retrying,
#components-reconnect-modal.components-reconnect-failed .connection-failed,
#components-reconnect-modal.components-reconnect-rejected .connection-rejected,
#components-reconnect-modal.components-reconnect-failed .connection-refresh,
#components-reconnect-modal.components-reconnect-rejected .connection-refresh {
    display: block;
}

#components-reconnect-modal .connection-refresh small {
    display: block;
    margin-top: 0.65rem;
    color: #59677a;
}

#components-reconnect-modal button {
    margin-top: 0.75rem;
    padding: 0.4rem 0.85rem;
    border: 1px solid #3065c6;
    border-radius: 6px;
    background: #3065c6;
    color: #fff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

#components-reconnect-modal button:focus-visible {
    outline: 3px solid #8bb5ff;
    outline-offset: 3px;
}
