:host, :root {
    --primary: #71b52c;
}

html, body, .body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
}

.body > header,
.body > main,
.body > footer {
    padding-block: var(--pico-block-spacing-vertical);
}

.flex-row {
    display: flex;
    flex-direction: row;
}
.flex-column {
    display: flex;
    flex-direction: column;
}
.flex-grow {
    flex-grow: 1;
}

.global-busy-indicator {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    opacity: 0;
    transition: opacity 0.4s ease-out;
    z-index: 9998;
}

.global-busy-indicator.active {
    opacity: 1;
    transition: opacity 0.4s ease-out;
}

dialog article form button[type="submit"] {
    width: auto;
}
