.dims-confirm-modal .modal-content {
    overflow: hidden;
    border: 1px solid var(--dims-border, #d8e0eb);
    border-radius: var(--dims-radius-lg, .875rem);
    box-shadow: var(--dims-shadow-lg, 0 24px 60px rgba(15, 23, 42, .22));
}

.dims-confirm-modal .modal-header {
    align-items: flex-start;
    padding: 1.15rem 1.25rem;
    border-bottom: 1px solid var(--dims-border, #e2e8f0);
    background: var(--dims-card-bg, #fff);
}

.dims-confirm-modal__heading {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .8rem;
}

.dims-confirm-modal__icon {
    display: inline-flex;
    width: 2.4rem;
    height: 2.4rem;
    flex: 0 0 2.4rem;
    align-items: center;
    justify-content: center;
    border-radius: .7rem;
    background: #fff7ed;
    color: #c2410c;
    font-size: 1rem;
}

.dims-confirm-modal[data-tone="danger"] .dims-confirm-modal__icon {
    background: #fef2f2;
    color: #dc2626;
}

.dims-confirm-modal[data-tone="primary"] .dims-confirm-modal__icon {
    background: #eff6ff;
    color: #2563eb;
}

.dims-confirm-modal .modal-title {
    margin: 0;
    color: var(--dims-text, #172033);
    font-size: 1.05rem;
    font-weight: 750;
    line-height: 1.35;
}

.dims-confirm-modal__message {
    margin: 0;
    color: var(--dims-text-muted, #64748b);
    font-size: .925rem;
    line-height: 1.55;
    white-space: pre-line;
}

.dims-confirm-modal .modal-body {
    padding: 1.25rem;
}

.dims-confirm-modal .modal-footer {
    gap: .55rem;
    padding: .9rem 1.25rem;
    border-top: 1px solid var(--dims-border, #e2e8f0);
    background: var(--dims-bg-subtle, #f8fafc);
}

.dims-confirm-dialog {
    width: min(92vw, 31rem);
    padding: 0;
    border: 1px solid var(--dims-border, #d8e0eb);
    border-radius: var(--dims-radius-lg, .875rem);
    background: var(--dims-card-bg, #fff);
    box-shadow: var(--dims-shadow-lg, 0 24px 60px rgba(15, 23, 42, .22));
    color: var(--dims-text, #172033);
}

.dims-confirm-dialog::backdrop {
    background: rgba(15, 23, 42, .55);
}

.dims-confirm-dialog__content {
    padding: 1.2rem;
}

.dims-confirm-dialog__header {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin-bottom: 1rem;
}

.dims-confirm-dialog__header h2 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 750;
}

.dims-confirm-dialog__actions {
    display: flex;
    justify-content: flex-end;
    gap: .55rem;
    margin-top: 1.25rem;
}

.dims-action-busy {
    cursor: wait !important;
}

.dims-action-spinner {
    display: inline-block;
    width: .9em;
    height: .9em;
    margin-right: .45rem;
    vertical-align: -.08em;
    border: .14em solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: dims-action-spin .7s linear infinite;
}

@keyframes dims-action-spin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .dims-action-spinner { animation-duration: 1.6s; }
}
