/* ── Shared Modal (alert / confirm replacement) ── */
.u-modal-btn { font-family: inherit; }
.u-modal-overlay {
    position: fixed; inset: 0; z-index: 99999;
    display: flex; align-items: center; justify-content: center;
    background: rgba(0,0,0,.25);
    backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
    opacity: 0; transition: opacity .25s ease;
}
.u-modal-overlay.visible { opacity: 1; }

.u-modal-box {
    background: #fff; border-radius: 0; padding: 36px 32px 28px;
    min-width: 320px; max-width: 400px; width: 85%;
    box-shadow: 0 24px 80px rgba(0,0,0,.12), 0 4px 20px rgba(0,0,0,.06);
    transform: scale(.92) translateY(16px);
    transition: transform .3s cubic-bezier(.4,0,.2,1);
    text-align: center;
}
.u-modal-overlay.visible .u-modal-box {
    transform: scale(1) translateY(0);
}

/* icon */
.u-modal-icon { margin-bottom: 20px; }
.u-modal-icon svg { width: 44px; height: 44px; }
.u-modal-icon-circle {
    display: inline-flex; align-items: center; justify-content: center;
    width: 56px; height: 56px; border-radius: 50%;
}
.u-modal-icon-circle svg { width: 28px; height: 28px; }
.u-modal-icon-circle.icon-warn { background: #fef3c7; }
.u-modal-icon-circle.icon-error { background: #fee2e2; }
.u-modal-icon-circle.icon-success { background: #dcfce7; }
.u-modal-icon-circle.icon-info { background: #dbeafe; }

/* text */
.u-modal-text {
    font-size: 15px; line-height: 1.6; color: #1e293b;
    white-space: pre-line; word-break: break-word;
    margin-bottom: 28px; max-height: 50vh; overflow-y: auto;
    text-align: center;
}

/* buttons */
.u-modal-actions { display: flex; gap: 12px; justify-content: center; }
.u-modal-btn {
    padding: 10px 28px; border-radius: 0; font-size: 14px; font-weight: 500;
    cursor: pointer; border: none; transition: all .2s; min-width: 100px;
}
.u-modal-btn-primary {
    background: var(--primary-color, #aa0000); color: #fff;
}
.u-modal-btn-primary:hover { filter: brightness(1.12); }
.u-modal-btn-cancel {
    background: #f8fafc; color: #64748b; border: 1px solid #e2e8f0;
}
.u-modal-btn-cancel:hover { background: #f1f5f9; border-color: #cbd5e1; }
