
:root { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #1d2430; }
* { box-sizing: border-box; }
/* v1.8.37 MOC tiled-page branding — paint the full page canvas so the pattern reaches the document bottom. */
html {
    min-height: 100%;
    background-color: #cfd3d6;
    background-image:
        linear-gradient(rgb(207 211 214 / 72%), rgb(207 211 214 / 72%)),
        url('/assets/images/Military_Order_of_the_Cootie_logo_128.jpg');
    background-repeat: repeat, repeat;
    background-size: auto, 128px 125px;
    background-attachment: fixed, fixed;
}
body {
    margin: 0;
    min-height: 100vh;
    line-height: 1.5;
    background: transparent;
}
.app-frame {
    width: min(1200px, 100%);
    min-height: calc(100vh - 1rem);
    margin: 0 auto 1rem;
    background: #f3f5f7;
    box-shadow: 0 0 24px rgb(0 0 0 / 14%);
}
a { color: #244f75; }

/* v1.8.34 Internal application navigation */
/* Internal navigation uses the surrounding control/layout treatment rather than browser-default underlines. */
a[href^="/"],
a[href^="?"],
a[href^="#"] {
    text-decoration: none;
}
.shell { width: min(1120px, calc(100% - 2rem)); margin: 0 auto; }

/* Keep the final screen margin inside the application frame instead of allowing
   it to collapse through the main content container. This preserves a consistent
   bottom gutter between the final card/table area and the patterned page edge. */
main.shell { display: flow-root; }

@media (max-width: 1200px) {
    html { background-image: none; background-color: #f3f5f7; }
    .app-frame { min-height: 100vh; margin-bottom: 0; box-shadow: none; }
}
/* v1.8.35 MOC branding — official mark shared with the Hospital Reporting System. */
.site-header { padding: .65rem 0; background: #202b3c; color: white; }
.header-row { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; }
.site-brand {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    min-width: 0;
    color: white;
    text-decoration: none;
}
.site-logo {
    display: block;
    width: 3.6rem;
    height: 3.6rem;
    flex: 0 0 auto;
    object-fit: contain;
    background: white;
    border: 1px solid rgb(255 255 255 / 45%);
    border-radius: .35rem;
}
.site-brand-copy {
    display: grid;
    gap: .05rem;
    min-width: 0;
    line-height: 1.15;
}
.site-brand-organization {
    color: #dce4ec;
    font-size: .72rem;
    font-weight: 750;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.site-title, .site-header nav a, .link-button { color: white; text-decoration: none; }
.site-title { font-size: 1.08rem; font-weight: 800; }
.site-header nav { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; justify-content: flex-end; }
.working-context-bar {
    background: #e8edf2;
    border-bottom: 1px solid #cfd6dd;
    color: #263746;
}
.working-context-row {
    display: flex;
    align-items: center;
    gap: .4rem;
    min-height: 2.25rem;
    padding-top: .35rem;
    padding-bottom: .35rem;
    font-size: .92rem;
}
.working-context-label {
    color: #5b6874;
}
.working-context-value {
    color: #263746;
}

.working-context-authority,
.signed-in-identity {
    display: flex;
    align-items: center;
    gap: .4rem;
    min-width: 0;
}
.signed-in-identity {
    margin-left: auto;
    justify-content: flex-end;
    text-align: right;
}
.signed-in-label {
    color: #5b6874;
}
.signed-in-name {
    color: #263746;
    overflow-wrap: anywhere;
}
.signed-in-name-link {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .13em;
}
.signed-in-name-link:hover,
.signed-in-name-link:focus-visible {
    color: #173d62;
}
.signed-in-badges {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: .3rem;
    flex-wrap: wrap;
}
.account-type-badge {
    display: inline-block;
    padding: .08rem .42rem;
    border: 1px solid #bac4ce;
    border-radius: 999px;
    background: #f6f8fa;
    color: #4c5966;
    font-size: .76rem;
    font-weight: 700;
    line-height: 1.35;
    white-space: nowrap;
}
.account-type-member {
    border-color: #9dc4a8;
    background: #edf7f0;
    color: #2d623b;
}
.account-type-admin {
    border-color: #9cafc2;
    background: #edf3f8;
    color: #315473;
}
.account-type-admin-only {
    border-color: #bea875;
    background: #fbf5e8;
    color: #6b5523;
}
.inline-form { display: inline; margin: 0; }
.link-button { border: 0; background: transparent; padding: 0; cursor: pointer; font: inherit; }
.card { margin: 2rem 0; padding: 1.5rem; background: white; border: 1px solid #d9dee5; border-radius: .5rem; box-shadow: 0 1px 2px rgb(0 0 0 / 5%); }
.narrow { max-width: 32rem; }
label { display: grid; gap: .35rem; margin: 1rem 0; font-weight: 600; }
input, button { font: inherit; padding: .7rem; }
input { width: 100%; border: 1px solid #aab4c0; border-radius: .25rem; }
button, .button-link { display: inline-block; border: 1px solid #244f75; border-radius: .25rem; background: #244f75; color: white; padding: .7rem 1rem; cursor: pointer; text-decoration: none; }
button:disabled {
    cursor: not-allowed;
    opacity: .5;
    filter: grayscale(.35);
}
.alert { margin: 1rem 0; padding: .75rem 1rem; border-radius: .25rem; }
.alert.error { border: 1px solid #a33; background: #fff0f0; color: #721c24; }
.muted { color: #5f6874; }
.prose { max-width: 75ch; }
.summary-list { display: grid; gap: .75rem; }
.summary-list div { display: grid; grid-template-columns: 10rem 1fr; gap: 1rem; }
.summary-list dt { font-weight: 700; }
.summary-list dd { margin: 0; }
@media (max-width: 640px) {
    .header-row { align-items: flex-start; flex-direction: column; }
    .site-logo { width: 3.2rem; height: 3.2rem; }
    .site-header nav { width: 100%; justify-content: flex-start; gap: .8rem 1rem; }
    .summary-list div { grid-template-columns: 1fr; gap: 0; }
    .working-context-row { flex-wrap: wrap; }
}

textarea { width: 100%; border: 1px solid #aab4c0; border-radius: .25rem; padding: .7rem; font: inherit; resize: vertical; }
.alert.success { border: 1px solid #39734b; background: #effaf2; color: #245332; }
.year-panel { padding: 1rem 0; border-top: 1px solid #d9dee5; }
.year-panel:first-of-type { border-top: 0; }
.year-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.status-badge { display: inline-block; padding: .2rem .6rem; border-radius: 999px; background: #e8edf2; font-weight: 700; }
.status-current { background: #e4f4e8; color: #215c32; }
.status-closing { background: #fff2d9; color: #7a4b00; }
.status-future { background: #e6eef8; color: #244f75; }
.status-past { background: #ececec; color: #555; }
.admin-section { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid #d9dee5; }


.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.muted{color:#5f6770}.missing-value{color:#8a5a00;font-weight:700}.context-chip{padding:.4rem .65rem;border:1px solid #c9ced4;border-radius:999px;white-space:nowrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid label{display:flex;flex-direction:column;gap:.35rem}.full-width{grid-column:1/-1}.module-links{display:grid;gap:.75rem}.module-placeholder{display:block;padding:.75rem;border:1px solid #d8dde2;border-radius:.35rem;background:#f8f9fa}@media (max-width:700px){.form-grid{grid-template-columns:1fr}.page-heading{display:block}.context-chip{display:inline-block;margin-top:.5rem}}
select { width: 100%; border: 1px solid #aab4c0; border-radius: .25rem; padding: .7rem; font: inherit; background: white; }
.button { display: inline-block; border: 1px solid #244f75; border-radius: .25rem; background: #244f75; color: white; padding: .7rem 1rem; text-decoration: none; }
.field-help { color: #5f6874; font-size: .9rem; font-weight: 400; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: .7rem; border-bottom: 1px solid #d9dee5; text-align: left; vertical-align: top; }
th { background: #f5f7f9; }
.status-active { background: #e4f4e8; color: #215c32; }
.status-inactive { background: #ececec; color: #555; }
.status-defunct, .status-charter_revoked { background: #f4e4e4; color: #722; }
.status-suspended { background: #fff2d9; color: #7a4b00; }

.home-heading-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    margin: 1.25rem 0 1rem;
}
.home-heading-row h1 {
    margin: 0;
    font-size: 2rem;
    line-height: 1.15;
}
.home-organization-name {
    margin: .3rem 0 0;
    color: #5f6874;
    font-size: 1rem;
}
.home-year-badge {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .45rem .7rem;
    border: 1px solid #c7d7ca;
    border-radius: 999px;
    background: #eef7f0;
    color: #245332;
    white-space: nowrap;
}
.home-year-badge strong {
    font-size: .95rem;
}
.home-year-badge span {
    padding-left: .55rem;
    border-left: 1px solid #bfd0c2;
    font-size: .82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .025em;
}

.detail-heading { margin: 1rem 0 0; }
.detail-heading h1 { margin-bottom: .4rem; }
.section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.section-heading h2, .card > h2 { margin-top: 0; }
.officer-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 0; }
.officer-summary div { padding: 1rem; border: 1px solid #d9dee5; border-radius: .35rem; }
.officer-summary dt { font-weight: 700; }
.officer-summary dd { margin: .35rem 0 0; }
.section-link { margin-bottom: 0; text-align: right; }
.contact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.contact-text { grid-column: 1 / -1; }
.form-actions { display: flex; align-items: center; gap: 1rem; }
.numeric-table th:nth-child(n+4), .numeric-table td:nth-child(n+4) { text-align: right; white-space: nowrap; }
.clickable-table tbody tr[data-href] { cursor: pointer; }
.clickable-table tbody tr[data-href]:hover, .clickable-table tbody tr[data-href]:focus { background: #f3f7fb; outline: none; }
.clickable-table tbody tr.is-selected { background: #e7f0f9; box-shadow: inset 4px 0 #2f6f9f; }
.clickable-table tbody tr.is-selected:hover, .clickable-table tbody tr.is-selected:focus { background: #dceaf7; }
.clickable-table tbody tr[data-href] a {
    color: inherit;
    text-decoration: none;
    font-weight: inherit;
}
tfoot th { border-top: 2px solid #9aa6b2; }
@media (max-width: 760px) {
    .officer-summary, .contact-grid { grid-template-columns: 1fr; }
    .section-heading { display: block; }
}

/* Grand reference-page tabs */
.entity-tabs { margin-top: 1.25rem; padding: 0; overflow: hidden; }
.tab-list { display: flex; gap: 0; overflow-x: auto; overflow-y: hidden; background: #f8fafc; padding: 0; }
.tab-button {
    appearance: none;
    border: 1px solid #b8c2cc;
    border-bottom-color: #b8c2cc;
    border-radius: 0;
    background: #f8fafc;
    color: #244f75;
    padding: .9rem 1.15rem;
    font-weight: 700;
    white-space: nowrap;
    margin-right: -1px;
}
.tab-button:hover { background: #edf2f7; }
.tab-button:focus-visible { outline: 3px solid #8db5d8; outline-offset: -3px; }
.tab-button.is-active {
    position: relative;
    z-index: 1;
    background: white;
    color: #1d2430;
    border-color: #9aa6b2;
    border-bottom-color: white;
    border-top-left-radius: .35rem;
    border-top-right-radius: .35rem;
    box-shadow: none;
    margin-bottom: -1px;
}
.tab-panel { min-height: 20rem; padding: 1rem 1.5rem 1.5rem; }
.tab-panel[hidden] { display: none; }
.tab-panel h2 { margin-top: 0; }
@media (max-width: 640px) {
    .tab-button { padding: .8rem .9rem; }
    .tab-panel { min-height: 0; padding: 1rem; }
}


/* Grand reference-page action treatment */
.title-row { display: flex; align-items: baseline; flex-wrap: wrap; gap: .65rem; }
.title-row h1 { margin: 0; }
.title-action {
    display: inline-block;
    padding: .18rem .45rem;
    border-radius: .3rem;
    color: #355f82;
    font-size: .88em;
    font-weight: 650;
    line-height: 1.25;
    text-decoration: none;
}
.title-action:hover { background: #e9eff4; color: #173f61; text-decoration: none; }
.title-action:focus-visible { outline: 3px solid #8db5d8; outline-offset: 2px; }
.detail-heading { display: grid; gap: .45rem; }
.edit-heading { margin-bottom: 1rem; }
.edit-heading .muted { margin: .25rem 0 0; }

.officer-year { margin: 0 0 1rem; }


/* Dashboard reference-page treatment */
.dashboard-heading { margin: 2rem 0 1.25rem; }
.dashboard-heading h1 { margin: 0; }
.dashboard-heading p { margin: .35rem 0 0; }

.dashboard-destinations {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 0 0 1.5rem;
}

.dashboard-destination {
    display: grid;
    gap: .35rem;
    min-height: 7.5rem;
    padding: 1.15rem;
    border: 1px solid #c5ced7;
    border-radius: .45rem;
    background: white;
    color: #1d2430;
    text-decoration: none;
}

.dashboard-destination strong {
    color: #244f75;
    font-size: 1.05rem;
}

.dashboard-destination span {
    color: #5f6874;
}

.dashboard-destination:hover,
.dashboard-destination:focus-visible {
    border-color: #8799aa;
    background: #f7fafc;
    outline: none;
}

.dashboard-destination:focus-visible {
    box-shadow: 0 0 0 3px #8db5d8;
}

.dashboard-account { margin-top: 0; }
.dashboard-account h2 { margin-top: 0; }

@media (max-width: 760px) {
    .dashboard-destinations { grid-template-columns: 1fr; }
    .dashboard-destination { min-height: 0; }
}


/* Home summary */
.home-year {
    margin: 0 0 1.5rem;
    color: #1d2430;
    font-weight: 700;
}

.home-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
    margin: 0 0 1.75rem;
}

.home-stats div {
    min-width: 0;
}

.home-stats dt,
.home-stats dd {
    margin: 0;
}

.home-stats dd {
    color: #1d2430;
    font-size: 1.75rem;
    font-weight: 750;
    line-height: 1.1;
}

.home-stats dt {
    margin-top: .3rem;
    color: #5f6874;
    font-weight: 650;
}

@media (max-width: 540px) {
    .home-stats {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}


/* Admin */
.admin-links {
    display: grid;
    max-width: 34rem;
}

.admin-links a {
    display: block;
    padding: .8rem .85rem;
    border-bottom: 1px solid #d9dee5;
    color: #244f75;
    font-weight: 700;
    text-decoration: none;
}

.admin-links a:hover {
    background: #f3f7fb;
    color: #173f61;
}

.admin-links a:focus-visible {
    outline: 3px solid #8db5d8;
    outline-offset: 2px;
}

.admin-pending {
    display: grid;
    gap: .25rem;
    padding: .8rem .85rem;
}


/* Focused editor headings and actions */
.edit-section-name {
    margin: .15rem 0 0;
    color: #5f6874;
    font-size: 1.05rem;
    font-weight: 700;
}

.button-secondary {
    display: inline-block;
    border: 1px solid #8f9aa6;
    border-radius: .25rem;
    background: white;
    color: #244f75;
    padding: .7rem 1rem;
    text-decoration: none;
}

.button-secondary:hover {
    background: #eef2f6;
    color: #173f61;
}

.button-secondary:focus-visible {
    outline: 3px solid #8db5d8;
    outline-offset: 2px;
}


/* Member pages */
.member-parent {
    margin-top: .15rem;
}

.member-details {
    max-width: 48rem;
}

.office-history-section + .office-history-section {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid #d9dee5;
}

.office-history-section h2 {
    margin: 0 0 1rem;
}

.office-history-section h3 {
    margin: 1.25rem 0 .5rem;
}

.office-history-table th,
.office-history-table td {
    white-space: nowrap;
}

.checkbox-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem 1rem;
    margin: 1rem 0;
}

.checkbox-label {
    display: flex;
    grid-template-columns: none;
    flex-direction: row;
    align-items: center;
    gap: .55rem;
    margin: 0;
    font-weight: 600;
}

.checkbox-label input {
    width: auto;
}

/* Grand Pup Tent totals use the same numeric alignment as detail rows. */
.numeric-table tfoot th:not(:first-child) {
    text-align: right;
    white-space: nowrap;
}

@media (max-width: 700px) {
    .checkbox-grid {
        grid-template-columns: 1fr;
    }
}


/* Organization hierarchy breadcrumbs */
.hierarchy-breadcrumbs {
    margin: 1.25rem 0 .15rem;
}

.hierarchy-breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .2rem .45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.hierarchy-breadcrumbs li {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}

.hierarchy-breadcrumbs li + li::before {
    content: "\203A";
    margin-right: .45rem;
    color: #8a949f;
    font-weight: 700;
}

.hierarchy-breadcrumbs a {
    border-radius: .25rem;
    color: #5f6874;
    font-weight: 650;
    padding: .2rem .25rem;
    text-decoration: none;
}

.hierarchy-breadcrumbs a:hover {
    background: #e9eff4;
    color: #173f61;
}

.hierarchy-breadcrumbs a:focus-visible {
    outline: 3px solid #8db5d8;
    outline-offset: 2px;
}


.member-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 1.5rem;
}

@media (max-width: 720px) {
    .member-details {
        grid-template-columns: 1fr;
    }
}


/* Summary list values align with the bottom line of wrapped labels. */
.summary-list > div {
    align-items: end;
}

.summary-list dt,
.summary-list dd {
    align-self: end;
}

.degree-fields {
    border: 1px solid #d9dee5;
    border-radius: .35rem;
    padding: 1rem;
}

.degree-fields legend {
    padding: 0 .35rem;
    font-weight: 700;
}

.degree-row {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) minmax(12rem, 1fr);
    gap: 1rem;
    align-items: end;
}

.degree-row + .degree-row {
    margin-top: .75rem;
}

@media (max-width: 640px) {
    .degree-row {
        grid-template-columns: 1fr;
    }
}


/* Member Details sections */
.member-detail-sections {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem 2rem;
}

.member-detail-section {
    min-width: 0;
}

.member-detail-section h2 {
    margin: 0 0 .55rem;
    padding-bottom: .35rem;
    border-bottom: 1px solid #d9dee5;
    font-size: 1.08rem;
}

.member-detail-section .member-details {
    display: block;
    max-width: none;
}

.member-detail-section .summary-list > div {
    align-items: end;
}

.member-detail-section .summary-list dt,
.member-detail-section .summary-list dd {
    align-self: end;
}

@media (max-width: 760px) {
    .member-detail-sections {
        grid-template-columns: 1fr;
    }
}

.member-detail-section-wide {
    grid-column: 1 / -1;
}

.member-note-form {
    display: flex;
    align-items: flex-end;
    gap: .65rem;
    margin: 0 0 1rem;
}

.member-note-input {
    flex: 1 1 auto;
    margin: 0;
}

.member-note-input textarea {
    width: 100%;
    min-height: 4.8rem;
    resize: vertical;
}

.member-note-form button {
    flex: 0 0 auto;
}

.member-note-empty {
    margin: .25rem 0 0;
    color: #5a6570;
}

.member-note-list {
    display: grid;
    gap: .75rem;
}

.member-note {
    display: grid;
    grid-template-columns: 7rem minmax(0, 1fr);
    gap: 1rem;
    padding: .7rem 0;
    border-bottom: 1px solid #e4e8ec;
}

.member-note:last-child {
    border-bottom: 0;
}

.member-note-date {
    font-weight: 700;
    white-space: nowrap;
}

.member-note-text {
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 640px) {
    .member-note-form {
        align-items: stretch;
        flex-direction: column;
    }

    .member-note-form button {
        align-self: flex-end;
    }

    .member-note {
        grid-template-columns: 1fr;
        gap: .25rem;
    }
}


/* Member search */
.member-search-card {
    margin-top: 1rem;
}

.member-search-form {
    max-width: 48rem;
}

.member-search-form > label {
    display: block;
    margin-bottom: .4rem;
    font-weight: 700;
}

.member-search-controls {
    display: flex;
    gap: .65rem;
    align-items: stretch;
}

.member-search-controls input[type="search"] {
    flex: 1 1 auto;
    min-width: 0;
}

.member-search-controls button {
    flex: 0 0 auto;
}

.member-search-results {
    margin-top: 1rem;
}

.member-search-count {
    margin-top: 0;
}

.member-search-results td:nth-child(2),
.member-search-results td:nth-child(3) {
    white-space: nowrap;
}

@media (max-width: 600px) {
    .member-search-controls {
        display: grid;
        grid-template-columns: 1fr;
    }
}


/* Universal search */
.search-groups {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.search-group form > label {
    display: block;
    margin-bottom: .4rem;
    font-weight: 700;
}

.search-row {
    display: flex;
    gap: .65rem;
    align-items: stretch;
    max-width: 48rem;
}

.search-row input[type="search"] {
    flex: 1 1 auto;
    min-width: 0;
}

.search-row button {
    flex: 0 0 auto;
}

.search-inline-results {
    margin-top: 1rem;
}

@media (max-width: 600px) {
    .search-row {
        display: grid;
        grid-template-columns: 1fr;
    }
}


/* Imports */
.import-summary { max-width: 34rem; }
.import-preview-table td:first-child,
.import-preview-table td:last-child { white-space: nowrap; }
.import-run-actions {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-top: 1rem;
}
.import-run-actions form { margin: 0; }
.import-run-actions .button-secondary { font: inherit; cursor: pointer; }
@media (max-width: 600px) {
    .import-run-actions { align-items: stretch; flex-direction: column; }
    .import-run-actions button { width: 100%; }
}


.section-divider {
    border: 0;
    border-top: 1px solid #d9dee5;
    margin: 2rem 0;
}


/* Shared organization summary tiles */
.summary-tiles {
    display: grid;
    grid-template-columns: repeat(var(--summary-columns), minmax(0, 1fr));
    gap: .75rem;
    margin: 1rem 0 1.5rem;
}

.summary-tile {
    min-width: 0;
    padding: .85rem .75rem;
    text-align: center;
    border: 1px solid #d9dee5;
    border-radius: .5rem;
    background: #fff;
}

.summary-tile dt {
    margin: 0 0 .3rem;
    font-size: .9rem;
    font-weight: 650;
    line-height: 1.25;
}

.summary-tile dd {
    margin: 0;
    font-size: 1.55rem;
    font-weight: 750;
    line-height: 1.15;
    font-variant-numeric: tabular-nums;
}

.pup-tent-membership-table th:nth-child(n+3),
.pup-tent-membership-table td:nth-child(n+3) {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

@media (max-width: 900px) {
    .summary-tiles {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .summary-tiles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


.import-working {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-left: .75rem;
    font-weight: 600;
}

.import-spinner {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: import-spin .75s linear infinite;
}

.import-note-text {
    min-width: 24rem;
    max-width: 44rem;
    white-space: normal;
    overflow-wrap: anywhere;
}

@keyframes import-spin {
    to { transform: rotate(360deg); }
}


.import-working[hidden] {
    display: none;
}


.status-switch {
    margin: 0 0 1rem;
}

.status-switch-buttons {
    display: inline-flex;
    gap: .35rem;
    padding: .25rem;
    border: 1px solid #d9dee5;
    border-radius: .5rem;
}

.status-switch-button {
    border: 0;
    border-radius: .35rem;
    padding: .45rem .8rem;
    background: transparent;
    color: #244f75;
    font: inherit;
    font-weight: 650;
    cursor: pointer;
}

.status-switch-button.is-active {
    background: #e9edf2;
}

[data-status-panel][hidden] {
    display: none;
}


/* Organization Details tabs */
.pup-tent-detail-sections,
.grand-detail-sections {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

.pup-tent-detail-section,
.grand-detail-section {
    min-width: 0;
}

.pup-tent-detail-section h2,
.grand-detail-section h2 {
    margin: 0 0 .55rem;
    padding-bottom: .35rem;
    border-bottom: 1px solid #d9dee5;
    font-size: 1.08rem;
}

.pup-tent-detail-section-wide,
.grand-detail-section-wide {
    grid-column: auto;
}

.pup-tent-details,
.grand-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem 2rem;
    max-width: none;
}

.pup-tent-details > div,
.grand-details > div {
    display: grid;
    grid-template-columns: minmax(9rem, 10rem) minmax(0, 1fr);
    gap: 1rem;
    align-items: end;
    min-width: 0;
}

.pup-tent-details dt,
.pup-tent-details dd,
.grand-details dt,
.grand-details dd {
    align-self: end;
}

.pup-tent-details dd,
.grand-details dd {
    min-width: 0;
    overflow-wrap: anywhere;
}

.pup-tent-detail-section-wide .pup-tent-details,
.grand-detail-section-wide .grand-details {
    max-width: none;
}

@media (max-width: 760px) {
    .pup-tent-details,
    .grand-details {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .pup-tent-details > div,
    .grand-details > div {
        grid-template-columns: 1fr;
        gap: .05rem;
        align-items: start;
    }

    .pup-tent-details dt,
    .pup-tent-details dd,
    .grand-details dt,
    .grand-details dd {
        align-self: start;
    }
}


/* Section-level edit actions on Details tabs */
.detail-section-heading {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    gap: .45rem;
    margin: 0 0 .55rem;
    padding-bottom: .35rem;
    border-bottom: 1px solid #d9dee5;
}

.detail-section-heading h2 {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: 1.08rem;
}

.detail-section-heading .title-action {
    flex: 0 0 auto;
}


/* v1.9.256 — Organization Years row-alignment fix. */
/* Compact Organization Years administration */
.admin-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.admin-section-heading h2,
.admin-section-heading p {
    margin-top: 0;
}

.admin-section-heading p {
    margin-bottom: 0;
}

.organization-year-table-wrap {
    margin-bottom: 1rem;
}

.organization-year-table {
    min-width: 60rem;
}

.organization-year-table th,
.organization-year-table td {
    vertical-align: top;
}

.organization-year-table td:first-child,
.organization-year-table td:nth-child(2) {
    white-space: nowrap;
}

.organization-year-activity {
    display: grid;
    gap: .15rem;
}

.organization-year-table-dates {
    color: #68727e;
    font-size: .78rem;
    line-height: 1.2;
    white-space: nowrap;
}

.organization-year-table-dates > span {
    display: block;
}

.organization-year-table-dates > span + span {
    margin-top: .15rem;
}

.organization-year-note-preview {
    max-width: 30rem;
    max-height: 4.5em;
    overflow: hidden;
    overflow-wrap: anywhere;
}

.organization-year-note-editor {
    margin-top: .4rem;
}

.organization-year-note-editor summary {
    display: inline-block;
    border-radius: .25rem;
    color: #355f82;
    cursor: pointer;
    font-size: .9rem;
    font-weight: 650;
    padding: .2rem .35rem;
}

.organization-year-note-editor summary:hover {
    background: #e9eff4;
    color: #173f61;
}

.organization-year-note-editor[open] summary {
    margin-bottom: .4rem;
}

.organization-year-note-editor label {
    margin: 0;
}

.organization-year-note-editor textarea {
    min-width: 22rem;
}

.organization-year-note-editor .form-actions {
    margin-top: .5rem;
}

.organization-year-note-editor button {
    padding: .45rem .7rem;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


@media (max-width: 640px) {
    .home-heading-row {
        display: block;
        margin-top: 1rem;
    }

    .home-year-badge {
        margin-top: .8rem;
    }
}


/* Pup Tent member-list filters */
.member-list-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem 1rem;
    flex-wrap: wrap;
    margin: 0 0 .85rem;
}

.member-filter-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.member-filter-button {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .42rem .7rem;
    border: 1px solid #b8c2cc;
    border-radius: 999px;
    background: #f8fafc;
    color: #244f75;
    font-size: .9rem;
    font-weight: 700;
}

.member-filter-button:hover {
    background: #edf2f7;
}

.member-filter-button.is-active {
    border-color: #244f75;
    background: #244f75;
    color: #fff;
}

.member-filter-button span:not(.tab-attention-badge) {
    min-width: 1.45em;
    padding: .05rem .35rem;
    border-radius: 999px;
    background: rgb(0 0 0 / 8%);
    text-align: center;
    font-size: .82em;
    font-variant-numeric: tabular-nums;
}

.member-filter-button.is-active span:not(.tab-attention-badge) {
    background: rgb(255 255 255 / 18%);
}

.member-filter-status {
    color: #5f6874;
    font-size: .9rem;
    white-space: nowrap;
}

.member-filter-empty {
    margin: .75rem 0 0;
    color: #5f6874;
}

.member-bulk-dues {
    margin: 0 0 .85rem;
    padding: .8rem .9rem;
    border: 1px solid #c7d3de;
    border-radius: .45rem;
    background: #f8fafc;
}

.member-bulk-dues-main {
    display: flex;
    align-items: end;
    gap: .75rem 1rem;
    flex-wrap: wrap;
}

.member-bulk-dues-date {
    display: grid;
    gap: .25rem;
    margin: 0;
    font-weight: 700;
}

.member-bulk-dues-date input {
    width: auto;
    min-width: 11rem;
}

.member-bulk-dues-summary {
    margin-right: auto;
    padding-bottom: .55rem;
    white-space: nowrap;
    color: #43586b;
}

.member-bulk-dues .field-help {
    margin: .55rem 0 0;
}

.member-dues-select-column {
    width: 2.75rem;
    min-width: 2.75rem;
    text-align: center;
}

.member-dues-select-column input[type="checkbox"] {
    width: 1.05rem;
    min-width: 1.05rem;
    height: 1.05rem;
    min-height: 1.05rem;
    margin: 0;
    padding: 0;
}

@media (max-width: 640px) {
    .member-bulk-dues-main {
        align-items: stretch;
        flex-direction: column;
    }

    .member-bulk-dues-date input,
    .member-bulk-dues-main > button {
        width: 100%;
    }

    .member-bulk-dues-summary {
        margin-right: 0;
        padding-bottom: 0;
    }
}

@media (max-width: 640px) {
    .member-list-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .member-filter-status {
        white-space: normal;
    }
}


/* Annual officer definitions */
.officer-definition-heading {
    align-items: end;
}

.officer-year-selector {
    display: grid;
    grid-template-columns: auto minmax(10rem, 15rem);
    align-items: center;
    gap: .45rem .7rem;
    margin: 0;
}

.officer-year-selector label {
    margin: 0;
    font-size: .9rem;
}

.officer-year-selector select {
    min-width: 12rem;
}

.officer-definition-year-summary {
    margin: 0 0 1rem;
}

.officer-definition-level {
    margin-top: .75rem;
    padding-top: 1rem;
    border-top: 1px solid #d9dee5;
}

.officer-definition-level .detail-section-heading h3 {
    margin: 0;
}

.inline-admin-editor {
    position: relative;
}

.inline-admin-editor > summary {
    display: inline-block;
    border-radius: .25rem;
    color: #355f82;
    cursor: pointer;
    font-size: .9rem;
    font-weight: 650;
    padding: .2rem .4rem;
}

.inline-admin-editor > summary:hover {
    background: #e9eff4;
    color: #173f61;
}

.officer-definition-add[open],
.officer-definition-actions details[open] {
    padding: .65rem;
    border: 1px solid #d9dee5;
    border-radius: .4rem;
    background: #f8fafc;
}

.officer-definition-add[open] {
    width: min(42rem, 100%);
}

.officer-definition-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 1rem;
    margin-top: .6rem;
}

.officer-definition-form label {
    margin: .55rem 0;
}

.officer-definition-checks {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1rem;
    margin: .35rem 0;
}

.officer-definition-checks .checkbox-label {
    margin: 0;
}

.officer-definition-table {
    min-width: 58rem;
}

.officer-definition-table th:last-child,
.officer-definition-table td:last-child {
    width: 1%;
    white-space: nowrap;
}

.officer-definition-actions details[open] {
    width: min(42rem, 75vw);
    white-space: normal;
}

.officer-definition-archive-form {
    margin-top: .65rem;
    padding-top: .65rem;
    border-top: 1px solid #d9dee5;
}

.archived-officer-definitions {
    margin-top: .7rem;
}

.archived-officer-definitions > summary {
    cursor: pointer;
    color: #5f6874;
    font-weight: 650;
}

@media (max-width: 760px) {
    .officer-definition-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .officer-year-selector {
        grid-template-columns: 1fr;
    }

    .officer-definition-form {
        grid-template-columns: 1fr;
    }

    .officer-definition-checks {
        grid-column: auto;
    }

    .officer-definition-actions details[open] {
        width: min(34rem, 82vw);
    }
}


.officer-definition-year-tools {
    display: grid;
    gap: .75rem;
    margin-bottom: .5rem;
}

.officer-definition-copy-form {
    display: grid;
    grid-template-columns: auto minmax(10rem, 15rem) auto;
    align-items: center;
    gap: .45rem .7rem;
    padding: .75rem;
    border: 1px solid #d9dee5;
    border-radius: .4rem;
    background: #f8fafc;
}

.officer-definition-copy-form label {
    margin: 0;
    font-size: .9rem;
}

.officer-definition-copy-form .field-help {
    grid-column: 1 / -1;
}

@media (max-width: 760px) {
    .officer-definition-copy-form {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .officer-definition-copy-form .field-help {
        grid-column: auto;
    }
}


/* Officer assignments */
.officer-tab-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: .75rem 1rem;
    flex-wrap: wrap;
    margin-bottom: .85rem;
}

.officer-year-status,
.officer-capability-badge {
    display: inline-block;
    margin-left: .35rem;
    padding: .08rem .42rem;
    border-radius: 999px;
    background: #e8edf2;
    color: #405365;
    font-size: .78rem;
    font-weight: 700;
}

.officer-page-year-selector {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 0;
    font-size: .9rem;
}

.officer-page-year-selector select {
    min-width: 10rem;
}

.officer-assignment-table {
    min-width: 52rem;
}

.officer-assignment-table th:last-child,
.officer-assignment-table td:last-child {
    width: 1%;
    white-space: nowrap;
}

.officer-vacant {
    color: #7a4b00;
    font-weight: 700;
}

.officer-assignment-actions {
    display: flex;
    align-items: flex-start;
    gap: .35rem;
}

.officer-end-editor[open] {
    min-width: 16rem;
    padding: .55rem;
    border: 1px solid #d9dee5;
    border-radius: .4rem;
    background: #f8fafc;
    white-space: normal;
}

.officer-end-editor form {
    display: grid;
    gap: .45rem;
}

.officer-end-editor label {
    margin: .35rem 0;
}

.officer-assignment-form-card {
    max-width: 74rem;
}

.officer-assignment-context {
    max-width: 50rem;
}

.officer-member-search {
    margin-bottom: 1rem;
}

.officer-member-search > label {
    margin-bottom: .35rem;
}

.officer-member-search .search-row {
    display: flex;
    gap: .5rem;
}

.officer-member-search .search-row input {
    flex: 1;
}

.officer-member-results {
    margin: 1rem 0;
}

.officer-member-results table {
    min-width: 48rem;
}

.officer-member-results th:first-child,
.officer-member-results td:first-child {
    width: 1%;
    text-align: center;
}

.officer-member-results input[type="radio"] {
    width: auto;
}

.officer-effective-date {
    max-width: 22rem;
}

@media (max-width: 640px) {
    .officer-tab-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .officer-page-year-selector {
        align-items: stretch;
        flex-direction: column;
    }

    .officer-member-search .search-row {
        flex-direction: column;
    }
}


/* Improved Admin officer inline editing */
.officer-definition-edit-link,
.officer-definition-close-link {
    border: 0;
    background: transparent;
    color: #355f82;
    padding: .18rem .45rem;
    font-size: .88em;
    font-weight: 650;
    line-height: 1.25;
}

.officer-definition-edit-link:hover,
.officer-definition-close-link:hover {
    background: #e9eff4;
    color: #173f61;
}

.officer-definition-edit-link:focus-visible,
.officer-definition-close-link:focus-visible {
    outline: 3px solid #8db5d8;
    outline-offset: 2px;
}

.officer-definition-edit-row > td {
    padding: 0;
    border-top: 0;
}

.officer-definition-inline-editor {
    padding: .85rem 1rem 1rem;
    border: 1px solid #cfd8e2;
    border-top: 0;
    background: #f8fafc;
}

.officer-definition-inline-editor-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .2rem;
}

.officer-definition-inline-editor .officer-definition-form {
    margin-top: .25rem;
}

.officer-definition-return-focus > td {
    animation: officer-definition-return-highlight 1.8s ease-out;
}

@keyframes officer-definition-return-highlight {
    0%, 35% { background: #eef4f8; }
    100% { background: transparent; }
}

@media (max-width: 760px) {
    .officer-definition-inline-editor {
        padding: .7rem;
    }
}


/* Election reports */
.election-report-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .7rem 1rem;
    flex-wrap: wrap;
    margin: 0 0 .9rem;
    padding: .7rem .8rem;
    border: 1px solid #d9dee5;
    border-radius: .4rem;
    background: #f8fafc;
}

.election-report-summary-actions {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.election-report-status {
    display: inline-block;
    margin: 0 .35rem;
    padding: .1rem .48rem;
    border-radius: 999px;
    background: #e8edf2;
    color: #405365;
    font-size: .8rem;
    font-weight: 750;
}

.election-report-status-submitted {
    background: #e5f2e8;
    color: #225d32;
}

.election-report-status-draft {
    background: #fff3d5;
    color: #72510a;
}

.election-report-status-reopened {
    background: #f9e9dc;
    color: #7c451e;
}

.election-report-status-not_started {
    background: #eceff2;
    color: #59636d;
}

.election-report-card,
.election-report-slate-card,
.election-report-actions-card {
    margin-top: .8rem;
}

.election-report-submission {
    display: flex;
    gap: .45rem;
    align-items: baseline;
    flex-wrap: wrap;
    margin-bottom: .8rem;
}

.election-report-details-form {
    max-width: 56rem;
}

.election-report-details {
    max-width: 48rem;
}

.election-report-officer-table {
    min-width: 44rem;
}

.election-report-required-vacant td {
    background: #fff8e7;
}

.election-report-missing {
    margin-top: .8rem;
}

.election-report-actions-card {
    display: flex;
    align-items: center;
    gap: .7rem;
    flex-wrap: wrap;
}

.election-report-submit-form {
    display: flex;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
    margin: 0;
}

@media (max-width: 640px) {
    .election-report-summary,
    .election-report-actions-card {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Local appointed officers */
.local-officer-section {
    margin-top: 1.45rem;
    padding-top: 1.15rem;
    border-top: 1px solid #d9dee5;
}

.local-officer-heading {
    align-items: flex-start;
    gap: .8rem 1rem;
}

.local-officer-heading h3 {
    margin: 0 0 .2rem;
}

.local-officer-heading p {
    margin: 0;
    max-width: 52rem;
}

.local-officer-add {
    min-width: 9rem;
}

.local-officer-add > summary {
    cursor: pointer;
    color: #355f82;
    font-weight: 650;
    white-space: nowrap;
}

.local-officer-add[open] {
    width: min(42rem, 100%);
    padding: .7rem;
    border: 1px solid #d9dee5;
    border-radius: .4rem;
    background: #f8fafc;
}

.local-officer-add-form {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(7rem, 1fr);
    gap: 0 1rem;
    margin-top: .55rem;
}

.local-officer-add-form label {
    margin: .45rem 0;
}

.local-officer-table {
    min-width: 42rem;
}

.local-officer-table th:last-child,
.local-officer-table td:last-child {
    width: 1%;
    white-space: nowrap;
}

/* Read-only current-officer directory: keep the two columns visually paired. */
.officer-roster-table {
    table-layout: fixed;
}

.officer-roster-table th:first-child,
.officer-roster-table td:first-child {
    width: 42%;
}

.officer-roster-table th:last-child,
.officer-roster-table td:last-child {
    width: 58%;
    white-space: normal;
}

.local-officer-badge {
    display: inline-block;
    margin-left: .4rem;
    padding: .08rem .4rem;
    border-radius: 999px;
    background: #edf0f3;
    color: #56616d;
    font-size: .76rem;
    font-weight: 700;
}

.local-officer-actions {
    gap: .3rem;
}

.archived-local-officers {
    margin-top: .75rem;
}

.archived-local-officers > summary {
    cursor: pointer;
    color: #5f6874;
    font-weight: 650;
}

.local-officer-edit-card {
    max-width: 50rem;
}

@media (max-width: 760px) {
    .local-officer-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .local-officer-add[open] {
        width: 100%;
    }

    .local-officer-add-form {
        grid-template-columns: 1fr;
    }
}


/* v1.5.63 Mobile responsive pass
   Desktop rules above remain authoritative; these overrides only tighten
   the interface at tablet/mobile widths. */

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

img, svg {
    max-width: 100%;
    height: auto;
}

.table-wrap,
.tab-list {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
}

@media (max-width: 900px) {
    .shell {
        width: min(100% - 1.5rem, 1120px);
    }

    .card {
        margin: 1.25rem 0;
        padding: 1rem;
    }

    .entity-tabs {
        padding: 0;
    }

    .summary-tiles {
        gap: .6rem;
        margin: .8rem 0 1.15rem;
    }

    .summary-tile {
        padding: .7rem .55rem;
    }

    .tab-list {
        max-width: 100%;
        scrollbar-width: thin;
        scrollbar-color: #9aa6b2 #eef2f6;
        scroll-snap-type: x proximity;
    }

    .tab-button {
        flex: 0 0 auto;
        scroll-snap-align: start;
    }

    .table-wrap {
        max-width: 100%;
        border-radius: .25rem;
        scrollbar-width: thin;
        scrollbar-color: #9aa6b2 #eef2f6;
    }

    .detail-section-heading,
    .local-officer-heading,
    .officer-tab-heading {
        max-width: 100%;
    }
}

@media (max-width: 640px) {
    body {
        font-size: 15px;
    }

    .shell {
        width: calc(100% - 1rem);
    }

    .site-header {
        padding: .65rem 0;
    }

    .header-row {
        gap: .5rem;
    }

    .site-title {
        font-size: 1.08rem;
        line-height: 1.2;
    }

    .site-header nav {
        width: 100%;
        gap: .3rem .8rem;
        flex-wrap: wrap;
        font-size: .95rem;
    }

    .site-header nav a,
    .site-header nav .link-button {
        min-height: 2.35rem;
        display: inline-flex;
        align-items: center;
    }

    .working-context-row {
        min-height: 0;
        padding-top: .3rem;
        padding-bottom: .3rem;
        font-size: .85rem;
        line-height: 1.3;
    }

    main.shell {
        padding-bottom: 1rem;
    }

    h1 {
        font-size: 1.75rem;
        line-height: 1.12;
        overflow-wrap: anywhere;
    }

    h2 {
        font-size: 1.28rem;
        line-height: 1.2;
    }

    h3 {
        font-size: 1.08rem;
        line-height: 1.25;
    }

    .detail-heading {
        margin-top: .65rem;
        gap: .25rem;
    }

    .detail-heading h1,
    .dashboard-heading h1,
    .home-heading-row h1 {
        font-size: 1.75rem;
        line-height: 1.12;
    }

    .edit-section-name,
    .home-organization-name {
        font-size: .95rem;
    }

    .hierarchy-breadcrumbs {
        margin: .55rem 0 .1rem;
        font-size: .88rem;
    }

    .hierarchy-breadcrumbs ol {
        gap: .1rem .3rem;
        list-style: none !important;
        list-style-type: none !important;
        padding-left: 0 !important;
    }

    .hierarchy-breadcrumbs li {
        list-style: none !important;
    }

    .hierarchy-breadcrumbs li::marker {
        content: '';
        font-size: 0;
    }

    .hierarchy-breadcrumbs li + li::before {
        margin-right: .3rem;
    }

    .hierarchy-breadcrumbs a {
        padding: .1rem .15rem;
    }

    .home-heading-row {
        display: grid;
        gap: .55rem;
        margin: .75rem 0 .65rem;
    }

    .home-year-badge {
        justify-self: start;
        padding: .35rem .55rem;
    }

    .summary-tiles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .5rem;
        margin: .65rem 0 1rem;
    }

    .summary-tile {
        min-height: 4.7rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: .55rem .45rem;
    }

    .summary-tile dt {
        margin-bottom: .2rem;
        font-size: .78rem;
        line-height: 1.15;
    }

    .summary-tile dd {
        font-size: 1.28rem;
        line-height: 1.05;
    }

    .summary-tile:last-child:nth-child(odd) {
        grid-column: 1 / -1;
        min-height: 4.2rem;
    }

    .card {
        margin: .85rem 0;
        padding: .8rem;
        border-radius: .4rem;
    }

    .entity-tabs {
        margin-top: .85rem;
        padding: 0;
    }

    .tab-list {
        border-bottom: 1px solid #b8c2cc;
        padding-bottom: .2rem;
    }

    .tab-button {
        min-height: 2.9rem;
        padding: .65rem .72rem;
        font-size: .88rem;
        line-height: 1.15;
    }

    .tab-panel {
        padding: .75rem;
    }

    .tab-action {
        margin: 0 0 .65rem;
    }

    .section-heading,
    .detail-section-heading {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: .55rem;
    }

    .detail-section-heading h2,
    .detail-section-heading h3 {
        min-width: 0;
        margin-right: auto;
    }

    .title-action {
        flex: 0 0 auto;
    }

    .summary-list {
        gap: .55rem;
    }

    .summary-list div,
    .member-detail-section .summary-list > div {
        grid-template-columns: 1fr;
        gap: .05rem;
        align-items: start;
    }

    .summary-list dt,
    .summary-list dd,
    .member-detail-section .summary-list dt,
    .member-detail-section .summary-list dd {
        align-self: start;
    }

    .summary-list dd {
        overflow-wrap: anywhere;
    }

    .member-detail-sections,
    .grand-detail-sections,
    .pup-tent-detail-sections {
        gap: 1rem;
    }

    .member-detail-section h2,
    .grand-detail-section h2,
    .pup-tent-detail-section h2 {
        font-size: 1.02rem;
    }

    .form-grid,
    .officer-definition-form,
    .local-officer-add-form {
        grid-template-columns: 1fr;
        gap: .2rem;
    }

    label {
        margin: .65rem 0;
    }

    input,
    select,
    textarea,
    button,
    .button,
    .button-link,
    .button-secondary {
        min-height: 2.75rem;
    }

    input,
    select,
    textarea {
        font-size: 16px;
    }

    .form-actions {
        align-items: stretch;
        flex-direction: column;
        gap: .55rem;
    }

    .form-actions > button,
    .form-actions > a,
    .form-actions > form,
    .form-actions > form > button {
        width: 100%;
        text-align: center;
    }

    .status-switch-buttons {
        display: flex;
        width: 100%;
    }

    .status-switch-button {
        flex: 1 1 0;
        min-width: 0;
        padding: .55rem .65rem;
    }

    .table-wrap {
        margin-left: -.1rem;
        margin-right: -.1rem;
    }

    th,
    td {
        padding: .55rem .6rem;
    }

    .pup-tent-membership-table,
    .office-history-table,
    .officer-assignment-table,
    .local-officer-table,
    .election-report-officer-table,
    .officer-definition-table {
        font-size: .9rem;
    }

    .officer-assignment-table {
        min-width: 44rem;
    }

    .local-officer-table {
        min-width: 36rem;
    }

    .election-report-officer-table {
        min-width: 36rem;
    }

    .officer-definition-table {
        min-width: 50rem;
    }

    .officer-tab-heading {
        gap: .45rem;
        margin-bottom: .65rem;
    }

    .officer-page-year-selector {
        width: 100%;
        gap: .25rem;
    }

    .officer-page-year-selector select {
        min-width: 0;
    }

    .officer-assignment-actions,
    .local-officer-actions,
    .election-report-summary-actions {
        flex-wrap: wrap;
        white-space: normal;
    }

    .officer-end-editor[open] {
        min-width: min(15rem, 72vw);
    }

    .officer-definition-checks {
        display: grid;
        grid-template-columns: 1fr;
        gap: .45rem;
    }

    .officer-definition-copy-form {
        padding: .6rem;
    }

    .officer-definition-inline-editor-heading {
        align-items: flex-start;
    }

    .election-report-summary {
        gap: .5rem;
        padding: .6rem;
    }

    .election-report-status {
        margin-left: .2rem;
        margin-right: .2rem;
    }

    .election-report-summary-actions,
    .election-report-summary-actions form,
    .election-report-summary-actions button {
        width: 100%;
    }

    .election-report-actions-card > form,
    .election-report-actions-card > a,
    .election-report-submit-form,
    .election-report-submit-form button {
        width: 100%;
        text-align: center;
    }

    .local-officer-section {
        margin-top: 1rem;
        padding-top: .85rem;
    }

    .local-officer-add {
        min-width: 0;
    }

    .local-officer-add > summary {
        display: inline-block;
    }

    .member-search-results,
    .search-inline-results,
    .officer-member-results {
        font-size: .9rem;
    }

    .member-note {
        padding: .5rem 0;
    }

    .section-divider {
        margin: 1.25rem 0;
    }

    .alert {
        margin: .7rem 0;
        padding: .65rem .75rem;
    }
}

@media (max-width: 390px) {
    .site-header nav {
        gap: .2rem .6rem;
        font-size: .9rem;
    }

    .summary-tiles {
        gap: .4rem;
    }

    .summary-tile {
        padding-left: .35rem;
        padding-right: .35rem;
    }

    .tab-button {
        padding-left: .6rem;
        padding-right: .6rem;
        font-size: .84rem;
    }
}

/* v1.5.64 Registration and account administration */
.account-card form {
    margin-top: .8rem;
}

.account-fieldset {
    margin: 0 0 1rem;
    padding: .8rem .9rem;
    border: 1px solid #d8dee6;
    border-radius: .4rem;
}

.account-fieldset legend {
    padding: 0 .35rem;
    font-weight: 750;
}

.account-links {
    display: flex;
    gap: .55rem 1rem;
    flex-wrap: wrap;
    margin-top: 1rem;
    font-size: .92rem;
}

.account-admin-table {
    min-width: 62rem;
    table-layout: fixed;
}

.account-admin-table th:nth-child(1),
.account-admin-table td:nth-child(1) { width: 16%; }
.account-admin-table th:nth-child(2),
.account-admin-table td:nth-child(2) { width: 18%; }
.account-admin-table th:nth-child(3),
.account-admin-table td:nth-child(3) { width: 13%; }
.account-admin-table th:nth-child(4),
.account-admin-table td:nth-child(4) { width: 15%; }
.account-admin-table th:nth-child(5),
.account-admin-table td:nth-child(5) { width: 9%; }
.account-admin-table th:nth-child(6),
.account-admin-table td:nth-child(6) { width: 11%; }
.account-admin-table th:nth-child(7),
.account-admin-table td:nth-child(7) { width: 18%; }

.account-admin-table td {
    vertical-align: top;
    overflow-wrap: anywhere;
}

.account-meta {
    display: block;
    margin-top: .16rem;
    color: #66727d;
    font-size: .8rem;
    line-height: 1.25;
}

.account-status {
    display: inline-block;
    padding: .14rem .5rem;
    border-radius: 999px;
    background: #e9edf1;
    color: #465461;
    font-size: .78rem;
    font-weight: 750;
    white-space: nowrap;
}

.account-status-active {
    background: #e5f2e8;
    color: #225d32;
}

.account-status-pending_verification {
    max-width: 100%;
    background: #fff3d5;
    color: #72510a;
    line-height: 1.15;
    text-align: center;
    white-space: normal;
}

.account-status-locked {
    background: #f9e9dc;
    color: #7c451e;
}

.account-status-disabled {
    background: #eceff2;
    color: #59636d;
}

.account-admin-actions {
    min-width: 0;
}

.account-admin-action-list {
    display: flex;
    gap: .35rem;
    flex-wrap: wrap;
    align-items: flex-start;
}

.account-admin-actions form {
    display: inline-block;
    max-width: 100%;
    margin: 0;
}

.account-admin-actions button {
    max-width: 100%;
    min-height: 2.15rem;
    padding: .35rem .55rem;
    font-size: .82rem;
    white-space: normal;
}

@media (max-width: 640px) {
    .account-links {
        flex-direction: column;
        align-items: flex-start;
    }

    .account-fieldset {
        padding: .65rem;
    }

    .account-admin-table {
        min-width: 58rem;
    }
}


/* v1.5.65 Staged registration */
.registration-step {
    margin-bottom: .25rem;
    color: #66727d;
    font-size: .82rem;
    font-weight: 750;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.registration-member-confirmed {
    display: grid;
    gap: .12rem;
    margin: .75rem 0;
    padding: .7rem .8rem;
    border: 1px solid #cfe3d4;
    border-radius: .4rem;
    background: #f1f8f3;
}

.registration-member-confirmed span {
    color: #53606b;
    font-size: .9rem;
}

.registration-email-verified {
    margin: .65rem 0;
    padding: .55rem .7rem;
    border-radius: .35rem;
    background: #f1f8f3;
}

.account-status-pending_password {
    background: #e7effa;
    color: #294f7a;
}

/* v1.5.66 Client-side password feedback */
.password-requirements {
    margin: -.2rem 0 .8rem;
    padding: .7rem .8rem;
    border: 1px solid #d8dee5;
    border-radius: .4rem;
    background: #f8fafc;
}

.password-requirements > strong {
    display: block;
    margin-bottom: .35rem;
    font-size: .9rem;
}

.password-requirements ul {
    display: grid;
    gap: .25rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.password-rule {
    display: flex;
    align-items: center;
    gap: .45rem;
    color: #66727d;
    font-size: .9rem;
    line-height: 1.3;
}

.password-rule-icon {
    display: inline-grid;
    flex: 0 0 1.15rem;
    width: 1.15rem;
    height: 1.15rem;
    place-items: center;
    border: 1px solid #aeb8c2;
    border-radius: 50%;
    background: #fff;
    color: #66727d;
    font-size: .75rem;
    font-weight: 800;
}

.password-rule-icon::before {
    content: "•";
}

.password-rule.is-met {
    color: #226337;
    font-weight: 650;
}

.password-rule.is-met .password-rule-icon {
    border-color: #4f9964;
    background: #e8f5ec;
    color: #226337;
}

.password-rule.is-met .password-rule-icon::before {
    content: "✓";
}

.password-rule.is-unmet {
    color: #9a2f2f;
}

.password-rule.is-unmet .password-rule-icon {
    border-color: #c96a6a;
    background: #fff0f0;
    color: #9a2f2f;
}

.password-rule.is-unmet .password-rule-icon::before {
    content: "×";
}

button[data-password-submit]:disabled {
    cursor: not-allowed;
    opacity: .55;
}


/* v1.5.67 signed-in identity responsive behavior */
@media (max-width: 720px) {
    .working-context-row {
        align-items: flex-start;
        flex-direction: column;
        gap: .3rem;
    }

    .working-context-authority,
    .signed-in-identity {
        width: 100%;
    }

    .signed-in-identity {
        margin-left: 0;
        justify-content: flex-start;
        text-align: left;
        flex-wrap: wrap;
    }

    .signed-in-badges {
        justify-content: flex-start;
    }
}

@media (max-width: 420px) {
    .working-context-authority,
    .signed-in-identity {
        gap: .25rem .35rem;
    }

    .signed-in-identity {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
    }

    .signed-in-badges {
        grid-column: 1 / -1;
        padding-left: 0;
    }
}


/* v1.5.68 Working Context / Acting As */
.working-context-form {
    display: inline-flex;
    align-items: center;
    margin: 0;
}

.working-context-select {
    width: auto;
    max-width: min(34rem, 48vw);
    min-height: 2rem;
    padding: .22rem 1.85rem .22rem .48rem;
    border: 1px solid #aeb9c3;
    border-radius: .3rem;
    background: #f8fafc;
    color: #263746;
    font-size: .88rem;
    font-weight: 700;
    line-height: 1.2;
}

.working-context-select:focus {
    outline: 2px solid #7399ba;
    outline-offset: 1px;
}

@media (max-width: 720px) {
    .working-context-form {
        min-width: 0;
        max-width: 100%;
    }

    .working-context-select {
        max-width: 100%;
        width: 100%;
    }

    .working-context-authority:has(.working-context-form) {
        align-items: stretch;
        flex-direction: column;
        gap: .2rem;
    }
}


/* v1.5.69 Permission-aware navigation */
.hierarchy-breadcrumbs li > span {
    color: inherit;
    padding: .1rem .15rem;
}


/* v1.5.76 scalable account administration */
.account-filter-form {
    display: grid;
    grid-template-columns: minmax(18rem, 2fr) repeat(3, minmax(10rem, 1fr)) auto;
    gap: .8rem;
    align-items: end;
}

.account-filter-form label {
    margin: 0;
}

.account-filter-search {
    min-width: 0;
}

.account-filter-actions {
    display: flex;
    gap: .5rem;
    align-items: center;
    padding-bottom: .05rem;
}

.account-list-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1rem;
    margin-bottom: .75rem;
}

.account-list-heading h2 {
    margin-bottom: .15rem;
}

.table-sort-link {
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
}

.table-sort-link:hover {
    color: #173f61;
    text-decoration: none;
}

.account-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: center;
    justify-content: center;
    margin-top: 1rem;
}

.account-pagination > a,
.account-pagination-current {
    display: inline-flex;
    min-width: 2.25rem;
    min-height: 2.25rem;
    padding: .35rem .6rem;
    align-items: center;
    justify-content: center;
    border-radius: .35rem;
}

.account-pagination-current {
    border: 1px solid currentColor;
}

@media (max-width: 900px) {
    .account-filter-form {
        grid-template-columns: 1fr 1fr;
    }

    .account-filter-search,
    .account-filter-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 560px) {
    .account-filter-form {
        grid-template-columns: 1fr;
    }

    .account-filter-search,
    .account-filter-actions {
        grid-column: auto;
    }

    .account-filter-actions {
        align-items: stretch;
        flex-direction: column;
    }
}


/* v1.5.79 draft member workflow */
.member-workflow-card {
    border-left: .3rem solid currentColor;
}

.member-workflow-heading h2 {
    margin-bottom: .25rem;
}

.member-workflow-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: end;
}

.member-reject-form {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    align-items: end;
    flex: 1 1 28rem;
}

.member-reject-form label {
    flex: 1 1 18rem;
    margin: 0;
}


/* v1.5.80 stable navigation and pending member workflow */
.working-context-go {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: .25rem .65rem;
    margin-left: .35rem;
    border: 1px solid currentColor;
    border-radius: .35rem;
    text-decoration: none;
    font-weight: 700;
}

.working-context-go:hover,
.working-context-go:focus-visible {
    background: #f7fafc;
    color: #173f61;
    text-decoration: none;
}

.member-filter-pending span {
    font-weight: 800;
}

@media (max-width: 640px) {
    .working-context-authority {
        flex-wrap: wrap;
    }
}

/* v1.5.86 transmittal workflow */
.transmittal-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem 1.5rem;
}
.transmittal-summary > div {
    grid-template-columns: 1fr;
    gap: .15rem;
    align-items: start;
    min-width: 0;
}
.transmittal-summary dt,
.transmittal-summary dd {
    align-self: start;
}
.transmittal-summary dd {
    overflow-wrap: anywhere;
}
.transmittal-fee-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); gap: .6rem; align-items: end; }
.transmittal-fee-form label, .payment-record-form label { display: grid; gap: .25rem; font-size: .9rem; font-weight: 650; }
.transmittal-fee-form input { min-width: 0; }
.payment-record-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: .8rem; align-items: end; max-width: 52rem; }
.transmittal-actions-card form + form { margin-top: .75rem; }
.transmittal-cancel-action { margin-bottom: 1.25rem; padding-bottom: 1.25rem; border-bottom: 1px solid #d9dee5; }
.transmittal-cancel-action p { margin-top: 0; }
.transmittal-draft-management { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid #d9dee5; }
.transmittal-draft-management p { margin: 0 0 .65rem; max-width: 52rem; }
.embedded-transmittal-actions .transmittal-draft-management { grid-column: 1 / -1; flex-basis: 100%; min-width: 0; }
.button-danger-outline { background: white; color: #8a1f1f; border-color: #8a1f1f; }
.button-danger-outline:hover, .button-danger-outline:focus-visible { background: #fff0f0; }
.transmittal-table th, .transmittal-table td { white-space: nowrap; }
@media (max-width: 980px) {
    .transmittal-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .transmittal-table th, .transmittal-table td { white-space: normal; }
}
@media (max-width: 560px) {
    .transmittal-summary { grid-template-columns: 1fr; }
}

/* v1.5.100 Grand Transmittal workflow clarity */
.grand-transmittal-workflow-block {
    margin: 0;
    padding: 1.25rem;
    border: 1px solid #cbd4dd;
    border-radius: .45rem;
    background: #fff;
}

.grand-transmittal-workflow-block + .grand-transmittal-workflow-block {
    margin-top: 1.5rem;
}

.grand-transmittal-workflow-outgoing {
    border-left: .35rem solid #244f75;
}

.grand-transmittal-workflow-incoming {
    border-left: .35rem solid #6c7885;
}

.grand-transmittal-workflow-heading {
    margin-bottom: 1rem;
    padding-bottom: .8rem;
    border-bottom: 1px solid #d9dee5;
}

.grand-transmittal-workflow-heading h2 {
    margin: .15rem 0 .35rem;
}

.grand-transmittal-workflow-heading p {
    margin: 0;
    max-width: 68rem;
}

.workflow-direction {
    color: #5f6874;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.grand-open-transmittal-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .7rem 1.25rem;
    margin: 0 0 1rem;
    padding: .85rem 1rem;
    border: 1px solid #d9e2ea;
    border-radius: .35rem;
    background: #f7fafc;
}

.grand-open-transmittal-summary > div:first-child {
    display: grid;
    gap: .15rem;
    min-width: 13rem;
}

.grand-open-transmittal-label {
    color: #5f6874;
    font-size: .82rem;
    font-weight: 700;
}

.grand-open-transmittal-summary p {
    flex: 1 1 22rem;
    margin: 0;
}

.grand-open-transmittal-summary form {
    margin: 0;
}

.grand-transmittal-empty-note {
    margin: 0 0 1rem;
}

@media (max-width: 700px) {
    .grand-transmittal-workflow-block {
        padding: 1rem;
    }

    .grand-open-transmittal-summary {
        align-items: stretch;
    }

    .grand-open-transmittal-summary form,
    .grand-open-transmittal-summary button {
        width: 100%;
    }
}

/* v1.6.0 member/transmittal workflow */
.transmittal-workflow-section {
    margin: 1.25rem 0;
    padding: 1rem 1.1rem;
    border: 1px solid #d6dde6;
    border-radius: 8px;
    background: #fff;
}
.transmittal-workflow-section > h3,
.transmittal-workflow-section > h4 { margin: 0 0 .75rem; }
.transmittal-workflow-section > h4:not(:first-child) { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid #e0e5eb; }
.workflow-incoming { border-left: 4px solid #7a8795; }
.workflow-outgoing { border-left: 4px solid #244f75; }
.embedded-transmittal {
    margin: 1.25rem 0;
    padding: 1rem 1.1rem;
    border: 2px solid #9fb1c3;
    border-radius: 8px;
    background: #f9fbfd;
}
.embedded-transmittal-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .75rem;
}
.embedded-transmittal-heading h3 { margin: .15rem 0 0; }
.transmittal-compact-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: .6rem 1.25rem;
    margin: 0 0 1rem;
}
.transmittal-compact-summary > div { min-width: 0; }
.transmittal-compact-summary dt { font-size: .8rem; color: #52606d; }
.transmittal-compact-summary dd { margin: .15rem 0 0; }
.embedded-transmittal-section { margin-top: 1rem; padding-top: .9rem; border-top: 1px solid #d8e0e8; }
.embedded-transmittal-section h4 { margin: 0 0 .65rem; }
.embedded-transmittal-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: .75rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #d8e0e8;
}
.embedded-transmittal-actions p { flex-basis: 100%; margin: .25rem 0; }
.embedded-transmittal-actions .payment-record-form { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; }
@media (max-width: 650px) {
    .embedded-transmittal-heading { display: block; }
    .embedded-transmittal-heading .button-link { display: inline-block; margin-top: .65rem; }
}

/* v1.6.3 transmittal status navigation and open-workspace cleanup */
.transmittal-status-toolbar {
    margin: .75rem 0 1rem;
}
.transmittal-level-block {
    margin-top: 1.25rem;
    padding: 1rem 1.1rem;
    border: 1px solid #d6dde6;
    border-radius: 8px;
    background: #fff;
}
.transmittal-level-block + .transmittal-level-block {
    margin-top: 1.5rem;
}
.transmittal-level-heading {
    margin-bottom: .75rem;
    padding-bottom: .65rem;
    border-bottom: 1px solid #e0e5eb;
}
.transmittal-level-heading h3 {
    margin: .15rem 0 0;
}
.transmittal-section-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .75rem;
}
.transmittal-section-heading h3 {
    margin: 0;
}
.transmittal-ready-actions {
    display: flex;
    justify-content: flex-end;
    margin: -.15rem 0 .6rem;
}
.transmittal-ready-actions form {
    margin: 0;
}
/* The compact transmittal header uses label-above-value cards.  Do not inherit
   the 10rem label column from the generic summary-list component. */
.transmittal-compact-summary > div {
    display: block;
    min-width: 0;
}
.transmittal-compact-summary dt,
.transmittal-compact-summary dd {
    align-self: auto;
    overflow-wrap: anywhere;
}
.transmittal-compact-summary dd {
    margin-top: .15rem;
}
@media (max-width: 650px) {
    .transmittal-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: .2rem;
    }
    .transmittal-ready-actions {
        justify-content: stretch;
    }
    .transmittal-ready-actions form,
    .transmittal-ready-actions button {
        width: 100%;
    }
}

/* v1.6.4 transmittal workspace selection and pagination */
a.member-filter-button {
    text-decoration: none;
}
.transmittal-grand-selector {
    display: grid;
    gap: .7rem;
    margin: .75rem 0 1rem;
    padding: .85rem 1rem;
    border: 1px solid #d6dde6;
    border-radius: 8px;
    background: #f8fafc;
}
.transmittal-selector-row {
    display: flex;
    align-items: center;
    gap: .75rem 1rem;
    flex-wrap: wrap;
}
.transmittal-selector-label {
    flex: 0 0 5.5rem;
    color: #334e68;
}
.transmittal-selector-row .member-filter-buttons {
    flex: 1 1 auto;
}
@media (max-width: 650px) {
    .transmittal-selector-row {
        align-items: flex-start;
        flex-direction: column;
        gap: .4rem;
    }
    .transmittal-selector-label {
        flex-basis: auto;
    }
}

/* v1.7.0 Projects / Donations */
.project-goal-grid,
.project-definition-list {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}
.project-goal-card,
.project-definition-card,
.project-admin-rule-card {
    border: 1px solid #d6dde6;
    border-radius: 8px;
    background: #fff;
    padding: 1rem;
}
.membership-goal-card {
    margin-top: .8rem;
    background: #f8fafc;
}
.project-goal-card h3,
.project-definition-card h3,
.project-admin-rule-card h3 {
    margin: .15rem 0 .35rem;
}
.project-type-label {
    display: block;
    color: #627d98;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.project-goal-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}
.project-metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .55rem;
    margin: .75rem 0;
}
.project-metrics > div {
    border-radius: 6px;
    background: #f8fafc;
    padding: .65rem .75rem;
}
.project-metrics span {
    display: block;
    color: #627d98;
    font-size: .78rem;
    margin-bottom: .15rem;
}
.project-metrics strong {
    overflow-wrap: anywhere;
}
.project-credit-breakdown {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem 1.25rem;
    margin: .6rem 0 .9rem;
    padding: .65rem .75rem;
    border-left: 3px solid #9fb3c8;
    background: #f8fafc;
}
.project-credit-breakdown span {
    color: #486581;
}
.project-contribution-form {
    border-top: 1px solid #e3e8ef;
    margin-top: .9rem;
    padding-top: .9rem;
}
.project-contribution-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.project-definition-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(8rem, .75fr) minmax(0, 1.3fr);
    gap: .5rem .8rem;
}
.project-definition-grid label {
    gap: .2rem;
}
.project-definition-grid input,
.project-definition-grid select {
    padding: .52rem .65rem;
}
.project-definition-list .project-definition-card,
.project-new-definition {
    padding: .8rem .9rem;
}
.project-definition-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem 1.25rem;
    margin-top: .65rem;
}
.project-definition-footer .project-definition-options {
    margin: 0;
}
.project-definition-footer > button {
    flex: 0 0 auto;
    margin: 0;
    padding: .55rem .85rem;
}
.project-definition-options label {
    white-space: nowrap;
}
.project-notes-field {
    grid-column: span 2;
}
.project-history {
    margin-top: .9rem;
}
.project-history summary {
    cursor: pointer;
    font-weight: 600;
}
.project-definition-options {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem 1.25rem;
    margin: .7rem 0;
}
.project-definition-options label {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}
.project-new-definition {
    margin-top: 1rem;
    background: #f8fafc;
}
.project-admin-rule-card p {
    margin: .35rem 0;
}
@media (max-width: 1050px) {
    .project-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 900px) {
    .project-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .project-contribution-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .project-definition-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 600px) {
    .project-goal-heading {
        flex-direction: column;
        gap: .45rem;
    }
    .project-metrics,
    .project-contribution-grid,
    .project-definition-grid {
        grid-template-columns: 1fr;
    }
    .project-notes-field {
        grid-column: auto;
    }
    .project-definition-footer {
        align-items: stretch;
        flex-direction: column;
    }
    .project-definition-footer > button {
        width: 100%;
    }
}


/* v1.8.76 Goals heading: keep the year selector compact, readable, and inside the panel. */
.project-admin-heading {
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem 1.5rem;
}
.project-admin-heading > div:first-child {
    flex: 1 1 auto;
    min-width: 0;
}
.project-year-selector {
    flex: 0 0 13rem;
    width: 13rem;
    grid-template-columns: 1fr;
    gap: .25rem;
    align-items: stretch;
}
.project-year-selector label {
    white-space: nowrap;
}
.project-year-selector select {
    width: 100%;
    min-width: 0;
}
@media (max-width: 760px) {
    .project-admin-heading {
        flex-direction: column;
        align-items: stretch;
    }
    .project-year-selector {
        flex-basis: auto;
        width: 100%;
        max-width: 18rem;
    }
}

/* v1.7.2 deterministic annual membership goal rules */
.project-admin-rule-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}
.membership-goal-rule-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin: 1rem 0;
}
.membership-goal-rule-card {
    border: 1px solid #d9e0e7;
    border-radius: .6rem;
    padding: 1rem;
    background: #fff;
}
.membership-goal-rule-card h4 { margin-top: 0; }
.membership-goal-rule-form {
    display: flex;
    align-items: flex-end;
    gap: .65rem;
    flex-wrap: wrap;
}
.membership-goal-rule-form label {
    display: grid;
    gap: .25rem;
    font-weight: 700;
}
.membership-goal-rule-input {
    display: flex;
    align-items: center;
    gap: .35rem;
    font-weight: 400;
}
.membership-goal-rule-input input { width: 7rem; }
.membership-goal-rule-form input[name="goal_increment"] { width: 7rem; }
.membership-goal-rule-operator {
    padding-bottom: .6rem;
    font-weight: 800;
    font-size: 1.15rem;
}
.membership-goal-admin-groups {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}
.membership-goal-admin-group {
    border: 1px solid #d9e0e7;
    border-radius: .6rem;
    background: #fff;
    overflow: hidden;
}
.membership-goal-admin-group > summary {
    cursor: pointer;
    padding: .8rem 1rem;
    font-weight: 800;
    background: #f6f8fa;
}
.membership-goal-admin-group > p { padding: 0 1rem; }
.count-badge {
    display: inline-block;
    margin-left: .35rem;
    padding: .1rem .45rem;
    border-radius: 999px;
    background: #e8edf2;
    font-size: .85em;
}
.membership-goal-admin-table { margin: 0; }
.membership-goal-admin-table th,
.membership-goal-admin-table td {
    vertical-align: middle;
    white-space: nowrap;
}
.membership-goal-admin-table td:first-child {
    white-space: normal;
    min-width: 15rem;
}
@media (max-width: 850px) {
    .membership-goal-rule-cards { grid-template-columns: 1fr; }
}

/* v1.7.6 Goals Progress report */
.report-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}
.report-heading h1 { margin-bottom: .2rem; }
.goals-report-note {
    margin: 0;
    padding: .65rem .75rem .55rem;
    border-bottom: 1px solid var(--border-color, #d9dee7);
    font-size: .9rem;
    line-height: 1.4;
}
.goals-report-card { padding: 0; overflow: hidden; }
.goals-report-wrap {
    max-width: 100%;
    overflow: auto;
}
.goals-report-table {
    width: 100%;
    min-width: 1050px;
    border-collapse: separate;
    border-spacing: 0;
    font-size: .92rem;
}
.goals-report-table th,
.goals-report-table td {
    padding: .65rem .7rem;
    border-bottom: 1px solid var(--border-color, #d9dee7);
    vertical-align: middle;
    background: var(--surface, #fff);
}
.goals-report-table thead th {
    font-weight: 700;
    text-align: center;
    white-space: nowrap;
    background: var(--surface-muted, #f4f6f9);
}
.goals-report-table thead tr:first-child th {
    position: sticky;
    top: 0;
    z-index: 4;
}
.goals-report-table thead tr:nth-child(2) th {
    position: sticky;
    top: 2.35rem;
    z-index: 4;
}
.goals-report-group {
    border-left: 2px solid var(--border-color, #d0d6df);
}
.goals-report-project-heading {
    min-width: 165px;
    border-left: 2px solid var(--border-color, #d0d6df);
    white-space: normal !important;
    line-height: 1.25;
}
.goals-report-org-column {
    position: sticky;
    left: 0;
    z-index: 3;
    min-width: 220px;
    max-width: 280px;
    text-align: left !important;
    background: var(--surface, #fff) !important;
    box-shadow: 1px 0 0 var(--border-color, #d9dee7);
}
.goals-report-table thead .goals-report-org-column {
    z-index: 6;
    background: var(--surface-muted, #f4f6f9) !important;
}
.goals-report-org-column a { font-weight: 700; }
.report-org-code {
    display: block;
    margin-top: .15rem;
    color: var(--muted, #657080);
    font-size: .8rem;
    font-weight: 400;
}
.report-rollup-badge {
    display: inline-block;
    margin-left: .35rem;
    padding: .08rem .35rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 600;
    background: var(--surface-muted, #eef1f5);
    color: var(--muted, #657080);
}
.goal-requirement {
    text-align: center;
    font-weight: 700;
    white-space: nowrap;
}
.goal-status-complete { color: #1d6b35; }
.goal-status-incomplete { color: #9b2c2c; }
.goal-status-neutral { color: var(--muted, #657080); }
.goal-progress-percent { font-weight: 800; white-space: nowrap; }
.goal-project-cell {
    min-width: 165px;
    border-left: 2px solid var(--border-color, #e1e5eb);
}
.goal-project-cell > span {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: .7rem;
    line-height: 1.45;
    white-space: nowrap;
}
.goal-project-cell small {
    color: var(--muted, #657080);
    font-size: .72rem;
    font-weight: 600;
}
.goals-report-table tbody tr:hover td,
.goals-report-table tbody tr:hover th.goals-report-org-column {
    background: var(--surface-hover, #f8fafc) !important;
}
@media (max-width: 760px) {
    .goals-report-table { font-size: .86rem; }
    .goals-report-org-column { min-width: 185px; }
}


/* v1.7.7 Goals Progress header grouping/width refinement */
.goals-report-table {
    min-width: 990px;
}
.goals-report-table thead tr:nth-child(2) th,
.goals-report-table thead .goals-report-subheading-row th {
    vertical-align: bottom;
}
.goals-report-group-start {
    border-left: 2px solid var(--border-color, #d0d6df) !important;
}
.goals-report-requirement-heading {
    white-space: normal !important;
    line-height: 1.12;
    min-width: 72px;
}
.goals-report-table thead tr:nth-child(2) th {
    padding-top: .45rem;
    padding-bottom: .55rem;
}
.goals-report-org-column {
    border-right: 2px solid var(--border-color, #d0d6df) !important;
    box-shadow: none;
}
.goals-report-group-row .goals-report-org-column + .goals-report-group {
    border-left: 0;
}
.goal-project-cell,
.goals-report-project-heading {
    min-width: 150px;
}

/* v1.8.0 Transfers + Goals report overflow cleanup */
.goals-report-table {
    width: max-content;
    min-width: 100%;
}

/* v1.8.11 Goals Progress fit/wrapped project headings */
.goals-report-table {
    width: 100%;
    min-width: 990px;
}
.goals-report-project-heading {
    overflow-wrap: break-word;
}
.transfer-list-table td,
.transfer-list-table th {
    vertical-align: middle;
}
.transfer-history-heading {
    margin-top: 2rem;
}
.transfer-member-summary,
.transfer-detail-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.transfer-lookup-form {
    align-items: end;
}
.transfer-lookup-form > label {
    margin-bottom: 0;
}
@media (max-width: 760px) {
    .transfer-member-summary,
    .transfer-detail-summary {
        grid-template-columns: 1fr;
    }
}

/* v1.9.237 Goals Progress inspection requirements / Supreme fit */
.goals-report-supreme-table {
    min-width: 1040px;
    font-size: .84rem;
}
.goals-report-supreme-table th,
.goals-report-supreme-table td {
    padding: .45rem .4rem;
}
.goals-report-supreme-table .goals-report-org-column {
    min-width: 170px;
    max-width: 215px;
}
.goals-report-supreme-table .goals-report-requirement-heading {
    min-width: 50px;
}
.goals-report-supreme-table .goal-project-cell,
.goals-report-supreme-table .goals-report-project-heading {
    min-width: 125px;
}
.goals-report-supreme-table .goal-project-cell > span {
    gap: .35rem;
}
.goals-report-supreme-table .goal-project-cell small {
    font-size: .68rem;
}
@media (max-width: 1100px) {
    .goals-report-supreme-table { min-width: 1040px; }
}

/* v1.9.239 embedded Grand/Pup Tent Goals Progress fit and frame */
.goals-tab-report-wrap {
    overflow-x: visible;
}
.goals-tab-report-table {
    width: 100%;
    min-width: 0;
    table-layout: auto;
    font-size: .84rem;
}
.goals-tab-report-table th,
.goals-tab-report-table td {
    padding: .45rem .35rem;
}
.goals-tab-report-table .goals-report-requirement-heading,
.goals-tab-report-table .goal-project-cell,
.goals-tab-report-table .goals-report-project-heading {
    min-width: 0;
}
.goals-tab-report-table .goal-project-cell > span {
    gap: .3rem;
}
.goals-tab-report-table .goal-project-cell small {
    font-size: .68rem;
}
.goals-tab-report-table thead tr:first-child > th {
    border-top: 1px solid var(--border-color, #d9dee7);
}
.goals-tab-report-table tr > :last-child {
    border-right: 1px solid var(--border-color, #d9dee7);
}

/* Compact organization link grids */
.organization-link-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
}

.organization-link-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: center;
    justify-items: start;
    gap: .4rem;
    min-height: 3.2rem;
    padding: .75rem .9rem;
    border: 1px solid #d3dbe3;
    border-radius: .4rem;
    background: #fff;
    color: #244f75;
    font-weight: 700;
    text-decoration: none;
}

.organization-link-card .status-badge {
    margin-left: 0;
    max-width: 100%;
    white-space: normal;
    line-height: 1.2;
}

.organization-link-card:hover {
    border-color: #9babb9;
    background: #f7fafc;
    color: #173f61;
    text-decoration: none;
}

.organization-link-card:focus-visible {
    outline: 3px solid #8db5d8;
    outline-offset: 2px;
}

@media (max-width: 900px) {
    .organization-link-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .organization-link-grid {
        grid-template-columns: 1fr;
    }
}

/* Member-list search */
.member-list-tools,
.member-simple-search {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .65rem 1rem;
    flex-wrap: wrap;
}

.member-list-search,
.member-simple-search label {
    margin: 0;
}

.member-list-search input[type="search"],
.member-simple-search input[type="search"] {
    width: min(22rem, 70vw);
}

.member-simple-search {
    justify-content: flex-start;
    margin: 0 0 .85rem;
}

@media (max-width: 640px) {
    .member-list-tools,
    .member-simple-search {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .member-list-search,
    .member-simple-search label,
    .member-list-search input[type="search"],
    .member-simple-search input[type="search"] {
        width: 100%;
    }
}

/* v1.8.19 Transfer Annual/Life choice */
.transfer-membership-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin: 0;
    padding: 0;
    border: 0;
}
.transfer-membership-options legend {
    grid-column: 1 / -1;
    margin: 0 0 .25rem;
    padding: 0;
    font-weight: 700;
}
.form-grid .transfer-membership-option {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: .65rem;
    margin: 0;
    padding: .85rem;
    border: 1px solid #c9d2dc;
    border-radius: .35rem;
    background: #fff;
    cursor: pointer;
}
.transfer-membership-option input[type="radio"] {
    width: auto;
    margin: .2rem 0 0;
    flex: 0 0 auto;
}
.transfer-membership-option > span {
    display: flex;
    flex-direction: column;
    gap: .25rem;
}
.transfer-membership-option:has(input:checked) {
    border-color: #2f6f9f;
    background: #f3f7fb;
    box-shadow: inset 4px 0 #2f6f9f;
}
.transfer-membership-option.is-disabled {
    opacity: .6;
    cursor: not-allowed;
}
@media (max-width: 700px) {
    .transfer-membership-options {
        grid-template-columns: 1fr;
    }
}


/* v1.8.28 Grand ready-for-transmittal workflow cue */
.grand-transmittal-ready-indicator {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    min-height: 2rem;
    padding: .2rem .1rem;
    color: #52606d;
    font-size: .82rem;
    font-weight: 700;
    white-space: nowrap;
}
.grand-transmittal-ready-indicator strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.55rem;
    min-height: 1.55rem;
    padding: 0 .35rem;
    border-radius: 4px;
    background: #e7edf3;
    color: #183b56;
    font-size: .8rem;
}
.grand-transmittal-ready-callout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .9rem 1.25rem;
    margin: 0 0 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid #9db4c8;
    border-left: .35rem solid #244f75;
    border-radius: 8px;
    background: #f4f8fc;
}
.grand-transmittal-ready-copy {
    display: grid;
    gap: .2rem;
}
.grand-transmittal-ready-copy strong {
    color: #183b56;
}
.grand-transmittal-ready-copy span {
    color: #52606d;
    font-size: .92rem;
}
.grand-transmittal-ready-callout form {
    margin: 0;
    flex: 0 0 auto;
}
@media (max-width: 700px) {
    .grand-transmittal-ready-callout {
        align-items: stretch;
        flex-direction: column;
    }
    .grand-transmittal-ready-callout form,
    .grand-transmittal-ready-callout button,
    .grand-transmittal-ready-callout .button-link {
        width: 100%;
    }
}


/* v1.8.43 bottom-aligned form control cleanup
 * Global labels carry vertical margins for stacked forms. In forms that deliberately
 * align fields and action buttons along their bottom edge, that bottom margin becomes
 * part of the label grid/flex item and pushes the button below the input control.
 */
.payment-record-form > label,
.transmittal-fee-form > label,
.membership-goal-rule-form > label {
    margin-bottom: 0;
}

/* v1.8.44 Goals Progress frozen-column header stacking */
.goals-report-table thead tr:first-child th.goals-report-org-column {
    z-index: 7;
}

/* v1.8.45 officer action / transfer alignment and transfer officer-impact notice */
.officer-assignment-actions {
    align-items: center;
}
.officer-assignment-actions .officer-end-editor > summary {
    padding: .18rem .45rem;
    font-size: .88em;
    line-height: 1.25;
}
.transfer-create-form .transfer-payment-date-field {
    margin-bottom: 0;
}
.transfer-create-form .transfer-submit-actions {
    align-self: stretch;
    align-items: flex-end;
}
.transfer-officer-impact {
    margin: 0 0 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid #d6bd80;
    border-left: .35rem solid #9a6a00;
    border-radius: .4rem;
    background: #fffaf0;
}
.transfer-officer-impact p {
    margin-top: 0;
}
.transfer-officer-impact-list {
    margin: .65rem 0 0;
    padding-left: 1.35rem;
}
.transfer-officer-impact-list li + li {
    margin-top: .35rem;
}
@media (max-width: 700px) {
    .transfer-create-form .transfer-submit-actions {
        align-items: stretch;
    }
}


/* Election report embedded workspace */
.election-report-workspace {
    margin-bottom: 1.25rem;
}

.election-report-selected-heading {
    margin: .95rem 0 .2rem;
}

.election-report-selected-heading .title-row {
    align-items: center;
}

.election-report-selected-heading h3 {
    margin: 0;
}

.election-report-history-card tr.is-selected td {
    background: #eef4f8;
}

/* v1.8.50 officer workspace navigation */
.officer-workspace-pills {
    margin: .15rem 0 1rem;
}

.election-report-history-notice {
    margin-bottom: 1rem;
}
.election-report-history-notice {
    border: 1px solid #cbd5df;
    background: #f8fafc;
    color: #405365;
}
/* v1.8.51 compact Election Report workspace */
.election-report-history-card {
    margin: .75rem 0;
    padding: 1rem 1.15rem;
}

.election-report-history-card h2 {
    margin: 0 0 .65rem;
    font-size: 1.15rem;
}

.election-report-context-note {
    margin: .4rem 0 .7rem;
    padding: .55rem .75rem;
    border-left: 3px solid #aab4c0;
    background: #f8fafc;
    color: #526171;
}

.election-report-card-readonly {
    margin-top: .6rem;
    padding: 1rem 1.15rem;
}

.election-report-card-readonly .election-report-submission {
    margin-bottom: .65rem;
    padding-bottom: .55rem;
    border-bottom: 1px solid #e1e5ea;
}

.election-report-details-grid {
    max-width: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem 1.5rem;
}

.election-report-details-grid > div {
    grid-template-columns: 10rem minmax(0, 1fr);
    gap: .6rem;
    min-width: 0;
}

@media (max-width: 760px) {
    .election-report-details-grid {
        grid-template-columns: 1fr;
    }

    .election-report-details-grid > div {
        grid-template-columns: 1fr;
        gap: .05rem;
        align-items: start;
    }

    .election-report-details-grid dt,
    .election-report-details-grid dd {
        align-self: start;
    }
}


/* v1.8.52 Election Report editing-session cleanup */
button.title-action.election-report-change-button {
    appearance: none;
    border: 0;
    background: transparent;
    font-family: inherit;
    cursor: pointer;
}

button.title-action.election-report-change-button:hover,
button.title-action.election-report-change-button:focus-visible {
    background: #e9eff4;
}

.officer-member-results tr.is-disabled td {
    opacity: .68;
}

.election-report-local-message {
    margin-top: .75rem;
    margin-bottom: .75rem;
}

/* v1.8.56 compact transmittal Membership / Projects workspace */
.transmittal-detail-pills {
    margin: .45rem 0 .2rem;
}

.transmittal-detail-pills .member-filter-button {
    cursor: pointer;
}

.transmittal-detail-pane[hidden] {
    display: none !important;
}

.transmittal-detail-first-section {
    margin-top: .45rem;
    padding-top: .65rem;
}

.transmittal-subheading {
    margin: .75rem 0 .4rem;
    font-size: .95rem;
    color: #334e68;
}

.project-contribution-table th,
.project-contribution-table td {
    vertical-align: middle;
}

.project-contribution-inline-form {
    display: flex;
    align-items: center;
    gap: .4rem;
    margin: 0;
    min-width: 10.5rem;
}

.project-contribution-inline-form input[type="number"] {
    width: 7rem;
    min-width: 0;
    margin: 0;
}

.project-contribution-inline-form button,
.project-contribution-table .inline-form button {
    white-space: nowrap;
}

.project-transmittal-callout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem 1rem;
    margin: .65rem 0 .9rem;
    padding: .65rem .8rem;
    border: 1px solid #cbd5df;
    border-radius: 7px;
    background: #f8fafc;
}

.project-transmittal-callout p {
    margin: 0;
}

@media (max-width: 760px) {
    .project-transmittal-callout {
        align-items: stretch;
        flex-direction: column;
    }

    .project-transmittal-callout .button-link {
        align-self: flex-start;
    }

    .project-contribution-inline-form {
        min-width: 9rem;
    }
}

/* Members workspace actions and annual membership-card PDF export */
.member-workspace-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .55rem;
    margin: 0 0 .8rem;
}
.member-workspace-primary-action {
    font-weight: 700;
}
button.member-workspace-secondary-action {
    appearance: none;
    border: 1px solid #244f75;
    background: #fff;
    color: #244f75;
    font-family: inherit;
    font-weight: 700;
    cursor: pointer;
}
button.member-workspace-secondary-action:hover {
    background: #edf3f8;
}
button.member-workspace-secondary-action:focus-visible,
.member-workspace-primary-action:focus-visible {
    outline: 3px solid #8db5d8;
    outline-offset: 2px;
}
@media (max-width: 640px) {
    .member-workspace-actions {
        justify-content: flex-start;
    }
}
.membership-card-dialog {
    width: min(31rem, calc(100vw - 2rem));
    padding: 0;
    border: 1px solid #aebdca;
    border-radius: .55rem;
    box-shadow: 0 1rem 3rem rgba(18, 42, 61, .24);
    color: #213547;
}
.membership-card-dialog::backdrop {
    background: rgba(26, 45, 61, .36);
}
.membership-card-dialog form {
    margin: 0;
    padding: 1rem 1.1rem;
}
.membership-card-dialog-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}
.membership-card-dialog-heading h2 {
    margin: 0;
    font-size: 1.2rem;
}
.membership-card-dialog-close {
    appearance: none;
    border: 0;
    background: transparent;
    color: #526d82;
    font-size: 1.65rem;
    line-height: 1;
    cursor: pointer;
    padding: .05rem .2rem;
}
.membership-card-intro {
    margin: .35rem 0 .75rem;
}
.membership-card-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}
.membership-card-options label {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin: 0;
    padding: .65rem .7rem;
    border: 1px solid #cbd5df;
    border-radius: .4rem;
    background: #f8fafc;
    cursor: pointer;
}
.membership-card-options input[type="checkbox"] {
    flex: 0 0 1.1rem;
    width: 1.1rem;
    min-width: 1.1rem;
    height: 1.1rem;
    min-height: 1.1rem;
    margin: 0;
    padding: 0;
}
.membership-card-options span {
    display: grid;
    min-width: 0;
    gap: .05rem;
}
.membership-card-options strong,
.membership-card-options small {
    overflow-wrap: normal;
    word-break: normal;
}
.membership-card-options small {
    color: #607487;
}
.membership-card-count-summary {
    margin: .7rem 0 .25rem;
    font-size: .95rem;
}
.membership-card-print-note {
    margin: .25rem 0 .75rem;
}
.membership-card-dialog-actions {
    justify-content: flex-end;
    margin-top: .5rem;
}
@media (max-width: 560px) {
    .membership-card-options {
        grid-template-columns: 1fr;
    }
}

/* Context-aware organization attention indicators */
.tab-attention-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    height: 1.35rem;
    margin-left: .35rem;
    padding: 0 .35rem;
    border-radius: 999px;
    background: #b42318;
    color: #fff;
    font-size: .75rem;
    font-weight: 800;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    vertical-align: middle;
}
.tab-button.is-active .tab-attention-badge {
    background: #982018;
}
.needs-attention {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .55rem .8rem;
    margin: -.35rem 0 1rem;
    padding: .55rem .75rem;
    border: 1px solid #e4c178;
    border-radius: .45rem;
    background: #fff8e8;
    color: #62420b;
}
.needs-attention-label {
    white-space: nowrap;
}
.needs-attention-items {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .45rem;
}
.needs-attention-link {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .18rem .45rem;
    border-radius: 999px;
    color: #62420b;
    font-weight: 700;
    text-decoration: none;
}
.needs-attention-link:hover {
    background: #f7e7bd;
    color: #4b3107;
    text-decoration: none;
}
.needs-attention-link:focus-visible {
    outline: 3px solid #8db5d8;
    outline-offset: 2px;
}
.needs-attention-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 .35rem;
    border-radius: 999px;
    background: #b42318;
    color: #fff;
    font-size: .76rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}
@media (max-width: 520px) {
    .needs-attention { align-items: flex-start; }
    .needs-attention-label { width: 100%; }
}

/* System maintenance and announcements */
.alert.warning {
    border: 1px solid #d6a63d;
    background: #fff8e6;
    color: #67490a;
}
.system-maintenance-admin-banner {
    border-bottom: 1px solid #d6a63d;
    background: #fff4cf;
    color: #5f4107;
    font-size: .9rem;
}
.system-maintenance-admin-banner .shell {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .35rem;
    padding-top: .42rem;
    padding-bottom: .42rem;
}
.system-maintenance-admin-banner a {
    color: #5f4107;
    font-weight: 700;
}
.site-announcement-stack {
    margin-top: .65rem;
}
.site-announcement-stack .shell {
    display: grid;
    gap: .42rem;
}
.site-announcement {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: .2rem .55rem;
    padding: .48rem .7rem;
    border: 1px solid #b9c9d8;
    border-left-width: .32rem;
    border-radius: .35rem;
    background: #f3f7fb;
    color: #24384b;
    line-height: 1.35;
}
.site-announcement-title {
    flex: 0 0 auto;
}
.site-announcement-body {
    min-width: 0;
}
.site-announcement-information {
    border-color: #8fb1cf;
    background: #eef6fc;
    color: #234a69;
}
.site-announcement-important {
    border-color: #c9a143;
    background: #fff8e5;
    color: #65480c;
}
.site-announcement-warning {
    border-color: #bc6158;
    background: #fff0ef;
    color: #70231d;
}
.maintenance-shell {
    display: flex;
    justify-content: center;
}
.maintenance-card {
    width: 100%;
    margin-top: 2rem;
}
.maintenance-card h1 {
    margin-top: 0;
}
.maintenance-message {
    font-size: 1.05rem;
    line-height: 1.5;
}
.maintenance-logout-form {
    margin-top: 1rem;
}
.maintenance-login-notice {
    line-height: 1.4;
}

.system-settings-section {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #d9dee5;
}
.system-settings-section:first-of-type {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}
.system-settings-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .65rem;
}
.system-settings-section-heading h3,
.system-settings-section-heading p {
    margin: 0;
}
.system-settings-section-heading p {
    margin-top: .2rem;
}
.system-audit-retention-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(9rem, 1fr));
    gap: .55rem .8rem;
}
.system-audit-retention-grid > div {
    display: flex;
    flex-direction: column;
    gap: .12rem;
    padding: .55rem .7rem;
    border: 1px solid #d9dee5;
    border-radius: .35rem;
    background: #fafbfc;
}
.system-audit-retention-grid strong {
    font-size: .92rem;
}
.system-audit-retention-backlog {
    margin: .55rem 0 0;
}
.system-state-badge,
.system-announcement-status,
.system-announcement-style-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    white-space: nowrap;
    font-size: .76rem;
    font-weight: 800;
    line-height: 1.2;
}
.system-state-badge {
    flex: 0 0 auto;
    min-width: 2.9rem;
    max-width: 100%;
    padding: .28rem .58rem;
}
.system-state-badge.is-on {
    background: #fde7e5;
    color: #8f241d;
    border: 1px solid #d98f88;
}
.system-state-badge.is-off {
    background: #e8f4eb;
    color: #285f38;
    border: 1px solid #9ec4aa;
}
.system-maintenance-form {
    display: grid;
    grid-template-columns: minmax(12rem, .8fr) minmax(22rem, 2fr);
    gap: .65rem 1rem;
    align-items: start;
}
.system-maintenance-form label,
.system-announcement-form label {
    margin: 0;
}
.system-maintenance-toggle {
    align-self: center;
    margin-top: 1.8rem !important;
}
.system-maintenance-message {
    min-width: 0;
}
.system-maintenance-message textarea {
    min-height: 5rem;
}
.system-maintenance-actions {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .55rem .8rem;
    margin-top: 0;
}
.system-maintenance-form input[type="checkbox"],
.system-announcement-form input[type="checkbox"] {
    width: auto;
    padding: 0;
}
.system-new-announcement {
    margin: .7rem 0 1rem;
    border: 1px solid #d9dee5;
    border-radius: .4rem;
    background: #fafbfc;
}
.system-new-announcement > summary {
    padding: .6rem .75rem;
    cursor: pointer;
    font-weight: 700;
    color: #244f75;
}
.system-new-announcement[open] > summary {
    border-bottom: 1px solid #e1e5e9;
}
.system-announcement-form {
    display: grid;
    grid-template-columns: minmax(16rem, 2fr) minmax(11rem, 1fr) minmax(11rem, 1fr);
    grid-template-areas:
        "title audience style"
        "message starts ends"
        "message active submit";
    gap: .65rem;
    align-items: end;
    padding: .75rem;
}
.system-announcement-form > label,
.system-announcement-form > .form-actions {
    min-width: 0;
}
.system-announcement-form input,
.system-announcement-form select,
.system-announcement-form textarea {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
.system-announcement-title-field {
    grid-area: title;
}
.system-announcement-audience-field {
    grid-area: audience;
}
.system-announcement-style-field {
    grid-area: style;
}
.system-announcement-start-field {
    grid-area: starts;
}
.system-announcement-end-field {
    grid-area: ends;
}
.system-announcement-active-field {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    grid-area: active;
    align-self: center;
    white-space: nowrap;
    padding: 0;
}
.system-announcement-message-field {
    grid-area: message;
    align-self: stretch;
}
.system-announcement-message-field textarea {
    min-height: 6.25rem;
    height: calc(100% - 1.45rem);
}
.system-announcement-submit-field {
    grid-area: submit;
    align-self: center;
    justify-self: end;
    margin: 0;
}
.system-announcement-submit-field button {
    white-space: nowrap;
}
.system-announcement-table {
    min-width: 54rem;
}
.system-announcement-summary-cell {
    min-width: 18rem;
}
.system-announcement-summary-cell strong {
    display: inline;
}
.system-announcement-preview {
    display: block;
    margin-top: .2rem;
    max-width: 32rem;
    overflow-wrap: anywhere;
}
.system-announcement-style-label {
    margin-left: .35rem;
    padding: .12rem .4rem;
    border: 1px solid #c6d2de;
    background: #f2f6fa;
    color: #496277;
    vertical-align: middle;
}
.system-announcement-style-important {
    border-color: #dbc681;
    background: #fff8df;
    color: #70540b;
}
.system-announcement-style-warning {
    border-color: #d6a19c;
    background: #fff0ef;
    color: #802d26;
}
.system-announcement-status {
    padding: .18rem .45rem;
    border: 1px solid #c8d0d8;
    background: #f2f4f6;
    color: #56616c;
}
.system-announcement-status.is-active {
    border-color: #9ec4aa;
    background: #e9f5ec;
    color: #285f38;
}
.system-announcement-status.is-scheduled {
    border-color: #9fb9d1;
    background: #edf4fa;
    color: #315a78;
}
.system-announcement-schedule {
    display: grid;
    gap: .12rem;
    white-space: nowrap;
    font-size: .88rem;
}
.system-announcement-edit-cell {
    width: 1%;
    white-space: nowrap;
}
.system-announcement-edit-button {
    padding: .38rem .65rem;
}
.system-announcement-row-actions {
    display: flex;
    align-items: center;
    gap: .35rem;
}
.system-announcement-delete-form {
    margin: 0;
}
.system-announcement-dialog {
    width: min(72rem, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    padding: 0;
    border: 1px solid #b9c2cb;
    border-radius: .55rem;
    box-shadow: 0 1rem 3rem rgb(0 0 0 / 25%);
}
.system-announcement-dialog::backdrop {
    background: rgb(20 28 38 / 58%);
}
.system-announcement-dialog-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: .8rem 1rem;
    border-bottom: 1px solid #d9dee5;
}
.system-announcement-dialog-heading h3,
.system-announcement-dialog-heading p {
    margin: 0;
}
.system-announcement-dialog-heading p {
    margin-top: .15rem;
}
.system-announcement-dialog-close {
    border: 0;
    background: transparent;
    color: #4d5965;
    padding: 0 .2rem;
    font-size: 1.7rem;
    line-height: 1;
}
.system-announcement-dialog .system-announcement-form {
    padding: 1rem;
}
.system-announcement-dialog .system-announcement-submit-field {
    display: flex;
    gap: .5rem;
}
@media (max-width: 900px) {
    .system-maintenance-form {
        grid-template-columns: 1fr;
    }
    .system-maintenance-toggle {
        margin-top: 0 !important;
    }
    .system-maintenance-actions {
        grid-column: 1;
    }
    .system-announcement-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas:
            "title title"
            "audience style"
            "starts ends"
            "message message"
            "active submit";
    }
    .system-announcement-submit-field {
        justify-self: end;
    }
}
@media (max-width: 560px) {
    .site-announcement {
        display: block;
    }
    .site-announcement-title,
    .site-announcement-body {
        display: block;
    }
    .site-announcement-body {
        margin-top: .15rem;
    }
    .system-announcement-form {
        grid-template-columns: 1fr;
        grid-template-areas:
            "title"
            "audience"
            "style"
            "starts"
            "ends"
            "message"
            "active"
            "submit";
    }
    .system-announcement-submit-field {
        justify-self: stretch;
    }
    .system-announcement-submit-field button {
        width: 100%;
    }
}

/* v1.8.65 Admin Audit Log */
.audit-admin-heading {
    margin-bottom: .7rem;
}

.audit-filter-form {
    display: grid;
    grid-template-columns: minmax(15rem, 2fr) minmax(9.5rem, .8fr) minmax(9.5rem, .8fr) minmax(12rem, 1fr) auto;
    gap: .65rem .75rem;
    align-items: end;
    margin: 0 0 1rem;
    padding: .75rem;
    border: 1px solid #d9dee5;
    border-radius: .45rem;
    background: #f8fafc;
}

.audit-filter-form > label,
.audit-filter-more-grid > label {
    min-width: 0;
    margin: 0;
}

.audit-filter-form input,
.audit-filter-form select {
    min-width: 0;
}

.audit-filter-actions {
    display: flex;
    gap: .45rem;
    align-items: center;
    padding-bottom: .02rem;
}

.audit-filter-actions button,
.audit-filter-actions .button-secondary {
    min-height: 2.7rem;
    padding: .6rem .8rem;
    white-space: nowrap;
}

.audit-filter-actions .button-secondary {
    display: inline-flex;
    align-items: center;
}

.audit-filter-more {
    grid-column: 1 / -1;
    margin-top: .05rem;
    border-top: 1px solid #d9dee5;
    padding-top: .55rem;
}

.audit-filter-more > summary {
    width: max-content;
    color: #244f75;
    cursor: pointer;
    font-weight: 700;
}

.audit-filter-more-grid {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) minmax(12rem, 1fr) minmax(12rem, 1fr) minmax(9rem, .65fr);
    gap: .65rem .75rem;
    margin-top: .65rem;
}

.audit-list-heading {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
    margin: .1rem 0 .55rem;
}

.audit-list-heading h3,
.audit-list-heading p {
    margin: 0;
}

.audit-list-heading p {
    margin-top: .15rem;
}

.audit-table {
    min-width: 64rem;
}

.audit-table th,
.audit-table td {
    vertical-align: top;
}

.audit-table th:first-child,
.audit-when-cell {
    width: 8.2rem;
    white-space: nowrap;
}

.audit-when-cell {
    display: table-cell;
}

.audit-when-cell strong,
.audit-when-cell span,
.audit-user-cell strong,
.audit-cell-meta {
    display: block;
}

.audit-cell-meta,
.audit-when-cell span {
    margin-top: .12rem;
    color: #66727d;
    font-size: .8rem;
    line-height: 1.25;
}

.audit-details-cell {
    width: 5.4rem;
    text-align: right;
    white-space: nowrap;
}

.audit-detail-toggle {
    min-height: 2rem;
    padding: .32rem .55rem;
    font-size: .82rem;
}


.audit-detail-row td {
    padding: 0;
    border-top: 0;
    background: #f7fafc;
}

.audit-detail-panel {
    margin: 0 .7rem .7rem;
    padding: .75rem;
    border: 1px solid #d5dee7;
    border-radius: .4rem;
    background: white;
}

.audit-event-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem 1rem;
    margin: 0;
}

.audit-event-meta > div {
    min-width: 0;
}

.audit-event-meta dt,
.audit-payload-grid dt {
    color: #66727d;
    font-size: .75rem;
    font-weight: 750;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.audit-event-meta dd,
.audit-payload-grid dd {
    margin: .12rem 0 0;
    overflow-wrap: anywhere;
}

.audit-event-meta code {
    white-space: normal;
    overflow-wrap: anywhere;
}

.audit-user-agent {
    grid-column: span 2;
}

.audit-payloads {
    display: grid;
    gap: .55rem;
    margin-top: .7rem;
}

.audit-payload-block {
    margin: 0;
    padding-top: .55rem;
    border-top: 1px solid #e1e6eb;
}

.audit-payload-block h4 {
    margin: 0 0 .4rem;
    font-size: .92rem;
}

.audit-payload-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .45rem 1rem;
    margin: 0;
}

.audit-payload-grid > div {
    min-width: 0;
}

.audit-payload-json > summary {
    color: #244f75;
    cursor: pointer;
    font-weight: 700;
}

.audit-payload-json pre {
    max-height: 26rem;
    margin: .5rem 0 0;
    padding: .65rem;
    overflow: auto;
    border: 1px solid #d9dee5;
    border-radius: .3rem;
    background: #f5f7f9;
    font-size: .8rem;
    line-height: 1.35;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.audit-payload-scalar {
    overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
    .audit-filter-form {
        grid-template-columns: minmax(14rem, 2fr) minmax(9.5rem, 1fr) minmax(9.5rem, 1fr);
    }

    .audit-filter-search,
    .audit-filter-form > label:nth-of-type(4) {
        grid-column: auto;
    }

    .audit-filter-actions {
        grid-column: span 2;
        justify-content: flex-start;
    }

    .audit-filter-more-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 700px) {
    .audit-filter-form,
    .audit-filter-more-grid {
        grid-template-columns: 1fr;
    }

    .audit-filter-actions {
        grid-column: auto;
    }

    .audit-event-meta,
    .audit-payload-grid {
        grid-template-columns: 1fr;
    }

    .audit-user-agent {
        grid-column: auto;
    }
}

/* Organization-year rollover workspace */
.year-rollover-panel {
    border: 1px solid #cad6e0;
    border-left: .28rem solid #355f82;
    border-radius: .45rem;
    background: #f8fbfd;
    padding: .75rem .85rem;
    margin: 0 0 .8rem;
}

.year-rollover-heading,
.year-rollover-actions,
.year-closing-strip,
.year-closing-counts {
    display: flex;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
}

.year-rollover-heading {
    justify-content: space-between;
    margin-bottom: .55rem;
}

.year-rollover-heading > div {
    display: flex;
    align-items: center;
    gap: .45rem;
}

.year-readiness-pills {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-bottom: .6rem;
}

.year-readiness-pill {
    border: 1px solid #c8d2db;
    border-radius: 999px;
    background: #fff;
    padding: .24rem .55rem;
    font-size: .86rem;
    font-weight: 650;
    white-space: nowrap;
}

.year-readiness-pill.is-ready {
    border-color: #7da890;
    background: #eef8f2;
    color: #24583b;
}

.year-readiness-pill.is-missing {
    border-color: #d59a93;
    background: #fff2f0;
    color: #7a2e26;
}

.year-readiness-pill.is-waiting {
    border-color: #d3bd79;
    background: #fff9e9;
    color: #6b5413;
}

.year-rollover-actions form,
.year-closing-strip form {
    margin: 0;
}

.year-rollover-actions .button,
.year-rollover-actions button,
.year-closing-strip button {
    margin: 0;
}

.year-rollover-note {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem .85rem;
    margin: .55rem 0 0;
    font-size: .88rem;
}

.year-rollover-note span::before {
    content: "• ";
}

.year-closing-strip {
    justify-content: space-between;
    border: 1px solid #d8dde2;
    border-radius: .4rem;
    padding: .55rem .7rem;
    margin: 0 0 .8rem;
    background: #fbfbfc;
}

.year-closing-strip > div:first-child {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: .35rem .6rem;
}

.year-closing-counts {
    gap: .3rem;
    margin-left: auto;
}

.year-closing-counts span {
    border-radius: 999px;
    background: #f4e9e7;
    color: #703029;
    padding: .18rem .45rem;
    font-size: .82rem;
    font-weight: 650;
}

@media (max-width: 760px) {
    .year-rollover-heading,
    .year-closing-strip {
        align-items: flex-start;
        flex-direction: column;
    }

    .year-closing-counts {
        margin-left: 0;
    }
}


/* v1.8.81 account security and Administrator-only invitations */
.account-admin-create {
    margin: 0 0 1rem;
}

.account-admin-create > summary {
    display: inline-block;
    list-style: none;
    border: 1px solid #244f75;
    border-radius: .25rem;
    background: #244f75;
    color: white;
    padding: .55rem .85rem;
    cursor: pointer;
    font-weight: 650;
}

.account-admin-create > summary::-webkit-details-marker {
    display: none;
}

.account-admin-create > summary:hover,
.account-admin-create > summary:focus-visible {
    background: #173f61;
    border-color: #173f61;
}

.account-admin-create-panel {
    width: min(44rem, 100%);
    margin-top: .75rem;
    padding: 1rem;
    border: 1px solid #d9dee5;
    border-radius: .4rem;
    background: #f8fafc;
}

.account-admin-create-panel h3,
.account-admin-create-panel p {
    margin-top: 0;
}

.account-admin-create-form {
    display: grid;
    grid-template-columns: minmax(18rem, 1fr) auto;
    gap: .75rem;
    align-items: end;
}

.account-admin-create-form label {
    margin: 0;
}

.account-admin-create-actions {
    padding-bottom: .05rem;
}

.account-settings-summary {
    max-width: 44rem;
}

.account-settings-membership {
    max-width: 44rem;
    margin-top: 1rem;
}

.account-settings-membership p {
    margin-top: 0;
}

.compact-readonly-field {
    display: grid;
    align-content: start;
    gap: .18rem;
}

.compact-readonly-label {
    font-weight: 700;
}

/* v1.9.259 — use the available My Account width for the two credential forms. */
.account-settings-security-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: start;
    max-width: 70rem;
}

.account-settings-security-grid > .card {
    margin: 0;
}

.account-settings-password {
    margin-top: 0;
}

@media (max-width: 900px) {
    .account-settings-security-grid {
        grid-template-columns: 1fr;
        max-width: 32rem;
    }
}

.alert.warning {
    border: 1px solid #b27a12;
    background: #fff7e6;
    color: #714b08;
}

@media (max-width: 640px) {
    .account-admin-create-form {
        grid-template-columns: 1fr;
    }

    .account-admin-create-actions button {
        width: 100%;
    }
}


/* v1.8.82 audit-retention status */
@media (max-width: 850px) {
    .system-audit-retention-grid { grid-template-columns: repeat(2, minmax(9rem, 1fr)); }
}
@media (max-width: 520px) {
    .system-audit-retention-grid { grid-template-columns: 1fr; }
}

/* Organization-year context shown consistently on Supreme, Grand, and Pup Tent pages. */
.organization-page-heading-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
}
.organization-page-heading-main {
    min-width: 0;
}
.organization-year-context {
    flex: 0 0 auto;
    display: grid;
    justify-items: end;
    gap: .28rem;
    text-align: right;
}
.organization-year-badge {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .45rem .7rem;
    border: 1px solid #c7d7ca;
    border-radius: 999px;
    background: #eef7f0;
    color: #245332;
    white-space: nowrap;
}
.organization-year-badge strong {
    font-size: .95rem;
}
.organization-year-badge span {
    padding-left: .55rem;
    border-left: 1px solid #bfd0c2;
    font-size: .82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .025em;
}
.organization-year-status-past,
.organization-year-status-closing {
    border-color: #d1d5da;
    background: #f4f5f6;
    color: #4c5661;
}
.organization-year-status-past span,
.organization-year-status-closing span {
    border-left-color: #c9ced4;
}
.organization-year-status-future {
    border-color: #cbd7e6;
    background: #f1f5fa;
    color: #294f78;
}
.organization-year-status-future span {
    border-left-color: #c5d2e1;
}
.organization-year-dates {
    padding-right: .15rem;
    color: #68727e;
    font-size: .78rem;
    line-height: 1.2;
    white-space: nowrap;
}

@media (max-width: 640px) {
    .organization-page-heading-row {
        display: block;
    }
    .organization-year-context {
        justify-items: start;
        margin-top: .65rem;
        text-align: left;
    }
    .home-heading-row .organization-year-context {
        margin-top: .8rem;
    }
}

/* v1.8.88 member lifecycle actions live inside Membership details */
.member-lifecycle-inline {
    margin-top: .85rem;
    padding-top: .8rem;
    border-top: 1px solid #d9dee5;
}

.member-lifecycle-statuses {
    display: grid;
    gap: .55rem;
    font-size: .92rem;
}

.member-lifecycle-statuses .muted {
    margin-top: .15rem;
}

.member-lifecycle-actions {
    margin-top: .85rem;
    padding-top: .75rem;
    border-top: 1px solid #e3e7eb;
}

.member-lifecycle-actions h3 {
    margin: 0 0 .25rem;
    font-size: 1rem;
}

.member-lifecycle-actions > .muted {
    margin: 0 0 .45rem;
}

.member-lifecycle-action + .member-lifecycle-action {
    margin-top: .3rem;
}

.member-lifecycle-action[open] {
    margin-top: .45rem;
    padding: .65rem;
    border: 1px solid #d9dee5;
    border-radius: .4rem;
    background: #f8fafc;
}

.member-lifecycle-action-body {
    margin-top: .45rem;
}

.member-lifecycle-form {
    margin-top: .3rem;
}

.member-lifecycle-confirmation {
    margin-top: .35rem;
}

.member-lifecycle-history {
    margin-top: .85rem;
    padding-top: .7rem;
    border-top: 1px solid #e3e7eb;
}

.member-lifecycle-history > summary {
    cursor: pointer;
    color: #355f82;
    font-weight: 650;
}

.member-lifecycle-history-list {
    display: grid;
    gap: .65rem;
    margin-top: .65rem;
}

.member-lifecycle-history-item {
    padding: .6rem .7rem;
    border: 1px solid #e2e6ea;
    border-radius: .35rem;
    background: #fbfcfd;
}

.member-lifecycle-history-item > span {
    display: block;
    margin-top: .1rem;
    color: #5a6570;
    font-size: .86rem;
}

.member-lifecycle-history-item p {
    margin: .35rem 0 0;
}

/* v1.8.89 member detail columns flow independently */
.member-detail-column {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    min-width: 0;
}

.member-lifecycle-active-status {
    display: flex;
    flex-wrap: wrap;
    gap: .2rem .45rem;
    align-items: baseline;
}

.member-lifecycle-active-status .muted {
    flex-basis: 100%;
}

.member-lifecycle-inline > .member-lifecycle-actions:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

@media (max-width: 760px) {
    .member-detail-column {
        gap: 1rem;
    }
}

/* v1.8.93 organization-year Life Membership fee schedules */
.life-membership-fees {
    margin-top: 1.25rem;
}

.life-fee-year-selector {
    margin: 0;
    min-width: 15rem;
}

.life-fee-year-selector label {
    display: grid;
    gap: .3rem;
    font-weight: 650;
}

.life-fee-year-selector select {
    min-width: 14rem;
}

.life-fee-year-heading {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .45rem;
    margin: 0 0 .75rem;
}

.life-fee-form {
    margin: 0;
}

.life-fee-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(10rem, 1fr));
    gap: .8rem 1rem;
    max-width: 52rem;
}

.life-fee-grid label {
    display: grid;
    gap: .3rem;
    font-weight: 650;
}

.currency-input {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    border: 1px solid #b9c1c9;
    border-radius: .35rem;
    background: #fff;
    overflow: hidden;
}

.currency-input > span {
    padding: .55rem .55rem .55rem .65rem;
    color: #5f6770;
    background: #f6f8fa;
    border-right: 1px solid #d7dde3;
}

.currency-input input {
    width: 100%;
    min-width: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.currency-input:focus-within {
    border-color: #355f82;
    box-shadow: 0 0 0 2px rgba(53,95,130,.14);
}

.life-fee-form .form-actions {
    margin-top: .9rem;
}

@media (max-width: 860px) {
    .life-fee-grid {
        grid-template-columns: repeat(2, minmax(10rem, 1fr));
    }
}

@media (max-width: 600px) {
    .life-fee-grid {
        grid-template-columns: 1fr;
    }

    .life-fee-year-selector,
    .life-fee-year-selector select {
        min-width: 0;
        width: 100%;
    }
}

/* v1.8.95 Grand organization lifecycle management */
.grand-lifecycle-section {
    padding-top: .15rem;
}

.grand-lifecycle-summary {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem 2rem;
    margin-bottom: .8rem;
}

.grand-lifecycle-summary > div {
    display: grid;
    gap: .1rem;
    min-width: 12rem;
}

.grand-lifecycle-summary span {
    color: #4f5c68;
}

.grand-lifecycle-actions {
    margin-top: .85rem;
    padding-top: .8rem;
    border-top: 1px solid #e3e7eb;
}

.grand-lifecycle-actions h3 {
    margin: 0 0 .25rem;
    font-size: 1rem;
}

.grand-lifecycle-actions > .muted {
    margin: 0 0 .45rem;
}

.grand-lifecycle-action + .grand-lifecycle-action {
    margin-top: .3rem;
}

.grand-lifecycle-action[open] {
    margin-top: .45rem;
    padding: .65rem;
    border: 1px solid #d9dee5;
    border-radius: .4rem;
    background: #f8fafc;
}

.grand-lifecycle-action-danger > summary {
    color: #7a2f2f;
}

.grand-lifecycle-action-body {
    margin-top: .45rem;
}

.grand-lifecycle-form {
    margin-top: .45rem;
}

.grand-lifecycle-history {
    margin-top: .9rem;
    padding-top: .75rem;
    border-top: 1px solid #e3e7eb;
}

.grand-lifecycle-history > summary {
    cursor: pointer;
    color: #355f82;
    font-weight: 650;
}

.grand-lifecycle-history-list {
    display: grid;
    gap: .65rem;
    margin-top: .65rem;
}

.grand-lifecycle-history-item {
    padding: .6rem .7rem;
    border: 1px solid #e2e6ea;
    border-radius: .35rem;
    background: #fbfcfd;
}

.grand-lifecycle-history-item > span {
    display: block;
    margin-top: .1rem;
    color: #5a6570;
    font-size: .86rem;
}

.grand-lifecycle-history-item p {
    margin: .35rem 0 0;
}

@media (max-width: 640px) {
    .grand-lifecycle-summary {
        display: grid;
        grid-template-columns: 1fr;
    }
}


/* v1.9.346 — compact Grand Charter review heading and section spacing. */
.grand-charter-review-heading {
    margin-bottom: .85rem;
}
.grand-charter-review-heading h1 {
    margin-bottom: .15rem;
}
.grand-charter-review-heading .grand-formation-department-heading {
    margin: 0;
}
.grand-charter-review-heading .muted {
    margin: .4rem 0 0;
    max-width: 72rem;
}
.grand-charter-review-stack {
    display: grid;
    gap: 1rem;
    max-width: 72rem;
}
.grand-charter-review-stack > .card {
    margin: 0;
}

/* v1.8.96 Grand Defunct review-and-confirm safety step */
.grand-defunct-review-card {
    max-width: 72rem;
}
.grand-defunct-review-notice {
    max-width: 72rem;
}
.grand-defunct-review-summary div {
    grid-template-columns: 11rem minmax(0, 1fr);
}
.grand-defunct-review-impact {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin: 1rem 0 1.5rem;
}
.grand-defunct-review-impact-block {
    display: grid;
    gap: .25rem;
    padding: 1rem;
    border: 1px solid #d6a63d;
    border-radius: .4rem;
    background: #fffaf0;
}
.grand-defunct-review-impact-block strong {
    font-size: 1.75rem;
    line-height: 1;
}
.grand-defunct-review-impact-block span {
    font-weight: 700;
}
.grand-defunct-review-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}
.grand-defunct-review-columns h3 {
    margin-top: 0;
}
.grand-defunct-review-list {
    margin: 0;
    padding-left: 1.25rem;
}
.grand-defunct-review-list li + li {
    margin-top: .45rem;
}
.grand-defunct-final-confirmation {
    border-color: #c88484;
}
.grand-defunct-confirm-checkbox {
    margin: 1.25rem 0;
}
@media (max-width: 720px) {
    .grand-defunct-review-impact,
    .grand-defunct-review-columns {
        grid-template-columns: 1fr;
    }
    .grand-defunct-review-summary div {
        grid-template-columns: 1fr;
        gap: .25rem;
    }
}


/* v1.9.05 transmittal sender-payment layout
 * Keep structured payment details readable and give free-form notes their own row.
 * The submit/cancel actions align below the fields instead of competing with them
 * for horizontal space.
 */
.transmittal-sender-payment-form {
    grid-template-columns: minmax(11rem, 13rem) minmax(18rem, 1fr);
    gap: .75rem 1rem;
    align-items: end;
    width: 100%;
    max-width: 46rem;
}
.transmittal-sender-payment-form > label,
.transmittal-sender-payment-form select,
.transmittal-sender-payment-form input,
.transmittal-sender-payment-form textarea {
    min-width: 0;
}
.transmittal-sender-payment-form .payment-notes-field {
    grid-column: 1 / -1;
}
.transmittal-sender-payment-form .payment-notes-field textarea {
    width: 100%;
    min-height: 4.5rem;
    resize: vertical;
}
.transmittal-sender-payment-form .transmittal-submit-button {
    grid-column: 1 / -1;
    justify-self: start;
}
.embedded-transmittal-actions.sender-payment-actions {
    display: grid;
    grid-template-columns: minmax(0, 46rem) auto;
    align-items: end;
    gap: .85rem 1rem;
}
.embedded-transmittal-actions.sender-payment-actions .transmittal-sender-payment-form {
    display: grid;
    max-width: none;
    min-width: 0;
}
.embedded-transmittal-actions.sender-payment-actions > p {
    grid-column: 1 / -1;
}
.embedded-transmittal-actions.sender-payment-actions > form:not(.transmittal-sender-payment-form) {
    margin: 0;
    align-self: end;
}
@media (max-width: 780px) {
    .embedded-transmittal-actions.sender-payment-actions {
        grid-template-columns: 1fr;
    }
    .transmittal-sender-payment-form {
        grid-template-columns: 1fr;
        max-width: none;
    }
    .transmittal-sender-payment-form .payment-notes-field,
    .transmittal-sender-payment-form .transmittal-submit-button {
        grid-column: 1;
    }
    .embedded-transmittal-actions.sender-payment-actions > form:not(.transmittal-sender-payment-form),
    .embedded-transmittal-actions.sender-payment-actions > form:not(.transmittal-sender-payment-form) button,
    .transmittal-sender-payment-form .transmittal-submit-button {
        width: 100%;
    }
}

/* v1.9.06 — Pup Tent formation workflow */
.formation-heading-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}
.formation-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin:1.25rem 0}
.formation-step{display:flex;align-items:center;gap:.5rem;padding:.65rem .75rem;border:1px solid #d8dde2;border-radius:.4rem;background:#f8f9fa;color:#5f6770;font-size:.9rem;font-weight:600}
.formation-step.current{border-color:#315f86;background:#edf4fa;color:#153b5b}
.formation-step.complete{background:#eff8f1;border-color:#b8d8bf;color:#245332}
.formation-step-number{display:inline-flex;width:1.55rem;height:1.55rem;align-items:center;justify-content:center;border-radius:999px;background:#e1e6eb;font-size:.78rem;flex:0 0 auto}
.formation-step.current .formation-step-number{background:#315f86;color:#fff}
.formation-step.complete .formation-step-number{background:#39734b;color:#fff}
.formation-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:1rem}
.formation-summary-grid>div{border:1px solid #d8dde2;border-radius:.4rem;padding:.8rem;background:#fff;min-width:0}
.summary-kicker{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#6b737c;margin-bottom:.2rem}
.formation-summary-grid strong{display:block;overflow-wrap:anywhere}
.formation-summary-list{margin-top:.5rem}
.formation-add-applicant{margin-top:1.25rem;border-top:1px solid #d8dde2;padding-top:1rem}
.formation-add-applicant>summary{cursor:pointer;font-weight:700;margin-bottom:1rem}
/* v1.9.76 — Formation panels use normal card/section borders; no decorative vertical blue accents. */
/* v1.9.53 — keep compact formation action buttons aligned with their input controls.
 * Global labels include a 1rem bottom margin; inside this bottom-aligned grid that
 * margin otherwise makes the adjacent action appear one line too low.
 */
.compact-form-grid{grid-template-columns:minmax(14rem,22rem) auto;align-items:end}
.compact-form-grid>label{margin-bottom:0}
.form-action-bottom{align-self:end;margin-bottom:.05rem}
.danger-link{color:#8b1e1e}
@media (max-width:900px){.formation-steps{grid-template-columns:1fr}.formation-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.formation-heading-actions{justify-content:flex-start;margin-top:.6rem}.formation-summary-grid,.compact-form-grid{grid-template-columns:1fr}}

/* v1.9.06 Pup Tent formation cancellation */
.formation-cancel-body {
    margin-top: 1rem;
}

/* v1.9.10 — Pup Tent formation workspaces and compact applicant confirmations */
.formation-workspace-pills {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin-top: 1rem;
}
.formation-workspace-primary {
    flex: 1 1 auto;
}
.formation-process-help {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    flex: 0 0 auto;
    margin-left: .25rem;
    padding: .38rem .6rem .38rem .45rem;
    border-left: 1px solid #c9d2dc;
    color: #4f6274;
    font-size: .88rem;
    font-weight: 700;
}
.formation-process-help:hover {
    color: #244f75;
}
.formation-process-help.is-active {
    color: #153b5b;
}
.formation-process-help-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.45rem;
    height: 1.45rem;
    border: 1px solid #9eabb8;
    border-radius: 50%;
    background: #f4f7fa;
    color: #42586b;
    font-size: .82rem;
    line-height: 1;
}
.formation-process-help.is-active .formation-process-help-mark {
    border-color: #315f86;
    background: #edf4fa;
    color: #153b5b;
}
@media (max-width: 760px) {
    .formation-workspace-pills {
        align-items: flex-start;
        flex-direction: column;
    }
    .formation-process-help {
        margin-left: 0;
        padding-left: 0;
        border-left: 0;
    }
}
.formation-workspace-panel[hidden] {
    display: none;
}
.formation-processing-overview {
    padding-bottom: .85rem;
}
.formation-applicant-form {
    gap: .75rem 1rem;
}
.formation-applicant-confirmations {
    margin: 0;
    padding: .7rem;
    border: 1px solid #d8dde2;
    border-radius: .4rem;
    background: #f8fafc;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
}
.formation-applicant-confirmations legend {
    padding: 0 .35rem;
    font-weight: 700;
    color: #263a4c;
}
.form-grid .formation-applicant-confirmations label {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: .5rem;
    min-width: 0;
    margin: 0;
    padding: .55rem .65rem;
    border: 1px solid #dfe4e9;
    border-radius: .35rem;
    background: #fff;
    line-height: 1.35;
}
.form-grid .formation-applicant-confirmations input[type="checkbox"] {
    width: auto;
    flex: 0 0 auto;
    margin: .12rem 0 0;
    padding: 0;
}
.formation-applicant-actions {
    margin-top: -.1rem;
}
@media (max-width: 900px) {
    .formation-applicant-confirmations {
        grid-template-columns: 1fr;
    }
}


/* v1.9.11 — Charter applicant detail and edit workspace */
.formation-applicant-row-actions {
    display: flex;
    align-items: center;
    gap: .4rem;
    flex-wrap: wrap;
}
.formation-applicant-selected-row {
    background: #f1f6fa;
}
.formation-applicant-detail {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid #cfd9e2;
    border-radius: .45rem;
    background: #fbfcfd;
}
.formation-applicant-detail .page-heading {
    margin-bottom: .85rem;
}
.formation-applicant-detail .page-heading h3 {
    margin-bottom: .15rem;
}
.formation-applicant-detail-list {
    margin-bottom: 0;
}
@media (max-width: 700px) {
    .formation-applicant-row-actions {
        align-items: stretch;
        flex-direction: column;
    }
    .formation-applicant-row-actions .title-action {
        text-align: center;
    }
}

/* v1.9.15 — formation applicant type-first workflow */
.formation-applicant-type-picker {
    margin: 0;
    padding: .75rem;
    border: 1px solid #d8dde2;
    border-radius: .4rem;
    background: #f8fafc;
    display: flex;
    flex-wrap: wrap;
    gap: .65rem 1rem;
}
.formation-applicant-type-picker legend {
    padding: 0 .35rem;
    font-weight: 700;
    color: #263a4c;
}
.formation-applicant-type-picker .muted {
    flex: 0 0 100%;
    margin: 0 0 .15rem;
}
.form-grid .formation-applicant-type-picker .radio-line {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: .45rem;
    margin: 0;
    padding: .55rem .75rem;
    border: 1px solid #dfe4e9;
    border-radius: .35rem;
    background: #fff;
    cursor: pointer;
}
.form-grid .formation-applicant-type-picker input[type="radio"] {
    width: auto;
    margin: 0;
    padding: 0;
}
.formation-applicant-fields[hidden],
.formation-applicant-form [data-new-applicant-only][hidden],
.formation-applicant-form [data-new-applicant-fields][hidden],
.formation-applicant-form [data-existing-applicant-help][hidden],
.formation-applicant-form [data-applicant-actions][hidden] {
    display: none;
}
.formation-existing-member-match {
    margin-bottom: .85rem;
}

/* v1.9.18 — Pup Tent formation eligibility and next-step guidance */
.formation-eligibility-summary {
    flex: 0 0 auto;
    min-width: 11.5rem;
    padding: .55rem .75rem;
    border: 1px solid #d8dde2;
    border-radius: .45rem;
    background: #f8fafc;
    text-align: right;
}
.formation-eligibility-summary > span {
    display: block;
    color: #5f6770;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.formation-eligibility-summary > strong {
    display: block;
    margin-top: .05rem;
    color: #263a4c;
    font-size: 1.25rem;
    line-height: 1.15;
}
.formation-eligibility-summary > small {
    display: block;
    margin-top: .15rem;
    color: #5f6770;
    font-size: .78rem;
    font-weight: 600;
    white-space: nowrap;
}
.formation-eligibility-summary.is-met {
    border-color: #b8d8bf;
    background: #eff8f1;
}
.formation-eligibility-summary.is-met > strong,
.formation-eligibility-summary.is-met > small {
    color: #245332;
}
.formation-next-guidance,
.formation-current-next-step {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: .9rem 0 1rem;
    padding: .8rem .9rem;
    border: 1px solid #c9d9e7;
    border-radius: .4rem;
    background: #f4f8fc;
}
.formation-current-next-step {
    margin-bottom: 0;
}
.formation-next-guidance > div,
.formation-current-next-step > div {
    display: grid;
    gap: .2rem;
    min-width: 0;
}
.formation-next-guidance strong,
.formation-current-next-step strong {
    color: #263a4c;
}
.formation-next-guidance span,
.formation-current-next-step span {
    color: #4f5f6e;
    line-height: 1.4;
}
.formation-next-guidance.is-ready,
.formation-current-next-step.is-ready {
    border-color: #b8d8bf;
    background: #eff8f1;
}
.formation-next-guidance.is-ready strong,
.formation-current-next-step.is-ready strong {
    color: #245332;
}
.formation-next-guidance .button-secondary,
.formation-current-next-step .button-secondary {
    flex: 0 0 auto;
    white-space: nowrap;
}
@media (max-width: 700px) {
    .formation-eligibility-summary {
        width: 100%;
        margin-top: .7rem;
        text-align: left;
    }
    .formation-eligibility-summary > small {
        white-space: normal;
    }
    .formation-next-guidance,
    .formation-current-next-step {
        align-items: stretch;
        flex-direction: column;
    }
    .formation-next-guidance .button-secondary,
    .formation-current-next-step .button-secondary {
        width: 100%;
        text-align: center;
        white-space: normal;
    }
}


/* v1.9.19 — Pup Tent formation lifecycle guidance */
.formation-roster-open-note,
.formation-process-rule {
    padding: .8rem .9rem;
    border: 1px solid #c9d9e7;
    border-radius: .4rem;
    background: #f4f8fc;
    color: #3f5060;
    line-height: 1.45;
}
.formation-roster-open-note strong,
.formation-process-rule strong {
    color: #263a4c;
}
.formation-process-rule {
    display: grid;
    gap: .25rem;
    margin: .9rem 0 1.15rem;
}
.formation-process-list {
    display: grid;
    gap: .7rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.formation-process-item {
    display: grid;
    grid-template-columns: 2.2rem minmax(0, 1fr);
    gap: .8rem;
    padding: .85rem .9rem;
    border: 1px solid #d8dde2;
    border-radius: .45rem;
    background: #fff;
}
.formation-process-item.is-complete {
    border-color: #b8d8bf;
    background: #eff8f1;
}
.formation-process-item.is-current {
    border-color: #315f86;
    box-shadow: inset 4px 0 0 #315f86;
    background: #edf4fa;
}
.formation-process-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: #edf1f5;
    color: #334a5f;
    font-weight: 800;
}
.formation-process-item.is-complete .formation-process-number {
    background: #39734b;
    color: #fff;
}
.formation-process-item.is-current .formation-process-number {
    background: #315f86;
    color: #fff;
}
.formation-process-item > div > strong {
    display: block;
    margin-bottom: .2rem;
    color: #263a4c;
    font-size: 1rem;
}
.formation-process-item p {
    margin: 0;
    color: #4f5f6e;
    line-height: 1.5;
}

/* v1.9.23 Pup Tent formation Officer Interest */
.formation-officer-interest-person{margin:.75rem 0;padding:.7rem .85rem;border:1px solid #d8dde2;border-radius:.4rem;background:#fff}
.formation-officer-interest-person>summary{cursor:pointer}
.checkbox-stack{display:grid;gap:.45rem}
.form-grid .checkbox-stack .checkbox-line{display:flex;flex-direction:row;align-items:center;gap:.5rem}
.form-grid .checkbox-stack .checkbox-line input[type="checkbox"]{flex:0 0 auto}

/* v1.9.25 — compact destructive action treatment for formation applicants */
button.title-action.danger-link {
    background: #fff;
    color: #8a1f1f;
    border: 1px solid #8a1f1f;
    padding: .18rem .45rem;
}
button.title-action.danger-link:hover,
button.title-action.danger-link:focus-visible {
    background: #fff0f0;
    color: #721c24;
    border-color: #721c24;
}

/* v1.9.26 Pup Tent formation Officer Interest layout */
.formation-officer-interest-person .checkbox-stack {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    margin-top: .75rem;
}
.form-grid .formation-officer-interest-person .checkbox-line,
.formation-officer-interest-person .form-grid .checkbox-line {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: .55rem;
    min-width: 0;
    margin: 0;
    padding: .6rem .7rem;
    border: 1px solid #dfe4e9;
    border-radius: .35rem;
    background: #f8fafc;
    line-height: 1.3;
    cursor: pointer;
}
.form-grid .formation-officer-interest-person .checkbox-line input[type="checkbox"],
.formation-officer-interest-person .form-grid .checkbox-line input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    min-height: 0;
    flex: 0 0 1rem;
    margin: 0;
    padding: 0;
}
.formation-officer-interest-person .form-actions {
    margin-top: .75rem;
}
@media (max-width: 760px) {
    .formation-officer-interest-person .checkbox-stack {
        grid-template-columns: 1fr;
    }
}


/* v1.9.31 Pup Tent formation Officer Interest counts */
.formation-officer-interest-person .checkbox-line .formation-interest-office-name {
    min-width: 0;
    font-weight: 600;
}
.formation-officer-interest-person .formation-interest-count {
    margin-left: auto;
    padding: .16rem .42rem;
    border-radius: 999px;
    background: #edf2f6;
    color: #435565;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.25;
    white-space: nowrap;
}
.formation-officer-interest-person .formation-interest-count.is-empty {
    background: #fff4d8;
    color: #7a4b00;
    border: 1px solid #e4bd69;
}
@media (max-width: 520px) {
    .formation-officer-interest-person .checkbox-line {
        flex-wrap: wrap;
    }
    .formation-officer-interest-person .formation-interest-count {
        margin-left: 1.55rem;
    }
}

/* v1.9.32 — annual Officer Interest planning for established Pup Tents */
.officer-interest-workspace{display:grid;gap:1rem}
.officer-interest-settings-card,.officer-interest-summary-card,.officer-interest-editor-card{border:1px solid #d9e0e6;border-radius:.45rem;background:#fff;padding:1rem}
.officer-interest-settings-card h3,.officer-interest-summary-card h3,.officer-interest-editor-card h3{margin:.05rem 0 .25rem}
.officer-interest-mode-form{margin-top:.75rem}
.officer-interest-mode-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
.officer-interest-mode-option{display:flex;align-items:flex-start;gap:.6rem;padding:.75rem;border:1px solid #d9e0e6;border-radius:.4rem;background:#f8fafc;cursor:pointer}
.officer-interest-mode-option.is-selected{border-color:#315f86;background:#f0f6fb}
.officer-interest-mode-option input[type="radio"]{width:1rem;height:1rem;min-height:0;flex:0 0 1rem;margin:.18rem 0 0;padding:0}
.officer-interest-mode-option span{display:grid;gap:.18rem}
.officer-interest-mode-option small{color:#5b6875;line-height:1.4;font-weight:400}
.officer-interest-delegate-form,.officer-interest-member-picker{display:flex;align-items:flex-end;gap:.65rem;flex-wrap:wrap;margin-top:.75rem}
.officer-interest-delegate-form label,.officer-interest-member-picker label{min-width:min(28rem,100%);flex:1 1 22rem;margin:0}
.officer-interest-delegate-form label>span,.officer-interest-member-picker label>span{display:block;margin-bottom:.25rem;font-weight:700}
.officer-interest-readiness-warning{display:grid;gap:.35rem}
.officer-interest-readiness-warning>strong{font-size:1rem}
.officer-interest-readiness-warning span,.officer-interest-readiness-warning small{display:block}
.officer-interest-readiness-warning small{margin-top:.15rem;color:#69572b}
.officer-interest-count{display:inline-block;padding:.16rem .42rem;border-radius:999px;background:#edf2f6;color:#435565;font-size:.78rem;font-weight:700;line-height:1.25;white-space:nowrap}
.officer-interest-count.is-empty{background:#fff4d8;color:#7a4b00;border:1px solid #e4bd69}
.officer-interest-optional-summary,.officer-interest-optional-editor{margin-top:.85rem;padding:.7rem .8rem;border:1px solid #dfe4e9;border-radius:.4rem;background:#fafbfc}
.officer-interest-optional-summary>summary,.officer-interest-optional-editor>summary{cursor:pointer}
.officer-interest-position-group{margin-top:.85rem}
.officer-interest-position-group h4{margin:0 0 .2rem}
.officer-interest-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.6rem}
.officer-interest-choice{display:flex;align-items:center;gap:.55rem;min-width:0;margin:0;padding:.6rem .7rem;border:1px solid #dfe4e9;border-radius:.35rem;background:#f8fafc;line-height:1.3;cursor:pointer}
.officer-interest-choice input[type="checkbox"]{width:1rem;height:1rem;min-height:0;flex:0 0 1rem;margin:0;padding:0}
.officer-interest-office-name{min-width:0;font-weight:600}
.officer-interest-choice .officer-interest-count{margin-left:auto}
.officer-interest-selection-form .form-actions{margin-top:.85rem}
@media (max-width:860px){.officer-interest-mode-options{grid-template-columns:1fr}.officer-interest-choice-grid{grid-template-columns:1fr}}
@media (max-width:520px){.officer-interest-choice{flex-wrap:wrap}.officer-interest-choice .officer-interest-count{margin-left:1.55rem}}

/* v1.9.35 — Pup Tent formation navigation and institution workflow refinements */
.formation-name-status {
    display: inline-block;
    margin-top: .15rem;
    font-weight: 650;
}
.formation-name-status.is-available { color: #2d623b; }
.formation-name-status.is-used { color: #8b1e1e; }
.formation-presence-button {
    padding: .38rem .65rem;
    line-height: 1.2;
    white-space: nowrap;
}
.institution-attendance {
    margin: 1.25rem 0 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid #d8dde2;
}
.institution-attendance .section-heading {
    margin-bottom: .65rem;
}
.institution-attendance .section-heading h3,
.institution-attendance .section-heading p {
    margin: 0;
}
.institution-record-form {
    margin-top: 1.25rem;
}

/* v1.9.45 embedded transmittal table spacing */
.embedded-transmittal .transmittal-table {
    min-width: 44rem;
}
.embedded-transmittal .transmittal-table th,
.embedded-transmittal .transmittal-table td {
    padding: .55rem .65rem;
}
.embedded-transmittal .transmittal-table th {
    white-space: normal;
    line-height: 1.2;
    vertical-align: bottom;
}
.embedded-transmittal .transmittal-table td {
    vertical-align: middle;
}
@media (min-width: 761px) {
    .embedded-transmittal .transmittal-table td {
        white-space: nowrap;
    }
    .embedded-transmittal .transmittal-table td:first-child {
        white-space: normal;
        min-width: 8.5rem;
    }
}
.embedded-transmittal .transmittal-table th:last-child,
.embedded-transmittal .transmittal-table td:last-child {
    width: 1%;
}
.embedded-transmittal .transmittal-table .inline-form {
    margin: 0;
}
.embedded-transmittal .transmittal-table .inline-form .button-secondary {
    min-height: 0;
    padding: .4rem .7rem;
    line-height: 1.2;
}

/* v1.9.289 — fit embedded membership transmittal detail on normal desktop widths */
.embedded-transmittal .transmittal-membership-detail-table {
    width: 100%;
    min-width: 56rem;
    table-layout: fixed;
}
.embedded-transmittal .transmittal-membership-detail-table th,
.embedded-transmittal .transmittal-membership-detail-table td {
    padding-left: .45rem;
    padding-right: .45rem;
}
.embedded-transmittal .transmittal-membership-detail-table td:first-child {
    min-width: 0;
}
.embedded-transmittal .transmittal-membership-detail-table td:nth-child(2) {
    white-space: normal;
}
.embedded-transmittal .transmittal-membership-detail-table .transmittal-col-member { width: 14%; }
.embedded-transmittal .transmittal-membership-detail-table .transmittal-col-activity { width: 11%; }
.embedded-transmittal .transmittal-membership-detail-table .transmittal-col-dues,
.embedded-transmittal .transmittal-membership-detail-table .transmittal-col-application { width: 8%; }
.embedded-transmittal .transmittal-membership-detail-table .transmittal-col-supreme-pct,
.embedded-transmittal .transmittal-membership-detail-table .transmittal-col-grand-pct,
.embedded-transmittal .transmittal-membership-detail-table .transmittal-col-life { width: 7%; }
.embedded-transmittal .transmittal-membership-detail-table .transmittal-col-supreme-application,
.embedded-transmittal .transmittal-membership-detail-table .transmittal-col-grand-application { width: 9%; }
.embedded-transmittal .transmittal-membership-detail-table .transmittal-col-forward,
.embedded-transmittal .transmittal-membership-detail-table .transmittal-col-action { width: 10%; }

/* v1.9.46 — Open Charter Application Fee collection */
.compact-inline-payment-form {
    display: flex;
    align-items: center;
    gap: .4rem;
    flex-wrap: wrap;
    min-width: 13rem;
}
.compact-inline-payment-form input[type="date"] {
    width: auto;
    min-width: 8.75rem;
    padding: .38rem .45rem;
}
.compact-inline-payment-form .button-secondary {
    padding: .38rem .55rem;
    line-height: 1.2;
    white-space: nowrap;
}

/* v1.9.49 — compact instituted/open-Charter formation summary */
.formation-open-charter-card {
    padding-top: 1rem;
}
.formation-open-charter-heading {
    align-items: center;
    margin-bottom: .8rem;
}
.formation-open-charter-heading h2 {
    margin-bottom: .2rem;
}
.formation-open-charter-dates {
    margin: 0;
}
.formation-open-charter-dates span {
    display: inline-block;
    margin: 0 .4rem;
}
.formation-open-charter-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
    margin: 0 0 .65rem;
}
.formation-open-charter-metrics > div {
    min-width: 0;
    padding: .55rem .7rem;
    border: 1px solid #d8dde2;
    border-radius: .4rem;
    background: #f8f9fa;
}
.formation-open-charter-metrics dt {
    margin: 0 0 .1rem;
    color: #5f6770;
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.2;
}
.formation-open-charter-metrics dd {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.15;
}
.formation-open-charter-note {
    margin: 0;
    line-height: 1.4;
}
@media (max-width: 850px) {
    .formation-open-charter-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 520px) {
    .formation-open-charter-heading {
        align-items: flex-start;
    }
    .formation-open-charter-metrics {
        grid-template-columns: 1fr;
    }
}

/* v1.9.54 — formation history lives inside the established Pup Tent tab. */
.formation-tab-panel > .card:first-child {
    margin-top: 0;
}


/* v1.9.56 — formation member links and transmittal fee clarity */
.formation-applicant-detail-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .75rem;
    flex-wrap: wrap;
}
.transmittal-table thead tr:first-child th[colspan] {
    text-align: center;
}
@media (max-width: 700px) {
    .formation-applicant-detail-actions {
        justify-content: flex-start;
        margin-top: .5rem;
    }
}


/* v1.9.57 — clearer transmittal financial grouping */
.embedded-transmittal .transmittal-table .transmittal-financial-group {
    padding-top: .45rem;
    padding-bottom: .45rem;
    border-bottom: 2px solid #9eacba;
    font-size: .9rem;
    letter-spacing: .01em;
}
.embedded-transmittal .transmittal-table .transmittal-financial-group-collected {
    background: #f5f7f9;
    border-left: 1px solid #d5dde5;
}
.embedded-transmittal .transmittal-table .transmittal-financial-group-forward {
    background: #eef4f8;
    border-left: 2px solid #9eacba;
    border-right: 1px solid #d5dde5;
}
.embedded-transmittal .transmittal-table .transmittal-forward-start {
    border-left: 2px solid #9eacba;
}

/* v1.9.64 — keep Institution confirmation checkboxes beside their labels */
.form-grid.institution-record-form > .checkbox-line {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: .65rem;
    margin: 0;
    line-height: 1.4;
}
.form-grid.institution-record-form > .checkbox-line input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    min-height: 0;
    flex: 0 0 1rem;
    margin: .18rem 0 0;
    padding: 0;
}

/* v1.9.65 — compact open-Charter status and selective Charter payment batch */
.organization-open-charter-strip {
    display: flex;
    align-items: center;
    gap: .8rem 1rem;
    flex-wrap: wrap;
    margin: .7rem 0 1rem;
    padding: .7rem .85rem;
    border: 1px solid #bdd5c4;
    border-left: 4px solid #2f7d50;
    border-radius: .45rem;
    background: #f4faf6;
}
.organization-open-charter-summary {
    display: flex;
    flex: 1 1 34rem;
    min-width: 0;
    gap: .25rem .8rem;
    flex-wrap: wrap;
    align-items: baseline;
}
.organization-open-charter-summary > strong {
    white-space: nowrap;
}
.organization-open-charter-summary > span {
    color: #46515c;
}
.organization-open-charter-setup {
    flex: 1 1 100%;
    padding-top: .5rem;
    border-top: 1px solid #d6e5da;
}
.organization-open-charter-actions {
    display: flex;
    gap: .45rem;
    flex-wrap: wrap;
    margin-left: auto;
}
.formation-charter-fee-setup {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex-wrap: wrap;
    margin-bottom: .7rem;
}
.charter-payment-choice {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin: 0;
    font-weight: 600;
    white-space: nowrap;
}
.charter-payment-choice input[type="checkbox"] {
    width: auto;
    min-width: 1rem;
    margin: 0;
}
.charter-payment-prerequisite {
    margin-top: .2rem;
    font-size: .78rem;
}
.charter-payment-batch {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) auto minmax(11rem, auto) auto;
    gap: .65rem 1rem;
    align-items: end;
    margin-top: .8rem;
    padding: .8rem;
    border: 1px solid #d8dde2;
    border-radius: .45rem;
    background: #f8f9fa;
}
.charter-payment-batch h3,
.charter-payment-batch p {
    margin-top: 0;
    margin-bottom: .2rem;
}
.charter-payment-batch label {
    margin: 0;
}
.charter-payment-batch input[type="date"] {
    width: auto;
    min-width: 9rem;
}
.charter-payment-shortcuts {
    display: flex;
    gap: .4rem;
    flex-wrap: wrap;
}
.charter-payment-shortcuts .button-secondary {
    padding: .42rem .6rem;
}
@media (max-width: 900px) {
    .charter-payment-batch {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 600px) {
    .organization-open-charter-summary {
        display: block;
    }
    .organization-open-charter-summary > strong,
    .organization-open-charter-summary > span {
        display: block;
    }
    .organization-open-charter-actions {
        margin-left: 0;
    }
    .charter-payment-batch {
        grid-template-columns: 1fr;
    }
}

/* v1.9.69 — keep Formation abandonment/cancellation controls aligned with established form styling. */
.formation-cancel-panel > summary {
    cursor: pointer;
}
.form-grid .formation-cancel-confirmation {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: .65rem;
    margin: 0;
    line-height: 1.4;
}
.form-grid .formation-cancel-confirmation input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    min-height: 0;
    flex: 0 0 1rem;
    margin: .18rem 0 0;
    padding: 0;
}

/* v1.9.74 — keep Formation confirmation checkboxes inline with their text. */
.form-grid .formation-inline-confirmation {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: .65rem;
    margin: 0;
    line-height: 1.4;
}
.form-grid .formation-inline-confirmation input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    min-height: 0;
    flex: 0 0 1rem;
    margin: .18rem 0 0;
    padding: 0;
}

/* v1.9.87 temporary Formation Coordinator action alignment */
.temporary-officer-assignment-section .temporary-assignment-action-cell {
    width: 1%;
    white-space: nowrap;
    vertical-align: middle;
    text-align: right;
}
.temporary-officer-assignment-section .temporary-assignment-remove-form {
    display: inline-flex;
    align-items: center;
    margin: 0;
}
.temporary-officer-assignment-section .temporary-assignment-remove-button {
    padding: .4rem .7rem;
    line-height: 1.25;
}

/* v1.9.89 — standard form-grid checkboxes stay beside their label text.
 * `.form-grid label` intentionally stacks normal field labels above inputs, but
 * checkbox labels are a different control pattern and must remain horizontal.
 * This shared rule prevents confirmation/option checkboxes from appearing on a
 * separate line above their explanatory text throughout the application.
 */
.form-grid .checkbox-label {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: .55rem;
    margin: 0;
    line-height: 1.4;
}
.form-grid .checkbox-label input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    min-width: 1rem;
    min-height: 0;
    flex: 0 0 1rem;
    margin: .18rem 0 0;
    padding: 0;
}


/* v1.9.103 — compact Trustee account invitation + relief actions. */
.trustee-action-cell {
    width: 1%;
    white-space: nowrap;
    vertical-align: middle;
}
.trustee-action-group {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .6rem;
}
.trustee-action-group .inline-form {
    margin: 0;
}
.trustee-invite-button {
    padding: .4rem .7rem;
    line-height: 1.25;
}

/* v1.9.111 — Permanent Grand formation review: grouped, readable review fields. */
.grand-formation-review-note {
    margin: -.2rem 0 1rem;
}
.grand-formation-review-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.grand-formation-review-section {
    min-width: 0;
    padding: 1rem;
    border: 1px solid #d9dee5;
    border-radius: .45rem;
    background: #fbfcfd;
}
.grand-formation-review-section-wide {
    grid-column: 1 / -1;
}
.grand-formation-review-section h2 {
    margin: 0 0 .8rem;
    padding-bottom: .45rem;
    border-bottom: 1px solid #e3e7eb;
    font-size: 1rem;
}
.grand-formation-review-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem 1.25rem;
}
.grand-formation-review-payment-fields {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem 1.25rem;
}
.grand-formation-review-field {
    min-width: 0;
}
.grand-formation-review-field > span {
    display: block;
    margin-bottom: .15rem;
    color: #5f6874;
    font-size: .84rem;
}
.grand-formation-review-field > strong,
.grand-formation-review-field > div {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}
.grand-formation-review-field > strong small {
    color: #5f6874;
    font-size: .78rem;
    font-weight: 500;
}
.grand-formation-review-field-wide,
.grand-formation-review-field-notes {
    grid-column: 1 / -1;
}
@media (max-width: 900px) {
    .grand-formation-review-payment-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 700px) {
    .grand-formation-review-layout,
    .grand-formation-review-fields,
    .grand-formation-review-payment-fields {
        grid-template-columns: 1fr;
    }
    .grand-formation-review-section-wide,
    .grand-formation-review-field-wide,
    .grand-formation-review-field-notes {
        grid-column: auto;
    }
}

/* v1.9.132 — compact Supreme Submission proposed-name editor */
.formation-submission-names-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem 1rem;
    align-items: start;
    margin-top: .65rem;
}
.formation-submission-names-form > label {
    margin: 0;
}
.formation-submission-names-heading {
    margin: 0 0 .15rem;
}
.formation-submission-names-heading h3 {
    margin: 0 0 .25rem;
}
.formation-submission-names-heading p {
    margin: 0;
}
.formation-submission-names-form > .form-actions {
    margin-top: .1rem;
}
@media (max-width: 960px) {
    .formation-submission-names-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 700px) {
    .formation-submission-names-form {
        grid-template-columns: 1fr;
    }
}


/* v1.9.133 — completed Formation pills and tighter Formation workspace spacing */
.status-badge.is-complete {
    border: 1px solid #b8d8bf;
    background: #eff8f1;
    color: #245332;
}
.formation-workspace-pills .member-filter-button.is-complete:not(.is-active) {
    border-color: #9dc4a8;
    background: #edf7f0;
    color: #245332;
}
.formation-workspace-pills .member-filter-button.is-complete:not(.is-active):hover {
    background: #e3f2e7;
}
.formation-workspace-pills .member-filter-button.is-complete:not(.is-active) span {
    background: rgb(36 83 50 / 12%);
}
.formation-header-card {
    margin-bottom: 1rem;
}
.formation-header-card .formation-steps {
    margin: .9rem 0 .75rem;
}
.formation-header-card .formation-step {
    padding: .55rem .7rem;
}
.formation-header-card .formation-summary-grid {
    margin-top: .75rem;
}
.formation-header-card .formation-summary-grid > div {
    padding: .65rem .75rem;
}
.formation-header-card .formation-workspace-pills {
    margin-top: .75rem;
}
.formation-workspace-panel > .card {
    margin-top: 1rem;
}
.formation-submission-card .page-heading h2 {
    margin-bottom: .35rem;
}
.formation-submission-card .page-heading p {
    margin: 0;
}
.formation-submission-card .formation-submission-divider {
    margin: 1.25rem 0;
}
.formation-submission-readiness-heading {
    margin: 0 0 .55rem;
}
.formation-submission-readiness {
    gap: .55rem;
    margin: 0;
}
.formation-submission-submit-form {
    gap: .75rem 1rem;
    margin-top: .9rem;
}
.formation-submission-submit-form > label {
    margin: 0;
}
.formation-submission-submit-heading {
    display: grid;
    gap: .25rem;
}
.formation-submission-submit-heading h3,
.formation-submission-submit-heading p {
    margin: 0;
}
.formation-submission-submit-form > .form-actions {
    margin-top: .1rem;
}

/* v1.9.134 — make Formation Officer Interest saves visible and unsaved work obvious */
.formation-officer-interest-person > summary {
    display: flex;
    align-items: center;
    gap: .25rem;
    flex-wrap: wrap;
}
.formation-interest-unsaved {
    margin-left: auto;
    padding: .16rem .48rem;
    border: 1px solid #e4bd69;
    border-radius: 999px;
    background: #fff4d8;
    color: #7a4b00;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.25;
}
.formation-officer-interest-person.has-unsaved-interest > summary {
    color: #6b4400;
}
.formation-interest-save-bar {
    position: sticky;
    top: .5rem;
    z-index: 8;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .75rem;
    margin: .65rem 0 .15rem;
    padding: .55rem .65rem;
    border: 1px solid #d9e0e6;
    border-radius: .4rem;
    background: rgba(255,255,255,.97);
    box-shadow: 0 2px 8px rgba(34,57,78,.08);
}
.formation-interest-save-message {
    margin-right: auto;
    color: #66737f;
    font-size: .88rem;
    font-weight: 600;
}
.formation-interest-save-message.is-unsaved {
    color: #7a4b00;
    font-weight: 700;
}
@media (max-width: 600px) {
    .formation-interest-save-bar {
        top: .25rem;
    }
    .formation-interest-unsaved {
        margin-left: 0;
    }
}

/* v1.9.135 — Formation page-set tabs and Officer Interest sub-workspaces */
.formation-page-tabs-wrap {
    display: flex;
    align-items: flex-end;
    gap: .65rem;
    margin-top: .75rem;
}
.formation-page-tabs {
    flex: 1 1 auto;
    min-width: 0;
    border-bottom: 1px solid #b8c2cc;
}
.formation-page-tabs .tab-button {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    text-decoration: none;
}
.formation-tab-count {
    display: inline-flex;
    min-width: 1.5rem;
    height: 1.5rem;
    align-items: center;
    justify-content: center;
    padding: 0 .38rem;
    border-radius: 999px;
    background: #e5e9ed;
    color: #4f5e6c;
    font-size: .78rem;
    font-variant-numeric: tabular-nums;
    line-height: 1;
}
.formation-page-tabs .tab-button.is-active .formation-tab-count {
    background: #edf0f3;
    color: #394956;
}
.formation-page-tabs-wrap .formation-process-help {
    margin: 0 0 .35rem;
}
.formation-officer-interest-pills {
    margin: .75rem 0 .9rem;
}
.formation-officer-interest-subpanel[hidden] {
    display: none;
}
.formation-officer-interest-subpanel > .formation-summary-grid:first-child {
    margin-top: 0;
}
.formation-officer-interest-subpanel > h3:first-child {
    margin-top: .25rem;
}
@media (max-width: 900px) {
    .formation-page-tabs-wrap {
        align-items: stretch;
        flex-direction: column;
    }
    .formation-page-tabs-wrap .formation-process-help {
        align-self: flex-start;
        margin: 0;
        padding-left: 0;
        border-left: 0;
    }
}

/* v1.9.136 — compact Formation tabs with completion progress */
.formation-page-tabs .tab-button {
    padding: .78rem .72rem;
    font-size: .92rem;
}
.formation-page-tabs .tab-button.is-complete:not(.is-active) {
    background: #edf8ef;
    color: #215c32;
    border-color: #b8d9c0;
}
.formation-page-tabs .tab-button.is-complete:not(.is-active):hover {
    background: #e5f4e8;
}
.formation-page-tabs .tab-button.is-complete.is-active {
    border-top: 3px solid #3b8451;
    padding-top: calc(.78rem - 2px);
}
.formation-page-tabs .tab-button.is-complete .formation-tab-count {
    background: #d9eedf;
    color: #215c32;
}
.formation-page-tabs .tab-button.is-complete.is-active .formation-tab-count {
    background: #e5e9ed;
    color: #4f5e6c;
}
@media (min-width: 901px) {
    .formation-page-tabs .tab-button {
        flex: 1 1 auto;
        justify-content: center;
        min-width: 0;
    }
}

/* v1.9.137 — make Formation page-set tabs actually fit at desktop widths */
@media (min-width: 901px) {
    .formation-page-tabs {
        display: flex;
        overflow-x: hidden;
    }
    .formation-page-tabs .tab-button {
        flex: 1 1 0;
        width: 0;
        min-width: 0;
        min-height: 3rem;
        justify-content: center;
        padding: .68rem .38rem;
        font-size: .87rem;
        line-height: 1.12;
        text-align: center;
        white-space: normal;
    }
    .formation-page-tabs .formation-tab-count {
        flex: 0 0 auto;
    }
    .formation-page-tabs-wrap {
        gap: .45rem;
    }
    .formation-page-tabs-wrap .formation-process-help {
        flex: 0 0 auto;
        gap: .3rem;
        font-size: .88rem;
        white-space: nowrap;
    }
}

/* v1.9.138 — keep the final Formation tab border fully visible */
@media (min-width: 901px) {
    .formation-page-tabs .tab-button {
        box-sizing: border-box;
        margin-right: 0;
        border-right-width: 0;
    }
    .formation-page-tabs .tab-button:last-child {
        border-right-width: 1px;
    }
}

/* v1.9.140 — make Officer Interest applicant rows clearly expandable */
.formation-officer-interest-person > summary {
    cursor: pointer;
}
.formation-officer-interest-person > summary::before {
    content: "\25B6";
    flex: 0 0 auto;
    margin-right: .18rem;
    color: #34495e;
    font-size: .78rem;
    line-height: 1;
}
.formation-officer-interest-person[open] > summary::before {
    content: "\25BC";
}

/* v1.9.145 — compact Pup Tent Organization Details editor */
.pup-tent-organization-edit-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: .7rem .85rem;
    align-items: start;
}
.pup-tent-organization-edit-grid > label {
    margin: 0;
    min-width: 0;
}
.pup-tent-organization-edit-grid .field-help {
    margin-top: -.05rem;
    line-height: 1.3;
}
.pup-tent-organization-edit-grid .org-field-code { grid-column: span 3; }
.pup-tent-organization-edit-grid .org-field-number { grid-column: span 2; }
.pup-tent-organization-edit-grid .org-field-name { grid-column: span 7; }
.pup-tent-organization-edit-grid .org-field-grand,
.pup-tent-organization-edit-grid .org-field-department,
.pup-tent-organization-edit-grid .org-field-post,
.pup-tent-organization-edit-grid .org-field-status,
.pup-tent-organization-edit-grid .org-field-status-date,
.pup-tent-organization-edit-grid .org-field-charter-date,
.pup-tent-organization-edit-grid .org-field-dues,
.pup-tent-organization-edit-grid .org-field-admission {
    grid-column: span 3;
}
.pup-tent-organization-edit-grid > .form-actions {
    margin-top: .15rem;
}
@media (max-width: 1000px) {
    .pup-tent-organization-edit-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
    .pup-tent-organization-edit-grid .org-field-code,
    .pup-tent-organization-edit-grid .org-field-number,
    .pup-tent-organization-edit-grid .org-field-name,
    .pup-tent-organization-edit-grid .org-field-grand,
    .pup-tent-organization-edit-grid .org-field-department,
    .pup-tent-organization-edit-grid .org-field-post,
    .pup-tent-organization-edit-grid .org-field-status,
    .pup-tent-organization-edit-grid .org-field-status-date,
    .pup-tent-organization-edit-grid .org-field-charter-date,
    .pup-tent-organization-edit-grid .org-field-dues,
    .pup-tent-organization-edit-grid .org-field-admission {
        grid-column: span 3;
    }
}
@media (max-width: 640px) {
    .pup-tent-organization-edit-grid {
        grid-template-columns: 1fr;
        gap: .25rem;
    }
    .pup-tent-organization-edit-grid .org-field-code,
    .pup-tent-organization-edit-grid .org-field-number,
    .pup-tent-organization-edit-grid .org-field-name,
    .pup-tent-organization-edit-grid .org-field-grand,
    .pup-tent-organization-edit-grid .org-field-department,
    .pup-tent-organization-edit-grid .org-field-post,
    .pup-tent-organization-edit-grid .org-field-status,
    .pup-tent-organization-edit-grid .org-field-status-date,
    .pup-tent-organization-edit-grid .org-field-charter-date,
    .pup-tent-organization-edit-grid .org-field-dues,
    .pup-tent-organization-edit-grid .org-field-admission {
        grid-column: 1;
    }
}

/* v1.9.148 Compact Pup Tent status history */
.pup-tent-status-history-wrap {
    margin-top: .55rem;
}

.pup-tent-status-history-table {
    table-layout: fixed;
    font-size: .9rem;
}

.pup-tent-status-history-table th,
.pup-tent-status-history-table td {
    padding: .45rem .55rem;
    line-height: 1.3;
    vertical-align: middle;
}

.pup-tent-status-history-table .history-date {
    width: 7.4rem;
    white-space: nowrap;
}

.pup-tent-status-history-table .history-event {
    width: 13rem;
}

.pup-tent-status-history-table .history-change {
    width: 13rem;
}

.pup-tent-status-history-table tr.is-baseline td {
    color: #66717c;
    background: #fafbfc;
}

.pup-tent-status-history-table tr.is-baseline strong {
    font-weight: 600;
}

.pup-tent-status-change {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    flex-wrap: wrap;
}

.pup-tent-history-status {
    padding: .12rem .45rem;
    font-size: .78rem;
    line-height: 1.2;
}

@media (max-width: 760px) {
    .pup-tent-status-history-table,
    .pup-tent-status-history-table tbody,
    .pup-tent-status-history-table tr,
    .pup-tent-status-history-table td {
        display: block;
        width: 100%;
    }

    .pup-tent-status-history-table thead {
        display: none;
    }

    .pup-tent-status-history-table tr {
        padding: .45rem .55rem;
        border: 1px solid #e2e6ea;
        border-radius: .35rem;
        background: #fbfcfd;
    }

    .pup-tent-status-history-table tr + tr {
        margin-top: .45rem;
    }

    .pup-tent-status-history-table td,
    .pup-tent-status-history-table .history-date,
    .pup-tent-status-history-table .history-event,
    .pup-tent-status-history-table .history-change {
        width: 100%;
        padding: .12rem 0;
        border: 0;
        white-space: normal;
    }

    .pup-tent-status-history-table td::before {
        content: attr(data-label) ": ";
        color: #66717c;
        font-size: .78rem;
        font-weight: 650;
    }

    .pup-tent-status-history-table td[data-label="Event"]::before {
        display: none;
    }

    .pup-tent-status-history-table td[data-label="Event"] {
        margin-bottom: .1rem;
    }
}

/* v1.9.149 Compact Pup Tent Grand relationship history */
.pup-tent-relationship-history-wrap {
    margin-top: .55rem;
}

.pup-tent-relationship-history-table {
    table-layout: fixed;
    font-size: .9rem;
}

.pup-tent-relationship-history-table th,
.pup-tent-relationship-history-table td {
    padding: .45rem .55rem;
    line-height: 1.3;
    vertical-align: middle;
}

.pup-tent-relationship-history-table .relationship-name {
    width: 15rem;
}

.pup-tent-relationship-history-table .relationship-state {
    width: 7.5rem;
}

.pup-tent-relationship-history-table .history-date {
    width: 7.4rem;
    white-space: nowrap;
}

.pup-tent-relationship-state-badge {
    padding: .12rem .45rem;
    font-size: .78rem;
    line-height: 1.2;
}

.pup-tent-relationship-history-table tr.is-baseline td {
    color: #66717c;
    background: #fafbfc;
}

.pup-tent-relationship-history-table tr.is-baseline strong {
    font-weight: 600;
}

@media (max-width: 760px) {
    .pup-tent-relationship-history-table,
    .pup-tent-relationship-history-table tbody,
    .pup-tent-relationship-history-table tr,
    .pup-tent-relationship-history-table td {
        display: block;
        width: 100%;
    }

    .pup-tent-relationship-history-table thead {
        display: none;
    }

    .pup-tent-relationship-history-table tr {
        padding: .45rem .55rem;
        border: 1px solid #e2e6ea;
        border-radius: .35rem;
        background: #fbfcfd;
    }

    .pup-tent-relationship-history-table tr + tr {
        margin-top: .45rem;
    }

    .pup-tent-relationship-history-table td,
    .pup-tent-relationship-history-table .relationship-name,
    .pup-tent-relationship-history-table .relationship-state,
    .pup-tent-relationship-history-table .history-date {
        width: 100%;
        padding: .12rem 0;
        border: 0;
        white-space: normal;
    }

    .pup-tent-relationship-history-table td::before {
        content: attr(data-label) ": ";
        color: #66717c;
        font-size: .78rem;
        font-weight: 650;
    }

    .pup-tent-relationship-history-table td[data-label="Relationship"]::before {
        display: none;
    }

    .pup-tent-relationship-history-table td[data-label="Relationship"] {
        margin-bottom: .1rem;
    }
}

/* v1.9.150 Compact Grand organization lifecycle history */
.grand-lifecycle-history-table-wrap {
    margin-top: .55rem;
}

.grand-lifecycle-history-table {
    table-layout: fixed;
    font-size: .9rem;
}

.grand-lifecycle-history-table th,
.grand-lifecycle-history-table td {
    padding: .45rem .55rem;
    line-height: 1.3;
    vertical-align: middle;
}

.grand-lifecycle-history-table .history-date {
    width: 7.4rem;
    white-space: nowrap;
}

.grand-lifecycle-history-table .history-event {
    width: 13.5rem;
}

.grand-lifecycle-history-table .history-change {
    width: 14rem;
}

.grand-lifecycle-history-table .history-type-change {
    width: 13rem;
}

.grand-lifecycle-history-table tr.is-baseline td {
    color: #66717c;
    background: #fafbfc;
}

.grand-lifecycle-history-table tr.is-baseline strong {
    font-weight: 600;
}

.grand-lifecycle-status-change,
.grand-lifecycle-type-change {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    flex-wrap: wrap;
}

.grand-lifecycle-history-status {
    padding: .12rem .45rem;
    font-size: .78rem;
    line-height: 1.2;
}

@media (max-width: 760px) {
    .grand-lifecycle-history-table,
    .grand-lifecycle-history-table tbody,
    .grand-lifecycle-history-table tr,
    .grand-lifecycle-history-table td {
        display: block;
        width: 100%;
    }

    .grand-lifecycle-history-table thead {
        display: none;
    }

    .grand-lifecycle-history-table tr {
        padding: .45rem .55rem;
        border: 1px solid #e2e6ea;
        border-radius: .35rem;
        background: #fbfcfd;
    }

    .grand-lifecycle-history-table tr + tr {
        margin-top: .45rem;
    }

    .grand-lifecycle-history-table td,
    .grand-lifecycle-history-table .history-date,
    .grand-lifecycle-history-table .history-event,
    .grand-lifecycle-history-table .history-change,
    .grand-lifecycle-history-table .history-type-change {
        width: 100%;
        padding: .12rem 0;
        border: 0;
        white-space: normal;
    }

    .grand-lifecycle-history-table td::before {
        content: attr(data-label) ": ";
        color: #66717c;
        font-size: .78rem;
        font-weight: 650;
    }

    .grand-lifecycle-history-table td[data-label="Event"]::before {
        display: none;
    }

    .grand-lifecycle-history-table td[data-label="Event"] {
        margin-bottom: .1rem;
    }
}

/* v1.9.151 — compact Grand formation entry */
.grand-formation-entry-card {
    padding-bottom: 1.15rem;
}
.grand-formation-entry-heading {
    margin-bottom: .7rem;
}
.grand-formation-entry-heading h1 {
    margin-bottom: .15rem;
}
.grand-formation-entry-heading p {
    margin: 0;
}
.grand-formation-department-heading {
    color: #173f63;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.25;
}
.grand-formation-eligibility-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 50rem;
    border: 1px solid #d8dde2;
    border-radius: .4rem;
    overflow: hidden;
    margin: .65rem 0 .9rem;
    background: #f8fafc;
}
.grand-formation-eligibility-strip > div {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: baseline;
    gap: .1rem .6rem;
    padding: .55rem .7rem;
    min-width: 0;
}
.grand-formation-eligibility-strip > div + div {
    border-left: 1px solid #d8dde2;
}
.grand-formation-eligibility-strip span {
    color: #5f6770;
    font-size: .88rem;
}
.grand-formation-eligibility-strip strong {
    font-size: 1rem;
}
.grand-formation-eligibility-strip small {
    grid-column: 1 / -1;
    color: #5f6770;
    font-size: .78rem;
}
.grand-formation-entry-form {
    display: grid;
    grid-template-columns: minmax(10rem, .85fr) minmax(11rem, .8fr) minmax(16rem, 1.45fr) minmax(11rem, 1fr);
    gap: .7rem .85rem;
    align-items: start;
}
.grand-formation-entry-form > label {
    margin: 0;
    min-width: 0;
}
.grand-formation-entry-form input,
.grand-formation-entry-form select,
.grand-formation-entry-form textarea {
    min-width: 0;
}
.grand-formation-field-department { grid-column: 1; }
.grand-formation-field-code { grid-column: 2; }
.grand-formation-field-name { grid-column: 3 / 5; }
.grand-formation-field-formed { grid-column: 1; }
.grand-formation-field-fee-date { grid-column: 2; }
.grand-formation-field-payment-method { grid-column: 3; }
.grand-formation-field-payment-reference { grid-column: 4; }
/* Keep the four receipt/date controls on one true baseline. The label slot is
   the same height for every field, so wrapped date labels do not push their
   inputs lower than Payment Method / Payment Reference. */
.grand-formation-field-formed,
.grand-formation-field-fee-date,
.grand-formation-field-payment-method,
.grand-formation-field-payment-reference {
    display: grid;
    grid-template-rows: 2.7rem auto;
    gap: .35rem;
    align-content: start;
}
.grand-formation-field-formed .grand-formation-field-label,
.grand-formation-field-fee-date .grand-formation-field-label,
.grand-formation-field-payment-method .grand-formation-field-label,
.grand-formation-field-payment-reference .grand-formation-field-label {
    align-self: end;
    min-height: 0;
}
.grand-formation-field-notes { grid-column: 1 / 5; }
.grand-formation-field-notes textarea {
    min-height: 3.6rem;
    resize: vertical;
}
.field-help-inline {
    display: inline;
    font-weight: 400;
    color: #5f6874;
}
.grand-formation-entry-actions {
    grid-column: 1 / 5;
    margin-top: .05rem;
}
.grand-formation-pup-tents-card > h2 {
    margin-bottom: .35rem;
}
.grand-formation-pup-tents-card > p {
    margin-top: 0;
    margin-bottom: .7rem;
}
@media (max-width: 1000px) {
    .grand-formation-entry-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .grand-formation-field-department,
    .grand-formation-field-code,
    .grand-formation-field-formed,
    .grand-formation-field-fee-date,
    .grand-formation-field-payment-method,
    .grand-formation-field-payment-reference {
        grid-column: auto;
    }
    .grand-formation-field-name,
    .grand-formation-field-notes,
    .grand-formation-entry-actions {
        grid-column: 1 / 3;
    }
}
@media (max-width: 700px) {
    .grand-formation-eligibility-strip,
    .grand-formation-entry-form {
        grid-template-columns: 1fr;
    }
    .grand-formation-eligibility-strip > div + div {
        border-left: 0;
        border-top: 1px solid #d8dde2;
    }
    .grand-formation-field-name,
    .grand-formation-field-notes,
    .grand-formation-entry-actions {
        grid-column: 1;
    }
}

/* v1.9.183 Administrator account impersonation */
.impersonation-banner {
    border-bottom: 1px solid #8a5b12;
    background: #fff0c9;
    color: #4d350d;
}
.impersonation-banner-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 2.8rem;
    padding-top: .45rem;
    padding-bottom: .45rem;
}
.impersonation-banner-copy {
    display: flex;
    align-items: baseline;
    gap: .5rem 1rem;
    flex-wrap: wrap;
    min-width: 0;
}
.impersonation-banner-copy strong {
    color: #3d2807;
}
.impersonation-banner-copy span {
    font-size: .9rem;
}
.impersonation-stop-form {
    flex: 0 0 auto;
}
.impersonation-stop-button {
    min-height: 2rem;
    padding: .38rem .7rem;
    border-color: #6b4308;
    background: #6b4308;
    color: #fff;
    font-size: .84rem;
    font-weight: 750;
    white-space: nowrap;
}
.impersonation-stop-button:hover,
.impersonation-stop-button:focus-visible {
    background: #4f3005;
    border-color: #4f3005;
}
@media (max-width: 700px) {
    .impersonation-banner-row {
        align-items: flex-start;
        flex-direction: column;
        gap: .45rem;
    }
}

/* v1.9.209 Membership report */
.membership-report-table {
    min-width: 1040px;
}
.membership-report-table th,
.membership-report-table td {
    padding-left: .48rem;
    padding-right: .48rem;
}
.membership-report-table .goals-report-org-column {
    min-width: 190px;
    max-width: 225px;
}
.membership-report-table thead th:not(.goals-report-org-column) {
    min-width: 62px;
    line-height: 1.15;
}


/* v1.9.212 Reports tab navigation and Membership numeric alignment */
.report-tabs {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    gap: .25rem;
    margin: .15rem 0 -1px;
    padding-left: .35rem;
    overflow-x: auto;
    overflow-y: hidden;
}
.report-tab {
    display: inline-flex;
    align-items: center;
    padding: .68rem 1rem .64rem;
    border: 1px solid #b8c2cc;
    border-bottom-color: #9aa6b2;
    border-top-left-radius: .4rem;
    border-top-right-radius: .4rem;
    background: #f3f6f9;
    color: #244f75;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}
.report-tab:hover {
    background: #e8eef4;
    color: #173f63;
}
.report-tab:focus-visible {
    outline: 3px solid #8db5d8;
    outline-offset: -3px;
}
.report-tab.is-active {
    position: relative;
    z-index: 1;
    background: var(--surface, #fff);
    color: #1d2430;
    border-color: #9aa6b2;
    border-bottom-color: var(--surface, #fff);
}
.report-tabs + .card {
    margin-top: 0;
}
.membership-report-table tbody td.numeric {
    text-align: center;
    font-variant-numeric: tabular-nums;
}


/* v1.9.211 Membership goal progress */
.membership-goal-percent.is-met {
    color: #1d6b35;
    font-weight: 700;
}

/* v1.9.245 — compact operational Goals workspace */
.project-goal-grid {
    gap: .65rem;
    margin-top: .65rem;
}
.project-goal-card {
    padding: .7rem .85rem;
}
.membership-goal-card {
    margin-top: .55rem;
    padding: .7rem .85rem;
}
.membership-goal-card h3 {
    margin: .08rem 0 .18rem;
}
.membership-goal-card .muted {
    margin: .12rem 0 .4rem;
}
.project-goal-heading {
    align-items: center;
    gap: .75rem;
}
.project-goal-heading h3 {
    margin: .05rem 0;
}
.project-metrics {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .4rem;
    margin: .5rem 0 .1rem;
}
.project-metrics > div {
    padding: .42rem .55rem;
}
.project-metrics span {
    font-size: .74rem;
    margin-bottom: .08rem;
}
.project-credit-breakdown {
    margin: .45rem 0 .55rem;
    padding: .5rem .6rem;
}
.project-history {
    margin-top: .55rem;
}
.project-transmittal-callout {
    margin: .5rem 0 .65rem;
    padding: .5rem .65rem;
}
@media (max-width: 1180px) {
    .project-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 760px) {
    .project-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 560px) {
    .project-metrics {
        grid-template-columns: 1fr;
    }
}


/* v1.9.248 Grand Goals subordinate Pup Tent progress */
.goals-tab-subordinate-section {
    margin-top: 1.15rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-color, #d9dee7);
}
.goals-tab-subordinate-heading {
    margin-bottom: .55rem;
}
.goals-tab-subordinate-wrap {
    max-width: 100%;
    overflow-x: auto;
}
.goals-tab-subordinate-table {
    width: 100%;
    min-width: 0;
    font-size: .82rem;
}
.goals-tab-subordinate-table th,
.goals-tab-subordinate-table td {
    padding: .42rem .34rem;
}
.goals-tab-subordinate-table .goals-report-org-column {
    min-width: 155px;
    max-width: 200px;
}
.goals-tab-subordinate-table .goals-report-requirement-heading {
    min-width: 48px;
}
.goals-tab-subordinate-table .goal-project-cell,
.goals-tab-subordinate-table .goals-report-project-heading {
    min-width: 115px;
}
.goals-tab-subordinate-table .goal-project-cell > span {
    gap: .3rem;
}
.goals-tab-subordinate-table .goal-project-cell small {
    font-size: .67rem;
}

/* v1.9.249 Goals Progress framing and membership alignment */
.goals-report-table tbody td.numeric {
    text-align: center;
    font-variant-numeric: tabular-nums;
}
.goals-tab-subordinate-table {
    border-top: 1px solid var(--border-color, #d9dee7);
    border-left: 1px solid var(--border-color, #d9dee7);
    border-right: 1px solid var(--border-color, #d9dee7);
}


/* v1.9.251 — compact Grand Compliance and Financial Details editor */
.grand-compliance-edit-card {
    max-width: 60rem;
    margin-top: 1.25rem;
    padding: 1.15rem 1.25rem;
}
.grand-compliance-edit-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: .7rem 1rem;
    align-items: start;
}
.grand-compliance-edit-grid > label {
    margin: 0;
    min-width: 0;
}
.grand-compliance-edit-grid .field-help {
    margin-top: -.05rem;
    line-height: 1.3;
}
.grand-compliance-edit-grid .compliance-field-ein,
.grand-compliance-edit-grid .compliance-field-990 {
    grid-column: span 6;
}
.grand-compliance-edit-grid .compliance-field-bonded {
    grid-column: span 2;
    align-self: end;
    padding-bottom: .75rem;
}
.grand-compliance-edit-grid .compliance-field-amount { grid-column: span 4; }
.grand-compliance-edit-grid .compliance-field-company { grid-column: span 6; }
.grand-compliance-edit-grid .compliance-field-inspection { grid-column: span 6; }
.grand-compliance-edit-grid > .form-actions {
    margin-top: .15rem;
}
@media (max-width: 700px) {
    .grand-compliance-edit-card {
        max-width: none;
        padding: 1rem;
    }
    .grand-compliance-edit-grid {
        grid-template-columns: 1fr;
        gap: .75rem;
    }
    .grand-compliance-edit-grid .compliance-field-ein,
    .grand-compliance-edit-grid .compliance-field-990,
    .grand-compliance-edit-grid .compliance-field-bonded,
    .grand-compliance-edit-grid .compliance-field-amount,
    .grand-compliance-edit-grid .compliance-field-company,
    .grand-compliance-edit-grid .compliance-field-inspection {
        grid-column: 1;
    }
    .grand-compliance-edit-grid .compliance-field-bonded {
        align-self: start;
        padding-bottom: 0;
    }
}


/* v1.9.252 — compact Pup Tent Compliance and Financial Details editor */
.pup-tent-compliance-edit-card {
    max-width: 60rem;
    margin-top: 1.25rem;
    padding: 1.15rem 1.25rem;
}
.pup-tent-compliance-edit-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: .7rem 1rem;
    align-items: start;
}
.pup-tent-compliance-edit-grid > label {
    margin: 0;
    min-width: 0;
}
.pup-tent-compliance-edit-grid .field-help {
    margin-top: -.05rem;
    line-height: 1.3;
}
.pup-tent-compliance-edit-grid .compliance-field-ein,
.pup-tent-compliance-edit-grid .compliance-field-990 { grid-column: span 6; }
.pup-tent-compliance-edit-grid .compliance-field-bonding-year { grid-column: span 3; }
.pup-tent-compliance-edit-grid .compliance-field-bonded-status { grid-column: span 2; }
.pup-tent-compliance-edit-grid .compliance-field-amount { grid-column: span 3; }
.pup-tent-compliance-edit-grid .compliance-field-company { grid-column: span 4; }
.pup-tent-compliance-edit-grid .compliance-field-delegate-year { grid-column: span 4; }
.pup-tent-compliance-edit-grid .compliance-field-delegate-status { grid-column: span 2; }
.pup-tent-compliance-edit-grid .compliance-field-inspection { grid-column: span 6; }
.pup-tent-compliance-edit-grid > .form-actions { margin-top: .15rem; }
@media (max-width: 700px) {
    .pup-tent-compliance-edit-card {
        max-width: none;
        padding: 1rem;
    }
    .pup-tent-compliance-edit-grid {
        grid-template-columns: 1fr;
        gap: .75rem;
    }
    .pup-tent-compliance-edit-grid .compliance-field-ein,
    .pup-tent-compliance-edit-grid .compliance-field-990,
    .pup-tent-compliance-edit-grid .compliance-field-bonding-year,
    .pup-tent-compliance-edit-grid .compliance-field-bonded-status,
    .pup-tent-compliance-edit-grid .compliance-field-amount,
    .pup-tent-compliance-edit-grid .compliance-field-company,
    .pup-tent-compliance-edit-grid .compliance-field-delegate-year,
    .pup-tent-compliance-edit-grid .compliance-field-delegate-status,
    .pup-tent-compliance-edit-grid .compliance-field-inspection {
        grid-column: 1;
    }
}


/* v1.9.253 — shared compact administrative editors.
 * Use this for routine data-entry screens where the generic two-column form
 * would otherwise create excessive vertical whitespace. Consequential
 * lifecycle/confirmation workflows intentionally do not inherit this style. */
.compact-data-edit-card {
    max-width: 68rem;
    margin-top: 1.25rem;
    padding: 1.15rem 1.25rem;
}
.compact-data-edit-card-wide { max-width: 74rem; }
.compact-data-edit-card-medium { max-width: 56rem; }
.compact-data-edit-card-small { max-width: 38rem; }
.compact-data-edit-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: .7rem .85rem;
    align-items: start;
}
.compact-data-edit-grid > label {
    grid-column: span 6;
    margin: 0;
    min-width: 0;
}
.compact-data-edit-grid > .form-help,
.compact-data-edit-grid > p.form-help { margin: .1rem 0; }
.compact-data-edit-grid .field-help,
.compact-data-edit-grid .form-help {
    margin-top: -.05rem;
    line-height: 1.3;
}
.compact-data-edit-grid > fieldset { margin: .1rem 0; }
.compact-data-edit-grid fieldset label { margin-top: .25rem; margin-bottom: .25rem; }
.compact-data-edit-grid .checkbox-grid { margin: .25rem 0; }
.compact-data-edit-grid > .form-actions { margin-top: .15rem; }
.compact-data-edit-grid > .section-heading {
    margin: .3rem 0 0;
}
.compact-data-edit-grid .compact-span-2 { grid-column: span 2; }
.compact-data-edit-grid .compact-span-3 { grid-column: span 3; }
.compact-data-edit-grid .compact-span-4 { grid-column: span 4; }
.compact-data-edit-grid .compact-span-5 { grid-column: span 5; }
.compact-data-edit-grid .compact-span-6 { grid-column: span 6; }
.compact-data-edit-grid .compact-span-7 { grid-column: span 7; }
.compact-data-edit-grid .compact-span-8 { grid-column: span 8; }
.compact-data-edit-grid .compact-span-9 { grid-column: span 9; }
.compact-data-edit-grid .compact-span-12 { grid-column: 1 / -1; }
.compact-form-contained { max-width: 60rem; }
.compact-form-contained-wide { max-width: 68rem; }
@media (max-width: 950px) {
    .compact-data-edit-grid .compact-span-2,
    .compact-data-edit-grid .compact-span-3,
    .compact-data-edit-grid .compact-span-4,
    .compact-data-edit-grid .compact-span-5 {
        grid-column: span 6;
    }
}
@media (max-width: 700px) {
    .compact-data-edit-card,
    .compact-data-edit-card-wide,
    .compact-data-edit-card-medium,
    .compact-data-edit-card-small {
        max-width: none;
        padding: 1rem;
    }
    .compact-data-edit-grid {
        grid-template-columns: 1fr;
        gap: .75rem;
    }
    .compact-data-edit-grid > label,
    .compact-data-edit-grid .compact-span-2,
    .compact-data-edit-grid .compact-span-3,
    .compact-data-edit-grid .compact-span-4,
    .compact-data-edit-grid .compact-span-5,
    .compact-data-edit-grid .compact-span-6,
    .compact-data-edit-grid .compact-span-7,
    .compact-data-edit-grid .compact-span-8,
    .compact-data-edit-grid .compact-span-9,
    .compact-data-edit-grid .compact-span-12 {
        grid-column: 1;
    }
    .compact-form-contained,
    .compact-form-contained-wide { max-width: none; }
}
.compact-data-edit-grid > label.full-width { grid-column: 1 / -1; }


/* v1.9.254 — Administrator workspace density pass.
 * Keep all Admin tabs information-complete while removing the older generic
 * field/card spacing that made routine configuration consume unnecessary space. */
.admin-tabs .tab-panel {
    min-height: 0;
    padding: .9rem 1.25rem 1.15rem;
}
.admin-tabs .admin-section-heading {
    margin-bottom: .7rem;
}
.admin-tabs .admin-section-heading p {
    line-height: 1.4;
}

/* Organization: rollover controls were already compact; tighten the fee schedule. */
#tab-organization .life-membership-fees {
    margin-top: 1rem;
    padding-top: .8rem;
}
#tab-organization .life-fee-year-heading {
    margin-bottom: .55rem;
}
#tab-organization .life-fee-grid {
    grid-template-columns: repeat(4, minmax(9rem, 1fr));
    gap: .55rem .7rem;
    max-width: 60rem;
}
#tab-organization .life-fee-grid > label {
    margin: 0;
}
#tab-organization .life-fee-form .form-actions {
    margin-top: .65rem;
}

/* Goals: compact the membership-rule cards and Project / Donation definitions. */
#tab-projects .project-admin-heading {
    margin-bottom: .65rem;
}
#tab-projects .project-admin-rule-card {
    padding: .75rem .85rem;
}
#tab-projects .project-admin-rule-card h3 {
    margin-top: 0;
}
#tab-projects .membership-goal-rule-cards {
    gap: .65rem;
    margin: .65rem 0 .45rem;
}
#tab-projects .membership-goal-rule-card {
    padding: .7rem .75rem;
}
#tab-projects .membership-goal-rule-card h4 {
    margin: 0 0 .4rem;
}
#tab-projects .membership-goal-rule-form {
    gap: .4rem .5rem;
}
#tab-projects .membership-goal-rule-form > label {
    margin: 0;
}
#tab-projects .membership-goal-rule-form input[name="goal_percentage"],
#tab-projects .membership-goal-rule-form input[name="goal_increment"] {
    width: 5.75rem;
    padding: .52rem .6rem;
}
#tab-projects .membership-goal-rule-form > button {
    padding: .55rem .7rem;
}
#tab-projects .membership-goal-rule-operator {
    padding-bottom: .45rem;
}
#tab-projects .membership-goal-rule-card > p {
    margin: .4rem 0 0;
    font-size: .9rem;
    line-height: 1.35;
}
#tab-projects .project-definition-list {
    gap: .65rem;
    margin-top: .75rem;
}
#tab-projects .project-definition-card,
#tab-projects .project-new-definition {
    padding: .7rem .8rem;
}
#tab-projects .project-definition-grid {
    gap: .45rem .7rem;
}
#tab-projects .project-definition-grid > label {
    margin: 0;
}
#tab-projects .project-definition-footer {
    margin-top: .5rem;
}
#tab-projects .project-definition-options {
    gap: .4rem 1rem;
}
#tab-projects .project-new-definition {
    margin-top: .75rem;
}
#tab-projects .project-new-definition h3 {
    margin: 0 0 .55rem;
}

/* Officers: retain all permission flags while making add/edit panels shallower. */
#tab-officers .officer-definition-year-summary {
    margin-bottom: .7rem;
}
#tab-officers .officer-definition-year-tools {
    gap: .55rem;
}
#tab-officers .officer-definition-copy-form {
    padding: .6rem .7rem;
}
#tab-officers .officer-definition-level {
    margin-top: .55rem;
    padding-top: .75rem;
}
#tab-officers .officer-definition-add[open],
#tab-officers .officer-definition-actions details[open] {
    padding: .5rem .6rem;
}
#tab-officers .officer-definition-form {
    gap: .1rem .75rem;
    margin-top: .4rem;
}
#tab-officers .officer-definition-form > label {
    margin: .25rem 0;
}
#tab-officers .officer-definition-checks {
    gap: .35rem .75rem;
    margin: .25rem 0;
}
#tab-officers .officer-definition-form > .form-actions {
    margin-top: .3rem;
}
#tab-officers .officer-definition-archive-form {
    margin-top: .5rem;
    padding-top: .5rem;
}

/* Accounts: filters were already dense; trim the invitation panel and list lead-in. */
#tab-accounts .account-admin-create {
    margin-bottom: .7rem;
}
#tab-accounts .account-admin-create-panel {
    margin-top: .55rem;
    padding: .75rem .85rem;
}
#tab-accounts .account-admin-create-panel h3 {
    margin-bottom: .25rem;
}
#tab-accounts .account-admin-create-panel p {
    margin-bottom: .55rem;
    line-height: 1.4;
}
#tab-accounts .account-filter-form {
    gap: .6rem .7rem;
    margin-bottom: .55rem;
}
#tab-accounts .account-list-heading {
    margin-bottom: .5rem;
}
#tab-accounts .account-list-heading p {
    margin: 0;
}

/* Imports: single-file upload forms should not occupy full-size generic cards. */
.import-section {
    margin: 0;
}
#tab-imports .import-section + .import-section {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #d9dee5;
}
.import-section > h2 {
    margin: 0 0 .55rem;
}
.admin-import-upload-card,
.admin-import-summary-card {
    margin: .65rem 0 .85rem;
    padding: .8rem .9rem;
}
.admin-import-upload-card {
    max-width: 50rem;
}
.admin-import-summary-card {
    max-width: 40rem;
}
.admin-import-upload-card h3,
.admin-import-summary-card h3,
.admin-import-preview-card h3 {
    margin: 0 0 .5rem;
}
.admin-import-upload-card label {
    margin: 0;
}
.admin-import-upload-card p {
    margin: .45rem 0;
    line-height: 1.4;
}
.admin-import-upload-card .form-actions {
    margin-top: .55rem;
}
.admin-import-summary-card .summary-list {
    gap: .3rem;
}
.admin-import-summary-card .summary-list > div {
    grid-template-columns: 8.5rem minmax(0, 1fr);
    gap: .65rem;
}
.admin-import-preview-card {
    margin: .7rem 0 1rem;
    padding: .9rem 1rem;
}
.admin-import-preview-card > .summary-list {
    gap: .35rem;
    margin-bottom: .75rem;
}
.admin-import-preview-card .import-run-actions {
    margin-top: .7rem;
}

/* System: remove the large empty row from the one-toggle eligibility policy. */
#tab-system .system-settings-section {
    margin-top: .75rem;
    padding-top: .75rem;
}
#tab-system .system-settings-section-heading {
    margin-bottom: .5rem;
}
#tab-system .system-officer-eligibility-admin .system-maintenance-form {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .4rem .75rem;
    align-items: center;
}
#tab-system .system-officer-eligibility-admin .system-maintenance-toggle {
    margin: 0 !important;
}
#tab-system .system-officer-eligibility-admin .field-help {
    grid-column: 1 / -1;
    margin: 0;
    line-height: 1.35;
}
#tab-system .system-officer-eligibility-admin .system-maintenance-actions {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
}
#tab-system .system-maintenance-message textarea {
    min-height: 4.5rem;
}
#tab-system .system-new-announcement {
    margin: .55rem 0 .75rem;
}
#tab-system .system-announcement-form {
    gap: .55rem .65rem;
    padding: .65rem .7rem;
}
#tab-system .system-announcement-message-field textarea {
    min-height: 5.4rem;
}

/* Audit: preserve the information-dense table, just trim filter chrome. */
#tab-audit .audit-admin-heading {
    margin-bottom: .55rem;
}
#tab-audit .audit-filter-form {
    gap: .5rem .65rem;
    margin-bottom: .75rem;
    padding: .65rem .7rem;
}
#tab-audit .audit-filter-more {
    padding-top: .45rem;
}
#tab-audit .audit-filter-more-grid {
    gap: .5rem .65rem;
    margin-top: .5rem;
}

@media (max-width: 980px) {
    #tab-organization .life-fee-grid {
        grid-template-columns: repeat(3, minmax(9rem, 1fr));
    }
}
@media (max-width: 860px) {
    #tab-organization .life-fee-grid {
        grid-template-columns: repeat(2, minmax(9rem, 1fr));
    }
}
@media (max-width: 900px) {
    #tab-system .system-officer-eligibility-admin .system-maintenance-form {
        grid-template-columns: 1fr;
    }
    #tab-system .system-officer-eligibility-admin .system-maintenance-actions,
    #tab-system .system-officer-eligibility-admin .field-help {
        grid-column: 1;
        grid-row: auto;
    }
}
@media (max-width: 700px) {
    .admin-tabs .tab-panel {
        padding: .85rem;
    }
    .admin-import-upload-card,
    .admin-import-summary-card,
    .admin-import-preview-card {
        max-width: none;
        padding: .8rem;
    }
    .admin-import-summary-card .summary-list > div {
        grid-template-columns: 1fr;
        gap: 0;
    }
}
@media (max-width: 600px) {
    #tab-organization .life-fee-grid {
        grid-template-columns: 1fr;
    }
}
.admin-import-index-card {
    max-width: 32rem;
    margin: .75rem 0 1rem;
    padding: .8rem .9rem;
}
