/* Modal global de carregamento (reutilizável) */
.loading-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 16px;
    z-index: 2000;
}

.loading-modal.is-open {
    display: flex;
}

.loading-modal__content {
    background: #ffffff;
    border-radius: 12px;
    width: 100%;
    max-width: 420px;
    padding: 18px 16px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
    text-align: center;
    color: #333;
}

.loading-modal__spinner {
    width: 44px;
    height: 44px;
    margin: 4px auto 10px;
    border-radius: 50%;
    border: 4px solid rgba(46, 139, 87, 0.18);
    border-top-color: #2e8b57;
    animation: loading-spin 0.9s linear infinite;
}

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

.loading-modal__title {
    font-weight: 700;
    color: #2e8b57;
    font-size: 1.1em;
    margin-bottom: 4px;
}

.loading-modal__message {
    font-size: 0.98em;
    line-height: 1.35;
    color: #4a6f4a;
    word-break: break-word;
    overflow-wrap: anywhere;
}

@media (max-width: 640px) {
    .loading-modal__content {
        max-width: 92vw;
        padding: 16px 14px;
    }
    .loading-modal__title {
        font-size: 1.2em;
    }
    .loading-modal__message {
        font-size: 1.05em;
    }
}
