html {
    font-size: 13px;
}

@media (min-width: 768px) {
    html {
        font-size: 15px;
    }
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
    background: radial-gradient(circle at top left, rgba(224, 239, 247, 0.95), transparent 28%), linear-gradient(180deg, #f7fbfd 0%, #eef5f8 100%);
}

.app-body-login {
    margin-bottom: 0;
}

/*.app-toast-container {
    position: fixed;
    top: 1rem;
    right: 1rem;
    z-index: 1080;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.app-toast {
    min-width: 18rem;
    max-width: 24rem;
    padding: 0.9rem 1rem;
    border-radius: 14px;
    background: linear-gradient(135deg, #0d7a58, #198754);
    color: #fff;
    font-weight: 600;
    box-shadow: 0 16px 30px -22px rgba(18, 74, 53, 0.65);
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

    .app-toast.is-visible {
        opacity: 1;
        transform: translateY(0);
    }*/

.session-timeout-toast-container {
    z-index: 1090;
    width: min(26rem, calc(100vw - 2rem));
}

.idle-session-badge {
    min-width: 11.5rem;
    justify-content: center;
    font-size: 0.78rem;
    letter-spacing: 0.02em;
    box-shadow: 0 10px 24px -20px rgba(173, 124, 19, 0.85);
}

.idle-timeout-warning .navbar,
.idle-timeout-warning .footer {
    border-color: #d39e00 !important;
    box-shadow: inset 0 -3px 0 rgba(255, 193, 7, 0.85);
}

@media (max-width: 768px) {
    .session-timeout-toast-container {
        width: calc(100vw - 1rem);
        padding: 0.5rem;
    }
}

@media (max-width: 576px) {
    .app-body-login {
        margin-bottom: 0;
    }

    .app-toast-container {
        left: 1rem;
        right: 1rem;
    }

    .app-toast {
        min-width: 0;
        max-width: none;
        width: 100%;
    }
}
