.session-timeout {
    inset: 0;
    position: fixed;
    z-index: 12000;
}

.session-timeout[hidden] {
    display: none;
}

.session-timeout-backdrop {
    backdrop-filter: blur(4px);
    background: rgba(3, 10, 23, .72);
    inset: 0;
    position: absolute;
}

.session-timeout-dialog {
    background: var(--dashboard-surface, #fff);
    border: 1px solid var(--dashboard-border, #dce4ee);
    border-radius: 18px;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .3);
    color: var(--dashboard-text, #1a2b44);
    display: grid;
    gap: 1rem;
    left: 50%;
    max-width: 520px;
    padding: 1.5rem;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 2rem);
}

.session-timeout-icon {
    align-items: center;
    background: rgba(21, 94, 239, .12);
    border-radius: 14px;
    color: var(--dashboard-accent, #155eef);
    display: flex;
    height: 52px;
    justify-content: center;
    width: 52px;
}

.session-timeout-icon svg {
    height: 26px;
    width: 26px;
}

.session-timeout-dialog span {
    color: var(--dashboard-accent, #155eef);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.session-timeout-dialog h2 {
    color: var(--dashboard-heading, #0c1d36);
    font-size: 1.35rem;
    font-weight: 900;
    margin: .25rem 0 .45rem;
}

.session-timeout-dialog p {
    color: var(--dashboard-muted, #68778d);
    margin: 0;
}

.session-timeout-dialog p strong {
    color: var(--dashboard-heading, #0c1d36);
}

.session-timeout-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

.session-timeout-actions form {
    margin: 0;
}

.session-timeout-open {
    overflow: hidden;
}
