/**
 * jt_ov.alert / jt_ov.confirm 清淡风弹框（SweetAlert2 自定义）
 * 主题色对齐橙主题 #ea5514
 */
.swal2-container {
    background: rgba(15, 23, 42, 0.28) !important;
    z-index: 20000 !important;
}
.jt-swal-popup {
    background: #ffffff !important;
    border: 1px solid #e8edf3 !important;
    border-radius: 16px !important;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.1), 0 2px 8px rgba(15, 23, 42, 0.04) !important;
    padding: 0 !important;
    font-family: Roboto, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif !important;
    max-width: 92vw !important;
    width: 320px !important;
    overflow: hidden !important;
}
.jt-swal-popup::before,
.jt-swal-popup::after {
    display: none !important;
}
.jt-swal-html {
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}
.jt-swal-body {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 22px 22px 8px;
}
.jt-swal-icon-box {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: none;
}
.jt-swal-icon-box::before,
.jt-swal-icon-box::after {
    display: none !important;
}
.jt-swal-icon-box svg {
    width: 22px;
    height: 22px;
}
.jt-swal-icon-info {
    background: #fff7ed;
    color: #ea5514;
}
.jt-swal-icon-info svg { color: #ea5514; }
.jt-swal-icon-error {
    background: #fef2f2;
    color: #ef4444;
}
.jt-swal-icon-error svg { color: #ef4444; }
.jt-swal-icon-success {
    background: #ecfdf5;
    color: #10b981;
}
.jt-swal-icon-success svg { color: #10b981; }
.jt-swal-icon-confirm {
    background: #fff7ed;
    color: #ea5514;
}
.jt-swal-icon-confirm svg { color: #ea5514; }
.jt-swal-msg {
    flex: 1;
    min-width: 0;
    color: #334155;
    font-size: 15px;
    line-height: 1.65;
    padding-top: 8px;
    word-break: break-word;
    text-align: left;
}
.jt-swal-popup .swal2-icon {
    display: none !important;
}
.jt-swal-actions {
    gap: 10px !important;
    margin: 0 !important;
    padding: 12px 20px 20px !important;
    width: 100%;
    box-sizing: border-box;
    justify-content: flex-end !important;
    border-top: none !important;
    background: transparent !important;
}
.jt-swal-btn-confirm {
    background: #ea5514 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 10px 24px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    text-transform: none;
    min-width: 80px;
    box-shadow: 0 2px 8px rgba(234, 85, 20, 0.25) !important;
    transition: background 0.15s, opacity 0.15s !important;
}
.jt-swal-btn-confirm:active {
    opacity: 0.88;
}
.jt-swal-type-error .jt-swal-btn-confirm {
    background: #ef4444 !important;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.2) !important;
}
.jt-swal-type-success .jt-swal-btn-confirm {
    background: #10b981 !important;
    box-shadow: 0 2px 8px rgba(16, 185, 129, 0.2) !important;
}
.jt-swal-mode-confirm .jt-swal-btn-confirm {
    background: #ea5514 !important;
    box-shadow: 0 2px 8px rgba(234, 85, 20, 0.25) !important;
}
.jt-swal-btn-cancel {
    background: #f8fafc !important;
    color: #64748b !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    text-transform: none;
    min-width: 72px;
}
.jt-swal-btn-cancel:active {
    background: #f1f5f9 !important;
}
@keyframes jt-swal-in {
    from { opacity: 0; transform: translateY(8px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes jt-swal-out {
    from { opacity: 1; transform: translateY(0); }
    to { opacity: 0; transform: translateY(4px); }
}
.jt-swal-show {
    animation: jt-swal-in 0.22s cubic-bezier(0.22, 1, 0.36, 1) !important;
}
.jt-swal-hide {
    animation: jt-swal-out 0.12s ease-in !important;
}
