/* Shared interface: readable controls, clear navigation and account screens. */
:root {
    --sn-green: #087443;
    --sn-green-deep: #064c32;
    --sn-muted: #53665e;
    --sn-bg: #f5f7f4;
    --sn-border: #dce5df;
    --sn-shadow: 0 4px 24px rgba(22, 52, 37, .045);
    --bs-success-rgb: 8, 116, 67;
}

body { background: var(--sn-bg); line-height: 1.65; }
h1, h2, h3, h4 { letter-spacing: -.025em; line-height: 1.2; }
.text-muted, .form-text { color: var(--sn-muted) !important; }
a, button, input, select, textarea, summary { touch-action: manipulation; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid #176cc0;
    outline-offset: 4px;
}
.btn:focus-visible, .form-control:focus-visible, .form-select:focus-visible, .form-check-input:focus-visible {
    outline: 3px solid #176cc0;
    outline-offset: 3px;
}
[id] { scroll-margin-top: 10rem; }
.skip-link {
    position: fixed; z-index: 1100; top: .75rem; left: 1rem;
    transform: translateY(-180%); background: #fff; color: #064c32;
    padding: .75rem 1.25rem; border-radius: .65rem; font-weight: 700;
}
.skip-link:focus { transform: translateY(0); }
.btn {
    --bs-btn-font-weight: 600;
    --bs-btn-focus-shadow-rgb: 23, 108, 192;
    min-height: 44px; padding: .6rem 1rem; border-radius: .75rem;
    font-weight: 600; box-shadow: 0 1px 2px rgba(22, 52, 37, .035);
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}
.btn-sm { font-size: .9rem; }
.btn-success, .btn-cash {
    --bs-btn-color: #fff; --bs-btn-bg: #226c4b; --bs-btn-border-color: #226c4b;
    --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #195c3e; --bs-btn-hover-border-color: #195c3e;
    --bs-btn-active-color: #fff; --bs-btn-active-bg: #174e36; --bs-btn-active-border-color: #174e36;
    --bs-btn-disabled-color: #fff; --bs-btn-disabled-bg: #226c4b; --bs-btn-disabled-border-color: #226c4b;
    color: var(--bs-btn-color); background: var(--bs-btn-bg); border-color: var(--bs-btn-border-color);
    box-shadow: 0 3px 8px rgba(34, 108, 75, .11);
}
.btn-success:hover, .btn-cash:hover, .btn-success:focus-visible, .btn-cash:focus-visible {
    color: var(--bs-btn-hover-color); background: var(--bs-btn-hover-bg); border-color: var(--bs-btn-hover-border-color);
    box-shadow: 0 4px 10px rgba(34, 108, 75, .15);
}
.btn-primary {
    --bs-btn-color: #fff; --bs-btn-bg: #365f93; --bs-btn-border-color: #365f93;
    --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #2c527f; --bs-btn-hover-border-color: #2c527f;
    --bs-btn-active-color: #fff; --bs-btn-active-bg: #25466e; --bs-btn-active-border-color: #25466e;
    --bs-btn-disabled-color: #fff; --bs-btn-disabled-bg: #365f93; --bs-btn-disabled-border-color: #365f93;
}
.btn-outline-success {
    --bs-btn-color: #245d40; --bs-btn-bg: #edf5ef; --bs-btn-border-color: #d1e3d6;
    --bs-btn-hover-color: #194c32; --bs-btn-hover-bg: #e0eee4; --bs-btn-hover-border-color: #b7d1c0;
    --bs-btn-active-color: #194c32; --bs-btn-active-bg: #d6e8dc; --bs-btn-active-border-color: #a7c6b2;
    --bs-btn-disabled-color: #245d40; --bs-btn-disabled-bg: #edf5ef; --bs-btn-disabled-border-color: #d1e3d6;
}
.btn-outline-success:hover, .btn-outline-success:focus-visible {
    color: var(--bs-btn-hover-color); background: var(--bs-btn-hover-bg); border-color: var(--bs-btn-hover-border-color);
}
.btn-secondary, .btn-outline-secondary, .btn-light, .btn-outline-light, .btn-outline-dark {
    --bs-btn-color: #43564b; --bs-btn-bg: #f1f4f2; --bs-btn-border-color: #dfe7e2;
    --bs-btn-hover-color: #2e4337; --bs-btn-hover-bg: #e8eeea; --bs-btn-hover-border-color: #cbd9d0;
    --bs-btn-active-color: #2e4337; --bs-btn-active-bg: #dde7e0; --bs-btn-active-border-color: #bfd0c6;
    --bs-btn-disabled-color: #43564b; --bs-btn-disabled-bg: #f1f4f2; --bs-btn-disabled-border-color: #dfe7e2;
}
.btn-dark {
    --bs-btn-color: #fff; --bs-btn-bg: #43564b; --bs-btn-border-color: #43564b;
    --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #36483d; --bs-btn-hover-border-color: #36483d;
    --bs-btn-active-color: #fff; --bs-btn-active-bg: #2e3e34; --bs-btn-active-border-color: #2e3e34;
    --bs-btn-disabled-color: #fff; --bs-btn-disabled-bg: #43564b; --bs-btn-disabled-border-color: #43564b;
}
.btn-danger, .btn-outline-danger {
    --bs-btn-color: #983536; --bs-btn-bg: #fbefee; --bs-btn-border-color: #efd5d3;
    --bs-btn-hover-color: #82292b; --bs-btn-hover-bg: #f6e2e0; --bs-btn-hover-border-color: #e3bdbb;
    --bs-btn-active-color: #82292b; --bs-btn-active-bg: #efd6d4; --bs-btn-active-border-color: #dbaaa7;
    --bs-btn-disabled-color: #983536; --bs-btn-disabled-bg: #fbefee; --bs-btn-disabled-border-color: #efd5d3;
}
.btn-warning, .btn-outline-warning, .btn-orange {
    --bs-btn-color: #80530f; --bs-btn-bg: #fcf4df; --bs-btn-border-color: #ecddba;
    --bs-btn-hover-color: #6d440b; --bs-btn-hover-bg: #f5eacb; --bs-btn-hover-border-color: #ddc994;
    --bs-btn-active-color: #6d440b; --bs-btn-active-bg: #eedfb7; --bs-btn-active-border-color: #d4bd82;
    --bs-btn-disabled-color: #80530f; --bs-btn-disabled-bg: #fcf4df; --bs-btn-disabled-border-color: #ecddba;
}
.btn-info, .btn-outline-info, .btn-outline-primary, .btn-wave {
    --bs-btn-color: #315b83; --bs-btn-bg: #edf4fb; --bs-btn-border-color: #d3e1ee;
    --bs-btn-hover-color: #254b70; --bs-btn-hover-bg: #dfebf6; --bs-btn-hover-border-color: #b9d0e5;
    --bs-btn-active-color: #254b70; --bs-btn-active-bg: #d3e3f1; --bs-btn-active-border-color: #a8c3db;
    --bs-btn-disabled-color: #315b83; --bs-btn-disabled-bg: #edf4fb; --bs-btn-disabled-border-color: #d3e1ee;
}
.btn-wave, .btn-orange { color: var(--bs-btn-color); background: var(--bs-btn-bg); border-color: var(--bs-btn-border-color); }
.btn-wave:hover, .btn-orange:hover, .btn-wave:focus-visible, .btn-orange:focus-visible {
    color: var(--bs-btn-hover-color); background: var(--bs-btn-hover-bg); border-color: var(--bs-btn-hover-border-color);
}
.btn-link { --bs-btn-color: #245d40; --bs-btn-hover-color: #194c32; --bs-btn-active-color: #174e36; box-shadow: none; text-underline-offset: .2em; }
.btn:is(:disabled, [disabled], .disabled), .action-card .btn[disabled], .coming-soon-card .btn[disabled] {
    opacity: .6; box-shadow: none; cursor: not-allowed;
}
.btn:is(:disabled, [disabled], .disabled):hover { box-shadow: none; }
.btn-group > .btn, .input-group > .btn { position: relative; }
.btn-group > .btn:focus-visible, .input-group > .btn:focus-visible { z-index: 5; }
.btn-check:checked + .btn { box-shadow: inset 0 0 0 1px currentColor; }
.btn-check:focus-visible + .btn { outline: 3px solid #176cc0; outline-offset: 3px; }
.form-label { font-weight: 700; font-size: .92rem; color: #243d32; }
.form-control, .form-select { min-height: 46px; border-color: #9aada2; border-radius: .7rem; }
.form-control:focus, .form-select:focus {
    border-color: #087443; box-shadow: 0 0 0 3px rgba(8, 116, 67, .15);
}
.form-control::placeholder { color: #67786e; opacity: 1; }
.form-check-input { border-color: #788c80; }
.form-check-input:checked { background-color: #087443; border-color: #087443; }
.form-check-label { cursor: pointer; }
.alert { border-radius: .85rem; }
.table { --bs-table-color: #243d32; }
.table thead th { color: #435a4e; background: #f3f6f3; padding-top: 1rem; padding-bottom: 1rem; }
.table td { padding-top: .9rem; padding-bottom: .9rem; }
.table-responsive:focus-visible { outline: 3px solid #176cc0; outline-offset: 2px; }
.hero-card, .section-card, .stat-card, .action-card, .table-card, .profile-card { border-radius: 1.15rem; }
.hero-card::after { pointer-events: none; }
.section-title { flex-wrap: wrap; }
.stat-card h3 { font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.action-card { transition: border-color .18s ease, box-shadow .18s ease; }
.action-card:hover { border-color: #9fc8ad; box-shadow: 0 8px 26px rgba(22, 52, 37, .08); }
.dashboard-task-link { display: block; color: inherit; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease; }
.dashboard-task-link:hover { color: inherit; border-color: #9fc8ad; box-shadow: 0 8px 20px rgba(22, 52, 37, .08); }
.dashboard-task-link:focus-visible { color: inherit; }
.tontine-form-section { padding-top: 1.1rem; border-top: 1px solid var(--sn-border); }
.tontine-form-section h3 { display: flex; align-items: center; gap: .65rem; color: #243d32; }
.tontine-form-section h3 span { display: inline-grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: #e7f2e9; color: #065b35; font-size: .8rem; }
.action-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.dashboard-user-shell { padding: 2rem 12px 3rem; }
.payment-entry-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; list-style: none; cursor: pointer; }
.payment-entry-disclosure > summary::-webkit-details-marker { display: none; }
.payment-entry-disclosure > summary { margin: -1.1rem; padding: 1rem 1.1rem; }
.payment-entry-toggle { display: inline-flex; align-items: center; min-height: 44px; padding: .55rem .85rem; border: 1px solid #d1e3d6; border-radius: .75rem; background: #edf5ef; color: #245d40; font-size: .85rem; font-weight: 600; white-space: nowrap; }
.payment-entry-disclosure[open] > summary { margin: -1.1rem -1.1rem 1rem; border-bottom: 1px solid var(--sn-border); }
.payment-entry-disclosure > .row { padding: 0 .25rem 1.1rem; }
.payment-entry-disclosure[open] > summary .payment-entry-toggle i::before { content: '\f068'; }
.payment-selection-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; border: 1px solid var(--sn-border); border-radius: .65rem; background: #f7faf7; }
.payment-selection-toolbar .form-select { min-width: 12rem; }
.payment-selection-column { width: 2.75rem; text-align: center; }
.payment-selection-column .form-check-input { margin: 0; width: 1.15rem; height: 1.15rem; }
@media (max-width: 575.98px) {
    .payment-entry-disclosure > summary { align-items: flex-start; flex-direction: column; }
    .payment-selection-toolbar { align-items: stretch; }
    .payment-selection-toolbar > div:last-child { width: 100%; }
    .payment-selection-toolbar .form-select { min-width: 0; }
}

/* Public landing page. */
.landing-body { background: #f7f8f2; }
.landing-body .public-topbar { background: #f7f8f2; border-bottom: 1px solid #dce5df; }
.landing-body .public-footer { background: #f7f8f2; }
.landing-install-dropdown { margin-left: auto; }
.landing-install-trigger { display: inline-flex; align-items: center; gap: .65rem; border: 1px solid #d1e3d6; color: #245d40; background: #edf5ef; font-weight: 600; }
.landing-install-trigger:hover, .landing-install-trigger:focus-visible, .landing-install-trigger[aria-expanded="true"] { border-color: #b7d1c0; color: #194c32; background: #e0eee4; }
.landing-install-chevron { font-size: .7rem; }
.landing-install-menu { width: min(22rem, calc(100vw - 1.5rem)); padding: .6rem; border: 1px solid #dce5df; border-radius: .55rem; box-shadow: 0 16px 36px rgba(16, 62, 38, .16); }
.landing-install-menu-title { margin: .35rem .65rem .45rem; color: #53665e; font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.landing-install-menu .dropdown-item { display: flex; align-items: flex-start; gap: .75rem; padding: .7rem .65rem; border-radius: .4rem; white-space: normal; }
.landing-install-menu .dropdown-item > i { width: 1.2rem; margin-top: .2rem; color: #087443; text-align: center; }
.landing-install-menu .dropdown-item > span { display: grid; gap: .1rem; }
.landing-install-menu .dropdown-item strong { color: #17312a; font-size: .88rem; }
.landing-install-menu .dropdown-item small { color: #53665e; font-size: .75rem; }
.landing-install-menu .dropdown-item:hover strong, .landing-install-menu .dropdown-item:focus-visible strong { color: #064c32; }
.landing-install-menu .dropdown-item[data-pwa-install][hidden] { display: none; }
.landing-hero { position: relative; isolation: isolate; display: grid; align-items: center; min-height: 590px; overflow: hidden; padding: 5rem 0 4rem; color: #fff; background: #103e2e; }
.landing-hero-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(340px, .85fr); align-items: center; gap: 3rem; }
.landing-hero-content { max-width: 680px; }
.landing-hero-mark { position: absolute; z-index: -1; top: 50%; right: max(2rem, calc((100vw - 1200px) / 2)); width: 320px; aspect-ratio: 1; transform: translateY(-50%); background: url('../images/pwa-maskable-512.png') center / contain no-repeat; opacity: .07; }
.landing-eyebrow, .landing-section-kicker { display: inline-flex; align-items: center; gap: .6rem; margin: 0 0 1rem; color: #e4c66d; font-size: .8rem; font-weight: 800; }
.landing-eyebrow > span { width: .5rem; height: .5rem; border-radius: 50%; background: #e4c66d; }
.landing-hero h1 { margin: 0; color: #fff; font-family: 'Outfit', sans-serif; font-size: 4.5rem; font-weight: 800; line-height: 1.05; letter-spacing: 0; }
.landing-lead { max-width: 39rem; margin: 1.2rem 0 0; color: #d7e7dc; font-size: 1.2rem; line-height: 1.6; }
.landing-actions { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: .75rem; margin-top: 2rem; }
.landing-actions .btn { display: inline-flex; min-height: 3.2rem; align-items: center; justify-content: center; gap: .7rem; padding: .75rem 1.2rem; font-weight: 600; }
.landing-button-primary { border: 1px solid #efd487; color: #163d2b; background: #efd487; }
.landing-button-primary:hover, .landing-button-primary:focus-visible { border-color: #f7e6ad; color: #163d2b; background: #f7e6ad; }
.landing-button-secondary { border: 1px solid #719381; color: #edf5ef; background: #214c39; }
.landing-button-secondary:hover, .landing-button-secondary:focus-visible { border-color: #93b09f; color: #fff; background: #2c5a44; }
.landing-product-preview { padding: 1.5rem; border: 1px solid rgba(255, 255, 255, .55); border-radius: .65rem; color: #17312a; background: #fff; box-shadow: 0 22px 55px rgba(0, 0, 0, .16); }
.landing-preview-header { display: flex; align-items: center; gap: .75rem; padding-bottom: 1rem; border-bottom: 1px solid #dce5df; color: #53665e; font-size: .68rem; font-weight: 800; }
.landing-preview-header img { width: 2.8rem; height: 2.8rem; object-fit: contain; }
.landing-product-preview h2 { margin: 1.2rem 0; font-family: 'Outfit', sans-serif; font-size: 1.35rem; font-weight: 700; letter-spacing: 0; }
.landing-preview-list { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.landing-preview-list li { display: flex; align-items: center; gap: .8rem; min-height: 3.6rem; padding: .5rem .7rem; border: 1px solid #dce5df; border-radius: .5rem; }
.landing-preview-list li > i { display: grid; width: 2.4rem; height: 2.4rem; place-items: center; border-radius: .45rem; color: #087443; background: #e7f2e9; }
.landing-preview-list li > span { display: grid; gap: .1rem; }
.landing-preview-list strong { color: #17312a; font-size: .88rem; }
.landing-preview-list small { color: #53665e; font-size: .76rem; }
.landing-preview-caption { margin: 1rem 0 0; color: #53665e; font-size: .78rem; }
.landing-stats { padding: 1.7rem 0; border-bottom: 1px solid #dce5df; background: #fff; }
.landing-stats-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.landing-stat { display: grid; justify-items: center; gap: .2rem; padding: .4rem 1rem; text-align: center; }
.landing-stat + .landing-stat { border-left: 1px solid #dce5df; }
.landing-stat strong { color: #087443; font-family: 'Outfit', sans-serif; font-size: 1.6rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.landing-stat span { color: #53665e; font-size: .85rem; }
.landing-intro { padding: 5rem 0; background: #fff; text-align: center; }
.landing-intro .landing-section-kicker, .landing-final-cta .landing-section-kicker { color: #087443; }
.landing-intro h2, .landing-features h2, .landing-final-cta h2 { max-width: 45rem; margin: 0 auto; color: #17312a; font-family: 'Outfit', sans-serif; font-size: 2.5rem; font-weight: 700; letter-spacing: 0; }
.landing-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; margin: 3.5rem 0 0; padding: 0; list-style: none; text-align: left; }
.landing-steps li { padding-top: 1.2rem; border-top: 2px solid #dce5df; }
.landing-step-number { display: inline-block; margin-bottom: 1rem; color: #087443; font-family: 'Outfit', sans-serif; font-size: 1.2rem; font-weight: 800; }
.landing-steps h3 { margin: 0 0 .5rem; color: #17312a; font-size: 1.2rem; font-weight: 700; letter-spacing: 0; }
.landing-steps p { max-width: 22rem; margin: 0; color: #53665e; }
.landing-features { padding: 5rem 0; background: #edf4ee; }
.landing-features-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); align-items: center; gap: 4rem; }
.landing-features h2 { margin: 0; }
.landing-features-lead { max-width: 34rem; margin: 1rem 0 0; color: #53665e; font-size: 1.05rem; }
.landing-feature-list { display: grid; gap: 1.2rem; margin: 0; padding: 0; list-style: none; }
.landing-feature-list li { display: flex; align-items: flex-start; gap: 1rem; color: #243d32; font-weight: 700; }
.landing-feature-list i { display: grid; flex: 0 0 2.6rem; width: 2.6rem; height: 2.6rem; place-items: center; border-radius: .75rem; color: #087443; background: #fff; }
.landing-roles { padding: 5rem 0; background: #fff; }
.landing-roles > .container > h2, .landing-faq h2 { max-width: 45rem; margin: 0; color: #17312a; font-family: 'Outfit', sans-serif; font-size: 2.5rem; font-weight: 700; letter-spacing: 0; }
.landing-roles-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem; margin-top: 2.8rem; }
.landing-roles-grid article { padding-top: 1.25rem; border-top: 2px solid #dce5df; }
.landing-role-label { margin: 0 0 .6rem; color: #087443; font-size: .72rem; font-weight: 800; }
.landing-roles-grid h3 { color: #17312a; font-size: 1.25rem; font-weight: 700; letter-spacing: 0; }
.landing-roles-grid ul { display: grid; gap: .55rem; margin: 1rem 0 1.2rem; padding-left: 1.2rem; color: #53665e; }
.landing-text-link { display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; color: #087443; font-weight: 800; text-underline-offset: .2em; }
.landing-faq { padding: 5rem 0; background: #edf4ee; }
.landing-faq-inner { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 4rem; }
.landing-faq-list details { border-bottom: 1px solid #cddbd0; }
.landing-faq-list details:first-child { border-top: 1px solid #cddbd0; }
.landing-faq-list summary { display: flex; align-items: center; min-height: 58px; padding: .75rem 0; color: #17312a; font-weight: 700; cursor: pointer; }
.landing-faq-list p { max-width: 42rem; margin: 0 0 1rem; color: #53665e; }
.landing-final-cta { padding: 4.5rem 0; background: #fff; text-align: center; }
.landing-final-cta .landing-actions { margin-top: 1.4rem; }
.landing-final-cta .landing-button-secondary { border-color: #d1e3d6; color: #245d40; background: #edf5ef; }
.landing-final-cta .landing-button-secondary:hover, .landing-final-cta .landing-button-secondary:focus-visible { border-color: #b7d1c0; color: #194c32; background: #e0eee4; }

@media (max-width: 767.98px) {
    .landing-hero { min-height: auto; padding: 4rem 0 3rem; }
    .landing-hero-layout { grid-template-columns: 1fr; gap: 2.5rem; }
    .landing-hero-mark { top: 6rem; right: -4.5rem; width: 250px; transform: none; opacity: .08; }
    .landing-hero h1 { font-size: 3.3rem; }
    .landing-lead { max-width: 31rem; font-size: 1.05rem; }
    .landing-product-preview { max-width: 34rem; }
    .landing-stats-grid { grid-template-columns: 1fr; }
    .landing-stat { padding: .8rem 0; }
    .landing-stat + .landing-stat { border-top: 1px solid #dce5df; border-left: 0; }
    .landing-intro, .landing-features, .landing-roles, .landing-faq { padding: 3.5rem 0; }
    .landing-intro h2, .landing-features h2, .landing-roles > .container > h2, .landing-faq h2, .landing-final-cta h2 { font-size: 2rem; }
    .landing-steps { grid-template-columns: 1fr; gap: 1.5rem; margin-top: 2.5rem; }
    .landing-steps li { display: grid; grid-template-columns: 2.5rem 1fr; column-gap: .8rem; }
    .landing-step-number { grid-row: span 2; margin: 0; }
    .landing-steps p { grid-column: 2; }
    .landing-features-inner { grid-template-columns: 1fr; gap: 2rem; }
    .landing-roles-grid, .landing-faq-inner { grid-template-columns: 1fr; gap: 2rem; }
    .landing-roles-grid { margin-top: 2rem; }
    .landing-final-cta { padding: 3.5rem 0; }
}

@media (max-width: 420px) {
    .landing-install-trigger { gap: .45rem; padding: .55rem .65rem; font-size: .82rem; }
    .landing-install-chevron { display: none; }
    .landing-hero h1 { font-size: 2.8rem; }
    .landing-actions { flex-direction: column; align-items: stretch; }
    .landing-actions .btn { width: 100%; }
    .landing-product-preview { padding: 1.1rem; }
    .landing-stat strong { font-size: 1.4rem; }
}

/* Navigation shared by every member page. */
.public-topbar { background: #fff; border-bottom: 1px solid var(--sn-border); backdrop-filter: none; }
.has-account .public-topbar { position: sticky; top: 0; z-index: 1020; }
.topbar-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1rem; padding-bottom: 1rem; }
.public-topbar .brand-logo-plain { height: 3.1rem; max-width: 11rem; }
.brand-link-topbar .brand-copy { padding-left: 1rem; border-left: 1px solid var(--sn-border); font-size: .8rem; max-width: 11rem; }
.notification-topbar-btn { background: #f2f6f3; border-color: #dfe8e1; color: #344f40; }
.notification-topbar-btn:hover, .notification-topbar-btn:focus-visible, .notification-topbar-btn.active { background: #e5efe8; border-color: #c6d9cd; color: #245d40; }
.topbar-account { display: flex; gap: .7rem; align-items: center; padding: .2rem .6rem; color: var(--sn-ink); border-radius: .7rem; }
.account-initial { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: #e5f1e8; color: #065b35; font-weight: 800; }
.account-copy { display: flex; flex-direction: column; line-height: 1.5; }
.account-copy strong { max-width: 15rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .9rem; }
.account-copy small { color: var(--sn-muted); font-size: .75rem; }
.topbar-logout { display: grid; place-items: center; width: 44px; height: 44px; color: #53665e; border-radius: .75rem; transition: background-color .16s ease, color .16s ease; }
.topbar-logout:hover { background: #e8eeea; color: #2e4337; }
.member-navigation { display: flex; align-items: center; gap: .45rem; padding-bottom: .7rem; }
.member-nav-link { display: flex; align-items: center; gap: .6rem; min-height: 46px; padding: .6rem 1rem; color: #53665e; font-weight: 700; border-radius: .65rem; font-size: .9rem; }
.member-nav-link:hover { background: #f3f6f3; color: #064c32; }
.member-nav-link.active { background: #e7f2e9; color: #065b35; box-shadow: inset 0 -3px #087443; }
.mobile-bottom-nav { display: none; }
.public-footer { background: transparent; border-top: 1px solid var(--sn-border); color: var(--sn-muted); font-size: .85rem; }
.sidebar-panel { flex-shrink: 0; width: 272px; background: #103e2e; }
.sidebar-link { min-height: 46px; border-radius: .65rem; }
.sidebar-link i { width: 1.3rem; text-align: center; }
.sidebar-link:hover, .sidebar-link.active { transform: none; }
.sidebar-link.active { background: #e3f0e6; color: #103e2e; font-weight: 700; box-shadow: inset 4px 0 #e9bf51; }
.sidebar-link.active .sidebar-link-badge { color: #efd487; background: #103e2e; }
.sidebar-section-label { margin: .85rem .95rem .2rem; font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 800; color: #b9d0c3; }
.sidebar-user-card { gap: .7rem; border-radius: .8rem; }
.sidebar-user-card > div { min-width: 0; overflow-wrap: anywhere; }
.sidebar-panel .text-white-50 { color: #c0d4c8 !important; font-size: .8rem; }
.sidebar-footer .btn { background: #214c39; border-color: #719381; color: #edf5ef; box-shadow: none; }
.sidebar-footer .btn:hover, .sidebar-footer .btn:focus-visible { background: #2c5a44; border-color: #93b09f; color: #fff; }
.sidebar-footer .btn:focus-visible, .landing-hero .btn:focus-visible { outline-color: #efd487; }
.app-main-inner { max-width: 1600px; margin: 0 auto; padding: 2rem clamp(1.25rem, 3vw, 3rem); }
.workspace-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; color: var(--sn-muted); font-size: .8rem; margin-bottom: 1.5rem; }
.workspace-crumb a { color: #087443; display: inline-flex; align-items: center; min-height: 44px; }
.workspace-crumb i { font-size: .6rem; }

/* Account pages. */
.login-body { background: #f7f8f2; }
.login-body .public-topbar { background: transparent; border: 0; }
.login-body .topbar-inner { max-width: 1200px; padding-top: 1.2rem; padding-bottom: 1.2rem; }
.auth-topbar-nav { display: flex; align-items: center; gap: 1.5rem; }
.auth-home-link { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; }
.auth-nav-link { color: #53665e; display: inline-flex; align-items: center; min-height: 44px; font-size: .9rem; font-weight: 700; }
.auth-nav-link.active { color: #064c32; text-decoration: underline; text-underline-offset: .45rem; text-decoration-thickness: 2px; }
.auth-shell { min-height: calc(100svh - 175px); padding: 1.2rem 1.5rem 2.5rem; }
.auth-card { width: min(100%, 1160px); padding: 0; border-radius: 1.65rem; border: 1px solid #dce5df; box-shadow: 0 20px 65px rgba(16, 62, 38, .07); }
.auth-split { grid-template-columns: 1fr 1fr; align-items: stretch; }
.auth-showcase { position: relative; display: flex; flex-direction: column; overflow: hidden; padding: 2.5rem; background: #103e2e; }
.auth-showcase::before { content: ''; position: absolute; width: 360px; height: 360px; border-radius: 50%; border: 1px solid #315a43; top: -230px; right: -170px; pointer-events: none; box-shadow: 0 0 0 55px rgba(255,255,255,.025), 0 0 0 110px rgba(255,255,255,.02); }
.auth-eyebrow { display: inline-flex; align-items: center; gap: .6rem; color: #d9e6d7; font-size: .8rem; font-weight: 600; letter-spacing: .025em; }
.auth-status-dot { width: 7px; height: 7px; background: #ecce77; border-radius: 50%; }
.auth-headline { position: relative; margin: 1.7rem 0 1.3rem; font-size: clamp(2.6rem, 4.2vw, 3.7rem); font-weight: 600; line-height: 1.06; letter-spacing: -.045em; }
.auth-headline > span { color: #efd487; }
.auth-description { color: #d0e0d3; max-width: 24rem; font-size: .95rem; line-height: 1.8; }
.auth-values { display: flex; flex-wrap: wrap; gap: .8rem 1.3rem; padding-top: 1.25rem; margin-top: auto; border-top: 1px solid #41614e; color: #e0eadf; font-size: .73rem; }
.auth-values span { display: inline-flex; align-items: center; gap: .4rem; }
.auth-values i { color: #efd487; }
.community-art { position: relative; height: 195px; margin: .6rem 0 1.6rem; }
.community-orbit { position: absolute; width: 290px; height: 168px; border: 1px solid #64806a; border-radius: 50%; left: 50%; top: 4px; transform: translateX(-50%) rotate(-14deg); }
.community-orbit--inner { width: 208px; height: 112px; top: 31px; transform: translateX(-50%) rotate(14deg); border-style: dashed; border-color: #64806a; }
.community-center { position: absolute; top: 39px; left: calc(50% - 46px); width: 92px; height: 92px; display: grid; place-items: center; border-radius: 28px; transform: rotate(-8deg); background: #efd487; color: #103e2e; box-shadow: 0 12px 30px #08291f66; font-size: 2.5rem; }
.community-center i { transform: rotate(8deg); }
.community-person { position: absolute; display: grid; place-items: center; width: 44px; height: 44px; border: 5px solid #103e2e; border-radius: 50%; font-size: 1rem; color: #103e2e; }
.community-person--one { top: 9px; left: calc(50% - 120px); background: #c5d8ee; }
.community-person--two { top: 0; right: calc(50% - 121px); background: #e8b19d; }
.community-person--three { top: 109px; left: calc(50% - 145px); background: #c4d3a5; }
.community-person--four { top: 104px; right: calc(50% - 143px); background: #e3c57d; }
.community-note { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%) rotate(-3deg); display: flex; align-items: center; gap: .6rem; width: max-content; max-width: 100%; padding: .6rem .9rem; background: #f7f8ed; color: #214c33; border-radius: .65rem; font-size: .72rem; font-weight: 700; box-shadow: 0 8px 20px #08291f40; }
.community-note i { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; background: #e0edda; flex-shrink: 0; }
.auth-form-panel { display: flex; flex-direction: column; justify-content: center; padding: 2.5rem clamp(2rem, 4.2vw, 4rem); background: #fff; min-width: 0; }
.auth-welcome { margin-bottom: 1.8rem; }
.auth-kicker { color: #53665e; font-size: .66rem; font-weight: 800; letter-spacing: .16em; margin-bottom: .7rem; }
.auth-welcome h1 { font-size: clamp(2rem, 3vw, 2.7rem); font-weight: 600; margin-bottom: .85rem; line-height: 1.1; }
.auth-welcome > p:last-child { font-size: .9rem; }
.auth-input-wrap { position: relative; }
.auth-input-wrap > i { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: #698173; pointer-events: none; font-size: .9rem; }
.auth-input-wrap .form-control { padding-left: 2.7rem; background-color: #f9faf7; font-size: .9rem; min-height: 54px; }
.auth-input-wrap--password .form-control { padding-right: 6rem; }
.password-toggle { position: absolute; right: .25rem; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; gap: .35rem; min-height: 44px; min-width: 44px; padding: .5rem .6rem; border: 0; border-radius: .5rem; color: #365844; background: transparent; font-size: .72rem; font-weight: 700; }
.password-toggle[hidden] { display: none; }
.password-toggle:hover { background: #e7f0e5; }
.auth-form .form-text { font-size: .74rem; margin-top: .5rem; }
.auth-submit { display: flex; align-items: center; justify-content: space-between; min-height: 54px; margin-top: .15rem; font-size: 1rem; box-shadow: 0 6px 16px #0874431a; }
.auth-register-link { margin-top: 1.5rem; padding-top: 1.2rem; border-top: 1px solid #e5ebe4; text-align: center; display: flex; flex-wrap: wrap; gap: 0 .5rem; align-items: center; justify-content: center; color: #53665e; font-size: .8rem; }
.auth-register-link a { display: inline-flex; align-items: center; gap: .55rem; color: #087443; font-weight: 800; min-height: 44px; text-decoration: underline; text-underline-offset: 3px; }
.auth-register-link i { font-size: .65rem; }
.auth-help { font-size: .8rem; color: #53665e; margin-top: .65rem; }
.auth-help summary { min-height: 44px; padding: .65rem 0; cursor: pointer; }
.auth-help p { margin: .5rem 0; }
.auth-attribution { margin: 1rem 0 0; color: #53665e; font-size: .75rem; text-align: center; }
.auth-attribution a, .public-footer a { color: #087443; font-weight: 700; text-underline-offset: .2em; }
.auth-card--register .auth-form-panel { padding: 2.5rem; }
.auth-card--register .auth-showcase { justify-content: flex-start; }
.auth-card--register .auth-headline { font-size: clamp(2.5rem, 4vw, 3.7rem); }
.auth-feature-list { list-style: none; padding: 0; margin: 2rem 0; display: grid; gap: 1.5rem; }
.auth-feature-list li { display: flex; gap: 1rem; align-items: flex-start; }
.auth-feature-list i { width: 40px; height: 40px; display: grid; place-items: center; color: #efd487; border: 1px solid #527159; border-radius: 12px; flex-shrink: 0; }
.auth-feature-list strong { display: block; font-size: .95rem; font-weight: 600; }
.auth-feature-list p { margin: .25rem 0 0; font-size: .85rem; color: #d0e0d3; }

/* Small custom actions use the same quiet surfaces as the shared buttons. */
.beneficiary-order-arrow {
    width: 44px; height: 44px; border-radius: .75rem;
    color: #245d40; background: #edf5ef; border-color: #d1e3d6;
    box-shadow: 0 1px 2px rgba(22, 52, 37, .035);
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}
.beneficiary-order-arrow:hover, .beneficiary-order-arrow:focus-visible {
    color: #194c32; background: #e0eee4; border-color: #b7d1c0;
    transform: none; box-shadow: 0 3px 8px rgba(22, 52, 37, .07);
}
.beneficiary-order-arrow:disabled { opacity: .5; box-shadow: none; }
.btn-close { min-width: 44px; min-height: 44px; border-radius: .75rem; opacity: .65; }
.btn-close:hover { background-color: rgba(255, 255, 255, .5); opacity: .9; }
.admin-pin-button {
    width: 44px; height: 44px; border-radius: .75rem;
    border-color: #dfe7e2; background: #f1f4f2; color: #43564b;
    box-shadow: 0 1px 2px rgba(22, 52, 37, .035);
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}
.admin-pin-button:hover { transform: none; border-color: #cbd9d0; background: #e8eeea; color: #2e4337; box-shadow: 0 3px 8px rgba(22, 52, 37, .07); }
.admin-pin-button.is-pinned { color: #80530f; border-color: #ecddba; background: #fcf4df; box-shadow: none; }
.admin-pin-button.is-pinned:hover { border-color: #ddc994; background: #f5eacb; }
.password-toggle { border-radius: .6rem; color: #43564b; }
.password-toggle:hover { background: #e8eeea; color: #2e4337; }
.pwa-install-button { min-height: 44px; border-radius: .75rem; background: #226c4b; box-shadow: 0 4px 16px rgba(34, 108, 75, .16); font-weight: 600; transition: background-color .16s ease, box-shadow .16s ease; }
.pwa-install-button:hover, .pwa-install-button:focus-visible { transform: none; background: #195c3e; box-shadow: 0 5px 18px rgba(34, 108, 75, .2); }

@media (max-width: 1199.98px) {
    .brand-link-topbar .brand-copy { display: none; }
    .auth-showcase { padding: 2.3rem; }
    .auth-form-panel { padding: 2.3rem; }
}
@media (max-width: 991.98px) {
    .mobile-nav-notification, .mobile-nav-logout, .mobile-nav-toggle, .sidebar-mobile-close { border-radius: .75rem; background: #214c39; border-color: #719381; color: #edf5ef; transition: background-color .16s ease, border-color .16s ease, color .16s ease; }
    .mobile-nav-notification:hover, .mobile-nav-logout:hover, .mobile-nav-toggle:hover, .sidebar-mobile-close:hover { background: #2c5a44; border-color: #93b09f; color: #fff; }
    .mobile-nav-notification:focus-visible, .mobile-nav-logout:focus-visible, .mobile-nav-toggle:focus-visible, .sidebar-mobile-close:focus-visible { outline-color: #efd487; }
    .notification-topbar-btn { width: 44px; height: 44px; padding: .65rem; justify-content: center; }
    .auth-split { grid-template-columns: .9fr 1.1fr; }
    .auth-showcase { padding: 2rem; }
    .auth-headline { font-size: 3rem; }
    .auth-form-panel, .auth-card--register .auth-form-panel { padding: 2rem; }
    .community-orbit { width: 240px; }
    .community-orbit--inner { width: 170px; }
    .community-person--three { left: calc(50% - 124px); }
    .community-person--four { right: calc(50% - 124px); }
    .sidebar-panel { width: min(310px, 88vw); }
    .sidebar-footer { display: block; }
    .sidebar-panel:not([aria-hidden="false"]) { visibility: hidden; }
    .mobile-nav-bar { background: #103e2e; padding: .65rem 1rem; }
    .app-main-inner { padding: 1.5rem; }
    .account-copy { display: none; }
    .workspace-crumb { margin-bottom: .75rem; }
}
@media (max-width: 767.98px) {
    [id] { scroll-margin-top: 6rem; }
    .has-account:not(.has-sidebar) { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
    .topbar-inner { gap: .5rem; padding-top: .7rem; padding-bottom: .7rem; }
    .public-topbar .brand-logo-plain { height: 2.5rem; max-width: 9rem; }
    .topbar-account { padding: 0; }
    .member-navigation { display: none; }
    .mobile-bottom-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); position: fixed; inset: auto 0 0; z-index: 1030; background: #fff; border-top: 1px solid #dce5df; padding: .4rem .3rem calc(.4rem + env(safe-area-inset-bottom)); box-shadow: 0 -4px 20px #17312a08; }
    .mobile-bottom-nav a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; min-height: 56px; padding: .4rem .1rem; color: #53665e; font-size: .65rem; font-weight: 700; border-radius: .6rem; }
    .mobile-bottom-nav i { font-size: 1.1rem; }
    .mobile-bottom-nav a.active { background: #e7f2e9; color: #065b35; box-shadow: inset 0 3px #087443; }
    .has-account .pwa-install-button { bottom: calc(90px + env(safe-area-inset-bottom)); }
    .dashboard-user-shell { padding-top: 1rem; }
    .app-main-inner { padding: 1.2rem 1rem; }
    .auth-shell { display: block; min-height: auto; padding: .6rem 1rem 1.5rem; }
    .auth-split { grid-template-columns: 1fr; }
    .auth-card { border-radius: 1.25rem; }
    .auth-card--login .auth-showcase { padding: 1.5rem; }
    .auth-card--login .auth-headline { font-size: 2.3rem; margin: .8rem 0 0; }
    .auth-card--login .auth-headline br { display: none; }
    .auth-card--login .auth-headline > span { display: block; }
    .auth-card--login .auth-description, .community-art, .auth-card--login .auth-values { display: none; }
    .auth-form-panel, .auth-card--register .auth-form-panel { padding: 1.8rem 1.5rem; }
    .auth-welcome h1 br { display: none; }
    .auth-welcome h1 { font-size: 2rem; }
    .auth-welcome { margin-bottom: 1.5rem; }
    .login-body .topbar-inner { padding-top: .9rem; padding-bottom: .9rem; }
    .auth-topbar-nav { gap: .75rem; }
    .auth-topbar-nav .auth-nav-link { display: none; }
    .auth-topbar-nav .btn { padding: .5rem .7rem; font-size: .8rem; }
    .auth-topbar-nav .btn i { display: none; }
    .auth-card--register .auth-showcase { padding: 1.5rem; }
    .auth-card--register .auth-headline { font-size: 2rem; margin: .7rem 0 0; }
    .auth-card--register .auth-description, .auth-card--register .auth-feature-list, .auth-card--register .auth-values { display: none; }
}
@media (max-width: 359.98px) {
    .auth-shell { padding: .5rem .5rem 1rem; }
    .auth-form-panel, .auth-card--register .auth-form-panel { padding: 1.4rem 1rem; }
    .auth-topbar-nav .btn { font-size: .75rem; }
    .mobile-nav-actions { gap: .35rem; }
    .mobile-nav-logo { max-width: 115px; height: auto; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
.payment-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 1.5rem; align-items: start; }
.payment-members, .payment-summary { min-width: 0; }
.payment-summary { position: sticky; top: 1.5rem; }
.has-account:not(.has-sidebar) .payment-summary { top: 10rem; }
.payment-context-meta { display: flex; flex-direction: column; border-left: 1px solid #dce5df; padding-left: 1.5rem; }
.payment-member-tools { display: grid; gap: 1rem; margin-bottom: 1rem; }
.payment-check-label { display: flex; align-items: center; gap: .8rem; cursor: pointer; min-height: 44px; }
.payment-check-label .form-check-input { flex-shrink: 0; width: 1.3em; height: 1.3em; margin: 0; }
.payment-member-list { display: grid; gap: .75rem; }
.contribution-row { padding: 1rem; border: 1px solid #d9e4dc; border-radius: 1rem; background: #fff; }
.contribution-row.is-selected { border-color: #087443; box-shadow: inset 4px 0 #087443; background: #f4faf6; }
.contribution-row.is-paid { background: #f5f6f5; }
.contribution-row-main { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.contribution-row .member-name { min-width: 0; overflow-wrap: anywhere; }
.contribution-amount { flex: 0 0 175px; }
.contribution-amount .form-label { margin-bottom: .35rem; }
.contribution-amount input { font-weight: 700; }
.contribution-details summary { color: #375949; cursor: pointer; padding: .5rem 0; font-size: .85rem; }
.payment-method-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.payment-method-choice { display: flex; align-items: center; gap: .5rem; padding: .8rem .6rem; border: 1px solid #ccdcd1; border-radius: .75rem; cursor: pointer; font-size: .85rem; min-height: 52px; }
.payment-method-choice:has(input:checked) { background: #e5f3e9; border-color: #087443; color: #06482a; }
.payment-method-choice input { margin: 0; flex-shrink: 0; }
.contribution-total { display: flex; flex-direction: column; gap: .35rem; padding: 1.25rem 0; margin-top: 1rem; border-top: 1px solid #dce5df; }
.contribution-total > strong { font-family: 'Outfit', sans-serif; font-size: 2rem; color: #103e2e; }
.contribution-recap { list-style: none; padding: 0; max-height: 200px; overflow-y: auto; }
.contribution-recap li { display: flex; justify-content: space-between; gap: .75rem; padding: .45rem 0; border-bottom: 1px solid #edf1ee; }
.contribution-recap li strong { flex-shrink: 0; }
.payment-recent-row { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; padding: 1rem 0; border-top: 1px solid #e1e9e3; }
.payment-recent-row > div:first-child { flex: 1; min-width: 140px; }
.payment-workspace [hidden] { display: none !important; }
.history-payment-row { display: flex; align-items: flex-start; gap: 1rem; padding: 1.2rem 0; border-top: 1px solid #dce5df; }
.history-payment-content { min-width: 0; overflow-wrap: anywhere; }
.history-payment-row > input { flex-shrink: 0; width: 1.25em; height: 1.25em; }
.report-kind-option { display: flex; align-items: flex-start; gap: .8rem; padding: 1.1rem; border: 1px solid #dce5df; border-radius: 1rem; height: 100%; cursor: pointer; }
.report-kind-option input { margin-top: .3rem; flex-shrink: 0; }
.report-kind-option strong, .report-kind-option small { display: block; }
.report-kind-option small { color: #53665e; margin-top: .3rem; }
.report-kind-option:has(input:checked) { background: #edf7ef; border-color: #087443; }
.report-kind-option:has(input:disabled) { background: #f5f6f5; cursor: default; color: #69766f; }
.contribution-mobile-summary { display: none; }
@media (max-width: 991.98px) {
    .payment-workspace { grid-template-columns: minmax(0, 1fr); }
    .payment-summary { position: static; }
    .payment-method-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .contribution-mobile-summary { display: flex; position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 1025; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1rem; border: 1px solid #b5d8c2; border-radius: 1rem; background: #fff; box-shadow: 0 4px 24px #17312a24; }
    .contribution-mobile-summary > div { display: flex; flex-direction: column; }
    body:has([data-contribution-mobile-bar]:not([hidden])) { padding-bottom: 100px; }
}
@media (max-width: 767.98px) {
    .contribution-mobile-summary { bottom: calc(84px + env(safe-area-inset-bottom)); }
    body:has([data-contribution-mobile-bar]:not([hidden])) { padding-bottom: calc(176px + env(safe-area-inset-bottom)); }
}
@media (max-width: 575.98px) {
    .contribution-row-main { flex-wrap: wrap; }
    .contribution-amount { flex: 1 1 100%; }
    .payment-method-grid { grid-template-columns: 1fr 1fr; }
    .payment-context-meta { width: 100%; border: 0; padding: 0; }
    .payment-summary, .payment-members { padding: 1.1rem; }
}
@media print {
    .skip-link, .mobile-bottom-nav, .member-navigation, .sidebar-panel, .mobile-nav-bar, .sidebar-backdrop, .workspace-crumb { display: none !important; }
    .has-account:not(.has-sidebar) { padding-bottom: 0; }
    .app-shell { display: block; }
}
