﻿:root {
    --tm-blue: #1a5fc8;
    --tm-blue-light: #2176e8;
    --tm-gold: #ECA500;
    --tm-danger: #dc3545;
    --tm-text: #1a2b4a;
    --tm-text-muted: #5a6f8a;
    --tm-border: #d4dff5;
    --tm-bg-soft: #f5f8ff;
}

.tm-swal-popup {
    border-radius: 18px !important;
    padding: 0 0 1.75rem !important;
    box-shadow: 0 8px 40px rgba(26,95,200,0.16), 0 2px 8px rgba(0,0,0,0.08), 0 0 0 1px rgba(26,95,200,0.08) !important;
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    overflow: hidden;
}

    .tm-swal-popup::before {
        content: "";
        display: block;
        height: 4px;
        width: 100%;
        background: linear-gradient(90deg, var(--tm-blue) 0%, var(--tm-blue) 40%, var(--tm-gold) 60%, var(--tm-gold) 100%);
    }

    .tm-swal-popup.tm-swal-danger::before {
        background: linear-gradient(90deg, var(--tm-danger) 0%, var(--tm-danger) 45%, #f08a94 100%);
    }

.tm-swal-title {
    color: var(--tm-text) !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.3px !important;
    padding-top: 1.5rem !important;
}

.tm-swal-html {
    color: var(--tm-text-muted) !important;
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
}

.swal2-icon.swal2-warning {
    border-color: var(--tm-gold) !important;
    color: var(--tm-gold) !important;
}

.swal2-icon.swal2-error {
    border-color: var(--tm-danger) !important;
    color: var(--tm-danger) !important;
}

    .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {
        background-color: var(--tm-danger) !important;
    }

.swal2-icon.swal2-success {
    border-color: #2e9e5b !important;
    color: #2e9e5b !important;
}

    .swal2-icon.swal2-success [class^='swal2-success-line'] {
        background-color: #2e9e5b !important;
    }

    .swal2-icon.swal2-success .swal2-success-ring {
        border-color: rgba(46,158,91,0.3) !important;
    }

.swal2-icon.swal2-info {
    border-color: var(--tm-blue) !important;
    color: var(--tm-blue) !important;
}

.swal2-icon.swal2-question {
    border-color: var(--tm-blue) !important;
    color: var(--tm-blue) !important;
}

.tm-swal-actions {
    gap: 10px !important;
    margin-top: 1.4rem !important;
}

.tm-swal-btn {
    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.3px;
    padding: 0.65rem 1.3rem;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    transition: transform 0.15s, box-shadow 0.15s, opacity 0.15s, background 0.2s;
}

    .tm-swal-btn:focus {
        outline: none;
        box-shadow: 0 0 0 3px rgba(26,95,200,0.18);
    }

.tm-swal-btn-confirm {
    color: #fff;
    background: linear-gradient(135deg, var(--tm-blue) 0%, var(--tm-blue-light) 100%);
    box-shadow: 0 4px 16px rgba(26,95,200,0.32);
}

    .tm-swal-btn-confirm:hover {
        transform: translateY(-1px);
        box-shadow: 0 6px 22px rgba(26,95,200,0.4);
    }

.tm-swal-btn-danger {
    color: #fff;
    background: linear-gradient(135deg, var(--tm-danger) 0%, #e8555f 100%);
    box-shadow: 0 4px 16px rgba(220,53,69,0.32);
}

    .tm-swal-btn-danger:hover {
        transform: translateY(-1px);
        box-shadow: 0 6px 22px rgba(220,53,69,0.4);
    }

.tm-swal-btn-cancel {
    color: var(--tm-text-muted);
    background: var(--tm-bg-soft);
    border: 1.5px solid var(--tm-border) !important;
}

    .tm-swal-btn-cancel:hover {
        background: #eef2fa;
        transform: translateY(-1px);
    }

.tm-swal-btn-deny {
    color: var(--tm-blue);
    background: #eaf1fd;
    border: 1px solid #d4e2fa !important;
}

    .tm-swal-btn-deny:hover {
        background: #dde9fc;
        transform: translateY(-1px);
    }

.tm-swal-toast {
    border-radius: 14px !important;
    box-shadow: 0 8px 30px rgba(26,95,200,0.16), 0 2px 8px rgba(0,0,0,0.07) !important;
    padding: 0.7rem 1rem !important;
}

    .tm-swal-toast::before {
        display: none;
    }

    .tm-swal-toast .swal2-title {
        font-size: 0.85rem !important;
        font-weight: 600 !important;
    }

.tm-swal-loading .swal2-title {
    font-size: 1rem !important;
}

/* Confirmação de exportação: mais compacta e coerente com os relatórios. */
.tm-swal-popup.tm-swal-export-success {
    width: min(390px, calc(100vw - 2rem)) !important;
    padding-bottom: 1.25rem !important;
}

    .tm-swal-popup.tm-swal-export-success::before {
        background: linear-gradient(90deg, #1166b0, #2c84cf) !important;
    }

    .tm-swal-popup.tm-swal-export-success .swal2-icon {
        margin: 1.35rem auto 0.35rem !important;
        transform: scale(0.88);
    }

    .tm-swal-popup.tm-swal-export-success .tm-swal-title {
        padding-top: 0.25rem !important;
        margin-bottom: 0.2rem !important;
    }

    .tm-swal-popup.tm-swal-export-success .tm-swal-html {
        margin: 0.35rem 1.5rem 0 !important;
    }

    .tm-swal-popup.tm-swal-export-success .tm-swal-actions {
        margin: 1.1rem 0 0 !important;
    }

    .tm-swal-popup.tm-swal-export-success .swal2-timer-progress-bar {
        background: #1166b0 !important;
    }

@media (max-width: 480px) {
    .tm-swal-popup {
        border-radius: 14px !important;
        width: 90vw !important;
    }

    .tm-swal-actions {
        flex-direction: column-reverse !important;
        width: 100%;
    }

    .tm-swal-btn {
        width: 100%;
    }
}
