/* Shared dialog chrome. Message-specific rules are activated by
   AppDialogServiceExtensions.MessageBoxBackgroundClass. */
.mud-overlay.mud-overlay-dialog,
.mud-overlay.mud-overlay-dark,
.app-message-dialog-backdrop {
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.mud-dialog:not(.mud-dialog-fullscreen) {
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-top: 4px solid rgba(var(--mud-palette-primary-rgb), 0.78);
    border-radius: 20px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.27),
                0 4px 14px rgba(15, 23, 42, 0.12) !important;
    animation: app-dialog-enter 180ms cubic-bezier(.2, .8, .2, 1);
}

.mud-dialog:not(.mud-dialog-fullscreen) > .mud-dialog-title {
    padding: 23px 28px 17px;
    color: var(--mud-palette-text-primary);
    background: linear-gradient(
        135deg,
        rgba(var(--mud-palette-primary-rgb), 0.065),
        transparent 68%);
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
    font-size: 1.13rem;
    font-weight: 700;
    line-height: 1.45;
}

.mud-dialog:not(.mud-dialog-fullscreen) > .mud-dialog-title .mud-typography-h6 {
    color: var(--mud-palette-text-primary);
    font-weight: 700;
    line-height: 1.45;
}

.mud-dialog:not(.mud-dialog-fullscreen) > .mud-dialog-title > .mud-icon-button-root:last-child {
    flex: 0 0 auto;
    margin-inline-start: auto;
    color: var(--mud-palette-text-secondary);
    background: rgba(148, 163, 184, 0.1);
    border: 1px solid rgba(148, 163, 184, 0.17);
    border-radius: 11px;
    transition: color 120ms ease, background-color 120ms ease,
                border-color 120ms ease, transform 120ms ease;
}

.mud-dialog:not(.mud-dialog-fullscreen) > .mud-dialog-title > .mud-icon-button-root:last-child:hover {
    color: var(--mud-palette-error);
    background: rgba(var(--mud-palette-error-rgb), 0.08);
    border-color: rgba(var(--mud-palette-error-rgb), 0.18);
}

.mud-dialog:not(.mud-dialog-fullscreen) > .mud-dialog-title > .mud-icon-button-root:last-child:active {
    transform: translateY(1px);
}

.mud-dialog:not(.mud-dialog-fullscreen) > .mud-dialog-actions {
    flex-wrap: wrap;
    gap: 10px;
    padding: 16px 28px 20px;
    background: rgba(148, 163, 184, 0.045);
    border-top: 1px solid rgba(148, 163, 184, 0.16);
}

.mud-dialog:not(.mud-dialog-fullscreen) > .mud-dialog-actions .mud-button-root {
    min-height: 40px;
    padding-inline: 17px;
    border-radius: 11px;
    font-weight: 650;
    letter-spacing: 0;
    text-transform: none;
    white-space: normal;
}

.mud-dialog:not(.mud-dialog-fullscreen) > .mud-dialog-actions .mud-button-filled {
    box-shadow: 0 5px 13px rgba(15, 23, 42, 0.14) !important;
}

/* MudBlazor renders the custom background within the same dialog instance.
   The alternatives cover both current container and sibling render layouts. */
.app-message-dialog-backdrop .mud-dialog:not(.mud-dialog-fullscreen),
.mud-dialog-container:has(.app-message-dialog-backdrop) .mud-dialog:not(.mud-dialog-fullscreen),
.app-message-dialog-backdrop + .mud-dialog-container .mud-dialog:not(.mud-dialog-fullscreen),
.app-message-dialog-backdrop ~ .mud-dialog-container .mud-dialog:not(.mud-dialog-fullscreen) {
    position: relative;
    overflow: hidden;
    border-top: 1px solid rgba(148, 163, 184, 0.2);
}

.app-message-dialog-backdrop .mud-dialog:not(.mud-dialog-fullscreen)::before,
.mud-dialog-container:has(.app-message-dialog-backdrop) .mud-dialog:not(.mud-dialog-fullscreen)::before,
.app-message-dialog-backdrop + .mud-dialog-container .mud-dialog:not(.mud-dialog-fullscreen)::before,
.app-message-dialog-backdrop ~ .mud-dialog-container .mud-dialog:not(.mud-dialog-fullscreen)::before {
    position: absolute;
    z-index: 1;
    inset-inline: 0;
    top: 0;
    height: 4px;
    content: "";
    background: linear-gradient(90deg, #f59e0b, #ef4444);
}

.app-message-dialog-backdrop .mud-dialog:not(.mud-dialog-fullscreen) > .mud-dialog-title,
.mud-dialog-container:has(.app-message-dialog-backdrop) .mud-dialog-title,
.app-message-dialog-backdrop + .mud-dialog-container .mud-dialog-title,
.app-message-dialog-backdrop ~ .mud-dialog-container .mud-dialog-title {
    display: flex;
    gap: 15px;
    align-items: center;
    padding: 29px 28px 14px;
    color: var(--mud-palette-text-primary);
    font-size: 1.13rem;
    font-weight: 700;
    line-height: 1.45;
    background: transparent;
    border-bottom: 0;
}

.app-message-dialog-backdrop .mud-dialog:not(.mud-dialog-fullscreen) > .mud-dialog-title::before,
.mud-dialog-container:has(.app-message-dialog-backdrop) .mud-dialog-title::before,
.app-message-dialog-backdrop + .mud-dialog-container .mud-dialog-title::before,
.app-message-dialog-backdrop ~ .mud-dialog-container .mud-dialog-title::before {
    display: inline-grid;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    place-items: center;
    color: #d97706;
    background-color: rgba(245, 158, 11, 0.11);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d97706' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 8.5v4.25'/%3E%3Cpath d='M12 16.25h.01'/%3E%3Cpath d='M10.3 4.65 3.2 17a1.5 1.5 0 0 0 1.3 2.25h15a1.5 1.5 0 0 0 1.3-2.25L13.7 4.65a1.96 1.96 0 0 0-3.4 0Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px;
    border: 1px solid rgba(245, 158, 11, 0.17);
    border-radius: 14px;
    content: "";
}

.app-message-dialog-backdrop .mud-dialog:not(.mud-dialog-fullscreen) > .mud-dialog-content,
.mud-dialog-container:has(.app-message-dialog-backdrop) .mud-dialog-content,
.app-message-dialog-backdrop + .mud-dialog-container .mud-dialog-content,
.app-message-dialog-backdrop ~ .mud-dialog-container .mud-dialog-content {
    min-height: 64px;
    padding: 10px 28px 25px;
    color: var(--mud-palette-text-secondary);
    font-size: 0.94rem;
    line-height: 1.8;
}

.app-message-dialog-backdrop .mud-dialog:not(.mud-dialog-fullscreen) > .mud-dialog-actions,
.mud-dialog-container:has(.app-message-dialog-backdrop) .mud-dialog-actions,
.app-message-dialog-backdrop + .mud-dialog-container .mud-dialog-actions,
.app-message-dialog-backdrop ~ .mud-dialog-container .mud-dialog-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 17px 28px 21px;
    background: rgba(148, 163, 184, 0.055);
    border-top: 1px solid rgba(148, 163, 184, 0.17);
}

.app-message-dialog-backdrop .mud-dialog:not(.mud-dialog-fullscreen) > .mud-dialog-actions .mud-button-root,
.mud-dialog-container:has(.app-message-dialog-backdrop) .mud-dialog-actions .mud-button-root,
.app-message-dialog-backdrop + .mud-dialog-container .mud-dialog-actions .mud-button-root,
.app-message-dialog-backdrop ~ .mud-dialog-container .mud-dialog-actions .mud-button-root {
    min-height: 42px;
    padding-inline: 18px;
    border-radius: 11px;
    font-weight: 650;
    letter-spacing: 0;
    text-transform: none;
    white-space: normal;
}

.app-message-dialog-backdrop .mud-dialog-actions > .mud-button-root:last-child:not(:first-child).mud-button-text,
.app-message-dialog-backdrop .mud-dialog-actions > :last-child:not(:first-child) .mud-button-root.mud-button-text,
.mud-dialog-container:has(.app-message-dialog-backdrop) .mud-dialog-actions > .mud-button-root:last-child:not(:first-child).mud-button-text,
.mud-dialog-container:has(.app-message-dialog-backdrop) .mud-dialog-actions > :last-child:not(:first-child) .mud-button-root.mud-button-text,
.app-message-dialog-backdrop + .mud-dialog-container .mud-dialog-actions > .mud-button-root:last-child:not(:first-child).mud-button-text,
.app-message-dialog-backdrop + .mud-dialog-container .mud-dialog-actions > :last-child:not(:first-child) .mud-button-root.mud-button-text,
.app-message-dialog-backdrop ~ .mud-dialog-container .mud-dialog-actions > .mud-button-root:last-child:not(:first-child).mud-button-text,
.app-message-dialog-backdrop ~ .mud-dialog-container .mud-dialog-actions > :last-child:not(:first-child) .mud-button-root.mud-button-text {
    color: var(--mud-palette-primary-text);
    background: var(--mud-palette-primary);
    box-shadow: 0 5px 13px rgba(var(--mud-palette-primary-rgb), 0.22);
}

.app-message-dialog-backdrop .mud-dialog-actions > .mud-button-root:first-child:not(:last-child).mud-button-text,
.app-message-dialog-backdrop .mud-dialog-actions > :first-child:not(:last-child) .mud-button-root.mud-button-text,
.mud-dialog-container:has(.app-message-dialog-backdrop) .mud-dialog-actions > .mud-button-root:first-child:not(:last-child).mud-button-text,
.mud-dialog-container:has(.app-message-dialog-backdrop) .mud-dialog-actions > :first-child:not(:last-child) .mud-button-root.mud-button-text,
.app-message-dialog-backdrop + .mud-dialog-container .mud-dialog-actions > .mud-button-root:first-child:not(:last-child).mud-button-text,
.app-message-dialog-backdrop + .mud-dialog-container .mud-dialog-actions > :first-child:not(:last-child) .mud-button-root.mud-button-text,
.app-message-dialog-backdrop ~ .mud-dialog-container .mud-dialog-actions > .mud-button-root:first-child:not(:last-child).mud-button-text,
.app-message-dialog-backdrop ~ .mud-dialog-container .mud-dialog-actions > :first-child:not(:last-child) .mud-button-root.mud-button-text {
    color: var(--mud-palette-text-primary);
    background: var(--mud-palette-surface);
    border: 1px solid rgba(148, 163, 184, 0.42);
}

@keyframes app-dialog-enter {
    from {
        opacity: 0;
        transform: translateY(8px) scale(0.985);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (max-width: 520px) {
    .mud-dialog:not(.mud-dialog-fullscreen) > .mud-dialog-title,
    .mud-dialog:not(.mud-dialog-fullscreen) > .mud-dialog-actions {
        padding-inline: 21px;
    }

    .app-message-dialog-backdrop .mud-dialog:not(.mud-dialog-fullscreen) > .mud-dialog-title,
    .mud-dialog-container:has(.app-message-dialog-backdrop) .mud-dialog-title,
    .app-message-dialog-backdrop + .mud-dialog-container .mud-dialog-title,
    .app-message-dialog-backdrop ~ .mud-dialog-container .mud-dialog-title {
        padding-inline: 21px;
    }

    .app-message-dialog-backdrop .mud-dialog:not(.mud-dialog-fullscreen) > .mud-dialog-content,
    .mud-dialog-container:has(.app-message-dialog-backdrop) .mud-dialog-content,
    .app-message-dialog-backdrop + .mud-dialog-container .mud-dialog-content,
    .app-message-dialog-backdrop ~ .mud-dialog-container .mud-dialog-content {
        padding-inline: 21px;
    }

    .app-message-dialog-backdrop .mud-dialog:not(.mud-dialog-fullscreen) > .mud-dialog-actions,
    .mud-dialog-container:has(.app-message-dialog-backdrop) .mud-dialog-actions,
    .app-message-dialog-backdrop + .mud-dialog-container .mud-dialog-actions,
    .app-message-dialog-backdrop ~ .mud-dialog-container .mud-dialog-actions {
        padding-inline: 21px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mud-dialog:not(.mud-dialog-fullscreen) {
        animation: none;
    }
}
