#global-action-dock {
    position: fixed;
    bottom: max(.75rem, env(safe-area-inset-bottom));
    z-index: 1025;
    max-width: 1050px;
    margin-inline: auto;
    padding: .7rem;
    border: 1px solid var(--bs-border-color, #dce2ea);
    border-radius: .8rem;
    background: var(--bs-body-bg, #fff);
    box-shadow: 0 10px 34px rgba(20, 35, 55, .2);
}

#global-action-dock[hidden] { display: none !important; }

.global-action-dock__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .5rem;
}

.global-action-dock__actions .btn { min-height: 44px; }

#main-container.has-global-action-dock {
    padding-bottom: calc(var(--global-action-dock-height, 72px) + 1.25rem);
}

body.modal-open #global-action-dock,
body:has(.offcanvas.show) #global-action-dock { display: none !important; }

@media (max-width: 575.98px) {
    #global-action-dock {
        bottom: max(.5rem, env(safe-area-inset-bottom));
        padding: .5rem;
        border-radius: .7rem;
    }

    .global-action-dock__actions {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 125px), 1fr));
    }

    .global-action-dock__actions .btn {
        width: 100%;
        white-space: normal;
    }
}

@media print {
    #global-action-dock { display: none !important; }
    #main-container.has-global-action-dock { padding-bottom: 0; }
}