:is([role="dialog"], [role="alertdialog"])[aria-modal="true"] > header {
    cursor: move;
    user-select: none;
}

:is([role="dialog"], [role="alertdialog"])[aria-modal="true"] > header :is(button, a, input, select, textarea, [contenteditable="true"]) {
    cursor: auto;
}

.app-dialog-maximize {
    align-items: center;
    appearance: none;
    background: var(--theme-surface-soft, #f6f9fc) !important;
    border: 1px solid var(--theme-border, #cbd7e4) !important;
    border-radius: 6px !important;
    color: var(--theme-muted, #52657a) !important;
    cursor: pointer !important;
    display: inline-flex !important;
    flex: 0 0 32px;
    height: 32px !important;
    justify-content: center;
    margin-left: 8px;
    min-height: 32px !important;
    padding: 0 !important;
    width: 32px !important;
}

:is([role="dialog"], [role="alertdialog"])[aria-modal="true"] > header > .app-dialog-maximize {
    margin-left: auto;
}

:is([role="dialog"], [role="alertdialog"])[aria-modal="true"] > header > .app-dialog-maximize + button {
    margin-left: 8px !important;
}

.selector-header:has(> .app-dialog-maximize) {
    grid-template-columns: minmax(0, 1fr) auto auto auto !important;
}

.selector-header > .app-dialog-maximize {
    margin-left: 0;
}

.app-dialog-maximize:hover {
    background: var(--theme-primary-soft, #e7f1fb) !important;
    border-color: var(--theme-primary, #1f5c9d) !important;
    color: var(--theme-primary, #1f5c9d) !important;
}

.app-dialog-maximize:focus-visible {
    outline: 3px solid #60a5fa !important;
    outline-offset: 2px;
}

.app-dialog-maximize > span {
    background: currentColor;
    display: block;
    height: 15px;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='4' width='16' height='16' rx='1' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='4' width='16' height='16' rx='1' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
    width: 15px;
}

.app-dialog-maximized .app-dialog-maximize > span {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='7' y='7' width='13' height='13' rx='1' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M4 16V4h12' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='7' y='7' width='13' height='13' rx='1' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M4 16V4h12' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
}

:is([role="dialog"], [role="alertdialog"])[aria-modal="true"].app-dialog-positioned {
    bottom: auto !important;
    left: var(--app-dialog-left) !important;
    margin: 0 !important;
    max-width: calc(100vw - 8px) !important;
    position: fixed !important;
    right: auto !important;
    top: var(--app-dialog-top) !important;
    transform: none !important;
}

:is([role="dialog"], [role="alertdialog"])[aria-modal="true"].app-dialog-maximized {
    border-radius: 4px !important;
    bottom: 6px !important;
    height: auto !important;
    left: 6px !important;
    margin: 0 !important;
    max-height: none !important;
    max-width: none !important;
    min-height: 0 !important;
    min-width: 0 !important;
    position: fixed !important;
    right: 6px !important;
    top: 6px !important;
    transform: none !important;
    width: auto !important;
}

body.app-dialog-dragging,
body.app-dialog-dragging * {
    cursor: move !important;
    user-select: none !important;
}

@media (max-width: 540px) {
    .app-dialog-maximize {
        flex-basis: 30px;
        height: 30px !important;
        min-height: 30px !important;
        width: 30px !important;
    }
}
