/* Panel-only light palette. Dark mode uses the standard Filament theme. */
html:not(.dark) .fi-body {
    --primary-500: #0f766e;
    --primary-600: #0f766e;
    --primary-700: #115e59;
    --gray-400: #64748b;
    --gray-500: #475569;
    --gray-600: #334155;
    background: #f1f5f9;
    color: #0f172a;
}
html:not(.dark) :is(.fi-sidebar, .fi-topbar, .fi-ta-ctn, .fi-section) {
    background-color: #ffffff;
    border-color: #cbd5e1;
}
html:not(.dark) :is(.fi-sidebar-group-label, .fi-sidebar-item-label, .fi-fo-field-label-content, .fi-tabs-item-label) {
    color: #334155;
}
html:not(.dark) .fi-sidebar-item.fi-active > .fi-sidebar-item-btn {
    background-color: #ccfbf1;
    box-shadow: inset 3px 0 #0f766e;
}
html:not(.dark) .fi-sidebar-item.fi-active .fi-sidebar-item-label {
    color: #134e4a;
    font-weight: 700;
}
html:not(.dark) .fi-ta-header-cell {
    background-color: #e2e8f0;
    color: #0f172a;
}
html:not(.dark) .fi-ta-row {
    background-color: #ffffff;
    border-color: #cbd5e1;
}
html:not(.dark) .fi-ta-row.fi-striped {
    background-color: #f1f5f9;
}
html:not(.dark) .fi-ta-row:hover {
    background-color: #e2e8f0;
}
html:not(.dark) :is(.fi-ta-text-item, .fi-input, .fi-select-input) {
    color: #0f172a;
}
html:not(.dark) :is(.fi-input-wrp, .fi-fo-rich-editor) {
    background-color: #ffffff;
    outline: 1px solid #64748b;
    outline-offset: -1px;
}
html:not(.dark) :is(.fi-input-wrp, .fi-fo-rich-editor):focus-within {
    outline: 2px solid #0f766e;
    outline-offset: 1px;
}
html:not(.dark) :is(input, textarea)::placeholder {
    color: #64748b;
    opacity: 1;
}
html:not(.dark) .fi-link.fi-color-primary {
    color: #0f766e;
    font-weight: 600;
}
html:not(.dark) .fi-link:focus-visible {
    outline: 2px solid #0f766e;
    outline-offset: 3px;
}
/* Selection controls keep Filament's checked/pressed styling. */
html:not(.dark) .fi-btn.fi-color-primary:not(.fi-outlined):not(label):not([aria-pressed]) {
    background-color: #0f766e;
    color: #ffffff;
}
html:not(.dark) .fi-btn.fi-color-primary:not(.fi-outlined):not(label):not([aria-pressed]):hover {
    background-color: #115e59;
    color: #ffffff;
}
html:not(.dark) .fi-btn.fi-color-primary:not(.fi-outlined):not(label):not([aria-pressed]) > .fi-icon {
    color: #ffffff;
}
/* A chosen toggle button (Enkel/Dubbel and the like): white on dark teal instead of dark text on light green. */
html:not(.dark) .fi-fo-toggle-buttons-btn-ctn > .fi-btn.fi-color-primary[aria-pressed="true"],
html:not(.dark) .fi-fo-toggle-buttons-input:checked + label.fi-btn.fi-color-primary {
    background-color: #0f766e;
    color: #ffffff;
}
html:not(.dark) .fi-fo-toggle-buttons-btn-ctn > .fi-btn.fi-color-primary[aria-pressed="true"] > .fi-icon,
html:not(.dark) .fi-fo-toggle-buttons-input:checked + label.fi-btn.fi-color-primary > .fi-icon {
    color: #ffffff;
}
.contribution-steps, .contribution-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: 1rem; }
.contribution-steps { list-style: none; }
.contribution-steps li { padding: .75rem 1rem; border: 1px solid #94a3b8; border-radius: .5rem; }
.contribution-steps [aria-current="step"] { font-weight: 700; border-color: #0f766e; border-width: 2px; }
.contribution-summary { margin-bottom: 1rem; }
.contribution-summary dd { font-size: 1.25rem; font-weight: 700; }
.contribution-progress { width: 100%; accent-color: #0f766e; }
.contribution-table-wrapper { overflow-x: auto; margin-top: 1rem; }
.contribution-table { width: 100%; border-collapse: collapse; text-align: left; }
.contribution-table th, .contribution-table td { padding: .75rem; border-bottom: 1px solid #94a3b8; vertical-align: top; }
.contribution-table summary { cursor: pointer; }
.contribution-table a { text-decoration: underline; }
.mailing-preview-frame { width: 100%; min-height: 32rem; margin: 1rem 0; border: 1px solid #94a3b8; border-radius: .5rem; background: #ffffff; }
.mailing-recipient-list { margin-top: 1rem; }
.mailing-recipient-list > summary { cursor: pointer; font-weight: 600; }
.mailing-legacy-text { white-space: pre-wrap; overflow-wrap: anywhere; }

.fi-logo { max-width: 100%; object-fit: contain; }

.order-navigation-item .fi-badge { border-radius: 9999px; min-width: 1.5rem; height: 1.5rem; padding: 0 .25rem; align-items: center; justify-content: center; }
.order-navigation-item .fi-badge-label-ctn { align-self: center; display: flex; align-items: center; justify-content: center; }
.order-navigation-item .fi-badge-label { display: block; line-height: 1; font-variant-numeric: tabular-nums; }
/* A collapsed group repeats the total of its item badges next to its label. */
.fi-sidebar-group.fi-collapsed[data-badge] .fi-sidebar-group-label::after { content: var(--group-badge); display: inline-flex; align-items: center; justify-content: center; min-width: 1.5rem; height: 1.5rem; margin-inline-start: .5rem; padding: 0 .25rem; border-radius: 9999px; font-size: .75rem; font-weight: 500; line-height: 1; font-variant-numeric: tabular-nums; color: var(--danger-700); background: var(--danger-50); box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--danger-600) 10%, transparent); }
.dark .fi-sidebar-group.fi-collapsed[data-badge] .fi-sidebar-group-label::after { color: var(--danger-400); background: color-mix(in oklab, var(--danger-400) 10%, transparent); box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--danger-400) 30%, transparent); }

/* DTBN: white canvas, navy typography and the original green brand mark. */
.dtbn-dashboard { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; min-width: 0; }
.dtbn-welcome { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 2rem; border: 1px solid #dde8e9; border-radius: 1.25rem; padding: 2.4rem 3rem; background: #fff; color: #073a59; box-shadow: 0 12px 36px #073a5910; }
.dtbn-welcome-copy { position: relative; z-index: 1; }
.dtbn-kicker { color: #087c75; font-size: .7rem; font-weight: 700; letter-spacing: .01em; text-transform: none; margin-bottom: .85rem; }
.dtbn-welcome h2 { font-size: clamp(1.25rem, 1.8vw, 1.65rem); font-weight: 700; letter-spacing: -.035em; line-height: 1.2; color: #073a59; }
.dtbn-welcome-photo { order: 2; width: 34%; height: 12rem; object-fit: cover; object-position: 58% 53%; border-radius: .85rem; flex: none; }
.dtbn-welcome-actions { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; align-items: center; margin-top: 1.5rem; }
.dtbn-welcome-actions a { display: inline-flex; align-items: center; gap: .6rem; font-size: .875rem; font-weight: 600; border-radius: .6rem; }
.dtbn-welcome-actions svg, .dtbn-stat-bottom svg { width: 1.1rem; height: 1.1rem; flex: none; }
.dtbn-primary-link { padding: .8rem 1.1rem; background: #008c80; color: #fff; }
.dtbn-primary-link:hover { background: #006f68; }
.dtbn-secondary-link { padding: .8rem 0; color: #073a59; }
.dtbn-secondary-link:hover { text-decoration: underline; }
.dtbn-welcome a:focus-visible { outline: 3px solid #087c75; outline-offset: 5px; }
.dtbn-stat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.dtbn-stat-card { display: flex; flex-direction: column; gap: .8rem; padding: 1.4rem 1.5rem; background: #fff; border: 1px solid #dce6eb; border-radius: 1rem; transition: border-color .15s, box-shadow .15s; color: #073a59; }
.dtbn-stat-card:hover { border-color: #0d9488; box-shadow: 0 6px 24px #073a5910; }
.dtbn-stat-card:focus-visible { outline: 3px solid #0f766e; outline-offset: 3px; }
.dtbn-stat-top { display: flex; justify-content: space-between; gap: .75rem; align-items: center; font-size: .8rem; font-weight: 600; color: #476174; }
.dtbn-stat-top svg { width: 1.25rem; height: 1.25rem; color: #0f877b; flex: none; }
.dtbn-stat-value { font-size: 2.5rem; font-weight: 700; line-height: 1.1; letter-spacing: -.05em; font-variant-numeric: tabular-nums; }
.dtbn-stat-bottom { display: flex; justify-content: space-between; gap: .5rem; align-items: center; font-size: .75rem; color: #526b79; }
.dtbn-stat-bottom svg { color: #0f877b; }
.dashboard-noticeboard .fi-ta-content { border-radius: 1rem; }
.dark :is(.dtbn-welcome, .dtbn-stat-card) { background: #18232f; border-color: #334155; color: #e2f5f3; }
.dark .dtbn-welcome h2, .dark .dtbn-secondary-link { color: #e2f5f3; }
.dark .dtbn-kicker { color: #5eead4; }
.dark :is(.dtbn-stat-top, .dtbn-stat-bottom) { color: #bacdd6; }
.dark :is(.dtbn-stat-top svg, .dtbn-stat-bottom svg) { color: #5eead4; }
@media (max-width: 1100px) { .dtbn-welcome { padding: 2rem; } .dtbn-stat-card { padding: 1.25rem; } .dtbn-stat-bottom span { max-width: 11rem; } }
@media (max-width: 700px) { .dtbn-welcome { padding: 1.5rem; border-radius: 1rem; gap: .75rem; align-items: flex-start; } .dtbn-welcome-photo { width: 6rem; height: 8rem; object-position: 58% center; } .dtbn-kicker { font-size: .6rem; letter-spacing: .06em; } .dtbn-welcome-actions { gap: .4rem; } .dtbn-primary-link { padding: .65rem .8rem; } .dtbn-stat-grid { grid-template-columns: 1fr; gap: .75rem; } .dtbn-stat-card { display: grid; grid-template-columns: 1fr auto; gap: .5rem 1rem; padding: 1.15rem 1.25rem; } .dtbn-stat-top { justify-content: flex-start; } .dtbn-stat-top svg { order: -1; } .dtbn-stat-value { grid-column: 2; grid-row: 1 / 3; align-self: center; font-size: 2rem; } .dtbn-stat-bottom { grid-column: 1; } .dtbn-stat-bottom svg { display: none; } .dtbn-stat-bottom span { max-width: none; } }
@media (prefers-reduced-motion: reduce) { .dtbn-stat-card { transition: none; } }
/* Members dashboard: a short entrance, a dynamictennis ball that bounces in beside the greeting, and a guide. */
.dtbn-dashboard.is-animated .dtbn-welcome { animation: dtbn-rise .7s cubic-bezier(.2, .8, .2, 1) both; }
.dtbn-dashboard.is-animated .dtbn-welcome::before { content: ""; position: absolute; inset: auto auto -60% -8%; width: 28rem; height: 28rem; border-radius: 50%; background: radial-gradient(closest-side, #00ac9b26, transparent); animation: dtbn-glow 1.6s ease-out .2s both; pointer-events: none; }
.dtbn-dashboard.is-animated .dtbn-greeting { background: linear-gradient(100deg, #073a59 40%, #00ac9b 50%, #073a59 60%) 0 0 / 250% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: dtbn-shine 1.8s ease-out .5s both; }
.dtbn-dashboard.is-animated :is(.dtbn-stat-card, .dtbn-guide-steps li) { animation: dtbn-rise .6s cubic-bezier(.2, .8, .2, 1) both; animation-delay: calc(.25s + var(--i, 0) * .08s); }
.dtbn-ball { display: inline-block; width: .8em; height: .8em; margin-left: .35em; vertical-align: -.05em; animation: dtbn-bounce 1.4s cubic-bezier(.3, 0, .5, 1) .3s both; }
/* A dynamictennis foam ball: matte yellow without seams, with the dark "dynamictennis" print across it. */
.dtbn-ball > span { display: block; width: 100%; height: 100%; border-radius: 50%; background: radial-gradient(circle at 34% 30%, #fff6b0 0%, #ffe234 38%, #f5c400 78%, #d9a800 100%); box-shadow: inset -.06em -.07em .12em #9a700033; position: relative; overflow: hidden; animation: dtbn-spin 1.4s linear .3s both; }
.dtbn-ball > span::before { content: ""; position: absolute; inset: 0; background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path id='p' d='M2 58 Q50 44 98 58' fill='none'/><text font-family='Arial,Helvetica,sans-serif' font-size='15.5' font-weight='900' font-style='italic' fill='%231d1d1b' letter-spacing='-.5'><textPath href='%23p' startOffset='50%' text-anchor='middle'>dynamictennis</textPath></text></svg>") center / 100% no-repeat; }
@keyframes dtbn-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes dtbn-glow { from { opacity: 0; transform: scale(.6); } to { opacity: 1; transform: none; } }
@keyframes dtbn-shine { from { background-position: 100% 0; } to { background-position: 0 0; } }
@keyframes dtbn-spin { from { transform: rotate(-540deg); } to { transform: none; } }
@keyframes dtbn-bounce {
    0% { opacity: 0; transform: translate(14em, -3.2em); }
    10% { opacity: 1; }
    38% { transform: translate(7em, 0); }
    58% { transform: translate(3.5em, -1.2em); }
    76% { transform: translate(1.2em, 0); }
    88% { transform: translate(.4em, -.3em); }
    100% { transform: none; }
}
.dtbn-guide { min-width: 0; padding: 1.6rem 1.75rem; background: #fff; border: 1px solid #dce6eb; border-radius: 1rem; color: #073a59; }
.dtbn-guide h3 { font-size: 1rem; font-weight: 700; margin-bottom: 1rem; }
/* One row: about three and a half steps show, so the next one peeks in under a fade; the fade lifts once scrolled to the end. */
.dtbn-guide-steps { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(14rem, calc((100% - 2.25rem) / 3.4)); gap: .75rem; overflow-x: auto; padding: .25rem 0 .5rem; margin: -.25rem 0 -.5rem; scroll-snap-type: x proximity; scrollbar-width: thin; }
.dtbn-guide-steps.has-more { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 7rem), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 7rem), transparent); }
.dtbn-guide-steps li { scroll-snap-align: start; }
.dtbn-guide-step { display: flex; gap: .9rem; align-items: flex-start; height: 100%; padding: 1rem; border: 1px solid #e3ecef; border-radius: .8rem; transition: border-color .15s, background-color .15s, transform .15s; }
.dtbn-guide-step:hover { border-color: #0d9488; background: #f2fbfa; transform: translateY(-2px); }
.dtbn-guide-step:focus-visible { outline: 3px solid #0f766e; outline-offset: 3px; }
.dtbn-guide-number { display: grid; place-items: center; flex: none; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: #008c80; color: #fff; font-size: .85rem; font-weight: 700; }
.dtbn-guide-copy { display: grid; gap: .25rem; font-size: .8rem; line-height: 1.45; color: #526b79; }
.dtbn-guide-copy strong { font-size: .9rem; color: #073a59; }
.dtbn-guide-icon { width: 1.25rem; height: 1.25rem; flex: none; margin-left: auto; color: #0f877b; }
.dark .dtbn-guide { background: #18232f; border-color: #334155; color: #e2f5f3; }
.dark .dtbn-guide-step { border-color: #334155; }
.dark .dtbn-guide-step:hover { background: #1f2f3c; border-color: #5eead4; }
.dark .dtbn-guide-copy { color: #bacdd6; }
.dark .dtbn-guide-copy strong { color: #e2f5f3; }
.dark .dtbn-guide-icon { color: #5eead4; }
.dark .dtbn-dashboard.is-animated .dtbn-greeting { background-image: linear-gradient(100deg, #e2f5f3 40%, #5eead4 50%, #e2f5f3 60%); }
@media (max-width: 700px) { .dtbn-guide { padding: 1.25rem; } }
@media (prefers-reduced-motion: reduce) { .dtbn-dashboard.is-animated *, .dtbn-dashboard.is-animated *::before, .dtbn-ball, .dtbn-ball > span { animation: none !important; } .dtbn-guide-step { transition: none; } .dtbn-guide-step:hover { transform: none; } }

.contribution-steps { padding: 0; gap: .75rem; margin-bottom: .5rem; }
.contribution-steps li { display: flex; gap: .6rem; align-items: center; color: #64748b; font-size: .875rem; border-color: #cbd5e1; }
.contribution-steps li > span { display: inline-grid; place-items: center; border-radius: 100%; background: #e2e8f0; width: 1.6rem; height: 1.6rem; flex: none; font-weight: 700; }
.contribution-steps [aria-current="step"] { background: #f0fdfa; color: #115e59; border-width: 1px; }
.contribution-steps [aria-current="step"] > span { background: #0f766e; color: #fff; }
.contribution-intro { max-width: 42rem; padding: .5rem 0; }
.contribution-eyebrow { display: block; color: #0f766e; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin-bottom: .6rem; }
.contribution-intro h2 { font-size: 1.85rem; font-weight: 700; line-height: 1.2; letter-spacing: -.03em; }
.contribution-intro > p { margin: 1rem 0 1.4rem; line-height: 1.7; }
.contribution-help, .contribution-footnote { color: #526478; font-size: .875rem; line-height: 1.6; }
.contribution-rates { display: grid; gap: .75rem; max-width: 22rem; margin: 0 0 1.4rem; }
.contribution-rates label { display: grid; gap: .3rem; font-size: .875rem; font-weight: 500; }
.contribution-rates .contribution-error { padding: .25rem .5rem; margin: 0; }
.contribution-faq dl { display: grid; gap: .9rem; margin-top: .75rem; }
.contribution-faq dt { font-weight: 600; }
.contribution-faq dd { margin: .15rem 0 0; line-height: 1.6; }
.contribution-footnote { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.contribution-footnote a, .contribution-footnote button { text-decoration: underline; text-underline-offset: 3px; color: #0f766e; }
.contribution-summary { margin: 1.5rem 0; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); }
.contribution-summary > div { padding: 1rem; border: 1px solid #d5e1e6; border-radius: .75rem; }
.contribution-summary dt { font-size: .8rem; color: #526478; margin-bottom: .5rem; }
.contribution-summary dd { font-size: 1.4rem; color: #073a59; }
.contribution-summary .contribution-total { background: #f0fdfa; border-color: #99d9cc; }
.contribution-total dd { font-size: 1.8rem; color: #0f766e; }
/* Start step: what is still to bill next to the year's rates, in the same cards as the review step. */
.contribution-start { margin: 0 0 1rem; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); }
.contribution-start dd small { display: block; margin-top: .2rem; font-size: .75rem; font-weight: 500; color: #526478; }
.contribution-start dd .fi-input-wrp { margin-top: .1rem; }
.contribution-rates-note { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: 1.25rem; }
.contribution-start-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.dark .contribution-start dd small { color: #bacbd6; }
.contribution-confirm { padding: 1.2rem 0; }
.contribution-confirm > p { margin-bottom: 1rem; }
.contribution-calculation { margin-top: 1.5rem; border-top: 1px solid #d5e1e6; padding-top: 1rem; }
.contribution-calculation > summary { cursor: pointer; font-weight: 600; }
.contribution-calculation ul { padding: 1rem 0 0 1.25rem; list-style: disc; }
.contribution-calculation li { padding: .25rem 0; line-height: 1.6; }
.contribution-round-meta { font-size: .875rem; line-height: 1.8; }
.contribution-table { font-size: .875rem; }
.contribution-table th { font-size: .75rem; color: #526478; }
.contribution-table small { display: block; margin-top: .3rem; color: #526478; }
.contribution-table a { color: #0f766e; font-weight: 600; text-underline-offset: 3px; white-space: nowrap; }
.contribution-error { padding: 1rem; color: #9f1239; background: #fff1f2; border-radius: .5rem; margin: 1rem 0; }
.dark :is(.contribution-help, .contribution-footnote, .contribution-summary dt, .contribution-table small, .contribution-table th) { color: #bacbd6; }
.dark .contribution-steps li { color: #bacbd6; border-color: #475569; }
.dark .contribution-steps li > span { background: #334155; }
.dark .contribution-steps [aria-current="step"], .dark .contribution-summary .contribution-total { background: #134e4a; color: #d4fff6; border-color: #0d9488; }
.dark .contribution-summary > div { border-color: #475569; }
.dark .contribution-summary dd { color: #d4fff6; }
.dark .contribution-steps [aria-current="step"] > span { background: #5eead4; color: #134e4a; }
.dark .contribution-total dd, .dark .contribution-eyebrow, .dark .contribution-footnote a, .dark .contribution-footnote button, .dark .contribution-table a { color: #5eead4; }
.dark .contribution-error { background: #4c1325; color: #fecdd3; }
@media (max-width: 700px) { .contribution-steps { grid-template-columns: 1fr; } .contribution-footnote { flex-direction: column; } }

/* Compact full-width filters; keep the tables themselves prominent. */
.fi-ta-ctn .fi-ta-filters-above-content-ctn { padding: .75rem 1rem; }
.fi-ta-filters-above-content-ctn .fi-ta-filters { gap: .5rem 1rem; }
.fi-ta-filters-above-content-ctn .fi-ta-filters-heading { font-size: .8125rem; line-height: 1.25rem; }
.fi-ta-filters-above-content-ctn .fi-ta-filters .fi-sc { gap: .75rem 1rem; }
.fi-ta-filters-above-content-ctn .fi-fo-field { row-gap: .375rem; }
.fi-ta-filters-above-content-ctn .fi-fo-field-label-content { font-size: .8125rem; }
.fi-ta-filters-above-content-ctn :is(input.fi-input, select.fi-select-input) { padding-block: .25rem; font-size: .875rem; }
.fi-ta-filters-above-content-ctn .fi-fo-slider.fi-fo-slider-has-tooltips:not(.fi-fo-slider-vertical) { margin-top: 1.75rem; }
.fi-ta-filters-above-content-ctn .fi-fo-slider:not(.fi-fo-slider-vertical) { margin-inline: .5rem; }
.fi-ta-filters-above-content-ctn .noUi-tooltip { font-size: .75rem; line-height: 1rem; padding: .125rem .25rem; }
@media (min-width: 768px) {
    .fi-ta-filters-above-content-ctn .fi-ta-filters:has(> .fi-ta-filters-actions-ctn) { grid-template-columns: minmax(0, 1fr) auto; column-gap: 1.5rem; align-items: end; }
    .fi-ta-filters-above-content-ctn .fi-ta-filters-header { grid-column: 1 / -1; }
    .fi-ta-filters-above-content-ctn .fi-ta-filters > .fi-sc { min-width: 0; }
    .fi-ta-filters-above-content-ctn .fi-ta-filters-actions-ctn { padding-bottom: .125rem; }
}

.fi-ta-ctn .fi-ta-filters-above-content-ctn:not(.fi-open) { padding-block: .5rem; }
.fi-ta-filters-above-content-ctn.fi-open .fi-ta-filters-trigger-action-ctn { margin-top: .5rem; }

/* Keep member sign-in as a simple, spacious form in the public site's style. */
html:not(.dark) body.dtbn-member-login {
    background: #fff url('../images/elements/header.svg') no-repeat right top;
    background-size: min(65vw, 1000px) auto;
}
.dtbn-member-login .fi-simple-main-ctn {
    align-items: flex-start;
    padding: 5rem 1.5rem 2rem;
}
.dtbn-member-login .fi-simple-main {
    max-width: 1170px;
    margin: 0;
    padding: 2rem;
    border-radius: .5rem;
    box-shadow: 0 8px 24px rgb(0 0 0 / 8%);
}
.dtbn-member-login .fi-simple-header {
    align-items: flex-start;
}
.dtbn-member-login :is(.fi-simple-header-heading, .fi-simple-header-subheading) {
    text-align: left;
}
.dtbn-member-login .fi-simple-header-heading {
    font-size: 1.75rem;
    font-weight: 600;
}
.dtbn-member-login .fi-simple-header-subheading {
    text-wrap: auto;
}
@media (max-width: 640px) {
    .dtbn-member-login .fi-simple-main-ctn { padding: 2rem 1rem; }
    .dtbn-member-login .fi-simple-main { padding: 1.5rem; }
}

/* Tournament registration uses the same progress indicator as contribution rounds. */
.registration-wizard > * + * { margin-top: 1.5rem; }
/* Review step: the tournament first, then one card per registration with labelled fields, then the payment. */
.registration-review { display: grid; gap: 1rem; }
.registration-review-tournament { display: grid; gap: .15rem; }
.registration-review-tournament strong { font-size: 1.05rem; color: #073a59; }
.registration-review-tournament span, .registration-review-payment span { font-size: .875rem; color: #526b79; }
.registration-review-entries { display: grid; gap: .75rem; }
.registration-review-entries > li { padding: .9rem 1rem; border: 1px solid #e3ecef; border-radius: .75rem; background: #f8fbfc; }
.registration-review-entries dl { display: grid; grid-template-columns: max-content 1fr; gap: .35rem 1.25rem; font-size: .9rem; }
.registration-review-entries dt { color: #526b79; }
.registration-review-entries dd { font-weight: 600; color: #073a59; }
.registration-review-payment { display: flex; gap: 1.25rem; padding-top: .25rem; font-weight: 600; color: #073a59; }
.dark .registration-review-tournament strong, .dark .registration-review-entries dd, .dark .registration-review-payment { color: #e2f5f3; }
.dark .registration-review-tournament span, .dark .registration-review-payment span, .dark .registration-review-entries dt { color: #bacdd6; }
.dark .registration-review-entries > li { background: #1f2f3c; border-color: #334155; }
.registration-payment-help { margin-top: .75rem; }

/* Members area: page descriptions read as a quiet intro, not as a second heading. */
.fi-panel-leden .fi-header-subheading { font-size: .875rem; line-height: 1.4; }

/* Invoice recipient: the name, then the "Bestaand lid" badge with room between them. */
.invoice-recipient { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; padding: 1rem .75rem; }

/* Buttons under the association mailing, side by side. */
.mailing-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
