/**
 * DayReady — Confirm modal styles.
 *
 * Moved out of confirm-modal.js's runtime `<style>` injection because the
 * site's CSP `style-src` is strict (no 'unsafe-inline'); injected style
 * blocks lacking a nonce are silently dropped, leaving .confirm-modal
 * rendering as `position: static` flush against the viewport edge.
 * Loading via <link> means CSP covers it under 'self'.
 */

.confirm-modal-backdrop {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.4); z-index: 9998;
    opacity: 0; visibility: hidden; transition: all 0.2s ease;
    backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
}
.confirm-modal-backdrop.show { opacity: 1; visibility: visible; }

.confirm-modal {
    position: fixed; top: 50%; left: 50%;
    transform: translate(-50%, -50%) scale(0.9);
    z-index: 9999; opacity: 0; visibility: hidden; transition: all 0.2s ease;
}
.confirm-modal.show { opacity: 1; visibility: visible; transform: translate(-50%, -50%) scale(1); }

.confirm-modal-content {
    background: white; border-radius: 16px; padding: 2rem;
    min-width: 320px; max-width: 400px; text-align: center;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
}

.confirm-modal-icon {
    width: 64px; height: 64px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 1.25rem;
}
.confirm-modal-icon .nav-icon { width: 28px; height: 28px; }

.confirm-modal-title {
    font-size: 1.25rem; font-weight: 700; color: #1e293b; margin: 0 0 0.5rem;
    font-family: var(--font-heading);
}
.confirm-modal-message {
    font-size: 0.95rem; color: #64748b; margin: 0 0 1.5rem; line-height: 1.5;
}
.confirm-modal-buttons {
    display: flex; align-items: center; justify-content: center; gap: 1rem;
}
.confirm-modal-btn-cancel {
    background: none; border: none; color: #64748b; font-size: 0.95rem;
    font-weight: 600; padding: 0.625rem 1.25rem; cursor: pointer; transition: color 0.2s;
}
@media (hover: hover) {

.confirm-modal-btn-cancel:hover { color: #1e293b; }
}

.confirm-modal-btn-confirm {
    background: #ef4444; border: none; color: white; font-size: 0.95rem;
    font-weight: 600; padding: 0.625rem 1.5rem; border-radius: 8px;
    cursor: pointer; transition: all 0.2s;
}
@media (hover: hover) {

.confirm-modal-btn-confirm:hover { filter: brightness(1.1); transform: translateY(-1px); }
}

@media (max-width: 576px) {
    .confirm-modal { width: calc(100vw - 2rem); }
    .confirm-modal-content { min-width: auto; max-width: 100%; padding: 1.5rem; }
    .confirm-modal-buttons { flex-direction: column-reverse; gap: 0.75rem; }
    .confirm-modal-btn-cancel, .confirm-modal-btn-confirm {
        width: 100%; padding: 0.875rem 1.5rem; min-height: 48px; font-size: 1rem;
    }
    .confirm-modal-btn-cancel { border: 1px solid #e2e8f0; border-radius: 8px; background: #f8fafc; }
}
