/* =========================
   OVERLAY (LIGHT DIM)
========================= */

.fluent-confirm-overlay {
    position: fixed;
    inset: 0;

    background: rgba(0, 0, 0, 0.25); /* lebih ringan ala M365 */

    display: flex;
    align-items: center;
    justify-content: center;

    z-index: 9999;

    opacity: 0;
    pointer-events: none;

    transition: opacity 0.15s ease;
}

.fluent-confirm-overlay.show {
    opacity: 1;
    pointer-events: auto;
}

/* =========================
   DIALOG (FLUENT STYLE)
========================= */

.fluent-confirm {
    width: 100%;
    max-width: 420px;

    background: var(--ms-color-bg-canvas);

    border-radius: var(--ms-radius-lg);
    border: 1px solid var(--ms-color-border-subtle);

    box-shadow:
        0 0 0 1px rgba(0,0,0,0.02),
        0 8px 24px rgba(0,0,0,0.12),
        0 24px 48px rgba(0,0,0,0.16);

    padding: 16px 18px;

    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: 12px;
    row-gap: 12px;

    animation: fluent-confirm-in 0.18s ease;
}

/* =========================
   ICON
========================= */

.fluent-confirm-icon {
    grid-row: 1 / span 2;

    display: flex;
    align-items: flex-start;

    color: var(--ms-color-warning);
}

/* =========================
   BODY
========================= */

.fluent-confirm-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.fluent-confirm-title {
    font-size: var(--ms-font-size-body);
    font-weight: var(--ms-font-weight-semi-bold);
}

.fluent-confirm-message {
    font-size: var(--ms-font-size-small);
    color: var(--ms-color-text-secondary);
}

/* =========================
   ACTIONS
========================= */

.fluent-confirm-actions {
    grid-column: 2;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

/* =========================
   ANIMATION
========================= */

@keyframes fluent-confirm-in {
    from {
        opacity: 0;
        transform: scale(0.96) translateY(-6px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

/* helper */
.hidden {
    display: none;
}