/**
 * ConfirmDialog — Reusable confirmation dialog styles
 * Uses design tokens for consistent theming
 */

/* Backdrop overlay */
.confirm-dialog-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-4);
    animation: confirm-dialog-fade-in 0.15s ease-out;
}

@keyframes confirm-dialog-fade-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Dialog container */
.confirm-dialog {
    background: var(--surface-elevated);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg, 0 8px 32px rgba(0, 0, 0, 0.2));
    padding: var(--space-4);
    max-width: 420px;
    width: 100%;
    animation: confirm-dialog-slide-in 0.2s ease-out;
}

@keyframes confirm-dialog-slide-in {
    from {
        opacity: 0;
        transform: translateY(-8px) scale(0.96);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Title */
.confirm-dialog-title {
    margin: 0 0 var(--space-3) 0;
    font-size: var(--font-title, 1.125rem);
    font-weight: var(--font-weight-semibold, 600);
    color: var(--text-primary);
    line-height: 1.4;
}

/* Message */
.confirm-dialog-message {
    margin: 0 0 var(--space-3) 0;
    font-size: var(--font-label);
    color: var(--text-secondary);
    line-height: 1.5;
}

/* Input wrapper (for optional textarea) */
.confirm-dialog-input-wrapper {
    margin: 0 0 var(--space-3) 0;
}

.confirm-dialog-input {
    width: 100%;
    resize: vertical;
    font-family: inherit;
}

/* Button actions container */
.confirm-dialog-actions {
    display: flex;
    gap: var(--space-2);
    justify-content: flex-end;
    margin-top: var(--space-4);
}

/* Ensure buttons have consistent sizing */
.confirm-dialog-actions .btn {
    min-width: 80px;
    min-height: var(--control-height);
}

/* Responsive adjustments */
@media (max-width: 480px) {
    .confirm-dialog-overlay {
        padding: var(--space-3);
        align-items: flex-end;
    }

    .confirm-dialog {
        max-width: 100%;
        border-radius: var(--radius-lg) var(--radius-lg) 0 0;
        animation: confirm-dialog-slide-up 0.25s ease-out;
    }

    @keyframes confirm-dialog-slide-up {
        from {
            opacity: 0;
            transform: translateY(20px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .confirm-dialog-actions {
        flex-direction: column-reverse;
    }

    .confirm-dialog-actions .btn {
        width: 100%;
        min-width: unset;
    }
}