/* Telexpress Process UI + Modal Confirm V3 */
:root {
    --tx-blue: #061a40;
    --tx-magenta: #d1008f;
    --tx-ivory: #f8f3e7;
    --tx-border: #e5e7eb;
    --tx-danger: #dc2626;
    --tx-muted: #6b7280;
}

.tx-processing,
button.tx-processing,
.btn.tx-processing,
a.tx-processing {
    pointer-events: none !important;
    opacity: .78 !important;
    cursor: wait !important;
}

.tx-processing .tx-process-spinner,
.tx-process-spinner {
    width: 1rem;
    height: 1rem;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    display: inline-block;
    vertical-align: -0.125em;
    animation: tx-spin .65s linear infinite;
    margin-right: .45rem;
}

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

.tx-confirm-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(6, 26, 64, .55);
    z-index: 1060;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.tx-confirm-backdrop.tx-show {
    display: flex;
}

.tx-confirm-modal {
    width: 100%;
    max-width: 520px;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 28px 90px rgba(0, 0, 0, .28);
    overflow: hidden;
    animation: tx-modal-pop .16s ease-out;
}

@keyframes tx-modal-pop {
    from { transform: translateY(12px) scale(.98); opacity: .4; }
    to { transform: translateY(0) scale(1); opacity: 1; }
}

.tx-confirm-header {
    padding: 22px 24px;
    background: linear-gradient(135deg, var(--tx-blue), var(--tx-magenta));
    color: #ffffff;
}

.tx-confirm-header h5 {
    margin: 0;
    font-weight: 800;
    font-size: 1.1rem;
}

.tx-confirm-body {
    padding: 24px;
    color: #111827;
}

.tx-confirm-body p {
    margin: 0;
    color: var(--tx-muted);
    line-height: 1.55;
}

.tx-confirm-footer {
    padding: 16px 24px 22px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.tx-confirm-footer .btn,
.tx-confirm-footer button {
    min-width: 120px;
}

.tx-btn-confirm-danger {
    border: 1px solid var(--tx-danger);
    background: var(--tx-danger);
    color: #ffffff;
    border-radius: 12px;
    padding: .55rem 1rem;
    font-weight: 800;
}

.tx-btn-confirm-danger:hover {
    background: #b91c1c;
    color: #ffffff;
}

.tx-btn-cancel {
    border: 1px solid var(--tx-border);
    background: #ffffff;
    color: #374151;
    border-radius: 12px;
    padding: .55rem 1rem;
    font-weight: 700;
}

.tx-btn-cancel:hover {
    background: #f9fafb;
}
