/*
 * Modal primitives: fixed header/footer, scrollable body, footer-safe content.
 */

.mud-dialog:not(.mud-dialog-fullscreen) {
    width: min(920px, calc(100vw - 64px)) !important;
    max-width: min(920px, calc(100vw - 64px)) !important;
    max-height: calc(100dvh - 72px) !important;
    overflow: hidden !important;
    border: 1px solid rgba(198, 210, 255, 0.10) !important;
    border-radius: 20px !important;
    background: rgba(17, 20, 30, 0.99) !important;
    box-shadow: var(--app-shadow-modal) !important;
}

.mud-dialog:not(.mud-dialog-fullscreen) .mud-dialog-title {
    position: sticky;
    top: 0;
    z-index: 2;
    min-height: 54px;
    padding: 14px 22px 13px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.055);
    background: rgba(20, 24, 35, 0.98);
}

.mud-dialog:not(.mud-dialog-fullscreen) .mud-dialog-title .mud-typography {
    color: var(--app-text);
    font-size: 1.08rem;
    font-weight: 620;
    line-height: 1.15;
}

.mud-dialog:not(.mud-dialog-fullscreen) .mud-dialog-content {
    max-height: calc(100dvh - 184px);
    overflow-y: auto;
    overflow-x: hidden;
    padding: 18px 22px 82px !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(190, 200, 235, 0.34) transparent;
}

.mud-dialog:not(.mud-dialog-fullscreen) .mud-dialog-actions {
    position: sticky;
    bottom: 0;
    z-index: 2;
    min-height: 64px;
    padding: 11px 22px !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    background: rgba(9, 11, 17, 0.97);
    box-shadow: 0 -12px 24px rgba(0, 0, 0, 0.18);
}

.mud-dialog:not(.mud-dialog-fullscreen) .mud-dialog-actions .mud-button-root {
    min-height: 42px !important;
    height: 42px !important;
    padding-inline: 18px !important;
    font-weight: 620 !important;
}

.mud-dialog:not(.mud-dialog-fullscreen) .config-dialog-section,
.mud-dialog:not(.mud-dialog-fullscreen) .profile-dialog-section,
.mud-dialog:not(.mud-dialog-fullscreen) .event-edit-section,
.mud-dialog:not(.mud-dialog-fullscreen) .shopping-dialog-section,
.mud-dialog:not(.mud-dialog-fullscreen) .maintenance-dialog-section,
.mud-dialog:not(.mud-dialog-fullscreen) .dayplan-edit-section,
.mud-dialog:not(.mud-dialog-fullscreen) .contact-edit-section {
    padding: clamp(14px, 1.35vw, 18px) !important;
    border-radius: 16px !important;
    border-color: rgba(198, 210, 255, 0.075) !important;
    background-color: rgba(255, 255, 255, 0.018) !important;
}

.mud-dialog:not(.mud-dialog-fullscreen) .config-dialog-section + .config-dialog-section,
.mud-dialog:not(.mud-dialog-fullscreen) .profile-dialog-section + .profile-dialog-section,
.mud-dialog:not(.mud-dialog-fullscreen) .event-edit-section + .event-edit-section,
.mud-dialog:not(.mud-dialog-fullscreen) .shopping-dialog-section + .shopping-dialog-section,
.mud-dialog:not(.mud-dialog-fullscreen) .maintenance-dialog-section + .maintenance-dialog-section,
.mud-dialog:not(.mud-dialog-fullscreen) .dayplan-edit-section + .dayplan-edit-section,
.mud-dialog:not(.mud-dialog-fullscreen) .contact-edit-section + .contact-edit-section {
    margin-top: 16px !important;
}

.mud-dialog:not(.mud-dialog-fullscreen) .config-dialog-section-title,
.mud-dialog:not(.mud-dialog-fullscreen) .profile-dialog-section-title,
.mud-dialog:not(.mud-dialog-fullscreen) .config-dialog-section-kicker {
    margin-bottom: 14px;
    color: rgba(182, 190, 224, 0.76);
    font-size: 0.68rem;
    font-weight: 620;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
}

.mud-dialog:not(.mud-dialog-fullscreen) .config-dialog-section-header,
.mud-dialog:not(.mud-dialog-fullscreen) .event-edit-section-header,
.mud-dialog:not(.mud-dialog-fullscreen) .dayplan-edit-section-header {
    margin-bottom: 12px !important;
}

.mud-dialog:not(.mud-dialog-fullscreen) .maintenance-form-grid,
.mud-dialog:not(.mud-dialog-fullscreen) .config-dialog-grid,
.mud-dialog:not(.mud-dialog-fullscreen) .config-dialog-grid-two,
.mud-dialog:not(.mud-dialog-fullscreen) .contact-edit-form-grid {
    gap: 16px 22px !important;
}

.mud-dialog:not(.mud-dialog-fullscreen) .maintenance-field-title {
    grid-column: auto !important;
}

@media (max-width: 700px) {
    .mud-dialog-container {
        align-items: flex-start !important;
        padding: 6px !important;
        overflow: hidden !important;
    }

    .mud-dialog:not(.mud-dialog-fullscreen) {
        display: flex !important;
        flex-direction: column !important;
        width: calc(100vw - 12px) !important;
        max-width: calc(100vw - 12px) !important;
        height: min(92dvh, calc(100dvh - 12px)) !important;
        max-height: calc(100dvh - 12px) !important;
        min-height: 0 !important;
        margin: 0 !important;
        border-radius: 18px !important;
    }

    .mud-dialog:not(.mud-dialog-fullscreen) .mud-dialog-title {
        flex: 0 0 auto !important;
        min-height: 50px;
        padding: 12px 14px 11px !important;
    }

    .mud-dialog:not(.mud-dialog-fullscreen) .mud-dialog-title .mud-typography {
        font-size: 1.04rem !important;
        line-height: 1.1 !important;
    }

    .mud-dialog:not(.mud-dialog-fullscreen) .mud-dialog-content {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 10px 10px 14px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        scroll-padding-bottom: 78px;
    }

    .mud-dialog:not(.mud-dialog-fullscreen) .mud-dialog-actions {
        flex: 0 0 auto !important;
        min-height: 62px;
        padding: 9px 10px calc(9px + env(safe-area-inset-bottom, 0px)) !important;
        gap: 8px !important;
    }

    .mud-dialog:not(.mud-dialog-fullscreen) .mud-dialog-actions .mud-button-root {
        min-height: 44px !important;
        flex: 0 1 auto;
    }

    .mud-dialog:not(.mud-dialog-fullscreen) .config-dialog-section,
    .mud-dialog:not(.mud-dialog-fullscreen) .profile-dialog-section,
    .mud-dialog:not(.mud-dialog-fullscreen) .event-edit-section,
    .mud-dialog:not(.mud-dialog-fullscreen) .shopping-dialog-section,
    .mud-dialog:not(.mud-dialog-fullscreen) .maintenance-dialog-section,
    .mud-dialog:not(.mud-dialog-fullscreen) .dayplan-edit-section,
    .mud-dialog:not(.mud-dialog-fullscreen) .contact-edit-section {
        padding: 12px !important;
        margin-bottom: 10px !important;
        border-radius: 16px !important;
    }

    .mud-dialog:not(.mud-dialog-fullscreen) .config-dialog-section-title,
    .mud-dialog:not(.mud-dialog-fullscreen) .profile-dialog-section-title,
    .mud-dialog:not(.mud-dialog-fullscreen) .config-dialog-section-kicker {
        font-size: 0.64rem !important;
        letter-spacing: 0.105em !important;
        line-height: 1.1 !important;
    }

    .mud-dialog:not(.mud-dialog-fullscreen) .config-dialog-grid,
    .mud-dialog:not(.mud-dialog-fullscreen) .config-dialog-grid-two,
    .mud-dialog:not(.mud-dialog-fullscreen) .maintenance-form-grid,
    .mud-dialog:not(.mud-dialog-fullscreen) .event-edit-grid,
    .mud-dialog:not(.mud-dialog-fullscreen) .dayplan-edit-grid,
    .mud-dialog:not(.mud-dialog-fullscreen) .shopping-edit-grid,
    .mud-dialog:not(.mud-dialog-fullscreen) .contact-edit-form-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
    }
}

@media (max-width: 380px) {
    .mud-dialog-container {
        padding: 4px !important;
    }

    .mud-dialog:not(.mud-dialog-fullscreen) {
        width: calc(100vw - 8px) !important;
        max-width: calc(100vw - 8px) !important;
        height: calc(100dvh - 8px) !important;
        max-height: calc(100dvh - 8px) !important;
        border-radius: 16px !important;
    }

    .mud-dialog:not(.mud-dialog-fullscreen) .mud-dialog-title {
        min-height: 40px !important;
        padding: 9px 12px !important;
    }

    .mud-dialog:not(.mud-dialog-fullscreen) .mud-dialog-title .mud-typography {
        font-size: 0.98rem !important;
    }

    .mud-dialog:not(.mud-dialog-fullscreen) .mud-dialog-content {
        padding: 7px 8px 64px !important;
    }

    .mud-dialog:not(.mud-dialog-fullscreen) .mud-dialog-actions {
        min-height: 50px !important;
        padding: 6px 8px calc(6px + env(safe-area-inset-bottom, 0px)) !important;
    }

    .mud-dialog:not(.mud-dialog-fullscreen) .config-dialog-shell {
        gap: 7px !important;
    }

    .mud-dialog:not(.mud-dialog-fullscreen) .config-dialog-section,
    .mud-dialog:not(.mud-dialog-fullscreen) .profile-dialog-section,
    .mud-dialog:not(.mud-dialog-fullscreen) .event-edit-section,
    .mud-dialog:not(.mud-dialog-fullscreen) .shopping-dialog-section,
    .mud-dialog:not(.mud-dialog-fullscreen) .maintenance-dialog-section,
    .mud-dialog:not(.mud-dialog-fullscreen) .dayplan-edit-section,
    .mud-dialog:not(.mud-dialog-fullscreen) .contact-edit-section {
        padding: 8px !important;
        margin-bottom: 6px !important;
        gap: 7px !important;
        border-radius: 13px !important;
    }

    .mud-dialog:not(.mud-dialog-fullscreen) .config-dialog-section-header {
        gap: 1px !important;
        margin-bottom: 2px !important;
    }

    .mud-dialog:not(.mud-dialog-fullscreen) .config-dialog-section-title,
    .mud-dialog:not(.mud-dialog-fullscreen) .profile-dialog-section-title,
    .mud-dialog:not(.mud-dialog-fullscreen) .config-dialog-section-kicker {
        font-size: 0.58rem !important;
        line-height: 1.05 !important;
        letter-spacing: 0.095em !important;
    }

    .mud-dialog:not(.mud-dialog-fullscreen) .maintenance-form-grid,
    .mud-dialog:not(.mud-dialog-fullscreen) .config-dialog-grid,
    .mud-dialog:not(.mud-dialog-fullscreen) .config-dialog-grid-two,
    .mud-dialog:not(.mud-dialog-fullscreen) .event-edit-grid,
    .mud-dialog:not(.mud-dialog-fullscreen) .dayplan-edit-grid,
    .mud-dialog:not(.mud-dialog-fullscreen) .shopping-edit-grid,
    .mud-dialog:not(.mud-dialog-fullscreen) .contact-edit-form-grid {
        gap: 6px !important;
        row-gap: 6px !important;
    }
}
