* {
    box-sizing: border-box;
}

html {
    overflow-x: hidden;
    overflow-y: scroll;
    scroll-padding-top: 88px;
}

/* Bestellingen */
.order-module-page {
    --order-radius: 10px;
}

.order-page-heading,
.order-section-heading,
.order-subheading {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 22px;
}

.order-page-heading h1,
.order-section-heading h2,
.order-subheading h3 {
    margin-bottom: 4px;
}

.order-section-heading h2,
.order-subheading h3 {
    color: #222;
    font-size: 17px;
    font-weight: 600;
}

.order-page-heading p,
.order-section-heading p,
.order-subheading p {
    margin: 0;
}

.order-page-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.order-page-actions > .btn {
    align-items: center;
    box-sizing: border-box;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    min-height: 38px;
}

.order-report-icon-action {
    align-items: center;
    display: inline-flex;
    flex: 0 0 38px;
    height: 38px;
    justify-content: center;
    padding: 0;
    width: 38px;
}

.order-report-icon-action .fa {
    margin: 0;
}

.order-list-empty {
    align-items: center;
    display: flex;
    flex-direction: column;
}

.order-list-empty > i {
    margin-bottom: 14px;
}

.order-product-form {
    display: grid;
    gap: 15px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.order-sales-point-form {
    display: grid;
    gap: 15px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.order-option-form {
    display: grid;
    gap: 15px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.order-product-form > .order-form-wide,
.order-product-form > .check-line,
.order-product-form > button,
.order-sales-point-form > .order-form-wide,
.order-sales-point-form > fieldset,
.order-sales-point-form > button,
.order-option-form > .order-option-lines,
.order-option-form > button {
    grid-column: 1 / -1;
}

.order-product-form > button,
.order-sales-point-form > button,
.order-option-form > button {
    justify-self: start;
}

.order-coupon-payment {
    align-items: center;
    background: var(--brand-soft, rgba(7, 136, 155, .08));
    border: 1px solid var(--brand-soft-border, rgba(7, 136, 155, .25));
    border-radius: 8px;
    color: #444;
    display: flex;
    gap: 10px;
    padding: 12px 14px;
}

.order-coupon-payment i {
    color: var(--brand, #07889b);
}

.order-catalog-category + .order-catalog-category {
    margin-top: 12px;
}

.order-catalog-category {
    border-radius: var(--order-radius);
    overflow: hidden;
}

.order-catalog-category-heading {
    align-items: center;
    display: flex;
    gap: 10px;
    margin: 0;
}

.order-catalog-category-heading .task-summary-main {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
}

.order-catalog-category-heading .task-summary-main > strong {
    color: #333;
    font-size: 15px;
    font-weight: 700;
}

.order-catalog-category[open] > .order-catalog-category-heading {
    background: var(--brand-soft);
}

.order-catalog-category-heading .member-mobile-order-actions {
    margin-left: auto;
}

.order-catalog-products {
    border-top: 1px solid #eee;
    min-width: 0;
    padding: 12px;
}

.order-catalog-empty {
    align-items: flex-start;
    color: #777;
    display: flex;
    gap: 11px;
    padding: 18px 0 4px;
}

.order-catalog-empty > i {
    color: var(--brand);
    flex: 0 0 auto;
    margin-top: 3px;
}

.order-catalog-empty-copy {
    display: flex;
    flex-direction: column;
    gap: 4px;
    line-height: 1.45;
    min-width: 0;
}

.order-catalog-empty-copy strong {
    color: #333;
}

.order-category-delete {
    border-top: 1px solid #eee;
    margin: 16px 0 0;
    padding-top: 16px;
}

.order-category-product-create {
    border: 1px dashed var(--brand-soft-border, rgba(7, 136, 155, .25));
    margin-top: 14px;
}

.order-category-product-create > summary {
    color: var(--brand, #07889b);
}

.order-category-product-create[open] > summary {
    background: var(--brand-soft, rgba(7, 136, 155, .08));
}

.order-category-product-create .order-product-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.order-catalog-category.is-dragging,
.order-product-card.is-dragging {
    opacity: .55;
}

.order-product-card > summary > .fa-chevron-down,
.order-card > summary > .fa-chevron-down {
    display: none;
}

.order-option-groups {
    border-top: 1px solid #eee;
    margin-top: 24px;
    padding-top: 22px;
}

.order-option-card {
    background: #fafafa;
    border-color: #e8e8e8;
}

.order-option-card .accordion-body {
    border-top: 1px solid #e8e8e8;
    padding: 18px;
}

.order-option-card--new {
    border-style: dashed;
}

.order-option-card--existing {
    border-style: dashed;
}

.order-option-link-form {
    align-items: start;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.order-option-link-field {
    margin: 0;
    min-width: 0;
}

.order-option-link-label {
    color: #555;
    display: block;
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 6px;
}

.order-option-link-field > small {
    color: #858b8f;
    display: block;
    font-size: 12px;
    font-weight: 400;
    margin-top: 6px;
}

.order-choice-picker-control {
    position: relative;
}

.order-choice-picker-toggle {
    align-items: center;
    background: #fff;
    color: #555;
    cursor: pointer;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    text-align: left;
    width: 100%;
}

.order-choice-picker-toggle > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.order-choice-picker-toggle > i {
    color: var(--brand, #07889b);
    flex: 0 0 auto;
    font-size: 11px;
    transition: transform .18s ease;
}

.order-option-link-field.has-error .order-choice-picker-toggle {
    border-color: #c8344f;
}

.order-option-link-field.is-open .order-choice-picker-toggle > i {
    transform: rotate(180deg);
}

.order-choice-picker-menu {
    background: #fff;
    border: 1px solid rgba(7, 136, 155, .28);
    border-radius: 7px;
    box-shadow: 0 12px 28px rgba(31, 48, 53, .15);
    left: 0;
    margin-top: 4px;
    max-height: 290px;
    overflow-y: auto;
    padding: 4px;
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 320;
}

.order-choice-picker-menu[hidden] {
    display: none;
}

.order-choice-picker-menu > button {
    background: transparent;
    border: 0;
    border-radius: 5px;
    color: #4f5659;
    cursor: pointer;
    display: block;
    font: inherit;
    min-height: 40px;
    padding: 9px 11px;
    text-align: left;
    width: 100%;
}

.order-choice-picker-menu > button:hover,
.order-choice-picker-menu > button:focus,
.order-choice-picker-menu > button.is-selected {
    background: var(--brand-soft, rgba(7, 136, 155, .08));
    color: var(--brand, #07889b);
    outline: 0;
}

.order-option-link-form > .btn {
    margin-top: 23px;
}

.order-option-catalog {
    border-top: 1px solid #eee;
    margin-top: 30px;
    padding-top: 28px;
}

.order-option-catalog .order-section-heading {
    margin-bottom: 16px;
}

.order-option-catalog-list .order-option-card + .order-option-card {
    margin-top: 10px;
}

.order-option-catalog-card > summary {
    background: #fff;
}

.order-option-catalog-products {
    align-items: flex-start;
    background: var(--brand-soft, rgba(7, 136, 155, .08));
    border-radius: 7px;
    color: #555;
    display: flex;
    gap: 9px;
    margin: 0 0 16px;
    padding: 10px 12px;
}

.order-option-catalog-products > i {
    color: var(--brand, #07889b);
    margin-top: 3px;
}

.order-sales-danger-zone {
    border-color: #eceff0;
}

.order-sales-danger-zone > summary {
    background: #fff;
}

.order-sales-danger-zone > summary::after {
    color: #8a9093;
}

.order-sales-danger-zone-body {
    align-items: center;
    border-top: 1px solid #eceff0;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    padding: 18px;
}

.order-sales-danger-zone-body > div {
    min-width: 0;
}

.order-sales-danger-zone-body strong {
    color: #333;
}

.order-sales-danger-zone-body p {
    color: #737a7e;
    font-size: 13px;
    margin: 4px 0 0;
}

.order-sales-danger-zone-body form {
    flex: 0 0 auto;
    margin: 0;
}

.order-option-catalog-new {
    margin-top: 14px;
}

.order-option-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.order-option-actions form {
    margin: 0;
}

.order-option-copy-modal .admin-confirm-dialog {
    max-width: 590px;
}

.order-option-copy-modal .admin-confirm-header {
    align-items: center;
    display: flex;
    flex-direction: column;
    width: 100%;
}

.order-option-copy-modal .admin-confirm-icon {
    background: var(--brand-soft);
    color: var(--brand);
}

.order-option-copy-modal .admin-confirm-header h2 {
    color: #222;
    font-size: 19px;
    font-weight: 600;
    margin: 4px 38px 5px;
}

.order-option-copy-modal .admin-confirm-header p {
    color: #686f73;
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
}

.order-option-copy-form {
    min-width: 0;
    padding-top: 10px;
    width: 100%;
}

.order-option-copy-search {
    display: block;
    margin: 0 0 10px;
    position: relative;
}

.order-option-copy-search > i {
    color: #92989b;
    left: 13px;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.order-option-copy-search .form-control {
    padding-left: 38px;
}

.order-option-copy-list {
    border: 1px solid #e2e6e8;
    border-radius: 7px;
    max-height: min(42vh, 350px);
    overflow-y: auto;
    text-align: left;
}

.order-option-copy-target {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #edf0f1;
    cursor: pointer;
    display: flex;
    gap: 12px;
    margin: 0;
    min-height: 58px;
    padding: 10px 13px;
}

.order-option-copy-target:last-child {
    border-bottom: 0;
}

.order-option-copy-target[hidden] {
    display: none;
}

.order-option-copy-target:hover,
.order-option-copy-target:has(input:focus-visible),
.order-option-copy-target:has(input:checked) {
    background: var(--brand-soft);
}

.order-option-copy-target input {
    accent-color: var(--brand);
    flex: 0 0 auto;
    height: 18px;
    margin: 0;
    width: 18px;
}

.order-option-copy-target > span {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
}

.order-option-copy-target strong {
    color: #333;
    font-size: 14px;
    line-height: 1.35;
}

.order-option-copy-target small {
    color: #858b8f;
    font-size: 12px;
    margin-top: 2px;
}

.order-option-copy-empty {
    margin: 18px 0 8px;
    text-align: center;
}

.order-option-lines small {
    color: #888;
    display: block;
    font-size: 12px;
    font-weight: 400;
    margin-top: 6px;
}

.order-option-lines .order-shared-option-note {
    color: var(--brand);
    margin-top: 9px;
}

.order-unused-categories {
    align-items: center;
    border-top: 1px solid #eee;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 28px;
    padding-top: 20px;
}

.order-unused-categories > strong {
    color: #666;
    font-size: 13px;
    margin-right: 4px;
}

.order-unused-categories form {
    margin: 0;
}

.order-product-picker {
    border: 1px solid #e7e7e7;
    border-radius: var(--order-radius);
    padding: 16px;
}

.order-product-picker legend {
    color: #333;
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 12px;
    width: auto;
}

.order-product-picker > div + div {
    border-top: 1px solid #eee;
    margin-top: 14px;
    padding-top: 14px;
}

.order-product-category-toggle {
    align-items: center;
    cursor: pointer;
    display: grid;
    gap: 10px;
    grid-template-columns: auto minmax(0, 1fr);
    margin: 0 0 5px;
    padding: 4px 0 8px;
}

.order-product-category-toggle > input,
.order-product-picker-items > label > input {
    accent-color: var(--brand);
    height: 18px;
    margin: 0;
    width: 18px;
}

.order-product-category-toggle > span {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.order-product-category-toggle strong {
    color: #333;
    font-size: 14px;
}

.order-product-category-toggle small {
    color: #858b8f;
    font-size: 11px;
    font-weight: 400;
    margin-top: 1px;
}

.order-product-category-toggle:has(input:disabled) {
    cursor: default;
    opacity: .58;
}

.order-product-picker-items > label {
    align-items: center;
    display: grid;
    gap: 9px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    margin: 0;
    padding: 7px 0 7px 28px;
}

.order-product-picker-items > label[hidden] {
    display: none;
}

.order-product-picker-items > label small {
    color: #777;
}

.order-availability-panel {
    border: 1px solid #e7e7e7;
    border-radius: var(--order-radius);
    margin-top: 18px;
    overflow: hidden;
}

.order-availability-panel > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    list-style: none;
    padding: 14px 16px;
}

.order-availability-panel > summary::-webkit-details-marker {
    display: none;
}

.order-availability-panel > summary > span {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.order-availability-panel > summary strong {
    color: #333;
    font-size: 14px;
}

.order-availability-panel > summary small,
.order-availability-row small {
    color: #858b8f;
    font-size: 11px;
    margin-top: 2px;
}

.order-availability-panel > summary > i {
    color: var(--brand);
    transition: transform .18s ease;
}

.order-availability-panel[open] > summary > i {
    transform: rotate(180deg);
}

.order-availability-list {
    border-top: 1px solid #eee;
    padding: 0 16px;
}

.order-availability-row {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    min-height: 58px;
    padding: 9px 0;
}

.order-availability-row + .order-availability-row {
    border-top: 1px solid #eee;
}

.order-availability-row > div {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.order-availability-row.is-unavailable > div > strong {
    color: #777;
}

.order-availability-row form {
    flex: 0 0 auto;
    margin: 0;
}

.order-availability-note {
    color: #858b8f;
    font-size: 11px;
    text-align: right;
}

@media (max-width: 575px) {
    .order-availability-row {
        align-items: stretch;
        flex-direction: column;
        gap: 9px;
    }

    .order-availability-row form,
    .order-availability-row .btn {
        width: 100%;
    }

    .order-availability-note {
        text-align: left;
    }
}

.order-sales-point-list {
    display: grid;
    gap: 10px;
}

.order-sales-point-empty {
    align-items: flex-start;
    color: #777;
    display: flex;
    gap: 11px;
    padding: 14px 0 4px;
}

.order-sales-point-empty > i {
    color: var(--brand);
    flex: 0 0 auto;
    margin-top: 3px;
}

.order-sales-point-empty-copy {
    display: flex;
    flex-direction: column;
    gap: 4px;
    line-height: 1.45;
    min-width: 0;
}

.order-sales-point-empty-copy strong {
    color: #333;
}

.order-sales-point-card {
    align-items: center;
    border: 1px solid #e9e9e9;
    border-radius: var(--order-radius);
    color: #333;
    display: grid;
    gap: 14px;
    grid-template-columns: 44px minmax(0, 1fr) auto auto 16px;
    padding: 16px;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.order-sales-point-card:hover,
.order-sales-point-card:focus {
    border-color: var(--brand-soft-border);
    box-shadow: 0 9px 24px rgba(0, 0, 0, .06);
    color: #222;
    text-decoration: none;
    transform: translateY(-1px);
}

.order-sales-point-icon {
    align-items: center;
    background: var(--brand-soft);
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.order-sales-point-main,
.order-sales-point-total {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.order-sales-point-main small,
.order-sales-point-total small {
    color: #888;
    margin-top: 3px;
}

.order-sales-point-status {
    background: #f2f2f2;
    border-radius: 999px;
    color: #666;
    font-size: 12px;
    font-weight: 600;
    padding: 5px 10px;
}

.order-sales-point-status--open {
    background: var(--brand-soft);
    color: var(--brand);
}

.order-sales-point-status--gesloten {
    background: #eee;
    color: #777;
}

.order-sales-point-total {
    align-items: flex-end;
}

.order-stats {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 24px;
}

.order-stats--payments {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.order-stats > div {
    border: 1px solid #e9e9e9;
    border-radius: var(--order-radius);
    display: flex;
    flex-direction: column;
    min-height: 82px;
    padding: 15px;
}

.order-stats span {
    color: #888;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.order-stats strong {
    color: #222;
    font-size: 20px;
    margin-top: 7px;
}

.order-state-notice {
    align-items: center;
    background: var(--brand-soft);
    border: 1px solid var(--brand-soft-border);
    border-radius: var(--order-radius);
    display: flex;
    gap: 14px;
    margin-bottom: 26px;
    padding: 16px;
}

.order-state-notice > i {
    align-items: center;
    background: var(--brand);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    flex: 0 0 38px;
    height: 38px;
    justify-content: center;
}

.order-state-notice div {
    display: flex;
    flex-direction: column;
}

.order-state-notice span {
    color: #666;
    font-size: 13px;
    margin-top: 2px;
}

.order-entry,
.order-overview {
    border-top: 1px solid #eee;
    margin-top: 28px;
    padding-top: 28px;
}

.order-pos-layout {
    align-items: start;
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr);
}

.order-product-search {
    margin-bottom: 22px;
    position: relative;
}

.order-product-search .form-control {
    border-radius: var(--order-radius);
    font-size: 16px;
    min-height: 48px;
    padding-left: 46px;
    padding-right: 46px;
    width: 100%;
}

.order-product-search input[type="search"]::-webkit-search-cancel-button {
    display: none;
}

.order-product-search-icon {
    color: #6f777b;
    font-size: 16px;
    left: 17px;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

.order-product-search-clear {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 50%;
    color: #6f777b;
    cursor: pointer;
    display: flex;
    height: 38px;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
}

.order-product-search-clear:hover,
.order-product-search-clear:focus {
    background: #edf3f4;
    color: var(--brand, #07889b);
}

.order-product-search-clear[hidden],
.order-product-search-empty[hidden] {
    display: none !important;
}

.order-product-search-empty {
    align-items: center;
    border: 1px dashed #dfe4e6;
    border-radius: var(--order-radius);
    color: #6f777b;
    display: flex;
    gap: 10px;
    justify-content: center;
    padding: 20px;
}

.order-product-browser > section + section {
    margin-top: 22px;
}

.order-product-browser h3 {
    color: #555;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    margin: 0 0 10px;
    text-transform: uppercase;
}

.order-product-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.order-product-choice {
    min-width: 0;
    position: relative;
}

.order-product-button {
    align-items: flex-start;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: var(--order-radius);
    color: #333;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    min-height: 100px;
    padding: 14px;
    position: relative;
    text-align: left;
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
    width: 100%;
}

.order-product-choice .order-product-button {
    height: 100%;
}

.order-product-choice.has-quantity .order-product-button {
    background: #fff;
    padding-right: 78px;
}

.order-product-count {
    align-items: center;
    background: var(--brand);
    border-radius: 50%;
    color: var(--brand-button-text);
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    height: 30px;
    justify-content: center;
    pointer-events: none;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    z-index: 2;
}

.order-product-count[hidden] {
    display: none;
}

.order-product-button:hover,
.order-product-button:focus-visible {
    background: var(--brand-soft);
    border-color: var(--brand);
    outline: none;
    transform: translateY(-1px);
}

.order-product-button > span {
    font-weight: 600;
    line-height: 1.25;
}

.order-product-image {
    background: #fff;
    border-radius: 6px;
    height: 52px;
    object-fit: contain;
    position: absolute;
    right: 12px;
    top: 12px;
    width: 52px;
}

.order-product-button:has(.order-product-image) > span {
    padding-right: 60px;
}

.order-product-admin-image {
    border: 1px solid #dfe4e6;
    border-radius: 7px;
    display: block;
    height: 110px;
    margin: 8px 0 10px;
    object-fit: cover;
    width: 160px;
}

.order-product-button > strong {
    align-items: center;
    color: var(--brand);
    display: flex;
    gap: 11px;
    margin-top: auto;
    padding-top: 10px;
}

.order-product-options-indicator {
    color: #888;
    font-size: .72em;
    font-weight: 400;
}

.order-cart {
    border: 1px solid #ddd;
    border-radius: var(--order-radius);
    padding: 18px;
    position: sticky;
    top: 120px;
}

.order-cart-heading {
    align-items: flex-start;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
    padding-bottom: 12px;
}

.order-cart-heading > div {
    display: flex;
    flex-direction: column;
}

.order-cart-heading h3 {
    color: #222;
    font-size: 16px;
    margin: 0;
}

.order-cart-heading span {
    color: #888;
    font-size: 12px;
    margin-top: 3px;
}

.order-cart-heading > strong {
    color: var(--brand);
    font-size: 18px;
}

.order-cart-lines {
    max-height: 340px;
    overflow-y: auto;
}

.order-tablet-cart-overview {
    display: none;
}

.order-cart-line {
    align-items: flex-start;
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    padding: 10px 0;
}

.order-cart-product-group {
    border-bottom: 1px solid #f0f0f0;
    padding: 3px 0;
}

.order-cart-product-group .order-cart-line {
    border-bottom: 0;
}

.order-cart-product-total {
    padding-bottom: 6px;
}

.order-cart-variants {
    margin: -2px 0 5px 12px;
}

.order-cart-variant {
    align-items: flex-start;
    color: #6f767a;
    display: flex;
    font-size: 13px;
    gap: 10px;
    justify-content: space-between;
    padding: 4px 0;
}

.order-cart-variant > span:first-child {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.order-cart-variant .order-cart-line-actions > b {
    font-weight: 500;
}

.order-cart-line > span:first-child {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.order-cart-line small,
.order-detail-line small {
    color: #777;
    font-size: 12px;
    margin-top: 3px;
}

.order-line-note {
    color: var(--brand) !important;
    font-style: italic;
}

.order-cart-line-actions {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 5px;
}

.order-cart-remove {
    align-items: center;
    background: transparent;
    border: 0;
    color: #999;
    cursor: pointer;
    display: inline-flex;
    height: 28px;
    justify-content: center;
    padding: 0;
    width: 28px;
}

.order-cart-remove:hover,
.order-cart-remove:focus-visible {
    color: var(--brand-danger);
    outline: 1px solid var(--brand-danger-soft);
}

.order-payment-options {
    border: 0;
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 18px 0;
    padding: 0;
}

.order-payment-options legend {
    color: #555;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 8px;
}

.order-payment-options label {
    margin: 0;
    position: relative;
}

.order-payment-options input {
    opacity: 0;
    position: absolute;
}

.order-payment-options span {
    align-items: center;
    border: 1px solid #ddd;
    border-radius: 7px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    font-size: 11px;
    gap: 4px;
    justify-content: center;
    min-height: 54px;
    text-align: center;
}

.order-payment-options input:checked + span {
    background: var(--brand-soft);
    border-color: var(--brand);
    color: var(--brand);
    font-weight: 600;
}

.order-payment-options input:focus-visible + span {
    box-shadow: 0 0 0 2px var(--brand-soft-border);
}

.order-cart > label {
    display: block;
    font-size: 13px;
    font-weight: 600;
}

.order-submit {
    align-items: center;
    display: inline-flex;
    gap: 10px;
    justify-content: center;
    margin-top: 12px;
    width: 100%;
}

.order-card > summary {
    display: grid;
    grid-template-columns: 58px 34px minmax(0, 1fr) auto auto;
}

.order-list {
    background: transparent;
    border: 0;
    border-radius: 0;
    gap: 18px;
    padding: 0;
}

.order-list > .order-card {
    border-color: #dce3e6;
    border-radius: 10px;
    box-shadow: 0 3px 12px rgba(27, 43, 50, .08);
    overflow: hidden;
}

.order-list > .order-card + .order-card,
.order-list > .order-completed-heading + .order-card {
    margin-top: 0;
}

.order-list > .order-card > summary,
.order-list > .order-card > .task-detail {
    background: #fff;
}

.order-list > .order-card[open] {
    border-color: var(--brand-soft-border);
    box-shadow: 0 5px 18px rgba(27, 43, 50, .11);
}

.order-list > .order-card[open] > summary {
    background: var(--brand-soft);
}

.order-bulk-tools,
.order-bulk-form {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.order-bulk-count {
    color: #666;
    font-size: 12px;
    min-width: 82px;
    text-align: center;
}

.order-bulk-checkbox {
    align-items: center;
    cursor: pointer;
    display: none;
    justify-content: center;
    margin: 0;
}

.order-bulk-checkbox input {
    accent-color: var(--brand);
    cursor: pointer;
    height: 19px;
    margin: 0;
    width: 19px;
}

.order-list.is-bulk-selecting .order-bulk-checkbox {
    display: flex;
}

.order-list.is-bulk-selecting .order-card > summary {
    grid-template-columns: 30px 58px 34px minmax(0, 1fr) auto auto;
}

.order-card.is-bulk-selected {
    border-color: var(--brand-soft-border);
    box-shadow: 0 0 0 2px var(--brand-soft);
}

.order-number {
    color: var(--brand);
    font-size: 17px;
    font-weight: 700;
}

.order-status-icon {
    align-items: center;
    background: var(--brand-soft);
    border: 1px solid var(--brand-soft-border);
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.order-status-icon--klaar,
.order-status-icon--geleverd {
    background: var(--brand);
    border-color: var(--brand);
    color: var(--brand-button-text);
}

.order-status-icon--geannuleerd {
    background: var(--brand-danger-soft);
    border-color: var(--brand-danger);
    color: var(--brand-danger);
}

.order-status-icon--in_bereiding .kitchen-live-indicator {
    animation: kitchen-live-pulse 1.8s ease-out infinite;
    background: currentColor;
    border-radius: 50%;
    height: 8px;
    width: 8px;
}

.order-summary-note {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.order-summary-payment {
    background: #f4f4f4;
    border-radius: 999px;
    color: #666;
    font-size: 11px;
    font-weight: 600;
    padding: 5px 9px;
}

.order-summary-payment.is-open {
    background: var(--brand-soft);
    color: var(--brand);
}

.order-summary-total {
    white-space: nowrap;
}

.order-card--klaar {
    border-left: 3px solid var(--brand);
}

.order-card--geannuleerd {
    opacity: .62;
}

.order-detail-lines {
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden;
}

.order-detail-line {
    align-items: flex-start;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 11px 13px;
}

.order-detail-line + .order-detail-line {
    border-top: 1px solid #eee;
}

.order-detail-line > span {
    display: flex;
    flex-direction: column;
}

.order-ticket-product-line > b,
.order-ticket-option-line > b {
    flex: 0 0 auto;
    white-space: nowrap;
}

.order-ticket-option-line {
    background: #fafbfb;
    padding: 8px 13px 8px 28px;
}

.order-ticket-option-line small {
    color: #666;
    font-size: 12px;
    margin: 0;
}

.order-ticket-option-price {
    color: #555;
    font-size: 12px;
    font-weight: 600;
}

.order-detail-meta {
    align-items: center;
    color: #777;
    display: flex;
    font-size: 13px;
    justify-content: space-between;
    margin-top: 14px;
}

.order-detail-meta strong {
    color: #333;
}

.order-actions {
    align-items: center;
    border-top: 1px solid #eee;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    margin-top: 16px;
    padding-top: 16px;
}

.order-actions--top {
    border-bottom: 1px solid #eee;
    border-top: 0;
    margin-bottom: 16px;
    margin-top: 0;
    padding-bottom: 16px;
    padding-top: 0;
}

.order-status-actions,
.order-payment-form {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
}

.order-status-actions [hidden] {
    display: none !important;
}

.order-edit-button {
    align-items: center;
    align-self: center;
    display: inline-flex;
    height: 34px;
    justify-content: center;
    margin-left: auto;
    padding: 0;
    width: 34px;
}

.order-admin-status-actions {
    margin-top: 16px;
}

.order-admin-status-actions .order-status-actions {
    gap: 10px;
}

.order-admin-status-actions .order-admin-edit-button {
    height: 44px;
    margin-left: auto;
    min-width: 44px;
    padding: 0;
    width: 44px;
}

.order-edit-modal .admin-confirm-dialog {
    align-items: stretch;
    max-height: calc(100dvh - 44px);
    max-width: 640px;
    overflow-y: auto;
    text-align: left;
}

.order-edit-modal-header {
    align-items: center;
    display: flex;
    flex-direction: column;
    text-align: center;
}

.order-edit-modal-header .admin-confirm-icon {
    background: var(--brand-soft);
    color: var(--brand);
}

.order-edit-modal-header h2 {
    color: #222;
    font-size: 19px;
    margin: 4px 38px 5px;
}

.order-edit-modal-header p {
    color: #686f73;
    font-size: 13px;
    margin: 0;
}

.order-edit-modal-body {
    display: grid;
    gap: 18px;
    margin-top: 10px;
    width: 100%;
}

.order-edit-lines-form {
    border-bottom: 1px solid #eceff0;
    display: grid;
    gap: 12px;
    margin: 0;
    padding-bottom: 18px;
}

.order-edit-section-heading h3 {
    color: #222;
    font-size: 15px;
    margin: 0 0 3px;
}

.order-edit-section-heading p {
    color: #73797d;
    font-size: 12px;
    margin: 0;
}

.order-edit-lines-list {
    display: grid;
    gap: 8px;
}

.order-edit-line {
    align-items: center;
    border: 1px solid #e2e6e8;
    border-radius: 7px;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto 88px;
    padding: 10px 12px;
    transition: opacity .15s ease, background-color .15s ease;
}

.order-edit-line.is-removed {
    background: #f7f8f8;
    opacity: .58;
}

.order-edit-line.is-new {
    background: var(--brand-soft);
    border-color: color-mix(in srgb, var(--brand) 30%, #dfe5e7);
}

.order-edit-add-products {
    display: grid;
    gap: 12px;
}

.order-edit-add-products > .btn {
    justify-self: start;
}

.order-edit-product-browser {
    background: #f7f9f9;
    border: 1px solid #e2e7e9;
    border-radius: 8px;
    display: grid;
    gap: 18px;
    max-height: 340px;
    overflow-y: auto;
    padding: 14px;
}

.order-edit-product-browser[hidden] {
    display: none;
}

.order-edit-product-browser section {
    display: grid;
    gap: 8px;
}

.order-edit-product-browser h4 {
    color: #555d61;
    font-size: 12px;
    letter-spacing: .04em;
    margin: 0;
    text-transform: uppercase;
}

.order-edit-product-grid {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.order-edit-product-button {
    align-items: center;
    background: #fff;
    border: 1px solid #dbe1e3;
    border-radius: 7px;
    color: #25292b;
    cursor: pointer;
    display: grid;
    gap: 2px 8px;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 58px;
    padding: 9px 11px;
    text-align: left;
}

.order-edit-product-button:hover,
.order-edit-product-button:focus-visible {
    background: var(--brand-soft);
    border-color: var(--brand);
    outline: 0;
}

.order-edit-product-button > span {
    font-size: 13px;
    font-weight: 600;
    min-width: 0;
}

.order-edit-product-button > strong {
    color: var(--brand);
    font-size: 12px;
    white-space: nowrap;
}

.order-edit-product-button > small {
    color: #727a7e;
    font-size: 11px;
    grid-column: 1 / -1;
}

.order-edit-product-modal {
    z-index: 10020;
}

.order-edit-line-info {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.order-edit-line-info strong,
.order-edit-line-info small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.order-edit-line-info strong {
    color: #222;
    font-size: 14px;
}

.order-edit-line-info small {
    color: #747b7f;
    font-size: 12px;
}

.order-edit-quantity {
    display: grid;
    grid-template-columns: 34px 48px 34px;
}

.order-edit-quantity-button,
.order-edit-quantity .form-control {
    border: 1px solid #cfd6d9;
    border-radius: 0;
    height: 34px;
    min-width: 0;
}

.order-edit-quantity-button {
    align-items: center;
    background: #fff;
    color: var(--brand);
    cursor: pointer;
    display: inline-flex;
    font-size: 18px;
    font-weight: 600;
    justify-content: center;
    padding: 0;
}

.order-edit-quantity-button:first-child {
    border-radius: 5px 0 0 5px;
}

.order-edit-quantity-button:last-child {
    border-radius: 0 5px 5px 0;
}

.order-edit-quantity-button:hover:not(:disabled),
.order-edit-quantity-button:focus-visible {
    background: var(--brand-soft);
}

.order-edit-quantity-button:disabled {
    color: #aeb4b7;
    cursor: default;
}

.order-edit-quantity .form-control {
    border-left: 0;
    border-right: 0;
    font-size: 14px;
    padding: 0 3px;
    text-align: center;
}

.order-edit-quantity .form-control::-webkit-inner-spin-button,
.order-edit-quantity .form-control::-webkit-outer-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.order-edit-line-total {
    color: #333;
    font-size: 13px;
    text-align: right;
    white-space: nowrap;
}

.order-edit-lines-footer {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.order-edit-lines-footer > span {
    color: #62696d;
    display: flex;
    gap: 7px;
}

.order-edit-lines-footer strong {
    color: #222;
}

.order-edit-lines-error {
    color: #b42336;
    font-size: 12px;
    margin: 0;
}

.order-edit-payment-form {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
    margin: 0;
}

.order-edit-payment-form label {
    font-size: 13px;
    font-weight: 600;
    margin: 0;
}

.order-edit-payment-form label > span {
    display: block;
    margin-bottom: 6px;
}

.order-edit-danger-zone {
    border-top: 1px solid #eceff0;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    justify-content: center;
    padding-top: 18px;
}

.order-edit-danger-zone form {
    margin: 0;
}

.order-edit-cancel-button,
.order-edit-delete-button {
    background: transparent;
}

.order-edit-cancel-button {
    border: 1px solid #4b5155;
    color: #343a3e;
}

.order-edit-cancel-button:hover,
.order-edit-cancel-button:focus-visible {
    background: #343a3e;
    border-color: #343a3e;
    color: #fff;
}

.order-edit-delete-button {
    border: 1px solid var(--brand-danger);
    color: var(--brand-danger);
}

.order-edit-delete-button:hover,
.order-edit-delete-button:focus-visible {
    background: var(--brand-danger);
    border-color: var(--brand-danger);
    color: #fff;
}

.order-edit-cancel-button:focus-visible,
.order-edit-delete-button:focus-visible {
    box-shadow: 0 0 0 3px var(--brand-soft);
    outline: 0;
}

.order-payment-form .form-control {
    height: 34px;
    min-width: 145px;
    padding-bottom: 4px;
    padding-top: 4px;
}

.order-product-modal .admin-confirm-dialog {
    max-width: 620px;
}

.order-product-modal-body {
    max-height: min(60vh, 560px);
    min-height: 0;
    overflow-y: auto;
    padding: 0 2px;
}

.order-product-quantity {
    align-items: center;
    border-top: 1px solid #e5eaec;
    display: flex;
    flex: 0 0 auto;
    justify-content: center;
    margin-top: 4px;
    padding-top: 12px;
    width: 100%;
}

.order-product-quantity[hidden] {
    display: none;
}

.order-product-quantity-controls {
    align-items: stretch;
    border: 1px solid #c9d7da;
    border-radius: 7px;
    display: flex;
    overflow: hidden;
}

.order-product-quantity-controls button,
.order-product-quantity-controls strong {
    align-items: center;
    background: #fff;
    border: 0;
    color: #253034;
    display: inline-flex;
    height: 38px;
    justify-content: center;
}

.order-product-quantity-controls button {
    cursor: pointer;
    font-size: 14px;
    width: 40px;
}

.order-product-quantity-controls button:hover:not(:disabled),
.order-product-quantity-controls button:focus-visible {
    background: var(--brand-soft);
    color: var(--brand);
    outline: 0;
}

.order-product-quantity-controls button:disabled {
    color: #b7bfc2;
    cursor: default;
}

.order-product-quantity-controls strong {
    border-left: 1px solid #dce3e5;
    border-right: 1px solid #dce3e5;
    font-size: 16px;
    min-width: 44px;
}

.order-product-validation-error {
    margin: 0 0 14px;
    position: sticky;
    top: 0;
    z-index: 3;
}

.order-product-modal-body > label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 16px;
}

.order-product-modal-body [data-order-product-note] {
    min-height: 88px;
    resize: vertical;
}

.order-product-note-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 6px;
    color: #737a7e;
    cursor: pointer;
    display: inline-flex;
    font-size: 13px;
    gap: 7px;
    margin: 24px auto 14px;
    padding: 6px 9px;
}

.order-product-note-toggle:hover,
.order-product-note-toggle:focus-visible,
.order-product-note-toggle[aria-expanded="true"] {
    background: var(--brand-soft);
    color: var(--brand);
    outline: 0;
}

.order-product-note-field {
    text-align: left;
    width: 100%;
}

.order-product-note-field[hidden] {
    display: none;
}

.order-review-modal .admin-confirm-dialog {
    max-width: 620px;
}

.order-review-ticket {
    background: #fff;
    border: 1px solid #dfe4e6;
    border-radius: 7px;
    box-shadow: 0 7px 22px rgba(24, 32, 36, .06);
    padding: 16px;
    text-align: left;
    width: 100%;
}

.order-review-ticket-heading,
.order-review-total {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.order-review-ticket-heading {
    border-bottom: 1px dashed #d8dddf;
    color: #62696d;
    font-size: 13px;
    padding-bottom: 11px;
}

.order-review-ticket-heading > strong {
    color: #292d30;
    font-size: 15px;
}

.order-review-line {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 11px 0;
}

.order-review-line + .order-review-line {
    border-top: 1px solid #edf0f1;
}

.order-review-line > span {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.order-review-line small {
    color: #767d81;
    font-size: 12px;
    margin-top: 3px;
}

.order-review-line > b {
    flex: 0 0 auto;
    white-space: nowrap;
}

.order-review-product-total {
    padding-bottom: 5px;
}

.order-review-option-line {
    background: #fafbfb;
    padding: 7px 10px 7px 20px;
}

.order-review-option-line > span,
.order-review-option-line > b {
    color: #666e72;
    font-size: 12px;
}

.order-review-option-line > b {
    font-weight: 600;
}

.order-review-variants {
    color: #767d81;
    font-size: 12px;
    margin: -1px 0 8px 12px;
}

.order-review-variant {
    display: flex;
    flex-direction: column;
    padding: 3px 0;
}

.order-review-variant + .order-review-variant {
    border-top: 1px dotted #edf0f1;
}

.order-review-variant small {
    margin-top: 2px;
}

.order-review-variants + .order-review-product-total {
    border-top: 1px solid #edf0f1;
}

.order-review-note {
    background: var(--brand-soft);
    border-radius: 5px;
    color: #555d61;
    font-size: 12px;
    margin: 4px 0 11px;
    padding: 8px 10px;
}

.order-review-total {
    border-top: 1px dashed #cfd5d7;
    font-size: 17px;
    padding-top: 13px;
}

.order-review-total strong {
    color: var(--brand);
    font-size: 20px;
}

.order-review-edit {
    align-items: center;
    display: inline-flex;
    gap: 8px;
    margin-top: 12px;
}

.order-review-payment {
    border-top: 1px solid #e5e8e9;
    margin-top: 16px;
    padding-top: 16px;
    width: 100%;
}

.order-review-payment > strong {
    display: block;
    font-size: 15px;
    margin-bottom: 10px;
}

.order-review-payment > div {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.order-review-payment .btn {
    align-items: center;
    display: flex;
    font-size: 17px;
    font-weight: 600;
    gap: 10px;
    justify-content: center;
    min-height: 54px;
}

.order-review-payment-choice:only-child {
    grid-column: 1 / -1;
    width: 100%;
}

.order-option-copy-target.is-already-shared {
    cursor: default;
}

.order-option-copy-target .order-option-copy-shared {
    color: var(--brand);
    font-weight: 600;
}

.order-review-payment-choice i {
    flex: 0 0 20px;
    text-align: center;
    width: 20px;
}

.order-modal-option-group {
    background: #f8fafb;
    border: 1px solid #e1e7e9;
    border-radius: 10px;
    margin: 0;
    min-width: 0;
    padding: 16px;
}

.order-modal-option-group.has-error {
    border-color: var(--brand-danger);
    box-shadow: 0 0 0 2px var(--brand-danger-soft);
}

.order-modal-option-group + .order-modal-option-group {
    margin-top: 34px;
}

.order-modal-option-group legend {
    color: #333;
    font-size: 17px;
    font-weight: 600;
    margin-bottom: 11px;
    padding: 0 7px;
    width: auto;
}

.order-modal-option-group > div {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.order-modal-option-group label {
    align-items: center;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 7px;
    cursor: pointer;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto;
    font-size: 18px;
    margin: 0;
    min-height: 52px;
    padding: 11px 13px;
    position: relative;
}

.order-modal-option-group input {
    opacity: 0;
    pointer-events: none;
    position: absolute;
}

.order-modal-option-group label > span {
    grid-column: 1;
    text-align: center;
}

.order-modal-option-group label > small {
    grid-column: 2;
}

.order-modal-option-group label > .order-modal-option-quantity {
    align-items: center;
    background: var(--brand);
    border: 2px solid #fff;
    border-radius: 999px;
    box-shadow: 0 2px 7px rgba(0, 0, 0, .18);
    color: #fff;
    display: inline-flex;
    font-size: 15px;
    font-weight: 700;
    height: 32px;
    justify-content: center;
    line-height: 1;
    min-width: 32px;
    padding: 0 6px;
    pointer-events: none;
    position: absolute;
    right: -8px;
    text-align: center;
    top: -10px;
    z-index: 2;
}

.order-modal-option-group label > .order-modal-option-quantity.is-adjustable {
    cursor: pointer;
    pointer-events: auto;
}

.order-modal-option-group label > .order-modal-option-quantity[hidden] {
    display: none;
}

/* Oude gecachete scripts kunnen deze rij nog aanmaken; ze mag de modal nooit beïnvloeden. */
.order-modal-variant-units {
    display: none !important;
}

.order-modal-option-group label:has(input:checked) {
    background: var(--brand-soft);
    border-color: var(--brand);
}

.order-modal-option-group label.is-selected {
    background: var(--brand-soft);
    border-color: var(--brand);
}

.order-modal-option-group label.is-current {
    box-shadow: inset 0 0 0 2px var(--brand);
}

.order-modal-option-group label:has(input:focus-visible) {
    box-shadow: 0 0 0 2px var(--brand-soft-border);
}

.order-product-modal [data-order-product-add][hidden] {
    display: none !important;
}

.order-modal-option-group small {
    color: var(--brand);
    font-size: 14px;
}

body.admin-modal-open {
    overflow: hidden;
}

@media (max-width: 991px) {
    .order-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .order-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .order-pos-layout {
        grid-template-columns: 1fr;
    }

    .order-cart {
        position: static;
    }
}

@media (max-width: 767px) {
    .order-module-page {
        padding: 20px !important;
    }

    .order-module-page .member-mobile-order-actions {
        display: inline-flex;
        flex: 0 0 auto;
        gap: 4px;
    }

    .order-module-page .category-sort-handle,
    .order-module-page .order-product-card .member-sort-handle {
        display: none;
    }

    .order-page-heading,
    .order-section-heading,
    .order-subheading {
        align-items: stretch;
        flex-direction: column;
    }

    .order-page-actions .btn {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .order-page-actions .order-report-icon-action {
        flex: 0 0 38px;
    }

    .order-page-actions {
        flex-wrap: nowrap;
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        padding-bottom: 2px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .order-page-actions::-webkit-scrollbar {
        display: none;
    }

    .order-product-form,
.order-sales-point-form,
.order-option-form,
.order-option-link-form {
        grid-template-columns: 1fr;
    }

    .order-option-link-form > .btn {
        justify-self: start;
        margin-top: 0;
    }

    .order-sales-danger-zone-body {
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
    }

    .order-sales-danger-zone-body form,
    .order-sales-danger-zone-body .btn {
        width: 100%;
    }

    .order-category-product-create .order-product-form {
        grid-template-columns: 1fr;
    }

    .order-product-form > *,
    .order-sales-point-form > *,
    .order-option-form > * {
        grid-column: 1 !important;
    }

    .order-sales-point-card {
        align-items: start;
        grid-template-columns: 42px minmax(0, 1fr) auto;
    }

    .order-sales-point-card > .order-sales-point-status {
        grid-column: 2;
        justify-self: start;
    }

    .order-sales-point-card > .order-sales-point-total {
        align-items: flex-start;
        grid-column: 2;
    }

    .order-sales-point-card > .fa-chevron-right {
        grid-column: 3;
        grid-row: 1 / span 3;
        margin-top: 13px;
    }

    .order-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .order-stats strong {
        font-size: 17px;
    }

    .order-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .order-product-button {
        min-height: 92px;
        padding: 12px;
    }

    .order-card > summary {
        gap: 8px;
        grid-template-columns: 52px 30px minmax(0, 1fr) auto;
    }

    .order-list {
        border-radius: 0;
        gap: 12px;
        padding: 0;
    }

    .order-list > .order-card {
        border-radius: 8px;
        box-shadow: 0 2px 8px rgba(27, 43, 50, .08);
    }

    .order-list.is-bulk-selecting .order-card > summary {
        grid-template-columns: 28px 52px 30px minmax(0, 1fr) auto;
    }

    .order-list.is-bulk-selecting .order-summary-total {
        grid-column: 5;
    }

    .order-list.is-bulk-selecting .order-card > summary::after {
        grid-column: 5;
    }

    .order-bulk-form {
        align-items: stretch;
        width: 100%;
    }

    .order-bulk-form .btn {
        flex: 1 1 auto;
    }

    .order-summary-total {
        grid-column: 4;
        grid-row: 1;
    }

    .order-card > summary::after {
        grid-column: 4;
        grid-row: 2;
        justify-self: end;
    }

    .order-actions,
    .order-payment-form {
        align-items: stretch;
        flex-direction: column;
    }

    .order-payment-form .form-control,
    .order-payment-form .btn {
        width: 100%;
    }

    .order-product-modal .admin-confirm-dialog {
        max-height: calc(100vh - 24px);
    }

    .order-edit-modal .admin-confirm-dialog {
        max-height: calc(100dvh - 24px);
        overflow-y: auto;
    }

    .order-edit-payment-form {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .order-edit-line {
        gap: 8px 10px;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .order-edit-line-total {
        grid-column: 2;
        grid-row: 2;
    }

    .order-edit-lines-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .order-edit-add-products > .btn,
    .order-edit-product-grid {
        width: 100%;
    }

    .order-edit-payment-form .btn,
    .order-edit-lines-footer .btn,
    .order-edit-danger-zone form,
    .order-edit-danger-zone .btn {
        width: 100%;
    }
}

.order-sales-payment-options {
    align-items: center;
    border: 1px solid #dfe7e9;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 22px;
    margin: 0;
    padding: 14px 16px;
}

.order-sales-payment-options legend {
    font-size: 13px;
    font-weight: 600;
    padding: 0 5px;
    width: auto;
}

.order-sales-payment-options label {
    align-items: center;
    display: inline-flex;
    gap: 8px;
    margin: 0;
}

.order-sales-payment-options small {
    color: #777;
    flex-basis: 100%;
}

@media (max-width: 430px) {
    .order-edit-product-grid,
    .order-product-grid,
    .order-modal-option-group > div {
        grid-template-columns: 1fr;
    }

    .order-payment-options {
        grid-template-columns: 1fr;
    }

    .order-payment-options span {
        flex-direction: row;
        min-height: 42px;
    }
}

.order-public-links {
    border: 1px solid #e3e7e9;
    border-radius: var(--order-radius);
    padding: 18px;
}

.order-public-links .order-section-heading {
    margin-bottom: 15px;
}

.order-workstation-heading {
    align-items: flex-end;
    display: flex;
    gap: 18px;
    justify-content: space-between;
}

.order-workstation-create {
    align-items: center;
    display: flex;
    flex: 0 1 520px;
    gap: 9px;
    justify-content: flex-end;
}

.order-workstation-create .form-control,
.order-workstation-create .btn {
    height: 42px;
}

.order-workstation-create .form-control {
    min-width: 0;
}

.order-workstation-create .btn {
    flex: 0 0 auto;
    white-space: nowrap;
}

.order-workstation-list {
    display: grid;
    gap: 11px;
}

.order-workstation-card {
    border: 1px solid #e3e7e9;
    border-radius: 8px;
    overflow: hidden;
}

.order-workstation-card > summary {
    align-items: center;
    background: #fff;
    display: flex;
    gap: 11px;
    min-height: 62px;
    padding: 12px 15px;
}

.order-workstation-card[open] > summary {
    background: var(--brand-soft);
}

.order-workstation-card > summary > span:nth-child(2) {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.order-workstation-card > summary small {
    color: #747a7e;
    font-size: 12px;
    font-weight: 400;
    margin-top: 2px;
}

.order-workstation-summary-icon {
    align-items: center;
    background: var(--brand-soft);
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    flex: 0 0 38px;
    height: 38px;
    justify-content: center;
}

.order-workstation-body {
    border-top: 1px solid #e8ecee;
    padding: 16px;
}

.order-workstation-layout {
    align-items: start;
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(250px, 320px) minmax(0, 1fr);
}

.order-workstation-link-card {
    background: #fafbfb;
}

.order-workstation-link-card .order-public-link-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-left: auto;
    margin-right: auto;
    width: min(100%, 300px);
}

.order-workstation-settings {
    display: grid;
    gap: 14px;
}

.order-workstation-settings > label {
    font-size: 13px;
    font-weight: 600;
    margin: 0;
}

.order-workstation-settings > label .form-control {
    height: 42px;
    margin-top: 6px;
}

.order-workstation-settings > .btn {
    justify-self: start;
}

.order-workstation-products {
    border: 1px solid #e3e7e9;
    border-radius: 7px;
    margin: 0;
    min-width: 0;
    padding: 13px;
}

.order-workstation-products legend {
    font-size: 14px;
    font-weight: 600;
    margin: 0;
    padding: 0 5px;
    width: auto;
}

.order-workstation-products > p {
    font-size: 12px;
    line-height: 1.45;
    margin: 0 0 10px;
}

.order-workstation-category-list {
    display: grid;
    gap: 8px;
    max-height: 420px;
    overflow: auto;
    padding-right: 3px;
}

.order-workstation-category {
    border: 1px solid #e5e9eb;
    border-radius: 7px;
    overflow: hidden;
}

.order-workstation-category-heading {
    align-items: center;
    background: #fafbfb;
    cursor: pointer;
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 42px;
    min-height: 58px;
    padding-left: 12px;
}

.order-workstation-category-heading > input {
    margin: 0;
}

.order-workstation-category-copy,
.order-workstation-category-products > label > span {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.order-workstation-category-heading small,
.order-workstation-category-products small {
    color: #777d81;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.35;
    margin-top: 2px;
}

.order-workstation-category-chevron {
    align-items: center;
    color: var(--primary-color, #0d778e);
    display: flex;
    height: 100%;
    justify-content: center;
}

.order-workstation-category-chevron i {
    transition: transform 0.18s ease;
}

.order-workstation-category.is-open .order-workstation-category-chevron i {
    transform: rotate(180deg);
}

.order-workstation-category-heading:focus {
    outline: 0;
}

.order-workstation-category-heading:focus-visible {
    box-shadow: inset 0 0 0 2px var(--primary-color, #0d778e);
}

.order-workstation-category-products {
    border-top: 1px solid #e8ecee;
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 9px;
}

.order-workstation-category-products[hidden] {
    display: none;
}

.order-workstation-category-products > label {
    align-items: flex-start;
    border: 1px solid #e8ecee;
    border-radius: 6px;
    display: flex;
    gap: 9px;
    margin: 0;
    min-width: 0;
    padding: 9px 10px;
}

.order-workstation-category-products input {
    flex: 0 0 auto;
    margin-top: 3px;
}

.order-workstation-category-heading strong,
.order-workstation-category-heading small,
.order-workstation-category-products strong,
.order-workstation-category-products small {
    overflow-wrap: anywhere;
}

.order-workstation-secondary-actions {
    border-top: 1px solid #edf0f1;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 16px;
    padding-top: 13px;
}

.order-workstation-empty {
    min-height: 130px;
}

.order-table-qr-form {
    align-items: end;
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(110px, 150px)) minmax(180px, 1fr);
}

.order-table-qr-form label {
    font-size: 13px;
    font-weight: 600;
    margin: 0;
}

.order-table-qr-form label > .form-control {
    box-sizing: border-box;
    height: 42px;
    margin-top: 6px;
}

.order-table-qr-form .btn {
    height: 42px;
    white-space: nowrap;
}

.order-table-qr-caption {
    align-items: center;
    display: flex;
    font-weight: 400 !important;
    gap: 8px;
    grid-column: 1 / 3;
    min-height: 42px;
    white-space: nowrap;
}

.order-table-qr-caption input {
    margin: 0;
}

.order-table-qr-actions {
    display: grid;
    gap: 10px;
    grid-column: 3 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-self: end;
    max-width: 420px;
    width: 100%;
}

.order-table-qr-help {
    align-items: flex-start;
    display: flex;
    gap: 7px;
    line-height: 1.5;
    margin: 13px 0 0;
}

.order-table-qr-help > span,
.order-table-qr-help > span > span {
    display: block;
}

.order-table-set-manager > .member-accordion {
    margin-top: 14px;
}

.order-table-set-list {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.order-table-set-body {
    padding: 16px;
}

.order-table-set-form {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(130px, 1fr));
}

.order-table-set-form label {
    font-size: 13px;
    font-weight: 600;
    margin: 0;
}

.order-table-set-form .form-control {
    box-sizing: border-box;
    height: 42px;
    margin-top: 6px;
}

.order-table-set-name,
.order-table-set-assignment {
    grid-column: span 2;
}

.order-table-set-range {
    background: #f7f9f9;
    border: 1px solid #e2e6e8;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 64px;
    padding: 9px 12px;
}

.order-table-set-range span {
    font-weight: 600;
}

.order-table-set-range small {
    color: #737b7f;
    margin-top: 3px;
}

.order-table-set-submit .btn {
    height: 42px;
    white-space: nowrap;
}

.order-table-set-help {
    line-height: 1.5;
    margin: 12px 0 0;
}

.order-table-set-actions {
    align-items: center;
    border-top: 1px solid #edf0f1;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-top: 14px;
    padding-top: 14px;
}

.order-table-set-actions-main {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.order-table-set-empty {
    align-items: flex-start;
    color: #777;
    display: flex;
    gap: 11px;
    padding: 18px 0 4px;
}

.order-table-set-empty > i {
    color: var(--brand);
    flex: 0 0 auto;
    margin-top: 3px;
}

.order-table-set-empty-copy {
    display: flex;
    flex-direction: column;
    gap: 4px;
    line-height: 1.45;
    min-width: 0;
}

.order-table-set-empty-copy strong {
    color: #333;
}

.order-locked-table-number[readonly] {
    background: var(--brand-soft, #eaf5f7);
    border-color: var(--brand-soft-border, #cfe4e8);
    color: #222;
    cursor: default;
}

.order-public-link-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.order-public-link-card {
    border: 1px solid #e2e6e8;
    border-radius: 8px;
    min-width: 0;
    padding: 16px;
}

.order-public-link-card--entry {
    order: 1;
}

.order-public-link-card--screen {
    order: 2;
}

.order-public-link-card--status {
    order: 3;
}

.order-public-link-heading {
    align-items: flex-start;
    display: flex;
    gap: 11px;
    margin-bottom: 13px;
}

.order-public-link-heading > span {
    align-items: center;
    background: var(--brand-soft);
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    flex: 0 0 38px;
    height: 38px;
    justify-content: center;
}

.order-public-link-heading > div {
    min-width: 0;
}

.order-public-link-heading h3 {
    color: #25292c;
    font-size: 15px;
    margin: 0 0 3px;
}

.order-public-link-heading p {
    color: #747a7e;
    font-size: 12px;
    line-height: 1.45;
    margin: 0;
}

.order-public-link-note,
.order-public-link-warning {
    align-items: flex-start;
    background: var(--brand-soft);
    border: 1px solid var(--brand-soft-border);
    border-radius: 4px;
    color: #4f5559;
    display: flex;
    gap: 8px;
    margin: 0 0 12px;
    padding: 10px 12px;
}

.order-public-link-warning i {
    color: var(--brand);
    margin-top: 2px;
}

.order-public-link-field {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) 38px;
}

.order-public-link-field .form-control {
    height: 38px;
    min-width: 0;
    width: 100%;
}

.order-public-link-field .btn {
    align-items: center;
    display: inline-flex;
    flex: 0 0 38px;
    height: 38px;
    justify-content: center;
    padding: 0;
    width: 38px;
}

.order-public-link-field .btn.is-copied {
    background: var(--brand-soft);
    border-color: var(--brand);
}

.order-public-link-qr {
    align-items: center;
    border-top: 1px solid #edf0f1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 14px;
    padding-top: 14px;
}

.order-public-link-qr-image {
    background: #ffffff;
    border: 1px solid #e2e6e8;
    border-radius: 8px;
    box-sizing: border-box;
    display: inline-flex;
    padding: 8px;
    transition: border-color .18s ease, box-shadow .18s ease;
    width: min(100%, 300px);
}

.order-public-link-qr-image:hover,
.order-public-link-qr-image:focus-visible {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px var(--brand-soft);
    outline: 0;
}

.order-public-link-qr-image .app-qr-code {
    display: block;
    height: auto;
    max-width: none;
    width: 100%;
}

.order-public-link-qr .btn {
    align-items: center;
    display: inline-flex;
    gap: 7px;
    justify-content: center;
}

.order-public-link-actions {
    align-items: stretch;
    display: grid;
    gap: 5px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-content: center;
    margin-top: 16px;
}

.order-public-link-actions form,
.order-public-link-card > form {
    margin: 0;
}

.order-public-link-actions .btn {
    align-items: center;
    display: inline-flex;
    font-size: 11px;
    height: 100%;
    justify-content: center;
    min-height: 34px;
    padding-left: 5px;
    padding-right: 5px;
    white-space: nowrap;
    width: 100%;
}

.order-public-link-actions .btn .g-mr-6 {
    margin-right: 5px !important;
}

.order-public-link-disable {
    background: transparent;
    border: 1px solid #343a3e;
    color: #343a3e;
}

.order-public-link-disable:hover,
.order-public-link-disable:focus-visible {
    background: #343a3e;
    border-color: #343a3e;
    color: #ffffff;
}

.order-public-link-disable:focus-visible {
    box-shadow: 0 0 0 3px var(--brand-soft);
    outline: 0;
}

.order-attendant-grid {
    align-items: start;
    grid-template-columns: minmax(0, 1fr);
}

.order-attendant-grid .order-attendant-card {
    border-radius: 8px;
    display: block;
    margin-top: 0;
    overflow: hidden;
    padding: 0;
    width: 100%;
}

.order-attendant-card > summary {
    justify-content: flex-start;
}

.order-attendant-summary-icon {
    align-items: center;
    background: var(--brand-soft);
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    flex: 0 0 38px;
    height: 38px;
    justify-content: center;
    overflow: hidden;
}

.order-attendant-summary-icon img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.order-attendant-summary-text {
    flex: 1 1 auto;
    min-width: 0;
}

.order-attendant-summary-text small {
    color: #747a7e;
    font-size: 12px;
    line-height: 1.45;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.order-attendant-card-body {
    padding: 15px;
}

.order-attendant-card-body .order-public-link-qr {
    max-width: 300px;
}

.order-attendant-toolbar {
    align-items: center;
    border-top: 1px solid #edf0f1;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 14px;
    padding-top: 14px;
}

.order-attendant-toolbar form {
    margin: 0 0 0 auto;
}

.order-attendant-toolbar .btn {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    justify-content: center;
    min-height: 34px;
    padding-left: 11px;
    padding-right: 11px;
    white-space: nowrap;
}

.order-attendant-toolbar .btn .g-mr-6 {
    margin-right: 0 !important;
}

@media (max-width: 767px) {
    .order-attendant-toolbar {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .order-attendant-toolbar form {
        margin: 0;
    }

    .order-attendant-toolbar .btn {
        width: 100%;
    }
}

.order-attendant-create-modal .admin-confirm-dialog {
    max-width: 520px;
}

.order-attendant-modal-form .admin-confirm-body {
    display: grid;
    gap: 14px;
}

.order-attendant-modal-form label {
    display: block;
    margin: 0;
}

.order-attendant-modal-form .form-control {
    margin-top: 5px;
}

.order-attendant-modal-form input.form-control {
    height: 42px;
}

.order-attendant-modal-form textarea {
    height: 90px !important;
    max-height: 90px !important;
    min-height: 90px !important;
    overflow-y: auto;
    resize: none;
}

.order-attendant-note-form {
    border-top: 1px solid #edf0f1;
    margin-top: 14px;
    padding-top: 14px;
}

.order-attendant-note-form label {
    display: block;
    font-size: 12px;
    margin-bottom: 8px;
}

.order-attendant-note-form textarea {
    height: 64px !important;
    margin-top: 5px;
    max-height: 64px !important;
    min-height: 64px !important;
    overflow-y: auto;
    resize: none;
}

.order-attendant-note-status {
    color: #7a8084;
    display: block;
    font-size: 11px;
    min-height: 17px;
}

.order-attendant-note-status.is-saving {
    color: var(--brand);
}

.order-attendant-note-status.is-error {
    color: #b42318;
}

.order-attendant-report-actions {
    display: grid;
    gap: 5px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 7px;
}

.order-attendant-report-actions .btn {
    align-items: center;
    display: inline-flex;
    font-size: 11px;
    gap: 5px;
    justify-content: center;
    min-height: 34px;
    padding: 5px;
    white-space: nowrap;
    width: 100%;
}

.order-attendant-overview {
    border: 1px solid #dfe4e6;
    border-radius: 8px;
    margin: 16px 0 0;
    padding: 16px;
}

.order-attendant-overview-heading {
    align-items: flex-start;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 14px;
}

.order-attendant-overview-heading h3 {
    color: #25292c;
    font-size: 17px;
    margin: 0 0 3px;
}

.order-attendant-overview-heading p {
    color: #747a7e;
    font-size: 12px;
    margin: 0;
}

.order-attendant-overview-totals {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(115px, 1fr));
    margin-bottom: 16px;
}

.order-attendant-overview-totals > div {
    border: 1px solid #dde3e5;
    min-width: 0;
    padding: 9px 10px;
}

.order-attendant-overview-totals small,
.order-attendant-overview-totals strong {
    display: block;
}

.order-attendant-overview-totals small {
    color: #666;
    font-size: 9px;
    text-transform: uppercase;
}

.order-attendant-overview-totals strong {
    font-size: 14px;
    margin-top: 2px;
    overflow-wrap: anywhere;
}

.order-attendant-overview-table-wrap {
    overflow-x: auto;
}

.order-attendant-overview-table {
    border-collapse: collapse;
    min-width: 520px;
    table-layout: fixed;
    width: 100%;
}

.order-attendant-overview-table th,
.order-attendant-overview-table td {
    border-bottom: 1px solid #dfe4e6;
    padding: 7px 8px;
    text-align: left;
}

.order-attendant-overview-table th {
    background: #f3f5f5;
    color: #555;
    font-size: 9px;
    text-transform: uppercase;
}

.order-attendant-overview-table th:not(:first-child),
.order-attendant-overview-table td:not(:first-child) {
    text-align: right;
    width: 18%;
}

.order-attendant-overview-table .is-product td {
    background: #f7f9f9;
    font-weight: 700;
}

.order-attendant-overview-table .is-choice td {
    color: #777;
    font-size: 11px;
}

.order-attendant-overview-table .is-choice td:first-child {
    padding-left: 24px;
}

/* Openbare bestelpagina */
.public-order-main {
    margin: 0 auto;
    max-width: 1560px;
    padding: 24px;
}

.public-order-secure {
    align-items: center;
    color: #687075;
    display: inline-flex;
    font-size: 12px;
    font-weight: 600;
    gap: 6px;
    justify-self: end;
    white-space: nowrap;
}

.public-order-secure i {
    color: var(--brand);
}

.public-order-entry {
    background: #fff;
    border: 1px solid #e0e4e6;
    border-radius: 8px;
    margin-top: 0;
    padding: 22px;
}

.public-order-entry .order-cart {
    background: #fff;
}

@media (min-width: 992px) {
    .public-order-body .kitchen-public-header {
        gap: 30px;
        grid-template-columns: minmax(220px, 1fr) minmax(300px, 1.35fr) minmax(140px, 1fr);
        padding-left: max(24px, calc((100vw - 1180px) / 2));
        padding-right: max(24px, calc((100vw - 1180px) / 2));
    }

    .public-order-main {
        max-width: 1180px;
        padding: 38px 24px 52px;
    }

    .public-order-entry {
        border-color: #e7ebed;
        border-radius: 9px;
        box-shadow: 0 8px 22px rgba(0, 0, 0, .055);
        padding: 28px 30px 32px;
    }

    .public-order-entry .order-section-heading {
        border-bottom: 1px solid #edf0f1;
        margin-bottom: 26px;
        padding-bottom: 20px;
    }

    .public-order-entry .order-section-heading h2 {
        font-size: 23px;
        margin-bottom: 5px;
    }

    .public-order-entry .order-section-heading p {
        color: #747b7f;
        font-size: 16px;
    }

    .public-order-entry .order-pos-layout {
        gap: 30px;
        grid-template-columns: minmax(0, 1.55fr) minmax(320px, .8fr);
    }

    .public-order-entry .order-product-browser > section + section {
        border-top: 1px solid #edf0f1;
        margin-top: 28px;
        padding-top: 25px;
    }

    .public-order-entry .order-product-browser h3 {
        color: #5d6569;
        font-size: 15px;
        letter-spacing: .065em;
        margin-bottom: 12px;
    }

    .public-order-entry .order-product-grid {
        gap: 12px;
    }

    .public-order-entry .order-product-button {
        border-color: #dfe4e6;
        border-radius: 8px;
        box-shadow: 0 2px 7px rgba(25, 38, 43, .035);
        min-height: 0;
        padding: 20px 22px;
    }

    .public-order-entry .order-product-button > span {
        color: #2d3235;
        font-size: 23px;
        line-height: 1.35;
    }

    .public-order-entry .order-product-button > strong {
        font-size: 22px;
    }

    .public-order-entry .order-product-count {
        font-size: 24px;
        height: 52px;
        right: 12px;
        width: 52px;
    }

    .public-order-entry .order-cart {
        background: #fafbfb;
        border-color: #dfe4e6;
        border-radius: 8px;
        border-top: 3px solid var(--brand);
        box-shadow: 0 5px 16px rgba(24, 38, 43, .055);
        padding: 20px;
        top: 96px;
    }

    .public-order-entry .order-cart-heading h3 {
        font-size: 20px;
    }

    .public-order-entry .order-cart-heading span {
        font-size: 16px;
    }

    .public-order-entry .order-cart-heading > strong {
        font-size: 21px;
    }

    .public-order-entry .order-cart-line strong {
        font-size: 17px;
        line-height: 1.4;
    }

    .public-order-entry .order-cart-line small {
        font-size: 14px;
        line-height: 1.4;
    }

    .public-order-entry .order-cart-variant {
        font-size: 14px;
    }

    .public-order-entry .order-cart-lines {
        max-height: min(44vh, 430px);
        padding-right: 3px;
    }

    .public-order-entry .order-cart textarea {
        background: #fff;
        min-height: 74px;
    }

    .public-order-entry .order-submit {
        min-height: 44px;
    }
}

.public-order-success {
    align-items: center;
    background: #fff;
    border: 1px solid var(--brand-soft-border);
    border-left: 4px solid var(--brand);
    border-radius: 6px;
    display: flex;
    gap: 13px;
    margin-bottom: 16px;
    padding: 13px 14px;
}

.public-order-success > span {
    align-items: center;
    background: var(--brand-soft);
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    flex: 0 0 40px;
    height: 40px;
    justify-content: center;
}

.public-order-success > div {
    align-items: baseline;
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    gap: 5px 12px;
    min-width: 0;
}

.public-order-success small {
    color: #71777b;
    flex-basis: 100%;
}

.public-order-success strong {
    color: var(--brand);
    font-size: 20px;
}

.public-order-success b {
    color: #25292c;
}

.public-order-success button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 50%;
    color: #777d81;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 34px;
    height: 34px;
    justify-content: center;
    padding: 0;
}

.public-order-success button:hover,
.public-order-success button:focus-visible {
    background: var(--brand-soft);
    color: var(--brand);
    outline: 0;
}

.public-order-complete {
    background: #fff;
    border: 1px solid var(--brand-soft-border);
    border-radius: 9px;
    box-shadow: 0 10px 30px rgba(25, 33, 37, .07);
    margin: 32px auto;
    max-width: 520px;
    padding: 34px 24px;
    text-align: center;
}

.public-order-complete > span {
    align-items: center;
    background: var(--brand-soft);
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    font-size: 24px;
    height: 58px;
    justify-content: center;
    margin-bottom: 13px;
    width: 58px;
}

.public-order-complete small {
    color: #737a7e;
    display: block;
}

.public-order-complete h2 {
    color: #252a2d;
    font-size: 34px;
    margin: 7px 0 3px;
}

.public-order-complete > strong {
    color: var(--brand);
    display: block;
    font-size: 25px;
}

.public-order-complete p {
    color: #687075;
    margin: 7px 0 22px;
}

.public-order-complete-ticket {
    border: 1px solid #e5e9eb;
    border-radius: 8px;
    margin: 20px 0 22px;
    overflow: hidden;
    text-align: left;
}

.public-order-complete-ticket > strong {
    background: #f7f9fa;
    color: #252a2d;
    display: block;
    font-size: 15px;
    padding: 12px 14px;
}

.public-order-complete-lines {
    border-top: 1px solid #e5e9eb;
}

.public-order-complete-line,
.public-order-complete-total {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 11px 14px;
}

.public-order-complete-line + .public-order-complete-line {
    border-top: 1px solid #eef1f2;
}

.public-order-complete-line > div {
    min-width: 0;
}

.public-order-complete-line > span:last-child,
.public-order-complete-total > strong {
    flex: 0 0 auto;
    white-space: nowrap;
}

.public-order-complete-line small {
    margin-top: 3px;
}

.public-order-complete-line--option {
    color: #687075;
    font-size: 13px;
    padding-left: 30px;
}

.public-order-complete-total {
    align-items: center;
    border-top: 1px solid var(--brand-soft-border);
    color: #252a2d;
    font-size: 16px;
    font-weight: 700;
}

.public-order-complete-total > strong {
    color: var(--brand);
    font-size: 20px;
}

.public-order-complete .btn {
    align-items: center;
    display: inline-flex;
    gap: 9px;
    justify-content: center;
}

/* Openbaar bestelscherm */
.kitchen-public-body {
    background: #f3f5f6;
    color: #262a2d;
    margin: 0;
    min-height: 100vh;
}

.kitchen-public-header {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #e3e7e9;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(200px, 1fr) minmax(240px, 2fr) minmax(100px, 1fr);
    padding: 14px max(20px, calc((100vw - 1600px) / 2));
    position: sticky;
    top: 0;
    z-index: 20;
}

.kitchen-public-brand {
    align-items: center;
    display: flex;
    gap: 12px;
    min-width: 0;
}

.kitchen-public-brand img,
.kitchen-public-brand > span {
    align-items: center;
    background: var(--brand);
    border-radius: 6px;
    color: var(--brand-button-text);
    display: flex;
    flex: 0 0 48px;
    height: 48px;
    justify-content: center;
    max-width: 72px;
    object-fit: contain;
    padding: 5px;
}

.kitchen-public-brand div {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.kitchen-public-brand strong,
.kitchen-public-brand small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kitchen-public-brand small {
    color: #757b7f;
}

.kitchen-public-title {
    min-width: 0;
    text-align: center;
}

.kitchen-public-title h1 {
    font-size: clamp(20px, 2vw, 30px);
    font-weight: 700;
    margin: 0;
}

.kitchen-public-title p {
    color: #6f7579;
    margin: 3px 0 0;
}

.kitchen-live {
    align-items: center;
    color: #4f5559;
    display: flex;
    font-size: 13px;
    font-weight: 700;
    gap: 7px;
    justify-self: end;
    text-transform: uppercase;
}

.kitchen-live i {
    animation: kitchen-live-pulse 1.8s ease-out infinite;
    background: var(--brand);
    border-radius: 50%;
    height: 9px;
    width: 9px;
}

@keyframes kitchen-live-pulse {
    0%, 100% { box-shadow: 0 0 0 0 var(--brand-soft-border); }
    50% { box-shadow: 0 0 0 6px transparent; }
}

.kitchen-public-main {
    margin: 0 auto;
    max-width: 1640px;
    padding: 20px;
}

.kitchen-flash,
.kitchen-readonly-notice,
.kitchen-link-inactive {
    background: #fff;
    border: 1px solid var(--brand-soft-border);
    border-left: 4px solid var(--brand);
    border-radius: 5px;
    margin-bottom: 16px;
    padding: 12px 14px;
}

.kitchen-flash--error {
    border-color: rgba(176, 0, 32, .22);
    border-left-color: var(--brand-danger);
    color: var(--brand-danger);
}

.kitchen-readonly-notice {
    align-items: center;
    display: flex;
    gap: 12px;
}

.kitchen-readonly-notice > i {
    color: var(--brand);
    font-size: 22px;
}

.kitchen-readonly-notice div,
.kitchen-link-inactive {
    display: flex;
    flex-direction: column;
}

.kitchen-readonly-notice span,
.kitchen-link-inactive span {
    color: #73797d;
    font-size: 13px;
}

.kitchen-lanes {
    align-items: start;
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kitchen-lane {
    background: #e9edef;
    border: 1px solid #dce1e3;
    border-radius: 7px;
    min-width: 0;
    overflow: hidden;
}

.kitchen-lane-heading {
    align-items: center;
    background: #fff;
    border-bottom: 3px solid var(--brand-soft-border);
    display: flex;
    justify-content: space-between;
    padding: 13px 14px;
}

.kitchen-lane--in_bereiding .kitchen-lane-heading {
    border-bottom-color: var(--brand);
}

.kitchen-lane--klaar .kitchen-lane-heading {
    background: var(--brand-soft);
    border-bottom-color: var(--brand);
}

.kitchen-lane-heading span {
    align-items: center;
    display: flex;
    font-size: 16px;
    font-weight: 700;
    gap: 8px;
}

.kitchen-lane-heading i {
    color: var(--brand);
}

.kitchen-lane-heading strong {
    align-items: center;
    background: var(--brand);
    border-radius: 999px;
    color: var(--brand-button-text);
    display: flex;
    font-size: 13px;
    height: 26px;
    justify-content: center;
    min-width: 26px;
    padding: 0 8px;
}

.kitchen-lane-orders {
    display: grid;
    gap: 12px;
    padding: 12px;
}

.kitchen-lane-empty {
    color: #858b8f;
    margin: 20px 0;
    text-align: center;
}

.kitchen-order-card {
    background: #fff;
    border: 1px solid #d8dddf;
    border-left: 5px solid #b8c0c4;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(26, 35, 39, .06);
    overflow: hidden;
}

.kitchen-order-card--in_bereiding,
.kitchen-order-card--klaar {
    border-left-color: var(--brand);
}

.kitchen-order-card > header {
    align-items: baseline;
    border-bottom: 1px solid #edf0f1;
    display: flex;
    justify-content: space-between;
    padding: 11px 13px;
}

.kitchen-order-card > header strong {
    color: var(--brand);
    font-size: 25px;
    line-height: 1;
}

.kitchen-order-card > header span {
    color: #6e7478;
    font-size: 12px;
    font-weight: 600;
}

.kitchen-order-lines {
    display: grid;
}

.kitchen-order-line {
    border-bottom: 1px solid #edf0f1;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 11px 13px;
}

.kitchen-order-line > strong {
    font-size: 17px;
    line-height: 1.35;
}

.kitchen-order-line > strong b {
    color: var(--brand);
}

.kitchen-order-line > span {
    color: #60666a;
    font-size: 14px;
    padding-left: 25px;
}

.kitchen-order-note {
    align-items: flex-start;
    color: #25292c !important;
    display: flex;
    font-weight: 700;
    gap: 6px;
}

.kitchen-order-note i {
    color: var(--brand);
    margin-top: 3px;
}

.kitchen-order-note--general {
    background: var(--brand-soft);
    border-bottom: 1px solid var(--brand-soft-border);
    margin: 0;
    padding: 10px 13px;
}

.kitchen-order-actions {
    display: flex;
    gap: 8px;
    padding: 11px 13px 13px;
}

.kitchen-order-actions button,
.kitchen-delivered button {
    align-items: center;
    background: var(--brand);
    border: 1px solid var(--brand);
    border-radius: 4px;
    color: var(--brand-button-text);
    cursor: pointer;
    display: inline-flex;
    flex: 1;
    font: inherit;
    font-weight: 700;
    gap: 7px;
    justify-content: center;
    min-height: 46px;
    padding: 8px 13px;
}

.kitchen-order-actions button:hover,
.kitchen-delivered button:hover {
    background: var(--brand-hover);
}

.kitchen-order-actions button:focus-visible,
.kitchen-delivered button:focus-visible {
    box-shadow: 0 0 0 3px var(--brand-soft-border);
    outline: 0;
}

.kitchen-order-actions .is-secondary {
    background: #fff;
    color: var(--brand);
    flex: 0 0 46px;
    padding: 8px;
}

.kitchen-delivered {
    background: #fff;
    border: 1px solid #dfe3e5;
    border-radius: 6px;
    margin-top: 16px;
}

.kitchen-delivered > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    list-style: none;
    padding: 13px 15px;
}

.kitchen-delivered > summary::-webkit-details-marker {
    display: none;
}

.kitchen-delivered > summary span {
    align-items: center;
    display: flex;
    font-weight: 700;
    gap: 8px;
}

.kitchen-delivered > summary i {
    color: var(--brand);
}

.kitchen-delivered-list {
    border-top: 1px solid #e6e9ea;
    display: grid;
    gap: 1px;
}

.kitchen-delivered-list > div {
    align-items: center;
    background: #f8f9f9;
    display: grid;
    gap: 12px;
    grid-template-columns: 90px 1fr auto;
    padding: 10px 14px;
}

.kitchen-delivered-list form {
    margin: 0;
}

.kitchen-delivered button {
    background: #fff;
    color: var(--brand);
    min-height: 38px;
}

.kitchen-refresh-status {
    align-items: center;
    color: #777e82;
    display: flex;
    font-size: 12px;
    gap: 7px;
    justify-content: flex-end;
    margin: 14px 0 0;
    text-align: right;
}

.kitchen-refresh-status > .fa {
    flex: 0 0 auto;
    margin: 0 !important;
}

.kitchen-invalid-card {
    background: #fff;
    border: 1px solid #e0e4e6;
    border-radius: 7px;
    margin: 10vh auto 0;
    max-width: 520px;
    padding: 42px 32px;
    text-align: center;
}

.kitchen-invalid-card > span {
    align-items: center;
    background: var(--brand-soft);
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    font-size: 24px;
    height: 58px;
    justify-content: center;
    width: 58px;
}

.kitchen-invalid-card h1 {
    font-size: 23px;
    margin: 18px 0 7px;
}

.kitchen-invalid-card p {
    color: #71777b;
    margin: 0;
}

@media (max-width: 1050px) {
    .order-public-link-grid {
        grid-template-columns: 1fr;
    }

    .order-public-link-actions .btn {
        font-size: 12px;
    }

    .kitchen-lanes {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .kitchen-lane--klaar {
        grid-column: 1 / -1;
    }

    .order-workstation-layout {
        grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    }

    .order-workstation-category-products {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .order-public-links {
        padding: 14px;
    }

    .order-workstation-heading,
    .order-workstation-create,
    .order-workstation-secondary-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .order-workstation-create {
        flex-basis: auto;
        width: 100%;
    }

    .order-workstation-create .btn,
    .order-workstation-settings > .btn,
    .order-workstation-secondary-actions form,
    .order-workstation-secondary-actions .btn {
        width: 100%;
    }

    .order-workstation-body {
        padding: 12px;
    }

    .order-workstation-category-list {
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }

    .order-workstation-layout {
        grid-template-columns: 1fr;
    }

    .order-public-link-field {
        grid-template-columns: minmax(0, 1fr) 38px;
    }

    .order-public-link-field .form-control {
        width: 100%;
    }

    .order-public-link-actions {
        gap: 8px;
    }

    .order-public-link-actions form,
    .order-public-link-actions .btn {
        width: 100%;
    }

    .order-table-qr-form {
        grid-template-columns: 1fr;
    }

    .order-table-qr-form .btn {
        width: 100%;
    }

    .order-table-qr-actions {
        grid-column: 1;
        justify-self: stretch;
        max-width: none;
    }

    .order-table-qr-caption {
        grid-column: 1;
    }

    .order-table-set-form {
        grid-template-columns: 1fr;
    }

    .order-table-set-name,
    .order-table-set-assignment {
        grid-column: auto;
    }

    .order-table-set-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .order-table-set-actions-main {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .order-table-set-actions-main .btn,
    .order-table-set-actions form,
    .order-table-set-actions form .btn {
        width: 100%;
    }

    .order-attendant-overview-totals {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .public-order-main {
        max-width: none;
        padding: 0 !important;
        width: 100%;
    }

    .public-order-entry {
        border-left: 0;
        border-radius: 0;
        border-right: 0;
        padding: 22px 16px 28px;
    }

    .public-order-entry .order-section-heading {
        margin-bottom: 26px;
    }

    .public-order-entry .order-section-heading h2 {
        font-size: 24px;
        line-height: 1.25;
        margin-bottom: 7px;
    }

    .public-order-entry .order-section-heading p {
        color: #5f676b;
        font-size: 16px;
        line-height: 1.5;
    }

    .public-order-entry .order-product-search {
        margin-bottom: 26px;
    }

    .public-order-entry .order-product-search .form-control {
        font-size: 18px;
        min-height: 54px;
        padding-left: 50px;
        padding-right: 50px;
    }

    .public-order-entry .order-product-search-icon {
        font-size: 18px;
        left: 18px;
    }

    .public-order-entry .order-product-search-clear {
        height: 42px;
        width: 42px;
    }

    .public-order-entry .order-product-browser > section + section {
        margin-top: 30px;
    }

    .public-order-entry .order-product-browser h3 {
        font-size: 14px;
        margin-bottom: 12px;
    }

    .public-order-entry .order-product-grid {
        gap: 12px;
    }

    .public-order-entry .order-product-button {
        border-radius: 11px;
        min-height: 0;
        padding: 20px;
    }

    .public-order-entry .order-product-button > span {
        font-size: 26px;
        line-height: 1.35;
    }

    .public-order-entry .order-product-button > strong {
        font-size: 24px;
        padding-top: 13px;
    }

    .public-order-entry .order-product-count {
        font-size: 24px;
        height: 52px;
        width: 52px;
    }

    .public-order-entry .order-cart {
        border-radius: 11px;
        margin-top: 12px;
        padding: 19px 16px;
    }

    .public-order-entry .order-cart-heading {
        margin-bottom: 4px;
        padding-bottom: 15px;
    }

    .public-order-entry .order-cart-heading h3 {
        font-size: 22px;
    }

    .public-order-entry .order-cart-heading span {
        font-size: 17px;
        margin-top: 5px;
    }

    .public-order-entry .order-cart-heading > strong {
        font-size: 22px;
    }

    .public-order-entry .order-cart-lines {
        max-height: none;
        overflow: visible;
    }

    .public-order-entry .order-cart-line {
        padding: 14px 0;
    }

    .public-order-entry .order-cart-line strong {
        font-size: 18px;
        line-height: 1.4;
    }

    .public-order-entry .order-cart-line small {
        font-size: 15px;
        line-height: 1.4;
        margin-top: 5px;
    }

    .public-order-entry .order-cart-variant {
        font-size: 15px;
    }

    .public-order-entry .order-cart-remove {
        font-size: 15px;
        height: 40px;
        width: 40px;
    }

    .public-order-entry .order-cart > label {
        font-size: 15px;
        margin-top: 14px;
    }

    .public-order-entry .order-cart textarea {
        font-size: 16px;
        min-height: 82px;
    }

    .public-order-entry .order-submit {
        font-size: 17px;
        min-height: 56px;
    }

    .public-order-main > .public-order-success,
    .public-order-main > .public-order-complete,
    .public-order-main > .kitchen-flash {
        margin-left: 12px;
        margin-right: 12px;
    }

    .public-order-complete {
        padding: 32px 20px;
    }

    .public-order-complete h2 {
        font-size: 36px;
    }

    .public-order-complete > strong {
        font-size: 27px;
    }

    .public-order-complete p {
        font-size: 16px;
    }

    .public-order-complete .btn {
        font-size: 17px;
        min-height: 56px;
        width: 100%;
    }

    .kitchen-public-header {
        gap: 10px;
        grid-template-columns: auto minmax(0, 1fr) auto;
        padding: 10px 14px;
    }

    .kitchen-public-brand img,
    .kitchen-public-brand > span {
        flex-basis: 42px;
        height: 42px;
    }

    .kitchen-public-brand div {
        display: none;
    }

    .kitchen-public-title {
        text-align: left;
    }

    .public-order-secure {
        display: none;
    }

    .kitchen-public-title h1 {
        font-size: 19px;
    }

    .kitchen-public-title p {
        font-size: 12px;
    }

    .kitchen-public-main {
        padding: 12px;
    }

    .kitchen-lanes {
        grid-template-columns: 1fr;
    }

    .kitchen-lane--klaar {
        grid-column: auto;
    }

    .kitchen-delivered-list > div {
        grid-template-columns: 64px 1fr;
    }

    .kitchen-delivered-list form {
        grid-column: 1 / -1;
    }

    .kitchen-delivered button {
        width: 100%;
    }
}

/* Kasboek */
.cashbook-page {
    border-radius: 4px;
}

.cashbook-heading,
.cashbook-section-heading,
.cashbook-list-heading {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: space-between;
}

.cashbook-heading-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cashbook-heading-actions > .btn,
.cashbook-status-filters .btn,
.cashbook-list-action-row > .btn {
    align-items: center;
    display: inline-flex;
    height: 38px;
    justify-content: center;
}

.cashbook-heading-icon-action {
    align-items: center;
    display: inline-flex;
    flex: 0 0 38px;
    height: 38px;
    justify-content: center;
    padding: 0;
    width: 38px;
}

.cashbook-heading-icon-action .fa {
    margin: 0;
}

.cashbook-report-dialog {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .07);
    box-shadow: 0 18px 55px rgba(0, 0, 0, .14);
    max-width: 640px;
    padding: 26px;
    position: relative;
    width: 100%;
}

.cashbook-category-dialog {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .07);
    box-shadow: 0 18px 55px rgba(0, 0, 0, .14);
    max-width: 560px;
    padding: 26px;
    position: relative;
    width: 100%;
}

.cashbook-cash-count-dialog {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .07);
    box-shadow: 0 18px 55px rgba(0, 0, 0, .14);
    max-height: calc(100vh - 44px);
    max-width: 980px;
    overflow-y: auto;
    padding: 26px;
    position: relative;
    width: 100%;
}

.cashbook-cash-count-dialog .cashbook-control-body {
    border-top: 1px solid #edf0f1;
    margin-top: 18px;
    padding: 18px 0 0;
}

.cashbook-category-search {
    margin-top: 22px;
    position: relative;
}

.cashbook-category-search > .fa {
    color: #8a9296;
    left: 14px;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.cashbook-category-search .form-control {
    padding-left: 39px;
}

.cashbook-category-list {
    border: 1px solid #e5eaec;
    border-radius: 9px;
    margin-top: 12px;
    max-height: min(360px, 48vh);
    overflow-y: auto;
}

.cashbook-category-item {
    align-items: stretch;
    display: flex;
}

.cashbook-category-item[hidden] {
    display: none;
}

.cashbook-category-item + .cashbook-category-item {
    border-top: 1px solid #edf0f1;
}

.cashbook-category-item > a {
    align-items: center;
    color: #333;
    display: grid;
    flex: 1 1 auto;
    gap: 11px;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    padding: 11px 13px;
    text-decoration: none;
}

.cashbook-category-item > a:hover,
.cashbook-category-item > a:focus {
    background: var(--brand-soft);
    color: var(--brand);
    outline: 0;
}

.cashbook-category-item > a > .fa:first-child {
    color: var(--brand);
    text-align: center;
}

.cashbook-category-item > form {
    align-items: center;
    display: flex;
    margin: 0;
    padding-right: 8px;
}

.cashbook-category-item > form button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 6px;
    color: #92999c;
    cursor: pointer;
    display: flex;
    height: 34px;
    justify-content: center;
    padding: 0;
    width: 34px;
}

.cashbook-category-item > form button:hover,
.cashbook-category-item > form button:focus {
    background: #fff0f0;
    color: #b34b4b;
    outline: 0;
}

.cashbook-category-item > form button:focus-visible {
    box-shadow: 0 0 0 2px rgba(179, 75, 75, .16);
}

.cashbook-category-empty {
    color: #777;
    margin: 0;
    padding: 18px;
    text-align: center;
}

.cashbook-relation-edit {
    flex: 1 1 auto;
    gap: 9px;
}

.cashbook-category-item > form.cashbook-relation-edit {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto 34px;
    padding: 7px 8px 7px 13px;
}

.cashbook-relation-edit > .fa,
.cashbook-relation-display > .fa {
    color: var(--brand);
    text-align: center;
}

.cashbook-relation-edit .form-control {
    height: 36px;
    min-width: 0;
    padding: 7px 10px;
}

.cashbook-relation-meta,
.cashbook-relation-display small {
    align-items: center;
    background: var(--brand-soft);
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    font-size: 11px;
    font-weight: 600;
    height: 25px;
    justify-content: center;
    min-width: 25px;
    padding: 0;
    white-space: nowrap;
}

.cashbook-category-item > form.cashbook-relation-edit button:hover,
.cashbook-category-item > form.cashbook-relation-edit button:focus {
    background: var(--brand-soft);
    color: var(--brand);
}

.cashbook-relation-display {
    align-items: center;
    display: grid;
    flex: 1 1 auto;
    gap: 11px;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    padding: 12px 13px;
}

.cashbook-report-heading {
    align-items: center;
    display: flex;
    gap: 13px;
    padding-right: 40px;
}

.cashbook-report-icon {
    align-items: center;
    background: var(--brand-soft);
    border-radius: 50%;
    color: var(--brand);
    display: flex;
    flex: 0 0 44px;
    font-size: 18px;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.cashbook-report-heading h2 {
    color: #222;
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 3px;
}

.cashbook-report-heading p {
    color: #6f767a;
    font-size: 12px;
    margin: 0;
}

.cashbook-report-filters label > span {
    color: #444;
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 6px;
}

.cashbook-report-filters {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 18px;
}

.cashbook-report-filters label {
    margin: 0;
}

.cashbook-report-filters label > span {
    display: block;
}

.cashbook-report-hint {
    color: #777;
    font-size: 11px;
    margin: 9px 0 0;
}

.cashbook-report-option {
    margin: 14px 0 0;
}

.cashbook-report-option[hidden] {
    display: none;
}

.cashbook-report-actions {
    border-top: 1px solid #edf0f1;
    display: flex;
    gap: 9px;
    justify-content: flex-end;
    margin-top: 20px;
    padding-top: 16px;
}

body.cashbook-report-open {
    overflow: hidden;
}

.cashbook-balance-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 24px;
}

.cashbook-category-summary-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 24px;
}

.cashbook-category-summary-grid article {
    border: 1px solid #e8edef;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    min-height: 92px;
    padding: 17px 18px;
}

.cashbook-category-summary-grid small {
    color: #6f767a;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.cashbook-category-summary-grid strong {
    color: #222;
    font-size: clamp(20px, 2vw, 27px);
    font-weight: 600;
    margin-top: 4px;
}

.cashbook-pending-notice {
    align-items: center;
    background: var(--brand-soft);
    border: 1px solid var(--brand-soft-border);
    border-radius: 10px;
    color: #3f4548;
    display: grid;
    gap: 12px;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    margin-top: 16px;
    padding: 12px 14px;
    text-decoration: none;
}

.cashbook-pending-notice:hover,
.cashbook-pending-notice:focus {
    background: var(--brand-soft);
    color: var(--brand-hover);
    text-decoration: none;
}

.cashbook-pending-notice:focus-visible {
    box-shadow: 0 0 0 3px var(--brand-soft);
    outline: 1px solid var(--brand);
}

.cashbook-pending-notice__icon {
    align-items: center;
    background: var(--brand);
    border-radius: 50%;
    color: var(--brand-button-text);
    display: flex;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.cashbook-pending-notice strong,
.cashbook-pending-notice small {
    display: block;
}

.cashbook-pending-notice strong {
    font-size: 13px;
}

.cashbook-pending-notice small {
    color: #667075;
    font-size: 11px;
    margin-top: 2px;
}

.cashbook-balance-card,
.cashbook-total-card {
    background: #fff;
    border: 1px solid #e8edef;
    border-radius: 12px;
    display: flex;
    min-height: 96px;
    padding: 15px;
}

.cashbook-balance-card {
    align-items: flex-start;
    gap: 10px;
}

.cashbook-balance-card.is-unset {
    border-style: dashed;
}

.cashbook-balance-icon {
    align-items: center;
    background: var(--brand-soft);
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    flex: 0 0 38px;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.cashbook-balance-card > div {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.cashbook-balance-card small,
.cashbook-total-card small {
    color: #777;
    display: block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.cashbook-balance-card strong,
.cashbook-total-card strong {
    color: #222;
    display: block;
    font-size: clamp(16px, 1.25vw, 19px);
    font-weight: 600;
    line-height: 1.25;
    margin: 3px 0 0;
    white-space: nowrap;
}

.cashbook-balance-difference {
    color: #777;
    font-size: 10px;
    line-height: 1.35;
    margin-top: 5px;
}

.cashbook-balance-action {
    align-items: center;
    align-self: flex-start;
    background: transparent;
    border: 0;
    color: var(--brand);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 11px;
    gap: 6px;
    margin: 7px 0 0;
    padding: 0;
}

.cashbook-balance-action:hover,
.cashbook-balance-action:focus-visible {
    color: var(--brand-hover);
    text-decoration: underline;
}

.cashbook-total-card {
    flex-direction: column;
    gap: 8px;
    justify-content: center;
}

.cashbook-total-card > span {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: space-between;
    min-width: 0;
    width: 100%;
}

.cashbook-total-card strong {
    font-size: clamp(15px, 1.1vw, 17px);
    margin: 0;
}

.cashbook-control {
    border: 1px solid #e8edef;
    border-radius: 12px;
    margin-top: 16px;
    overflow-anchor: none;
    overflow: visible;
}

.cashbook-control > summary {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    justify-content: space-between;
    padding: 15px 18px;
}

.cashbook-control > summary small {
    color: #777;
    font-size: 12px;
    font-weight: 400;
}

.cashbook-control-body {
    border-top: 1px solid #eef1f2;
    padding: 18px;
}

.cashbook-cash-count-body {
    display: grid;
    gap: 22px;
}

.cashbook-cash-count-form {
    display: grid;
    gap: 18px;
}

.cashbook-cash-count-edit-heading {
    align-items: center;
    background: var(--brand-soft);
    border: 1px solid var(--brand-soft-border);
    border-radius: 10px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 10px 12px;
}

.cashbook-cash-count-edit-heading > span {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.cashbook-cash-count-edit-heading i {
    color: var(--brand);
}

.cashbook-cash-count-stats {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cashbook-cash-count-stats article {
    border: 1px solid #e8edef;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    min-height: 76px;
    padding: 13px 15px;
}

.cashbook-cash-count-stats small,
.cashbook-cash-count-history-item summary small,
.cashbook-cash-count-history-detail small {
    color: #777;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.cashbook-cash-count-stats strong {
    color: #222;
    font-size: 20px;
    margin-top: 4px;
}

.cashbook-cash-count-stats .is-positive strong,
.cashbook-cash-count-history-item .is-positive strong {
    color: #8a5a00;
}

.cashbook-cash-count-stats .is-negative strong,
.cashbook-cash-count-history-item .is-negative strong {
    color: #b42318;
}

.cashbook-cash-count-stats .is-balanced strong,
.cashbook-cash-count-history-item .is-balanced strong {
    color: #287a47;
}

.cashbook-cash-count-groups {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cashbook-denomination-group {
    border: 1px solid #e8edef;
    border-radius: 10px;
    margin: 0;
    min-width: 0;
    padding: 14px;
}

.cashbook-denomination-group legend {
    color: #222;
    font-size: 14px;
    font-weight: 600;
    margin: 0;
    padding: 0 5px;
    width: auto;
}

.cashbook-denomination-heading,
.cashbook-denomination-row {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(80px, 1fr) 100px minmax(90px, 1fr);
}

.cashbook-denomination-heading {
    color: #777;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .04em;
    padding: 0 4px 6px;
    text-transform: uppercase;
}

.cashbook-denomination-heading span:last-child,
.cashbook-denomination-row > span {
    text-align: right;
}

.cashbook-denomination-row {
    border-top: 1px solid #eef1f2;
    margin: 0;
    padding: 7px 4px;
}

.cashbook-denomination-row strong {
    color: #333;
    font-size: 13px;
}

.cashbook-denomination-row .form-control {
    height: 36px;
    padding: 5px 9px;
    text-align: right;
}

.cashbook-denomination-row > span {
    color: #626a6e;
    font-size: 12px;
}

.cashbook-cash-count-note {
    display: grid;
    gap: 6px;
    margin: 0;
}

.cashbook-cash-count-note > span {
    color: #333;
    font-size: 12px;
    font-weight: 600;
}

.cashbook-cash-count-note small {
    color: #777;
    font-weight: 400;
}

.cashbook-cash-count-note textarea.form-control {
    min-height: 70px;
    resize: vertical;
}

.cashbook-cash-count-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
}

.cashbook-cash-count-actions small {
    color: #777;
    font-size: 11px;
}

.cashbook-cash-count-history {
    border-top: 1px solid #e8edef;
    padding-top: 18px;
}

.cashbook-cash-count-history-heading {
    align-items: baseline;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    margin-bottom: 10px;
}

.cashbook-cash-count-history-heading h3 {
    color: #222;
    font-size: 15px;
    font-weight: 600;
    margin: 0;
}

.cashbook-cash-count-history-heading small {
    color: #777;
    font-size: 11px;
}

.cashbook-cash-count-history-list {
    border: 1px solid #e8edef;
    border-radius: 10px;
    overflow: hidden;
    overflow-anchor: none;
}

.cashbook-cash-count-history-item + .cashbook-cash-count-history-item {
    border-top: 1px solid #e8edef;
}

.cashbook-cash-count-history-item.is-editing > summary {
    background: var(--brand-soft);
}

.cashbook-cash-count-history-item > summary {
    align-items: center;
    cursor: pointer;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(170px, 1fr) minmax(110px, auto) minmax(110px, auto) 14px;
    list-style: none;
    padding: 12px 14px;
}

.cashbook-cash-count-history-item > summary::-webkit-details-marker {
    display: none;
}

.cashbook-cash-count-history-item summary span {
    display: flex;
    flex-direction: column;
}

.cashbook-cash-count-history-item summary span:not(:first-child) {
    text-align: right;
}

.cashbook-cash-count-history-item[open] > summary > i {
    transform: rotate(180deg);
}

.cashbook-cash-count-history-detail {
    background: #fbfcfc;
    border-top: 1px solid #eef1f2;
    padding: 14px;
}

.cashbook-cash-count-history-detail > div:first-child {
    display: flex;
    justify-content: space-between;
}

.cashbook-cash-count-history-detail ul {
    list-style: none;
    margin: 10px 0 0;
    padding: 0;
}

.cashbook-cash-count-history-detail li {
    border-top: 1px solid #eef1f2;
    display: flex;
    font-size: 12px;
    justify-content: space-between;
    padding: 6px 0;
}

.cashbook-cash-count-history-detail p {
    color: #555;
    font-size: 12px;
    margin: 12px 0 0;
}

.cashbook-cash-count-history-actions {
    border-top: 1px solid #eef1f2;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
}

.cashbook-cash-count-history-actions form {
    margin: 0;
}

@media (max-width: 767px) {
    .cashbook-cash-count-stats,
    .cashbook-cash-count-groups {
        grid-template-columns: 1fr;
    }

    .cashbook-cash-count-stats {
        gap: 8px;
    }

    .cashbook-cash-count-stats article {
        min-height: 68px;
    }

    .cashbook-cash-count-edit-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .cashbook-cash-count-edit-heading .btn {
        width: 100%;
    }

    .cashbook-denomination-group {
        padding: 11px;
    }

    .cashbook-denomination-heading,
    .cashbook-denomination-row {
        gap: 8px;
        grid-template-columns: minmax(76px, 1fr) 86px minmax(80px, 1fr);
    }

    .cashbook-cash-count-history-item > summary {
        gap: 8px 12px;
        grid-template-columns: minmax(0, 1fr) minmax(90px, auto) 14px;
    }

    .cashbook-cash-count-history-item > summary span:nth-child(3) {
        grid-column: 1 / 3;
        grid-row: 2;
        text-align: left;
    }

    .cashbook-cash-count-history-item > summary > i {
        grid-column: 3;
        grid-row: 1 / 3;
    }
}

.cashbook-control-form {
    align-items: end;
    display: grid;
    gap: 14px;
    grid-template-columns: 1.1fr 1fr 1fr auto;
}

.cashbook-control-form label {
    color: #444;
    display: block;
    font-size: 12px;
    font-weight: 600;
    margin: 0 0 6px;
}

.cashbook-entry-form > label {
    color: #444;
    display: flex;
    flex-direction: column;
    font-size: 12px;
    font-weight: 600;
    margin: 0;
}

.cashbook-entry-form > label > span:first-child,
.cashbook-entry-form > div > label,
.cashbook-choice-field legend {
    align-items: center;
    color: #444;
    display: flex;
    flex: 0 0 18px;
    font-size: 12px;
    font-weight: 600;
    height: 18px;
    line-height: 18px;
    margin: 0 0 6px;
}

.cashbook-field-relation > label {
    gap: 4px;
}

.cashbook-money-input {
    display: block;
    position: relative;
}

.cashbook-money-input > b {
    color: #777;
    font-size: 14px;
    font-weight: 500;
    left: 13px;
    line-height: 1;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

.cashbook-money-input > .form-control {
    padding-left: 30px;
}

.cashbook-date-input {
    display: block;
    position: relative;
}

.cashbook-date-input > .form-control {
    height: 100%;
    padding-right: 42px;
}

.cashbook-date-input > .form-control::-webkit-calendar-picker-indicator {
    display: none;
}

.cashbook-date-picker-button {
    align-items: center;
    background: transparent;
    border: 0;
    bottom: 1px;
    color: #555;
    cursor: pointer;
    display: flex;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: 1px;
    top: 1px;
    width: 40px;
}

.cashbook-date-picker-button:hover {
    color: var(--primary, #0f8197);
}

.cashbook-entry-panel,
.cashbook-list-section {
    border-top: 1px solid #e8edef;
    margin-top: 28px;
    padding-top: 28px;
}

.cashbook-section-heading h2,
.cashbook-list-heading h2 {
    color: #222;
    font-size: 17px;
    font-weight: 600;
    margin: 0 0 3px;
}

.cashbook-section-heading p,
.cashbook-list-heading p {
    color: #777;
    font-size: 12px;
    margin: 0;
}

.cashbook-entry-form {
    display: grid;
    gap: 15px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-areas:
        "kind kind kind kind kind kind kind kind kind kind kind kind"
        "number number date date date category category category category amount amount amount"
        "account account account direction direction direction relation relation relation relation relation relation"
        "description description description description description description description description description description description description"
        "actions actions actions actions actions actions actions actions actions actions actions actions"
        "attachments attachments attachments attachments attachments attachments attachments attachments attachments attachments attachments attachments";
    margin-top: 18px;
}

.cashbook-entry-form.is-transfer {
    grid-template-areas:
        "kind kind kind kind kind kind kind kind kind kind kind kind"
        "number number date date date amount amount amount amount amount amount amount"
        "transfer transfer transfer transfer transfer transfer transfer transfer transfer transfer transfer transfer"
        "description description description description description description description description description description description description"
        "actions actions actions actions actions actions actions actions actions actions actions actions"
        "attachments attachments attachments attachments attachments attachments attachments attachments attachments attachments attachments attachments";
}

.cashbook-entry-form input.form-control,
.cashbook-entry-form .cashbook-choice-grid span {
    height: 42px;
    min-height: 42px;
}

.cashbook-entry-form .cashbook-money-input {
    height: 42px;
}

.cashbook-entry-form > label > input.form-control,
.cashbook-entry-form > label > .cashbook-money-input,
.cashbook-entry-form > label > .cashbook-date-input {
    flex: 0 0 42px;
}

.cashbook-entry-form .cashbook-money-input > input.form-control {
    height: 100%;
}

.cashbook-field-kind { grid-area: kind; }
.cashbook-field-number { grid-area: number; }
.cashbook-field-date { grid-area: date; }
.cashbook-field-category { grid-area: category; }
.cashbook-field-amount { grid-area: amount; }
.cashbook-field-account { grid-area: account; }
.cashbook-field-direction { grid-area: direction; }
.cashbook-field-transfer { grid-area: transfer; }
.cashbook-field-relation { grid-area: relation; }
.cashbook-field-description { grid-area: description; }
.cashbook-field-attachments { grid-area: attachments; }
.cashbook-entry-actions { grid-area: actions; }

.cashbook-attachment-upload {
    margin-top: 5px;
    max-width: 620px;
}

.cashbook-attachment-upload--inline {
    margin-top: 0;
    max-width: none;
}

.cashbook-attachment-field-label {
    color: #444;
    display: block;
    font-size: 12px;
    font-weight: 600;
    margin: 0 0 6px;
}

.cashbook-attachment-field-label small {
    color: #7b8589;
    font-size: inherit;
    font-weight: 400;
}

.cashbook-attachment-dialog .cashbook-attachment-upload {
    margin-top: 20px;
    max-width: none;
}

.cashbook-attachment-trigger-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.cashbook-attachment-selection {
    color: #7b8589;
    font-size: 11px;
}

.cashbook-attachment-selection.has-selection {
    color: var(--brand);
    font-weight: 600;
}

.cashbook-attachment-dropzone {
    align-items: center;
    background: #fbfcfc;
    border: 1px dashed #ccd8dc;
    border-radius: 7px;
    color: #3f484c;
    cursor: pointer;
    display: grid;
    gap: 1px 9px;
    grid-template-columns: 28px minmax(0, 1fr);
    margin: 0;
    padding: 10px 13px;
    transition: border-color .18s ease, background-color .18s ease;
}

.cashbook-attachment-dropzone:hover,
.cashbook-attachment-upload.is-dragover .cashbook-attachment-dropzone {
    background: color-mix(in srgb, var(--brand) 5%, #fff);
    border-color: var(--brand);
}

.cashbook-attachment-dropzone > .fa {
    color: var(--brand);
    font-size: 19px;
    grid-row: 1 / 3;
    text-align: center;
}

.cashbook-attachment-dropzone > span {
    font-size: 13px;
    font-weight: 600;
}

.cashbook-attachment-dropzone > small,
.cashbook-attachment-limit,
.cashbook-attachment-migration {
    color: #7b8589;
    font-size: 11px;
}

.cashbook-attachment-limit {
    margin: 6px 0 0;
}

.cashbook-attachment-limit > .fa,
.cashbook-attachment-migration > .fa {
    color: var(--brand);
    margin-right: 6px;
}

.cashbook-entry-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cashbook-kind-grid {
    max-width: 430px;
}

.cashbook-transfer-grid {
    max-width: 560px;
}

.cashbook-choice-field {
    border: 0;
    margin: 0;
    min-width: 0;
    padding: 0;
}

.cashbook-choice-field legend {
    float: none;
    line-height: 18px;
    padding: 0;
    width: auto;
}

.cashbook-choice-grid {
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cashbook-choice-grid label {
    cursor: pointer;
    margin: 0;
    min-width: 0;
    position: relative;
}

.cashbook-choice-grid input {
    height: 1px;
    opacity: 0;
    position: absolute;
    width: 1px;
}

.cashbook-choice-grid span {
    align-items: center;
    border: 1px solid #dfe5e7;
    border-radius: 7px;
    color: #596165;
    display: flex;
    font-size: 13px;
    font-weight: 500;
    gap: 7px;
    justify-content: center;
    height: 42px;
    min-height: 42px;
    padding: 8px;
}

.cashbook-choice-grid input:checked + span {
    background: var(--brand-soft);
    border-color: var(--brand-soft-border);
    color: var(--brand);
    font-weight: 600;
}

.cashbook-choice-grid input:focus-visible + span {
    box-shadow: 0 0 0 3px var(--brand-soft);
    outline: 1px solid var(--brand);
}

.cashbook-autocomplete {
    position: relative;
}

.cashbook-suggestions {
    top: calc(100% + 4px);
    width: min(420px, calc(100vw - 48px));
}

.cashbook-suggestions .mention-suggestion__body small {
    color: #777;
    display: block;
    font-size: 11px;
    margin-top: 2px;
}

.cashbook-description-autocomplete {
    width: 100%;
}

.cashbook-description-suggestions {
    max-height: 250px;
    top: calc(100% + 4px);
    width: 100%;
}

.cashbook-description-suggestion .mention-suggestion__body small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cashbook-search {
    min-width: min(100%, 430px);
    position: relative;
}

.cashbook-list-tools {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    justify-content: flex-end;
}

.cashbook-list-action-row {
    align-items: stretch;
    display: inline-flex;
    gap: 6px;
}

.cashbook-filter-button {
    align-items: center;
    display: inline-flex;
    justify-content: center;
}

.cashbook-filter-button > span {
    align-items: center;
    background: rgba(0, 0, 0, .1);
    border-radius: 999px;
    display: inline-flex;
    font-size: 10px;
    height: 20px;
    justify-content: center;
    margin-left: 7px;
    min-width: 20px;
    padding: 0 6px;
}

.cashbook-filter-actions {
    flex-wrap: wrap;
}

.cashbook-filter-actions > [data-cashbook-filter-clear] {
    margin-right: auto;
}

.cashbook-status-filters .btn {
    align-items: center;
    display: inline-flex;
}

.cashbook-status-filters .btn span {
    align-items: center;
    background: rgba(0, 0, 0, .08);
    border-radius: 999px;
    display: inline-flex;
    font-size: 10px;
    height: 20px;
    justify-content: center;
    margin-left: 7px;
    min-width: 20px;
    padding: 0 6px;
}

.cashbook-search > .fa-search {
    color: #999;
    left: 13px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.cashbook-search input {
    padding-left: 36px;
    padding-right: 38px;
}

.cashbook-search input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
    display: none;
}

.cashbook-search input[type="search"]::-ms-clear {
    display: none;
    height: 0;
    width: 0;
}

.cashbook-search > a {
    color: #777;
    padding: 8px 12px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.cashbook-search > a[hidden] {
    display: none !important;
}

[data-cashbook-results] {
    transition: opacity .15s ease;
}

[data-cashbook-results].is-loading {
    opacity: .48;
    pointer-events: none;
}

.cashbook-selection-summary {
    background: #f7f9fa;
    border: 1px solid #e8edef;
    border-radius: 10px;
    display: grid;
    gap: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 16px;
    padding: 10px 12px;
}

.cashbook-selection-summary > span {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: center;
    min-width: 0;
    padding: 0 12px;
}

.cashbook-selection-summary > span + span {
    border-left: 1px solid #e1e6e8;
}

.cashbook-selection-summary small {
    color: #70787c;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.cashbook-selection-summary strong {
    color: #2b3033;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

.cashbook-selection-summary + .cashbook-table-wrap {
    margin-top: 8px;
}

.cashbook-table-wrap {
    border: 1px solid #e8edef;
    border-radius: 10px;
    margin-top: 16px;
    overflow-x: auto;
}

.cashbook-table {
    border-collapse: collapse;
    font-size: 12px;
    min-width: 940px;
    table-layout: fixed;
    width: 100%;
}

.cashbook-table th:nth-child(1) { width: 9%; }
.cashbook-table th:nth-child(2) { width: 10%; }
.cashbook-table th:nth-child(3) { width: 18%; }
.cashbook-table th:nth-child(4) { width: 10%; }
.cashbook-table th:nth-child(5) { width: 18%; }
.cashbook-table th:nth-child(6) { width: 20%; }
.cashbook-table th:nth-child(7) { width: 15%; }

.cashbook-table--category th:nth-child(1) { width: 10%; }
.cashbook-table--category th:nth-child(2) { width: 11%; }
.cashbook-table--category th:nth-child(3) { width: 8%; }
.cashbook-table--category th:nth-child(4) { width: 24%; }
.cashbook-table--category th:nth-child(5) { width: 31%; }
.cashbook-table--category th:nth-child(6) { width: 16%; }

.cashbook-table th {
    background: #f6f8f9;
    color: #596165;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .02em;
    padding: 11px 10px;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.cashbook-table th:first-child {
    padding-left: 43px;
}

.cashbook-table td {
    border-top: 1px solid #edf0f1;
    color: #333;
    padding: 10px;
    vertical-align: middle;
}

@media (min-width: 768px) {
    .cashbook-table:not(.cashbook-table--category) td:nth-child(3) {
        white-space: nowrap;
    }

    .cashbook-relation-cell {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

.cashbook-summary-row {
    cursor: pointer;
}

.cashbook-summary-row:hover,
.cashbook-summary-row[aria-expanded="true"] {
    background: #fbfcfc;
}

.cashbook-summary-row:focus-visible {
    outline: 2px solid var(--brand-soft-border);
    outline-offset: -2px;
}

.cashbook-description-cell {
    min-width: 0;
}

.cashbook-description-status {
    align-items: center;
    display: flex;
    gap: 8px;
    min-width: 0;
}

.cashbook-description-preview {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cashbook-pending-label {
    align-items: center;
    background: var(--brand-soft);
    border: 1px solid var(--brand-soft-border);
    border-radius: 999px;
    color: var(--brand);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 10px;
    font-weight: 600;
    gap: 4px;
    line-height: 1;
    padding: 5px 7px;
    white-space: nowrap;
}

.cashbook-transfer-label {
    align-items: center;
    color: var(--brand);
    display: inline-flex;
    font-weight: 600;
    gap: 5px;
    white-space: nowrap;
}

.cashbook-pending-label--detail {
    margin-bottom: 10px;
}

.cashbook-missing-value {
    color: var(--brand);
    font-style: italic;
}

.cashbook-booking.is-provisional .cashbook-summary-row {
    background: transparent;
}

.cashbook-booking.is-provisional .cashbook-summary-row:hover,
.cashbook-booking.is-provisional .cashbook-summary-row[aria-expanded="true"] {
    background: var(--brand-soft);
}

.cashbook-amount-column,
.cashbook-amount {
    text-align: right !important;
}

.cashbook-amount {
    color: #333 !important;
    font-variant-numeric: tabular-nums;
    font-weight: 400;
    white-space: nowrap;
}

.cashbook-amount-toggle {
    align-items: center;
    display: flex;
    gap: 11px;
    justify-content: flex-end;
}

.cashbook-amount-toggle > .fa {
    color: #879094;
    flex: 0 0 auto;
    transition: transform .18s ease;
}

.cashbook-attachment-count {
    align-items: center;
    background: color-mix(in srgb, var(--brand) 9%, #fff);
    border-radius: 999px;
    color: var(--brand);
    display: inline-flex;
    font-size: 10px;
    font-weight: 600;
    gap: 3px;
    padding: 3px 6px;
}

.cashbook-number-wrap {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    white-space: nowrap;
}

.cashbook-attachment-slot {
    align-items: center;
    display: inline-flex;
    flex: 0 0 27px;
    justify-content: center;
    width: 27px;
}

.cashbook-number-cell .cashbook-attachment-count {
    padding-left: 5px;
    padding-right: 5px;
}

.cashbook-summary-row[aria-expanded="true"] .cashbook-amount-toggle > .fa {
    transform: rotate(180deg);
}

.cashbook-detail-row[hidden] {
    display: none !important;
}

.cashbook-detail-cell {
    background: #fbfcfc;
    padding: 0 !important;
}

.cashbook-row-detail {
    animation: cashbook-detail-in .18s ease;
    border-top: 1px solid #edf0f1;
    padding: 15px 18px 17px;
}

.cashbook-row-detail > strong {
    color: #596165;
    display: block;
    font-size: 10px;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.cashbook-row-detail > p {
    color: #333;
    line-height: 1.55;
    margin: 5px 0 0;
}

.cashbook-attachments {
    border-top: 1px solid #e8edef;
    margin-top: 14px;
    padding-top: 12px;
}

.cashbook-attachments > strong {
    color: #596165;
    display: block;
    font-size: 10px;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.cashbook-attachment-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 7px;
}

.cashbook-attachment-item {
    align-items: center;
    background: #fff;
    border: 1px solid #dfe6e8;
    border-radius: 6px;
    display: flex;
    min-width: 0;
}

.cashbook-attachment-item > a:first-child {
    align-items: center;
    color: #394246;
    display: flex;
    gap: 7px;
    min-width: 0;
    padding: 7px 9px;
}

.cashbook-attachment-item > a:first-child > .fa {
    color: var(--brand);
}

.cashbook-attachment-item > a:first-child > span {
    max-width: 230px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cashbook-attachment-download,
.cashbook-attachment-delete,
.cashbook-attachment-item form button {
    background: transparent;
    border: 0;
    border-left: 1px solid #e8edef;
    color: var(--brand);
    cursor: pointer;
    display: block;
    padding: 7px 9px;
}

.cashbook-attachment-delete {
    align-self: stretch;
}

.cashbook-attachment-item form {
    margin: 0;
}

.cashbook-row-actions {
    display: flex;
    gap: 7px;
    justify-content: flex-end;
    margin-top: 13px;
}

.cashbook-row-actions form {
    margin: 0;
}

@keyframes cashbook-detail-in {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

.cashbook-empty {
    align-items: center;
    border: 1px dashed #dce3e5;
    border-radius: 10px;
    color: #777;
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 16px;
    padding: 36px 18px;
    text-align: center;
}

.cashbook-empty > .fa {
    color: var(--brand);
    font-size: 26px;
    margin-bottom: 5px;
}

.cashbook-empty strong { color: #333; }
.cashbook-empty span { font-size: 12px; }

.cashbook-pagination {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    justify-content: center;
    margin-top: 22px;
}

.cashbook-pagination-nav,
.cashbook-pagination-page {
    align-items: center;
    border: 1px solid #dfe5e7;
    border-radius: 8px;
    color: #596165;
    display: inline-flex;
    font-size: 12px;
    font-weight: 500;
    height: 36px;
    justify-content: center;
    line-height: 1;
    text-decoration: none;
}

.cashbook-pagination-nav {
    gap: 8px;
    padding: 0 13px;
}

.cashbook-pagination-page {
    min-width: 36px;
    padding: 0 8px;
}

.cashbook-pagination-pages {
    align-items: center;
    display: inline-flex;
    gap: 5px;
}

.cashbook-pagination-nav:hover,
.cashbook-pagination-nav:focus,
.cashbook-pagination-page:hover,
.cashbook-pagination-page:focus {
    background: var(--brand-soft);
    border-color: var(--brand-soft-border);
    color: var(--brand);
    outline: 0;
    text-decoration: none;
}

.cashbook-pagination-nav:focus-visible,
.cashbook-pagination-page:focus-visible {
    box-shadow: 0 0 0 3px var(--brand-soft);
}

.cashbook-pagination-page.is-active {
    background: var(--brand);
    border-color: var(--brand);
    color: var(--brand-button-text);
    font-weight: 600;
}

.cashbook-pagination-nav.is-disabled {
    background: #f7f8f9;
    color: #b3b9bc;
    cursor: default;
    opacity: .7;
}

.cashbook-pagination-ellipsis {
    color: #90979a;
    min-width: 20px;
    text-align: center;
}

@media (max-width: 991.98px) {
    .cashbook-balance-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cashbook-total-card {
        grid-column: auto;
        min-height: 90px;
    }

    .cashbook-control-form {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cashbook-control-form .btn {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .cashbook-entry-form {
        grid-template-areas:
            "kind kind kind kind kind kind kind kind kind kind kind kind"
            "number number number date date date date category category category category category"
            "account account account account direction direction direction direction amount amount amount amount"
            "relation relation relation relation relation relation relation relation relation relation relation relation"
            "description description description description description description description description description description description description"
            "actions actions actions actions actions actions actions actions actions actions actions actions"
            "attachments attachments attachments attachments attachments attachments attachments attachments attachments attachments attachments attachments";
    }
}

@media (max-width: 767.98px) {
    .cashbook-page {
        padding: 18px !important;
    }

    .cashbook-pagination {
        gap: 6px;
    }

    .cashbook-pagination-nav {
        padding: 0;
        width: 36px;
    }

    .cashbook-pagination-nav > span {
        display: none;
    }

    .cashbook-pagination-pages {
        gap: 4px;
    }

    .cashbook-heading {
        align-items: flex-start;
    }

    .cashbook-heading > .btn {
        padding: 8px 11px;
    }

    .cashbook-heading-actions {
        flex-wrap: nowrap;
        gap: 6px;
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        padding-bottom: 2px;
        scrollbar-width: none;
        width: 100%;
        -webkit-overflow-scrolling: touch;
    }

    .cashbook-heading-actions::-webkit-scrollbar {
        display: none;
    }

    .cashbook-heading-actions .btn {
        flex: 0 0 auto;
        font-size: 13px;
        justify-content: center;
        padding-left: 8px;
        padding-right: 8px;
        white-space: nowrap;
    }

    .cashbook-heading-actions .btn .g-mr-8 {
        margin-right: 6px !important;
    }

    .cashbook-heading-actions .cashbook-heading-icon-action {
        flex: 0 0 36px;
        width: 36px;
    }

    .cashbook-report-overlay,
    .cashbook-category-overlay {
        padding: 12px;
    }

    .cashbook-report-dialog,
    .cashbook-category-dialog {
        max-height: calc(100vh - 24px);
        overflow-y: auto;
        padding: 22px 18px 18px;
    }

    .cashbook-cash-count-dialog {
        max-height: calc(100vh - 24px);
        padding: 22px 18px 18px;
    }

    .cashbook-report-filters {
        grid-template-columns: 1fr;
    }

    .cashbook-report-actions .btn {
        flex: 1 1 0;
        justify-content: center;
    }

    .cashbook-category-item > form.cashbook-relation-edit {
        grid-template-columns: 22px minmax(0, 1fr) 25px 34px;
    }

    .cashbook-relation-display {
        grid-template-columns: 22px minmax(0, 1fr) 25px;
    }

    .cashbook-relation-display small {
        grid-column: auto;
        justify-self: end;
    }

    .cashbook-balance-grid {
        grid-template-columns: 1fr;
    }

    .cashbook-category-summary-grid {
        grid-template-columns: 1fr;
    }

    .cashbook-total-card {
        grid-column: auto;
    }

    .cashbook-control > summary {
        align-items: flex-start;
        flex-direction: column;
        padding-right: 42px;
    }

    .cashbook-control-form,
    .cashbook-entry-form {
        grid-template-columns: 1fr;
    }

    .cashbook-entry-form {
        grid-template-areas:
            "kind"
            "number"
            "date"
            "category"
            "amount"
            "account"
            "direction"
            "relation"
            "description"
            "actions"
            "attachments";
    }

    .cashbook-entry-form.is-transfer {
        grid-template-areas:
            "kind"
            "number"
            "date"
            "amount"
            "transfer"
            "description"
            "actions"
            "attachments";
    }

    .cashbook-kind-grid,
    .cashbook-transfer-grid {
        max-width: none;
    }

    .cashbook-control-form > *,
    .cashbook-entry-form > * {
        grid-column: 1 !important;
    }

    .cashbook-control-form .btn,
    .cashbook-entry-actions .btn {
        width: 100%;
    }

    .cashbook-list-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .cashbook-list-tools {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .cashbook-status-filters {
        display: flex;
        width: 100%;
    }

    .cashbook-status-filters .btn {
        flex: 1 1 0;
        justify-content: center;
    }

    .cashbook-list-action-row {
        width: 100%;
    }

    .cashbook-list-action-row .cashbook-filter-button {
        flex: 1 1 auto;
    }

    .cashbook-search {
        min-width: 0;
        width: 100%;
    }

    .cashbook-selection-summary {
        grid-template-columns: 1fr;
    }

    .cashbook-selection-summary > span {
        justify-content: space-between;
        padding: 5px 3px;
    }

    .cashbook-selection-summary > span + span {
        border-left: 0;
        border-top: 1px solid #e1e6e8;
    }

    .cashbook-description-status {
        align-items: flex-start;
        flex-direction: column;
    }

    .cashbook-table-wrap {
        border: 0;
        overflow: visible;
    }

    .cashbook-table {
        display: block;
        min-width: 0;
    }

    .cashbook-table thead {
        display: none;
    }

    .cashbook-table tbody {
        display: block;
    }

    .cashbook-table tbody + tbody {
        margin-top: 12px;
    }

    .cashbook-table tr {
        border: 1px solid #e5eaec;
        border-radius: 10px;
        display: block;
        overflow: hidden;
        padding: 8px 12px;
    }

    .cashbook-table .cashbook-summary-row[aria-expanded="true"] {
        border-radius: 10px 10px 0 0;
    }

    .cashbook-table .cashbook-detail-row {
        border-radius: 0 0 10px 10px;
        border-top: 0;
        margin-top: -1px;
        padding: 0;
    }

    .cashbook-table td {
        align-items: start;
        border: 0;
        display: grid;
        gap: 10px;
        grid-template-columns: 90px minmax(0, 1fr);
        padding: 6px 0;
        text-align: left !important;
    }

    .cashbook-table td::before {
        color: #888;
        content: attr(data-label);
        font-size: 10px;
        font-weight: 600;
        letter-spacing: .03em;
        padding-top: 3px;
        text-transform: uppercase;
    }

    .cashbook-table td:empty {
        display: none;
    }

    .cashbook-table .cashbook-detail-cell {
        display: block;
        padding: 0 !important;
    }

    .cashbook-table .cashbook-detail-cell::before {
        display: none;
    }

    .cashbook-table .cashbook-row-actions {
        display: flex;
        gap: 7px;
        justify-content: flex-end;
        margin-top: 13px;
    }

    .cashbook-row-actions form {
        margin: 0;
    }

    .cashbook-amount-toggle {
        justify-content: space-between;
        width: 100%;
    }
}

/* Centrale agenda */
.agenda-page .admin-card {
    overflow: visible;
}

.agenda-title-row {
    align-items: center;
    border-bottom: 1px solid #eef0f2;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 20px;
    padding-bottom: 18px;
}

.agenda-editor {
    border: 1px solid #e7eaed;
    margin-bottom: 24px;
}
.agenda-editor-overlay { background: rgba(255,255,255,.88); }
.agenda-editor-dialog {
    max-height: calc(100vh - 44px);
    max-width: 900px;
    position: relative;
    width: 100%;
}
.agenda-editor-dialog .agenda-editor {
    background: #fff;
    box-shadow: 0 18px 55px rgba(0,0,0,.14);
    margin: 0;
    max-height: calc(100vh - 44px);
    overflow: auto;
}
.agenda-editor-modal-close {
    align-items: center;
    background: #f5f6f7;
    border: 0;
    border-radius: 50%;
    color: #777;
    cursor: pointer;
    display: flex;
    height: 34px;
    justify-content: center;
    position: absolute;
    right: 12px;
    top: 11px;
    width: 34px;
    z-index: 2;
}
.agenda-editor-modal-close:hover { background: var(--brand-soft); color: var(--brand); }
.agenda-editor-modal-close:focus, .agenda-preview-close:focus { box-shadow: none; outline: none; }
.agenda-editor-modal-close:focus-visible, .agenda-preview-close:focus-visible { box-shadow: 0 0 0 2px var(--brand-soft); color: var(--brand); }
body.agenda-editor-open { overflow: hidden; }
.agenda-editor-dialog .agenda-editor > summary { padding-right: 58px; }

.agenda-readonly {
    align-items: flex-start;
    background: var(--brand-soft);
    border: 1px solid var(--brand-soft-border);
    display: grid;
    gap: 12px;
    grid-template-columns: 38px minmax(0, 1fr) 28px;
    margin-bottom: 22px;
    padding: 14px;
}
.agenda-readonly-icon { align-items: center; background: #fff; border-radius: 50%; color: var(--brand); display: flex; height: 36px; justify-content: center; width: 36px; }
.agenda-readonly strong, .agenda-readonly small { display: block; }
.agenda-readonly small { color: #737a7e; margin-top: 2px; }
.agenda-readonly p { margin: 9px 0 0; white-space: normal; }
.agenda-readonly-close { color: #7c8387; font-size: 16px; padding: 4px; text-align: center; }

.agenda-editor > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    list-style: none;
    padding: 15px 17px;
}

.agenda-editor > summary::-webkit-details-marker { display: none; }
.agenda-editor > summary::after {
    color: var(--brand);
    content: "\f107";
    font-family: FontAwesome;
}
.agenda-editor[open] > summary::after { content: "\f106"; }
.agenda-editor > summary span { display: flex; flex-direction: column; gap: 2px; }
.agenda-editor > summary small { color: #8b9095; font-weight: 400; }

.agenda-form {
    border-top: 1px solid #eef0f2;
    padding: 18px;
}

.agenda-quick-grid {
    align-items: end;
    display: grid;
    gap: 0 12px;
    grid-template-columns: minmax(220px, 2fr) minmax(135px, 1fr) 105px minmax(170px, 1.25fr);
}
.agenda-quick-hint { color: #969b9f; display: block; margin: -8px 0 13px; }

.agenda-more-options {
    border-top: 1px solid #edf0f2;
    margin: 2px 0 0;
}
.agenda-more-options > summary {
    align-items: center;
    color: #71777b;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    list-style: none;
    min-height: 44px;
    padding: 10px 2px;
}
.agenda-more-options > summary::-webkit-details-marker { display: none; }
.agenda-more-options > summary:focus,
.agenda-more-options > summary:focus-visible {
    border-color: var(--brand-soft-border);
    box-shadow: 0 0 0 2px var(--brand-soft);
    outline: 0;
}
.agenda-more-options > summary::after { color: var(--brand); content: "\f107"; font-family: FontAwesome; margin-left: 12px; }
.agenda-more-options[open] > summary::after { content: "\f106"; }
.agenda-more-options > summary small { color: #a0a5a8; margin-left: auto; }
.agenda-more-options-body { background: #fafbfb; border: 1px solid #edf0f2; padding: 15px; }
.agenda-advanced-grid { display: grid; gap: 0 12px; grid-template-columns: minmax(145px, 1fr) 115px minmax(260px, 2.4fr); }
.agenda-advanced-description { grid-column: 3; }

.agenda-form-grid {
    align-items: end;
    display: grid;
    gap: 0 12px;
    grid-template-columns: minmax(180px, 2fr) minmax(110px, 1fr) minmax(95px, .7fr) minmax(110px, 1fr) minmax(95px, .7fr);
}

.agenda-form-title { grid-column: 1 / -1; }
.agenda-form-location { grid-column: 1 / 3; }
.agenda-form-description { grid-column: 3 / -1; }
.agenda-all-day {
    align-items: center;
    display: flex;
    gap: 7px;
    grid-column: 1 / -1;
    margin: -3px 0 16px;
}

.agenda-time-field input:disabled { background: #f5f6f7; color: #a3a7ab; }

.agenda-visibility {
    border: 0;
    margin: 2px 0 18px;
    padding: 0;
}
.agenda-visibility legend { font-size: 14px; font-weight: 600; margin-bottom: 9px; }
.agenda-visibility-options { display: flex; flex-wrap: wrap; gap: 8px; }
.agenda-visibility-option { cursor: pointer; margin: 0; }
.agenda-visibility-option input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.agenda-visibility-option span {
    align-items: center;
    background: #f7f8f9;
    border: 1px solid #e3e6e8;
    display: flex;
    gap: 7px;
    min-height: 38px;
    padding: 8px 13px;
}
.agenda-visibility-option input:checked + span {
    background: var(--brand-soft);
    border-color: var(--brand);
    color: var(--brand);
}

.agenda-access {
    background: #fafbfb;
    border: 1px solid #e7eaed;
    margin-top: 10px;
    padding: 12px;
}
.agenda-access[hidden] { display: none; }
.agenda-access-picker { margin-top: 0; }
.agenda-access-picker .document-access-selected { min-height: 44px; }
.agenda-access-list {
    display: grid;
    gap: 5px 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 10px;
    max-height: 170px;
    overflow: auto;
}
.agenda-access-list label { align-items: center; display: flex; gap: 7px; margin: 0; min-height: 30px; }
.agenda-form-actions { align-items: center; display: flex; gap: 8px; }
.agenda-form-actions--final { margin-top: 13px; }

.agenda-toolbar {
    align-items: center;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto 40px;
    margin-bottom: 14px;
}
.agenda-toolbar h2 { font-size: 20px; font-weight: 600; margin: 0; text-align: center; }
.agenda-search { align-items: stretch; flex-wrap: nowrap; margin-bottom: 18px; }
.agenda-search .input-group-append { flex: 0 0 auto; }
.agenda-search-clear {
    align-items: center;
    background: #fff;
    border: 1px solid #ddd;
    border-left: 0;
    color: #7b8286;
    display: flex;
    justify-content: center;
    min-height: 38px;
    padding: 0;
    width: 38px;
}
.agenda-search-clear[hidden] { display: none !important; }
.agenda-search-clear:hover,
.agenda-search-clear:focus-visible {
    background: #fff;
    border-color: #ddd;
    color: var(--brand);
    outline: 0;
}
[data-agenda-month-view][hidden] { display: none !important; }
.agenda-search-results { margin-top: 3px; }
.agenda-search-results__header { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; margin-bottom: 8px; }
.agenda-search-summary { color: #858b8f; font-size: 12px; margin: 0; }
.agenda-search-back { flex: 0 0 auto; white-space: nowrap; }
.agenda-search-result-list { border-top: 1px solid #e5e8ea; }
.agenda-search-result {
    align-items: center;
    border-bottom: 1px solid #e5e8ea;
    color: #303437;
    display: grid;
    gap: 13px;
    grid-template-columns: 155px 34px minmax(0, 1fr) 14px;
    min-height: 66px;
    padding: 9px 4px;
}
.agenda-search-result:hover { background: #fafbfb; color: #111; text-decoration: none; }
.agenda-search-result__date { display: flex; flex-direction: column; min-width: 0; }
.agenda-search-result__date strong { font-size: 13px; font-weight: 600; }
.agenda-search-result__date small { color: #8a9094; font-size: 11px; }
.agenda-search-result__marker { align-items: center; background: #f2f4f5; border-radius: 50%; color: #758087; display: flex; height: 32px; justify-content: center; width: 32px; }
.agenda-search-result--afspraak .agenda-search-result__marker,
.agenda-search-result--verjaardag .agenda-search-result__marker { background: var(--brand-soft); color: var(--brand); }
.agenda-search-result__main { display: flex; flex-direction: column; min-width: 0; }
.agenda-search-result__main strong { font-size: 13px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.agenda-search-result__main small { color: #7d8387; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.agenda-search-result__arrow { color: var(--brand); text-align: right; }
.agenda-search-result.is-complete .agenda-search-result__main { opacity: .55; text-decoration: line-through; }
.agenda-search-empty { border-bottom: 1px solid #e5e8ea; margin: 0; padding: 22px 4px; text-align: center; }
.agenda-search-more { display: block; margin: 16px auto 0; }
.agenda-search-more[hidden],
.agenda-filters[hidden] { display: none !important; }
.agenda-nav-button {
    align-items: center;
    border: 1px solid #dce1e4;
    color: var(--brand);
    display: flex;
    font-size: 21px;
    height: 38px;
    justify-content: center;
    width: 38px;
}
.agenda-nav-button:hover { background: var(--brand-soft); color: var(--brand-hover); text-decoration: none; }
.agenda-today { margin-right: 10px; }

.agenda-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 15px;
}
.agenda-filters button {
    align-items: center;
    background: #f5f5f5;
    border: 0;
    border-radius: 999px;
    color: #777;
    cursor: pointer;
    display: inline-flex;
    font-family: inherit;
    font-size: 12px;
    font-weight: 400;
    gap: 6px;
    min-height: 31px;
    padding: 5px 11px;
    transition: background-color .15s ease, color .15s ease;
}
.agenda-filters button > i { color: var(--brand); font-size: 13px; }
.agenda-filters button strong { color: var(--brand); font-size: 13px; font-weight: 600; }
.agenda-filters button:not(.is-active) { background: #f5f5f5; color: #999; }
.agenda-filters button.is-active,
.agenda-filters button:hover { background: var(--brand-soft); color: var(--brand); }
.agenda-filters button:focus { box-shadow: none; outline: none; }
.agenda-filters button:focus-visible { border-color: var(--brand); box-shadow: 0 0 0 2px var(--brand-soft); }

body.agenda-preview-open { overflow: hidden; }
.agenda-preview-overlay { background: rgba(255,255,255,.88); }
.agenda-preview-card {
    background: #fff;
    border: 1px solid rgba(0,0,0,.07);
    box-shadow: 0 18px 55px rgba(0,0,0,.14);
    max-height: calc(100vh - 44px);
    max-width: 470px;
    overflow: auto;
    padding: 25px;
    position: relative;
    width: 100%;
}
.agenda-preview-close {
    align-items: center;
    background: #f5f6f7;
    border: 0;
    border-radius: 50%;
    color: #777;
    cursor: pointer;
    display: flex;
    height: 34px;
    justify-content: center;
    position: absolute;
    right: 16px;
    top: 16px;
    width: 34px;
}
.agenda-preview-close:hover { background: var(--brand-soft); color: var(--brand); }
.agenda-preview-heading { align-items: center; display: flex; gap: 13px; padding-right: 42px; }
.agenda-preview-heading h2 { color: #222; font-size: 18px; font-weight: 600; line-height: 1.35; margin: 2px 0 0; }
.agenda-preview-heading small { color: var(--brand); display: block; font-size: 11px; font-weight: 600; text-transform: uppercase; }
.agenda-preview-icon { align-items: center; background: var(--brand-soft); border-radius: 50%; color: var(--brand); display: flex; flex: 0 0 42px; height: 42px; justify-content: center; width: 42px; }
.agenda-preview-icon img { border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 0 2px var(--brand-soft-border); height: 48px; object-fit: cover; width: 48px; }
.agenda-preview-card.is-birthday { border-top: 4px solid var(--brand); }
.agenda-preview-card.is-birthday .agenda-preview-icon { background: transparent; flex-basis: 48px; height: 48px; width: 48px; }
.agenda-preview-birthday { align-items: center; background: var(--brand-soft); border-left: 3px solid var(--brand); color: #3f4548; display: flex; gap: 11px; margin-top: 20px; padding: 13px 15px; }
.agenda-preview-birthday > i { color: var(--brand); font-size: 19px; }
.agenda-preview-birthday strong { color: #333; font-size: 14px; font-weight: 600; }
.agenda-preview-details { border-bottom: 1px solid #edf0f2; border-top: 1px solid #edf0f2; display: grid; gap: 8px; margin-top: 20px; padding: 15px 0; }
.agenda-preview-details > div { align-items: center; color: #666; display: flex; font-size: 13px; gap: 10px; }
.agenda-preview-details > div > i { color: #979da1; text-align: center; width: 15px; }
.agenda-preview-description { color: #666; font-size: 13px; line-height: 1.55; margin: 15px 0 0; max-height: 160px; overflow: auto; white-space: pre-line; }
.agenda-preview-people { align-items: center; display: flex; margin-top: 15px; }
.agenda-preview-people[hidden] { display: none; }
.agenda-preview-avatar-stack { align-items: center; display: flex; padding-left: 7px; }
.agenda-preview-person-avatar {
    align-items: center;
    background: var(--brand-soft);
    border: 2px solid #fff;
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    font-size: 10px;
    font-weight: 600;
    height: 34px;
    justify-content: center;
    margin-left: -7px;
    overflow: hidden;
    width: 34px;
}
.agenda-preview-person-avatar img { height: 100%; object-fit: cover; width: 100%; }
.agenda-preview-person-avatar--group { font-size: 13px; }
.agenda-preview-person-avatar--more { background: #f1f3f4; color: #666; }
.agenda-preview-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 20px; }
.agenda-preview-actions[hidden] { display: none; }
.agenda-preview-manage-actions { display: flex; gap: 7px; }
.agenda-preview-manage-actions[hidden] { display: none; }
.agenda-preview-manage-actions form { display: inline-flex; }
.agenda-preview-source-link { align-items: center; color: var(--brand); display: inline-flex; font-size: 12px; justify-content: center; padding: 7px 5px; }
.agenda-preview-source-link:hover { color: var(--brand); text-decoration: underline; }
.agenda-preview-audit { border-top: 1px solid #edf0f2; color: #a0a5a8; display: block; font-size: 10px; line-height: 1.45; margin-top: 15px; padding-top: 11px; }
.agenda-preview-audit[hidden] { display: none; }

.agenda-calendar {
    border-left: 1px solid #e3e6e8;
    border-top: 1px solid #e3e6e8;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}
.agenda-weekday {
    background: #f7f8f9;
    border-bottom: 1px solid #e3e6e8;
    border-right: 1px solid #e3e6e8;
    color: #777d82;
    font-size: 12px;
    font-weight: 600;
    padding: 8px 10px;
    text-align: center;
    text-transform: uppercase;
}
.agenda-day {
    border-bottom: 1px solid #e3e6e8;
    border-right: 1px solid #e3e6e8;
    cursor: pointer;
    min-height: 122px;
    padding: 8px;
    transition: background-color .15s ease;
}
.agenda-day:hover { background: #fbfcfc; }
.agenda-day.is-outside { background: #fafafa; }
.agenda-day.is-outside:hover { background: #f5f7f7; }
.agenda-day.is-outside .agenda-day-number { opacity: .45; }
.agenda-day-number { align-items: center; display: flex; justify-content: space-between; margin-bottom: 7px; }
.agenda-day-number span {
    align-items: center;
    display: inline-flex;
    font-size: 12px;
    height: 25px;
    justify-content: center;
    width: 25px;
}
.agenda-day-number small { color: var(--brand); font-size: 10px; }
.agenda-day.is-today .agenda-day-number span { background: var(--brand); border-radius: 50%; color: var(--brand-button-text); font-weight: 600; }
.agenda-day-events { display: flex; flex-direction: column; gap: 4px; }
.agenda-event {
    align-items: center;
    background: #f3f5f6;
    border-left: 3px solid #a1a8ad;
    color: #333;
    display: flex;
    font-size: 11px;
    gap: 5px;
    line-height: 1.25;
    min-height: 24px;
    overflow: hidden;
    padding: 4px 6px;
}
.agenda-event:hover { background: #edf0f1; color: #111; text-decoration: none; }
.agenda-event time { color: #777; flex: 0 0 auto; font-size: 10px; }
.agenda-event span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.agenda-event--afspraak { background: var(--brand-soft); border-left-color: var(--brand); }
.agenda-event--verjaardag { background: var(--brand-soft); border-left-color: var(--brand); }
.agenda-event--taak { border-left-color: #5c8790; }
.agenda-event--activiteit { border-left-color: #79995f; }
.agenda-event--verslag { border-left-color: #87749c; }
.agenda-event--helpers { border-left-color: #bd8b4c; }
.agenda-event.is-complete { opacity: .55; text-decoration: line-through; }

.agenda-list { display: none; }
.agenda-empty { border: 1px solid #e7eaed; margin: 0; padding: 18px; text-align: center; }
.settings-agenda-sources { margin-top: 4px; }

@media (max-width: 767px) {
    .agenda-title-row { align-items: flex-start; }
    .agenda-title-row .btn { align-items: center; display: inline-flex; flex: 0 0 42px; font-size: 0; height: 40px; justify-content: center; line-height: 1; padding: 0; width: 42px; }
    .agenda-title-row .btn .fa { display: block; font-size: 14px; line-height: 1; margin: 0 !important; }
    .agenda-form { padding: 13px; }
    .agenda-form-grid, .agenda-quick-grid, .agenda-advanced-grid { display: block; }
    .agenda-all-day { margin: 0 0 16px; }
    .agenda-more-options > summary { align-items: flex-start; flex-wrap: wrap; }
    .agenda-more-options > summary small { display: block; margin: 2px 20px 0 0; width: 100%; }
    .agenda-more-options-body { padding: 12px; }
    .agenda-access-list { grid-template-columns: 1fr; }
    .agenda-form-actions { flex-wrap: wrap; }
    .agenda-toolbar { grid-template-columns: 38px minmax(0, 1fr) 38px; }
    .agenda-toolbar h2 { font-size: 17px; }
    .agenda-today { display: none; }
    .agenda-filters { flex-wrap: nowrap; margin-left: -1px; overflow-x: auto; padding-bottom: 3px; }
    .agenda-filters button { flex: 0 0 auto; }
    .agenda-search-result {
        gap: 9px;
        grid-template-columns: 84px 34px minmax(0, 1fr) 10px;
        min-height: 70px;
        padding: 9px 2px;
    }
    .agenda-search-result__date strong { font-size: 12px; }
    .agenda-search-result__date small { font-size: 10px; }
    .agenda-search-result__main strong { font-size: 13px; }
    .agenda-search-result__main small { font-size: 11px; }
    .agenda-preview-card { max-height: calc(100vh - 28px); padding: 22px 18px 18px; }
    .agenda-preview-actions { align-items: flex-end; }
    .agenda-preview-source-link { min-height: 34px; padding: 5px; }
    .agenda-editor-overlay { padding: 10px; }
    .agenda-editor-dialog, .agenda-editor-dialog .agenda-editor { max-height: calc(100vh - 20px); }
    .agenda-calendar { display: none; }
    .agenda-list { display: block; }
    .agenda-list-date {
        align-items: baseline;
        border-bottom: 1px solid #e6e9eb;
        display: flex;
        font-size: 13px;
        gap: 6px;
        margin: 21px 0 0;
        padding: 0 2px 7px;
    }
    .agenda-list-date:first-child { margin-top: 4px; }
    .agenda-list-date span { font-weight: 600; }
    .agenda-list-item {
        align-items: center;
        border-bottom: 1px solid #eef0f2;
        color: #333;
        display: grid;
        gap: 10px;
        grid-template-columns: 38px minmax(0, 1fr) 12px;
        min-height: 64px;
        padding: 9px 3px;
    }
    .agenda-list-item:hover { color: #111; text-decoration: none; }
    .agenda-list-icon { align-items: center; background: #f2f4f5; border-radius: 50%; color: #758087; display: flex; height: 36px; justify-content: center; width: 36px; }
    .agenda-list-item--afspraak .agenda-list-icon { background: var(--brand-soft); color: var(--brand); }
    .agenda-list-item--verjaardag .agenda-list-icon { background: var(--brand-soft); color: var(--brand); }
    .agenda-list-main { display: flex; flex-direction: column; min-width: 0; }
    .agenda-list-main strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .agenda-list-main small { color: #81868a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .agenda-list-item.is-complete .agenda-list-main { opacity: .55; text-decoration: line-through; }
}

[id] {
    scroll-margin-top: 88px;
}

body {
    color: #555;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    overflow-x: hidden;
    width: 100%;
}

a {
    color: var(--brand);
}

a:hover,
a:focus {
    color: var(--brand-link-hover);
}

.form-control {
    border-color: #ccc;
    height: auto;
    color: #555;
}

.form-control:focus {
    border-color: var(--brand);
    color: #555;
    box-shadow: none;
}

.form-control::placeholder {
    color: inherit;
    opacity: .5;
}

.checkbox-row {
    align-items: center;
    color: #555;
    display: inline-flex;
    gap: 8px;
    line-height: 1.4;
}

.checkbox-row input {
    accent-color: var(--brand);
}

input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--brand);
}

input[type="checkbox"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus-visible,
input[type="radio"]:focus-visible {
    box-shadow: none;
    outline: 0;
}

.settings-subsection {
    border: 1px solid #eee;
    margin-bottom: 28px;
    padding: 24px;
}

.settings-subsection:last-child {
    margin-bottom: 0;
}

.settings-tabs {
    border-bottom: 1px solid #e8ecee;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 6px;
    margin: 4px 0 24px;
    overflow: visible;
}

.settings-tab {
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 2px solid transparent;
    color: #777;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 7px;
    padding: 11px 14px;
}

.settings-tab:hover,
.settings-tab:focus,
.settings-tab.is-active {
    color: var(--brand);
    outline: 0;
}

.settings-tab.is-active {
    border-bottom-color: var(--brand);
    font-weight: 600;
}

.settings-panel[hidden] {
    display: none;
}

.settings-panel.is-active {
    animation: settings-panel-in .16s ease-out;
}

@keyframes settings-panel-in {
    from { opacity: .45; transform: translateY(3px); }
    to { opacity: 1; transform: translateY(0); }
}

.settings-panel-heading {
    align-items: center;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
    padding-bottom: 18px;
}

.settings-panel-heading h4 {
    color: #222;
    font-size: 17px;
    font-weight: 600;
    margin: 0 0 4px;
}

.settings-panel-heading p {
    color: #888;
    margin: 0;
}

.settings-module-list {
    border: 1px solid #e8ecee;
}

.settings-module-row {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #edf0f1;
    display: grid;
    gap: 12px;
    grid-template-columns: 28px 42px minmax(160px, 1fr) auto auto auto;
    padding: 14px 16px;
}

.settings-module-row:last-child {
    border-bottom: 0;
}

.settings-module-row.is-dragging {
    opacity: .45;
}

.settings-module-handle {
    color: #a5adb0;
    cursor: grab;
    text-align: center;
}

.settings-module-icon {
    align-items: center;
    background: var(--brand-soft);
    color: var(--brand);
    display: inline-flex;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.settings-module-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.settings-module-info strong {
    color: #333;
    font-weight: 600;
}

.settings-module-info small {
    color: #888;
    margin-top: 2px;
}

.settings-module-switch {
    align-items: center;
    display: inline-flex;
    gap: 7px;
    margin: 0;
}

.settings-module-switch input {
    accent-color: var(--brand);
}

.settings-status {
    background: #f1f3f4;
    color: #888;
    font-size: 12px;
    padding: 5px 9px;
}

.settings-status.is-active {
    background: var(--brand-soft);
    color: var(--brand);
}

.settings-savebar {
    background: rgba(255, 255, 255, .96);
    border-top: 1px solid #e8ecee;
    bottom: 0;
    margin: 28px -2px -2px;
    padding: 14px 2px 2px;
    position: sticky;
    z-index: 5;
}

@media (max-width: 767px) {
    .settings-tabs {
        margin-left: -12px;
        margin-right: -12px;
        padding: 0 8px;
    }

    .settings-tab {
        flex: 1 1 calc(50% - 3px);
        justify-content: flex-start;
        min-width: 0;
    }

    .settings-module-row {
        gap: 9px;
        grid-template-columns: 24px 38px minmax(0, 1fr) auto;
        padding: 12px;
    }

    .settings-module-switch {
        grid-column: 3 / 5;
    }

    .settings-module-row > [data-open-module] {
        grid-column: 4;
        grid-row: 1;
    }

    .settings-module-info small {
        display: none;
    }

    .settings-panel-heading {
        align-items: flex-start;
        gap: 12px;
    }
}

.g-bg-primary,
.u-btn-primary,
.badge.g-bg-primary {
    background-color: var(--brand) !important;
    color: var(--brand-button-text) !important;
}

.g-color-primary,
.card-icon,
.ok {
    color: var(--brand) !important;
}

.g-color-primary--hover:hover,
.g-color-primary--hover:focus,
.u-link-v5.g-color-primary--hover:hover,
.u-link-v5.g-color-primary--hover:focus {
    color: var(--brand-link-hover) !important;
}

.g-bg-primary--hover:hover,
.g-bg-primary--hover:focus {
    background-color: var(--brand-hover) !important;
}

.g-brd-primary,
.u-btn-outline-primary,
.button-secondary,
.icon-button {
    border-color: var(--brand) !important;
}

.g-brd-primary--hover:hover,
.g-brd-primary--hover:focus,
.g-brd-top.g-brd-primary,
.g-brd-bottom.g-brd-primary,
.g-brd-left.g-brd-primary,
.g-brd-right.g-brd-primary {
    border-color: var(--brand) !important;
}

.u-btn-primary {
    border-color: var(--brand) !important;
    color: var(--brand-button-text) !important;
}

.u-btn-primary:hover,
.u-btn-primary:focus,
.u-btn-primary:active {
    background-color: var(--brand-hover) !important;
    border-color: var(--brand-hover) !important;
    color: var(--brand-button-text) !important;
}

.u-btn-outline-primary {
    color: var(--brand) !important;
}

.u-btn-outline-primary:hover,
.u-btn-outline-primary:focus,
.u-btn-outline-primary:active {
    background-color: var(--brand) !important;
    border-color: var(--brand) !important;
    color: var(--brand-button-text) !important;
}

.g-bg-gray-lineargradient {
    background: linear-gradient(to bottom, #fff 0%, #f7f7f7 100%);
    flex: 1 0 auto;
}

.va-header-spacer {
    background: #111;
    /* Reserve the closed fixed-header height before the footer script runs. */
    height: var(--header-height, 102px);
}

.u-header {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    z-index: 1030;
}

.u-header__section.g-bg-primary {
    background-color: var(--header-bg) !important;
}

.u-header__section .navbar > .container {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
}

.va-navbar-brand {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    text-decoration: none;
}

.va-navbar-toggler {
    align-items: center;
    border: 0;
    color: var(--header-link-color);
    display: inline-flex;
    flex-direction: column;
    gap: 5px;
    height: 42px;
    justify-content: center;
    margin-left: auto;
    padding: 0;
    position: relative;
    flex: 0 0 42px;
    z-index: 1040;
    width: 42px;
}

.va-navbar-toggler span {
    background: currentColor;
    border-radius: 999px;
    display: block;
    height: 2px;
    transition: transform .2s ease, opacity .2s ease;
    width: 24px;
}

@media (max-width: 991.98px) {
    .u-header.u-header--sticky-top,
    .u-header.u-header--moved-up,
    .u-header.u-header--faded,
    .u-header.u-negative-top {
        bottom: auto !important;
        display: block !important;
        left: 0 !important;
        opacity: 1 !important;
        position: fixed !important;
        right: 0 !important;
        top: 0 !important;
        transform: none !important;
        visibility: visible !important;
    }

    .navbar-expand-lg .va-navbar-toggler {
        display: inline-flex !important;
        margin: 0 !important;
        opacity: 1 !important;
        position: fixed !important;
        right: 16px !important;
        top: 14px !important;
        transform: none !important;
        visibility: visible !important;
        z-index: 1000001 !important;
    }
}

@media (min-width: 992px) {
    .navbar-expand-lg .va-navbar-toggler {
        display: none !important;
    }

    .task-toolbar .actions .document-mobile-new-action {
        display: none !important;
    }

    .task-toolbar .actions .document-print-label {
        display: inline !important;
    }
}

.va-navbar-toggler:hover,
.va-navbar-toggler:focus {
    color: var(--header-link-hover);
    outline: none;
}

.va-navbar-toggler.is-open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.va-navbar-toggler.is-open span:nth-child(2) {
    opacity: 0;
}

.va-navbar-toggler.is-open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

.u-header__section .navbar-nav > .nav-item > .nav-link,
.u-header__section .navbar-nav > .nav-item > details > summary.nav-link {
    color: var(--header-link-color) !important;
}

.u-header__section .navbar-nav > .nav-item > .nav-link:hover,
.u-header__section .navbar-nav > .nav-item > .nav-link:focus,
.u-header__section .navbar-nav > .nav-item > details > summary.nav-link:hover,
.u-header__section .navbar-nav > .nav-item > details > summary.nav-link:focus {
    color: var(--header-link-hover) !important;
}

.va-brand-mark {
    display: inline-grid;
    place-items: center;
    width: 60px;
    height: 60px;
    background: transparent;
    color: var(--header-link-color);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: .03em;
}

.va-brand-logo-wrap {
    background: transparent;
    overflow: hidden;
}

.va-brand-logo-wrap img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.va-brand-default-mark {
    color: var(--header-link-color);
    font-size: 30px;
    transition: color .2s ease;
}

.va-navbar-brand:hover .va-brand-default-mark,
.va-navbar-brand:focus .va-brand-default-mark {
    color: var(--header-link-hover);
}

.va-account-menu {
    position: relative;
}

.va-account-menu details {
    position: relative;
}

.va-account-menu summary {
    list-style: none;
    cursor: pointer;
}

.va-account-menu summary::-webkit-details-marker {
    display: none;
}

.va-account-menu .hs-sub-menu {
    display: none;
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    z-index: 100;
    background: #fff;
}

.va-account-menu details[open] .hs-sub-menu {
    display: block;
}

.va-account-menu .dropdown-item {
    padding: 0;
}

.va-account-menu .dropdown-item .nav-link {
    display: block;
    padding: 9px 16px;
    color: #777;
    text-transform: none;
}

.va-account-menu .dropdown-item .nav-link:hover,
.va-account-menu .dropdown-item .nav-link:focus {
    color: #000;
}

.footer-contact {
    margin-bottom: 0;
}

.footer-contact a {
    color: rgba(255, 255, 255, .85);
}

.footer-contact a:hover,
.footer-contact a:focus {
    color: #fff;
    text-decoration: none;
}

.footer-contact .icoontjes {
    color: var(--brand);
    margin-right: 8px;
}

.footer-socials a {
    align-items: center;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 50%;
    color: rgba(255, 255, 255, .85);
    display: inline-flex;
    height: 38px;
    justify-content: center;
    transition: color .18s ease, border-color .18s ease, background-color .18s ease;
    width: 38px;
}

.footer-socials a:hover,
.footer-socials a:focus {
    background: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .75);
    color: #fff;
    text-decoration: none;
}

.panel {
    background: #fff;
    border: 1px solid #eee;
    padding: 30px;
    box-shadow: 0 10px 6px -6px rgba(0, 0, 0, .2);
}

.panel + .panel,
.grid + .panel,
.panel + .grid {
    margin-top: 30px;
}

.dashboard-modules {
    margin: 0 0 30px;
}

.dashboard-module-grid {
    margin-bottom: -22px;
}

.dashboard-module-column {
    margin-bottom: 22px;
}

.dashboard-card {
    background: #fff;
    border: 1px solid #e9e9e9;
    box-shadow: 0 7px 18px rgba(0, 0, 0, .06);
    color: #222;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 150px;
    overflow: hidden;
    padding: 26px;
    position: relative;
    text-decoration: none;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.dashboard-card::after {
    background: var(--brand-soft);
    border-radius: 50%;
    content: '';
    height: 180px;
    opacity: .55;
    position: absolute;
    right: -75px;
    top: -90px;
    transition: transform .25s ease;
    width: 180px;
}

.dashboard-card:hover,
.dashboard-card:focus {
    border-color: var(--brand-soft-border);
    box-shadow: 0 11px 21px rgba(0, 0, 0, .09);
    color: #222;
    outline: none;
    text-decoration: none;
    transform: translateY(-2px);
}

.dashboard-card:hover::after,
.dashboard-card:focus::after {
    transform: scale(1.04);
}

.dashboard-card__icon {
    align-items: center;
    background: var(--brand);
    border-radius: 2px;
    box-shadow: 0 8px 18px var(--brand-soft-border);
    color: var(--brand-button-text);
    display: inline-flex;
    flex: 0 0 54px;
    font-size: 23px;
    height: 54px;
    justify-content: center;
    margin-bottom: 20px;
    position: relative;
    width: 54px;
    z-index: 1;
}

.dashboard-card__body {
    display: block;
    min-width: 0;
    position: relative;
    z-index: 1;
}

.dashboard-card__body strong {
    color: #222;
    display: block;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.25;
}

.dashboard-card__arrow {
    align-items: center;
    border: 1px solid var(--brand-soft-border);
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    font-size: 12px;
    height: 32px;
    justify-content: center;
    position: absolute;
    right: 22px;
    top: 22px;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
    width: 32px;
    z-index: 2;
}

.dashboard-card:hover .dashboard-card__arrow,
.dashboard-card:focus .dashboard-card__arrow {
    background: var(--brand);
    color: var(--brand-button-text);
    transform: translateX(1px);
}

.dashboard-overview {
    padding: 20px 28px 28px;
}

.dashboard-overview-title {
    color: #000;
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0 0 20px;
}

.dashboard-overview > .row {
    margin-left: -10px;
    margin-right: -10px;
    margin-bottom: -25px;
}

.dashboard-overview > .row > [class*="col-"] {
    padding-left: 10px;
    padding-right: 10px;
}

.overview-card {
    align-items: flex-start;
    border: 1px solid #eee;
    display: flex;
    gap: 18px;
    height: 100%;
    padding: 22px;
}

.overview-card__icon {
    align-items: center;
    background: var(--brand-soft);
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    flex: 0 0 46px;
    font-size: 20px;
    height: 46px;
    justify-content: center;
    width: 46px;
}

.overview-card h4 {
    color: #222;
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 8px;
}

.overview-card strong {
    color: #222;
    display: block;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 5px;
}

.overview-card span {
    color: #777;
}

.overview-list {
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
}

.overview-list li {
    align-items: center;
    border-top: 1px solid #f0f0f0;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 8px 0;
}

.overview-list li:last-child {
    padding-bottom: 0;
}

.overview-list b {
    color: #333;
    font-weight: 600;
}

.overview-progress {
    background: #eee;
    height: 6px;
    margin-top: 14px;
    overflow: hidden;
    width: 100%;
}

.overview-progress span {
    background: var(--brand);
    display: block;
    height: 100%;
}

.dashboard-inbox {
    box-shadow: none;
}

.dashboard-inbox > summary,
.dashboard-inbox-header {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    list-style: none;
    padding: 20px 28px;
}

.dashboard-inbox > summary::-webkit-details-marker,
.dashboard-inbox-item summary::-webkit-details-marker {
    display: none;
}

.dashboard-inbox h3 {
    color: #000;
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0;
}

.dashboard-inbox-header-actions {
    align-items: center;
    display: inline-flex;
    gap: 12px;
    margin-left: auto;
}

.dashboard-inbox-count {
    align-items: center;
    background: #f5f5f5;
    border-radius: 999px;
    color: #777;
    display: inline-flex;
    font-size: 12px;
    gap: 6px;
    padding: 5px 11px;
    text-decoration: none;
}

.dashboard-compose-nav {
    border: 0;
    cursor: pointer;
    font-family: inherit;
}

.dashboard-inbox-count:hover,
.dashboard-inbox-count:focus,
.dashboard-inbox-count.is-active {
    background: var(--brand-soft);
    color: var(--brand);
    text-decoration: none;
}

.dashboard-inbox-count strong {
    color: var(--brand);
    font-size: 13px;
    font-weight: 600;
}

.dashboard-inbox-count > i {
    color: var(--brand);
    font-size: 13px;
}

.dashboard-inbox-count.has-unread {
    background: var(--brand);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .12);
    color: var(--brand-button-text);
}

.dashboard-inbox-count.has-unread > i,
.dashboard-inbox-count.has-unread strong {
    color: var(--brand-button-text);
}

.dashboard-inbox-new-alert {
    align-items: center;
    background: var(--brand);
    border-radius: 999px;
    color: var(--brand-button-text);
    display: inline-flex;
    font-size: 12px;
    font-weight: 600;
    gap: 7px;
    margin-left: 14px;
    padding: 6px 10px;
}

.dashboard-inbox-new-alert[hidden] {
    display: none;
}

.dashboard-inbox-chevron {
    color: #888;
    font-size: 14px;
    margin-left: 12px;
    transition: transform .18s ease;
}

.dashboard-inbox:not([open]) .dashboard-inbox-chevron {
    transform: rotate(180deg);
}

.dashboard-inbox-content {
    border-top: 1px solid #eee;
    padding: 18px 28px 24px;
}

.dashboard-inbox-mode-title {
    align-items: center;
    color: #222;
    display: flex;
    font-size: 16px;
    font-weight: 600;
    gap: 9px;
    margin: 0 0 16px;
}

.dashboard-inbox-mode-title i {
    color: var(--brand);
}

.dashboard-inbox-toolbar {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    min-height: 32px;
}

.dashboard-inbox-toolbar[hidden] {
    display: none !important;
}

.dashboard-inbox-toolbar:empty {
    display: none;
}

.dashboard-inbox-toolbar > span {
    color: #777;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.dashboard-inbox-select-all {
    align-items: center;
    color: #777;
    display: inline-flex;
    font-size: 13px;
    gap: 9px;
    min-height: 32px;
}

.dashboard-inbox-select-all input {
    margin: 0;
}

.dashboard-inbox-selection-delete[hidden] {
    display: inline-flex !important;
    pointer-events: none;
    visibility: hidden;
}

.dashboard-inbox-list {
    display: block;
}

.dashboard-inbox-item {
    background: #fff;
    border: 0;
    border-bottom: 1px solid #eee;
    transition: opacity .18s ease, transform .18s ease, background-color .18s ease;
}

.dashboard-inbox-item[open] {
    background: #f8f8f8;
    border-bottom-color: transparent;
    margin: 10px -12px 16px;
    padding: 0 12px 4px;
}

.dashboard-inbox-item[open] + .dashboard-inbox-item {
    border-top: 1px solid #eee;
}

.dashboard-inbox-item.is-removing,
.superadmin-user-row.is-removing {
    opacity: 0;
    transform: translateX(10px);
    transition: opacity .18s ease, transform .18s ease;
}

.dashboard-inbox-item summary {
    align-items: center;
    cursor: pointer;
    display: grid;
    gap: 14px;
    grid-template-columns: 28px minmax(220px, 280px) minmax(160px, 230px) minmax(0, 1fr) auto;
    list-style: none;
    padding: 12px 0;
}

.dashboard-inbox-check {
    grid-column: 1;
    justify-self: center;
}

.dashboard-inbox-person {
    align-items: center;
    display: flex;
    gap: 12px;
    grid-column: 2;
    min-width: 0;
    overflow: hidden;
}

.dashboard-inbox-avatar {
    align-items: center;
    background: var(--brand-soft);
    border: 1px solid var(--brand-soft-border);
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    flex: 0 0 42px;
    font-size: 15px;
    font-weight: 600;
    height: 42px;
    justify-content: center;
    overflow: hidden;
    width: 42px;
}

.dashboard-inbox-avatar img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.dashboard-inbox-person-text {
    display: block;
    min-width: 0;
    overflow: hidden;
}

.dashboard-inbox-person-text strong,
.dashboard-inbox-person-text small,
.dashboard-inbox-subject,
.dashboard-inbox-preview {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-inbox-person-text strong {
    color: #111;
    display: block;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
}

.dashboard-inbox-person-text small {
    color: #999;
    display: block;
    font-size: 11px;
    line-height: 1.35;
    margin-top: 3px;
}

.dashboard-inbox-subject {
    align-self: start;
    color: #111;
    font-size: 14px;
    font-weight: 700;
    grid-column: 3;
    line-height: 1.25;
    min-width: 0;
    padding-top: 3px;
}

.dashboard-inbox-preview {
    align-self: start;
    color: #999;
    font-size: 13px;
    font-weight: 400;
    grid-column: 4;
    line-height: 1.25;
    padding-top: 3px;
}

.dashboard-inbox-item.is-read .dashboard-inbox-person-text strong,
.dashboard-inbox-item.is-read .dashboard-inbox-subject {
    color: #666;
    font-weight: 400;
}

.dashboard-inbox-item.is-read .dashboard-inbox-preview {
    color: #aaa;
}

.dashboard-inbox-item[open] .dashboard-inbox-preview {
    display: none;
}

.dashboard-inbox-actions {
    align-items: center;
    display: inline-flex;
    grid-column: 5;
    justify-self: end;
}

.dashboard-inbox-row-chevron {
    color: #888;
    display: inline-flex;
    transition: transform .18s ease;
}

.dashboard-inbox-item[open] .dashboard-inbox-row-chevron {
    transform: rotate(180deg);
}

.dashboard-inbox-actions .leden-actieknop {
    background: transparent !important;
    border: 0 !important;
    color: #888 !important;
    height: 28px;
    padding: 0;
    width: 28px;
}

.dashboard-inbox-actions .leden-actieknop:hover,
.dashboard-inbox-actions .leden-actieknop:focus {
    color: var(--brand) !important;
}

.dashboard-inbox-body {
    color: #555;
    display: grid;
    gap: 14px;
    grid-template-columns: 28px minmax(220px, 280px) minmax(160px, 230px) minmax(0, 1fr) auto;
    line-height: 1.55;
    padding: 0 0 22px;
}

.dashboard-inbox-open-card {
    background: #fff;
    border: 1px solid #eee;
    color: #555;
    font-size: 14px;
    grid-column: 2 / 5;
    min-height: 74px;
    padding: 22px 24px;
}

.dashboard-inbox-open-content p {
    margin: 0;
}

.dashboard-inbox-thread-message {
    display: flex;
    gap: 14px;
    padding: 0 0 18px;
}

.dashboard-inbox-thread-message + .dashboard-inbox-thread-message {
    border-top: 1px solid #eee;
    padding-top: 18px;
}

.dashboard-inbox-thread-message:last-child {
    padding-bottom: 0;
}

.dashboard-inbox-thread-avatar {
    flex: 0 0 38px;
    height: 38px;
    width: 38px;
}

.dashboard-inbox-thread-main {
    flex: 1 1 auto;
    min-width: 0;
}

.dashboard-inbox-thread-meta {
    align-items: baseline;
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}

.dashboard-inbox-thread-meta strong {
    color: #111;
    font-size: 14px;
    font-weight: 700;
}

.dashboard-inbox-thread-meta small {
    color: #999;
    font-size: 12px;
}

.dashboard-inbox-body-actions {
    align-items: flex-start;
    display: flex;
    gap: 10px;
    grid-column: 2 / 5;
}

.dashboard-inbox-action-icon {
    align-items: center;
    background: transparent;
    border: 0;
    color: #888;
    cursor: pointer;
    display: inline-flex;
    font-size: 15px;
    height: 28px;
    justify-content: center;
    padding: 0;
    text-decoration: none;
    width: 28px;
}

.dashboard-inbox-action-icon:hover,
.dashboard-inbox-action-icon:focus {
    color: var(--brand);
    outline: none;
    text-decoration: none;
}

.dashboard-inbox-reply {
    grid-column: 2 / 5;
    margin-top: 4px;
}

.dashboard-inbox-reply[hidden] {
    display: none !important;
}

.dashboard-inbox-reply-subject {
    align-items: baseline;
    color: #999;
    display: flex;
    font-size: 12px;
    gap: 8px;
    margin-bottom: 7px;
}

.dashboard-inbox-reply-subject strong {
    color: #555;
    font-size: 13px;
    font-weight: 600;
}

.dashboard-inbox-reply textarea {
    font-size: 14px;
    min-height: 96px;
    resize: vertical;
}

.dashboard-inbox-reply-actions {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}

.dashboard-inbox-empty {
    color: #999;
    font-size: 13px;
    padding: 18px 0;
}

.dashboard-inbox-sent-meta {
    color: #aaa;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    font-size: 11px;
    gap: 2px;
    line-height: 1.35;
    padding: 4px 0 0;
}

.dashboard-inbox-trash-note {
    align-items: center;
    background: #fafafa;
    border: 1px solid #eee;
    color: #777;
    display: flex;
    font-size: 13px;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 18px;
    padding: 12px 14px;
}

.dashboard-compose {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #eee;
    margin-bottom: 18px;
    padding: 0 0 16px;
}

.dashboard-compose[hidden] {
    display: none !important;
}

.dashboard-compose-recipient-field {
    align-items: center;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    cursor: text;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 38px;
    padding: 4px 8px;
    position: relative;
}

.dashboard-compose-token-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
}

.dashboard-compose-token-row:empty {
    display: none;
}

.dashboard-compose-token {
    align-items: center;
    background: #fff;
    border: 1px solid #d8d8d8;
    border-radius: 999px;
    color: #444;
    display: inline-flex;
    font-size: 12px;
    gap: 7px;
    line-height: 1.2;
    padding: 4px 8px;
}

.dashboard-compose-token button {
    background: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    padding: 0;
}

.dashboard-compose-mention-tools {
    margin-bottom: 0;
}

.dashboard-compose-mention-tools .mention-hint {
    display: none;
}

.dashboard-compose-recipient-input {
    border: 0 !important;
    box-shadow: none !important;
    flex: 1 1 180px;
    height: 28px;
    line-height: 20px;
    min-height: 28px;
    min-width: 160px;
    overflow: hidden;
    padding: 4px 0 !important;
    resize: none;
}

.dashboard-compose-recipient-input:focus {
    border: 0 !important;
    box-shadow: none !important;
}

.dashboard-compose-suggestions {
    left: 0;
    top: 28px;
}

@media (max-width: 575.98px) {
    .dashboard-inbox > summary,
    .dashboard-inbox-header {
        align-items: center;
        display: grid;
        gap: 14px 10px;
        grid-template-columns: minmax(0, 1fr) auto;
        padding: 18px;
    }

    .dashboard-inbox h3 {
        font-size: 1.25rem;
        grid-column: 1;
        grid-row: 1;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .dashboard-inbox-header-actions {
        display: grid;
        gap: 8px;
        grid-column: 1 / -1;
        grid-row: 2;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        justify-self: center;
        margin-left: 0;
        max-width: 420px;
        width: 100%;
    }

    .dashboard-inbox-new-alert {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: start;
        margin-left: 0;
    }

    .dashboard-inbox.has-unread .dashboard-inbox-header-actions {
        grid-row: 3;
    }

    .dashboard-inbox-count {
        border-radius: 12px;
        height: 60px;
        justify-content: center;
        padding: 0;
        position: relative;
        width: 100%;
    }

    .dashboard-inbox-count-label {
        display: none;
    }

    .dashboard-inbox-count > i {
        font-size: 22px;
    }

    .dashboard-inbox-count strong {
        align-items: center;
        background: var(--brand);
        border: 2px solid #fff;
        border-radius: 999px;
        color: var(--brand-button-text);
        display: flex;
        font-size: 10px;
        font-weight: 700;
        height: 20px;
        justify-content: center;
        line-height: 1;
        min-width: 20px;
        padding: 0 4px;
        position: absolute;
        right: 5px;
        top: 5px;
    }

    .dashboard-inbox-count.has-unread strong {
        background: #fff;
        border-color: var(--brand);
        color: var(--brand);
    }

    .dashboard-inbox-chevron {
        align-self: center;
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        margin-left: 0;
    }

    .dashboard-inbox-content {
        padding: 18px 18px 22px;
    }

    .dashboard-inbox-trash-note {
        align-items: stretch;
        flex-direction: column;
    }

    .dashboard-inbox-trash-note .btn {
        padding: 10px 12px;
        white-space: normal;
        width: 100%;
    }

    .dashboard-inbox-toolbar {
        align-items: flex-start;
        gap: 12px;
    }

    .dashboard-inbox-item[open] {
        margin: 8px -8px 14px;
        padding: 0 8px 4px;
    }

    .dashboard-inbox-item summary {
        gap: 8px;
        grid-template-columns: 24px minmax(0, 1fr) auto;
    }

    .dashboard-inbox-person {
        grid-column: 2;
    }

    .dashboard-inbox-subject {
        grid-column: 2;
    }

    .dashboard-inbox-preview {
        display: none;
    }

    .dashboard-inbox-actions {
        grid-column: 3;
        grid-row: 1 / span 2;
        justify-content: flex-start;
    }

    .dashboard-inbox-body {
        display: block;
        padding-bottom: 20px;
        padding-left: 32px;
        padding-right: 0;
    }

    .dashboard-inbox-open-card {
        min-height: 72px;
        padding: 18px;
    }

    .dashboard-inbox-body-actions {
        display: flex;
        flex-wrap: wrap;
        margin-top: 12px;
    }

    .dashboard-inbox-reply {
        margin-top: 12px;
    }

}

.panel-narrow {
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}

.auth-panel {
    max-width: 460px;
    padding: 34px;
}

.auth-panel h1 {
    margin-bottom: 26px;
}

.auth-form .form-group {
    margin-bottom: 20px;
}

.auth-form label {
    color: #333;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 8px;
}

.auth-remember {
    margin: 4px 0 24px;
}

.auth-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: space-between;
}

.auth-link {
    color: var(--brand);
    font-size: 13px;
    text-decoration: none;
}

.auth-link:hover,
.auth-link:focus {
    color: var(--brand-hover);
    text-decoration: underline;
}

.panel h1 {
    margin-top: 0;
    color: #000;
    font-size: 1.25rem;
    font-weight: 600;
}

.grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 30px;
}

.card {
    display: block;
    min-height: 124px;
    padding: 30px;
    background: #fff;
    border: 1px solid #eee;
    color: #111;
    text-decoration: none;
    box-shadow: 0 10px 6px -6px rgba(0, 0, 0, .2);
}

.card:hover,
.card:focus {
    color: #111;
    text-decoration: none;
}

.card-icon {
    display: inline-block;
    margin-bottom: 20px;
    font-size: 32px;
    line-height: 1;
}

.card h2 {
    margin: 0;
    color: #000;
    font-size: 1.25rem;
    font-weight: 600;
}

.card p {
    margin-top: 8px;
    margin-bottom: 0;
}

.form-row {
    margin-bottom: 1rem;
}

.form-row label {
    display: block;
    margin-bottom: .5rem;
    color: #555;
    font-weight: 400;
}

.form-row input,
.form-row select,
.form-row textarea {
    display: block;
    width: 100%;
    min-height: calc(1.5em + .75rem + 2px);
    padding: .375rem .75rem;
    border: 1px solid #ccc;
    background: #fff;
    color: #555;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus {
    border-color: var(--brand);
    outline: 0;
    box-shadow: none;
}

.form-row input::placeholder,
.form-row textarea::placeholder {
    color: inherit;
    opacity: .5;
}

.form-row input:disabled,
.form-row select:disabled,
.form-row textarea:disabled,
.form-row input[readonly],
.form-row select[readonly],
.form-row textarea[readonly] {
    background-color: #e9ecef;
    color: #6c757d;
}

.form-row input[type="search"] {
    max-width: 420px;
}

.button,
.icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    border: 1px solid var(--brand);
    color: var(--brand-button-text);
    background: var(--brand);
    font: inherit;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 1.2;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: color .15s ease, background-color .15s ease, border-color .15s ease;
}

.button {
    padding: 9px 20px;
}

.button:hover,
.button:focus,
.icon-button-primary:hover,
.icon-button-primary:focus {
    border-color: var(--brand-hover) !important;
    background: var(--brand-hover) !important;
    color: var(--brand-button-text);
    outline: 0;
    text-decoration: none;
}

.button-secondary,
.icon-button {
    background: #fff;
    color: var(--brand);
}

.button-secondary:hover,
.button-secondary:focus,
.icon-button:hover,
.icon-button:focus {
    background: var(--brand);
    color: var(--brand-button-text);
    outline: 0;
    text-decoration: none;
}

.sr-only {
    clip: rect(0, 0, 0, 0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.profile-photo-editor {
    align-items: flex-start;
    display: inline-flex;
    flex-direction: column;
    gap: 7px;
}

.profile-photo-editor__frame {
    display: inline-flex;
    position: relative;
}

.profile-photo-editor__preview {
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    margin: 0;
    position: relative;
}

.profile-photo-editor__preview::before,
.profile-photo-editor__preview::after {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transition: opacity .18s ease, transform .18s ease;
    z-index: 5;
}

.profile-photo-editor__preview::before {
    background: rgba(34, 34, 34, .84);
    border-radius: 4px;
    color: #fff;
    content: attr(data-tooltip);
    font-size: 11px;
    font-weight: 400;
    left: calc(100% + 10px);
    line-height: 1.25;
    padding: 4px 7px;
    top: 50%;
    transform: translate(-2px, -50%);
    white-space: nowrap;
}

.profile-photo-editor__preview::after {
    border-color: transparent rgba(34, 34, 34, .84) transparent transparent;
    border-style: solid;
    border-width: 4px 4px 4px 0;
    content: "";
    left: calc(100% + 6px);
    top: 50%;
    transform: translate(-2px, -50%);
}

.profile-photo-editor__preview:hover::before,
.profile-photo-editor__preview:hover::after {
    opacity: .96;
    transform: translate(0, -50%);
}

.profile-photo-editor__avatar {
    align-items: center;
    background: var(--brand-soft);
    border: 1px solid var(--brand-soft-border);
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    font-size: 28px;
    font-weight: 500;
    height: 86px;
    justify-content: center;
    overflow: hidden;
    width: 86px;
}

.profile-photo-editor__avatar img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.profile-photo-editor__camera {
    align-items: center;
    background: var(--brand);
    border: 2px solid #fff;
    border-radius: 50%;
    bottom: 2px;
    color: var(--brand-button-text);
    display: inline-flex;
    font-size: 13px;
    height: 28px;
    justify-content: center;
    position: absolute;
    right: 2px;
    transition: background-color .18s ease, transform .18s ease;
    width: 28px;
}

.profile-photo-editor__preview:hover .profile-photo-editor__camera,
.profile-photo-editor__preview:focus-within .profile-photo-editor__camera {
    background: var(--brand-hover);
    transform: scale(1.05);
}

.profile-photo-editor__file,
.profile-photo-editor__remove input {
    opacity: 0;
    pointer-events: none;
    position: absolute;
}

.profile-photo-editor__meta {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.profile-photo-editor__meta strong {
    color: #222;
    font-size: 14px;
    font-weight: 500;
}

.profile-photo-editor__meta .muted {
    font-size: 12px;
    line-height: 1.4;
}

.profile-photo-editor__remove {
    cursor: pointer;
    display: inline-flex;
    left: 2px;
    margin: 0;
    position: absolute;
    top: 2px;
    z-index: 2;
}

.profile-photo-editor__remove[hidden] {
    display: none;
}

.profile-photo-editor__remove span {
    align-items: center;
    background: rgba(255, 255, 255, .95);
    border: 1px solid var(--brand-soft-border);
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    font-size: 12px;
    font-weight: 500;
    height: 28px;
    justify-content: center;
    min-height: 28px;
    padding: 0;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
    width: 28px;
}

.profile-photo-editor__remove:hover span,
.profile-photo-editor__remove:focus-within span,
.profile-photo-editor__remove input:checked + span {
    background: var(--brand);
    border-color: var(--brand);
    color: var(--brand-button-text);
}

.profile-photo-editor__status {
    font-size: 12px;
    line-height: 1.4;
}

.profile-photo-editor__status[hidden] {
    display: none;
}

.profile-photo-remove-button {
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    margin-bottom: 0;
}

.profile-photo-remove-button input {
    opacity: 0;
    pointer-events: none;
    position: absolute;
}

.profile-photo-remove-button span {
    align-items: center;
    background: #fff;
    border: 1px solid var(--brand);
    border-radius: 4px;
    color: var(--brand);
    display: inline-flex;
    font-size: 13px;
    font-weight: 500;
    min-height: 34px;
    padding: 6px 11px;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.profile-photo-remove-button:hover span,
.profile-photo-remove-button:focus-within span,
.profile-photo-remove-button input:checked + span {
    background: var(--brand);
    border-color: var(--brand);
    color: var(--brand-button-text);
}

.button-danger {
    border-color: var(--brand-danger) !important;
    background: var(--brand-danger);
    color: #fff !important;
}

.button-danger:hover,
.button-danger:focus {
    border-color: var(--brand-danger-hover) !important;
    background: var(--brand-danger-hover);
    color: #fff !important;
}

.icon-button {
    width: 38px;
    height: 38px;
    padding: 0;
    font-size: 15px;
}

.icon-button-primary {
    background: var(--brand);
    color: var(--brand-button-text);
}

.alert {
    margin-bottom: 18px;
    padding: 13px 15px;
    border: 0 !important;
    border-left: 4px solid var(--brand) !important;
    background: var(--brand-soft) !important;
    color: #555 !important;
    transition: opacity .35s ease, transform .35s ease;
}

.alert-success,
.alert-info {
    border-left-color: var(--brand) !important;
    background: var(--brand-soft) !important;
    color: #555 !important;
}

.alert a,
.alert-success a,
.alert-info a {
    color: var(--brand) !important;
    font-weight: 600;
}

.alert-error,
.alert-danger {
    border-left-color: var(--brand-danger) !important;
    background: var(--brand-danger-soft) !important;
    color: #555 !important;
}

.alert.is-dismissing {
    opacity: 0;
    transform: translateY(-4px);
}

.muted {
    color: #777;
    font-size: 13px;
}

.superadmin-panel .document-search {
    max-width: none;
}

.superadmin-page {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
}

.superadmin-user-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.superadmin-user-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    border: 1px solid #eee;
    background: #fff;
}

.superadmin-user-info {
    min-width: 0;
}

.superadmin-user-info strong {
    display: block;
    color: #222;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.25;
}

.superadmin-user-info small {
    display: block;
    margin-top: 3px;
}

.superadmin-user-badge {
    display: inline-flex;
    align-items: center;
    margin-top: 7px;
    padding: 2px 7px;
    border: 1px solid var(--brand-border);
    border-radius: 4px;
    background: var(--brand-soft);
    color: var(--brand);
    font-size: 11px;
    line-height: 1.3;
}

.superadmin-user-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
}

@media (max-width: 767px) {
    .superadmin-user-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .superadmin-user-actions {
        justify-content: flex-start;
        width: 100%;
    }
}

.search-context {
    display: block;
    margin-top: 4px;
    color: #aaa;
    font-size: 12px;
    line-height: 1.35;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.page-actions {
    justify-content: space-between;
    margin-bottom: 20px;
}

.search-row {
    max-width: 420px;
    margin-bottom: 25px;
}

.inline-add-form {
    display: grid;
    grid-template-columns: minmax(0, 420px) 38px;
    align-items: end;
    gap: 12px;
    max-width: 470px;
    margin-bottom: 22px;
}

.inline-add-form .form-row {
    margin-bottom: 0;
}

.member-list {
    display: grid;
    gap: 42px;
    margin-top: 22px;
}

.member-search-heading {
    align-items: baseline;
    border-bottom: 1px solid var(--brand);
    display: flex;
    gap: 10px;
    justify-content: space-between;
    padding-bottom: 12px;
}

.member-search-heading[hidden] {
    display: none;
}

.member-search-heading h4 {
    color: #111;
    font-size: 16px;
    font-weight: 600;
    margin: 0;
}

.member-list.is-searching {
    gap: 12px;
}

.member-list.is-searching .member-group {
    display: contents;
}

.member-list.is-searching .member-group[hidden] {
    display: none;
}

.member-list.is-searching .member-group-header {
    display: none;
}

.member-list.is-searching .member-accordion {
    margin-top: 0;
}

.member-group {
    display: grid;
    gap: 12px;
}

.member-group + .member-group {
    margin-top: 48px;
}

.member-group-header {
    align-items: center;
    border-bottom: 1px solid var(--brand);
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding-bottom: 12px;
}

.member-group-print-actions {
    display: inline-flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 7px;
    justify-content: flex-end;
}

.member-group-icon-button {
    align-items: center;
    display: inline-flex !important;
    height: 34px;
    justify-content: center;
    min-width: 34px;
    padding: 0 !important;
    width: 34px;
}

.member-group-icon-button i {
    margin-right: 0 !important;
}

.member-print-menu {
    display: inline-block;
    position: relative;
}

.member-print-menu > summary {
    align-items: center;
    display: inline-flex;
    list-style: none;
}

.member-print-menu > summary::-webkit-details-marker {
    display: none;
}

.member-print-menu > summary::after {
    content: "\f107";
    font-family: FontAwesome;
    font-size: 12px;
    margin-left: 8px;
}

.member-print-menu > summary.member-group-icon-button::after {
    display: none;
}

.member-print-menu-options {
    background: #fff;
    border: 1px solid #eee;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .08);
    min-width: 132px;
    padding: 6px;
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    z-index: 30;
}

.member-print-menu-options a {
    color: #555;
    display: block;
    font-size: 13px;
    padding: 8px 10px;
    text-decoration: none;
}

.member-print-menu-options a:hover,
.member-print-menu-options a:focus {
    background: var(--brand-soft);
    color: var(--brand);
    text-decoration: none;
}

.member-group-title {
    color: #111;
    font-size: 16px;
    font-weight: 600;
    margin: 0;
}

.leden-zoekveld {
    max-width: 420px;
}

.leden-actieknop {
    align-items: center;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    line-height: 1;
    min-width: 38px;
    padding-left: 0;
    padding-right: 0;
    width: 38px;
}

.leden-actieknop .fa {
    margin: 0;
}

.member-accordion {
    border: 1px solid #eee;
    background: #fff;
    overflow-anchor: none;
}

.member-accordion + .member-accordion {
    margin-top: 12px;
}

.member-accordion summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 15px;
    cursor: pointer;
    list-style: none;
    min-width: 0;
}

.member-accordion:focus,
.member-accordion:focus-visible,
.member-accordion > summary:focus,
.member-accordion > summary:focus-visible {
    box-shadow: none !important;
    outline: 0 !important;
}

.member-accordion > summary:focus-visible {
    background: var(--brand-soft);
}

.member-type-choice {
    margin-bottom: 18px;
}

.member-type-choice .check-line {
    margin-right: 18px;
}

.member-sort-handle {
    align-items: center;
    background: var(--brand);
    border-radius: 50%;
    color: #fff;
    cursor: grab;
    display: inline-flex;
    flex: 0 0 32px;
    font-size: 13px;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.member-sort-handle:active {
    cursor: grabbing;
}

.member-mobile-order-actions {
    display: none;
}

.member-mobile-order-button {
    align-items: center;
    background: #fff;
    border: 1px solid var(--brand);
    color: var(--brand);
    cursor: pointer;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    line-height: 1;
    padding: 0;
    width: 30px;
}

.member-mobile-order-button:disabled {
    cursor: default;
    opacity: .3;
}

.member-accordion.is-dragging {
    opacity: .55;
}

.member-contact-avatar {
    align-items: center;
    background: var(--brand-soft);
    border: 1px solid var(--brand-soft-border);
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    flex: 0 0 38px;
    font-weight: 600;
    height: 38px;
    justify-content: center;
    overflow: hidden;
    width: 38px;
}

.member-contact-avatar img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.member-contact-avatar-large {
    flex: 0 0 82px;
    font-size: 28px;
    height: 82px;
    width: 82px;
}

.account-photo-card {
    align-items: center;
    border-bottom: 1px solid #eee;
    display: flex;
    gap: 18px;
    margin-bottom: 24px;
    padding-bottom: 22px;
}

.account-photo-fields {
    flex: 1 1 auto;
    min-width: 0;
}

.account-photo-fields label:first-child {
    display: block;
    margin-bottom: 8px;
}

.member-photo-trigger {
    border-radius: 50%;
    display: inline-flex;
    flex: 0 0 auto;
    position: relative;
}

.member-photo-trigger[aria-disabled="false"] {
    cursor: pointer;
}

.member-photo-static {
    cursor: pointer;
}

.member-photo-static::after {
    display: none !important;
}

.member-photo-trigger[aria-disabled="false"]:hover .member-contact-avatar,
.member-photo-trigger[aria-disabled="false"]:focus .member-contact-avatar {
    box-shadow: 0 0 0 3px var(--brand-soft-border);
}

.member-photo-trigger[aria-disabled="false"]::after {
    align-items: center;
    background: var(--brand);
    border-radius: 50%;
    bottom: 2px;
    color: #fff;
    content: "\f002";
    display: inline-flex;
    font-family: FontAwesome;
    font-size: 9px;
    height: 20px;
    justify-content: center;
    opacity: .9;
    position: absolute;
    right: 2px;
    transform: translateY(0);
    transition: opacity .18s ease, transform .18s ease, background-color .18s ease;
    width: 20px;
}

.member-photo-trigger[aria-disabled="false"]:hover::after,
.member-photo-trigger[aria-disabled="false"]:focus::after {
    opacity: 1;
    transform: translateY(0);
}

.member-summary-main {
    flex: 1 1 auto;
    margin-right: auto;
    min-width: 0;
}

.member-summary-main strong {
    display: block;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.member-summary-categories {
    display: none;
}

.member-list.is-searching .member-summary-categories {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 6px;
}

.member-summary-categories > span {
    background: var(--brand-soft);
    border: 1px solid var(--brand-soft-border);
    color: var(--brand);
    font-size: 11px;
    line-height: 1.2;
    padding: 4px 7px;
    white-space: nowrap;
}

.member-summary-contact-person {
    color: #777;
    display: block;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.35;
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.member-status-icons {
    align-items: center;
    color: var(--brand) !important;
    display: inline-flex !important;
    flex: 0 0 auto;
    gap: 8px;
    margin-left: 22px !important;
    vertical-align: 1px;
}

.member-status-icons .member-status-icon,
.member-status-icons > i.member-status-icon,
i.member-status-icon.member-user-icon,
i.member-status-icon.member-admin-icon,
i.member-status-icon.member-superadmin-icon {
    color: var(--brand) !important;
    display: inline-block;
    font-size: 12px;
    line-height: 1;
    margin: 0 !important;
    opacity: .95;
    text-align: center;
    width: 12px;
}

.member-status-icons .member-status-icon::before {
    color: var(--brand) !important;
}

.member-invite-status {
    color: #aaa;
    flex: 0 0 auto;
    font-size: 13px;
    line-height: 1;
    margin-left: 10px;
}

.member-invite-status:hover {
    color: var(--brand);
}

.member-contact-actions {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    max-width: 100%;
}

.member-contact-actions[hidden] {
    display: none !important;
}

.member-contact-action {
    align-items: center;
    background: var(--brand);
    border: 1px solid var(--brand);
    border-radius: 999px;
    color: var(--brand-button-text);
    display: inline-flex;
    justify-content: center;
    height: 44px;
    min-height: 44px;
    min-width: 44px;
    padding: 0;
    text-decoration: none;
    transition: background-color .18s ease, border-color .18s ease, opacity .18s ease;
    width: 44px;
}

.member-contact-action:hover,
.member-contact-action:focus {
    color: var(--brand-button-text);
    opacity: .88;
    text-decoration: none;
}

.member-contact-action i {
    color: var(--brand-button-text);
    font-size: 18px;
}

.member-contact-card {
    align-items: flex-start;
    border-bottom: 1px solid #eee;
    cursor: pointer;
    display: flex;
    gap: 18px;
    margin-bottom: 18px;
    max-width: 100%;
    padding-bottom: 18px;
}

.member-contact-card-body {
    display: grid;
    flex: 1 1 auto;
    gap: 8px;
    min-width: 0;
}

.member-contact-card-body > strong {
    color: #222;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.25;
}

.member-contact-person {
    display: block;
    line-height: 1.35;
    margin-top: -4px;
}

.member-contact-card a,
.member-contact-card button,
.member-contact-card form,
.member-contact-card .member-photo-trigger {
    cursor: auto;
}

.member-contact-card .member-contact-action {
    cursor: pointer;
}

.member-contact-manage-actions {
    border-top: 1px solid #eee;
    gap: 8px;
    justify-content: center;
    margin: 18px 0 0;
    padding-top: 16px !important;
}

.member-current-photo {
    margin-bottom: 8px;
}

.member-photo-modal[hidden] {
    display: none;
}

.member-photo-modal {
    align-items: center;
    background: rgba(0, 0, 0, .76);
    bottom: 0;
    display: flex;
    justify-content: center;
    left: 0;
    padding: 24px;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1000002;
    cursor: pointer;
}

.member-photo-modal-content {
    align-items: center;
    color: #fff;
    display: grid;
    justify-items: center;
    max-height: 94vh;
    max-width: 96vw;
    width: 96vw;
}

.member-photo-modal-content img {
    background: transparent;
    border-radius: 4px;
    box-shadow: 0 18px 58px rgba(0, 0, 0, .28);
    display: block;
    height: 94vh;
    max-height: 94vh;
    max-width: 100%;
    object-fit: contain;
    width: 100%;
    cursor: default;
}

@media (min-width: 1600px) {
    .member-photo-modal {
        padding: 18px;
    }

    .member-photo-modal-content {
        max-height: 96vh;
        max-width: 98vw;
        width: 98vw;
    }

    .member-photo-modal-content img {
        height: 96vh;
        max-height: 96vh;
    }
}

.member-photo-modal-close {
    align-items: center;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    position: absolute;
    right: 18px;
    top: 18px;
    width: 38px;
}

.member-photo-modal-close:hover,
.member-photo-modal-close:focus {
    background: rgba(255, 255, 255, .16);
}

body.member-photo-modal-open {
    overflow: hidden;
}

.member-accordion > summary::-webkit-details-marker {
    display: none;
}

.member-accordion > summary::after {
    content: "\f078";
    color: var(--brand);
    flex: 0 0 auto;
    font-family: FontAwesome;
    font-size: 12px;
}

.member-accordion[open] > summary::after {
    content: "\f077";
}

.member-card-accordion[open] > summary {
    border-bottom: 1px solid #f7f7f7;
}

.member-card-accordion[open] .member-contact-card > .member-photo-trigger,
.member-card-accordion[open] .member-contact-card-body > strong,
.member-card-accordion[open] .member-contact-card-body > small {
    display: none;
}

.member-card-accordion[open] .member-contact-card {
    display: block;
}

.member-card-accordion[open] .member-contact-card-body {
    display: block;
}

.member-card-accordion,
.member-card-accordion > .member-view,
.member-card-accordion > .member-edit-form {
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
}

.member-tool-panel:not([open]) {
    display: none;
}

.member-tool-panel {
    margin-bottom: 12px;
}

.member-tool-panel > summary {
    display: none;
}

.member-accordion strong,
.member-accordion small {
    display: block;
}

.member-accordion strong {
    color: #000;
    font-weight: 600;
}

.member-form {
    padding: 15px;
}

.member-view {
    position: relative;
}

.member-view-actions {
    margin-bottom: 0;
}

.member-edit-form {
    border-top: 1px solid #eee;
    margin-top: 0;
}

.member-edit-heading {
    align-items: center;
    border-bottom: 1px solid #eee;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    margin-bottom: 18px;
    padding-bottom: 14px;
}

.member-edit-heading > div,
.member-editor-modal-heading > div {
    min-width: 0;
}

.member-editor-modal-heading {
    align-items: center;
    border-bottom: 1px solid #e8eded;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin: -2px 0 18px;
    padding-bottom: 14px;
}

.member-editor-modal-heading strong,
.member-editor-modal-heading small {
    display: block;
}

.member-editor-modal-close {
    align-items: center;
    background: var(--brand-soft);
    border: 0;
    border-radius: 50%;
    color: var(--brand);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 36px;
    height: 36px;
    justify-content: center;
    outline: 0;
    padding: 0;
    width: 36px;
}

.member-editor-modal-close:hover,
.member-editor-modal-close:focus {
    background: #e4eff0;
    box-shadow: none;
    outline: 0;
}

.member-editor-backdrop {
    background: rgba(15, 24, 27, .42);
    inset: 0;
    position: fixed;
    z-index: 1190;
}

.member-editor-backdrop[hidden] {
    display: none;
}

.member-editor-form.is-member-editor-modal {
    background: #fff;
    border: 0 !important;
    box-shadow: 0 18px 55px rgba(0, 0, 0, .2);
    left: 50%;
    margin: 0;
    max-height: calc(100vh - 60px);
    max-width: 1080px;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 24px;
    position: fixed;
    top: 30px;
    transform: translateX(-50%);
    width: calc(100vw - 40px);
    z-index: 1200;
}

body.member-editor-modal-open {
    overflow: hidden;
}

body.member-editor-modal-open .member-card-accordion.is-editing > .member-view {
    display: block;
}

.admin-confirm-overlay {
    align-items: center;
    background: rgba(255, 255, 255, .88);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 22px;
    position: fixed;
    z-index: 1000003;
}

.admin-confirm-overlay[hidden] {
    display: none;
}

.admin-confirm-dialog {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .07);
    box-shadow: 0 18px 55px rgba(0, 0, 0, .14);
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 410px;
    padding: 28px 34px 24px;
    position: relative;
    text-align: center;
    width: 100%;
}

.admin-confirm-icon {
    align-items: center;
    background: var(--brand-danger-soft);
    border-radius: 50%;
    color: var(--brand-danger);
    display: flex;
    font-size: 18px;
    height: 44px;
    justify-content: center;
    margin-bottom: 3px;
    width: 44px;
}

.admin-confirm-copy {
    min-width: 0;
    width: 100%;
}

.admin-confirm-copy h2 {
    color: #222;
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 5px;
}

.admin-confirm-copy p {
    color: #686f73;
    font-size: 13px;
    line-height: 1.55;
    margin: 0;
    overflow-wrap: anywhere;
}

.admin-confirm-close {
    align-items: center;
    background: #f4f6f6;
    border: 0;
    border-radius: 50%;
    color: #7e8589;
    cursor: pointer;
    display: flex;
    height: 34px;
    justify-content: center;
    outline: 0;
    padding: 0;
    position: absolute;
    right: 14px;
    top: 14px;
    width: 34px;
}

.admin-confirm-close:hover,
.admin-confirm-close:focus {
    background: var(--brand-soft);
    border: 0 !important;
    box-shadow: none !important;
    color: var(--brand);
    outline: 0 !important;
}

.admin-confirm-close:focus-visible {
    border: 0 !important;
    box-shadow: 0 0 0 2px var(--brand-soft-border) !important;
    outline: 0 !important;
}

.admin-confirm-actions {
    display: flex;
    gap: 9px;
    justify-content: center;
    padding-top: 12px;
    width: 100%;
}

body.admin-confirm-open {
    overflow: hidden;
}

/* Globale snelzoeker */
.va-global-search-trigger {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--header-link-color);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    gap: 6px;
    text-transform: uppercase;
}

.va-global-search-trigger:hover,
.va-global-search-trigger:focus {
    background: transparent;
    color: var(--header-link-hover);
    outline: 0;
}

.va-global-search-trigger:focus-visible {
    box-shadow: 0 0 0 2px rgba(255, 255, 255, .28);
}

.va-global-search-trigger-label { display: none; }
.va-global-search-shortcut {
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 3px;
    color: inherit;
    font-family: inherit;
    font-size: 9px;
    font-weight: 500;
    line-height: 1;
    padding: 3px 4px;
    text-transform: none;
}

body.va-global-search-open { overflow: hidden; }
.va-global-search-overlay { background: rgba(246, 248, 249, .94); }
.va-global-search-dialog {
    align-items: stretch;
    gap: 0;
    max-height: min(760px, calc(100dvh - 44px));
    max-width: 780px;
    overflow: hidden;
    padding: 0;
    text-align: left;
}

.va-global-search-header {
    align-items: center;
    border-bottom: 1px solid #eceff1;
    display: grid;
    gap: 13px;
    grid-template-columns: 44px minmax(0, 1fr) 34px;
    padding: 22px 24px 17px;
}

.va-global-search-header .admin-confirm-icon {
    background: var(--brand-soft);
    color: var(--brand);
    margin: 0;
}

.va-global-search-header .admin-confirm-copy h2 { font-size: 20px; }
.va-global-search-header .admin-confirm-close {
    position: static;
}

.va-global-search-form {
    align-items: center;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 42px;
    margin: 18px 24px 0;
    position: relative;
}

.va-global-search-form input {
    appearance: none;
    background: #fff;
    border: 1px solid #cfd6d9;
    border-radius: 0;
    color: #232729;
    font-family: inherit;
    font-size: 17px;
    grid-column: 1 / -1;
    grid-row: 1;
    height: 50px;
    min-width: 0;
    padding: 0 45px 0 44px;
    width: 100%;
}

.va-global-search-form input::-webkit-search-cancel-button { display: none; }
.va-global-search-form input:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 2px var(--brand-soft);
    outline: 0;
}

.va-global-search-input-icon {
    color: #8a9195;
    grid-column: 1;
    grid-row: 1;
    justify-self: center;
    pointer-events: none;
    position: relative;
    z-index: 1;
}

.va-global-search-clear {
    align-items: center;
    align-self: center;
    background: transparent;
    border: 0;
    color: #81888c;
    cursor: pointer;
    display: flex;
    grid-column: 3;
    grid-row: 1;
    height: 34px;
    justify-content: center;
    justify-self: center;
    padding: 0;
    position: relative;
    width: 34px;
    z-index: 1;
}

.va-global-search-clear:hover { color: var(--brand); }
.va-global-search-clear:focus { box-shadow: none; outline: 0; }
.va-global-search-clear:focus-visible { box-shadow: 0 0 0 2px var(--brand-soft-border); }
.va-global-search-status {
    color: #7c8387;
    font-size: 12px;
    min-height: 35px;
    padding: 9px 25px 8px;
}
.va-global-search-status.is-loading::before {
    animation: va-global-search-spin .8s linear infinite;
    color: var(--brand);
    content: "\f110";
    display: inline-block;
    font-family: FontAwesome;
    margin-right: 7px;
}
.va-global-search-status.is-error { color: var(--brand-danger); }
.va-global-search-status.is-success { color: #6f777b; }
@keyframes va-global-search-spin { to { transform: rotate(360deg); } }

.va-global-search-results {
    min-height: 120px;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0 24px 18px;
}

.va-global-search-group + .va-global-search-group { margin-top: 18px; }
.va-global-search-group h3 {
    align-items: center;
    color: #737b7f;
    display: flex;
    font-size: 11px;
    font-weight: 700;
    gap: 7px;
    letter-spacing: .04em;
    margin: 0 0 6px;
    text-transform: uppercase;
}
.va-global-search-group h3 i { color: var(--brand); width: 13px; }
.va-global-search-result {
    align-items: center;
    border: 1px solid transparent;
    color: #25292b;
    display: grid;
    gap: 12px;
    grid-template-columns: 38px minmax(0, 1fr) 18px;
    min-height: 68px;
    padding: 9px 11px;
    text-decoration: none;
}
.va-global-search-result + .va-global-search-result { border-top-color: #edf0f1; }
.va-global-search-result:hover,
.va-global-search-result.is-selected {
    background: var(--brand-soft);
    border-color: var(--brand-soft-border);
    color: #222;
    text-decoration: none;
}
.va-global-search-result-icon {
    align-items: center;
    background: #f1f5f6;
    border-radius: 50%;
    color: var(--brand);
    display: flex;
    height: 36px;
    justify-content: center;
    width: 36px;
}
.va-global-search-result-copy { display: flex; min-width: 0; flex-direction: column; }
.va-global-search-result-path {
    color: var(--brand);
    font-size: 10px;
    font-weight: 600;
    line-height: 1.25;
    margin-bottom: 2px;
}
.va-global-search-result-copy strong {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
}
.va-global-search-result-preview {
    color: #757d81;
    font-size: 12px;
    line-height: 1.35;
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.va-global-search-result-arrow { color: #a1a7aa; justify-self: center; }
.va-global-search-result:hover .va-global-search-result-arrow,
.va-global-search-result.is-selected .va-global-search-result-arrow { color: var(--brand); }
.va-global-search-help {
    align-items: center;
    background: #f7f9f9;
    border-top: 1px solid #edf0f1;
    color: #858c90;
    display: flex;
    font-size: 10px;
    gap: 18px;
    min-height: 38px;
    padding: 7px 24px;
}
.va-global-search-help span { align-items: center; display: inline-flex; gap: 4px; }
.va-global-search-help kbd {
    background: #fff;
    border: 1px solid #d9dfe1;
    border-radius: 3px;
    box-shadow: 0 1px 0 rgba(0, 0, 0, .04);
    color: #666e72;
    font-family: inherit;
    font-size: 9px;
    line-height: 1;
    padding: 3px 5px;
}

@media (max-width: 991px) {
    .va-global-search-trigger {
        justify-content: flex-start;
        padding-left: 0 !important;
        width: 100%;
    }
    .va-global-search-trigger-label { display: inline; }
    .va-global-search-shortcut { display: none; }
}

@media (max-width: 575px) {
    body .admin-confirm-overlay.va-global-search-overlay { padding: 0; }
    body .admin-confirm-overlay.va-global-search-overlay .admin-confirm-dialog.va-global-search-dialog {
        border-radius: 0;
        height: 100dvh;
        max-height: none;
        max-width: none;
        padding: 0;
    }
    .va-global-search-header { padding: 17px 16px 14px; }
    .va-global-search-header .admin-confirm-copy h2 { font-size: 18px; }
    .va-global-search-header .admin-confirm-copy p { font-size: 12px; }
    .va-global-search-form { margin: 14px 14px 0; }
    .va-global-search-form input { font-size: 16px; height: 48px; }
    .va-global-search-status { padding-left: 15px; padding-right: 15px; }
    .va-global-search-results { padding: 0 14px 14px; }
    .va-global-search-result { gap: 10px; padding: 9px 7px; }
    .va-global-search-result-preview { white-space: normal; }
    .va-global-search-help { display: none; }
}

/* Globale zoekpagina */
.va-global-search-nav {
    align-items: center;
    display: flex;
}

.va-global-search-nav .va-global-search-trigger {
    align-items: center;
    display: inline-flex;
    font-size: 15px;
    justify-content: center;
    min-height: 30px;
    min-width: 30px;
}

.va-search-page {
    min-height: 52vh;
}

.va-search-shell {
    margin: 0;
    max-width: none;
}

.va-search-shell .va-search-form {
    align-items: stretch;
    display: flex;
    margin: 0;
    position: relative;
}

.va-search-shell .va-search-form input {
    background: #fff;
    color: #22282b;
    font-size: 14px;
    height: calc(2.25rem + 2px);
    line-height: 1.5;
    padding: .375rem .75rem;
}

.va-search-shell .va-search-form input::-webkit-search-cancel-button {
    display: none;
}

.va-search-shell .va-search-form input:focus {
    border-color: var(--brand);
    box-shadow: none;
    outline: 0;
}

.va-search-shell .va-global-search-status {
    color: #626a6e;
    font-size: 13px;
    min-height: 30px;
    padding: 8px 2px 6px;
}

.va-search-shell .va-global-search-status:empty {
    display: none;
}

.va-search-shell .va-global-search-status.is-loading::before {
    animation: va-global-search-spin .8s linear infinite;
    color: var(--brand);
    content: "\f110";
    display: inline-block;
    font-family: FontAwesome;
    margin-right: 7px;
}

.va-search-shell .va-global-search-status.is-error { color: var(--brand-danger); }
.va-search-shell .va-global-search-status.is-success { color: #6f777b; }

.va-search-shell .va-global-search-results {
    min-height: 0;
    overflow: visible;
    padding: 0;
}

.va-search-shell .va-global-search-group {
    display: grid;
    gap: 12px;
}

.va-search-shell .va-global-search-group + .va-global-search-group {
    margin-top: 64px;
}

.va-search-shell .va-global-search-group h2 {
    color: #222;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.3;
    margin: 0;
    padding: 0;
    text-transform: none;
}

.va-search-shell .va-global-search-result {
    background: #fff;
    border: 1px solid #eee;
    color: #24292b;
    display: block;
    gap: 0;
    min-height: 76px;
    padding: 0;
    transition: border-color .16s ease, background-color .16s ease;
}

.va-search-shell .va-global-search-result:hover,
.va-search-shell .va-global-search-result.is-selected,
.va-search-shell .va-global-search-result.is-open {
    background: transparent;
    border-color: var(--brand-soft-border);
    color: #202527;
}

.va-search-shell .va-global-search-result-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
    display: grid;
    gap: 15px;
    grid-template-columns: 34px minmax(0, 1fr) 14px;
    min-height: 74px;
    padding: 15px 18px;
    text-align: left;
    width: 100%;
}

.va-search-shell .va-global-search-result-toggle:focus {
    box-shadow: none;
    outline: 0;
}

.va-search-shell .va-global-search-result-toggle:focus-visible {
    box-shadow: inset 0 0 0 2px var(--brand-soft-border);
}

.va-search-shell .va-global-search-result-icon {
    background: var(--brand);
    color: var(--brand-button-text);
    height: 34px;
    width: 34px;
}

.va-search-shell .va-global-search-result-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.va-search-shell .va-global-search-result-path {
    color: var(--brand);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.45;
    margin-bottom: 7px;
}

.va-search-shell .va-global-search-result-copy strong {
    color: #111;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.4;
}

.va-search-shell .va-global-search-result:hover strong,
.va-search-shell .va-global-search-result.is-selected strong {
    color: #111;
    text-decoration: none;
}

.va-search-shell .va-global-search-result-preview {
    color: #687176;
    display: block;
    font-size: 14px;
    line-height: 1.5;
    margin-top: 5px;
    overflow: hidden;
    white-space: nowrap;
}

.va-search-shell .va-global-search-result.is-open .va-global-search-result-preview {
    display: none;
}

.va-search-shell .va-global-search-result-arrow {
    color: var(--brand);
    justify-self: end;
    transition: transform .16s ease;
}

.va-search-shell .va-global-search-result.is-open .va-global-search-result-arrow {
    transform: rotate(180deg);
}

.va-search-shell .va-global-search-result-detail {
    border-top: 1px solid #edf0f1;
    margin: 0 18px 15px 67px;
    padding-top: 14px;
}

.va-search-shell .va-global-search-result-detail-preview {
    color: #4f585c;
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
    overflow-wrap: anywhere;
}

.va-search-shell .va-global-search-result-actions {
    display: flex;
    justify-content: flex-start;
    margin-top: 14px;
}

.va-search-shell .va-global-search-result-open {
    align-items: center;
    display: inline-flex;
    gap: 8px;
    min-height: 36px;
}

@media (max-width: 991px) {
    .va-global-search-nav .va-global-search-trigger {
        justify-content: flex-start;
        width: auto;
    }
}

@media (max-width: 767px) {
    .va-search-shell .va-search-form input {
        font-size: 16px;
        height: calc(2.25rem + 2px);
    }
    .va-search-shell .va-global-search-status { padding-left: 1px; }
    .va-search-shell .va-global-search-group + .va-global-search-group { margin-top: 48px; }
    .va-search-shell .va-global-search-group h2 { font-size: 16px; }
    .va-search-shell .va-global-search-result {
        min-height: 70px;
    }
    .va-search-shell .va-global-search-result-toggle {
        gap: 12px;
        grid-template-columns: 34px minmax(0, 1fr) 12px;
        min-height: 68px;
        padding: 13px;
    }
    .va-search-shell .va-global-search-result-copy strong { font-size: 15px; }
    .va-search-shell .va-global-search-result-preview { font-size: 14px; }
    .va-search-shell .va-global-search-result-detail {
        margin: 0 13px 13px 59px;
        padding-top: 12px;
    }
    .va-search-shell .va-global-search-result-detail-preview {
        font-size: 14px;
        line-height: 1.55;
    }
    .va-search-shell .va-global-search-result-open {
        justify-content: center;
        width: 100%;
    }
}

@media (max-width: 575px) {
    .admin-confirm-overlay {
        padding: 16px;
    }

    .admin-confirm-overlay.order-product-modal,
    .admin-confirm-overlay.order-review-modal,
    .admin-confirm-overlay.order-option-copy-modal {
        padding: 6px;
    }

    .admin-confirm-dialog {
        padding: 25px 20px 20px;
    }

    .order-product-modal .admin-confirm-dialog,
    .order-review-modal .admin-confirm-dialog,
    .order-option-copy-modal .admin-confirm-dialog {
        max-height: calc(100dvh - 12px);
        max-width: none;
        padding: 22px 14px 14px;
    }

    .order-option-copy-modal .admin-confirm-dialog {
        overflow: hidden;
    }

    .order-option-copy-modal .order-option-copy-form {
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    .order-option-copy-modal .order-option-copy-list {
        max-height: calc(100dvh - 330px);
    }

    .order-product-modal .admin-confirm-header,
    .order-review-modal .admin-confirm-header {
        width: 100%;
    }

    .order-product-modal .admin-confirm-header h2,
    .order-review-modal .admin-confirm-header h2 {
        font-size: 23px;
        line-height: 1.25;
        margin: 5px 36px 5px;
    }

    .order-product-modal .admin-confirm-header p,
    .order-review-modal .admin-confirm-header p {
        color: #656d71;
        font-size: 15px;
        line-height: 1.45;
        margin: 0;
    }

    .order-review-modal .admin-confirm-dialog {
        gap: 11px;
        overflow-y: auto;
    }

    .order-product-modal-body {
        max-height: calc(100dvh - 300px);
        padding: 0 18px 0 2px;
        scrollbar-gutter: stable;
        width: 100%;
    }

    .order-product-quantity {
        padding-top: 10px;
    }

    .order-product-quantity-controls button,
    .order-product-quantity-controls strong {
        height: 44px;
    }

    .order-product-quantity-controls button {
        width: 44px;
    }

    .order-product-modal-body [data-order-product-note] {
        font-size: 16px;
        min-height: 110px;
    }

    .order-product-modal .order-product-note-toggle {
        font-size: 14px;
        min-height: 44px;
        padding: 9px 12px;
    }

    .order-product-modal .order-modal-option-group {
        margin-bottom: 0;
        padding: 17px 14px 19px;
    }

    .order-product-modal .order-modal-option-group + .order-modal-option-group {
        margin-top: 52px;
    }

    .order-product-modal .order-modal-option-group legend {
        font-size: 19px;
        margin-bottom: 11px;
    }

    .order-product-modal .order-modal-option-group > div {
        gap: 14px;
    }

    .order-product-modal .order-modal-option-group label {
        font-size: 20px;
        line-height: 1.35;
        min-height: 58px;
        padding: 12px 14px;
    }

    .order-product-modal .order-modal-option-group small {
        font-size: 15px;
    }

    .order-review-ticket {
        padding: 15px;
    }

    .order-review-ticket-heading {
        font-size: 14px;
        padding-bottom: 13px;
    }

    .order-review-ticket-heading > strong {
        font-size: 17px;
    }

    .order-review-line {
        padding: 14px 0;
    }

    .order-review-line strong {
        font-size: 16px;
        line-height: 1.4;
    }

    .order-review-line small {
        font-size: 14px;
        line-height: 1.4;
        margin-top: 5px;
    }

    .order-review-variants {
        font-size: 14px;
    }

    .order-review-total {
        font-size: 18px;
        padding-top: 15px;
    }

    .order-review-total strong {
        font-size: 22px;
    }

    .order-review-edit {
        font-size: 16px;
        justify-content: center;
        min-height: 50px;
        width: 100%;
    }

    .order-review-payment {
        margin-top: 8px;
        padding-top: 18px;
    }

    .order-review-payment > strong {
        font-size: 17px;
        margin-bottom: 12px;
    }

    .order-review-payment > div {
        gap: 12px;
    }

    .order-review-payment .order-review-payment-choice {
        font-size: 18px;
        min-height: 62px;
    }

    .admin-confirm-actions .btn {
        flex: 1 1 0;
        font-size: 16px;
        justify-content: center;
        min-height: 52px;
    }
}

@media (max-width: 360px) {
    .order-review-payment > div {
        grid-template-columns: 1fr;
    }
}

.member-edit-heading strong {
    color: #222;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.25;
}

.member-edit-heading small {
    font-size: 12px;
}

.member-card-accordion.is-editing > .member-view {
    display: none;
}

.member-card-accordion.is-editing > .member-edit-form {
    border-top: 0;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 30px;
}

.form-row-wide {
    grid-column: span 3;
}

.member-type-form.is-contact-type .member-field-bedrijfsnaam {
    order: 10;
}

.member-type-form.is-contact-type .member-field-voornaam {
    order: 20;
}

.member-type-form.is-contact-type .member-field-naam {
    order: 30;
}

.member-type-form.is-contact-type .member-field-btw-nummer {
    order: 35;
}

.member-type-form.is-contact-type .member-field-straat {
    order: 40;
}

.member-type-form.is-contact-type .member-field-huisnummer {
    order: 50;
}

.member-type-form.is-contact-type .member-field-postcode {
    order: 60;
}

.member-type-form.is-contact-type .member-field-woonplaats {
    order: 70;
}

.member-type-form.is-contact-type .member-field-gsm {
    order: 80;
}

.member-type-form.is-contact-type .member-field-email {
    order: 90;
}

.member-type-form.is-contact-type .member-field-website {
    order: 100;
}

.member-type-form.is-contact-type .member-field-extra-info {
    order: 110;
}

.member-type-form.is-contact-type .member-field-tags {
    order: 120;
}

.member-extra-info {
    min-height: 120px;
}

.tag-editor {
    width: 100%;
}

.tag-editor__list {
    align-items: center;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    min-height: 42px;
    padding: 7px 9px;
    transition: border-color .16s ease, box-shadow .16s ease;
}

.tag-editor__list:focus-within {
    border-color: var(--brand);
    box-shadow: 0 0 0 2px var(--brand-soft);
}

.tag-chip {
    align-items: center;
    background: var(--brand-soft);
    border: 1px solid var(--brand-soft-border);
    border-radius: 999px;
    color: var(--brand);
    display: inline-flex;
    font-size: 13px;
    gap: 6px;
    line-height: 1.2;
    min-height: 26px;
    padding: 4px 7px 4px 10px;
}

.tag-chip button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 50%;
    color: inherit;
    cursor: pointer;
    display: inline-flex;
    height: 18px;
    justify-content: center;
    opacity: .72;
    padding: 0;
    width: 18px;
}

.tag-chip button:hover,
.tag-chip button:focus {
    background: rgba(0, 0, 0, .06);
    opacity: 1;
    outline: 0;
}

.tag-editor__input {
    border: 0;
    flex: 1 1 140px;
    min-width: 120px;
    outline: 0;
    padding: 4px 2px;
}

.document-access-picker {
    margin-top: 10px;
    position: relative;
}

.document-access-picker.is-inactive .document-access-selected {
    border-color: #eee;
    box-shadow: none;
}

.document-access-selected {
    align-items: center;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    min-height: 42px;
    padding: 7px 9px;
    transition: border-color .16s ease, box-shadow .16s ease;
}

.document-access-selected:focus-within {
    border-color: var(--brand);
    box-shadow: 0 0 0 2px var(--brand-soft);
}

.document-access-chip {
    align-items: center;
    background: #fff;
    border: 1px solid #e9e9e9;
    border-radius: 999px;
    color: #333;
    display: inline-flex;
    font-size: 13px;
    gap: 7px;
    line-height: 1.2;
    min-height: 30px;
    padding: 3px 7px 3px 4px;
}

.document-access-chip img,
.document-access-chip__initials {
    align-items: center;
    background: var(--brand-soft);
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    flex: 0 0 24px;
    font-size: 11px;
    font-weight: 600;
    height: 24px;
    justify-content: center;
    object-fit: cover;
    overflow: hidden;
    width: 24px;
}

.document-access-chip button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 50%;
    color: #888;
    cursor: pointer;
    display: inline-flex;
    height: 18px;
    justify-content: center;
    padding: 0;
    width: 18px;
}

.document-access-chip button:hover,
.document-access-chip button:focus {
    background: rgba(0, 0, 0, .06);
    color: var(--brand);
    outline: 0;
}

.document-access-input {
    border: 0;
    flex: 1 1 130px;
    min-width: 120px;
    outline: 0;
    padding: 5px 2px;
}

.document-access-suggestions {
    top: calc(100% + 4px);
}

.field-box {
    margin: 18px 0 20px;
    padding: 15px;
    border: 1px solid #eee;
}

.field-box legend {
    width: auto;
    padding: 0 6px;
    color: #000;
    font-size: 14px;
    font-weight: 600;
}

.check-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 8px 16px;
}

.check-line {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #555;
    font-weight: 400;
}

.check-line input {
    accent-color: var(--brand);
}

.member-rights-section-title {
    color: var(--brand);
    display: block;
    font-size: 14px;
    margin: 0 0 14px;
}

.member-rights-section + .member-rights-section {
    margin-top: 38px;
}

.member-rights-base-grid {
    margin-bottom: 18px;
}

.member-rights-intro {
    border-bottom: 1px solid #edf1f2;
    font-size: 12px;
    margin: 0 0 18px;
    padding: 0 0 14px;
}

.member-rights-bulk {
    align-items: center;
    border-bottom: 1px solid #e5ebed;
    display: grid;
    grid-template-columns: minmax(190px, 1.25fr) repeat(4, minmax(120px, 1fr));
    margin-bottom: 30px;
    min-height: 58px;
}

.member-rights-bulk > strong {
    color: #222;
    font-size: 13px;
    padding-left: 12px;
}

.member-rights-bulk > label {
    align-items: center;
    color: #596165;
    cursor: pointer;
    display: flex;
    font-size: 11px;
    font-weight: 600;
    gap: 8px;
    justify-content: center;
    margin: 0;
    min-height: 58px;
    text-align: center;
}

.member-rights-bulk input {
    accent-color: var(--brand);
    height: 14px;
    margin: 0;
    width: 14px;
}

.member-rights-bulk input:focus-visible {
    box-shadow: 0 0 0 2px rgba(var(--brand-rgb), .16);
    outline: 0;
}

.member-rights-level-grid {
    margin-bottom: 22px;
}

.member-rights-table-head {
    border-bottom: 1px solid #e5ebed;
    color: #7a8387;
    display: grid;
    font-size: 11px;
    font-weight: 600;
    grid-template-columns: minmax(190px, 1.25fr) repeat(4, minmax(120px, 1fr));
    letter-spacing: .01em;
    padding: 10px 0;
}

.member-rights-table-head > span {
    text-align: center;
}

.member-rights-table-head > span:first-child {
    padding-left: 12px;
    text-align: left;
}

.member-right-level {
    display: grid;
    gap: 7px;
}

.member-right-level > span {
    color: #444;
    font-size: 13px;
}

.member-rights-cards {
    display: grid;
    grid-template-columns: 1fr;
}

.member-right-card {
    align-content: center;
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #edf1f2;
    border-radius: 0;
    display: grid;
    gap: 0;
    grid-template-columns: minmax(190px, 1.25fr) minmax(480px, 4fr);
    min-height: 62px;
    padding: 0;
}

.member-right-card > strong {
    color: #222;
    font-size: 13px;
    margin: 0;
    padding-left: 12px;
}

.member-right-card > .member-level-picker {
    width: 100%;
}

.member-level-picker {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    height: 100%;
}

.member-level-picker--compact {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.member-level-option {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 0;
    justify-content: center;
    margin: 0;
    min-width: 0;
    min-height: 61px;
}

.member-level-option input {
    accent-color: var(--brand);
    flex: 0 0 auto;
    height: 14px;
    margin: 0;
    width: 14px;
}

.member-level-option > span {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.member-level-option:hover {
    background: transparent;
}

.member-level-option:has(input:checked) {
    background: transparent;
}

.member-level-option input:focus-visible {
    box-shadow: 0 0 0 2px rgba(var(--brand-rgb), .16);
    outline: 0;
}

.member-level-not-applicable {
    align-items: center;
    color: #c4cacc;
    display: flex;
    justify-content: center;
    min-height: 61px;
}

.member-contact-category-access {
    border-top: 1px solid #e5e5e5;
    display: grid;
    gap: 8px;
    grid-column: 1 / -1;
    margin-top: 4px;
    padding-top: 12px;
}

.member-contact-category-access > .muted {
    font-size: 12px;
    font-weight: 600;
}

.member-contact-category-options {
    background: #fff;
    border-left: 2px solid var(--brand-soft-border);
    grid-template-columns: 1fr;
    margin: 2px 0 0 5px;
    padding: 8px 10px;
}

.member-rights-activity-section {
    border-top: 1px solid #edf1f2;
    margin-top: 38px;
    padding-top: 28px;
}

.member-right-card--activity {
    background: transparent;
    border: 0;
    display: grid;
    gap: 0;
    grid-template-columns: 1fr;
    margin: 0;
    padding: 0;
}

.member-right-card--activity > .member-right-level {
    align-items: center;
    border-bottom: 1px solid #edf1f2;
    gap: 0;
    grid-template-columns: minmax(190px, 1.25fr) minmax(480px, 4fr);
    min-height: 62px;
    padding: 0;
}

.member-right-card--activity > .member-right-level > span:first-child {
    padding-left: 12px;
}

@media (max-width: 767.98px) {
    .member-rights-bulk {
        gap: 10px 18px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-bottom: 30px;
        padding: 0 0 16px;
    }

    .member-rights-bulk > strong {
        grid-column: 1 / -1;
        padding-left: 0;
    }

    .member-rights-bulk > label {
        font-size: 12px;
        justify-content: flex-start;
        min-height: 30px;
        text-align: left;
    }

    .member-rights-table-head {
        display: none;
    }

    .member-rights-cards {
        grid-template-columns: 1fr;
    }

    .member-right-card {
        gap: 10px;
        grid-template-columns: 1fr;
        padding: 14px 0;
    }

    .member-right-card > strong {
        padding-left: 0;
    }

    .member-right-card--activity {
        grid-template-columns: 1fr;
        padding: 0;
    }

    .member-right-card--activity > .member-right-level {
        gap: 10px;
        grid-template-columns: 1fr;
        padding: 14px 0;
    }

    .member-right-card--activity > .member-right-level > span:first-child {
        padding-left: 0;
    }

    .member-level-picker {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 9px;
    }

    .member-level-picker--compact {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .member-level-picker--visibility {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .member-level-option {
        gap: 8px;
        justify-content: flex-start;
        min-height: 30px;
    }

    .member-level-option > span {
        clip: auto;
        color: #596165;
        font-size: 12px;
        height: auto;
        margin: 0;
        overflow: visible;
        position: static;
        white-space: normal;
        width: auto;
    }

    .member-level-option:hover,
    .member-level-option:has(input:checked) {
        background: transparent;
    }

    .member-level-option input:checked + span {
        color: #273033;
        font-weight: 600;
    }

    .member-level-not-applicable {
        display: none;
    }
}

.badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 8px;
    border: 1px solid var(--brand-soft-border);
    color: var(--brand);
    background: var(--brand-soft);
    font-size: 12px;
    font-weight: 500;
}

.ok,
.fail {
    display: inline-flex;
    min-width: 46px;
    margin-right: 8px;
    font-weight: 500;
}

.fail {
    color: var(--brand-danger);
}

.member-secondary-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 0 15px 15px;
}

.member-secondary-actions.member-contact-manage-actions {
    padding-left: 0;
    padding-right: 0;
}

.category-list {
    width: min(470px, 100%);
    margin-top: 8px;
}

.category-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 9px 0;
    border-top: 1px solid #eee;
}

.category-row.is-dragging {
    opacity: .45;
}

.category-row:first-child {
    border-top: 0;
}

.category-row-name {
    flex: 1 1 auto;
    min-width: 0;
    color: #000;
    overflow-wrap: anywhere;
}

.category-edit-input {
    flex: 1 1 auto;
    min-width: 0;
}

.member-readonly-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.member-readonly-field-wide {
    grid-column: 1 / -1;
}

.member-readonly-field {
    background: #fafafa;
    border: 1px solid #f0f0f0;
    padding: 14px 15px;
}

.member-readonly-field strong,
.member-readonly-field span {
    display: block;
}

.member-readonly-field strong {
    color: #222;
    font-size: 13px;
    line-height: 1.35;
    margin-bottom: 10px;
}

.member-readonly-field span {
    color: #777;
    line-height: 1.62;
    margin-top: 0;
    white-space: pre-line;
}

.member-readonly-line {
    line-height: 1.45;
    margin-top: 0 !important;
    white-space: normal !important;
}

.member-readonly-line + .member-readonly-line {
    margin-top: 7px;
}

.member-readonly-line span {
    display: inline;
    line-height: inherit;
    margin-top: 0;
    white-space: normal;
}

.member-cashbook-summary {
    background: #fafafa;
    border: 1px solid #f0f0f0;
    color: inherit;
    display: block;
    padding: 14px 15px;
    text-decoration: none;
}

.member-cashbook-summary:hover,
.member-cashbook-summary:focus {
    background: var(--brand-soft);
    border-color: var(--brand-soft-border);
    color: inherit;
    outline: 0;
    text-decoration: none;
}

.member-cashbook-heading,
.member-cashbook-heading > span {
    align-items: center;
    display: flex;
}

.member-cashbook-heading {
    color: var(--brand);
    justify-content: space-between;
    margin-bottom: 13px;
}

.member-cashbook-heading > span {
    gap: 8px;
}

.member-cashbook-heading strong {
    color: #222;
    font-size: 13px;
    line-height: 1.35;
}

.member-cashbook-stats {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.member-cashbook-stat {
    border-left: 2px solid var(--brand-soft-border);
    display: block;
    min-width: 0;
    padding: 2px 10px;
}

.member-cashbook-stat small,
.member-cashbook-stat strong,
.member-cashbook-stat > span {
    display: block;
}

.member-cashbook-stat small {
    color: #777;
    font-size: 11px;
    font-weight: 500;
    margin-bottom: 3px;
    text-transform: uppercase;
}

.member-cashbook-stat strong {
    color: #222;
    font-size: 15px;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.member-cashbook-stat > span {
    color: #7b8387;
    font-size: 11px;
    margin-top: 2px;
}

@media (max-width: 767px) {
    .member-cashbook-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .member-cashbook-stat--balance {
        grid-column: 1 / -1;
    }
}

.category-row form {
    flex: 0 0 auto;
}

.category-row-actions {
    display: inline-flex;
    flex: 0 0 auto;
    gap: 6px;
}

.category-sort-handle {
    align-items: center;
    background: var(--brand);
    border-radius: 50%;
    color: var(--brand-button-text);
    cursor: grab;
    display: inline-flex;
    flex: 0 0 auto;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.category-sort-handle:active {
    cursor: grabbing;
}

.category-autosave-status {
    min-height: 18px;
}

.member-autosave-status {
    display: block;
    height: 20px;
    line-height: 20px;
    margin-bottom: 10px;
    overflow: hidden;
}

.task-toolbar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
}

.task-page-heading {
    gap: 12px;
}

.task-page-actions {
    gap: 10px;
}

.task-search {
    max-width: 380px;
    width: 100%;
}

.document-search {
    max-width: none;
}

.document-search input[type="search"] {
    -webkit-appearance: none;
    appearance: none;
}

.document-search input[type="search"]::-webkit-search-decoration,
.document-search input[type="search"]::-webkit-search-cancel-button,
.document-search input[type="search"]::-webkit-search-results-button,
.document-search input[type="search"]::-webkit-search-results-decoration {
    display: none;
}

.document-search [data-search-dismiss] {
    cursor: pointer;
}

.document-meta-detail {
    border-top: 1px solid #f2f2f2;
    color: #aaa;
    font-size: 11px;
    line-height: 1.35;
    margin: 16px 0 0;
    padding-top: 10px;
}

.document-summary-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.task-summary-main small.document-summary-meta {
    gap: 6px !important;
}

.document-summary-meta > * {
    margin-right: 6px;
}

.document-summary-meta > *:last-child {
    margin-right: 0;
}

.document-accordion .task-summary-main {
    flex: 1 1 auto;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.document-title-line {
    align-items: center;
    display: flex;
    gap: 8px;
    min-width: 0;
}

.document-title-text {
    display: block;
    flex: 0 1 auto;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.document-title-line .fa {
    flex: 0 0 auto;
}

.document-access-count {
    align-items: center;
    color: var(--brand);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 14px;
    gap: 4px;
    margin-left: 2px;
    vertical-align: middle;
}

.document-access-count span {
    align-items: center;
    background: var(--brand-soft);
    border: 1px solid var(--brand-soft-border);
    border-radius: 999px;
    color: var(--brand);
    display: inline-flex;
    font-size: 11px;
    font-weight: 600;
    justify-content: center;
    line-height: 1;
    min-width: 18px;
    padding: 3px 6px;
}

.document-file-count {
    display: block;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.document-mobile-new-action {
    display: none !important;
}

.document-print-icon {
    margin-right: 8px;
}

.task-toolbar .actions .document-print-action {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.document-files {
    margin-top: 16px;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.document-file-row {
    align-items: flex-start;
    border-bottom: 1px solid #f5f5f5;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    padding: 8px 0;
}

.document-file-row:last-child {
    border-bottom: 0;
}

.document-file-main {
    flex: 1 1 auto;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.document-file-link {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    gap: 7px;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.document-file-link .fa {
    flex: 0 0 auto;
}

.document-file-name {
    display: block;
    flex: 1 1 auto;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.document-file-size {
    display: block;
    font-size: 12px;
    line-height: 1.35;
    margin-top: 2px;
}

.document-file-delete-form {
    flex: 0 0 auto;
    margin: 18px 0 0;
}

.document-file-delete-button {
    background: transparent;
    border: 0;
    color: #aaa;
    cursor: pointer;
    font-size: 13px;
    line-height: 1;
    padding: 2px 0 2px 8px;
}

.document-file-delete-button:hover,
.document-file-delete-button:focus {
    color: var(--brand);
    outline: none;
}

.document-choice-group {
    margin-bottom: 22px;
}

.document-form-section-title {
    color: #222;
    display: block;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
    margin-bottom: 9px;
}

.admin-file-upload {
    display: block;
    position: relative;
}

.admin-file-upload__input {
    height: 0;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 0;
}

.admin-file-upload__dropzone {
    align-items: center;
    background: #fbfbfb;
    border: 1px dashed rgba(var(--brand-rgb), .45);
    color: #555;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 5px;
    justify-content: center;
    min-height: 128px;
    padding: 22px 18px;
    text-align: center;
    transition: border-color .2s ease, box-shadow .2s ease, color .2s ease, background-color .2s ease;
}

.admin-file-upload__dropzone i {
    color: var(--brand);
    font-size: 30px;
    line-height: 1;
}

.admin-file-upload__dropzone strong {
    color: #333;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.25;
}

.admin-file-upload__dropzone span {
    color: #888;
    font-size: 13px;
    line-height: 1.25;
}

.admin-file-upload__dropzone:hover,
.admin-file-upload__dropzone:focus-within,
.admin-file-upload.is-dragover .admin-file-upload__dropzone {
    background: rgba(var(--brand-rgb), .035);
    border-color: var(--brand);
    box-shadow: 0 8px 22px rgba(0, 0, 0, .045);
    color: var(--brand);
}

.admin-file-upload__text {
    color: #777;
    font-size: 12px;
    line-height: 1.35;
    margin-top: 8px;
    word-break: break-word;
}

.upload-queue-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-top: 0;
}

.upload-queue-actions .btn {
    cursor: pointer;
    margin: 12px 0 0;
}

.upload-camera-action,
.upload-scan-action {
    align-items: center;
    border-radius: 50%;
    display: none !important;
    height: 38px;
    justify-content: center;
    min-width: 42px;
    margin: 0;
    padding-left: 12px;
    padding-right: 12px;
    position: absolute;
    right: 12px;
    top: 76px;
    z-index: 2;
}

.upload-scan-action {
    right: 62px;
}

.upload-queue-actions .upload-camera-action,
.upload-queue-actions .upload-scan-action {
    margin: 0;
}

[data-upload-queue-submit][hidden] {
    display: none !important;
}

.upload-queue-preview {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fill, minmax(185px, 1fr));
    margin-top: 12px;
}

.upload-queue-preview[hidden] {
    display: none;
}

.upload-queue-item {
    align-items: center;
    background: #fbfbfb;
    border: 1px solid #ededed;
    display: grid;
    gap: 9px;
    grid-template-columns: 42px minmax(0, 1fr) 30px;
    min-height: 52px;
    padding: 5px 6px;
}

.upload-queue-item__visual {
    align-items: center;
    background: rgba(var(--brand-rgb), .08);
    color: var(--brand);
    display: flex;
    height: 40px;
    justify-content: center;
    overflow: hidden;
    width: 40px;
}

.upload-queue-item__visual img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.upload-queue-item__name {
    color: #555;
    font-size: 12px;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.upload-queue-item__remove {
    align-items: center;
    background: transparent;
    border: 0;
    color: #888;
    cursor: pointer;
    display: flex;
    height: 30px;
    justify-content: center;
    padding: 0;
    width: 30px;
}

.upload-queue-item__remove:hover,
.upload-queue-item__remove:focus {
    color: var(--brand-danger);
}

@media (max-width: 575px) {
    .upload-queue-preview {
        grid-template-columns: 1fr;
    }

    .upload-camera-action,
    .upload-scan-action {
        display: inline-flex !important;
    }

    .admin-file-upload__dropzone {
        min-height: 168px;
        padding-bottom: 66px;
    }

    .upload-camera-action,
    .upload-scan-action {
        bottom: auto;
        left: 50%;
        right: auto;
        top: 116px;
        transform: translateX(-50%);
    }

}

@media (hover: none) and (pointer: coarse) {
    .upload-camera-action,
    .upload-scan-action {
        display: inline-flex !important;
    }

    .has-document-scanner .admin-file-upload__dropzone {
        min-height: 176px;
        padding-bottom: 68px;
    }

    .has-document-scanner .upload-camera-action,
    .has-document-scanner .upload-scan-action {
        left: 50%;
        right: auto;
        top: 120px;
        transform: translateX(-50%);
    }

}

body.document-scanner-open {
    overflow: hidden;
}

.document-scanner-overlay {
    align-items: center;
    background: rgba(255, 255, 255, .9);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 18px;
    position: fixed;
    z-index: 1000004;
}

.document-scanner-overlay[hidden] {
    display: none;
}

.document-scanner-card {
    background: #fff;
    border-top: 3px solid var(--brand);
    box-shadow: 0 18px 55px rgba(0, 0, 0, .18);
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 36px);
    max-width: 980px;
    overflow: hidden;
    width: 100%;
}

.document-scanner-card > header,
.document-scanner-card > footer {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    justify-content: space-between;
    padding: 14px 17px;
}

.document-scanner-card > header {
    border-bottom: 1px solid #ececec;
}

.document-scanner-card > header > div {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.document-scanner-card > header strong {
    color: #222;
    font-size: 16px;
}

.document-scanner-card > header span {
    color: #777;
    font-size: 12px;
    margin-top: 2px;
}

.document-scanner-card > header button {
    align-items: center;
    background: var(--brand-soft);
    border: 0;
    border-radius: 50%;
    color: var(--brand);
    cursor: pointer;
    display: flex;
    flex: 0 0 36px;
    height: 36px;
    justify-content: center;
    margin-left: 12px;
    padding: 0;
    width: 36px;
}

.document-scanner-card > header button:hover,
.document-scanner-card > header button:focus {
    background: rgba(var(--brand-rgb), .16);
    outline: 0;
}

.document-scanner-stage {
    align-items: center;
    background: #252525;
    display: flex;
    flex: 1 1 auto;
    justify-content: center;
    min-height: 250px;
    overflow: auto;
    padding: 12px;
}

.document-scanner-stage canvas {
    box-shadow: 0 4px 18px rgba(0, 0, 0, .32);
    cursor: crosshair;
    display: block;
    max-height: 100%;
    max-width: 100%;
    touch-action: none;
}

.document-scanner-modes {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 7px;
    justify-content: center;
    padding: 12px 16px 4px;
}

.document-scanner-modes button {
    background: #f4f7f7;
    border: 1px solid transparent;
    border-radius: 18px;
    color: #666;
    cursor: pointer;
    min-width: 76px;
    padding: 7px 13px;
}

.document-scanner-modes button.is-active {
    background: var(--brand-soft);
    border-color: rgba(var(--brand-rgb), .22);
    color: var(--brand);
}

.document-scanner-status {
    color: var(--brand);
    flex: 0 0 auto;
    font-size: 12px;
    padding: 8px 16px 0;
    text-align: center;
}

.document-scanner-card > footer {
    gap: 9px;
    justify-content: flex-end;
}

@media (max-width: 575px) {
    .document-scanner-overlay {
        padding: 0;
    }

    .document-scanner-card {
        height: 100%;
        max-height: none;
    }

    .document-scanner-card > header,
    .document-scanner-card > footer {
        padding: 12px;
    }

    .document-scanner-stage {
        min-height: 0;
        padding: 8px;
    }

    .document-scanner-card > footer .btn {
        flex: 1 1 50%;
        justify-content: center;
    }
}

/* Superadmin: naslagwerk voor de volledige klantconfiguratie. */
.feature-catalog-title-row {
    margin-bottom: 22px;
}

.feature-catalog-tools {
    align-items: center;
    border-bottom: 1px solid #ececec;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 28px;
    padding-bottom: 20px;
}

.feature-catalog-search {
    flex: 1 1 430px;
    margin: 0;
    max-width: 620px;
}

.feature-catalog-tool-actions {
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
}

.feature-catalog-group + .feature-catalog-group {
    margin-top: 38px;
}

.feature-catalog-group > h2 {
    color: #222;
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 13px;
}

.feature-catalog-list {
    display: grid;
    gap: 10px;
}

.feature-catalog-module {
    background: #fff;
    border: 1px solid #e9e9e9;
}

.feature-catalog-module[hidden],
.feature-catalog-group[hidden],
.feature-catalog-empty[hidden] {
    display: none !important;
}

.feature-catalog-module > summary {
    align-items: center;
    cursor: pointer;
    display: grid;
    gap: 13px;
    grid-template-columns: 42px minmax(0, 1fr) auto 18px;
    list-style: none;
    min-height: 72px;
    padding: 13px 16px;
}

.feature-catalog-module > summary::-webkit-details-marker {
    display: none;
}

.feature-catalog-module > summary:hover {
    background: #fcfdfd;
}

.feature-catalog-icon {
    align-items: center;
    background: var(--brand-soft);
    border-radius: 50%;
    color: var(--brand);
    display: flex;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.feature-catalog-heading {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.feature-catalog-heading strong {
    color: #222;
    font-size: 14px;
    font-weight: 600;
}

.feature-catalog-heading small {
    color: #7b7b7b;
    font-size: 12px;
    line-height: 1.4;
    margin-top: 3px;
}

.feature-catalog-status {
    background: #f3f5f5;
    border-radius: 14px;
    color: #666;
    font-size: 11px;
    font-weight: 600;
    padding: 5px 10px;
    white-space: nowrap;
}

.feature-catalog-status.is-enabled {
    background: var(--brand-soft);
    color: var(--brand);
}

.feature-catalog-status.is-disabled {
    background: #f3f3f3;
    color: #999;
}

.feature-catalog-chevron {
    color: var(--brand);
    font-size: 12px;
    transition: transform .18s ease;
}

.feature-catalog-module[open] .feature-catalog-chevron {
    transform: rotate(180deg);
}

.feature-catalog-body {
    border-top: 1px solid #ededed;
    padding: 17px 20px 19px 70px;
}

.feature-catalog-body ul {
    column-gap: 38px;
    columns: 2;
    list-style: none;
    margin: 0;
    padding: 0;
}

.feature-catalog-body li {
    align-items: flex-start;
    break-inside: avoid;
    color: #555;
    display: flex;
    font-size: 13px;
    gap: 9px;
    line-height: 1.5;
    padding: 5px 0;
}

.feature-catalog-body li i {
    color: var(--brand);
    flex: 0 0 auto;
    font-size: 10px;
    margin-top: 5px;
}

.feature-catalog-empty {
    margin: 24px 0 0;
    text-align: center;
}

@media (max-width: 767px) {
    .member-editor-form.is-member-editor-modal {
        inset: 12px;
        max-height: none;
        padding: 18px 15px;
        transform: none;
        width: auto;
    }
    .feature-catalog-tools {
        align-items: stretch;
        flex-direction: column;
    }

    .feature-catalog-search {
        flex-basis: auto;
        max-width: none;
    }

    .feature-catalog-tool-actions {
        justify-content: center;
    }

    .feature-catalog-tool-actions .btn {
        flex: 1 1 50%;
    }

    .feature-catalog-module > summary {
        gap: 10px;
        grid-template-columns: 38px minmax(0, 1fr) 16px;
        padding: 12px;
    }

    .feature-catalog-icon {
        height: 38px;
        width: 38px;
    }

    .feature-catalog-status {
        grid-column: 2;
        justify-self: start;
        margin-top: -5px;
    }

    .feature-catalog-chevron {
        grid-column: 3;
        grid-row: 1 / span 2;
    }

    .feature-catalog-body {
        padding: 14px 15px 16px;
    }

    .feature-catalog-body ul {
        columns: 1;
    }
}

.admin-file-upload.has-error .admin-file-upload__dropzone {
    border-color: var(--brand-danger);
}

.admin-file-upload.has-error .admin-file-upload__text {
    color: var(--brand-danger);
}

.document-upload-inline-error {
    background: var(--brand-danger-soft);
    border-left: 3px solid var(--brand-danger);
    color: var(--brand-danger);
    font-size: 13px;
    line-height: 1.35;
    margin-top: 10px;
    padding: 8px 10px;
}

.document-visibility-card {
    background: #fbfbfb;
    border: 1px solid #f0f0f0;
    padding: 12px 14px;
}

.document-visibility-option {
    align-items: center;
    color: #666;
    cursor: pointer;
    display: flex;
    gap: 9px;
    line-height: 1.25;
    margin: 0 0 9px;
}

.document-visibility-card input[type="radio"],
.document-visibility-option input[type="radio"] {
    -webkit-appearance: none;
    appearance: none;
    background: #fff;
    border: 1px solid #b8b8b8;
    border-radius: 50%;
    box-shadow: none;
    cursor: pointer;
    flex: 0 0 16px;
    height: 16px;
    margin: 0;
    position: relative;
    width: 16px;
}

.document-visibility-card input[type="radio"]:checked,
.document-visibility-option input[type="radio"]:checked {
    background: radial-gradient(circle at center, var(--brand) 0 4px, #fff 4.5px);
    border-color: var(--brand) !important;
}

.document-visibility-card input[type="radio"]:checked::after,
.document-visibility-option input[type="radio"]:checked::after {
    background: transparent;
    border-radius: 50%;
    content: "";
    height: 8px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
}

.document-visibility-card input[type="radio"]:focus,
.document-visibility-card input[type="radio"]:focus-visible,
.document-visibility-option input[type="radio"]:focus,
.document-visibility-option input[type="radio"]:focus-visible {
    box-shadow: none;
    outline: 0;
}

.document-visibility-option:last-child {
    margin-bottom: 0;
}

.document-date-option {
    align-items: center;
    flex-wrap: wrap;
}

.document-date-input {
    flex: 1 1 170px;
    margin-left: 6px;
    max-width: 190px;
}

.document-date-input:disabled {
    background: #f5f5f5;
    opacity: .6;
}

.autofill-decoys {
    height: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    width: 0;
}

.autofill-decoys input {
    height: 0;
    min-height: 0;
    padding: 0;
    width: 0;
}

.search-clear-button[hidden] {
    display: none !important;
}

.search-clear-button {
    align-items: center;
    display: inline-flex;
    height: 100%;
    white-space: nowrap;
}

.task-list {
    display: grid;
    gap: 12px;
}

.task-accordion.is-dragging {
    opacity: .45;
}

.task-completed-heading {
    align-items: center;
    border-top: 1px solid #eeeeee;
    color: #000;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.25;
    margin-top: 42px;
    padding-top: 28px;
}

.task-completed-heading form {
    margin: 0;
}

.task-completed-heading .btn {
    font-size: 13px;
    font-weight: 400;
}

.task-completed-heading + .task-accordion {
    margin-top: 6px;
}

.task-accordion.is-complete {
    opacity: .72;
}

.verslag-link {
    color: inherit;
    display: block;
    padding: 18px 22px;
    text-decoration: none;
}

.verslag-link:hover,
.verslag-link:focus {
    background: #f8f8f8;
    color: inherit;
    text-decoration: none;
}

.linked-task-list {
    border-top: 1px solid #eee;
    margin-top: 18px;
    padding-top: 14px;
}

.linked-task-heading {
    color: #000;
    display: block;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 10px;
}

.linked-task-row {
    border: 1px solid #eee;
    margin-top: 10px;
    padding: 13px 14px;
}

.linked-task-row.is-complete {
    background: #fafafa;
}

.linked-task-row strong,
.linked-task-row small {
    display: block;
}

.linked-task-status {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 10px;
}

.linked-task-status form {
    margin: 0;
}

.linked-task-description {
    border-top: 1px solid #f0f0f0;
    margin: 12px 0 0;
    padding-top: 12px;
}

.badge-soft {
    background: #f7f7f7;
    border: 1px solid #e7e7e7;
    color: #666;
}

.inline-tool-panel {
    border: 1px solid #eee;
    margin-top: 16px;
}

.inline-tool-panel summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    padding: 14px 16px;
}

.inline-tool-panel summary::-webkit-details-marker {
    display: none;
}

.inline-tool-panel summary::after {
    color: var(--brand);
    content: "\f078";
    font-family: FontAwesome;
    font-size: 12px;
}

.inline-tool-panel[open] summary::after {
    content: "\f077";
}

.inline-tool-panel .member-form {
    border-top: 1px solid #eee;
}

.task-accordion summary {
    align-items: center;
    gap: 15px;
    padding: 20px;
    min-width: 0;
}

.task-summary-main {
    flex: 1 1 auto;
    min-width: 0;
    overflow-wrap: anywhere;
}

.task-summary-main small {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 2px 0;
}

.task-sort-handle {
    align-items: center;
    background: var(--brand);
    border-radius: 50%;
    color: var(--brand-button-text);
    cursor: grab;
    display: inline-flex;
    flex: 0 0 auto;
    height: 34px;
    justify-content: center;
    margin-right: 12px;
    width: 34px;
}

.task-sort-handle:active {
    cursor: grabbing;
}

.task-detail {
    border-top: 1px solid #eee;
    padding: 18px 15px 15px;
}

.task-detail-actions {
    align-items: center;
    border-top: 1px solid #f2f2f2;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
    padding-top: 14px;
}

.task-detail-actions form {
    margin: 0;
}

.task-mention-info {
    align-items: center;
    background: var(--brand-soft);
    border: 1px solid rgba(var(--brand-rgb), .16);
    border-radius: 50%;
    color: var(--brand);
    cursor: help;
    display: inline-flex;
    flex: 0 0 30px;
    font-size: 13px;
    height: 30px;
    justify-content: center;
    position: relative;
    width: 30px;
}

.task-mention-info::after {
    background: var(--brand);
    border-radius: 4px;
    bottom: calc(100% + 8px);
    color: #fff;
    content: attr(data-tip);
    font-size: 12px;
    font-weight: 400;
    left: 0;
    line-height: 1.45;
    opacity: 0;
    padding: 8px 10px;
    pointer-events: none;
    position: absolute;
    text-align: left;
    transition: opacity .15s ease, visibility .15s ease;
    visibility: hidden;
    white-space: nowrap;
    z-index: 20;
}

.task-description-label {
    align-items: center;
    display: flex;
    gap: 7px;
}

.task-mention-info--inline {
    flex-basis: 22px;
    font-size: 11px;
    height: 22px;
    width: 22px;
}

.task-mention-info:hover::after {
    opacity: 1;
    visibility: visible;
}

@media (max-width: 767.98px) {
    .task-mention-info {
        display: none;
    }
}

.activity-list {
    gap: 16px;
}

.activity-overview-groups {
    display: grid;
    gap: 52px;
}

.activity-overview-group__title {
    color: #222;
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 12px;
}

.activity-overview-group[hidden] {
    display: none;
}

.activity-list .activity-overview-row.is-dragging {
    opacity: .55;
}

.activity-overview-row {
    align-items: center;
    display: flex;
    gap: 12px;
    padding: 0;
}

.activity-overview-link {
    align-items: center;
    color: inherit;
    display: flex;
    flex: 1 1 auto;
    gap: 15px;
    min-width: 0;
    padding: 18px 20px;
    text-decoration: none;
}

.activity-order-control {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    margin-left: 18px;
}

.activity-order-control + .activity-overview-link {
    padding-left: 0;
}

.activity-order-control .activity-icon {
    cursor: grab;
}

.activity-order-control .activity-icon:active {
    cursor: grabbing;
}

.activity-mobile-order-actions {
    display: none;
}

.activity-mobile-order-actions button {
    align-items: center;
    background: #fff;
    border: 1px solid var(--brand);
    color: var(--brand);
    display: inline-flex;
    height: 30px;
    justify-content: center;
    padding: 0;
    width: 30px;
}

.activity-mobile-order-actions button:disabled {
    opacity: .3;
}

.activity-overview-description {
    display: -webkit-box !important;
    margin-top: 4px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.activity-page-description {
    color: #777;
    line-height: 1.55;
    margin: 8px 0 0;
    max-width: 720px;
}

.activity-description-input {
    min-height: 100px;
}

.activity-overview-link:hover,
.activity-overview-link:focus {
    color: inherit;
    text-decoration: none;
}

.activity-overview-row .task-summary-actions {
    flex: 0 0 auto;
    margin-right: 18px;
}

.activity-accordion summary {
    align-items: center;
    gap: 15px;
    padding: 18px 20px;
}

.activity-icon {
    cursor: default;
}

.activity-detail {
    border-top: 1px solid #eee;
    padding: 18px 15px 15px;
}

.activity-meta-form {
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 18px;
}

.activity-section {
    border: 1px solid #eee;
    margin-bottom: 12px;
    order: var(--activity-module-order, 99);
}

.activity-module-sections {
    display: flex;
    flex-direction: column;
}

.activity-module-overview {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 20px;
}

.activity-module-card {
    align-items: center;
    background: #fff;
    border: 1px solid #e8ecee;
    color: #222;
    display: flex;
    gap: 14px;
    min-height: 104px;
    padding: 18px;
    text-decoration: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.activity-module-card:hover,
.activity-module-card:focus {
    border-color: var(--brand-soft-border);
    box-shadow: 0 8px 22px rgba(0, 0, 0, .06);
    color: #222;
    outline: 0;
    text-decoration: none;
    transform: translateY(-1px);
}

.activity-module-card__icon {
    align-items: center;
    background: var(--brand);
    color: var(--brand-button-text);
    display: inline-flex;
    flex: 0 0 44px;
    font-size: 18px;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.activity-module-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.activity-module-card__body strong {
    font-size: 15px;
}

.activity-module-card__body small {
    color: #888;
    line-height: 1.4;
}

.activity-module-card__arrow {
    color: var(--brand);
    flex: 0 0 auto;
    font-size: 12px;
}

.activity-module-page .activity-section {
    border: 0;
    margin-bottom: 0;
}

.activity-module-page .activity-section > summary {
    display: none;
}

.activity-module-page .activity-section > .accordion-body {
    border-top: 0;
    padding: 0;
}

.activity-module-picker {
    border: 1px solid #e8ecee;
    margin: 18px 0;
    padding: 16px;
}

[data-activity-access-control] {
    border: 0;
    margin: 0 0 22px;
    min-width: 0;
    padding: 0;
}

[data-activity-access-control] legend {
    color: #222;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 9px;
}

[data-activity-access-picker] {
    margin-top: 10px;
}

.activity-module-picker legend {
    color: #333;
    font-size: 14px;
    font-weight: 600;
    margin: 0;
    padding: 0 6px;
    width: auto;
}

.activity-module-picker-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.activity-module-choice {
    margin: 0;
}

.activity-module-choice > input {
    left: -9999px;
    position: absolute;
}

.activity-module-choice > span {
    align-items: center;
    background: #f6f7f7;
    border: 1px solid #eef0f1;
    color: #aaa;
    cursor: pointer;
    display: flex;
    gap: 9px;
    min-height: 42px;
    padding: 9px 12px;
}

.activity-module-choice > input:checked + span {
    background: var(--brand);
    border-color: var(--brand);
    color: var(--brand-button-text);
}

.activity-module-choice:hover > input:not(:checked) + span {
    border-color: var(--brand-soft-border);
    color: #777;
}

.activity-module-choice > input:focus-visible + span {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

.activity-section > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 15px 16px;
}

.activity-section > summary::-webkit-details-marker,
.activity-accordion > summary::-webkit-details-marker {
    display: none;
}

.activity-section > summary::after {
    color: var(--brand);
    content: "\f078";
    font-family: FontAwesome;
    font-size: 12px;
}

.activity-section[open] > summary::after {
    content: "\f077";
}

.activity-section-title {
    min-width: 0;
}

.activity-section-actions {
    align-items: center;
    display: inline-flex;
    gap: 8px;
    margin-left: auto;
}

.activity-section .accordion-body {
    border-top: 1px solid #eee;
    padding: 16px;
}

.activity-inline-add {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 240px) auto;
}

.carry-list-quick-add {
    align-items: stretch;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto auto;
}

.carry-quick-assignee {
    min-width: 0;
    position: relative;
}

.carry-quick-assignee__trigger {
    align-items: center;
    background: #fff;
    border: 1px solid #d9e3e5;
    color: var(--brand);
    cursor: pointer;
    display: flex;
    gap: 3px;
    height: 42px;
    justify-content: center;
    padding: 4px;
    width: 44px;
}

.carry-quick-assignee__trigger:hover,
.carry-quick-assignee__trigger:focus-visible {
    background: #f3f8f9;
    border-color: var(--brand);
    outline: 0;
}

.carry-quick-assignee__trigger.is-unassigned .carry-quick-assignee__avatar {
    color: #829195;
}

.carry-quick-assignee__nobody {
    border-bottom: 1px solid #edf1f2;
    margin-bottom: 4px;
}

.carry-quick-assignee__avatar {
    align-items: center;
    background: #eaf4f6;
    border-radius: 50%;
    display: inline-flex;
    flex: 0 0 28px;
    font-size: 10px;
    font-weight: 600;
    height: 28px;
    justify-content: center;
    overflow: hidden;
    width: 28px;
}

.carry-quick-assignee__avatar img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.carry-quick-assignee__popover {
    background: #fff;
    border: 1px solid #dfe7e9;
    box-shadow: 0 12px 28px rgba(25, 51, 58, .14);
    padding: 12px;
    position: absolute;
    right: 0;
    top: calc(100% + 7px);
    width: 340px;
    z-index: 40;
}

.carry-quick-assignee__popover > strong {
    display: block;
    margin-bottom: 8px;
}

.carry-quick-assignee__popover [data-carry-person-remove] {
    display: none;
}

.carry-list-quick-add .form-control {
    min-height: 42px;
}

.carry-list-quick-add .btn {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    justify-content: center;
    min-width: 116px;
}

.carry-list-items {
    display: grid;
    gap: 8px;
}

.carry-list-item__avatar {
    align-items: center;
    background: #eaf4f6;
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    flex: 0 0 36px;
    font-size: 11px;
    font-weight: 600;
    height: 36px;
    justify-content: center;
    overflow: hidden;
    width: 36px;
}

.carry-list-item__avatars {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    padding-right: 4px;
}

.carry-list-item__avatars .carry-list-item__avatar + .carry-list-item__avatar {
    margin-left: -10px;
}

.carry-list-item__avatars .carry-list-item__avatar {
    border: 2px solid #fff;
}

.carry-list-item__avatar--more {
    background: #f1f1f1;
    color: #666;
}

.carry-list-item__avatar img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.carry-list-private-note {
    color: #65777b;
    font-size: 12px;
    margin: -12px 2px 18px;
}

.carry-list-private-note[hidden] {
    display: none;
}

.carry-list-private-note .fa {
    color: var(--brand);
}

.carry-list-private-edit-note {
    align-items: center;
    color: #65777b;
    display: flex;
    gap: 7px;
    margin: 0 0 12px;
}

.carry-list-private-edit-note[hidden] {
    display: none;
}

.carry-list-private-edit-note .fa {
    color: var(--brand);
}

.carry-list-item__main {
    flex: 1 1 auto;
    min-width: 0;
}

.carry-list-item__main strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.carry-list-item__main .carry-list-responsible-line {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
}

.carry-list-responsible-line > span {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.carry-list-item__body {
    border-top: 1px solid #eee;
    padding: 14px 16px 16px;
}

.carry-list-edit-form {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.carry-list-edit-form label {
    margin: 0;
}

.carry-list-edit-form textarea {
    min-height: 70px;
}

.carry-list-edit-form .btn {
    justify-self: start;
}

.carry-list-description {
    margin: 0 0 12px;
    white-space: normal;
}

.carry-list-row-actions {
    align-items: center;
    display: inline-flex;
    flex-wrap: nowrap;
    gap: 7px;
}

.carry-list-mobile-avatar-count,
.carry-list-mobile-responsibles,
.carry-list-mobile-detail-actions {
    display: none;
}

.carry-list-sort-handle {
    cursor: grab;
}

.carry-list-item.is-dragging {
    opacity: .55;
}

.carry-list-no-results,
.carry-list-order-notice {
    margin-bottom: 12px;
}

.helper-list-create {
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.helper-list-create .btn {
    align-items: center;
    display: inline-flex;
    justify-content: center;
}

.helper-empty-state {
    align-items: center;
    border: 1px dashed #dfe5e7;
    color: #888;
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 34px 20px;
    text-align: center;
}

.helper-empty-state > i {
    color: var(--brand);
    font-size: 28px;
}

.helper-empty-state strong {
    color: #333;
}

.helper-toolbar .task-search {
    margin-left: auto;
}

.helper-new-task-button {
    flex: 0 0 auto;
}

.helper-list {
    border: 1px solid #e8ecee;
    margin-bottom: 20px;
}

.helper-list--planning {
    border: 0;
    margin-bottom: 0;
}

.helper-list--planning .helper-new-task {
    border: 1px solid #e8ecee;
    margin-bottom: 18px;
}

.helper-list--planning .helper-task-list {
    border: 1px solid #e8ecee;
}

.helper-list__header {
    align-items: center;
    background: #fafbfb;
    border-bottom: 1px solid #e8ecee;
    display: flex;
    justify-content: space-between;
    padding: 14px 16px;
}

.helper-list__header h2 {
    color: #222;
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 2px;
}

.helper-list__header form,
.helper-task__actions form,
.helper-registration form {
    margin: 0;
}

.helper-new-task {
    border-width: 0 0 1px;
    margin: 0;
}

.helper-task-form {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) minmax(130px, 180px);
}

.helper-task-form label {
    margin: 0;
}

.helper-task-form__description {
    grid-column: 1 / -1;
}

.helper-task-form__schedule {
    display: grid;
    gap: 10px;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr);
}

.helper-task-form__schedule label,
.helper-task-form__schedule input {
    min-width: 0;
    width: 100%;
}

.helper-task-form__people {
    grid-column: 1 / -1;
    position: relative;
}

.helper-task-form__people > label {
    display: block;
    margin-bottom: 5px;
}

.helper-task-form__people .document-access-selected {
    min-height: 44px;
}

.helper-task-form__people .document-access-input {
    flex: 1 1 180px;
    min-width: 150px;
}

.helper-picker-limit {
    color: var(--brand);
    display: block;
    margin-top: 6px;
}

.helper-picker-limit.is-error {
    color: #b42318;
}

.helper-picker-footer {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-top: 6px;
}

.helper-picker-footer small {
    color: #888;
}

.helper-picker-footer a {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    white-space: nowrap;
}

.helper-task-form textarea {
    min-height: 72px;
}

.helper-task-form .btn {
    justify-self: start;
}

.helper-task-list {
    gap: 0;
}

.helper-task {
    border-width: 0 0 1px;
    margin: 0;
}

.helper-task:last-child {
    border-bottom: 0;
}

.helper-task__people {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
}

.helper-avatar {
    align-items: center;
    background: #eaf4f6;
    border: 2px solid #fff;
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    flex: 0 0 36px;
    font-size: 11px;
    font-weight: 600;
    height: 36px;
    justify-content: center;
    overflow: hidden;
    width: 36px;
}

.helper-avatar + .helper-avatar {
    margin-left: -8px;
}

.helper-avatar img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.helper-avatar--count {
    background: #f1f1f1;
    color: #666;
}

.helper-task__main {
    flex: 1 1 auto;
    min-width: 0;
}

.helper-task__main > strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.helper-progress {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}

.helper-progress > span:last-child:not(.helper-occupancy):not(.helper-schedule) {
    background: var(--brand-soft);
    color: var(--brand);
    font-size: 10px;
    font-weight: 600;
    margin-left: 10px;
    padding: 2px 6px;
    text-transform: uppercase;
}

.helper-schedule {
    align-items: center;
    display: inline-flex;
    gap: 5px;
}

.helper-progress > .helper-schedule + .helper-schedule,
.helper-progress > .helper-occupancy {
    border-left: 1px solid #ddd;
    margin-left: 10px;
    padding-left: 10px;
}

.helper-task__actions {
    align-items: center;
    display: inline-flex;
    flex-wrap: nowrap;
    gap: 7px;
}

.helper-signup-button {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    justify-content: center;
    min-height: 36px;
}

.helper-task__body {
    border-top: 1px solid #eee;
    padding: 14px 16px 16px;
}

.helper-task__description {
    margin: 0 0 16px;
}

.helper-mobile-admin-actions {
    display: none;
}

.helper-person-add {
    align-items: start;
    border: 1px solid #e8ecee;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto auto;
    margin: 0 0 18px;
    padding: 12px;
}

.helper-contact-picker {
    min-width: 0;
    position: relative;
}

.helper-contact-suggestions {
    left: 0;
    max-height: 290px;
    overflow-y: auto;
    right: 0;
    top: calc(100% + 4px);
    width: auto;
    z-index: 30;
}

.helper-contact-option {
    align-items: center;
    background: #fff;
    border: 0;
    border-bottom: 1px solid #eee;
    color: #444;
    cursor: pointer;
    display: grid;
    gap: 9px;
    grid-template-columns: 36px minmax(0, 1fr);
    padding: 8px 10px;
    text-align: left;
    width: 100%;
}

.helper-contact-option:hover,
.helper-contact-option:focus {
    background: var(--brand-soft);
    outline: 0;
}

.helper-contact-option > span:last-child {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.helper-contact-option strong,
.helper-contact-option small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.helper-contact-option small {
    color: #888;
    font-size: 11px;
}

.helper-create-contact {
    align-items: center;
    color: var(--brand);
    display: inline-flex;
    gap: 6px;
    min-height: 38px;
    white-space: nowrap;
}

.helper-person-add > small {
    color: #888;
    grid-column: 1 / -1;
}

.helper-registrations {
    margin-bottom: 14px;
}

.helper-registrations h3 {
    color: #333;
    font-size: 13px;
    font-weight: 600;
    margin: 0 0 9px;
}

.helper-registration-card {
    margin-top: 8px;
}

.helper-registration-card > summary {
    min-height: 58px;
    padding: 9px 12px;
}

.helper-registration-card .member-form.member-view {
    padding: 16px;
}

.helper-registration-card .member-contact-card {
    cursor: default;
}

.helper-registration-actions {
    margin-top: 14px;
}

.helper-registration-actions form {
    margin: 0;
}

.helper-registration {
    align-items: center;
    border-top: 1px solid #f0f0f0;
    display: grid;
    gap: 10px;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    padding: 8px 0;
}

.helper-registration .helper-avatar {
    height: 32px;
    width: 32px;
}

.helper-registration > span:nth-child(2) {
    color: #444;
    min-width: 0;
}

.helper-registration small {
    background: var(--brand-soft);
    color: var(--brand);
    font-size: 10px;
    margin-left: 7px;
    padding: 2px 5px;
    text-transform: uppercase;
}

.helper-task-edit-form {
    border-top: 1px solid #eee;
    margin-top: 14px;
    padding-top: 14px;
}

.helper-task-edit-form[hidden] {
    display: none;
}

.activity-person-picker {
    margin-top: 0;
    min-width: 0;
}

.activity-person-picker .document-access-selected {
    min-height: 42px;
    padding: 5px 7px;
}

.activity-person-picker .document-access-input {
    flex-basis: 52px;
    font-size: 12px;
    min-width: 45px;
}

.activity-person-picker .document-access-chip {
    max-width: 175px;
}

.activity-person-picker .document-access-chip > span:not(.document-access-chip__initials) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.activity-wide-field {
    grid-column: 1 / -1;
    min-height: 80px;
}

.form-span-2 {
    grid-column: 1 / -1;
}

.activity-mini-list {
    display: grid;
    gap: 10px;
}

.activity-mini-row {
    align-items: flex-start;
    border: 1px solid #eee;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 12px 14px;
}

.activity-mini-row.is-complete {
    background: #fafafa;
    color: #777;
}

.activity-mini-row strong,
.activity-mini-row small {
    display: block;
}

.activity-mini-row p {
    margin: 8px 0;
}

.activity-row-actions {
    align-items: center;
    display: flex;
    gap: 8px;
}

.activity-topic {
    border: 1px solid #eee;
    margin-bottom: 12px;
    padding: 14px;
}

.activity-topic p {
    margin: 8px 0;
}

.activity-reply {
    border-left: 3px solid var(--brand);
    margin: 12px 0 0;
    padding-left: 12px;
}

.activity-forum-form,
.activity-reply-form {
    display: grid;
    gap: 10px;
}

.activity-forum-form textarea {
    min-height: 110px;
}

.notes-panel {
    min-width: 0;
}

.notes-toolbar {
    align-items: center;
}

.notes-empty {
    margin: 18px 0 0;
}

.note-new-panel {
    margin-top: 0;
}

.note-form {
    display: grid;
    gap: 14px;
}

.note-form label {
    margin: 0;
}

.note-form > .btn {
    justify-self: start;
    width: auto;
}

.note-textarea {
    min-height: 120px;
}

.note-item summary {
    align-items: center;
}

.note-icon {
    align-items: center;
    background: var(--brand);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    flex: 0 0 34px;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.note-item.is-dragging { opacity: .45; }
.note-mobile-order-actions { display: none; }
.note-mobile-order-actions button {
    align-items: center;
    background: #fff;
    border: 1px solid var(--brand);
    color: var(--brand);
    display: inline-flex;
    height: 30px;
    justify-content: center;
    padding: 0;
    width: 30px;
}

.note-item .task-summary-actions form,
.note-reply-actions form {
    margin: 0;
}

.note-detail {
    overflow-wrap: anywhere;
}

.note-content {
    color: #444;
    line-height: 1.65;
    margin-bottom: 14px;
    white-space: normal;
}

.note-edit-form {
    border-top: 1px solid #eee;
    margin-top: 16px;
    padding-top: 18px;
}

.note-form-actions,
.note-reply-actions,
.note-reply-heading {
    align-items: center;
    display: flex;
    gap: 8px;
}

.note-replies {
    border-top: 1px solid #eee;
    margin-top: 22px;
    padding-top: 18px;
}

.note-reply {
    border-left: 3px solid rgba(var(--brand-rgb), .55);
    margin-bottom: 14px;
    padding: 2px 0 2px 14px;
}

.note-reply-heading {
    justify-content: space-between;
}

.note-reply-actions {
    flex: 0 0 auto;
}

.note-reply p {
    margin: 7px 0;
}

.note-reply-edit-form {
    display: grid;
    gap: 10px;
}

.note-reply-new-form {
    display: grid;
    gap: 6px;
    margin-top: 16px;
}

.note-reply-new-form > .note-reply-input { order: 1; }
.note-reply-new-form > .mention-tools { order: 2; }
.note-reply-new-form > .note-form-actions { order: 3; }

.note-reply-input {
    min-height: 58px;
}

.photo-album-form,
.photo-upload-form {
    display: grid;
    gap: 14px;
}

.photo-album-form > .btn,
.photo-upload-form > .btn {
    justify-self: start;
    width: auto;
}

.photo-album-grid {
    display: grid;
    gap: 12px;
}

.photo-album-card {
    align-items: center;
    border: 1px solid #eee;
    color: #222;
    display: grid;
    gap: 14px;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    padding: 15px 18px;
}

.photo-album-card:hover { border-color: var(--brand); color: #222; text-decoration: none; }
.photo-album-card strong, .photo-album-card small { display: block; }
.photo-album-card__icon { align-items: center; background: var(--brand-soft); border-radius: 50%; color: var(--brand); display: flex; font-size: 18px; height: 46px; justify-content: center; width: 46px; }

.photo-album-heading { align-items: flex-start; display: flex; gap: 18px; justify-content: space-between; margin-bottom: 20px; }
.photo-album-heading h2 { font-size: 19px; margin: 10px 0 5px; }
.photo-album-heading p { margin: 0; max-width: 720px; }
.photo-album-heading form { margin: 0; }
.photo-direct-actions { justify-content: flex-end; }
.photo-empty-message { margin: 0; }
.photo-albums-section { border-top: 1px solid #e8eded; margin-top: 34px; padding-top: 28px; }
.photo-albums-heading { align-items: flex-end; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 18px; }
.photo-albums-heading h2 { font-size: 17px; margin: 0 0 3px; }
.photo-albums-heading p { margin: 0; }
.stock-list-overview { display: grid; gap: 12px; }
.stock-list-card { align-items: center; color: #222; display: flex; gap: 14px; padding: 15px 18px; }
.stock-list-card:hover { border-color: var(--brand); color: #222; text-decoration: none; }
.stock-list-card .task-sort-handle { cursor: default; flex: 0 0 38px; height: 38px; }
.stock-list-card .task-summary-main { min-width: 0; }
.stock-list-card .task-summary-main small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stock-heading { align-items: flex-start; display: flex; gap: 18px; justify-content: space-between; }
.stock-heading h2 { font-size: 19px; }
.stock-heading p { max-width: 720px; }
.stock-heading form { margin: 0; }
.stock-heading .actions { display: flex; flex-wrap: wrap; gap: 8px; }
.stock-settings-form { align-items: end; display: grid; gap: 14px; grid-template-columns: minmax(220px, .65fr) minmax(300px, 1.35fr) auto; }
.stock-settings-form label { margin: 0; }
.stock-settings-form textarea { min-height: 42px; }
.stock-list-form { display: grid; gap: 14px; grid-template-columns: 1fr; }
.stock-list-form label { margin: 0; }
.stock-list-form textarea { min-height: 76px; }
.stock-list-form > div { display: flex; justify-content: flex-start; }
.stock-section-heading { align-items: flex-end; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 15px; }
.stock-section-heading h2 { font-size: 17px; margin: 0 0 3px; }
.stock-section-heading p { margin: 0; }
.stock-heading-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.stock-section-heading--lists { border-top: 1px solid #eee; margin-top: 32px; padding-top: 28px; }
.stock-product-form { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.stock-product-form > label { margin: 0; }
.stock-product-form .stock-product-title, .stock-product-form .stock-form-actions { grid-column: 1 / -1; }
.stock-product-form fieldset { border: 1px solid #e8eded; display: grid; gap: 10px; grid-template-columns: 1fr 1fr; margin: 0; padding: 12px; }
.stock-product-form fieldset legend { font-size: 13px; font-weight: 600; padding: 0 5px; width: auto; }
.stock-product-form fieldset label { font-size: 12px; margin: 0; }
.stock-product-form [hidden] { display: none !important; }
.stock-products-list { display: grid; gap: 10px; }
.stock-quick-add { align-items: start; background: #fafcfc; border: 1px solid #edf0f0; display: grid; gap: 12px; grid-template-columns: minmax(210px, 1fr) minmax(210px, 1fr) auto; padding: 16px; }
.stock-quick-add .form-control, .stock-quick-add .btn { min-height: 40px; }
.stock-quick-add > .stock-product-picker { grid-column: 1 / -1; }
.stock-product-picker { position: relative; }
.stock-product-suggestions { left: 0; right: 0; top: calc(100% + 4px); width: auto; }
.stock-quick-add .stock-count-group { background: #fff; padding: 8px 10px 10px; }
.stock-quick-add .stock-form-actions { align-items: flex-start; display: flex; flex-direction: column; gap: 7px; padding-top: 19px; }
.stock-category-groups { display: grid; gap: 38px; }
.stock-category-section { min-width: 0; }
.stock-category-heading { align-items: baseline; border-bottom: 1px solid #e8eded; display: flex; gap: 12px; justify-content: space-between; margin-bottom: 12px; padding: 0 2px 9px; }
.stock-category-heading h3 { color: #222; font-size: 16px; font-weight: 600; margin: 0; }
.stock-items-list { display: grid; gap: 12px; }
.stock-item { border-color: #e5e9e9; }
.stock-item-summary { align-items: center; display: flex; gap: 15px; min-width: 0; padding: 16px 18px; }
.stock-item-icon { cursor: default; }
.stock-item-used { color: var(--brand); font-size: 13px; font-weight: 600; margin-left: auto; white-space: nowrap; }
.stock-item-detail { border-top: 1px solid #edf0f0; display: none; padding: 18px; }
.stock-item-edit-form { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; }
.stock-item-edit-form > label { margin: 0; }
.stock-bulk-form { align-items: center; display: flex; gap: 12px; justify-content: flex-end; margin: 0 0 18px; }
.stock-bulk-form[hidden] { display: none; }
.stock-bulk-status { margin-right: auto; }
.stock-module.is-stock-fill-mode .stock-item { border-color: #d9e1e2; }
.stock-module.is-stock-fill-mode .stock-item-detail { display: block; }
.stock-count-group { border: 1px solid #e8eded; display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 12px; }
.stock-count-group legend { color: #222; font-size: 13px; font-weight: 600; margin: 0; padding: 0 5px; width: auto; }
.stock-count-group label { font-size: 12px; margin: 0; }
.stock-edit-actions { grid-column: 1 / -1; }

.cashbox-list-form { display: grid; gap: 14px; }
.cashbox-list-form label { margin: 0; }
.cashbox-list-form textarea { min-height: 76px; }
.cashbox-list-form > div { display: flex; justify-content: flex-start; }
.cashbox-heading form { margin: 0; }
.cashbox-count-form { display: grid; gap: 26px; }
.cashbox-stats { margin-bottom: 0; }
.cashbox-stat-result { background: color-mix(in srgb, var(--brand) 8%, #fff) !important; border-color: color-mix(in srgb, var(--brand) 22%, #eee) !important; }
.cashbox-stat-result strong { color: var(--brand); }
.cashbox-count-section,
.cashbox-adjustments,
.cashbox-extra-grid { border-top: 1px solid #e8eded; padding-top: 22px; }
.cashbox-count-heading { margin-bottom: 15px; }
.cashbox-count-heading h3,
.cashbox-adjustments h3 { font-size: 16px; margin: 0 0 4px; }
.cashbox-count-heading p { margin: 0; }
.cashbox-count-legend { color: #555; display: grid; font-size: 12px; font-weight: 600; gap: 10px; grid-template-columns: minmax(74px, .55fr) minmax(110px, 1fr) minmax(110px, 1fr) minmax(90px, .7fr); letter-spacing: .04em; margin-bottom: 6px; padding: 0 10px; text-align: right; text-transform: uppercase; }
.cashbox-count-legend span:first-child { text-align: left; }
.cashbox-denominations { display: grid; gap: 6px; }
.cashbox-denominations h4 { color: #555; font-size: 12px; font-weight: 600; letter-spacing: .04em; margin: 16px 0 2px; text-transform: uppercase; }
.cashbox-denominations h4:first-child { margin-top: 0; }
.cashbox-denomination-row { align-items: center; background: #fafcfc; border: 1px solid #edf0f0; display: grid; gap: 10px; grid-template-columns: minmax(74px, .55fr) minmax(110px, 1fr) minmax(110px, 1fr) minmax(90px, .7fr); min-height: 52px; padding: 6px 10px; }
.cashbox-denomination-row > strong { font-size: 15px; }
.cashbox-denomination-row label { margin: 0; }
.cashbox-denomination-row label > span { display: none; }
.cashbox-denomination-row input { min-height: 38px; text-align: right; }
.cashbox-row-total { color: var(--brand); font-size: 13px; font-weight: 600; text-align: right; white-space: nowrap; }
.cashbox-extra-grid { align-items: stretch; display: grid; gap: 18px; grid-template-columns: 1fr; }
.cashbox-counters,
.cashbox-notes { background: #fafcfc; border: 1px solid #e8eded; display: flex; flex-direction: column; min-width: 0; padding: 16px; }
.cashbox-counter-grid { display: grid; gap: 14px; grid-template-columns: 1fr; }
.cashbox-counter-column > label,
.cashbox-notes { margin: 0; }
.cashbox-counters .cashbox-block-title,
.cashbox-notes .cashbox-block-title { color: #333; font-size: 16px; font-weight: 500; line-height: 1.35; margin: 0 0 12px; }
.cashbox-counter-column { min-width: 0; }
.cashbox-counter-column > label { display: block; margin-bottom: 6px; }
.cashbox-person-picker { margin-top: 0; }
.cashbox-person-picker .document-access-selected { min-height: 44px; }
.cashbox-notes textarea { flex: 1 1 auto; min-height: 132px; }
.activity-stats.cashbox-stats { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.cashbox-expenses-heading { align-items: flex-end; display: flex; gap: 16px; justify-content: space-between; margin-bottom: 12px; }
.cashbox-expenses-heading h3 { font-size: 16px; margin: 0; }
.cashbox-expenses,
.cashbox-expense-list { overflow-anchor: none; }
.cashbox-count-form { overflow-anchor: none; }
.cashbox-expense-list { display: grid; gap: 8px; }
.cashbox-expense-empty { margin: 0; }
.cashbox-expense-row { align-items: end; display: grid; gap: 10px; grid-template-columns: minmax(220px, 1fr) 168px minmax(130px, .28fr) 38px; }
.cashbox-expense-row label { margin: 0; min-width: 0; }
.cashbox-expense-row label > span,
.cashbox-expense-direction > span { display: block; margin-bottom: 5px; }
.cashbox-expense-row .btn { align-items: center; display: inline-flex; height: 38px; justify-content: center; padding: 0; width: 38px; }
.cashbox-expense-row.is-readonly { grid-template-columns: minmax(220px, 1fr) 168px minmax(130px, .28fr); }
.cashbox-expense-direction { min-width: 0; }
.cashbox-expense-direction-options { border: 1px solid #d8e0e3; border-radius: 3px; display: flex; height: 38px; overflow: hidden; }
.cashbox-expense-direction-btn { background: #fff; border: 0; color: #56636a; cursor: pointer; flex: 1 1 50%; font: inherit; min-width: 0; padding: 0 8px; white-space: nowrap; }
.cashbox-expense-direction-btn + .cashbox-expense-direction-btn { border-left: 1px solid #d8e0e3; }
.cashbox-expense-direction-btn.is-active { background: var(--brand); color: #fff; font-weight: 600; }
.cashbox-expense-direction-btn:focus-visible { box-shadow: inset 0 0 0 2px rgba(var(--brand-rgb), .28); outline: 0; position: relative; z-index: 1; }
.cashbox-expense-direction-btn:disabled { cursor: default; }
.cashbox-electronic-payments > label { display: block; margin: 0; max-width: 420px; }
.cashbox-electronic-payments > label > small { color: #888; display: block; font-size: 11px; margin-bottom: 5px; }
.cashbox-save { align-items: center; display: flex; gap: 10px; justify-content: flex-start; min-height: 38px; }
.cashbox-autosave-status { display: none; font-size: 12px; min-height: 18px; }
.cashbox-autosave-status.is-saving { color: var(--brand); }
.cashbox-autosave-status.is-error { color: #b42318; }
.cashbox-count-form.is-autosave-enabled .cashbox-autosave-status { display: block; }
.cashbox-count-form.is-autosave-enabled:not(.has-autosave-error) [data-cashbox-manual-save] { display: none; }

.expense-quick-add { grid-template-columns: minmax(220px, 1.4fr) minmax(110px, .35fr) minmax(220px, .8fr) auto; }
.expense-quick-add .expense-payer-picker { margin: 0; min-width: 0; }
.expense-quick-add .document-access-selected { min-height: 42px; }
.expense-list-amount { color: var(--brand); flex: 0 0 auto; font-size: 15px; margin-left: auto; white-space: nowrap; }
.expense-edit-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.expense-edit-form > label:first-of-type,
.expense-edit-form > label:nth-of-type(3),
.expense-edit-form > .activity-person-picker,
.expense-edit-form > .btn { grid-column: 1 / -1; }

.product-catalog-heading { gap: 16px; }
.product-catalog-top-actions { gap: 8px; }
.stock-template-form { display: grid; gap: 14px; }
.stock-template-form > label { margin: 0; }
.stock-template-products { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.stock-template-products fieldset { border: 1px solid #e8eded; margin: 0; min-width: 0; padding: 12px 14px 14px; }
.stock-template-products legend { font-size: 13px; font-weight: 600; padding: 0 5px; width: auto; }
.stock-template-products legend label { align-items: center; cursor: pointer; display: flex; gap: 7px; margin: 0; }
.stock-template-products fieldset > div { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.stock-template-products fieldset > div > label { align-items: center; cursor: pointer; display: flex; gap: 7px; margin: 0; min-width: 0; }
.stock-template-products fieldset > div > label span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stock-template-card .task-detail { padding: 18px; }
.product-category-admin-list { max-width: 470px; width: 100%; }
.product-category-name-form { flex: 1 1 auto; margin: 0; min-width: 0; }
.product-category-name-input { background: transparent !important; border-color: transparent !important; color: #111; height: 38px; padding-left: 0; }
.product-category-name-input:not([readonly]) { background: #fff !important; border-color: #ddd !important; padding-left: 12px; }
.product-category-groups { display: grid; gap: 34px; }
.product-category-group { border: 0; min-width: 0; }
.product-category-group > summary { cursor: pointer; list-style: none; }
.product-category-group > summary::-webkit-details-marker { display: none; }
.product-category-group > summary::after { color: var(--brand); content: "\f107"; font-family: FontAwesome; font-size: 14px; margin-left: 2px; }
.product-category-group[open] > summary::after { content: "\f106"; }
.product-category-group > summary > span:first-child { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; }
.product-category-group > summary small { font-size: 12px; margin-top: 3px; }
.product-category-group .member-group { margin-top: 12px; }
.product-card summary { justify-content: flex-start; }
.product-card .member-summary-main { flex: 1 1 auto; min-width: 0; }
.product-card .member-summary-main strong,
.product-card .member-summary-main small { display: block; }
.product-card .task-summary-actions { margin-left: auto; }
.product-card.is-dragging { opacity: .5; }
.product-catalog-form { border-top: 1px solid #eee; padding: 20px; }
.member-tool-panel > .product-catalog-form { border-top: 0; }

.photo-grid { display: grid; gap: 14px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.photo-card { background: #fff; border: 1px solid #eee; min-width: 0; }
.photo-card__image { aspect-ratio: 4 / 3; background: #f3f5f5; border: 0; cursor: zoom-in; display: block; overflow: hidden; padding: 0; width: 100%; }
.photo-card__image img { height: 100%; object-fit: cover; transition: transform .2s ease; width: 100%; }
.photo-card__image:hover img { transform: scale(1.025); }
.photo-card__meta { align-items: center; color: #888; display: flex; font-size: 11px; gap: 8px; justify-content: space-between; padding: 8px 10px; }
.photo-card__meta form { margin: 0; }
.photo-card__meta button { background: transparent; border: 0; color: #999; cursor: pointer; padding: 2px 4px; }
.photo-card__meta button:hover { color: var(--brand); }

.photo-is-busy { overflow: hidden; }
.photo-busy-overlay { align-items: center; background: rgba(255,255,255,.88); display: flex; inset: 0; justify-content: center; padding: 22px; position: fixed; z-index: 1000003; }
.photo-busy-overlay[hidden] { display: none; }
.photo-busy-card { align-items: center; background: #fff; border: 1px solid rgba(0,0,0,.07); box-shadow: 0 18px 55px rgba(0,0,0,.14); color: #777; display: flex; flex-direction: column; gap: 7px; max-width: 390px; padding: 28px 34px 24px; text-align: center; width: 100%; }
.photo-busy-card strong { color: #222; font-size: 17px; }
.photo-busy-card > span:not(.photo-busy-spinner):not(.photo-busy-progress) { font-size: 13px; }
.photo-busy-spinner { animation: photo-busy-spin .75s linear infinite; border: 3px solid var(--brand-soft); border-radius: 50%; border-top-color: var(--brand); height: 38px; margin-bottom: 4px; width: 38px; }
.photo-busy-progress { background: var(--brand-soft); height: 3px; margin-top: 9px; overflow: hidden; position: relative; width: 100%; }
.photo-busy-progress span { animation: photo-busy-progress 1.25s ease-in-out infinite; background: var(--brand); height: 100%; left: -45%; position: absolute; width: 45%; }
@keyframes photo-busy-spin { to { transform: rotate(360deg); } }
@keyframes photo-busy-progress { 0% { left: -45%; } 100% { left: 100%; } }

.photo-lightbox { align-items: center; background: rgba(0, 0, 0, .92); display: flex; inset: 0; justify-content: center; position: fixed; z-index: 1000002; }
.photo-lightbox[hidden] { display: none; }
.photo-lightbox figure { align-items: center; display: flex; flex-direction: column; margin: 0; max-height: 92vh; max-width: min(88vw, 1500px); }
.photo-lightbox figure img { max-height: 86vh; max-width: 100%; object-fit: contain; }
.photo-lightbox figcaption { color: #ddd; font-size: 12px; margin-top: 8px; }
.photo-lightbox__close, .photo-lightbox__nav { background: rgba(255,255,255,.1); border: 0; color: #fff; cursor: pointer; position: absolute; z-index: 2; }
.photo-lightbox__close { font-size: 21px; height: 46px; right: 18px; top: 18px; width: 46px; }
.photo-lightbox__nav { border-radius: 50%; font-size: 22px; height: 52px; top: 50%; transform: translateY(-50%); width: 52px; }
.photo-lightbox__nav--prev { left: 18px; }
.photo-lightbox__nav--next { right: 18px; }
.photo-lightbox.is-slideshow,
.photo-lightbox:fullscreen { background: #050505; }
.photo-lightbox.is-slideshow figure,
.photo-lightbox:fullscreen figure { height: 100vh; max-height: none; max-width: none; width: 100vw; }
.photo-lightbox.is-slideshow figure img,
.photo-lightbox:fullscreen figure img { max-height: 100vh; max-width: 100vw; }
.photo-lightbox.is-slideshow figcaption,
.photo-lightbox:fullscreen figcaption { background: linear-gradient(transparent, rgba(0,0,0,.78)); bottom: 0; left: 0; margin: 0; padding: 45px 25px 18px; position: absolute; text-align: center; width: 100%; z-index: 1; }
.photo-lightbox.is-slideshow .photo-lightbox__close,
.photo-lightbox.is-slideshow .photo-lightbox__nav,
.photo-lightbox:fullscreen .photo-lightbox__close,
.photo-lightbox:fullscreen .photo-lightbox__nav { backdrop-filter: blur(4px); background: rgba(255,255,255,.16); }

@media (prefers-reduced-motion: reduce) {
    .photo-busy-spinner, .photo-busy-progress span { animation-duration: 2.5s; }
}

@media (max-width: 991px) { .photo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) {
    .photo-album-heading { flex-direction: column; }
    .photo-album-heading .actions { width: 100%; }
    .photo-album-heading .actions .btn { flex: 1 1 auto; }
    .photo-albums-heading { align-items: stretch; flex-direction: column; }
    .photo-albums-heading > .btn { align-self: flex-start; }
    .photo-grid { gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .photo-card__meta span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .photo-lightbox__nav { height: 44px; width: 44px; }
    .photo-lightbox__nav--prev { left: 6px; }
    .photo-lightbox__nav--next { right: 6px; }
    .stock-heading { flex-direction: column; }
    .stock-heading .actions { width: 100%; }
    .stock-heading .actions .btn { flex: 1 1 auto; }
    .stock-settings-form, .stock-product-form, .stock-quick-add { grid-template-columns: 1fr; }
    .stock-section-heading { align-items: stretch; flex-direction: column; }
    .stock-section-heading .btn { width: 100%; }
    .stock-heading-actions { width: 100%; }
    .stock-heading-actions .btn { flex: 1 1 auto; }
    .stock-product-form fieldset { grid-template-columns: 1fr 1fr; }
    .product-catalog-page { padding: 20px !important; }
    .stock-template-products { grid-template-columns: 1fr; }
    .stock-template-products fieldset > div { grid-template-columns: 1fr; }
    .product-catalog-top-actions { width: 100%; }
    .product-catalog-top-actions .btn { flex: 1 1 auto; }
    .product-category-groups { gap: 28px; }
    .product-category-group > summary { align-items: center; }
    .product-card summary { gap: 9px; padding: 12px 10px; }
    .product-card .member-sort-handle { flex-basis: 30px; height: 30px; width: 30px; }
    .product-catalog-page .member-mobile-order-actions { display: inline-flex; flex: 0 0 auto; gap: 4px; }
    .product-catalog-page .category-sort-handle,
    .product-catalog-page .product-card .member-sort-handle { display: none; }
    .product-card .task-summary-actions { gap: 5px; }
    .stock-quick-add .btn { align-items: center; display: flex; justify-content: center; }
    .stock-item-summary { flex-wrap: nowrap; gap: 9px; padding: 13px 12px; }
    .stock-item .task-summary-main small { display: none; }
    .stock-item [data-stock-edit] { display: none; }
    .stock-item-detail { padding: 10px 12px 12px; }
    .stock-item-edit-form { gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .stock-item-edit-form .stock-count-group { gap: 7px; grid-template-columns: 1fr; padding: 8px; }
    .stock-item-edit-form .stock-count-group label { font-size: 11px; }
    .stock-item-edit-form .form-control { min-width: 0; padding-left: 8px; padding-right: 8px; }
    .stock-item-edit-form .stock-edit-actions { grid-column: 1 / -1; }
    .stock-item-edit-form .stock-edit-actions .btn { width: 100%; }
    .stock-item-used { display: none; }
    .stock-count-group { grid-template-columns: 1fr 1fr; }
}

.activity-stats {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 18px;
}

.activity-stats div {
    background: #fafafa;
    border: 1px solid #eee;
    padding: 14px;
}

.activity-stats span {
    color: #777;
    display: block;
    font-size: 12px;
    text-transform: uppercase;
}

.activity-stats strong {
    color: #000;
    display: block;
    font-size: 20px;
    margin-top: 5px;
}

.activity-stats.cashbox-stats { margin-bottom: 0; }

@media (max-width: 767px) {
    .cashbox-section-heading { gap: 14px; }
    .cashbox-heading { align-items: flex-start; flex-direction: row; }
    .cashbox-heading > div:first-child { min-width: 0; }
    .cashbox-heading .actions { flex: 0 0 auto; width: auto; }
    .cashbox-heading .actions .btn { flex: 0 0 38px; height: 38px; padding: 0; width: 38px; }
    .activity-stats.cashbox-stats { gap: 7px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cashbox-stats .cashbox-stat-result { grid-column: 1 / -1; }
    .cashbox-stats div { min-width: 0; padding: 10px; }
    .cashbox-stats span { font-size: 10px; }
    .cashbox-stats strong { font-size: 17px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .cashbox-count-form { gap: 20px; }
    .cashbox-count-section,
    .cashbox-adjustments,
    .cashbox-extra-grid { padding-top: 17px; }
    .cashbox-count-heading { align-items: flex-start; margin-bottom: 10px; }
    .cashbox-count-heading p { display: none; }
    .cashbox-count-legend { display: block; margin-bottom: 2px; padding: 0; }
    .cashbox-count-legend span { display: none; }
    .cashbox-count-legend span:first-child { display: block; }
    .cashbox-denominations { gap: 5px; }
    .cashbox-denominations h4 { margin-top: 14px; }
    .cashbox-denomination-row { gap: 6px; grid-template-columns: 58px minmax(0, 1fr) minmax(0, 1fr); min-height: 55px; padding: 5px 7px; }
    .cashbox-denomination-row > strong { font-size: 14px; }
    .cashbox-denomination-row label { min-width: 0; position: relative; }
    .cashbox-denomination-row label > span { color: #8a8a8a; display: block; font-size: 9px; left: 7px; line-height: 1; pointer-events: none; position: absolute; text-transform: uppercase; top: 5px; z-index: 1; }
    .cashbox-denomination-row input { font-size: 17px; min-height: 45px; padding: 15px 7px 4px; width: 100%; }
    .cashbox-row-total { display: none; }
    .cashbox-expenses-heading { align-items: stretch; flex-direction: column; }
    .cashbox-expenses-heading .btn { align-self: flex-start; }
    .cashbox-expense-row { grid-template-columns: minmax(138px, 1fr) minmax(90px, .72fr) 38px; }
    .cashbox-expense-row > label:first-child { grid-column: 1 / -1; }
    .cashbox-expense-row.is-readonly { grid-template-columns: minmax(138px, 1fr) minmax(100px, .72fr); }
    .cashbox-expense-direction-options { height: 44px; }
    .cashbox-extra-grid { grid-template-columns: 1fr; }
    .cashbox-counter-grid { gap: 7px; }
    .cashbox-save { background: rgba(255,255,255,.96); bottom: 0; box-shadow: 0 -8px 18px rgba(0,0,0,.06); margin: 0 -12px -12px; padding: 10px 12px; position: sticky; z-index: 8; }
    .cashbox-save .btn { min-height: 44px; width: 100%; }
    .cashbox-count-form.is-autosave-enabled .cashbox-save { background: transparent; box-shadow: none; margin: 0; min-height: 22px; padding: 0; position: static; }
    .cashbox-count-form.is-autosave-enabled.has-autosave-error .cashbox-save { align-items: stretch; flex-direction: column; }

    .carry-list-quick-add.expense-quick-add { display: grid; grid-template-columns: minmax(0, 1fr) 92px 44px; }
    .carry-list-quick-add.expense-quick-add > input[name="item"] { grid-column: 1; padding-right: 10px; }
    .carry-list-quick-add.expense-quick-add > input[name="bedrag"] { grid-column: 2; min-width: 0; }
    .carry-list-quick-add.expense-quick-add > .expense-payer-picker { grid-column: 1 / -1; }
    .carry-list-quick-add.expense-quick-add > .btn { bottom: auto; grid-column: 3; height: 44px; position: static; right: auto; top: auto; width: 44px; }
    .carry-list-item.expense-list-item > summary { grid-template-columns: auto minmax(0, 1fr) auto 38px 18px; }
    .carry-list-item.expense-list-item > summary .expense-list-amount { grid-column: 3; margin: 0; }
    .carry-list-item.expense-list-item > summary .carry-list-row-actions { grid-column: 4; }
    .carry-list-item.expense-list-item > summary::after { grid-column: 5; }
    .expense-edit-form { grid-template-columns: 1fr; }
}

.activity-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.activity-table {
    border-collapse: collapse;
    margin-bottom: 18px;
    width: 100%;
}

.activity-table th,
.activity-table td {
    border-bottom: 1px solid #eee;
    padding: 8px;
    text-align: right;
    vertical-align: top;
}

.activity-table th:first-child,
.activity-table td:first-child {
    text-align: left;
}

.activity-table th {
    color: #777;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.activity-table input {
    min-width: 70px;
}

.activity-drink-table input + input {
    margin-top: 6px;
}

.task-accordion.admin-accordion-animating > .task-detail,
.document-accordion.admin-accordion-animating > .task-detail,
.activity-accordion.admin-accordion-animating > .activity-detail,
.activity-section.admin-accordion-animating > .accordion-body,
.verslag-punt.admin-accordion-animating > .task-detail,
.member-card-accordion.admin-accordion-animating > .member-view,
.member-card-accordion.admin-accordion-animating > .member-edit-form,
.member-tool-panel.admin-accordion-animating > .member-form,
.inline-tool-panel.admin-accordion-animating > .member-form {
    will-change: max-height, opacity;
}

.task-accordion.admin-accordion-closing > .task-detail,
.document-accordion.admin-accordion-closing > .task-detail,
.activity-accordion.admin-accordion-closing > .activity-detail,
.activity-section.admin-accordion-closing > .accordion-body,
.verslag-punt.admin-accordion-closing > .task-detail,
.member-card-accordion.admin-accordion-closing > .member-view,
.member-card-accordion.admin-accordion-closing > .member-edit-form,
.member-tool-panel.admin-accordion-closing > .member-form,
.inline-tool-panel.admin-accordion-closing > .member-form {
    pointer-events: none;
}

.task-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    margin-bottom: 0;
}

.task-summary-actions {
    flex: 0 0 auto;
    flex-wrap: nowrap;
    margin-left: auto;
    min-width: 0;
}

.task-action-label-button {
    align-items: center;
    display: inline-flex;
    min-height: 38px;
    white-space: nowrap;
}

.task-summary-actions .leden-actieknop {
    height: 38px;
    width: 38px;
}

.report-detail-back {
    margin-bottom: 22px;
}

.report-detail-heading {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 25px;
}

.report-detail-icon-actions {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
}

.report-detail-icon-actions form {
    display: inline-flex;
    margin: 0;
}

.report-detail-icon-actions .leden-actieknop {
    height: 38px;
    width: 38px;
}

.report-agenda-toolbar {
    align-items: center;
    border-top: 1px solid #edf0f1;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin: 24px 0 18px;
    padding-top: 18px;
}

.report-carryover-choice {
    align-items: center;
    border-top: 1px solid #edf0f1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 18px;
    padding-top: 14px;
}

.report-carryover-choice .check-line {
    cursor: pointer;
    font-size: 14px;
    margin: 0;
}

.report-carryover-choice .check-line input:disabled {
    cursor: default;
}

.report-carryover-choice [data-carryover-status] {
    min-height: 18px;
}

.report-save-template-choice {
    align-items: center;
    border-top: 1px solid #e5eaec;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 26px;
    padding-top: 18px;
}

.report-save-template-choice .check-line {
    cursor: pointer;
    font-size: 14px;
    margin: 0;
}

.report-save-template-choice [data-report-template-status] {
    min-height: 18px;
}

.report-open-items {
    border: 1px solid #e5eaec;
    margin: 8px 0 20px;
    padding: 16px;
}

.report-open-items legend {
    color: #222;
    font-size: 14px;
    font-weight: 600;
    margin: 0;
    padding: 0 6px;
    width: auto;
}

.report-open-items__list {
    display: grid;
    gap: 8px;
    margin-top: 12px;
    max-height: 290px;
    overflow-y: auto;
}

.report-open-item {
    align-items: flex-start;
    background: #fbfcfc;
    border: 1px solid #edf0f1;
    cursor: pointer;
    display: flex;
    gap: 10px;
    margin: 0;
    padding: 10px 12px;
}

.report-open-item:hover,
.report-open-item:focus-within {
    background: var(--brand-soft);
    border-color: var(--brand-soft-border);
}

.report-open-item input {
    accent-color: var(--brand);
    flex: 0 0 auto;
    margin-top: 4px;
}

.report-open-item span,
.report-open-item strong,
.report-open-item small {
    display: block;
    min-width: 0;
}

.report-open-item strong {
    color: #222;
    font-size: 14px;
    font-weight: 600;
}

.report-title-line {
    align-items: center;
    display: flex;
    gap: 8px;
    min-width: 0;
}

.report-title-line > strong {
    min-width: 0;
}

.report-open-indicator {
    align-items: center;
    background: var(--brand-soft);
    border: 1px solid var(--brand-soft-border);
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    flex: 0 0 24px;
    font-size: 11px;
    height: 24px;
    justify-content: center;
    width: 24px;
}

.report-open-indicator[hidden] {
    display: none;
}

.report-open-indicator--overview {
    flex-basis: 22px;
    height: 22px;
    width: 22px;
}

.task-actions form,
.task-comment-actions form {
    display: inline-flex;
}

.task-description-input {
    min-height: 170px;
}

.task-edit-form {
    margin-top: 18px;
}

.task-form .field-box {
    border: 0;
    margin-top: 12px;
    padding: 0;
}

.task-form .field-box legend {
    padding-left: 0;
}

.task-responsible-picker {
    margin-top: 0;
}

.task-comments {
    border-top: 1px solid #eee;
    margin-top: 18px;
    padding-top: 15px;
}

.task-comment {
    background: #fafafa;
    border-left: 3px solid var(--brand);
    margin-bottom: 12px;
    padding: 12px 14px;
}

.task-comment strong,
.task-comment small {
    display: block;
}

.task-comment p {
    margin: 6px 0 8px;
}

.task-comment-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

.task-comment-new {
    margin-top: 15px;
}

.mention-tools {
    align-items: center;
    display: flex;
    gap: 6px;
    margin: 6px 0 12px;
    position: relative;
}

.mention-tools--automatic {
    display: block;
    height: 0;
    margin: 0;
}

.mention-hint {
    align-items: center;
    color: var(--brand);
    display: inline-flex;
    font-size: 13px;
    gap: 5px;
    justify-content: center;
    opacity: .75;
}

.mention-trigger {
    align-items: center;
    background: transparent;
    border: 0;
    color: #8b9498;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 12px;
    gap: 6px;
    line-height: 1.35;
    padding: 1px 0;
    transition: color .16s ease;
}

.mention-trigger:hover,
.mention-trigger:focus-visible {
    color: var(--brand);
    outline: none;
}

.report-participants {
    background: #fbfcfc;
    border: 1px solid #edf0f1;
    padding: 16px 18px;
}

.report-participants__header {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.report-participant-editor {
    min-width: 0;
}

.report-participant-save-status {
    display: block;
    font-size: 12px;
    margin-top: 6px;
}

.report-participant-save-status[hidden] {
    display: none;
}

.report-participant-chips {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.report-participant-chip {
    align-items: center;
    background: var(--brand-soft);
    border: 1px solid rgba(var(--brand-rgb), .14);
    border-radius: 999px;
    color: #344247;
    display: inline-flex;
    font-size: 13px;
    gap: 7px;
    line-height: 1.25;
    max-width: 100%;
    padding: 7px 10px;
}

.report-participant-chip > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.report-participant-chip .fa {
    color: var(--brand);
}

.report-participant-chip button {
    align-items: center;
    background: transparent;
    border: 0;
    color: #7a8589;
    cursor: pointer;
    display: inline-flex;
    padding: 0 0 0 2px;
}

.report-participant-chip button:hover,
.report-participant-chip button:focus-visible {
    color: var(--brand);
    outline: none;
}

.report-participant-suggestions {
    width: min(440px, 100%);
}

.mention-suggestions {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    box-sizing: border-box;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .14);
    left: 0;
    max-height: 280px;
    width: min(340px, calc(100vw - 48px));
    overflow: auto;
    position: absolute;
    top: 28px;
    z-index: 200;
}

button.mention-suggestion,
.mention-suggestion {
    align-items: center;
    background: #fff;
    border: 0;
    border-radius: 10px;
    box-sizing: border-box;
    color: #333;
    cursor: pointer;
    display: flex;
    font-size: 13px;
    gap: 10px;
    line-height: 1.35;
    margin: 4px;
    min-height: 50px;
    padding: 6px 9px;
    text-align: left;
    width: calc(100% - 8px);
}

button.mention-suggestion:hover,
button.mention-suggestion.is-active,
.mention-suggestion:hover,
.mention-suggestion.is-active {
    background: var(--brand-soft);
    box-shadow: none;
    color: var(--brand);
}

button.mention-suggestion .mention-suggestion__avatar,
.mention-suggestion__avatar {
    align-items: center;
    background: var(--brand-soft);
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    flex: 0 0 38px !important;
    font-size: 14px;
    font-weight: 600;
    height: 38px !important;
    justify-content: center;
    overflow: hidden;
    width: 38px !important;
}

button.mention-suggestion .mention-suggestion__avatar img,
.mention-suggestion__avatar img {
    display: block;
    height: 38px !important;
    max-height: 38px !important;
    max-width: 38px !important;
    object-fit: cover;
    width: 38px !important;
}

button.mention-suggestion .mention-suggestion__body,
.mention-suggestion__body {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
}

button.mention-suggestion .mention-suggestion__body strong,
.mention-suggestion__body strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

button.mention-suggestion .mention-suggestion__body strong,
.mention-suggestion__body strong {
    color: #222;
    font-size: 14px;
    font-weight: 600;
}

.agenda-access-picker .mention-suggestion__body small,
.dashboard-compose-suggestions .mention-suggestion__body small {
    color: #858c90;
    display: block;
    font-size: 11px;
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.task-order-status {
    min-height: 18px;
    margin-top: 10px;
}

.opmerking-mention {
    color: var(--brand);
    font-weight: 600;
}

.report-template-picker {
    position: relative;
    width: 100%;
}

[data-report-template-select][hidden] {
    display: none !important;
}

.report-template-picker__trigger {
    align-items: center;
    background: #fff;
    border: 1px solid #ccd5d8;
    color: #3f494d;
    display: flex;
    font: inherit;
    justify-content: space-between;
    min-height: 42px;
    padding: 8px 12px;
    text-align: left;
    width: 100%;
}

.report-template-picker__trigger .fa {
    color: var(--brand);
    font-size: 11px;
    transition: transform .18s ease;
}

.report-template-picker__trigger:focus,
.report-template-picker__trigger:focus-visible {
    border-color: var(--brand-soft-border);
    box-shadow: 0 0 0 2px var(--brand-soft);
    outline: 0 !important;
}

.report-template-picker.is-open .report-template-picker__trigger {
    background: #fbfdfd;
    border-color: var(--brand-soft-border);
    box-shadow: 0 0 0 2px var(--brand-soft);
    outline: 0 !important;
}

.report-template-picker.is-open .report-template-picker__trigger .fa {
    transform: rotate(180deg);
}

.report-template-picker__menu {
    background: #fff;
    border: 1px solid #dbe2e4;
    box-shadow: 0 5px 14px rgba(24, 45, 52, .09);
    left: 0;
    max-height: 260px;
    overflow-y: auto;
    padding: 6px;
    position: absolute;
    right: 0;
    top: calc(100% + 5px);
    z-index: 50;
}

.report-template-picker__menu[hidden] {
    display: none;
}

.report-template-picker__option {
    align-items: center;
    background: transparent;
    border: 0;
    color: #465155;
    display: flex;
    font: inherit;
    justify-content: space-between;
    min-height: 40px;
    padding: 8px 10px;
    text-align: left;
    width: 100%;
}

.report-template-picker__option:hover,
.report-template-picker__option:focus {
    background: var(--brand-soft);
    color: var(--brand);
    outline: 0;
}

.report-template-picker__option .fa {
    color: var(--brand);
    opacity: 0;
}

.report-template-picker__option.is-selected {
    background: var(--brand-soft);
    color: var(--brand);
    font-weight: 600;
}

.report-template-picker__option.is-selected .fa {
    opacity: 1;
}

.pijlboven {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 1000000;
}

.pijlboven .back-to-top {
    align-items: center;
    background: rgba(255, 255, 255, .9);
    border-radius: 50%;
    box-shadow: 0 3px 12px rgba(0, 0, 0, .18);
    color: #777;
    display: flex !important;
    height: 50px;
    justify-content: center;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: static !important;
    transform: none !important;
    transition: color .2s ease, background-color .2s ease, box-shadow .2s ease;
    visibility: visible !important;
    width: 50px;
}

.pijlboven .back-to-top:hover,
.pijlboven .back-to-top:focus {
    background: var(--brand) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .22);
    color: var(--brand-button-text);
    text-decoration: none;
}

@media (max-width: 520px) {
    .pijlboven {
        bottom: 16px;
        right: 14px;
    }

    .pijlboven .back-to-top {
        display: flex !important;
        height: 44px;
        width: 44px;
    }
}

@media (max-width: 991.98px) {
    .navbar-collapse {
        display: none;
        flex-basis: 100%;
        order: 3;
        width: 100%;
    }

    .navbar-collapse.show {
        display: block;
    }

    .navbar-nav {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
        margin-top: 12px;
        padding-bottom: 8px;
        width: 100%;
    }

    .u-header__section .navbar-nav > .nav-item {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100%;
    }

    .u-header__section .navbar-nav > .nav-item > .nav-link,
    .u-header__section .navbar-nav > .nav-item > details > summary.nav-link {
        padding: 8px 0 !important;
    }

    .va-account-menu .hs-sub-menu {
        left: 0;
        margin-top: 6px;
        position: static;
        right: auto;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .form-row-wide {
        grid-column: span 1;
    }
}

@media (max-width: 520px) {
    .u-shadow-v2.g-pa-30 {
        padding: 22px 16px !important;
    }

    .report-detail-heading {
        gap: 12px;
    }

    .report-detail-icon-actions {
        gap: 6px;
    }

    .report-agenda-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .report-agenda-toolbar .btn {
        align-self: flex-end;
    }

    .report-participants {
        padding: 14px;
    }

    .report-participants__header {
        align-items: stretch;
        flex-direction: column;
    }

    .report-participant-picker,
    .report-participant-picker .document-access-selected,
    .report-participant-picker .document-access-input,
    .report-participant-suggestions {
        width: 100%;
    }

    .member-print-action {
        display: none !important;
    }

    .member-print-menu {
        display: none !important;
    }

    .admin-button-label {
        display: none;
    }

    .member-group-header {
        align-items: flex-start;
        gap: 10px;
    }

    .member-group-print-actions {
        gap: 6px;
    }

    .member-group-print-actions .btn,
    [data-toggle-details="nieuw-lid"].btn,
    a[href*="sectie=categorieen"].btn {
        align-items: center;
        display: inline-flex;
        justify-content: center;
        min-height: 36px;
        min-width: 38px;
        padding-left: 10px;
        padding-right: 10px;
    }

    .member-group-print-actions .btn i,
    [data-toggle-details="nieuw-lid"].btn i,
    a[href*="sectie=categorieen"].btn i {
        margin-right: 0 !important;
    }

    .member-sort-handle {
        display: none;
    }

    .task-page-heading {
        align-items: flex-start !important;
    }

    .task-page-heading,
    .task-page-actions,
    .task-toolbar,
    .task-toolbar .btn-group,
    .task-toolbar .input-group {
        width: 100%;
    }

    .task-page-actions .btn,
    .task-toolbar .btn-group .btn {
        flex: 1 1 auto;
        min-width: 0;
    }

    .task-toolbar {
        align-items: stretch;
    }

    .activity-inline-add,
    .activity-stats {
        grid-template-columns: 1fr;
    }

    .activity-module-overview {
        grid-template-columns: 1fr;
    }

    .carry-list-quick-add:not(.carry-list-quick-add--assignable) {
        grid-template-columns: 1fr;
    }

    .carry-list-quick-add--assignable {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto auto;
    }

    .carry-list-quick-add .btn {
        min-height: 40px;
    }

    .carry-list-toolbar {
        align-items: stretch;
    }

    .carry-list-item__avatar {
        flex-basis: 34px;
        height: 34px;
        width: 34px;
    }

    .carry-list-row-actions {
        margin-left: 46px;
        width: auto;
    }

    .activity-mini-row {
        flex-direction: column;
    }

    .activity-table th,
    .activity-table td {
        padding: 7px 5px;
    }

    .activity-table input {
        min-width: 58px;
    }

    .activity-drink-table {
        min-width: 720px;
    }

    .activity-row-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .task-accordion summary {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 12px;
        padding: 16px;
        padding-right: 54px;
        position: relative;
    }

    .task-sort-handle {
        display: none;
    }

    .notes-panel .note-mobile-order-actions {
        display: inline-flex;
        flex: 0 0 auto;
        gap: 5px;
    }

    .activity-overview-row {
        flex-wrap: wrap;
        gap: 0;
    }

    .activity-overview-link,
    .activity-order-control + .activity-overview-link {
        flex: 1 1 100%;
        padding: 15px;
    }

    .activity-order-control {
        margin: 0 0 12px 15px;
        order: 2;
    }

    .activity-order-control .task-sort-handle {
        display: none;
    }

    .activity-mobile-order-actions {
        display: inline-flex;
        gap: 6px;
    }

    .activity-overview-row .task-summary-actions {
        margin: 0 15px 12px auto;
        order: 3;
    }

    .task-summary-main {
        flex: 1 1 100%;
        order: 1;
    }

    .order-card > summary .task-summary-main {
        flex: 1 1 auto;
        order: 0;
    }

    .task-accordion > summary .task-summary-main > strong {
        box-sizing: border-box;
        display: block;
        max-width: 100%;
        overflow-wrap: anywhere;
        padding-right: 34px;
    }

    .task-summary-main small {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .task-summary-main small .g-ml-10 {
        margin-left: 0 !important;
    }

    .task-summary-actions {
        flex: 1 1 100%;
        flex-wrap: wrap;
        justify-content: flex-start;
        margin-left: 0;
        order: 3;
    }

    .task-completed-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .task-action-label-button {
        white-space: normal;
    }

    .task-accordion summary::after {
        align-items: center;
        display: inline-flex;
        height: 30px;
        justify-content: center;
        margin-left: 0;
        order: 0;
        position: absolute;
        right: 14px;
        top: 13px;
        width: 30px;
    }

    .document-accordion summary {
        display: grid;
        gap: 10px 12px;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .document-accordion .task-summary-main {
        grid-column: 1 / 2;
        min-width: 0;
        order: 0;
        width: 100%;
    }

    .document-accordion summary::after {
        align-self: center;
        grid-column: 2 / 3;
        grid-row: 1;
        margin-left: 0;
        order: 0;
        position: static;
    }

    .document-accordion .task-summary-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
        margin-left: 0;
        order: 0;
        width: 100%;
    }

    .document-title-line,
    .document-title-text,
    .document-summary-meta,
    .document-file-count,
    .document-files,
    .document-file-row,
    .document-file-main,
    .document-file-link,
    .document-file-name {
        max-width: 100%;
        min-width: 0;
    }

    .document-file-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .inline-add-form {
        grid-template-columns: minmax(0, 1fr) 38px;
        max-width: none;
    }

    .task-search {
        max-width: none;
        width: 100%;
    }

    .task-actions {
        justify-content: flex-start;
    }

    .member-accordion summary {
        gap: 10px;
        padding: 13px 12px;
    }

    .member-contact-avatar {
        flex-basis: 36px;
        height: 36px;
        width: 36px;
    }

    .member-contact-card {
        align-items: flex-start;
        display: grid;
        gap: 14px;
        grid-template-columns: 68px minmax(0, 1fr);
    }

    .member-contact-avatar-large {
        flex-basis: 68px;
        height: 68px;
        width: 68px;
    }

    .account-photo-card {
        align-items: flex-start;
    }

    .profile-photo-editor {
        align-items: flex-start;
        gap: 13px;
    }

    .profile-photo-editor__avatar {
        font-size: 23px;
        height: 72px;
        width: 72px;
    }

    .profile-photo-editor__camera {
        height: 25px;
        width: 25px;
    }

    .member-contact-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

    .member-contact-action {
        flex: 0 0 58px;
        height: 58px;
        min-height: 58px;
        min-width: 58px;
        padding: 0;
        width: 58px;
    }

    .member-contact-action i {
        font-size: 21px;
    }

    .member-readonly-grid {
        gap: 8px;
        grid-template-columns: 1fr;
    }

    .member-readonly-field-wide {
        grid-column: span 1;
    }

    .member-readonly-field strong {
        font-size: 13px;
    }

    .member-readonly-field span {
        line-height: 1.5;
        margin-top: 0;
    }

    .member-readonly-line {
        line-height: 1.45;
        margin-top: 0 !important;
    }

    .member-readonly-line span {
        margin-top: 0;
    }

    .document-search {
        align-items: stretch;
        flex-wrap: nowrap;
    }

    .document-search .input-group-append {
        flex: 0 0 auto;
    }

    #document-form-panel {
        scroll-margin-top: 210px;
    }

    .document-mobile-new-action {
        align-items: center;
        display: inline-flex !important;
        justify-content: center;
    }

    .document-print-label {
        display: none !important;
    }

    .document-print-icon {
        margin-right: 0;
    }

    .search-clear-button {
        min-width: 42px;
        padding-left: 10px;
        padding-right: 10px;
    }

    .search-clear-button span {
        display: none;
    }

    .search-clear-button .fa {
        margin-right: 0 !important;
    }

    .dashboard-modules {
        margin-bottom: 24px;
    }

    .dashboard-module-grid {
        margin-bottom: -12px;
    }

    .dashboard-module-column {
        margin-bottom: 12px;
    }

    .dashboard-card {
        align-items: center;
        display: grid;
        gap: 14px;
        grid-template-columns: 50px minmax(0, 1fr) 30px;
        min-height: 0;
        padding: 17px;
    }

    .dashboard-card::after {
        height: 135px;
        right: -62px;
        top: -70px;
        width: 135px;
    }

    .dashboard-card__icon {
        flex-basis: 50px;
        font-size: 21px;
        height: 50px;
        margin-bottom: 0;
        width: 50px;
    }

    .dashboard-card__arrow {
        grid-column: 3;
        position: static;
    }

    .dashboard-card:hover,
    .dashboard-card:focus {
        transform: translateY(-1px);
    }

    .dashboard-overview {
        padding: 20px 18px 18px;
    }

    .overview-card {
        gap: 14px;
        padding: 18px;
    }

    /* Op mobiel is de meeneemlijst een compacte afvinklijst. */
    .carry-list-quick-add {
        display: block;
        position: relative;
    }

    .carry-list-quick-add > input[name="omschrijving"] {
        display: none;
    }

    .carry-list-quick-add > input[name="item"] {
        min-height: 44px;
        padding-right: 96px;
    }

    .carry-list-quick-add--assignable .carry-quick-assignee {
        position: absolute;
        right: 48px;
        top: 1px;
        z-index: 3;
    }

    .carry-list-quick-add--assignable .carry-quick-assignee__trigger {
        border-bottom: 0;
        border-top: 0;
        height: 42px;
    }

    .carry-list-quick-add--assignable .carry-quick-assignee__popover {
        right: -47px;
        width: min(340px, calc(100vw - 48px));
    }

    .carry-list-quick-add > .btn {
        align-items: center;
        border-bottom: 0;
        border-right: 0;
        border-top: 0;
        bottom: 1px;
        display: inline-flex;
        height: 42px;
        justify-content: center;
        min-height: 0;
        padding: 0;
        position: absolute;
        right: 1px;
        top: 1px;
        width: 46px;
    }

    .carry-list-quick-add > .btn span {
        display: none;
    }

    .carry-list-quick-add > .btn .fa {
        margin: 0;
    }

    .carry-list-item > summary {
        align-items: center;
        display: grid;
        flex-wrap: nowrap;
        gap: 8px;
        grid-template-columns: auto minmax(0, 1fr) 38px 18px;
        min-height: 58px;
        padding: 9px 10px;
        position: relative;
    }

    .carry-list-item > summary .carry-list-item__avatars {
        grid-column: 1;
        order: 0;
        padding: 0;
    }

    .carry-list-item__avatars .carry-list-item__avatar {
        display: none;
    }

    .carry-list-item__avatars .carry-list-item__avatar:first-child {
        display: inline-flex;
        margin-left: 0;
    }

    .carry-list-item__avatars .carry-list-item__avatar--more {
        display: none;
    }

    .carry-list-mobile-avatar-count {
        align-items: center;
        background: #f1f1f1;
        border: 2px solid #fff;
        border-radius: 999px;
        color: #666;
        display: inline-flex;
        flex: 0 0 auto;
        font-size: 10px;
        font-weight: 600;
        height: 28px;
        justify-content: center;
        margin-left: -8px;
        min-width: 28px;
        padding: 0 5px;
    }

    .carry-list-item > summary .carry-list-item__main {
        grid-column: 2;
        order: 0;
        overflow: hidden;
        width: auto;
    }

    .carry-list-item__main > strong {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .carry-list-item__main .carry-list-responsible-line {
        display: none;
    }

    .carry-list-item__main .carry-list-responsible-line--checker {
        display: flex;
    }

    .carry-list-item > summary .carry-list-row-actions {
        display: block;
        grid-column: 3;
        margin: 0;
        order: 0;
        width: 38px;
    }

    .carry-list-row-actions .carry-list-desktop-edit,
    .carry-list-row-actions .carry-list-desktop-delete {
        display: none;
    }

    .carry-list-row-actions .carry-list-toggle-action {
        display: inline-flex;
        margin: 0;
    }

    .carry-list-row-actions .carry-list-toggle-action .leden-actieknop {
        height: 36px;
        width: 36px;
    }

    .carry-list-item > summary::after {
        align-self: center;
        grid-column: 4;
        margin: 0;
        order: 0;
        position: static;
        right: auto;
        top: auto;
    }

    .carry-list-item__body {
        padding: 12px;
    }

    .carry-list-mobile-responsibles {
        display: block;
        font-size: 12px;
        margin: 0 0 10px;
    }

    .carry-list-mobile-detail-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin: 0 0 12px;
    }

    .carry-list-mobile-detail-actions form {
        margin: 0;
    }

    .helper-list-create {
        display: block;
        position: relative;
    }

    .helper-list-create .form-control {
        min-height: 44px;
        padding-right: 50px;
    }

    .helper-list-create .btn {
        bottom: 1px;
        font-size: 0;
        height: 42px;
        min-height: 0;
        padding: 0;
        position: absolute;
        right: 1px;
        top: 1px;
        width: 46px;
    }

    .helper-list-create .btn .fa {
        font-size: 14px;
        margin: 0;
    }

    .helper-list__header {
        padding: 12px;
    }

    .helper-new-task > summary {
        padding: 12px;
    }

    .helper-new-task-button {
        width: 100%;
    }

    .helper-new-task > summary small {
        display: none;
    }

    .helper-task-form {
        grid-template-columns: minmax(0, 1fr) 105px;
    }

    .helper-task > summary {
        align-items: center;
        display: grid;
        flex-wrap: nowrap;
        gap: 8px;
        grid-template-columns: auto minmax(0, 1fr) auto 16px;
        min-height: 60px;
        padding: 9px 10px;
    }

    .helper-task > summary .helper-task__people {
        grid-column: 1;
        order: 0;
    }

    .helper-task > summary .helper-task__main {
        grid-column: 2;
        order: 0;
        width: auto;
    }

    .helper-task > summary .helper-task__actions {
        flex: 0 0 auto;
        grid-column: 3;
        margin: 0;
        order: 0;
        width: auto;
    }

    .helper-task > summary::after {
        grid-column: 4;
        margin: 0;
        order: 0;
        position: static;
        right: auto;
        top: auto;
    }

    .helper-task__actions > .leden-actieknop,
    .helper-task__actions > form {
        display: none;
    }

    .helper-progress {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .helper-progress > .helper-schedule,
    .helper-progress > .helper-schedule + .helper-schedule,
    .helper-progress > .helper-occupancy {
        border: 0;
        margin-left: 0;
        padding: 0;
    }

    .helper-progress .helper-occupancy {
        display: none;
    }

    .helper-task__body {
        padding: 12px;
    }

    .helper-mobile-admin-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 14px;
    }

    .helper-mobile-admin-actions form {
        margin: 0;
    }

    .helper-task-form__description {
        grid-column: 1 / -1;
    }

    .helper-picker-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .helper-person-add {
        grid-template-columns: minmax(0, 1fr) 42px;
        padding: 10px;
    }

    .helper-person-add > .btn {
        height: 38px;
        padding: 0;
        width: 42px;
    }

    .helper-person-add > .btn span {
        display: none;
    }

    .helper-create-contact {
        grid-column: 1 / -1;
        min-height: 0;
    }

}

/* Bestellingen bekijken: zuiver werkscherm voor keuken, toog of afhaalpunt. */
.kitchen-public-header--viewer {
    display: block;
    padding: 14px 0;
}

.kitchen-public-header-inner {
    align-items: center;
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0 auto;
    max-width: 1280px;
    min-height: 48px;
    padding: 0 20px;
    width: 100%;
}

.kitchen-public-header-inner .kitchen-public-title h1,
.kitchen-public-header-inner .kitchen-public-title p {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kitchen-public-header-actions {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-self: end;
}

.kitchen-sound-toggle {
    align-items: center;
    background: #fff;
    border: 1px solid #cfd7da;
    border-radius: 4px;
    color: #4f5559;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    gap: 8px;
    min-height: 36px;
    padding: 7px 11px;
}

.kitchen-sound-toggle:hover,
.kitchen-sound-toggle:focus-visible,
.kitchen-sound-toggle.is-active {
    border-color: var(--brand);
    color: var(--brand);
}

.kitchen-sound-toggle:focus {
    box-shadow: none;
    outline: 0;
}

.kitchen-sound-toggle:focus-visible {
    box-shadow: 0 0 0 2px var(--brand-soft-border);
}

.kitchen-sound-toggle.is-active {
    background: var(--brand-soft);
}

.kitchen-sound-toggle.is-error {
    background: var(--brand-danger-soft, rgba(176, 0, 32, .08));
    border-color: var(--brand-danger, #b00020);
    color: var(--brand-danger, #b00020);
}

.kitchen-public-main {
    display: block;
    max-width: 1280px;
    padding: 24px 20px 34px;
    width: 100%;
}

.kitchen-public-main > *,
.kitchen-work-board {
    max-width: none;
    width: 100%;
}

.kitchen-order-search {
    margin: 0 0 22px auto;
    max-width: 480px !important;
}

.kitchen-order-search .input-group-text,
.kitchen-order-search .form-control {
    min-height: 42px;
}

.kitchen-order-search .form-control::-webkit-search-cancel-button {
    appearance: none;
}

.kitchen-order-search-clear {
    align-items: center;
    background: #fff;
    border: 1px solid #ddd;
    border-left: 0;
    color: #7b8286;
    display: inline-flex;
    height: 42px;
    justify-content: center;
    min-height: 42px;
    padding: 0;
    width: 42px;
}

.kitchen-order-search-clear[hidden] {
    display: none !important;
}

.kitchen-order-search-clear:hover,
.kitchen-order-search-clear:focus-visible {
    background: #fff;
    border-color: #ddd;
    color: var(--brand);
    outline: 0;
}

.kitchen-order-delete,
.kitchen-delete-confirm {
    background: #fff;
    border: 1px solid var(--brand-danger);
    color: var(--brand-danger);
}

.kitchen-order-delete {
    margin-left: auto;
}

.kitchen-order-delete:hover,
.kitchen-order-delete:focus-visible,
.kitchen-delete-confirm:hover,
.kitchen-delete-confirm:focus-visible {
    background: var(--brand-danger);
    border-color: var(--brand-danger);
    color: #fff;
    outline: 0;
}

.kitchen-delete-modal .admin-confirm-header {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.kitchen-delete-modal .admin-confirm-header h2 {
    font-size: 19px;
    margin: 0 0 5px;
}

.kitchen-delete-modal .admin-confirm-header p {
    color: #686f73;
    font-size: 14px;
    margin: 0;
}

.kitchen-search-empty {
    margin-top: 0;
}

.kitchen-work-heading {
    align-items: flex-end;
    display: flex;
    justify-content: space-between;
    margin-bottom: 16px;
}

.kitchen-work-heading h2 {
    font-size: 22px;
    margin: 0;
}

.kitchen-work-heading p {
    color: #70777b;
    margin: 4px 0 0;
}

.kitchen-work-empty {
    background: #fff;
    border: 1px solid #e1e6e8;
    border-radius: 10px;
    min-height: 220px;
    padding: 48px 20px;
}

.kitchen-work-list {
    background: transparent;
    border: 0;
    border-radius: 0;
    gap: 22px;
    padding: 0;
    width: 100%;
}

.kitchen-work-list > .kitchen-work-card {
    background: #fff;
    border: 1px solid #dce3e6;
    border-radius: 5px;
    box-shadow: 0 4px 14px rgba(27, 43, 50, .09);
}

.kitchen-work-list > .kitchen-work-card[open] {
    border-top: 4px solid var(--brand);
}

.kitchen-work-card > summary {
    grid-template-columns: 64px 34px minmax(0, 1fr) auto;
    min-height: 76px;
}

.kitchen-work-card > summary::after {
    display: none;
}

.kitchen-work-card > summary .order-number {
    font-size: 19px;
}

.kitchen-work-card > summary .task-summary-main small {
    font-size: 13px;
}

.kitchen-work-card > summary .order-summary-note {
    font-size: 16px;
    margin: 0;
}

.kitchen-work-card > summary .task-summary-main {
    align-items: baseline;
    display: flex;
    flex-flow: row wrap;
    gap: 4px 8px;
}

.kitchen-work-detail {
    padding: 0 18px 18px;
}

.kitchen-work-actions {
    border-bottom: 0;
    border-top: 1px dashed #d8dee1;
    gap: 10px;
    margin: 2px 0 0;
    padding: 16px 0 0;
}

.kitchen-work-card-status-loading .kitchen-work-actions {
    pointer-events: none;
    visibility: hidden;
}

.kitchen-work-actions .btn {
    align-items: center;
    display: inline-flex;
    gap: 9px;
    justify-content: center;
    min-height: 44px;
    min-width: 132px;
}

.kitchen-work-actions .btn > .fa {
    flex: 0 0 auto;
    margin: 0 !important;
}

.kitchen-work-actions .btn.u-btn-outline-primary {
    background: #fff !important;
    border-color: var(--brand) !important;
    color: var(--brand) !important;
}

.kitchen-work-actions .btn.u-btn-primary {
    background: var(--brand) !important;
    border-color: var(--brand) !important;
    color: var(--brand-button-text) !important;
}

.kitchen-work-lines {
    border: 0;
    border-radius: 0;
    overflow: visible;
}

.kitchen-work-line {
    border: 0;
    padding: 16px 0;
}

.kitchen-work-line + .kitchen-work-line {
    border-top: 1px dashed #d8dee1;
}

.kitchen-work-line > span {
    display: block;
    line-height: 1.5;
    width: 100%;
}

.kitchen-work-line strong {
    display: inline;
    font-size: 16px;
}

.kitchen-work-line small:not(.order-line-note) {
    color: #626a6e;
    display: inline;
    font-size: 16px;
    font-weight: 400;
    line-height: inherit;
    margin: 0;
}

.kitchen-work-line small:not(.order-line-note)::before {
    color: #9aa0a3;
    content: " — ";
}

.kitchen-work-line .order-line-note {
    display: block;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.45;
    margin: 5px 0 0;
}

.kitchen-product-variants {
    display: grid;
    gap: 5px;
    margin-top: 7px;
    padding-left: 18px;
}

.kitchen-product-variant {
    align-items: baseline;
    color: #626a6e;
    display: flex;
    flex-wrap: wrap;
    font-size: 15px;
    gap: 4px 7px;
    line-height: 1.4;
}

.kitchen-product-variant b {
    color: #343a3d;
    flex: 0 0 auto;
    font-weight: 600;
}

.kitchen-product-variant em {
    color: #737b7f;
    font-size: 13px;
    font-style: normal;
}

.kitchen-product-variant em::before {
    content: "— ";
}

.kitchen-work-note {
    font-size: 14px;
    line-height: 1.45;
}

.kitchen-work-finished-heading {
    margin: 10px 2px 0;
    padding-top: 20px;
}

.kitchen-work-list > .order-card--klaar,
.kitchen-work-list > .order-card--geleverd {
    opacity: .78;
}

.kitchen-flash[hidden] {
    display: none !important;
}

@media (min-width: 681px) and (max-width: 1200px), (pointer: coarse) and (min-width: 681px) {
    .kitchen-public-header--viewer {
        padding: 17px 0;
    }

    .kitchen-public-header-inner {
        gap: 20px;
        min-height: 58px;
        padding: 0 24px;
    }

    .kitchen-public-brand {
        gap: 14px;
    }

    .kitchen-public-brand img,
    .kitchen-public-brand > span {
        flex-basis: 56px;
        height: 56px;
    }

    .kitchen-public-brand strong {
        font-size: 18px;
    }

    .kitchen-public-brand small,
    .kitchen-public-title p {
        font-size: 15px;
    }

    .kitchen-public-header-inner .kitchen-public-title h1 {
        font-size: 28px;
    }

    .kitchen-live {
        font-size: 15px;
    }

    .kitchen-public-main {
        padding: 28px 24px 40px;
    }

    .kitchen-work-heading {
        margin-bottom: 20px;
    }

    .kitchen-work-heading h2 {
        font-size: 28px;
    }

    .kitchen-work-heading p {
        font-size: 16px;
        margin-top: 6px;
    }

    .kitchen-work-list {
        gap: 16px;
        padding: 0;
    }

    .kitchen-work-card > summary {
        gap: 10px;
        grid-template-columns: 82px 44px minmax(0, 1fr) auto;
        min-height: 84px;
        padding: 16px 18px;
    }

    .kitchen-work-card > summary .order-number {
        font-size: 24px;
    }

    .kitchen-work-card > summary .order-status-icon {
        height: 40px;
        width: 40px;
    }

    .kitchen-work-card > summary .order-summary-note {
        font-size: 20px;
        margin: 0;
    }

    .kitchen-work-card > summary .task-summary-main small {
        font-size: 16px;
        line-height: 1.45;
    }

    .kitchen-work-detail {
        padding: 0 20px 18px;
    }

    .kitchen-work-actions {
        gap: 12px;
        margin-bottom: 0;
        padding: 13px 0 0;
    }

    .kitchen-work-actions .btn {
        font-size: 17px;
        min-height: 50px;
        min-width: 180px;
        padding: 9px 16px;
    }

    .kitchen-work-line {
        padding: 12px 0;
    }

    .kitchen-work-line strong {
        font-size: 21px;
        line-height: 1.3;
    }

    .kitchen-work-line small:not(.order-line-note) {
        font-size: 21px;
        line-height: 1.3;
    }

    .kitchen-work-line .order-line-note {
        font-size: 16px;
        margin-top: 5px;
    }

    .kitchen-work-note {
        font-size: 17px;
        line-height: 1.5;
        padding: 14px 16px;
    }

    .kitchen-work-finished-heading {
        font-size: 18px;
        padding-top: 24px;
    }

    .kitchen-refresh-status {
        font-size: 14px;
        margin-top: 18px;
    }
}

/* Bestellingen bekijken: desktop gebruikt dezelfde ruime werkwijze als tablet. */
@media (min-width: 1201px) and (pointer: fine) {
    body.kitchen-work-public-body .kitchen-public-header--viewer {
        padding: 17px 0;
    }

    body.kitchen-work-public-body .kitchen-public-header-inner {
        gap: 20px;
        min-height: 58px;
        padding: 0 24px;
    }

    body.kitchen-work-public-body .kitchen-public-brand {
        gap: 14px;
    }

    body.kitchen-work-public-body .kitchen-public-brand img,
    body.kitchen-work-public-body .kitchen-public-brand > span {
        flex-basis: 56px;
        height: 56px;
    }

    body.kitchen-work-public-body .kitchen-public-brand strong {
        font-size: 18px;
    }

    body.kitchen-work-public-body .kitchen-public-brand small,
    body.kitchen-work-public-body .kitchen-public-title p {
        font-size: 15px;
    }

    body.kitchen-work-public-body .kitchen-public-title h1 {
        font-size: 28px;
    }

    body.kitchen-work-public-body .kitchen-live {
        font-size: 15px;
    }

    body.kitchen-work-public-body .kitchen-public-main {
        padding: 28px 24px 40px;
    }

    body.kitchen-work-public-body .kitchen-work-heading {
        margin-bottom: 20px;
    }

    body.kitchen-work-public-body .kitchen-work-heading h2 {
        font-size: 28px;
    }

    body.kitchen-work-public-body .kitchen-work-heading p {
        font-size: 16px;
        margin-top: 6px;
    }

    body.kitchen-work-public-body .kitchen-work-list {
        gap: 16px;
    }

    body.kitchen-work-public-body .kitchen-work-card > summary {
        gap: 10px;
        grid-template-columns: 82px 44px minmax(0, 1fr) auto;
        min-height: 84px;
        padding: 16px 18px;
    }

    body.kitchen-work-public-body .kitchen-work-card > summary .order-number {
        font-size: 24px;
    }

    body.kitchen-work-public-body .kitchen-work-card > summary .order-status-icon {
        height: 40px;
        width: 40px;
    }

    body.kitchen-work-public-body .kitchen-work-card > summary .order-summary-note {
        font-size: 20px;
    }

    body.kitchen-work-public-body .kitchen-work-card > summary .task-summary-main small {
        font-size: 16px;
        line-height: 1.45;
    }

    body.kitchen-work-public-body .kitchen-work-detail {
        padding: 0 20px 18px;
    }

    body.kitchen-work-public-body .kitchen-work-actions {
        gap: 12px;
        margin-bottom: 0;
        padding-top: 13px;
    }

    body.kitchen-work-public-body .kitchen-work-actions .btn {
        font-size: 17px;
        min-height: 50px;
        min-width: 180px;
        padding: 9px 16px;
    }

    body.kitchen-work-public-body .kitchen-work-line {
        padding: 12px 0;
    }

    body.kitchen-work-public-body .kitchen-work-line strong,
    body.kitchen-work-public-body .kitchen-work-line small:not(.order-line-note) {
        font-size: 21px;
        line-height: 1.3;
    }

    body.kitchen-work-public-body .kitchen-work-line .order-line-note {
        font-size: 16px;
        margin-top: 5px;
    }

    body.kitchen-work-public-body .kitchen-work-note {
        font-size: 17px;
        line-height: 1.5;
        padding: 14px 16px;
    }

    body.kitchen-work-public-body .kitchen-work-finished-heading {
        font-size: 18px;
        padding-top: 24px;
    }

    body.kitchen-work-public-body .kitchen-refresh-status {
        font-size: 14px;
        margin-top: 18px;
    }
}

@media (max-width: 680px) {
    .kitchen-public-header--viewer {
        padding: 10px 0;
    }

    .kitchen-public-header-inner {
        gap: 10px;
        grid-template-columns: auto minmax(0, 1fr) auto;
        min-height: 42px;
        padding: 0 14px;
    }

    .kitchen-public-header-actions {
        gap: 9px;
    }

    .kitchen-sound-toggle {
        height: 38px;
        justify-content: center;
        min-height: 38px;
        padding: 7px 10px;
        width: 38px;
    }

    .kitchen-sound-toggle span {
        display: none;
    }

    .kitchen-public-main {
        max-width: none;
        padding: 14px 10px 24px;
        width: 100%;
    }

    .kitchen-order-search {
        margin-bottom: 16px;
        max-width: none !important;
    }

    .kitchen-work-heading {
        margin: 4px 4px 13px;
    }

    .kitchen-work-heading h2 {
        font-size: 20px;
    }

    .kitchen-work-list {
        gap: 14px;
        padding: 0;
    }

    .kitchen-work-card > summary {
        display: grid;
        gap: 8px;
        grid-template-columns: 56px 30px minmax(0, 1fr) auto;
        min-height: 74px;
        padding: 14px;
    }

    .kitchen-work-card > summary .task-summary-main {
        min-width: 0;
        order: 0;
    }

    .kitchen-work-card > summary .task-summary-main > strong {
        padding-right: 0;
    }

    .kitchen-work-card > summary .task-summary-main small {
        display: inline;
    }

    .kitchen-work-detail {
        padding: 0 14px 14px;
    }

    .kitchen-product-variants {
        gap: 6px;
        padding-left: 14px;
    }

    .kitchen-product-variant {
        font-size: 16px;
    }

    .kitchen-work-actions {
        align-items: stretch;
        display: flex;
    }

    .kitchen-work-actions .btn {
        flex: 1 1 0;
        min-height: 48px;
        min-width: 0;
    }

    .kitchen-work-actions .kitchen-order-delete {
        flex-basis: 100%;
        margin-left: 0;
    }

    .kitchen-work-line {
        padding: 14px 0;
    }
}

/* Publieke live-status voor wachtende bezoekers. */
.kitchen-live--offline {
    color: #777e82;
}

.kitchen-live--offline i {
    animation: none;
    background: #a9afb2;
    box-shadow: none;
}

.order-status-image-manager {
    background: #fff;
    border: 1px solid #e4e9ec;
    padding: 20px;
}

.order-status-image-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 18px;
}

.order-status-image-card {
    border: 1px solid #e4e9ec;
    min-width: 0;
    position: relative;
    transition: border-color .16s ease, box-shadow .16s ease;
}

.order-status-image-card.is-selected {
    border-color: var(--brand);
    box-shadow: 0 0 0 2px rgba(var(--brand-rgb), .12);
}

.order-status-image-select {
    cursor: pointer;
    display: none;
    left: 10px;
    margin: 0;
    position: absolute;
    top: 10px;
    z-index: 2;
}

.order-status-image-manager.is-selecting .order-status-image-select {
    display: block;
}

.order-status-image-select input {
    height: 1px;
    opacity: 0;
    position: absolute;
    width: 1px;
}

.order-status-image-select span {
    align-items: center;
    background: #fff;
    border: 2px solid #ccd5da;
    border-radius: 50%;
    color: transparent;
    display: flex;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.order-status-image-select input:checked + span {
    background: var(--brand);
    border-color: var(--brand);
    color: #fff;
}

.order-status-image-bulkbar {
    align-items: center;
    background: rgba(var(--brand-rgb), .055);
    border: 1px solid rgba(var(--brand-rgb), .2);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin: 0 0 16px;
    padding: 10px 12px;
}

.order-status-image-bulkbar[hidden] {
    display: none;
}

.order-status-image-bulkbar__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.order-status-image-preview {
    align-items: center;
    aspect-ratio: 16 / 9;
    background: #f6f8f9;
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.order-status-image-preview img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.order-status-image-card footer {
    align-items: center;
    border-top: 1px solid #e4e9ec;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    padding: 9px 10px;
}

.order-status-image-card footer > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.order-status-image-card footer form {
    flex: 0 0 auto;
    margin: 0;
}

.order-status-image-manager.is-selecting .order-status-image-card footer form {
    visibility: hidden;
}

.order-status-image-upload {
    margin-top: 18px;
}

.order-status-public-main {
    margin: 0 auto;
    max-width: 1640px;
    padding: clamp(18px, 2.5vw, 40px);
    width: 100%;
}

.order-status-public-header .kitchen-public-header-inner {
    grid-template-columns: minmax(210px, 1fr) minmax(240px, 1.15fr) minmax(330px, 1fr);
    max-width: 1640px;
    padding-left: clamp(18px, 2.5vw, 40px);
    padding-right: clamp(18px, 2.5vw, 40px);
}

.order-status-header-side {
    align-items: center;
    display: flex;
    gap: clamp(14px, 1.5vw, 24px);
    justify-content: flex-end;
    justify-self: end;
}

.order-status-follow {
    align-items: center;
    color: #343a3d;
    display: flex;
    font-size: clamp(14px, 1.15vw, 18px);
    font-weight: 700;
    gap: 13px;
    line-height: 1.25;
    text-align: right;
}

.order-status-follow-label {
    align-items: center;
    display: inline-flex;
    gap: 8px;
    white-space: nowrap;
}

.order-status-follow-label i {
    color: var(--brand);
    font-size: 24px;
}

.order-status-follow--offline .order-status-follow-label,
.order-status-follow--offline .order-status-follow-label i {
    color: #7a8083;
}

.order-status-follow-qr {
    align-items: center;
    background: #fff;
    border: 1px solid #dfe5e7;
    border-radius: 8px;
    display: inline-flex;
    flex: 0 0 112px;
    height: 112px;
    justify-content: center;
    padding: 4px;
    width: 112px;
}

.order-status-follow-qr .app-qr-code {
    display: block;
    height: 104px;
    width: 104px;
}

.order-status-board {
    display: grid;
    gap: clamp(16px, 2vw, 30px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.order-status-lane {
    background: #fff;
    border: 1px solid #dfe5e7;
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(27, 43, 50, .07);
    min-height: calc(100vh - 180px);
    overflow: hidden;
    padding: clamp(18px, 2vw, 30px);
}

.order-status-public-main--with-carousel .order-status-lane {
    min-height: clamp(300px, 43vh, 500px);
}

.order-status-lane--ready {
    background: var(--brand-soft);
    border-color: var(--brand-soft-border);
}

.order-status-lane-heading {
    align-items: center;
    border-bottom: 1px solid #e7ebed;
    display: flex;
    gap: 15px;
    margin-bottom: clamp(18px, 2vw, 28px);
    padding-bottom: 18px;
}

.order-status-lane--ready .order-status-lane-heading {
    border-color: var(--brand-soft-border);
}

.order-status-lane-icon {
    align-items: center;
    background: var(--brand-soft);
    border-radius: 50%;
    color: var(--brand);
    display: inline-flex;
    flex: 0 0 52px;
    font-size: 22px;
    height: 52px;
    justify-content: center;
}

.order-status-lane-icon .kitchen-live-indicator {
    animation: kitchen-live-pulse 1.8s ease-out infinite;
    background: currentColor;
    border-radius: 50%;
    display: block;
    height: 13px;
    width: 13px;
}

.order-status-lane--ready .order-status-lane-icon {
    background: var(--brand);
    color: var(--brand-button-text);
}

.order-status-lane-heading h2 {
    font-size: clamp(22px, 2.2vw, 34px);
    line-height: 1.15;
    margin: 0;
}

.order-status-lane-heading p {
    color: #747b7f;
    font-size: clamp(13px, 1.2vw, 17px);
    margin: 4px 0 0;
}

.order-status-lane-heading-spacer {
    visibility: hidden;
}

.order-status-number-grid {
    display: grid;
    gap: clamp(12px, 1.5vw, 20px);
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}

.order-status-number {
    align-items: center;
    background: #fff;
    border: 2px solid var(--brand-soft-border);
    border-radius: 12px;
    color: var(--brand);
    display: flex;
    font-size: clamp(34px, 4.4vw, 72px);
    font-variant-numeric: tabular-nums;
    font-weight: 800;
    justify-content: center;
    letter-spacing: .02em;
    line-height: 1;
    min-height: clamp(96px, 11vw, 150px);
    padding: 14px 10px;
}

.order-status-lane--ready .order-status-number {
    background: var(--brand);
    border-color: var(--brand);
    color: var(--brand-button-text);
    box-shadow: 0 5px 16px var(--brand-soft-border);
}

.order-status-empty {
    align-items: center;
    color: #848b8f;
    display: flex;
    flex-direction: column;
    gap: 13px;
    justify-content: center;
    min-height: 210px;
    text-align: center;
}

.order-status-empty i {
    color: var(--brand);
    font-size: 34px;
    opacity: .6;
}

.order-status-empty span {
    font-size: clamp(14px, 1.35vw, 18px);
}

.order-status-carousel {
    --order-status-carousel-visible: 9;
    margin: clamp(20px, 2.5vw, 34px) auto 0;
    width: 100%;
}

.order-status-carousel-viewport {
    overflow: hidden;
}

.order-status-carousel-track {
    display: flex;
    gap: 4px;
    transition: transform .45s ease;
    will-change: transform;
}

.order-status-carousel-slide {
    align-items: center;
    display: flex;
    flex: 0 0 calc((100% - 32px) / 9);
    justify-content: center;
    margin: 0;
    min-width: 0;
}

@media (min-width: 721px) {
    .order-status-public-body {
        display: flex;
        flex-direction: column;
        height: 100dvh;
        min-height: 0;
        overflow: hidden;
    }

    .order-status-public-header {
        flex: 0 0 auto;
    }

    .order-status-public-main {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        min-height: 0;
        overflow: hidden;
    }

    .order-status-public-main > [data-order-status-board] {
        flex: 1 1 auto;
        min-height: 0;
    }

    .order-status-board,
    .order-status-lane {
        height: 100%;
        min-height: 0;
    }

    .order-status-lane,
    .order-status-public-main--with-carousel .order-status-lane {
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    .order-status-lane-heading {
        flex: 0 0 auto;
    }

    .order-status-number-grid {
        align-content: start;
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
    }

    .order-status-number.is-capacity-hidden {
        display: none;
    }

    .order-status-number--overflow {
        border-style: dashed;
    }

    .order-status-empty {
        flex: 1 1 auto;
        min-height: 0;
    }

    .order-status-public-main .kitchen-refresh-status,
    .order-status-carousel {
        flex: 0 0 auto;
    }

    .order-status-carousel {
        margin-top: clamp(12px, 1.5vh, 20px);
    }
}

.order-status-carousel-slide img {
    display: block;
    height: clamp(72px, 7vw, 112px);
    object-fit: contain;
    width: 100%;
}

@media (max-width: 1200px) {
    .order-status-carousel {
        --order-status-carousel-visible: 6;
    }

    .order-status-carousel-slide {
        flex-basis: calc((100% - 20px) / 6);
    }
}

@media (max-width: 900px) {
    .order-status-carousel {
        --order-status-carousel-visible: 4;
    }

    .order-status-carousel-slide {
        flex-basis: calc((100% - 12px) / 4);
    }
}

@media (min-width: 721px) and (max-width: 1050px) {
    .order-status-public-header .kitchen-public-header-inner {
        grid-template-columns: minmax(180px, 1fr) minmax(190px, .9fr) minmax(220px, 1fr);
    }

    .order-status-follow-qr {
        flex-basis: 88px;
        height: 88px;
        width: 88px;
    }

    .order-status-follow-qr .app-qr-code {
        height: 80px;
        width: 80px;
    }
}

@media (max-width: 991px) {
    .order-status-image-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .order-status-follow {
        font-size: 14px;
    }

    .order-status-header-side {
        gap: 0;
    }

    .order-status-follow-label i {
        font-size: 20px;
    }

    .order-status-follow-qr {
        display: none;
    }
    .order-status-public-header .kitchen-public-header-inner {
        grid-template-columns: auto minmax(0, 1fr) auto;
        padding-left: 14px;
        padding-right: 14px;
    }

    .order-status-public-main {
        max-width: none;
        padding: 12px;
    }

    .order-status-board {
        gap: 14px;
        grid-template-columns: 1fr;
    }

    .order-status-lane {
        border-radius: 10px;
        min-height: 0;
        padding: 16px;
    }

    .order-status-public-main--with-carousel .order-status-lane {
        min-height: 0;
    }

    .order-status-lane-heading {
        gap: 12px;
        margin-bottom: 16px;
        padding-bottom: 14px;
    }

    .order-status-lane-icon {
        flex-basis: 44px;
        font-size: 18px;
        height: 44px;
    }

    .order-status-number-grid {
        gap: 10px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .order-status-number {
        border-radius: 9px;
        font-size: clamp(27px, 10vw, 40px);
        min-height: 76px;
        padding: 10px 6px;
    }

    .order-status-empty {
        min-height: 100px;
    }

    .order-status-carousel {
        --order-status-carousel-visible: 1;
        margin-top: 18px;
    }

    .order-status-carousel-slide {
        flex-basis: 100%;
    }

    .order-status-carousel-track {
        gap: 4px;
    }

    .order-status-carousel-slide img {
        height: clamp(180px, 58vw, 260px);
    }

    .order-status-image-manager {
        padding: 15px;
    }

    .order-status-image-grid {
        grid-template-columns: 1fr;
    }

    .order-status-image-bulkbar {
        align-items: stretch;
        flex-direction: column;
    }

    .order-status-image-bulkbar__actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        justify-content: stretch;
    }

    .order-status-image-bulkbar__actions .btn:last-child {
        grid-column: 1 / -1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .order-status-carousel-track {
        transition: none;
    }
}

/* Bestelpagina: invoeren en controleren als twee rustige paginastappen. */
.order-required-mark {
    color: #b42318;
}

.order-review-step[hidden],
.public-order-entry[hidden] {
    display: none !important;
}

.order-review-step {
    background: #fff;
    border: 1px solid var(--border-color, #e1e6e8);
    border-radius: 8px;
    margin: 0 auto;
    max-width: 1180px;
    padding: 28px;
}

.order-review-step-header {
    align-items: center;
    border-bottom: 1px solid var(--border-color, #e1e6e8);
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
    padding-bottom: 20px;
}

.order-review-step-header > span {
    align-items: center;
    background: var(--primary-soft, #eaf5f7);
    border-radius: 50%;
    color: var(--primary-color, #0d778e);
    display: inline-flex;
    flex: 0 0 46px;
    height: 46px;
    justify-content: center;
}

.order-review-step-header h2,
.order-review-step-header p {
    margin: 0;
}

.order-review-step-header p {
    color: var(--muted-color, #6c757d);
    margin-top: 4px;
}

.order-review-step-layout {
    align-items: start;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(0, 1fr) minmax(290px, .48fr);
}

.order-review-checkout {
    border: 1px solid var(--border-color, #e1e6e8);
    border-radius: 8px;
    padding: 20px;
    position: sticky;
    top: 20px;
}

.order-review-checkout .order-review-payment {
    border-top: 0;
    margin-top: 0;
    padding-top: 0;
}

.order-review-checkout .order-review-payment > div {
    grid-template-columns: 1fr;
}

.order-review-checkout .order-review-edit {
    justify-content: center;
    width: 100%;
}

@media (min-width: 900px) and (max-width: 1199px) {
    .public-order-main {
        max-width: none;
        padding-left: 24px;
        padding-right: 24px;
    }

    .public-order-entry {
        padding: 24px;
    }

    .public-order-entry .order-pos-layout {
        align-items: start;
        gap: 22px;
        grid-template-columns: 1fr;
    }

    .public-order-entry .order-product-grid {
        gap: 14px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .order-review-step {
        max-width: none;
    }
}

@media (min-width: 768px) and (max-width: 899px) {
    .public-order-main {
        max-width: none;
        padding-left: 20px;
        padding-right: 20px;
    }

    .public-order-entry .order-product-grid {
        gap: 14px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .order-review-step-layout {
        grid-template-columns: minmax(0, 1fr) minmax(260px, .7fr);
    }
}

@media (max-width: 767px) {
    .order-review-step {
        border-left: 0;
        border-radius: 0;
        border-right: 0;
        padding: 18px 14px 24px;
    }

    .order-review-step-header {
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 18px;
        padding-bottom: 16px;
    }

    .order-review-step-header > span {
        flex-basis: 40px;
        height: 40px;
    }

    .order-review-step-layout {
        gap: 18px;
        grid-template-columns: 1fr;
    }

    .order-review-checkout {
        padding: 16px;
        position: static;
    }

    .order-review-checkout .order-review-payment > div {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Bestellingen invoeren: tablet en desktop gebruiken het volledige scherm. */
@media (min-width: 768px) {
    body.public-order-body .public-order-main {
        box-sizing: border-box;
        max-width: none;
        padding: 28px clamp(24px, 3vw, 44px) 44px;
        width: 100%;
    }

    body.public-order-body .public-order-entry,
    body.public-order-body .order-review-step {
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        margin: 0;
        max-width: none;
        padding: 0;
        width: 100%;
    }

    body.public-order-body .public-order-entry .order-section-heading {
        margin-bottom: 22px;
        padding-bottom: 18px;
    }

    body.public-order-body .public-order-entry .order-pos-layout {
        gap: 24px;
    }

    body.public-order-body .public-order-entry .order-product-grid {
        gap: 16px;
    }

    body.public-order-body .public-order-entry .order-product-button {
        height: auto;
        min-height: 0;
        padding: 18px;
    }

    body.public-order-body .public-order-entry .order-product-button > span {
        font-size: clamp(20px, 2.2vw, 26px);
        line-height: 1.2;
    }

    body.public-order-body .public-order-entry .order-product-button > strong {
        font-size: clamp(18px, 2vw, 23px);
        padding-top: 12px;
    }

    body.public-order-body .public-order-entry .order-product-count {
        font-size: 21px;
        height: 50px;
        right: 14px;
        top: 50%;
        transform: translateY(-50%);
        width: 50px;
    }

    body.public-order-body .public-order-entry .order-product-choice.has-quantity .order-product-button {
        padding-right: 78px;
    }

    body.public-order-body .order-review-step-header {
        margin-bottom: 22px;
    }
}

@media (min-width: 768px) and (orientation: portrait) {
    body.public-order-body:has([data-order-entry-step]:not([hidden])) .public-order-main {
        padding-bottom: 150px;
    }

    body.public-order-body.order-entry-active .public-order-main {
        padding-bottom: 150px;
    }

    body.public-order-body .public-order-entry .order-pos-layout {
        display: block;
    }

    body.public-order-body .public-order-entry .order-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.public-order-body .public-order-entry .order-cart {
        align-items: end;
        background: #fff;
        border: 0;
        border-top: 3px solid var(--primary-color, #0d778e);
        border-radius: 0;
        bottom: 0;
        box-shadow: 0 -8px 24px rgba(21, 41, 48, .14);
        display: grid;
        gap: 14px;
        grid-template-columns: minmax(135px, .7fr) minmax(230px, 1.3fr) auto;
        left: 0;
        margin: 0;
        max-height: none;
        overflow: visible;
        padding: 16px 18px;
        position: fixed;
        right: 0;
        top: auto;
        z-index: 30;
    }

    body.public-order-body .public-order-entry .order-cart-heading {
        border-bottom: 0;
        margin: 0;
        padding: 0;
    }

    body.public-order-body .public-order-entry .order-cart-lines {
        display: none;
    }

    body.public-order-body .public-order-entry .order-tablet-cart-overview {
        background: #fff;
        border: 1px solid var(--brand-soft-border, #cfe4e8);
        border-radius: 10px;
        display: block;
        margin-top: 30px;
        padding: 22px;
    }

    body.public-order-body .public-order-entry .order-tablet-cart-overview .order-cart-heading {
        margin-bottom: 4px;
    }

    body.public-order-body .public-order-entry .order-tablet-cart-overview .order-cart-lines {
        display: block;
        max-height: none;
        overflow: visible;
    }

    body.public-order-body .public-order-entry .order-tablet-cart-overview .order-cart-line,
    body.public-order-body .public-order-entry .order-tablet-cart-overview .order-cart-variant {
        align-items: center;
        gap: 18px;
    }

    body.public-order-body .public-order-entry .order-tablet-cart-overview .order-cart-line > span:first-child,
    body.public-order-body .public-order-entry .order-tablet-cart-overview .order-cart-variant > span:first-child {
        min-width: 0;
        overflow-wrap: normal;
        word-break: normal;
    }

    body.public-order-body .public-order-entry .order-tablet-cart-overview .order-cart-line-actions {
        flex-shrink: 0;
    }

    body.public-order-body .public-order-entry .order-cart > label {
        margin: 0;
    }

    body.public-order-body .public-order-entry .order-cart textarea {
        height: 48px;
        min-height: 48px;
        resize: none;
    }

    body.public-order-body .public-order-entry .order-submit {
        height: 48px;
        margin: 0;
        white-space: nowrap;
        width: auto;
    }

    body.public-order-body .order-review-step-layout {
        grid-template-columns: 1fr;
    }

    body.public-order-body .order-review-checkout {
        position: static;
    }

    body.public-order-body .order-review-checkout .order-review-payment > div {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }
}

/* Bestelpagina mobiel: houd productfoto en aantallenbadge uit elkaar. */
@media (max-width: 767px) {
    body.public-order-body .public-order-entry .order-product-choice.has-quantity .order-product-button:has(.order-product-image) {
        min-height: 132px;
    }

    body.public-order-body .public-order-entry .order-product-choice.has-quantity .order-product-count {
        bottom: 12px;
        right: 12px;
        top: auto;
        transform: none;
    }
}

@media (min-width: 768px) and (orientation: landscape) {
    body.public-order-body .public-order-entry .order-pos-layout {
        display: block;
    }

    body.public-order-body .public-order-entry .order-product-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    body.public-order-body .order-review-step-layout {
        grid-template-columns: minmax(0, 1fr) minmax(320px, .45fr);
    }
}

/* Bestelpagina tablet: één paginascroll en hetzelfde compacte bestelpaneel in beide richtingen. */
@media (min-width: 768px) {
    body.public-order-body .kitchen-public-header {
        position: static;
    }

    body.public-order-body:has([data-order-entry-step]:not([hidden])) .public-order-main {
        padding-bottom: 178px;
    }

    body.public-order-body.order-entry-active .public-order-main {
        padding-bottom: 178px;
    }

    body.public-order-body .public-order-entry .order-product-grid {
        grid-auto-rows: 1fr;
    }

    body.public-order-body .public-order-entry .order-product-choice,
    body.public-order-body .public-order-entry .order-product-button {
        height: 100%;
    }

    body.public-order-body .public-order-entry .order-product-button {
        height: 180px;
        min-height: 180px;
        padding: 20px;
    }

    body.public-order-body .public-order-entry .order-product-image {
        height: 82px;
        right: 16px;
        top: 16px;
        width: 82px;
    }

    body.public-order-body .public-order-entry .order-product-button:has(.order-product-image) > span {
        padding-right: 90px;
    }

    body.public-order-body .public-order-entry .order-product-button > span {
        display: -webkit-box;
        min-height: 2.4em;
        overflow: hidden;
        overflow-wrap: anywhere;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    body.public-order-body .public-order-entry .order-product-choice.has-quantity .order-product-button {
        padding-right: 20px;
    }

    body.public-order-body .public-order-entry .order-product-choice.has-quantity .order-product-image {
        right: 16px;
    }

    body.public-order-body .public-order-entry .order-product-choice.has-quantity .order-product-count {
        right: 31px;
        top: 108px;
        transform: none;
    }

    body.public-order-body .public-order-entry .order-pos-layout {
        display: block;
        grid-template-columns: 1fr;
    }

    body.public-order-body .public-order-entry .order-cart {
        align-items: end;
        background: #fff;
        border: 0;
        border-top: 4px solid var(--brand, #0d778e);
        border-radius: 0;
        bottom: 0;
        box-shadow: 0 -10px 28px rgba(21, 41, 48, .18);
        display: grid;
        gap: 18px;
        grid-template-columns: minmax(170px, .7fr) minmax(280px, 1.3fr) minmax(170px, auto);
        left: 0;
        margin: 0;
        max-height: none;
        overflow: visible;
        padding: 18px clamp(24px, 3vw, 44px) calc(18px + env(safe-area-inset-bottom));
        position: fixed;
        right: 0;
        top: auto;
        z-index: 30;
    }

    body.public-order-body .public-order-entry .order-cart-heading {
        border-bottom: 0;
        margin: 0;
        padding: 0;
    }

    body.public-order-body .public-order-entry .order-cart-heading h3 {
        font-size: 22px;
    }

    body.public-order-body .public-order-entry .order-cart-heading span,
    body.public-order-body .public-order-entry .order-cart-heading > strong {
        font-size: 20px;
    }

    body.public-order-body .public-order-entry .order-cart-lines {
        display: none;
    }

    body.public-order-body .public-order-entry .order-tablet-cart-overview {
        background: #fff;
        border: 1px solid var(--brand-soft-border, #cfe4e8);
        border-radius: 10px;
        display: block;
        margin-top: 30px;
        padding: 22px;
    }

    body.public-order-body .public-order-entry .order-tablet-cart-overview .order-cart-heading {
        margin-bottom: 4px;
    }

    body.public-order-body .public-order-entry .order-tablet-cart-overview .order-cart-lines {
        display: block;
        max-height: none;
        overflow: visible;
    }

    body.public-order-body .public-order-entry .order-tablet-cart-overview .order-cart-line,
    body.public-order-body .public-order-entry .order-tablet-cart-overview .order-cart-variant {
        align-items: center;
        gap: 18px;
    }

    body.public-order-body .public-order-entry .order-tablet-cart-overview .order-cart-line > span:first-child,
    body.public-order-body .public-order-entry .order-tablet-cart-overview .order-cart-variant > span:first-child {
        min-width: 0;
        overflow-wrap: normal;
        word-break: normal;
    }

    body.public-order-body .public-order-entry .order-tablet-cart-overview .order-cart-line-actions {
        flex-shrink: 0;
    }

    body.public-order-body .public-order-entry .order-cart > label {
        font-size: 18px;
        font-weight: 700;
        margin: 0;
    }

    body.public-order-body .public-order-entry .order-cart textarea {
        border-width: 2px;
        box-sizing: border-box;
        font-size: 20px;
        font-weight: 600;
        height: 64px !important;
        min-height: 64px;
        resize: none;
    }

    body.public-order-body .public-order-entry .order-submit {
        align-self: end;
        box-sizing: border-box;
        font-size: 19px;
        height: 64px;
        margin: 0;
        min-height: 64px;
        padding-left: 26px;
        padding-right: 26px;
        white-space: nowrap;
        width: auto;
    }

    body.public-order-body .order-review-ticket {
        padding: 22px;
    }

    body.public-order-body .order-review-ticket-heading {
        font-size: 17px;
        padding-bottom: 16px;
    }

    body.public-order-body .order-review-ticket-heading > strong {
        font-size: 22px;
    }

    body.public-order-body .order-review-line {
        font-size: 19px;
        padding: 17px 0;
    }

    body.public-order-body .order-review-line strong,
    body.public-order-body .order-review-line > b {
        font-size: 20px;
        line-height: 1.4;
    }

    body.public-order-body .order-review-line small,
    body.public-order-body .order-review-variants {
        font-size: 17px;
        line-height: 1.45;
    }

    body.public-order-body .order-review-option-line > span,
    body.public-order-body .order-review-option-line > b {
        font-size: 17px;
    }

    body.public-order-body .order-review-variant {
        padding: 6px 0;
    }

    body.public-order-body .order-review-total {
        font-size: 21px;
        padding-top: 18px;
    }

    body.public-order-body .order-review-total strong {
        font-size: 26px;
    }

    body.public-order-body .order-review-checkout .order-review-payment > strong {
        font-size: 20px;
        margin-bottom: 14px;
    }

    body.public-order-body .order-review-checkout .order-review-payment > div {
        gap: 14px;
    }

    body.public-order-body .order-review-checkout .order-review-payment-choice {
        background: #fff;
        border: 2px solid var(--brand, #0d778e);
        box-shadow: 0 3px 9px rgba(21, 41, 48, .08);
        color: var(--brand, #0d778e);
        font-size: 20px;
        font-weight: 700;
        min-height: 66px;
    }

    body.public-order-body .order-review-checkout .order-review-payment-choice:hover,
    body.public-order-body .order-review-checkout .order-review-payment-choice:focus-visible {
        background: var(--brand-soft, #eaf5f7);
    }

    body.public-order-body .order-review-checkout .order-review-edit {
        font-size: 18px;
        margin-top: 20px;
        min-height: 56px;
    }

    body.public-order-body .order-product-modal .admin-confirm-actions {
        display: grid;
        gap: 14px;
        grid-template-columns: repeat(2, 148px);
        width: auto;
    }

    body.public-order-body .order-product-modal .admin-confirm-actions .btn {
        align-items: center;
        display: inline-flex;
        font-size: 16px;
        font-weight: 700;
        gap: 8px;
        justify-content: center;
        min-height: 50px;
        padding: 10px 14px;
        width: 148px;
    }

    body.public-order-body .order-product-modal [data-order-product-add] span {
        white-space: nowrap;
    }

    body.public-order-body .public-order-complete .btn {
        box-sizing: border-box;
        font-size: 20px;
        font-weight: 700;
        gap: 10px;
        height: 64px;
        min-height: 64px;
        padding: 14px 24px;
    }
}

/* Gedeelde maatvoering voor de ingelogde beheeromgeving. Openbare schermen vallen hier bewust buiten. */
.admin-shell {
    --admin-control-height: 38px;
    --admin-control-height-compact: 34px;
    --admin-section-title-size: 17px;
}

.admin-shell button,
.admin-shell input,
.admin-shell select,
.admin-shell textarea {
    font-family: inherit;
}

.admin-shell .btn.u-btn-primary:not(.btn-sm),
.admin-shell .btn.u-btn-outline-primary:not(.btn-sm),
.admin-shell .btn.u-btn-outline-danger:not(.btn-sm),
.admin-shell .btn.u-btn-outline-red:not(.btn-sm),
.admin-shell .btn.button-danger:not(.btn-sm),
.admin-shell .order-edit-cancel-button,
.admin-shell .order-edit-delete-button {
    align-items: center;
    display: inline-flex;
    font-size: 14px;
    justify-content: center;
    min-height: var(--admin-control-height);
}

.admin-shell .btn.btn-sm {
    align-items: center;
    display: inline-flex;
    font-size: 12px;
    justify-content: center;
    min-height: var(--admin-control-height-compact);
}

.admin-shell .form-control,
.admin-shell .input-group-text {
    font-size: 14px;
}

.admin-shell input.form-control:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.admin-shell select.form-control {
    height: var(--admin-control-height);
    min-height: var(--admin-control-height);
}

.admin-shell .input-group-text {
    align-items: center;
    display: inline-flex;
    min-height: var(--admin-control-height);
}

.admin-shell .admin-search {
    align-items: stretch;
    display: flex;
    flex: 1 1 380px;
    max-width: none;
    min-width: 0;
    position: relative;
    width: 100%;
}

.admin-shell .admin-search .form-control {
    font-size: 14px;
    height: var(--admin-control-height);
    min-height: var(--admin-control-height);
}

.admin-shell .admin-search .input-group-prepend,
.admin-shell .admin-search .input-group-append,
.admin-shell .admin-search .input-group-text,
.admin-shell .admin-search .admin-search-clear {
    height: var(--admin-control-height);
    min-height: var(--admin-control-height);
}

.admin-shell .admin-search .admin-search-clear {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    margin: 0;
    padding: 0;
    width: var(--admin-control-height);
}

.admin-shell .admin-search .admin-search-clear .fa {
    margin: 0 !important;
}

.admin-shell .admin-search-clear-wrap[hidden],
.admin-shell .admin-search .admin-search-clear[hidden] {
    display: none !important;
}

.admin-shell .cashbook-search.admin-search input {
    padding-left: 36px;
    padding-right: 42px;
}

.admin-shell .cashbook-search.admin-search > .admin-search-clear {
    border: 0;
    height: calc(var(--admin-control-height) - 2px);
    min-height: 0;
    position: absolute;
    right: 1px;
    top: 1px;
    transform: none;
    z-index: 2;
}

.admin-shell .order-page-heading h1,
.admin-shell .panel > h1,
.admin-shell .cashbook-heading h1,
.admin-shell .product-catalog-heading h1 {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
}

.admin-shell .order-section-heading h2,
.admin-shell .cashbook-section-heading h2,
.admin-shell .cashbook-list-heading h2,
.admin-shell .photo-albums-heading h2,
.admin-shell .stock-section-heading h2 {
    font-size: var(--admin-section-title-size);
    font-weight: 600;
}

.admin-shell .cashbook-entry-form input.form-control,
.admin-shell .cashbook-entry-form .cashbook-choice-grid span,
.admin-shell .cashbook-entry-form .cashbook-money-input,
.admin-shell .order-table-qr-form label > .form-control,
.admin-shell .order-table-qr-form .btn,
.admin-shell .order-attendant-modal-form input.form-control {
    height: var(--admin-control-height);
    min-height: var(--admin-control-height);
}

.admin-shell .cashbook-heading-icon-action,
.admin-shell .order-report-icon-action {
    flex-basis: var(--admin-control-height);
    height: var(--admin-control-height);
    width: var(--admin-control-height);
}

@media (max-width: 767px) {
    .admin-shell {
        --admin-control-height: 44px;
        --admin-control-height-compact: 38px;
    }

    .admin-shell .admin-search {
        flex-basis: 100%;
    }

    .admin-shell .admin-search .form-control {
        font-size: 16px;
    }

    .admin-shell input.form-control:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
    .admin-shell select.form-control,
    .admin-shell textarea.form-control {
        font-size: 16px;
    }

    .admin-shell .cashbook-heading-icon-action,
    .admin-shell .order-report-icon-action {
        flex-basis: var(--admin-control-height);
    }
}
