:root {
    --green: #143b27;
    --green-light: #246540;
    --cream: #f6f5ef;
    --ink: #17201a;
    --line: #d9ded9;
    --danger: #8a2727;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--cream);
    color: var(--ink);
    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

.topbar {
    min-height: 64px;
    padding: 0 24px;
    background: var(--green);
    color: white;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.container {
    width: min(1180px, calc(100% - 32px));
    margin: 32px auto;
}

.grid.two {
    display: grid;
    grid-template-columns: repeat(
        2,
        minmax(0, 1fr)
    );
    gap: 24px;
}

.card {
    background: white;
    padding: 24px;
    border-radius: 14px;
    border: 1px solid var(--line);
}

.narrow {
    max-width: 480px;
    margin: 64px auto;
}

label {
    display: block;
    margin: 16px 0;
    font-weight: 600;
}

input,
select,
textarea {
    width: 100%;
    padding: 11px 12px;
    margin-top: 6px;
    border: 1px solid #bbc5bd;
    border-radius: 8px;
    font: inherit;
}

.inline {
    display: flex;
    gap: 8px;
    align-items: center;
}

.inline input {
    width: auto;
    margin: 0;
}

button,
.button {
    display: inline-block;
    padding: 10px 16px;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    font: inherit;
    text-decoration: none;
}

.primary,
.button {
    background: var(--green);
    color: white;
}

.danger {
    background: var(--danger);
    color: white;
}

.notice {
    background: #e3f4e9;
    border: 1px solid #a8d4b6;
    padding: 12px 16px;
    margin-bottom: 18px;
    border-radius: 8px;
}

.error {
    background: #f8dddd;
    padding: 12px;
    border-radius: 8px;
}

table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0 28px;
}

th,
td {
    text-align: left;
    padding: 10px;
    border-bottom: 1px solid var(--line);
}

.actions {
    margin: 20px 0;
}

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

    .container {
        width: min(
            100% - 20px,
            1180px
        );
        margin-top: 16px;
    }
}

/* Patch 02 */

.brand a,
.admin-nav a {
    color: white;
    text-decoration: none;
}

.brand {
    font-weight: 800;
}

.admin-nav {
    display: flex;
    gap: 18px;
    margin-left: auto;
    margin-right: 24px;
}

.topbar-button {
    background: transparent;
    border: 1px solid rgba(255,255,255,.4);
    color: white;
}

.page-heading,
.section-heading {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    align-items: flex-start;
}

.page-heading {
    margin-bottom: 24px;
}

.muted,
.hint {
    color: #657169;
}

.hint {
    display: block;
    font-size: .82rem;
    font-weight: 400;
    margin-top: 3px;
}

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

.table-wrap {
    width: 100%;
    overflow-x: auto;
}

.inline-form {
    display: grid;
    grid-template-columns:
        minmax(220px, 1fr)
        180px
        auto;
    gap: 12px;
    align-items: end;
    margin-bottom: 20px;
}

.inline-form select {
    margin: 0;
}

.score-form {
    display: flex;
    gap: 6px;
    min-width: 120px;
}

.score-input,
.small-input {
    width: 78px;
    margin: 0;
}

.score-form button {
    padding: 7px 9px;
}

.badge {
    display: inline-block;
    background: #e5e9e6;
    color: #334038;
    border-radius: 999px;
    padding: 4px 9px;
    font-size: .8rem;
}

.badge.success {
    background: #dff2e5;
    color: #165d2e;
}

.tie-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 12px 0;
    padding: 14px 16px;
    background: #fff2cb;
    border: 1px solid #e8cd76;
    border-radius: 10px;
}

.tie-box strong,
.tie-box span {
    display: block;
}

.tie-box.resolved {
    background: #e8f5ec;
    border-color: #b6d9c0;
}

.warning-button {
    background: #a76d00;
    color: white;
}

.secondary {
    background: #e8ece9;
    color: #1d3426;
}

.text-danger {
    background: transparent;
    color: #9e2525;
    padding: 0;
}

.danger-zone {
    border-color: #d8aaaa;
}

.search-form {
    display: flex;
    gap: 8px;
    margin-bottom: 18px;
}

.search-form input {
    margin: 0;
}

.tournament-card {
    display: grid;
    grid-template-columns:
        1.4fr
        1fr
        auto;
    gap: 10px;
    padding: 15px 0;
    border-bottom:
        1px solid var(--line);
    color: var(--ink);
    text-decoration: none;
}

.tournament-card:hover {
    color: var(--green-light);
}

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

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

    .admin-nav {
        display: none;
    }
}

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

    .page-heading,
    .section-heading {
        display: block;
    }

    .page-heading .actions,
    .section-heading .button {
        margin-top: 12px;
    }

    .tournament-card {
        grid-template-columns: 1fr;
    }

    .tie-box {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Patch 03 - Bulk score entry */

.bulk-score-toolbar {
    position: sticky;
    top: 8px;
    z-index: 20;

    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;

    margin: 14px 0;
    padding: 12px 14px;

    background:
        rgba(255, 255, 255, .96);

    border:
        1px solid var(--line);

    border-radius: 10px;

    box-shadow:
        0 5px 16px
        rgba(0, 0, 0, .08);

    backdrop-filter:
        blur(8px);
}

.bulk-score-state {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.bulk-score-state span {
    color: #667169;
    font-size: .82rem;
}

.bulk-score-save:disabled {
    opacity: .45;
    cursor: default;
}

#toast-container {
    position: fixed;
    right: 22px;
    bottom: 22px;

    z-index: 9999;

    display: flex;
    flex-direction: column;
    gap: 10px;

    pointer-events: none;
}

.app-toast {
    min-width: 240px;
    max-width: 420px;

    padding: 13px 17px;

    border-radius: 10px;

    color: white;

    font-weight: 700;

    box-shadow:
        0 10px 30px
        rgba(0, 0, 0, .22);

    opacity: 0;

    transform:
        translateY(12px);

    transition:
        opacity .2s ease,
        transform .2s ease;
}

.app-toast.visible {
    opacity: 1;

    transform:
        translateY(0);
}

.app-toast.success {
    background: #176437;
}

.app-toast.error {
    background: #9a2727;
}

.app-toast.neutral {
    background: #34443a;
}

@media (max-width: 650px) {
    .bulk-score-toolbar {
        position: static;

        align-items: stretch;
        flex-direction: column;
    }

    .bulk-score-save {
        width: 100%;
    }

    #toast-container {
        left: 12px;
        right: 12px;
        bottom: 12px;
    }

    .app-toast {
        min-width: 0;
        max-width: none;
        width: 100%;
    }
}

/* Patch 03A - navigation, sorting and stronger toasts */

.tournament-section-nav {
    position: sticky;
    top: 0;
    z-index: 90;

    display: flex;
    flex-wrap: wrap;
    gap: 7px;

    margin: 0 0 22px;
    padding: 10px;

    background:
        rgba(246, 245, 239, .96);

    border:
        1px solid var(--line);

    border-radius: 11px;

    box-shadow:
        0 5px 18px
        rgba(0, 0, 0, .07);

    backdrop-filter:
        blur(8px);
}

.tournament-section-nav a {
    display: inline-block;

    padding:
        7px 11px;

    border-radius:
        7px;

    color:
        var(--green);

    text-decoration:
        none;

    font-size:
        .9rem;

    font-weight:
        700;
}

.tournament-section-nav a:hover {
    background:
        #e0e8e2;
}

#tournament-settings,
#competition-setup,
#entries,
#qualification-36,
#qualification-18,
#qualification-lock {
    scroll-margin-top:
        75px;
}

.competition-group-heading {
    margin-top: 26px;
    margin-bottom: 7px;

    padding-bottom: 8px;

    border-bottom:
        2px solid
        var(--green);

    color:
        var(--green);
}

.sortable-column {
    position: relative;

    padding-right:
        28px;

    cursor:
        pointer;

    user-select:
        none;
}

.sortable-column::after {
    content: "↕";

    position: absolute;
    right: 8px;

    color:
        #9da89f;

    font-size:
        .85rem;
}

.sortable-column[data-direction="asc"]::after {
    content: "▲";

    color:
        var(--green);
}

.sortable-column[data-direction="desc"]::after {
    content: "▼";

    color:
        var(--green);
}

.sortable-column:hover {
    background:
        #eef2ef;
}

/* Toast position is intentionally very obvious */

#toast-container {
    position: fixed;

    top: 82px;
    right: 22px;
    bottom: auto;
    left: auto;

    z-index: 100000;

    display: flex;
    flex-direction: column;
    gap: 12px;

    pointer-events: none;
}

.app-toast {
    display: flex;
    align-items: center;
    gap: 12px;

    min-width: 320px;
    max-width: 480px;

    padding:
        15px 18px;

    border-radius:
        11px;

    color: white;

    font-size:
        .96rem;

    font-weight:
        700;

    box-shadow:
        0 12px 35px
        rgba(0, 0, 0, .30);

    opacity: 0;

    transform:
        translateX(20px);

    transition:
        opacity .22s ease,
        transform .22s ease;

    border-left:
        5px solid
        rgba(255,255,255,.65);
}

.app-toast.visible {
    opacity: 1;

    transform:
        translateX(0);
}

.app-toast.success {
    background:
        #126336;
}

.app-toast.error {
    background:
        #a22626;
}

.app-toast.neutral {
    background:
        #34443a;
}

.toast-icon {
    display: grid;
    place-items: center;

    flex:
        0 0 28px;

    width: 28px;
    height: 28px;

    border-radius:
        50%;

    background:
        rgba(255,255,255,.18);

    font-size:
        1.05rem;

    font-weight:
        900;
}

.toast-message {
    line-height:
        1.35;
}

@media (max-width: 700px) {
    .tournament-section-nav {
        overflow-x: auto;
        flex-wrap: nowrap;
    }

    .tournament-section-nav a {
        white-space: nowrap;
    }

    #toast-container {
        top: 74px;
        left: 12px;
        right: 12px;
    }

    .app-toast {
        min-width: 0;
        max-width: none;
        width: 100%;
    }
}

/* Patch 03B */

/*
|--------------------------------------------------------------------------
| Section navigation buttons
|--------------------------------------------------------------------------
*/

.tournament-section-nav {
    gap: 9px;
}

.tournament-section-nav a {
    background: #ffffff;

    border:
        1px solid
        #bfcac2;

    border-radius:
        8px;

    padding:
        8px 13px;

    box-shadow:
        0 1px 2px
        rgba(0,0,0,.05);

    transition:
        background .15s ease,
        border-color .15s ease,
        transform .15s ease;
}

.tournament-section-nav a:hover {
    background:
        var(--green);

    border-color:
        var(--green);

    color:
        white;

    transform:
        translateY(-1px);
}

/*
|--------------------------------------------------------------------------
| Explicit sortable arrows
|--------------------------------------------------------------------------
*/

.sortable-column::after {
    content: none !important;
}

.sortable-column {
    white-space: nowrap;
}

.sort-indicator {
    display: inline-block;

    margin-left: 7px;

    min-width: 13px;

    color:
        #77847b;

    font-size:
        .82rem;

    font-weight:
        900;
}

.sortable-column[data-direction="asc"]
.sort-indicator,
.sortable-column[data-direction="desc"]
.sort-indicator {
    color:
        var(--green);
}

/*
|--------------------------------------------------------------------------
| Stronger / longer toast notification
|--------------------------------------------------------------------------
*/

#toast-container {
    top: 78px;
    right: 26px;

    width:
        min(
            430px,
            calc(100vw - 32px)
        );
}

.app-toast {
    width: 100%;

    min-width: 0;

    padding:
        17px 18px;

    font-size:
        1rem;

    border:
        1px solid
        rgba(255,255,255,.22);

    box-shadow:
        0 16px 45px
        rgba(0,0,0,.34);
}

.app-toast.success {
    background:
        #0d6a37;
}

.app-toast.error {
    background:
        #a32121;
}

.toast-content {
    flex: 1;

    min-width: 0;
}

.toast-message {
    font-size:
        1rem;

    line-height:
        1.4;
}

.toast-progress {
    width: 100%;
    height: 3px;

    margin-top:
        10px;

    border-radius:
        99px;

    background:
        rgba(255,255,255,.72);
}

@media (max-width: 700px) {
    #toast-container {
        top: 70px;
        left: 12px;
        right: 12px;

        width: auto;
    }
}

/* Patch 04 - Qualification review and match-play draws */

.allocation-grid {
    display: grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(300px, 1fr)
        );
    gap: 16px;
    margin-bottom: 20px;
}

.division-review-card {
    background: #fafbf9;
    border: 1px solid var(--line);
    border-radius: 11px;
    overflow: hidden;
}

.division-review-card.capacity-warning {
    border-color: #d6aa4c;
}

.division-review-card > header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 15px;
    background: #eef3ef;
    border-bottom: 1px solid var(--line);
}

.division-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 28px;
    padding: 0 8px;
    background: var(--green);
    color: white;
    border-radius: 999px;
    font-weight: 800;
}

.allocation-player {
    padding: 12px 14px;
    border-bottom: 1px solid #e3e7e4;
}

.allocation-player:last-child {
    border-bottom: 0;
}

.allocation-player-name {
    display: flex;
    align-items: center;
    gap: 10px;
}

.seed-number {
    display: grid;
    place-items: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    background: #dce8df;
    color: var(--green);
    border-radius: 50%;
    font-weight: 900;
}

.move-player {
    margin-top: 8px;
}

.move-player summary {
    cursor: pointer;
    color: var(--green);
    font-size: .85rem;
    font-weight: 700;
}

.move-player form {
    margin-top: 9px;
    padding: 10px;
    background: white;
    border: 1px solid var(--line);
    border-radius: 8px;
}

.allocation-warning {
    margin: 14px 0;
    padding: 13px 15px;
    background: #fff3cf;
    border: 1px solid #dfc568;
    border-radius: 9px;
}

.unlock-box {
    margin-top: 22px;
    padding: 15px;
    background: #f7f2e6;
    border: 1px solid #d8c799;
    border-radius: 10px;
}

.draw-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 14px 0 20px;
}

.bracket-scroll {
    overflow-x: auto;
    padding-bottom: 12px;
}

.bracket-board {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    min-width: max-content;
}

.bracket-round {
    width: 270px;
}

.bracket-round h4 {
    margin: 0 0 12px;
    color: var(--green);
}

.draw-match {
    margin-bottom: 14px;
    padding: 11px 12px;
    background: #f9faf8;
    border: 1px solid var(--line);
    border-radius: 9px;
    box-shadow: 0 2px 4px rgba(0,0,0,.04);
}

.match-label {
    margin-bottom: 6px;
    color: #758078;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
}

.match-player {
    padding: 6px 8px;
    background: white;
    border-radius: 5px;
    font-weight: 700;
}

.match-vs {
    padding: 3px 8px;
    color: #7e8981;
    font-size: .78rem;
    text-align: center;
}

.match-result {
    margin-top: 7px;
    color: var(--green);
    font-weight: 800;
}

#qualification-review,
#draws {
    scroll-margin-top: 90px;
}

/* Patch 04B - traditional bracket layout */

.bulk-setup-save {
    position: sticky;
    bottom: 12px;
    z-index: 25;

    display: flex;
    justify-content: flex-end;

    margin-top: 18px;
    padding: 12px;

    background:
        rgba(255,255,255,.96);

    border:
        1px solid var(--line);

    border-radius: 10px;

    box-shadow:
        0 7px 20px
        rgba(0,0,0,.10);
}

.division-draw-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;

    margin-top: 28px;
}

.bracket-title {
    margin:
        20px 0 8px;

    color:
        var(--green);

    font-size:
        1.1rem;
}

.bracket-scroll {
    overflow-x: auto;
    overflow-y: hidden;

    padding:
        8px 8px 18px;
}

.visual-bracket {
    position: relative;

    display: flex;
    gap: 44px;

    min-width: max-content;
    height: var(--bracket-height);

    padding-right: 20px;
}

.bracket-lines {
    position: absolute;
    inset: 0;

    pointer-events: none;

    overflow: visible;

    z-index: 0;
}

.visual-bracket-round {
    position: relative;

    z-index: 2;

    display: flex;
    flex-direction: column;

    width: 250px;
    height: 100%;
}

.visual-bracket-round > h4 {
    flex: 0 0 30px;

    margin: 0;

    color: #73808a;

    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.visual-bracket-matches {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: space-around;
}

.visual-match {
    width: 250px;

    background: white;

    border:
        1px solid #687d8c;

    border-radius: 5px;

    overflow: hidden;

    box-shadow:
        0 1px 2px
        rgba(0,0,0,.06);
}

.visual-match-label {
    padding:
        3px 7px;

    color:
        #687d8c;

    background:
        #f4f7f8;

    border-bottom:
        1px solid #c9d2d7;

    font-size:
        .68rem;
}

.visual-player {
    min-height: 31px;

    padding:
        6px 8px;

    border-bottom:
        1px solid #b9c5cc;

    color:
        #15232b;

    font-size:
        .88rem;

    line-height:
        1.2;
}

.visual-player:last-of-type {
    border-bottom: 0;
}

.visual-player.winner {
    background:
        #e2f2e6;

    font-weight:
        800;
}

.visual-result {
    padding:
        3px 7px;

    background:
        #f2f6f3;

    color:
        #356345;

    font-size:
        .68rem;

    font-weight:
        700;
}

@media (max-width: 700px) {
    .visual-bracket {
        gap: 30px;
    }

    .visual-bracket-round,
    .visual-match {
        width: 215px;
    }

    .division-draw-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Patch 05 - match-result entry */

.match-result-entry {
    border-top:
        1px solid #d8dfdb;

    background:
        #f7faf8;
}

.match-result-entry summary {
    padding:
        7px 9px;

    cursor:
        pointer;

    color:
        var(--green);

    font-size:
        .75rem;

    font-weight:
        800;
}

.match-result-entry form {
    padding:
        8px 9px 10px;

    border-top:
        1px solid #e0e6e2;
}

.match-result-entry label {
    margin:
        6px 0;

    font-size:
        .73rem;
}

.match-result-entry select,
.match-result-entry input {
    padding:
        6px 7px;

    margin-top:
        3px;

    font-size:
        .78rem;
}

.match-result-entry button {
    width: 100%;

    margin-top:
        7px;

    padding:
        7px;
}

.match-entry-hint {
    padding:
        5px 8px;

    color:
        #7a847e;

    background:
        #f4f6f4;

    font-size:
        .68rem;

    text-align:
        center;
}

/*
 * Result-entry controls make admin
 * match cards taller than clubhouse cards.
 */
#draws .visual-bracket {
    --admin-match-extra:
        120px;
}

#draws .visual-match {
    overflow: visible;
}

#draws .visual-bracket-matches {
    gap: 12px;
}

/* Patch 05A - bracket height / clipping fixes */

#draws .bracket-scroll {
    overflow-x: auto;
    overflow-y: visible;

    padding-bottom: 70px;
}

#draws .visual-bracket {
    height: var(--bracket-height);
    min-height: var(--bracket-height);

    overflow: visible;
}

#draws .visual-bracket-round {
    overflow: visible;
}

#draws .visual-bracket-matches {
    overflow: visible;
}

#draws .visual-match {
    overflow: visible;
}

#draws .match-result-entry[open] {
    position: relative;
    z-index: 20;

    background: white;

    box-shadow:
        0 7px 18px
        rgba(0,0,0,.12);
}

/*
 * Make sure the final first-round match
 * cannot disappear underneath the next
 * section/card.
 */
#draws .visual-bracket {
    margin-bottom: 35px;
}

/* ==========================================================
   Patch 06 - dedicated draw workspace
   ========================================================== */

.draws-page,
.division-draw-page {
    width: 100%;
}

.draw-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;

    margin-bottom: 20px;
}

.draw-page-header h1 {
    margin:
        5px 0 2px;
}

.breadcrumb-row {
    margin-bottom: 3px;

    font-size: .88rem;
}

.breadcrumb-row a {
    color: var(--green);
    font-weight: 700;
    text-decoration: none;
}

.draw-page-header-actions {
    display: flex;
    gap: 10px;
    align-items: center;
}

.draws-launch-row {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

/* Main division selection page */

.draw-division-grid {
    display: grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(260px, 1fr)
        );

    gap: 14px;
}

.draw-division-card {
    display: flex;
    flex-direction: column;
    gap: 12px;

    min-height: 130px;

    padding: 18px;

    color: inherit;
    background: #fff;

    border:
        1px solid
        var(--line);

    border-radius: 10px;

    text-decoration: none;

    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}

.draw-division-card:hover {
    border-color:
        #73907d;

    box-shadow:
        0 7px 18px
        rgba(20, 55, 37, .10);

    transform:
        translateY(-1px);
}

.draw-division-card strong {
    color:
        var(--green);

    font-size:
        1rem;
}

.draw-division-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.draw-competition-label,
.draw-match-count {
    color:
        #6c7770;

    font-size:
        .72rem;

    font-weight:
        700;

    text-transform:
        uppercase;
}

.draw-card-action {
    margin-top: auto;

    color:
        var(--green);

    font-size:
        .82rem;

    font-weight:
        800;
}

/* Division workspace */

.division-draw-shell {
    display: grid;

    grid-template-columns:
        235px
        minmax(0, 1fr);

    gap: 20px;

    align-items: start;
}

.division-draw-nav {
    position: sticky;

    top: 16px;

    overflow: hidden;

    background:
        #fff;

    border:
        1px solid
        var(--line);

    border-radius:
        10px;

    box-shadow:
        0 2px 8px
        rgba(0,0,0,.04);
}

.division-nav-title {
    padding:
        13px 14px;

    color:
        #6a756e;

    background:
        #f4f7f5;

    border-bottom:
        1px solid
        var(--line);

    font-size:
        .72rem;

    font-weight:
        800;

    text-transform:
        uppercase;
}

.division-nav-overview,
.division-nav-link {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 10px;

    padding:
        11px 13px;

    color:
        #24342b;

    border-bottom:
        1px solid
        #edf0ee;

    text-decoration: none;

    font-size:
        .82rem;

    line-height:
        1.25;
}

.division-nav-link:last-child {
    border-bottom: 0;
}

.division-nav-overview {
    color:
        var(--green);

    font-weight:
        800;
}

.division-nav-link:hover {
    background:
        #f4f8f5;
}

.division-nav-link.active {
    color:
        #fff;

    background:
        var(--green);

    font-weight:
        800;
}

.division-nav-link small {
    flex: 0 0 auto;

    min-width: 22px;

    padding:
        2px 5px;

    border-radius:
        999px;

    background:
        rgba(0,0,0,.07);

    text-align:
        center;
}

.division-nav-link.active small {
    background:
        rgba(255,255,255,.18);
}

.division-draw-content {
    min-width: 0;
}

.division-bracket-card {
    margin-bottom:
        22px;
}

.division-bracket-card
.bracket-scroll {
    overflow-x:
        auto;

    overflow-y:
        visible;

    padding-bottom:
        55px;
}

/*
 * Result-entry cards need enough room to remain
 * visible inside the individual draw workspace.
 */
.division-bracket-card
.visual-bracket {
    overflow:
        visible;
}

.division-bracket-card
.visual-bracket-round,
.division-bracket-card
.visual-bracket-matches,
.division-bracket-card
.visual-match {
    overflow:
        visible;
}

/* Tablet / phone:
   sidebar becomes sticky horizontal navigation */

@media (max-width: 900px) {

    .division-draw-shell {
        display: block;
    }

    .division-draw-nav {
        position: sticky;

        top: 0;

        z-index: 80;

        display: flex;

        gap: 0;

        overflow-x: auto;
        overflow-y: hidden;

        margin-bottom: 16px;

        border-radius: 8px;

        white-space: nowrap;
    }

    .division-nav-title {
        display: none;
    }

    .division-nav-overview,
    .division-nav-link {
        flex:
            0 0 auto;

        min-height:
            44px;

        border-right:
            1px solid
            #e5e9e6;

        border-bottom:
            0;
    }

    .division-nav-link span {
        max-width:
            190px;

        overflow:
            hidden;

        text-overflow:
            ellipsis;
    }

    .draw-page-header {
        flex-direction:
            column;
    }
}

@media (max-width: 600px) {

    .draw-division-grid {
        grid-template-columns:
            1fr;
    }

    .draw-page-header-actions {
        width:
            100%;
    }

    .draw-page-header-actions
    .button {
        width:
            100%;

        text-align:
            center;
    }
}

/* ==========================================================
   Patch 07 - 54 Hole Stableford
   ========================================================== */

.stableford-shell {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr);
    gap: 20px;
}

.stableford-shell:has(
    .division-draw-nav
) {
    grid-template-columns:
        230px
        minmax(0, 1fr);
}

.stableford-main {
    min-width: 0;
}

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

.stableford-table
.stableford-score-input {
    width: 72px;
    min-width: 72px;

    text-align: center;
    font-weight: 700;
}

.stableford-position {
    width: 55px;
    text-align: center;
    font-weight: 800;
}

.stableford-total {
    font-size: 1.05rem;
    font-weight: 900;
    color: var(--green);
}

.stableford-save-bar {
    position: sticky;
    bottom: 12px;
    z-index: 30;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;

    margin-top: 16px;
    padding: 12px 14px;

    background:
        rgba(255,255,255,.97);

    border:
        1px solid
        var(--line);

    border-radius: 10px;

    box-shadow:
        0 7px 20px
        rgba(0,0,0,.10);
}

/* Clubhouse display */

.stableford-clubhouse-body {
    margin: 0;
    background: #f5f7f5;
    color: #14231a;
}

.stableford-clubhouse-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;

    padding: 22px 34px;

    background: #123522;
    color: #fff;
}

.stableford-clubhouse-header h1 {
    margin: 0 0 4px;
    font-size: 2rem;
}

.stableford-clubhouse-status {
    padding: 8px 12px;

    border:
        1px solid
        rgba(255,255,255,.4);

    border-radius: 999px;

    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .06em;
}

.stableford-clubhouse-main {
    padding: 26px 34px 50px;
}

.stableford-clubhouse-table {
    width: 100%;
    border-collapse: collapse;

    background: #fff;

    font-size: 1.35rem;
}

.stableford-clubhouse-table th {
    padding: 12px 16px;

    background: #e8eee9;
    color: #536159;

    border-bottom: 2px solid #b8c5bc;

    text-align: center;

    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.stableford-clubhouse-table th:nth-child(2) {
    text-align: left;
}

.stableford-clubhouse-table td {
    padding: 13px 16px;

    border-bottom:
        1px solid #dce2de;

    text-align: center;
}

.stableford-clubhouse-table
.player {
    text-align: left;
    font-weight: 700;
}

.stableford-clubhouse-table
.position {
    width: 70px;
    font-weight: 900;
}

.stableford-clubhouse-table
.total {
    color: #123522;
    font-size: 1.55rem;
    font-weight: 900;
}

.stableford-clubhouse-table
tr.leader {
    background: #e6f2e9;
}

@media (max-width: 900px) {

    .stableford-shell,
    .stableford-shell:has(
        .division-draw-nav
    ) {
        display: block;
    }

    .stableford-save-bar {
        flex-direction: column;
        align-items: stretch;
    }

    .stableford-save-bar
    button {
        width: 100%;
    }
}

@media (max-width: 700px) {

    .stableford-clubhouse-header {
        align-items: flex-start;
        flex-direction: column;

        padding: 18px 20px;
    }

    .stableford-clubhouse-main {
        padding: 14px;
        overflow-x: auto;
    }

    .stableford-clubhouse-table {
        min-width: 700px;
    }
}

/* ==========================================================
   Patch 08 - Tee Scheduling
   ========================================================== */

.tee-settings-grid {
    display: grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(190px, 1fr)
        );

    gap: 16px;
}

.tee-settings-grid label {
    font-size: .8rem;
    font-weight: 700;
}

.tee-settings-grid input {
    width: 100%;
    margin-top: 5px;
}

.tee-seed-input {
    width: 72px;
    text-align: center;
}

.visual-match-tee-time {
    padding: 4px 7px;

    color: #245034;
    background: #edf5ef;

    border-bottom:
        1px solid #c8d9cc;

    font-size: .69rem;
    font-weight: 800;
}

/* Starter sheet */

.starter-body {
    margin: 0;
    color: #17261c;
    background: #f4f6f4;
}

.starter-header {
    position: sticky;
    top: 0;
    z-index: 30;

    display: flex;
    justify-content: space-between;
    align-items: center;

    gap: 20px;

    padding: 18px 28px;

    color: #fff;
    background: #123522;
}

.starter-header h1 {
    margin: 0 0 3px;
}

.starter-main {
    max-width: 1400px;

    margin: 0 auto;
    padding: 24px;
}

.starter-day {
    margin-bottom: 32px;

    padding: 18px;

    background: #fff;

    border:
        1px solid #d5ddd7;

    border-radius: 10px;
}

.starter-day > h2 {
    margin-top: 0;

    color: #123522;
}

.starter-two-tees {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 24px;
}

.starter-two-tees h3 {
    margin-top: 0;

    padding: 7px 10px;

    color: #fff;
    background: #315c40;

    border-radius: 5px;
}

.starter-slot {
    display: grid;

    grid-template-columns:
        88px
        minmax(0, 1fr);

    gap: 12px;

    min-height: 62px;

    padding: 10px;

    border-bottom:
        1px solid #dce2dd;
}

.starter-time {
    color: #123522;

    font-size: 1.02rem;
    font-weight: 900;
}

.starter-player {
    margin: 2px 0;

    font-weight: 600;
}

@media (max-width: 700px) {

    .starter-two-tees {
        grid-template-columns: 1fr;
    }

    .starter-main {
        padding: 12px;
    }
}

@media print {

    .no-print {
        display: none !important;
    }

    .starter-header {
        position: static;

        padding: 8px 0;

        color: #000;
        background: #fff;
    }

    .starter-main {
        max-width: none;
        padding: 0;
    }

    .starter-day {
        padding: 0;

        border: 0;

        break-after: page;
    }

    .starter-two-tees h3 {
        color: #000;
        background: #eee;

        border:
            1px solid #999;
    }
}

/* Patch 08C - Competition Seed controls */

.entries-seed-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;

    margin: 14px 0 18px;
    padding: 12px 14px;

    background: #f4f8f5;

    border:
        1px solid #d6e1d9;

    border-radius: 9px;
}

.entries-seed-toolbar strong {
    color: var(--green);
}

.entries-seed-toolbar .muted {
    margin-top: 3px;
    font-size: .78rem;
}

.entries-seed-toolbar form {
    flex: 0 0 auto;
}

@media (max-width: 700px) {

    .entries-seed-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .entries-seed-toolbar button {
        width: 100%;
    }
}

/* Patch 08D - Competition Seed sorting */

.competition-seed-sortable {
    cursor: pointer;
    user-select: none;
}

.competition-seed-sortable:hover {
    color: var(--green);
}

.competition-seed-sort-indicator {
    display: inline-block;

    min-width: 18px;

    color: var(--green);

    font-size: .8em;
    font-weight: 900;
}

/* ==========================================================
   Patch 08E - Tee Schedule Validation
   ========================================================== */

.tee-validation-card {
    border-left:
        5px solid #a6afa9;
}

.tee-validation-card.valid {
    border-left-color:
        #2f7a46;

    background:
        #f4faf5;
}

.tee-validation-card.invalid {
    border-left-color:
        #b24a3d;

    background:
        #fff7f5;
}

.tee-validation-heading {
    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 18px;
}

.tee-validation-heading h2 {
    margin:
        0 0 4px;
}

.tee-validation-heading p {
    margin:
        0;
}

.tee-validation-badge {
    flex:
        0 0 auto;

    padding:
        6px 10px;

    border-radius:
        999px;

    font-size:
        .77rem;

    font-weight:
        900;
}

.tee-validation-card.valid
.tee-validation-badge {
    color:
        #1d6235;

    background:
        #ddefe1;
}

.tee-validation-card.invalid
.tee-validation-badge {
    color:
        #8f3027;

    background:
        #f4d9d5;
}

.tee-validation-issues {
    display:
        grid;

    gap:
        8px;

    margin-top:
        14px;
}

.tee-validation-issue {
    padding:
        9px 11px;

    color:
        #7e2922;

    background:
        #fff;

    border:
        1px solid #efc9c4;

    border-radius:
        6px;

    font-size:
        .84rem;

    font-weight:
        600;
}

@media (max-width: 650px) {

    .tee-validation-heading {
        flex-direction:
            column;
    }
}

/* ==========================================================
   Patch 09 - Manual Tee Adjustments
   ========================================================== */

.schedule-manual-warning {
    margin-bottom: 18px;
    padding: 12px 14px;

    color: #694d16;
    background: #fff8e7;

    border:
        1px solid #ead6a5;

    border-radius: 8px;
}

.manual-player-form {
    display: grid;

    grid-template-columns:
        minmax(220px, 1fr)
        minmax(220px, 1fr)
        auto;

    gap: 12px;

    align-items: end;
}

.manual-player-form label {
    font-size: .8rem;
    font-weight: 700;
}

.manual-player-form select {
    width: 100%;
    margin-top: 5px;
}

.manual-group-grid {
    display: grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(270px, 1fr)
        );

    gap: 14px;
}

.manual-group-card {
    padding: 14px;

    background: #fafcfb;

    border:
        1px solid var(--line);

    border-radius: 9px;
}

.manual-group-title {
    display: flex;
    justify-content: space-between;

    margin-bottom: 10px;

    color: var(--green);

    font-weight: 900;
}

.manual-group-title span {
    color: #6c7870;

    font-size: .78rem;
}

.manual-group-fields {
    display: grid;

    grid-template-columns:
        1fr 1fr 85px;

    gap: 7px;

    margin-bottom: 10px;
}

.manual-group-fields input,
.manual-group-fields select {
    width: 100%;
}

.manual-group-type {
    margin-bottom: 8px;

    color: #6d7871;

    font-size: .75rem;
    font-weight: 700;
}

.manual-group-players {
    min-height: 82px;

    margin-bottom: 10px;
    padding: 8px 10px;

    background: #fff;

    border:
        1px solid #e0e6e2;

    border-radius: 6px;
}

.manual-group-players div {
    padding: 2px 0;

    font-size: .85rem;
    font-weight: 600;
}

@media (max-width: 800px) {

    .manual-player-form {
        grid-template-columns: 1fr;
    }

    .manual-group-fields {
        grid-template-columns:
            1fr 1fr;
    }

    .manual-group-fields select {
        grid-column:
            1 / -1;
    }
}

/* ==========================================================
   Patch 09C - Match Play Foursomes
   ========================================================== */

.match-foursome-card {
    border-left:
        4px solid #315c40;
}

.linked-foursome-badge {
    display: inline-block;

    margin:
        0 0 9px;

    padding:
        4px 7px;

    color:
        #285037;

    background:
        #e7f1e9;

    border:
        1px solid #c7dacb;

    border-radius:
        999px;

    font-size:
        .7rem;

    font-weight:
        800;
}

.match-foursome-card
.manual-group-players {
    min-height:
        64px;
}

.match-foursome-card
.manual-group-players div {
    padding:
        4px 0;

    border-bottom:
        1px solid #edf0ee;
}

.match-foursome-card
.manual-group-players div:last-child {
    border-bottom:
        0;
}

/* ==========================================================
   Patch 10 - Clubhouse Daily Board
   ========================================================== */

.clubhouse-board-body {
    height: 100vh;
    margin: 0;

    overflow: hidden;

    color: #eef5f0;
    background:
        #10291b;
}

.clubhouse-board-header {
    height: 96px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 25px;

    padding:
        14px 30px;

    box-sizing: border-box;

    background:
        #0b2014;

    border-bottom:
        2px solid #426e4f;
}

.clubhouse-board-header h1 {
    margin: 0 0 4px;

    color: #fff;

    font-size: 2rem;
}

.clubhouse-live-pill {
    padding:
        7px 12px;

    color: #c7f6d2;

    border:
        1px solid #5f9b6e;

    border-radius:
        999px;

    font-size:
        .8rem;

    font-weight:
        900;

    letter-spacing:
        .08em;
}

.clubhouse-board-main {
    height:
        calc(
            100vh - 96px
        );

    overflow-y:
        auto;

    scrollbar-width:
        none;

    padding:
        22px 28px 80px;

    box-sizing:
        border-box;
}

.clubhouse-board-main::-webkit-scrollbar {
    display: none;
}

.clubhouse-board-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1.15fr);

    gap: 20px;
}

.clubhouse-board-panel {
    margin-bottom: 20px;

    padding: 18px;

    color: #13251a;
    background: #f7faf8;

    border-radius: 12px;

    box-shadow:
        0 8px 22px
        rgba(0,0,0,.16);
}

.clubhouse-board-panel h2 {
    margin:
        0 0 14px;

    color:
        #123522;

    font-size:
        1.35rem;
}

.clubhouse-empty {
    padding:
        24px 10px;

    color:
        #7a857e;

    text-align:
        center;
}

.clubhouse-result-row {
    display: grid;

    grid-template-columns:
        minmax(150px, .8fr)
        minmax(220px, 1.5fr)
        110px;

    gap: 12px;

    align-items: center;

    padding:
        10px 0;

    border-bottom:
        1px solid #dce5df;
}

.clubhouse-result-heading {
    color:
        #315c40;

    font-size:
        .82rem;

    font-weight:
        800;
}

.clubhouse-result-match {
    font-size:
        1.02rem;

    font-weight:
        700;
}

.clubhouse-result-match span {
    color:
        #849087;

    padding:
        0 5px;
}

.clubhouse-result-score {
    color:
        #123522;

    text-align:
        right;

    font-size:
        1.05rem;

    font-weight:
        900;
}

.clubhouse-upcoming-row {
    display: grid;

    grid-template-columns:
        68px 48px minmax(0, 1fr);

    gap: 10px;

    align-items:
        start;

    padding:
        10px 0;

    border-bottom:
        1px solid #dce5df;
}

.clubhouse-upcoming-time {
    color:
        #123522;

    font-size:
        1.15rem;

    font-weight:
        900;
}

.clubhouse-upcoming-time small {
    font-size:
        .65rem;
}

.clubhouse-upcoming-tee {
    padding:
        3px 5px;

    color:
        #fff;

    background:
        #315c40;

    border-radius:
        5px;

    text-align:
        center;

    font-weight:
        900;
}

.clubhouse-upcoming-detail strong {
    display:
        block;

    margin-bottom:
        2px;

    color:
        #123522;
}

.clubhouse-stableford-panel {
    margin-top:
        4px;
}

.clubhouse-mini-leaderboard {
    width:
        100%;

    border-collapse:
        collapse;
}

.clubhouse-mini-leaderboard th,
.clubhouse-mini-leaderboard td {
    padding:
        8px 10px;

    border-bottom:
        1px solid #dce5df;
}

.clubhouse-mini-leaderboard th {
    color:
        #6b766f;

    text-transform:
        uppercase;

    font-size:
        .72rem;
}

.clubhouse-mini-leaderboard td:not(:nth-child(2)),
.clubhouse-mini-leaderboard th:not(:nth-child(2)) {
    text-align:
        center;
}

.clubhouse-total {
    color:
        #123522;

    font-weight:
        900;
}

/* ==========================================================
   Member competition experience
   ========================================================== */

.member-competition-page {
    width:
        100%;
}

.member-competition-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(230px, 1fr)
        );

    gap:
        13px;
}

.member-competition-card {
    display:
        flex;

    flex-direction:
        column;

    min-height:
        150px;

    gap:
        10px;

    padding:
        16px;

    color:
        inherit;

    background:
        #fff;

    border:
        1px solid var(--line);

    border-radius:
        11px;

    text-decoration:
        none;
}

.member-competition-card strong {
    color:
        var(--green);

    font-size:
        1rem;
}

.member-competition-type {
    color:
        #7a847e;

    font-size:
        .7rem;

    font-weight:
        800;

    text-transform:
        uppercase;
}

.member-competition-format {
    color:
        #626e66;

    font-size:
        .8rem;
}

.member-competition-open {
    margin-top:
        auto;

    color:
        var(--green);

    font-size:
        .8rem;

    font-weight:
        900;
}

.member-competition-nav {
    position:
        sticky;

    top:
        0;

    z-index:
        90;

    display:
        flex;

    gap:
        6px;

    overflow-x:
        auto;

    margin:
        -4px 0 16px;

    padding:
        8px;

    background:
        rgba(246,248,246,.96);

    border:
        1px solid #dce3de;

    border-radius:
        9px;

    backdrop-filter:
        blur(7px);

    white-space:
        nowrap;
}

.member-competition-nav a {
    flex:
        0 0 auto;

    padding:
        7px 10px;

    color:
        #264332;

    background:
        #fff;

    border:
        1px solid #d9e1db;

    border-radius:
        999px;

    text-decoration:
        none;

    font-size:
        .75rem;

    font-weight:
        800;
}

.member-competition-nav a.active {
    color:
        #fff;

    background:
        var(--green);

    border-color:
        var(--green);
}

.member-competition-heading {
    margin-bottom:
        14px;
}

.member-competition-heading h1 {
    margin-bottom:
        2px;
}

.member-draw-card {
    margin-bottom:
        18px;
}

.member-stableford-table td,
.member-stableford-table th {
    white-space:
        nowrap;
}

@media (max-width: 900px) {

    .clubhouse-board-grid {
        grid-template-columns:
            1fr;
    }
}

@media (max-width: 650px) {

    .member-competition-grid {
        grid-template-columns:
            1fr;
    }

    .member-competition-card {
        min-height:
            125px;
    }
}

/* ==========================================================
   Patch 10A - Bracket / Draw Overflow Fix
   ========================================================== */

/*
 * Any page containing a bracket must be allowed to shrink
 * inside its parent instead of forcing/clipping the layout.
 */
.member-competition-page,
.member-draw-card,
.draw-page,
.draw-page-content,
.bracket-container,
.bracket-wrapper {
    min-width: 0;
    max-width: 100%;
}

/*
 * The bracket itself is naturally wider than a phone screen.
 * The correct behaviour is horizontal scrolling, not clipping
 * or squeezing rounds together.
 */
.bracket-scroll {
    display: block;

    width: 100%;
    max-width: 100%;

    overflow-x: auto !important;
    overflow-y: visible !important;

    padding:
        4px 4px 18px;

    box-sizing: border-box;

    -webkit-overflow-scrolling: touch;

    overscroll-behavior-x: contain;

    scrollbar-width: thin;
}

/*
 * Do not let a surrounding card hide the right side of the draw.
 */
.member-draw-card,
.member-draw-card.card,
.draw-page .card,
.admin-draw-card {
    overflow: visible !important;
}

/*
 * Keep the bracket at its natural width.
 *
 * This is important for 16-player draws where several rounds
 * need considerably more width than the viewport.
 */
.bracket-scroll > .bracket-tree,
.bracket-scroll .bracket-tree {
    width: max-content !important;
    min-width: max-content !important;
    max-width: none !important;
}

/*
 * Individual rounds must not collapse narrower just because
 * the viewport is narrow.
 */
.bracket-tree .bracket-round,
.bracket-tree .round-column,
.bracket-tree .bracket-column {
    flex:
        0 0 260px !important;

    width:
        260px;

    min-width:
        260px;
}

/*
 * Allow flex/grid parents to actually expose the horizontal
 * scroller instead of expanding beyond the viewport.
 */
.bracket-scroll,
.bracket-scroll * {
    box-sizing: border-box;
}

/*
 * Make touch scrolling feel natural on phones/tablets.
 */
@media (max-width: 800px) {

    .member-draw-card {
        padding-left:
            10px;

        padding-right:
            10px;
    }

    .bracket-scroll {
        margin-left:
            0;

        margin-right:
            0;

        padding-bottom:
            20px;
    }

    .bracket-tree .bracket-round,
    .bracket-tree .round-column,
    .bracket-tree .bracket-column {
        flex-basis:
            240px !important;

        width:
            240px;

        min-width:
            240px;
    }
}

/*
 * Small visual hint that more draw exists off-screen.
 */
.member-draw-card .bracket-scroll {
    background:
        linear-gradient(
            to right,
            transparent 0,
            transparent calc(100% - 18px),
            rgba(24, 66, 39, .06) 100%
        );
}

/*
 * Do not allow long player names or result text to push
 * an individual match card wider than its bracket column.
 */
.bracket-tree .match-card,
.bracket-tree .bracket-match,
.bracket-tree .visual-match {
    max-width:
        100%;

    overflow-wrap:
        anywhere;
}


/* ==========================================================
   Patch 11 - My Tournament
   ========================================================== */

.my-tournament-page {
    width: 100%;
    max-width: 1050px;

    margin: 0 auto;
}

.my-tournament-header {
    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 18px;

    margin-bottom: 18px;
}

.my-tournament-header h1 {
    margin:
        2px 0 3px;
}

.my-tournament-eyebrow {
    color: #66736b;

    font-size: .72rem;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .06em;
}

.member-my-tournament-launch {
    display: flex;

    justify-content: flex-end;

    margin-bottom: 14px;
}

/* Next tee time */

.my-next-card {
    margin-bottom: 16px;
    padding: 18px;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            #153b25 0%,
            #245b39 100%
        );

    border-radius: 13px;

    box-shadow:
        0 8px 24px
        rgba(17, 48, 30, .18);
}

.my-next-label {
    margin-bottom: 10px;

    color: #cbe4d3;

    font-size: .72rem;
    font-weight: 900;

    text-transform: uppercase;
    letter-spacing: .08em;
}

.my-next-main {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;
}

.my-next-day {
    margin-bottom: 2px;

    color: #d3e7d9;

    font-size: .9rem;

    font-weight: 700;
}

.my-next-time {
    font-size: 2.3rem;
    font-weight: 900;

    line-height: 1;
}

.my-next-time span {
    font-size: .9rem;

    font-weight: 700;
}

.my-next-tee {
    display: flex;

    flex-direction: column;

    align-items: center;

    min-width: 72px;

    padding: 9px 13px;

    color: #163d26;
    background: #fff;

    border-radius: 10px;
}

.my-next-tee small {
    font-size: .62rem;
    font-weight: 900;
}

.my-next-tee strong {
    font-size: 2rem;

    line-height: 1;
}

.my-next-title {
    margin-top: 16px;

    font-size: 1.02rem;
    font-weight: 900;
}

.my-next-detail {
    margin-top: 3px;

    color: #d9eade;

    font-size: .9rem;
}

.my-next-draw-link {
    display: inline-block;

    margin-top: 13px;

    color: #fff;

    font-size: .8rem;
    font-weight: 800;
}

/* Summary */

.my-status-grid {
    display: grid;

    grid-template-columns:
        .7fr .7fr 1.6fr;

    gap: 11px;

    margin-bottom: 16px;
}

.my-status-card {
    margin: 0;
}

.my-status-label {
    margin-bottom: 4px;

    color: #748078;

    font-size: .68rem;
    font-weight: 800;

    text-transform: uppercase;
}

.my-status-card strong {
    display: block;

    color: var(--green);

    font-size: 1rem;
}

.my-status-card a {
    display: inline-block;

    margin-top: 5px;

    font-size: .75rem;
    font-weight: 700;
}

/* Schedule */

.my-schedule-list {
    display: grid;

    gap: 0;
}

.my-schedule-item {
    display: grid;

    grid-template-columns:
        58px 82px 62px minmax(0, 1fr);

    gap: 10px;

    align-items: center;

    padding: 11px 0;

    border-bottom:
        1px solid #e2e7e3;
}

.my-schedule-item:last-child {
    border-bottom: 0;
}

.my-schedule-item.complete {
    opacity: .63;
}

.my-schedule-date {
    display: flex;

    flex-direction: column;
}

.my-schedule-date strong {
    color: var(--green);
}

.my-schedule-date span {
    color: #77827b;

    font-size: .7rem;
}

.my-schedule-time {
    font-weight: 800;
}

.my-schedule-tee {
    padding: 4px 5px;

    color: #fff;
    background: #315c40;

    border-radius: 5px;

    text-align: center;

    font-size: .72rem;
    font-weight: 800;
}

.my-schedule-detail strong {
    display: block;

    color: #22372a;

    font-size: .83rem;
}

.my-schedule-detail > div {
    margin-top: 2px;

    color: #69756d;

    font-size: .76rem;
}

.my-result-text {
    color: var(--green) !important;

    font-weight: 900 !important;
}

/* Scores */

.my-score-grid {
    display: grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(150px, 1fr)
        );

    gap: 10px;
}

.my-score-card {
    padding: 13px;

    background: #f7faf8;

    border:
        1px solid #dfe6e1;

    border-radius: 8px;
}

.my-score-round {
    margin-bottom: 8px;

    color: #67736b;

    font-size: .72rem;
    font-weight: 900;

    text-transform: uppercase;
}

.my-score-value {
    display: flex;

    align-items: baseline;
    justify-content: space-between;

    gap: 10px;

    margin-top: 3px;
}

.my-score-value span {
    color: #758079;

    font-size: .75rem;
}

.my-score-value strong {
    color: var(--green);

    font-size: 1.25rem;
}

/* Match list */

.my-match-list {
    display: grid;
}

.my-match-row {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 15px;

    padding: 11px 0;

    border-bottom:
        1px solid #e2e7e3;
}

.my-match-row:last-child {
    border-bottom: 0;
}

.my-match-round {
    margin-bottom: 3px;

    color: #79847d;

    font-size: .68rem;
    font-weight: 800;

    text-transform: uppercase;
}

.my-match-meta {
    display: flex;

    flex-direction: column;

    align-items: flex-end;

    gap: 2px;

    color: #6b766f;

    font-size: .75rem;
}

/* Stableford */

.my-stableford-summary {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 9px;
}

.my-stableford-summary > div {
    display: flex;

    flex-direction: column;

    align-items: center;

    padding: 12px;

    background: #f6f9f7;

    border:
        1px solid #dde5df;

    border-radius: 8px;
}

.my-stableford-summary span {
    color: #78837c;

    font-size: .68rem;
    font-weight: 800;
}

.my-stableford-summary strong {
    margin-top: 3px;

    color: var(--green);

    font-size: 1.35rem;
}

.my-stableford-summary .total {
    color: #fff;
    background: #315c40;

    border-color: #315c40;
}

.my-stableford-summary .total span,
.my-stableford-summary .total strong {
    color: #fff;
}

.my-live-status {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 6px;

    padding: 13px;

    color: #718078;

    font-size: .68rem;
    font-weight: 700;
}

.my-live-dot {
    width: 7px;
    height: 7px;

    background: #47a863;

    border-radius: 50%;
}

.my-tournament-empty,
.my-no-next {
    text-align: center;
}

/* Phone layout */

@media (max-width: 700px) {

    .my-tournament-header {
        align-items: stretch;
        flex-direction: column;
    }

    .my-tournament-header .button {
        width: 100%;

        box-sizing: border-box;

        text-align: center;
    }

    .my-status-grid {
        grid-template-columns:
            1fr 1fr;
    }

    .my-status-wide {
        grid-column:
            1 / -1;
    }

    .my-schedule-item {
        grid-template-columns:
            48px 72px 55px minmax(0, 1fr);

        gap: 7px;
    }

    .my-next-time {
        font-size: 2rem;
    }

    .my-match-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .my-match-meta {
        align-items: flex-start;

        flex-direction: row;
        flex-wrap: wrap;

        gap: 8px;
    }
}

@media (max-width: 480px) {

    .my-schedule-item {
        grid-template-columns:
            44px 1fr 55px;

        align-items: start;
    }

    .my-schedule-detail {
        grid-column:
            1 / -1;

        padding-left: 51px;
    }

    .my-stableford-summary {
        grid-template-columns:
            repeat(2, 1fr);
    }
}

/* ==========================================================
   Patch 11B - Member Navigation
   ========================================================== */

.member-main-nav {
    position: sticky;
    top: 0;

    z-index: 500;

    width: 100%;

    background:
        #173c27;

    border-bottom:
        3px solid #c8a94c;

    box-shadow:
        0 2px 8px
        rgba(0, 0, 0, .14);
}

.member-main-nav-inner {
    display: flex;

    align-items: center;

    width: 100%;
    max-width: 1200px;

    min-height: 62px;

    margin: 0 auto;

    padding:
        8px 16px;

    box-sizing: border-box;

    gap: 18px;
}

.member-nav-brand {
    flex:
        0 0 auto;

    color: #fff;

    text-decoration: none;

    font-size: 1rem;
    font-weight: 900;

    white-space: nowrap;
}

.member-nav-links {
    display: flex;

    align-items: center;

    gap: 7px;

    flex: 1;

    overflow-x: auto;

    scrollbar-width: none;
}

.member-nav-links::-webkit-scrollbar {
    display: none;
}

.member-nav-links a {
    flex:
        0 0 auto;

    padding:
        7px 11px;

    color:
        #eaf2ec;

    border:
        1px solid
        rgba(255,255,255,.18);

    border-radius:
        7px;

    text-decoration: none;

    font-size:
        .78rem;

    font-weight:
        800;

    white-space:
        nowrap;
}

.member-nav-links a:hover,
.member-nav-links a.active {
    color:
        #173c27;

    background:
        #fff;

    border-color:
        #fff;
}

.member-nav-account {
    display: flex;

    align-items: center;

    gap: 9px;

    flex:
        0 0 auto;
}

.member-nav-name {
    color:
        #d5e4d9;

    font-size:
        .72rem;

    font-weight:
        700;
}

.member-nav-account form {
    margin: 0;
}

.member-nav-logout {
    padding:
        7px 10px;

    color:
        #fff;

    background:
        transparent;

    border:
        1px solid
        rgba(255,255,255,.35);

    border-radius:
        7px;

    cursor:
        pointer;

    font-size:
        .72rem;

    font-weight:
        800;
}

.member-nav-logout:hover {
    color:
        #173c27;

    background:
        #fff;
}

/* ----------------------------------------------------------
   Phone navigation
   ---------------------------------------------------------- */

@media (max-width: 720px) {

    .member-main-nav-inner {
        display: grid;

        grid-template-columns:
            1fr auto;

        gap:
            7px 10px;

        padding:
            8px 10px;
    }

    .member-nav-brand {
        grid-column:
            1;

        grid-row:
            1;

        font-size:
            .9rem;
    }

    .member-nav-account {
        grid-column:
            2;

        grid-row:
            1;

        justify-self:
            end;
    }

    .member-nav-name {
        display:
            none;
    }

    .member-nav-links {
        grid-column:
            1 / -1;

        grid-row:
            2;

        width:
            100%;

        padding-bottom:
            1px;
    }

    .member-nav-links a {
        padding:
            7px 10px;

        font-size:
            .72rem;
    }

    .member-nav-logout {
        padding:
            5px 8px;

        font-size:
            .68rem;
    }
}

/* ==========================================================
   Patch 11C - Dedicated Member Layout
   ========================================================== */

.member-layout-body {
    margin: 0;

    min-height: 100vh;

    background: #f3f5f3;
}

.member-layout-main {
    width: min(
        1180px,
        calc(100% - 28px)
    );

    margin: 0 auto;

    padding:
        22px 0 50px;
}

@media (max-width: 720px) {

    .member-layout-main {
        width:
            calc(100% - 20px);

        padding-top:
            14px;
    }
}

/* ==========================================================
   Patch 11D - Member navigation on Starter Sheet
   ========================================================== */

.starter-member-navigation {
    position: relative;
    z-index: 500;
}

/*
 * The starter sheet remains printable without the application
 * navigation appearing on the printed starter copy.
 */
@media print {

    .starter-member-navigation {
        display: none !important;
    }
}


/* ==========================================================
   Patch 12 - Finished Clubhouse Daily Board
   ========================================================== */

.clubhouse-board-kicker {
    margin-bottom:
        2px;

    color:
        #9ec0a9;

    font-size:
        .68rem;

    font-weight:
        900;

    letter-spacing:
        .09em;

    text-transform:
        uppercase;
}

.clubhouse-board-date {
    color:
        #d3e1d7;

    font-size:
        .9rem;

    font-weight:
        700;
}

.clubhouse-header-status {
    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-end;

    gap:
        6px;
}

.clubhouse-last-update {
    color:
        #a7b9ad;

    font-size:
        .65rem;

    font-weight:
        700;
}

.clubhouse-section {
    margin-bottom:
        24px;
}

.clubhouse-section-heading {
    display:
        flex;

    align-items:
        end;

    justify-content:
        space-between;

    gap:
        20px;

    margin:
        0 2px 10px;

    color:
        #d9e6dc;
}

.clubhouse-section-heading h2 {
    margin:
        0;

    color:
        #fff;

    font-size:
        1rem;

    text-transform:
        uppercase;

    letter-spacing:
        .055em;
}

.clubhouse-section-heading > div {
    color:
        #a6baa9;

    font-size:
        .7rem;
}

.clubhouse-qualification-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap:
        20px;
}

.clubhouse-qualification-panel {
    margin:
        0;
}

.clubhouse-panel-heading-row {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        12px;

    margin-bottom:
        12px;
}

.clubhouse-panel-heading-row h2 {
    margin:
        0;
}

.clubhouse-status-badge {
    flex:
        0 0 auto;

    padding:
        4px 8px;

    border-radius:
        999px;

    font-size:
        .62rem;

    font-weight:
        900;

    text-transform:
        uppercase;

    letter-spacing:
        .045em;
}

.clubhouse-status-badge.live {
    color:
        #27563a;

    background:
        #deeee3;
}

.clubhouse-status-badge.complete {
    color:
        #fff;

    background:
        #315c40;
}

.clubhouse-status-badge.warning {
    color:
        #704e13;

    background:
        #f5e5b9;
}

.clubhouse-table-scroll {
    width:
        100%;

    overflow-x:
        auto;
}

.clubhouse-qualification-table {
    width:
        100%;

    border-collapse:
        collapse;
}

.clubhouse-qualification-table th,
.clubhouse-qualification-table td {
    padding:
        7px 8px;

    border-bottom:
        1px solid #dce5df;

    text-align:
        center;

    white-space:
        nowrap;
}

.clubhouse-qualification-table th {
    color:
        #6e7a72;

    font-size:
        .61rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.clubhouse-qualification-table td {
    font-size:
        .78rem;
}

.clubhouse-qualification-table .player,
.clubhouse-qualification-table .division {
    text-align:
        left;
}

.clubhouse-qualification-table td.player {
    color:
        #193625;

    font-weight:
        800;
}

.clubhouse-qualification-table td.position {
    color:
        #173d27;

    font-weight:
        900;
}

.clubhouse-qualification-table td.seed {
    color:
        #768179;
}

.clubhouse-qualification-table td.total {
    color:
        #173d27;

    font-weight:
        900;
}

.clubhouse-qualification-table td.division {
    color:
        #486252;

    font-size:
        .68rem;
}

/* Qualified divisions */

.clubhouse-allocation-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(
                220px,
                1fr
            )
        );

    gap:
        11px;
}

.clubhouse-allocation-card {
    padding:
        13px 15px;

    color:
        #173326;

    background:
        #f7faf8;

    border-radius:
        10px;

    box-shadow:
        0 5px 16px
        rgba(
            0,
            0,
            0,
            .12
        );
}

.clubhouse-allocation-card h3 {
    margin:
        0 0 9px;

    color:
        #234f33;

    font-size:
        .85rem;
}

.clubhouse-allocation-list {
    display:
        grid;

    gap:
        4px;
}

.clubhouse-allocation-list > div {
    display:
        grid;

    grid-template-columns:
        27px
        minmax(
            0,
            1fr
        );

    gap:
        6px;

    align-items:
        center;

    font-size:
        .72rem;

    font-weight:
        700;
}

.allocation-seed {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        23px;

    height:
        23px;

    color:
        #fff;

    background:
        #315c40;

    border-radius:
        50%;

    font-size:
        .61rem;

    font-weight:
        900;
}

/* Finals */

.clubhouse-final-row {
    background:
        linear-gradient(
            90deg,
            rgba(
                205,
                175,
                77,
                .16
            ),
            rgba(
                205,
                175,
                77,
                .035
            )
        );
}

.clubhouse-final-label {
    display:
        inline-block;

    margin-right:
        5px;

    padding:
        2px 5px;

    color:
        #5b430b;

    background:
        #e8cf75;

    border-radius:
        4px;

    font-size:
        .54rem;

    font-weight:
        900;

    letter-spacing:
        .045em;

    vertical-align:
        middle;
}

.clubhouse-board-footer {
    padding:
        18px 0 8px;

    color:
        #8da395;

    text-align:
        center;

    font-size:
        .67rem;

    font-weight:
        700;

    letter-spacing:
        .04em;
}

/*
 * Override older leaderboard alignment where required.
 */
.clubhouse-mini-leaderboard .player {
    text-align:
        left !important;

    font-weight:
        800;
}

/* Large TV */

@media (min-width: 1500px) {

    .clubhouse-board-header {
        height:
            108px;

        padding:
            16px 38px;
    }

    .clubhouse-board-header h1 {
        font-size:
            2.25rem;
    }

    .clubhouse-board-main {
        height:
            calc(
                100vh - 108px
            );

        padding:
            26px 36px 90px;
    }

    .clubhouse-board-panel {
        padding:
            21px;
    }

    .clubhouse-qualification-table td,
    .clubhouse-mini-leaderboard td {
        font-size:
            .9rem;
    }
}

/* Smaller display / tablet */

@media (max-width: 1000px) {

    .clubhouse-qualification-grid {
        grid-template-columns:
            1fr;
    }
}

@media (max-width: 700px) {

    .clubhouse-board-header {
        height:
            auto;

        min-height:
            90px;

        padding:
            12px 15px;
    }

    .clubhouse-board-header h1 {
        font-size:
            1.25rem;
    }

    .clubhouse-board-main {
        height:
            calc(
                100vh - 90px
            );

        padding:
            14px 12px 60px;
    }

    .clubhouse-board-grid {
        grid-template-columns:
            1fr;
    }

    .clubhouse-result-row {
        grid-template-columns:
            1fr auto;
    }

    .clubhouse-result-heading {
        grid-column:
            1 / -1;
    }

    .clubhouse-allocation-grid {
        grid-template-columns:
            1fr 1fr;
    }
}

/* ==========================================================
   Patch 13 - Tournament Publishing
   ========================================================== */

.publication-status-card {
    border-left:
        5px solid #748078;
}

.publication-status-heading {
    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 18px;

    margin-bottom: 12px;
}

.publication-status-heading h2 {
    margin:
        0 0 3px;
}

.publication-state {
    flex:
        0 0 auto;

    padding:
        6px 10px;

    border-radius:
        999px;

    font-size:
        .7rem;

    font-weight:
        900;

    text-transform:
        uppercase;

    letter-spacing:
        .04em;
}

.publication-state-draft {
    color:
        #6c4c13;

    background:
        #f4e3b6;
}

.publication-state-changes {
    color:
        #85352b;

    background:
        #f2d4cf;
}

.publication-state-published {
    color:
        #235c37;

    background:
        #dceee1;
}

.publication-last-published {
    margin-bottom:
        11px;

    color:
        #68736c;

    font-size:
        .78rem;
}

.publication-warning,
.publication-good {
    margin-bottom:
        11px;

    padding:
        9px 11px;

    border-radius:
        7px;

    font-size:
        .8rem;

    font-weight:
        700;
}

.publication-warning {
    color:
        #745119;

    background:
        #fff7df;

    border:
        1px solid #ead8a7;
}

.publication-good {
    color:
        #25593a;

    background:
        #f0f8f2;

    border:
        1px solid #cfe2d4;
}

.publication-explainer {
    margin-bottom:
        14px;

    color:
        #68736c;

    font-size:
        .76rem;

    line-height:
        1.45;
}

.publication-waiting-card {
    max-width:
        650px;

    margin:
        50px auto;

    padding:
        32px;

    text-align:
        center;
}

.publication-waiting-icon {
    margin-bottom:
        12px;

    font-size:
        2.2rem;
}

.display-awaiting-publication {
    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        100vh;

    padding:
        30px;

    box-sizing:
        border-box;

    text-align:
        center;
}

.display-awaiting-publication h1 {
    margin:
        6px 0 15px;

    color:
        #fff;

    font-size:
        2.2rem;
}

.display-awaiting-message {
    color:
        #d3e5d8;

    font-size:
        1.15rem;

    font-weight:
        700;
}

@media (max-width: 700px) {

    .publication-status-heading {
        flex-direction:
            column;
    }
}

/* ==========================================================
   Patch 14 - Starter Sheet Live Control
   ========================================================== */

.starter-sheet-body {
    margin: 0;
    background: #eef2ef;
    color: #213128;
}

.starter-sheet-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    padding: 18px 24px;

    color: #fff;
    background: #234d32;
}

.starter-sheet-header h1 {
    margin: 0;
    font-size: 1.55rem;
}

.starter-sheet-kicker {
    color: #bad2c1;
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.starter-sheet-tournament {
    margin-top: 3px;
    color: #d9e8dd;
    font-size: .85rem;
}

.starter-sheet-header-actions {
    display: flex;
    align-items: center;
    gap: 9px;
}

.starter-live-control {
    padding: 6px 9px;

    color: #164326;
    background: #cce7d3;

    border-radius: 999px;

    font-size: .63rem;
    font-weight: 900;
    letter-spacing: .04em;
}

.starter-print-button {
    padding: 8px 12px;

    border: 1px solid rgba(255,255,255,.3);
    border-radius: 6px;

    color: #fff;
    background: transparent;

    cursor: pointer;
}

.starter-sheet-main {
    max-width: 1280px;
    margin: 0 auto;
    padding: 20px;
}

.starter-day-nav {
    display: flex;
    gap: 7px;

    margin-bottom: 10px;

    overflow-x: auto;
}

.starter-day-nav a {
    flex: 0 0 auto;

    padding: 8px 12px;

    color: #355241;
    background: #fff;

    border: 1px solid #d4ded7;
    border-radius: 7px;

    font-size: .78rem;
    font-weight: 800;
    text-decoration: none;
}

.starter-day-nav a.active {
    color: #fff;
    background: #315c40;
    border-color: #315c40;
}

.starter-selected-date {
    margin-bottom: 16px;

    color: #596a5e;

    font-size: .85rem;
    font-weight: 800;
}

.starter-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;

    margin-bottom: 20px;
}

.starter-summary-card {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 11px 13px;

    background: #fff;
    border-radius: 8px;
}

.starter-summary-card span {
    color: #69756d;
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
}

.starter-summary-card strong {
    font-size: 1.25rem;
}

.starter-summary-card.called {
    border-left: 4px solid #d6a72f;
}

.starter-summary-card.on-tee {
    border-left: 4px solid #3576ae;
}

.starter-summary-card.started {
    border-left: 4px solid #398051;
}

.starter-next-section {
    margin-bottom: 20px;
}

.starter-section-heading {
    margin-bottom: 8px;

    color: #496052;

    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.starter-next-grid {
    display: grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(230px, 1fr)
        );

    gap: 10px;
}

.starter-next-card {
    display: grid;
    grid-template-columns: 72px 1fr;

    overflow: hidden;

    background: #183d27;
    border-radius: 10px;

    box-shadow: 0 5px 16px rgba(0,0,0,.12);
}

.starter-next-tee {
    display: flex;
    align-items: center;
    justify-content: center;

    padding: 14px 8px;

    color: #fff;
    background: #102e1d;

    font-size: .8rem;
    font-weight: 900;
}

.starter-next-content {
    display: flex;
    flex-direction: column;
    gap: 2px;

    padding: 11px 13px;

    color: #fff;
}

.starter-next-content strong {
    color: #f1d46e;
    font-size: 1.1rem;
}

.starter-next-content span {
    font-size: .79rem;
    font-weight: 800;
}

.starter-next-content small {
    color: #c6dacd;
    font-size: .68rem;
}

.starter-sheet-list {
    display: grid;
    gap: 8px;
}

.starter-event {
    display: grid;
    grid-template-columns:
        82px
        62px
        minmax(260px, 1fr)
        92px
        auto;

    align-items: center;
    gap: 12px;

    padding: 10px 12px;

    background: #fff;

    border: 1px solid #d7e0da;
    border-left: 5px solid #a6b0a9;
    border-radius: 9px;

    transition:
        background .15s ease,
        border-color .15s ease;
}

.starter-event-next {
    background: #fffbea;
    border-color: #e2c65e;
    border-left-color: #d2a51e;
}

.starter-status-called {
    border-left-color: #d6a72f;
}

.starter-status-on_tee {
    border-left-color: #3576ae;
}

.starter-status-started {
    opacity: .72;
    border-left-color: #398051;
}

.starter-status-started.starter-event-next {
    opacity: 1;
}

.starter-event-time {
    display: flex;
    flex-direction: column;
}

.starter-event-time strong {
    color: #1c4129;
    font-size: 1.2rem;
}

.starter-event-time span {
    color: #708078;
    font-size: .65rem;
    font-weight: 800;
    text-transform: uppercase;
}

.starter-event-tee {
    color: #6b776f;
    font-size: .68rem;
    text-transform: uppercase;
}

.starter-event-tee strong {
    display: block;
    color: #1e4930;
    font-size: 1.05rem;
}

.starter-event-title {
    color: #274a34;
    font-size: .79rem;
    font-weight: 900;
}

.starter-event-players {
    display: flex;
    flex-wrap: wrap;
    gap: 3px 12px;

    margin-top: 4px;
}

.starter-event-players span {
    color: #39473e;
    font-size: .78rem;
    font-weight: 700;
}

.starter-next-badge {
    display: inline-block;

    margin-right: 5px;
    padding: 2px 5px;

    color: #5a4205;
    background: #f1d46e;

    border-radius: 4px;

    font-size: .52rem;
    font-weight: 900;
    letter-spacing: .04em;
}

.starter-event-state {
    text-align: center;
}

.starter-status-badge {
    display: inline-block;

    min-width: 68px;

    padding: 5px 7px;

    border-radius: 999px;

    font-size: .62rem;
    font-weight: 900;
    text-transform: uppercase;
}

.status-scheduled {
    color: #667168;
    background: #edf0ee;
}

.status-called {
    color: #684b08;
    background: #f5e5aa;
}

.status-on_tee {
    color: #174d7b;
    background: #d9ebf8;
}

.status-started {
    color: #225535;
    background: #dceee2;
}

.starter-event-state small {
    display: block;

    margin-top: 3px;

    color: #7c887f;

    font-size: .58rem;
}

.starter-event-controls {
    display: flex;
    gap: 5px;
}

.starter-event-controls button {
    padding: 7px 9px;

    border: 1px solid #ced8d1;
    border-radius: 6px;

    color: #405349;
    background: #f7f9f8;

    font-size: .68rem;
    font-weight: 800;

    cursor: pointer;
}

.starter-event-controls button:hover {
    background: #eaf0ec;
}

.starter-event-controls button.active {
    color: #fff;
    background: #315c40;
    border-color: #315c40;
}

.starter-event-controls .starter-start-button.active {
    background: #2f7547;
    border-color: #2f7547;
}

.starter-event-controls .starter-reset-button {
    color: #7a625c;
    background: transparent;
}

.starter-event-controls button:disabled {
    opacity: .45;
    cursor: wait;
}

.starter-sheet-empty {
    padding: 35px;

    color: #718078;
    background: #fff;

    border-radius: 9px;

    text-align: center;
}

.starter-toast {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 5000;

    max-width: 360px;

    padding: 11px 15px;

    color: #fff;
    background: #315c40;

    border-radius: 8px;

    box-shadow: 0 8px 24px rgba(0,0,0,.2);

    font-size: .78rem;
    font-weight: 800;
}

.starter-toast.error {
    background: #944a3d;
}

@media (max-width: 900px) {

    .starter-event {
        grid-template-columns:
            70px
            48px
            minmax(180px, 1fr)
            80px;
    }

    .starter-event-controls {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
}

@media (max-width: 620px) {

    .starter-sheet-header {
        align-items: flex-start;
        padding: 13px 14px;
    }

    .starter-sheet-header h1 {
        font-size: 1.2rem;
    }

    .starter-live-control {
        display: none;
    }

    .starter-sheet-main {
        padding: 12px;
    }

    .starter-summary-grid {
        grid-template-columns: 1fr 1fr;
    }

    .starter-event {
        grid-template-columns:
            62px
            42px
            minmax(0, 1fr);
    }

    .starter-event-state {
        grid-column: 2 / 4;
        text-align: left;
    }

    .starter-event-controls {
        justify-content: stretch;
    }

    .starter-event-controls button {
        flex: 1 1 auto;
    }
}

@media print {

    .starter-member-navigation,
    .starter-sheet-header-actions,
    .starter-day-nav,
    .starter-summary-grid,
    .starter-event-controls,
    .starter-toast {
        display: none !important;
    }

    .starter-sheet-body {
        background: #fff;
    }

    .starter-sheet-main {
        max-width: none;
        padding: 0;
    }

    .starter-event {
        break-inside: avoid;
        box-shadow: none;
    }

    .starter-event {
        grid-template-columns:
            70px
            50px
            1fr
            80px;
    }
}

/* ==========================================================
   Patch 15 - Clubhouse Announcements
   ========================================================== */

.announcement-admin-card {
    border-left:
        5px solid #315c40;
}

.announcement-admin-heading {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        16px;

    margin-bottom:
        15px;
}

.announcement-admin-heading h2 {
    margin:
        0 0 3px;
}

.announcement-live-label {
    padding:
        5px 9px;

    color:
        #245337;

    background:
        #dceee2;

    border-radius:
        999px;

    font-size:
        .64rem;

    font-weight:
        900;

    letter-spacing:
        .05em;
}

.announcement-create-form {
    display:
        grid;

    grid-template-columns:
        minmax(240px, 2fr)
        130px
        minmax(170px, 1fr)
        minmax(170px, 1fr)
        80px;

    gap:
        10px;

    align-items:
        end;

    padding:
        13px;

    margin-bottom:
        18px;

    background:
        #f5f8f6;

    border:
        1px solid #dae3dc;

    border-radius:
        9px;
}

.announcement-field {
    display:
        flex;

    flex-direction:
        column;

    gap:
        4px;
}

.announcement-field label,
.announcement-edit-fields label {
    color:
        #68746c;

    font-size:
        .66rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.announcement-field textarea,
.announcement-field input,
.announcement-field select,
.announcement-edit-form textarea,
.announcement-edit-fields input,
.announcement-edit-fields select {
    box-sizing:
        border-box;

    width:
        100%;

    padding:
        8px;

    border:
        1px solid #cfd9d2;

    border-radius:
        6px;

    background:
        #fff;
}

.announcement-active-check {
    display:
        flex !important;

    flex-direction:
        row !important;

    align-items:
        center;

    gap:
        5px;

    padding-bottom:
        9px;

    white-space:
        nowrap;
}

.announcement-active-check input {
    width:
        auto !important;
}

.announcement-create-actions {
    grid-column:
        1 / -1;
}

.announcement-admin-list {
    display:
        grid;

    gap:
        9px;
}

.announcement-admin-item {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    gap:
        10px;

    padding:
        12px;

    border:
        1px solid #dbe3dd;

    border-left:
        4px solid #6c8b76;

    border-radius:
        8px;

    background:
        #fff;
}

.announcement-admin-item.level-important {
    border-left-color:
        #d19b27;
}

.announcement-admin-item.level-urgent {
    border-left-color:
        #a84d3f;
}

.announcement-admin-item.inactive {
    opacity:
        .62;
}

.announcement-item-top {
    display:
        flex;

    gap:
        5px;

    margin-bottom:
        6px;
}

.announcement-level-badge,
.announcement-off-badge {
    display:
        inline-block;

    padding:
        3px 6px;

    border-radius:
        999px;

    font-size:
        .57rem;

    font-weight:
        900;
}

.announcement-level-badge.level-info {
    color:
        #23513a;

    background:
        #dceee2;
}

.announcement-level-badge.level-important {
    color:
        #75500a;

    background:
        #f5e6b9;
}

.announcement-level-badge.level-urgent {
    color:
        #782d24;

    background:
        #f2d6d1;
}

.announcement-off-badge {
    color:
        #646c67;

    background:
        #e7ebe8;
}

.announcement-edit-fields {
    display:
        grid;

    grid-template-columns:
        120px
        minmax(160px, 1fr)
        minmax(160px, 1fr)
        80px
        auto;

    gap:
        8px;

    align-items:
        end;

    margin:
        8px 0;
}

.announcement-edit-fields label {
    display:
        flex;

    flex-direction:
        column;

    gap:
        3px;
}

.announcement-delete-button {
    color:
        #8a4037;

    background:
        transparent;

    border:
        0;

    cursor:
        pointer;

    font-size:
        .7rem;

    font-weight:
        800;
}

.announcement-admin-empty {
    padding:
        15px;

    color:
        #748078;

    background:
        #f7f9f8;

    border-radius:
        7px;

    text-align:
        center;
}

/* Clubhouse display */

.clubhouse-announcements-section {
    display:
        grid;

    gap:
        8px;

    margin-bottom:
        22px;
}

.clubhouse-announcement {
    display:
        grid;

    grid-template-columns:
        125px
        minmax(0, 1fr);

    align-items:
        center;

    overflow:
        hidden;

    color:
        #153b26;

    background:
        #e2efe5;

    border-radius:
        9px;

    box-shadow:
        0 5px 16px
        rgba(
            0,
            0,
            0,
            .12
        );
}

.clubhouse-announcement-label {
    align-self:
        stretch;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        11px 12px;

    color:
        #fff;

    background:
        #315c40;

    font-size:
        .62rem;

    font-weight:
        900;

    letter-spacing:
        .055em;

    text-align:
        center;
}

.clubhouse-announcement-message {
    padding:
        12px 16px;

    font-size:
        1rem;

    font-weight:
        900;

    line-height:
        1.3;
}

.clubhouse-announcement-important {
    color:
        #624408;

    background:
        #f6e8be;
}

.clubhouse-announcement-important
.clubhouse-announcement-label {
    background:
        #b4831d;
}

.clubhouse-announcement-urgent {
    color:
        #fff;

    background:
        #98483d;
}

.clubhouse-announcement-urgent
.clubhouse-announcement-label {
    background:
        #713127;
}

@media (min-width: 1500px) {

    .clubhouse-announcement-message {
        padding:
            15px 19px;

        font-size:
            1.2rem;
    }
}

@media (max-width: 1000px) {

    .announcement-create-form {
        grid-template-columns:
            1fr 1fr;
    }

    .announcement-message-field,
    .announcement-create-actions {
        grid-column:
            1 / -1;
    }

    .announcement-edit-fields {
        grid-template-columns:
            1fr 1fr;
    }
}

@media (max-width: 650px) {

    .announcement-create-form {
        grid-template-columns:
            1fr;
    }

    .announcement-message-field,
    .announcement-create-actions {
        grid-column:
            auto;
    }

    .announcement-admin-item {
        grid-template-columns:
            1fr;
    }

    .announcement-edit-fields {
        grid-template-columns:
            1fr;
    }

    .clubhouse-announcement {
        grid-template-columns:
            1fr;
    }

    .clubhouse-announcement-label {
        padding:
            6px 10px;
    }
}

/* ==========================================================
   Patch 16 - Member Account Portal
   ========================================================== */

.member-account-page {
    max-width:
        1120px;

    margin:
        0 auto;

    padding-bottom:
        30px;
}

.member-account-header {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        20px;

    margin-bottom:
        18px;
}

.member-account-header h1 {
    margin:
        2px 0 5px;
}

.member-account-header p {
    margin:
        0;

    color:
        #68776e;
}

.member-account-kicker {
    color:
        #557060;

    font-size:
        .67rem;

    font-weight:
        900;

    letter-spacing:
        .07em;

    text-transform:
        uppercase;
}

.member-account-name {
    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-end;

    gap:
        2px;

    color:
        #647269;

    font-size:
        .7rem;
}

.member-account-name strong {
    color:
        #274b34;

    font-size:
        .9rem;
}

.member-account-grid {
    display:
        grid;

    grid-template-columns:
        minmax(
            0,
            2fr
        )
        minmax(
            260px,
            1fr
        );

    gap:
        16px;
}

.member-account-card {
    margin:
        0;
}

.member-account-card-heading {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        14px;

    margin-bottom:
        16px;
}

.member-account-card-heading h2 {
    margin:
        0 0 3px;

    font-size:
        1.05rem;
}

.member-account-card-heading p {
    margin:
        0;

    color:
        #778179;

    font-size:
        .75rem;
}

.member-account-editable,
.member-account-readonly,
.member-account-security {
    flex:
        0 0 auto;

    padding:
        4px 8px;

    border-radius:
        999px;

    font-size:
        .6rem;

    font-weight:
        900;

    letter-spacing:
        .04em;

    text-transform:
        uppercase;
}

.member-account-editable {
    color:
        #28573a;

    background:
        #dceee2;
}

.member-account-readonly {
    color:
        #626b65;

    background:
        #e9edeb;
}

.member-account-security {
    color:
        #24547a;

    background:
        #dcebf5;
}

.member-account-fields {
    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap:
        13px;
}

.member-account-field {
    display:
        flex;

    flex-direction:
        column;

    gap:
        5px;
}

.member-account-field-wide {
    grid-column:
        1 / -1;
}

.member-account-field > span {
    color:
        #435249;

    font-size:
        .7rem;

    font-weight:
        900;
}

.member-account-field input {
    box-sizing:
        border-box;

    width:
        100%;

    padding:
        10px 11px;

    border:
        1px solid #ced9d1;

    border-radius:
        7px;

    color:
        #21362a;

    background:
        #fff;

    font: inherit;
}

.member-account-field input:focus {
    outline:
        2px solid rgba(
            49,
            92,
            64,
            .18
        );

    border-color:
        #598069;
}

.member-account-field small {
    color:
        #7d877f;

    font-size:
        .64rem;
}

.member-account-field .field-error {
    color:
        #a04438;

    font-weight:
        800;
}

.member-account-actions {
    margin-top:
        17px;
}

.member-system-fields {
    display:
        grid;

    gap:
        8px;
}

.member-system-field {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        15px;

    padding:
        9px 0;

    border-bottom:
        1px solid #e5ebe7;
}

.member-system-field span {
    color:
        #728077;

    font-size:
        .7rem;

    font-weight:
        800;
}

.member-system-field strong {
    color:
        #294a34;

    font-size:
        .8rem;

    text-align:
        right;
}

.member-account-note {
    margin-top:
        13px;

    padding:
        10px;

    color:
        #657269;

    background:
        #f5f8f6;

    border-radius:
        7px;

    font-size:
        .68rem;

    line-height:
        1.45;
}

.member-password-card {
    grid-column:
        1 / -1;
}

.member-password-fields {
    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );

    gap:
        13px;
}

.member-account-errors {
    margin-bottom:
        16px;

    padding:
        12px 14px;

    color:
        #823d34;

    background:
        #f8e6e3;

    border:
        1px solid #ebcbc5;

    border-radius:
        8px;
}

.member-account-errors strong {
    font-size:
        .8rem;
}

.member-account-errors ul {
    margin:
        7px 0 0;

    padding-left:
        18px;

    font-size:
        .72rem;
}

/* Member nav additions */

.member-nav {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        12px;
}

.member-nav-primary,
.member-nav-account {
    display:
        flex;

    align-items:
        center;

    gap:
        8px;
}

.member-nav-primary {
    min-width:
        0;
}

.member-nav-account {
    flex:
        0 0 auto;
}

.member-nav-user {
    white-space:
        nowrap;
}

@media (max-width: 820px) {

    .member-account-grid {
        grid-template-columns:
            1fr;
    }

    .member-password-card {
        grid-column:
            auto;
    }

    .member-password-fields {
        grid-template-columns:
            1fr;
    }

    .member-nav {
        align-items:
            flex-start;
    }

    .member-nav-primary {
        overflow-x:
            auto;

        padding-bottom:
            3px;
    }
}

@media (max-width: 620px) {

    .member-account-header {
        flex-direction:
            column;
    }

    .member-account-name {
        align-items:
            flex-start;
    }

    .member-account-fields {
        grid-template-columns:
            1fr;
    }

    .member-account-field-wide {
        grid-column:
            auto;
    }

    .member-account-card-heading {
        flex-direction:
            column;
    }
}

/* ==========================================================
   Patch 17 - Member Notifications
   ========================================================== */

.member-nav-notifications {
    display:
        inline-flex !important;

    align-items:
        center;

    gap:
        5px;
}

.member-notification-count {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-width:
        18px;

    height:
        18px;

    padding:
        0 4px;

    box-sizing:
        border-box;

    color:
        #fff;

    background:
        #b34b3e;

    border-radius:
        999px;

    font-size:
        .56rem;

    font-weight:
        900;
}

.member-notifications-page {
    max-width:
        980px;

    margin:
        0 auto;

    padding-bottom:
        30px;
}

.member-notifications-header {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        20px;

    margin-bottom:
        18px;
}

.member-notifications-header h1 {
    margin:
        2px 0 5px;
}

.member-notifications-header p {
    margin:
        0;

    color:
        #6b776f;
}

.member-notification-list {
    display:
        grid;

    gap:
        9px;
}

.member-notification-card {
    display:
        grid;

    grid-template-columns:
        12px
        minmax(
            0,
            1fr
        )
        auto;

    gap:
        12px;

    align-items:
        center;

    padding:
        14px;

    background:
        #fff;

    border:
        1px solid #dce4de;

    border-radius:
        9px;
}

.member-notification-card.is-unread {
    border-color:
        #b9d1c0;

    background:
        #f7fbf8;

    box-shadow:
        0 4px 12px
        rgba(
            30,
            76,
            47,
            .07
        );
}

.member-notification-card.is-read {
    opacity:
        .77;
}

.member-notification-indicator {
    display:
        flex;

    justify-content:
        center;
}

.member-notification-indicator span {
    width:
        8px;

    height:
        8px;

    background:
        #397850;

    border-radius:
        50%;
}

.member-notification-content h2 {
    margin:
        5px 0 4px;

    color:
        #274b34;

    font-size:
        .9rem;
}

.member-notification-content p {
    margin:
        0;

    color:
        #58675d;

    font-size:
        .76rem;

    line-height:
        1.45;
}

.member-notification-meta {
    display:
        flex;

    align-items:
        center;

    gap:
        8px;
}

.member-notification-meta time {
    color:
        #8a948d;

    font-size:
        .61rem;
}

.member-notification-type {
    display:
        inline-block;

    padding:
        3px 6px;

    border-radius:
        999px;

    color:
        #315941;

    background:
        #e0eee4;

    font-size:
        .55rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.member-notification-type.type-match_result {
    color:
        #24567a;

    background:
        #dfedf7;
}

.member-notification-type.type-opponent_known {
    color:
        #6c4d0e;

    background:
        #f5e8bf;
}

.member-notification-action {
    min-width:
        70px;

    text-align:
        right;
}

.member-notifications-empty {
    padding:
        35px;

    text-align:
        center;
}

.member-notifications-empty-icon {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        44px;

    height:
        44px;

    margin-bottom:
        8px;

    color:
        #fff;

    background:
        #477a58;

    border-radius:
        50%;

    font-size:
        1.2rem;

    font-weight:
        900;
}

.member-notifications-empty h2 {
    margin:
        5px 0;
}

.member-notifications-empty p {
    margin:
        0;

    color:
        #758179;

    font-size:
        .78rem;
}

.member-notification-pagination {
    margin-top:
        18px;
}

@media (max-width: 620px) {

    .member-notifications-header {
        flex-direction:
            column;
    }

    .member-notification-card {
        grid-template-columns:
            10px
            minmax(
                0,
                1fr
            );
    }

    .member-notification-action {
        grid-column:
            2;

        text-align:
            left;
    }
}

/* PATCH-17A-NAVY-THEME-START */

/* ==========================================================
   RNZAF Golf - Navy / Blue / Black / White Theme
   ========================================================== */

:root {
    --rnzaf-navy:
        #071A3D;

    --rnzaf-navy-2:
        #0B2A52;

    --rnzaf-blue:
        #1F4E79;

    --rnzaf-blue-mid:
        #2F6DB2;

    --rnzaf-blue-light:
        #DCEAF8;

    --rnzaf-blue-pale:
        #F3F7FC;

    --rnzaf-black:
        #101820;

    --rnzaf-text:
        #172033;

    --rnzaf-muted:
        #617087;

    --rnzaf-border:
        #CAD7E6;

    --rnzaf-white:
        #FFFFFF;
}

/* ==========================================================
   GLOBAL
   ========================================================== */

html,
body {
    background:
        var(--rnzaf-blue-pale) !important;

    color:
        var(--rnzaf-text) !important;
}

body {
    accent-color:
        var(--rnzaf-blue-mid);
}

a {
    color:
        var(--rnzaf-blue);
}

a:hover {
    color:
        var(--rnzaf-navy);
}

.card,
.panel,
.box {
    background:
        var(--rnzaf-white) !important;

    border-color:
        var(--rnzaf-border) !important;

    color:
        var(--rnzaf-text) !important;
}

.muted,
small,
.help-text {
    color:
        var(--rnzaf-muted) !important;
}

hr {
    border-color:
        var(--rnzaf-border) !important;
}

/* ==========================================================
   FORMS
   ========================================================== */

input,
select,
textarea {
    color:
        var(--rnzaf-black) !important;

    background:
        var(--rnzaf-white) !important;

    border-color:
        var(--rnzaf-border) !important;
}

input:focus,
select:focus,
textarea:focus {
    outline-color:
        rgba(
            47,
            109,
            178,
            .24
        ) !important;

    border-color:
        var(--rnzaf-blue-mid) !important;
}

/* ==========================================================
   BUTTONS
   ========================================================== */

button.primary,
.primary,
.btn-primary {
    color:
        var(--rnzaf-white) !important;

    background:
        var(--rnzaf-blue) !important;

    border-color:
        var(--rnzaf-blue) !important;
}

button.primary:hover,
.primary:hover,
.btn-primary:hover {
    background:
        var(--rnzaf-navy) !important;

    border-color:
        var(--rnzaf-navy) !important;
}

button.secondary,
.secondary,
.btn-secondary {
    color:
        var(--rnzaf-navy) !important;

    background:
        var(--rnzaf-white) !important;

    border-color:
        var(--rnzaf-blue-mid) !important;
}

button.secondary:hover,
.secondary:hover,
.btn-secondary:hover {
    background:
        var(--rnzaf-blue-light) !important;
}

/* ==========================================================
   MEMBER NAV - PROPER BANNER BAR
   ========================================================== */

.member-nav {
    position:
        sticky;

    top:
        0;

    z-index:
        2000;

    width:
        100%;

    box-sizing:
        border-box;

    margin:
        0 !important;

    padding:
        0 !important;

    color:
        var(--rnzaf-white) !important;

    background:
        var(--rnzaf-navy) !important;

    border-bottom:
        3px solid var(--rnzaf-blue-mid) !important;

    box-shadow:
        0 3px 14px
        rgba(
            0,
            0,
            0,
            .22
        );
}

.member-nav-inner {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        18px;

    width:
        100%;

    box-sizing:
        border-box;

    padding:
        10px 18px;
}

.member-nav-primary,
.member-nav-account {
    display:
        flex;

    align-items:
        center;

    gap:
        6px;
}

.member-nav-primary {
    min-width:
        0;

    overflow-x:
        auto;

    scrollbar-width:
        thin;

    scrollbar-color:
        var(--rnzaf-blue-mid)
        var(--rnzaf-navy);
}

.member-nav a {
    flex:
        0 0 auto;

    display:
        inline-flex;

    align-items:
        center;

    gap:
        5px;

    min-height:
        34px;

    box-sizing:
        border-box;

    padding:
        7px 10px;

    color:
        rgba(
            255,
            255,
            255,
            .88
        ) !important;

    background:
        transparent !important;

    border:
        1px solid transparent;

    border-radius:
        6px;

    font-size:
        .78rem;

    font-weight:
        800;

    text-decoration:
        none !important;

    white-space:
        nowrap;
}

.member-nav a:hover {
    color:
        var(--rnzaf-white) !important;

    background:
        var(--rnzaf-navy-2) !important;

    border-color:
        rgba(
            255,
            255,
            255,
            .14
        );
}

.member-nav a.active {
    color:
        var(--rnzaf-white) !important;

    background:
        var(--rnzaf-blue) !important;

    border-color:
        var(--rnzaf-blue-mid) !important;
}

.member-nav-brand {
    padding-left:
        0 !important;

    padding-right:
        16px !important;

    margin-right:
        5px;

    color:
        var(--rnzaf-white) !important;

    background:
        transparent !important;

    border-right:
        1px solid rgba(
            255,
            255,
            255,
            .22
        ) !important;

    border-radius:
        0 !important;

    font-size:
        .95rem !important;

    font-weight:
        900 !important;

    letter-spacing:
        .02em;
}

.member-nav-account {
    flex:
        0 0 auto;
}

.member-nav-user {
    color:
        var(--rnzaf-blue-light) !important;

    font-size:
        .72rem;

    font-weight:
        800;

    white-space:
        nowrap;
}

.member-nav-logout {
    padding:
        7px 10px !important;

    color:
        var(--rnzaf-white) !important;

    background:
        transparent !important;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .3
        ) !important;

    border-radius:
        6px !important;

    font-size:
        .72rem;

    font-weight:
        800;

    cursor:
        pointer;
}

.member-nav-logout:hover {
    background:
        var(--rnzaf-blue) !important;
}
/* ==========================================================
   MEMBER PAGES
   ========================================================== */

.member-layout-body {
    background:
        var(--rnzaf-blue-pale) !important;
}

.member-account-kicker,
.member-account-name strong,
.member-system-field strong,
.member-notification-content h2 {
    color:
        var(--rnzaf-blue) !important;
}

.member-account-editable,
.member-account-security
{
    color:
        var(--rnzaf-blue) !important;

    background:
        var(--rnzaf-blue-light) !important;
}

.member-account-readonly {
    color:
        var(--rnzaf-navy) !important;

    background:
        #E8EEF6 !important;
}

.member-account-note,
.member-notifications-empty,
.member-notification-card {
    background:
        var(--rnzaf-white) !important;

    border-color:
        var(--rnzaf-border) !important;
}

.member-notification-card.is-unread {
    background:
        #EDF5FD !important;

    border-color:
        #8CB4DE !important;
}
/* ==========================================================
   GENERAL NAV / ADMIN CHROME
   ========================================================== */

.sidebar,
.admin-sidebar,
.app-sidebar,
.app-nav,
.admin-nav,
.top-nav,
.topbar,
.app-header {
    color:
        var(--rnzaf-white) !important;

    background:
        var(--rnzaf-navy) !important;
}

.sidebar a,
.admin-sidebar a,
.app-sidebar a,
.app-nav a,
.admin-nav a,
.top-nav a,
.topbar a,
.app-header a {
    color:
        var(--rnzaf-white) !important;
}

.sidebar a.active,
.admin-sidebar a.active,
.app-sidebar a.active,
.app-nav a.active,
.admin-nav a.active {
    background:
        var(--rnzaf-blue) !important;
}

/* ==========================================================
   TABLES
   ========================================================== */

table {
    background:
        var(--rnzaf-white);
}

table thead th {
    color:
        var(--rnzaf-white) !important;

    background:
        var(--rnzaf-navy-2) !important;

    border-color:
        #23466F !important;
}

table tbody td {
    border-color:
        var(--rnzaf-border) !important;
}

table tbody tr:nth-child(even) {
    background:
        #F6F9FD;
}

/* ==========================================================
   PUBLICATION
   ========================================================== */

.publication-status-card {
    border-left-color:
        var(--rnzaf-blue-mid) !important;
}
/* ==========================================================
   ANNOUNCEMENTS ADMIN
   ========================================================== */

.announcement-admin-card {
    border-left-color:
        var(--rnzaf-blue-mid) !important;
}
/* ==========================================================
   STARTER SHEET
   ========================================================== */

.starter-sheet-body {
    background:
        var(--rnzaf-blue-pale) !important;

    color:
        var(--rnzaf-text) !important;
}

.starter-sheet-header {
    color:
        var(--rnzaf-white) !important;

    background:
        var(--rnzaf-navy) !important;
}

.starter-sheet-kicker,
.starter-sheet-tournament {
    color:
        var(--rnzaf-blue-light) !important;
}
.starter-day-nav a {
    color:
        var(--rnzaf-blue) !important;

    background:
        var(--rnzaf-white) !important;

    border-color:
        var(--rnzaf-border) !important;
}

.starter-day-nav a.active {
    color:
        var(--rnzaf-white) !important;

    background:
        var(--rnzaf-blue) !important;

    border-color:
        var(--rnzaf-blue) !important;
}

.starter-next-card {
    background:
        var(--rnzaf-navy-2) !important;
}

.starter-next-tee {
    color:
        var(--rnzaf-white) !important;

    background:
        var(--rnzaf-navy) !important;
}
.starter-event {
    background:
        var(--rnzaf-white) !important;

    border-color:
        var(--rnzaf-border) !important;

    border-left-color:
        #829AB4 !important;
}
.starter-event-controls button {
    color:
        var(--rnzaf-blue) !important;

    background:
        var(--rnzaf-white) !important;

    border-color:
        var(--rnzaf-border) !important;
}

.starter-event-controls button.active {
    color:
        var(--rnzaf-white) !important;

    background:
        var(--rnzaf-blue) !important;

    border-color:
        var(--rnzaf-blue) !important;
}
/* ==========================================================
   CLUBHOUSE DISPLAY
   ========================================================== */

.clubhouse-board-body {
    color:
        var(--rnzaf-white) !important;

    background:
        #020B1C !important;
}

.clubhouse-board-header {
    color:
        var(--rnzaf-white) !important;

    background:
        var(--rnzaf-navy) !important;

    border-bottom-color:
        var(--rnzaf-blue-mid) !important;
}

.clubhouse-board-kicker,
.clubhouse-board-date,
.clubhouse-last-update {
    color:
        #B9D4EF !important;
}

.clubhouse-live-pill {
    color:
        var(--rnzaf-navy) !important;

    background:
        var(--rnzaf-white) !important;
}

.clubhouse-board-panel,
.clubhouse-allocation-card {
    color:
        var(--rnzaf-text) !important;

    background:
        var(--rnzaf-white) !important;
}

.clubhouse-section-heading,
.clubhouse-section-heading h2 {
    color:
        var(--rnzaf-white) !important;
}
.clubhouse-allocation-card h3,
.clubhouse-qualification-table td.player,
.clubhouse-qualification-table td.position,
.clubhouse-qualification-table td.total,
.clubhouse-total {
    color:
        var(--rnzaf-blue) !important;
}

.allocation-seed {
    color:
        var(--rnzaf-white) !important;

    background:
        var(--rnzaf-blue) !important;
}
/* ==========================================================
   MATCH PLAY / DRAW / BRACKETS
   ========================================================== */

.bracket-card,
.match-card,
.draw-card {
    background:
        var(--rnzaf-white) !important;

    border-color:
        var(--rnzaf-border) !important;
}

.bracket-card strong,
.match-card strong,
.draw-card strong {
    color:
        var(--rnzaf-blue) !important;
}

/* ==========================================================
   STATUS / ALERT COLOURS
   No greens, yellows or reds
   ========================================================== */
/* ==========================================================
   MOBILE MEMBER NAV
   ========================================================== */

@media (max-width: 820px) {

    .member-nav-inner {
        display:
            block;

        padding:
            8px 10px;
    }

    .member-nav-primary {
        display:
            flex;

        width:
            100%;

        overflow-x:
            auto;

        padding-bottom:
            7px;
    }

    .member-nav-account {
        display:
            flex;

        justify-content:
            space-between;

        width:
            100%;

        padding-top:
            7px;

        border-top:
            1px solid
            rgba(
                255,
                255,
                255,
                .16
            );
    }

    .member-nav-brand {
        padding-right:
            12px !important;
    }
}

/* PATCH-17A-NAVY-THEME-END */

/* PATCH-17B-ADMIN-LINKS-START */

/* ==========================================================
   Patch 17B - Admin page links
   ========================================================== */

/*
 * Admin quick/page links should follow the navy theme.
 * These selectors deliberately avoid normal button links.
 */

main .quick-links a,
main .page-quick-links a,
main .page-links a,
main .quick-nav a,
main .page-nav a,
main .admin-quick-links a,
main .admin-page-links a {
    color:
        var(--rnzaf-blue) !important;
}

main .quick-links a:hover,
main .page-quick-links a:hover,
main .page-links a:hover,
main .quick-nav a:hover,
main .page-nav a:hover,
main .admin-quick-links a:hover,
main .admin-page-links a:hover {
    color:
        var(--rnzaf-navy) !important;
}

/* PATCH-17B-ADMIN-LINKS-END */

/* ==========================================================
   Patch 18 - Tournament Day Dashboard
   ========================================================== */

.tournament-day-page {
    max-width:
        1500px;

    margin:
        0 auto;

    padding-bottom:
        35px;
}

.tournament-day-header {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        20px;

    margin-bottom:
        12px;
}

.tournament-day-header h1 {
    margin:
        2px 0 4px;
}

.tournament-day-header p {
    margin:
        0;

    color:
        var(--rnzaf-muted);
}

.tournament-day-kicker {
    color:
        var(--rnzaf-blue);

    font-size:
        .66rem;

    font-weight:
        900;

    letter-spacing:
        .07em;

    text-transform:
        uppercase;
}

.tournament-day-actions {
    display:
        flex;

    flex-wrap:
        wrap;

    justify-content:
        flex-end;

    gap:
        7px;
}

.tournament-day-status-line {
    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        8px;

    margin-bottom:
        16px;

    color:
        #667487;

    font-size:
        .68rem;
}

.tournament-day-publication,
.tournament-day-live {
    padding:
        4px 7px;

    border-radius:
        999px;

    font-size:
        .59rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.tournament-day-publication.state-published {
    color:
        #285a3a;

    background:
        #dceee2;
}

.tournament-day-publication.state-changes {
    color:
        #77510b;

    background:
        #f6e8ba;
}

.tournament-day-publication.state-draft {
    color:
        #873c32;

    background:
        #f3d8d4;
}

.tournament-day-live {
    color:
        #fff;

    background:
        var(--rnzaf-blue);
}

.tournament-day-date-nav {
    display:
        flex;

    gap:
        7px;

    margin-bottom:
        15px;

    overflow-x:
        auto;
}

.tournament-day-date-nav a {
    flex:
        0 0 auto;

    padding:
        8px 11px;

    color:
        var(--rnzaf-blue) !important;

    background:
        #fff;

    border:
        1px solid var(--rnzaf-border);

    border-radius:
        6px;

    font-size:
        .72rem;

    font-weight:
        800;

    text-decoration:
        none;
}

.tournament-day-date-nav a.active {
    color:
        #fff !important;

    background:
        var(--rnzaf-blue);

    border-color:
        var(--rnzaf-blue);
}

.tournament-day-summary {
    display:
        grid;

    grid-template-columns:
        repeat(
            4,
            1fr
        );

    gap:
        9px;

    margin-bottom:
        18px;
}

.td-summary {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    padding:
        11px 13px;

    background:
        #fff;

    border:
        1px solid var(--rnzaf-border);

    border-left:
        4px solid #7b8797;

    border-radius:
        7px;
}

.td-summary span {
    color:
        #657184;

    font-size:
        .65rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.td-summary strong {
    font-size:
        1.25rem;
}

.td-summary.called {
    border-left-color:
        #d6a72f;
}

.td-summary.on-tee {
    border-left-color:
        #3576ae;
}

.td-summary.started {
    border-left-color:
        #398051;
}

.tournament-day-section {
    margin-bottom:
        18px;
}

.tournament-day-section > h2 {
    margin:
        0 0 8px;

    color:
        var(--rnzaf-navy);

    font-size:
        .82rem;

    letter-spacing:
        .045em;

    text-transform:
        uppercase;
}

.tournament-day-issues {
    display:
        grid;

    gap:
        6px;
}

.tournament-day-issue {
    display:
        grid;

    grid-template-columns:
        190px
        minmax(
            0,
            1fr
        );

    gap:
        10px;

    padding:
        9px 11px;

    border-radius:
        7px;

    font-size:
        .72rem;
}

.tournament-day-issue.issue-info {
    color:
        #234f75;

    background:
        #deecf7;
}

.tournament-day-issue.issue-warning {
    color:
        #72500b;

    background:
        #f6e9bd;
}

.tournament-day-issue.issue-urgent {
    color:
        #7e332a;

    background:
        #f4d8d3;
}

.tournament-day-next-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(
                230px,
                1fr
            )
        );

    gap:
        9px;
}

.tournament-day-next-card {
    padding:
        13px;

    color:
        #fff;

    background:
        var(--rnzaf-navy);

    border-radius:
        9px;

    box-shadow:
        0 4px 12px
        rgba(
            0,
            0,
            0,
            .12
        );
}

.td-next-tee {
    color:
        #bcd6f0;

    font-size:
        .65rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.td-next-time {
    margin:
        3px 0;

    color:
        #fff;

    font-size:
        1.25rem;

    font-weight:
        900;
}

.tournament-day-next-card > strong {
    display:
        block;

    font-size:
        .78rem;
}

.td-next-players {
    margin-top:
        4px;

    color:
        #d9e7f6;

    font-size:
        .68rem;
}

.tournament-day-main-grid {
    display:
        grid;

    grid-template-columns:
        minmax(
            0,
            2.1fr
        )
        minmax(
            290px,
            .9fr
        );

    gap:
        18px;
}

.tournament-day-queue {
    display:
        grid;

    gap:
        6px;
}

.tournament-day-row {
    display:
        grid;

    grid-template-columns:
        65px
        48px
        minmax(
            190px,
            1fr
        )
        82px
        auto;

    align-items:
        center;

    gap:
        8px;

    padding:
        8px 9px;

    background:
        #fff;

    border:
        1px solid var(--rnzaf-border);

    border-left:
        4px solid #8b97a6;

    border-radius:
        7px;
}

.tournament-day-row.is-next {
    background:
        #fffbea;

    border-color:
        #dfc869;

    border-left-color:
        #d1a41d;
}

.tournament-day-row.td-status-called {
    border-left-color:
        #d6a72f;
}

.tournament-day-row.td-status-on_tee {
    border-left-color:
        #3576ae;
}

.tournament-day-row.td-status-started {
    border-left-color:
        #398051;

    opacity:
        .75;
}

.td-row-time {
    color:
        var(--rnzaf-navy);

    font-size:
        .95rem;

    font-weight:
        900;
}

.td-row-time small {
    display:
        block;

    color:
        #7d8794;

    font-size:
        .55rem;

    text-transform:
        uppercase;
}

.td-row-tee {
    color:
        #738091;

    font-size:
        .58rem;

    text-transform:
        uppercase;
}

.td-row-tee strong {
    display:
        block;

    color:
        var(--rnzaf-blue);

    font-size:
        .85rem;
}

.td-row-main > strong {
    color:
        var(--rnzaf-navy);

    font-size:
        .72rem;
}

.td-row-main > div {
    margin-top:
        2px;

    color:
        #556276;

    font-size:
        .66rem;
}

.td-next-badge {
    margin-right:
        4px;

    padding:
        2px 4px;

    color:
        #604705;

    background:
        #f1d46e;

    border-radius:
        3px;

    font-size:
        .49rem;

    font-weight:
        900;
}

.td-row-state {
    text-align:
        center;
}

.td-row-state small {
    display:
        block;

    margin-top:
        2px;

    color:
        #7a8592;

    font-size:
        .55rem;
}

.td-row-controls {
    display:
        flex;

    gap:
        4px;
}

.td-row-controls button {
    padding:
        6px 7px;

    color:
        var(--rnzaf-blue);

    background:
        #fff;

    border:
        1px solid var(--rnzaf-border);

    border-radius:
        5px;

    font-size:
        .59rem;

    font-weight:
        800;

    cursor:
        pointer;
}

.td-row-controls button:hover {
    background:
        var(--rnzaf-blue-light);
}

.td-row-controls button:disabled {
    opacity:
        .45;
}

.tournament-day-side {
    min-width:
        0;
}

.td-side-card,
.td-result-card,
.td-announcement,
.td-side-empty {
    margin-bottom:
        6px;

    padding:
        9px 10px;

    background:
        #fff;

    border:
        1px solid var(--rnzaf-border);

    border-radius:
        6px;
}

.td-side-card {
    display:
        flex;

    flex-direction:
        column;

    gap:
        2px;

    border-left:
        4px solid var(--rnzaf-blue);
}

.td-side-card.on-tee {
    border-left-color:
        #3576ae;
}

.td-side-card.started {
    border-left-color:
        #398051;
}

.td-side-card strong {
    color:
        var(--rnzaf-navy);

    font-size:
        .68rem;
}

.td-side-card span,
.td-side-empty {
    color:
        #6d7888;

    font-size:
        .64rem;
}

.td-result-card {
    display:
        grid;

    gap:
        3px;
}

.td-result-card > div {
    display:
        flex;

    justify-content:
        space-between;

    gap:
        8px;
}

.td-result-card strong {
    color:
        var(--rnzaf-navy);

    font-size:
        .68rem;
}

.td-result-card small,
.td-result-card span {
    color:
        #6f7b8b;

    font-size:
        .61rem;
}

.td-result-card b {
    color:
        var(--rnzaf-blue);

    font-size:
        .68rem;
}

.td-announcement {
    display:
        grid;

    gap:
        3px;

    border-left:
        4px solid var(--rnzaf-blue);
}

.td-announcement.level-important {
    border-left-color:
        #d09a25;

    background:
        #fff9e8;
}

.td-announcement.level-urgent {
    border-left-color:
        #a54b3d;

    background:
        #fff1ef;
}

.td-announcement strong {
    font-size:
        .55rem;
}

.td-announcement span {
    color:
        #4f5d70;

    font-size:
        .65rem;
}

.tournament-day-launch {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;
}

.tournament-day-launch h2 {
    margin:
        0 0 3px;
}

.tournament-day-launch p {
    margin:
        0;
}

.tournament-day-unpublished {
    max-width:
        650px;

    padding:
        25px;
}

@media (max-width: 1050px) {

    .tournament-day-main-grid {
        grid-template-columns:
            1fr;
    }

    .tournament-day-row {
        grid-template-columns:
            60px
            45px
            minmax(
                160px,
                1fr
            )
            80px;
    }

    .td-row-controls {
        grid-column:
            1 / -1;

        justify-content:
            flex-end;
    }
}

@media (max-width: 700px) {

    .tournament-day-header {
        flex-direction:
            column;
    }

    .tournament-day-actions {
        justify-content:
            flex-start;
    }

    .tournament-day-summary {
        grid-template-columns:
            1fr
            1fr;
    }

    .tournament-day-issue {
        grid-template-columns:
            1fr;
    }

    .tournament-day-row {
        grid-template-columns:
            58px
            43px
            minmax(
                0,
                1fr
            );
    }

    .td-row-state {
        grid-column:
            2 / 4;

        text-align:
            left;
    }

    .td-row-controls {
        justify-content:
            stretch;
    }

    .td-row-controls button {
        flex:
            1 1 auto;
    }

    .tournament-day-launch {
        align-items:
            flex-start;

        flex-direction:
            column;
    }
}

/* ==========================================================
   Patch 18A - Operations Cleanup / Quick Scoring
   ========================================================== */

.tournament-day-launch-compact {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        18px;

    margin:
        10px 0;

    padding:
        10px 12px;

    background:
        #edf4fb;

    border:
        1px solid #bfd1e4;

    border-left:
        4px solid var(--rnzaf-blue);

    border-radius:
        7px;
}

.tournament-day-launch-compact > div {
    display:
        flex;

    flex-direction:
        column;

    gap:
        2px;
}

.tournament-day-launch-compact strong {
    color:
        var(--rnzaf-navy);

    font-size:
        .78rem;
}

.tournament-day-launch-compact span {
    color:
        #68778a;

    font-size:
        .66rem;
}

/* Starter links */

.starter-operations-links {
    display:
        flex;

    align-items:
        center;

    gap:
        6px;

    padding:
        7px 12px;

    color:
        #d8e8f7;

    background:
        var(--rnzaf-navy-2);

    border-bottom:
        1px solid #31557d;

    font-size:
        .66rem;
}

.starter-operations-links > span {
    margin-right:
        3px;

    color:
        #9dbbd9;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.starter-operations-links a {
    padding:
        5px 8px;

    color:
        #fff !important;

    background:
        rgba(
            255,
            255,
            255,
            .08
        );

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .18
        );

    border-radius:
        5px;

    font-weight:
        800;

    text-decoration:
        none;
}

.starter-operations-links a:hover {
    background:
        var(--rnzaf-blue);
}

/* Announcements collapsible */

.td-operations-details {
    margin-bottom:
        16px;

    background:
        #fff;

    border:
        1px solid var(--rnzaf-border);

    border-radius:
        8px;
}

.td-operations-details > summary {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        15px;

    padding:
        11px 13px;

    color:
        var(--rnzaf-navy);

    cursor:
        pointer;

    font-size:
        .77rem;

    font-weight:
        900;
}

.td-operations-details > summary small {
    color:
        #748297;

    font-size:
        .62rem;

    font-weight:
        600;
}

.td-details-content {
    padding:
        0 12px 12px;
}

.td-details-content
.announcement-admin-card {
    margin:
        0;
}

/* Results / scoring */

.td-section-heading-row {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        15px;

    margin-bottom:
        9px;
}

.td-section-heading-row h2 {
    margin:
        0;

    color:
        var(--rnzaf-navy);

    font-size:
        .82rem;

    letter-spacing:
        .045em;

    text-transform:
        uppercase;
}

.td-section-heading-row p {
    margin:
        3px 0 0;

    color:
        #718095;

    font-size:
        .66rem;
}

.td-live-entry-badge {
    padding:
        4px 7px;

    color:
        #fff;

    background:
        var(--rnzaf-blue);

    border-radius:
        999px;

    font-size:
        .55rem;

    font-weight:
        900;
}

.td-scoring-grid {
    display:
        grid;

    grid-template-columns:
        minmax(
            0,
            1.4fr
        )
        minmax(
            330px,
            1fr
        );

    gap:
        12px;
}

.td-score-panel {
    overflow:
        hidden;

    background:
        #fff;

    border:
        1px solid var(--rnzaf-border);

    border-radius:
        8px;
}

.td-score-panel-heading {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        12px;

    padding:
        11px 12px;

    background:
        #f3f7fc;

    border-bottom:
        1px solid var(--rnzaf-border);
}

.td-score-panel-heading h3 {
    margin:
        0;

    color:
        var(--rnzaf-navy);

    font-size:
        .79rem;
}

.td-score-panel-heading p {
    margin:
        2px 0 0;

    color:
        #718095;

    font-size:
        .61rem;
}

.td-score-panel-heading > span {
    flex:
        0 0 auto;

    padding:
        3px 6px;

    color:
        var(--rnzaf-blue);

    background:
        #dceaf8;

    border-radius:
        999px;

    font-size:
        .56rem;

    font-weight:
        900;
}

.td-match-result-list {
    display:
        grid;
}

.td-match-result-row {
    display:
        grid;

    gap:
        8px;

    padding:
        10px 12px;

    border-bottom:
        1px solid #dce5ef;
}

.td-match-result-row:last-child {
    border-bottom:
        0;
}

.td-match-result-row.complete {
    background:
        #f2faf4;
}

.td-match-result-meta {
    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        7px;

    color:
        #6b798c;

    font-size:
        .6rem;
}

.td-match-result-meta strong {
    color:
        var(--rnzaf-blue);
}

.td-match-result-players {
    display:
        flex;

    align-items:
        center;

    gap:
        7px;

    color:
        var(--rnzaf-navy);

    font-size:
        .71rem;
}

.td-match-result-players > span {
    color:
        #909aa7;
}

.td-match-quick-form {
    display:
        grid;

    grid-template-columns:
        minmax(
            150px,
            1fr
        )
        minmax(
            110px,
            .7fr
        )
        auto;

    gap:
        7px;

    align-items:
        end;
}

.td-match-quick-form label {
    display:
        flex;

    flex-direction:
        column;

    gap:
        3px;
}

.td-match-quick-form label > span {
    color:
        #68768a;

    font-size:
        .55rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.td-match-quick-form input,
.td-match-quick-form select {
    padding:
        7px;

    font-size:
        .68rem;
}

.td-match-quick-form button {
    min-height:
        34px;
}

.td-result-complete {
    display:
        flex;

    align-items:
        center;

    gap:
        7px;
}

.td-result-complete span {
    padding:
        3px 5px;

    color:
        #28583a;

    background:
        #dceee2;

    border-radius:
        4px;

    font-size:
        .51rem;

    font-weight:
        900;
}

.td-result-complete strong {
    color:
        #28583a;

    font-size:
        .7rem;
}

.td-stableford-round {
    padding:
        10px 12px 0;
}

.td-stableford-round h4 {
    margin:
        0 0 6px;

    color:
        var(--rnzaf-blue);

    font-size:
        .68rem;
}

.td-stableford-table {
    border:
        1px solid #d7e1ec;

    border-radius:
        6px;
}

.td-stableford-head,
.td-stableford-row {
    display:
        grid;

    grid-template-columns:
        minmax(
            0,
            1fr
        )
        45px
        72px;

    align-items:
        center;

    gap:
        7px;

    padding:
        6px 8px;
}

.td-stableford-head {
    color:
        #fff;

    background:
        var(--rnzaf-navy-2);

    font-size:
        .54rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.td-stableford-row {
    border-top:
        1px solid #e1e8f0;

    font-size:
        .66rem;
}

.td-stableford-row:first-of-type {
    border-top:
        0;
}

.td-stableford-row strong {
    color:
        var(--rnzaf-navy);
}

.td-stableford-row > span {
    color:
        #758295;

    text-align:
        center;
}

.td-stableford-row input {
    box-sizing:
        border-box;

    width:
        100%;

    padding:
        6px;

    text-align:
        center;
}

.td-stableford-actions {
    padding:
        10px 12px 12px;

    text-align:
        right;
}

.td-score-empty {
    padding:
        20px 12px;

    color:
        #788597;

    text-align:
        center;

    font-size:
        .67rem;
}

.td-scoring-error {
    margin-bottom:
        9px;

    padding:
        9px 11px;

    color:
        #823d34;

    background:
        #f8e4e1;

    border:
        1px solid #e8c3bd;

    border-radius:
        6px;

    font-size:
        .68rem;
}

@media (max-width: 1050px) {

    .td-scoring-grid {
        grid-template-columns:
            1fr;
    }
}

@media (max-width: 700px) {

    .tournament-day-launch-compact {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .starter-operations-links {
        overflow-x:
            auto;
    }

    .starter-operations-links a,
    .starter-operations-links > span {
        flex:
            0 0 auto;
    }

    .td-operations-details > summary {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .td-match-quick-form {
        grid-template-columns:
            1fr;
    }

    .td-match-result-players {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .td-section-heading-row {
        align-items:
            flex-start;

        flex-direction:
            column;
    }
}

@media print {

    .starter-operations-links {
        display:
            none !important;
    }
}

/* ==========================================================
   Patch 18B - Unified Tournament Operations
   ========================================================== */

.operations-nav {
    display:
        flex;

    align-items:
        center;

    gap:
        12px;

    width:
        100%;

    box-sizing:
        border-box;

    margin:
        0 0 16px;

    padding:
        8px 10px;

    color:
        #fff;

    background:
        var(--rnzaf-navy);

    border:
        1px solid #17365f;

    border-radius:
        7px;

    box-shadow:
        0 2px 7px
        rgba(
            0,
            0,
            0,
            .12
        );
}

.operations-nav-brand {
    flex:
        0 0 auto;

    padding:
        6px 12px 6px 4px;

    color:
        #fff;

    border-right:
        1px solid
        rgba(
            255,
            255,
            255,
            .22
        );

    font-size:
        .7rem;

    font-weight:
        900;

    letter-spacing:
        .03em;

    text-transform:
        uppercase;
}

.operations-nav-links {
    display:
        flex;

    align-items:
        center;

    gap:
        5px;

    min-width:
        0;

    overflow-x:
        auto;
}

.operations-nav-links a {
    flex:
        0 0 auto;

    padding:
        6px 9px;

    color:
        rgba(
            255,
            255,
            255,
            .9
        ) !important;

    background:
        transparent !important;

    border:
        1px solid transparent;

    border-radius:
        5px;

    font-size:
        .68rem;

    font-weight:
        800;

    text-decoration:
        none !important;

    white-space:
        nowrap;
}

.operations-nav-links a:hover {
    color:
        #fff !important;

    background:
        var(--rnzaf-navy-2) !important;

    border-color:
        rgba(
            255,
            255,
            255,
            .18
        );
}

.operations-nav-links a.active {
    color:
        #fff !important;

    background:
        var(--rnzaf-blue) !important;

    border-color:
        #4f87bc;
}

/* Remove old separate Starter operations style */

.starter-operations-links {
    display:
        block;

    padding:
        0;

    background:
        transparent;

    border:
        0;
}

/* Tournament Admin launcher */

.operations-launch-card {
    padding:
        14px !important;

    border-left:
        4px solid var(--rnzaf-blue) !important;
}

.operations-launch-heading {
    margin-bottom:
        10px;
}

.operations-launch-heading h2 {
    margin:
        0 0 2px;
}

.operations-launch-heading p {
    margin:
        0;
}

.operations-launch-card
.operations-nav {
    margin-bottom:
        0;
}

/* Results page */

.operations-results-page {
    max-width:
        1450px;

    margin:
        0 auto;

    padding-bottom:
        35px;
}

.operations-page-header {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        20px;

    margin-bottom:
        12px;
}

.operations-page-header h1 {
    margin:
        2px 0 4px;
}

.operations-page-header p {
    margin:
        0;

    color:
        var(--rnzaf-muted);
}

.operations-score-section {
    margin-bottom:
        14px;
}

.operations-score-heading {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        14px;

    margin-bottom:
        14px;
}

.operations-score-heading h2 {
    margin:
        0 0 3px;

    color:
        var(--rnzaf-navy);

    font-size:
        1rem;
}

.operations-score-heading p {
    margin:
        0;

    color:
        #6f7d90;

    font-size:
        .68rem;
}

/* Qualification quick entry */

.qualification-quick-form {
    display:
        grid;

    grid-template-columns:
        minmax(
            300px,
            2fr
        )
        minmax(
            110px,
            .5fr
        )
        auto;

    gap:
        10px;

    align-items:
        end;

    padding:
        12px;

    margin-bottom:
        14px;

    background:
        #f3f7fc;

    border:
        1px solid #d0ddeb;

    border-radius:
        7px;
}

.qualification-quick-form label {
    display:
        flex;

    flex-direction:
        column;

    gap:
        4px;
}

.qualification-quick-form label > span {
    color:
        #65758a;

    font-size:
        .6rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.qualification-quick-form input,
.qualification-quick-form select {
    box-sizing:
        border-box;

    width:
        100%;

    padding:
        8px;
}

.qualification-score-list {
    overflow:
        hidden;

    border:
        1px solid #d8e2ed;

    border-radius:
        6px;
}

.qualification-score-head,
.qualification-score-row {
    display:
        grid;

    grid-template-columns:
        minmax(
            170px,
            1.3fr
        )
        minmax(
            170px,
            1fr
        )
        65px
        80px
        70px;

    gap:
        8px;

    align-items:
        center;

    padding:
        7px 9px;
}

.qualification-score-head {
    color:
        #fff;

    background:
        var(--rnzaf-navy-2);

    font-size:
        .55rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.qualification-score-row {
    border-top:
        1px solid #e1e8f0;

    font-size:
        .67rem;
}

.qualification-score-row:nth-child(odd) {
    background:
        #f7f9fc;
}

.qualification-score-row strong {
    color:
        var(--rnzaf-navy);
}

/* Keep semantic score/status colours */

.td-result-complete {
    color:
        #28583a;
}

@media (max-width: 800px) {

    .operations-nav {
        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            6px;
    }

    .operations-nav-brand {
        width:
            100%;

        box-sizing:
            border-box;

        padding:
            3px 3px 7px;

        border-right:
            0;

        border-bottom:
            1px solid
            rgba(
                255,
                255,
                255,
                .2
            );
    }

    .operations-nav-links {
        width:
            100%;
    }

    .operations-page-header {
        flex-direction:
            column;
    }

    .qualification-quick-form {
        grid-template-columns:
            1fr;
    }

    .qualification-score-list {
        overflow-x:
            auto;
    }

    .qualification-score-head,
    .qualification-score-row {
        min-width:
            650px;
    }
}

@media print {

    .operations-nav {
        display:
            none !important;
    }
}

/* ==========================================================
   Patch 18C - Persistent Operations Navigation
   ========================================================== */

.operations-nav {
    position:
        sticky;

    top:
        0;

    z-index:
        1200;

    margin:
        0 0 14px !important;
}

.operations-nav-brand {
    white-space:
        nowrap;
}

/*
 * Separator between Tournament Admin and the live
 * tournament-day functions.
 */

.operations-nav-links a:first-child {
    margin-right:
        5px;

    border-right-color:
        rgba(
            255,
            255,
            255,
            .28
        );
}

/* Tournament Admin page menu link */

.tournament-operations-menu-link {
    color:
        var(--rnzaf-blue) !important;

    font-weight:
        900 !important;
}

.tournament-operations-menu-link:hover {
    color:
        var(--rnzaf-navy) !important;
}

/*
 * Only used if the installer cannot identify the existing
 * Tournament Admin quick-link bar.
 */

.tournament-admin-operations-fallback {
    display:
        flex;

    align-items:
        center;

    margin-bottom:
        12px;

    padding:
        8px 10px;

    background:
        #edf4fb;

    border:
        1px solid #bfd1e4;

    border-left:
        4px solid var(--rnzaf-blue);

    border-radius:
        6px;
}

#clubhouse-announcements {
    scroll-margin-top:
        72px;
}

/*
 * Old Patch 18A launcher is no longer used.
 */

.tournament-day-launch-compact,
.operations-launch-card {
    display:
        none;
}

@media (max-width: 800px) {

    .operations-nav {
        top:
            0;
    }

    .operations-nav-links {
        padding-bottom:
            2px;
    }
}

@media print {

    .operations-nav,
    .tournament-admin-operations-fallback {
        display:
            none !important;
    }
}

/* ==========================================================
   Patch 18D - Operations Banner Layout Fix
   ========================================================== */

/*
 * Full-width shell. This makes admin operational pages
 * visually match the Starter Sheet instead of constraining
 * the menu to the inner page width.
 */

.operations-nav-shell {
    width:
        100%;

    box-sizing:
        border-box;

    margin:
        0 0 14px;

    padding:
        0;
}

.operations-nav-shell
.operations-nav {
    position:
        sticky;

    top:
        0;

    z-index:
        1500;

    width:
        100%;

    max-width:
        none;

    box-sizing:
        border-box;

    margin:
        0 !important;

    padding:
        8px 12px;

    color:
        #fff !important;

    background:
        var(--rnzaf-navy) !important;

    border:
        0 !important;

    border-top:
        2px solid #3f75a8 !important;

    border-bottom:
        1px solid #18385f !important;

    border-radius:
        0 !important;

    box-shadow:
        0 2px 5px
        rgba(
            0,
            0,
            0,
            .16
        );
}

/*
 * Override Patch 17B's broad admin-link selector.
 * This was the reason Tournament Day / Results links
 * were appearing dark blue and nearly invisible.
 */

main
.operations-nav
.operations-nav-links
a,
.operations-nav
.operations-nav-links
a {
    color:
        rgba(
            255,
            255,
            255,
            .90
        ) !important;

    background:
        transparent !important;

    text-decoration:
        none !important;
}

main
.operations-nav
.operations-nav-links
a:hover,
.operations-nav
.operations-nav-links
a:hover {
    color:
        #fff !important;

    background:
        var(--rnzaf-navy-2) !important;

    border-color:
        rgba(
            255,
            255,
            255,
            .22
        ) !important;
}

main
.operations-nav
.operations-nav-links
a.active,
.operations-nav
.operations-nav-links
a.active {
    color:
        #fff !important;

    background:
        #285d8a !important;

    border-color:
        #5b91c2 !important;
}

.operations-nav-brand {
    color:
        #fff !important;
}

/*
 * Tournament Day public-display launch.
 */

.operations-clubhouse-button {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        36px;

    box-sizing:
        border-box;

    padding:
        8px 13px;

    color:
        #fff !important;

    background:
        var(--rnzaf-blue) !important;

    border:
        1px solid #2f6f9f !important;

    border-radius:
        6px;

    box-shadow:
        0 2px 5px
        rgba(
            0,
            0,
            0,
            .12
        );

    font-size:
        .72rem;

    font-weight:
        900;

    text-decoration:
        none !important;

    white-space:
        nowrap;
}

.operations-clubhouse-button:hover {
    color:
        #fff !important;

    background:
        var(--rnzaf-navy-2) !important;

    border-color:
        #447cae !important;
}

/*
 * Ensure old loose header links don't create unexpected gaps.
 */

.tournament-day-actions:empty {
    display:
        none;
}

/*
 * Operational pages now get spacing below the full-width bar.
 */

.tournament-day-page,
.operations-results-page {
    padding-top:
        4px;
}

@media (max-width: 800px) {

    .operations-nav-shell
    .operations-nav {
        padding:
            7px 9px;
    }

    .operations-nav-links {
        width:
            100%;

        overflow-x:
            auto;
    }

    .tournament-day-actions {
        width:
            100%;
    }

    .operations-clubhouse-button {
        width:
            100%;
    }
}

@media print {

    .operations-nav-shell {
        display:
            none !important;
    }
}

/* ==========================================================
   Patch 18E - REAL Operations Layout
   ========================================================== */

/*
 * Tournament Day / Results / Announcements now use a
 * standalone layout just like Starter Sheet.
 *
 * The menu is OUTSIDE all .container / main wrappers.
 */

.operations-layout-body {
    margin:
        0 !important;

    min-height:
        100vh;

    background:
        var(
            --rnzaf-blue-pale,
            #F3F7FC
        ) !important;
}

/*
 * Critical:
 * use precisely the same nav dimensions as the working
 * Starter Sheet version. No max-width admin container.
 */

.operations-layout-body
.operations-nav-shell,
.starter-sheet-body
.operations-nav-shell {
    display:
        block;

    width:
        100%;

    max-width:
        none;

    margin:
        0 0 14px !important;

    padding:
        0;

    box-sizing:
        border-box;
}

.operations-layout-body
.operations-nav,
.starter-sheet-body
.operations-nav {
    position:
        relative !important;

    top:
        auto !important;

    z-index:
        1500;

    display:
        flex;

    align-items:
        center;

    gap:
        12px;

    width:
        100%;

    max-width:
        none;

    margin:
        0 !important;

    padding:
        8px 12px !important;

    box-sizing:
        border-box;

    color:
        #fff !important;

    background:
        var(
            --rnzaf-navy,
            #071A3D
        ) !important;

    border:
        0 !important;

    border-top:
        2px solid #3F75A8 !important;

    border-bottom:
        1px solid #18385F !important;

    border-radius:
        0 !important;

    box-shadow:
        0 2px 5px
        rgba(
            0,
            0,
            0,
            .16
        );
}

.operations-layout-body
.operations-nav-brand,
.starter-sheet-body
.operations-nav-brand {
    flex:
        0 0 auto;

    padding:
        6px 12px 6px 0;

    color:
        #fff !important;

    border-right:
        1px solid
        rgba(
            255,
            255,
            255,
            .24
        );

    font-size:
        .70rem;

    font-weight:
        900;

    letter-spacing:
        .035em;

    line-height:
        1;

    text-transform:
        uppercase;

    white-space:
        nowrap;
}

.operations-layout-body
.operations-nav-links,
.starter-sheet-body
.operations-nav-links {
    display:
        flex;

    align-items:
        center;

    gap:
        5px;

    min-width:
        0;

    overflow-x:
        auto;

    scrollbar-width:
        none;
}

.operations-layout-body
.operations-nav-links::-webkit-scrollbar,
.starter-sheet-body
.operations-nav-links::-webkit-scrollbar {
    display:
        none;
}

.operations-layout-body
.operations-nav-links a,
.starter-sheet-body
.operations-nav-links a {
    flex:
        0 0 auto;

    display:
        inline-flex;

    align-items:
        center;

    min-height:
        31px;

    box-sizing:
        border-box;

    padding:
        6px 9px;

    color:
        rgba(
            255,
            255,
            255,
            .91
        ) !important;

    background:
        transparent !important;

    border:
        1px solid transparent !important;

    border-radius:
        5px;

    font-size:
        .68rem;

    font-weight:
        800;

    line-height:
        1;

    text-decoration:
        none !important;

    white-space:
        nowrap;
}

.operations-layout-body
.operations-nav-links a:hover,
.starter-sheet-body
.operations-nav-links a:hover {
    color:
        #fff !important;

    background:
        var(
            --rnzaf-navy-2,
            #0B2A52
        ) !important;

    border-color:
        rgba(
            255,
            255,
            255,
            .18
        ) !important;
}

.operations-layout-body
.operations-nav-links a.active,
.starter-sheet-body
.operations-nav-links a.active {
    color:
        #fff !important;

    background:
        #285D8A !important;

    border-color:
        #5B91C2 !important;
}

/*
 * Same full-width header used by Starter Sheet.
 */

.operations-layout-body
.starter-sheet-header {
    width:
        100%;

    box-sizing:
        border-box;

    margin:
        0;

    color:
        #fff !important;

    background:
        var(
            --rnzaf-navy,
            #071A3D
        ) !important;
}

.operations-layout-body
.starter-sheet-header h1 {
    color:
        #fff !important;
}

.operations-layout-body
.starter-sheet-kicker {
    color:
        #B9D4EF !important;
}

.operations-layout-body
.starter-sheet-tournament {
    color:
        #D8E8F7 !important;
}

/*
 * Same content width as Starter Sheet.
 */

.operations-layout-main {
    width:
        100%;

    max-width:
        1280px !important;

    margin:
        0 auto !important;

    padding:
        20px !important;

    box-sizing:
        border-box;
}

.operations-layout-main
.tournament-day-page,
.operations-layout-main
.operations-results-page {
    width:
        100%;

    max-width:
        none !important;

    margin:
        0 !important;

    padding-top:
        0 !important;
}

/*
 * Clubhouse Daily Board is deliberately the only page-level
 * action outside the shared Operations menu.
 */

.operations-layout-body
.operations-clubhouse-button {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        36px;

    padding:
        8px 13px;

    box-sizing:
        border-box;

    color:
        #fff !important;

    background:
        #285D8A !important;

    border:
        1px solid #5B91C2 !important;

    border-radius:
        6px;

    font-size:
        .72rem;

    font-weight:
        900;

    text-decoration:
        none !important;

    white-space:
        nowrap;
}

.operations-layout-body
.operations-clubhouse-button:hover {
    color:
        #fff !important;

    background:
        #0B2A52 !important;
}

/*
 * No empty header action area on Results & Scores.
 */

.operations-layout-body
.starter-sheet-header-actions:empty {
    display:
        none;
}

/*
 * Announcement deep-link must sit below the two navigation
 * bars when scrolled into view.
 */

#clubhouse-announcements {
    scroll-margin-top:
        18px;
}

@media (max-width: 800px) {

    .operations-layout-body
    .operations-nav,
    .starter-sheet-body
    .operations-nav {
        align-items:
            center;

        flex-direction:
            row;

        padding:
            7px 9px !important;
    }

    .operations-layout-body
    .operations-nav-brand,
    .starter-sheet-body
    .operations-nav-brand {
        width:
            auto;

        padding:
            6px 10px 6px 0;

        border-right:
            1px solid
            rgba(
                255,
                255,
                255,
                .24
            );

        border-bottom:
            0;
    }

    .operations-layout-body
    .operations-nav-links,
    .starter-sheet-body
    .operations-nav-links {
        width:
            auto;

        flex:
            1;
    }

    .operations-layout-main {
        padding:
            12px !important;
    }
}

@media (max-width: 600px) {

    .operations-layout-body
    .operations-nav-brand,
    .starter-sheet-body
    .operations-nav-brand {
        font-size:
            .61rem;
    }

    .operations-layout-body
    .operations-nav-links a,
    .starter-sheet-body
    .operations-nav-links a {
        padding:
            6px 8px;

        font-size:
            .64rem;
    }

    .operations-layout-body
    .starter-sheet-header {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .operations-layout-body
    .starter-sheet-header-actions {
        width:
            100%;
    }

    .operations-layout-body
    .operations-clubhouse-button {
        width:
            100%;
    }
}

@media print {

    .operations-layout-body
    .operations-nav-shell {
        display:
            none !important;
    }
}

/* ==========================================================
   Patch 18F - Announcements + Day Navigation
   ========================================================== */

/*
 * Tournament Day and Results now literally use
 * .starter-day-nav, just like Starter Sheet.
 *
 * These rules simply guarantee no older admin selector can
 * override the selected state.
 */

.operations-layout-body
.starter-day-nav
a.active,
.operations-layout-body
.starter-day-nav
a.active:visited,
.operations-layout-body
.starter-day-nav
a.active:hover {
    color:
        #FFFFFF !important;

    background:
        var(
            --rnzaf-blue,
            #1F4E79
        ) !important;

    border-color:
        var(
            --rnzaf-blue,
            #1F4E79
        ) !important;
}

.operations-layout-body
.starter-day-nav
a:not(.active) {
    color:
        var(
            --rnzaf-blue,
            #1F4E79
        ) !important;

    background:
        #FFFFFF !important;
}

/* ==========================================================
   Standalone Announcements
   ========================================================== */

.operations-announcements-page {
    display:
        grid;

    gap:
        14px;
}

.operations-announcement-create,
.operations-announcement-section {
    margin:
        0 !important;
}

.operations-announcement-form {
    display:
        grid;

    grid-template-columns:
        minmax(
            280px,
            2fr
        )
        130px
        minmax(
            175px,
            1fr
        )
        minmax(
            175px,
            1fr
        );

    gap:
        10px;

    align-items:
        end;
}

.operations-announcement-form label {
    display:
        flex;

    flex-direction:
        column;

    gap:
        4px;

    margin:
        0;
}

.operations-announcement-form label > span {
    color:
        #66768A;

    font-size:
        .61rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.operations-announcement-form label small {
    color:
        #7A8798;

    font-size:
        .58rem;
}

.operations-announcement-form input,
.operations-announcement-form select,
.operations-announcement-form textarea {
    margin:
        0;

    box-sizing:
        border-box;
}

.operations-announcement-message {
    grid-row:
        span 2;
}

.operations-announcement-submit {
    grid-column:
        2 / -1;

    display:
        flex;

    justify-content:
        flex-end;
}

.operations-announcement-section-heading {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        14px;

    margin-bottom:
        12px;
}

.operations-announcement-section-heading h2 {
    margin:
        0 0 3px;

    color:
        var(
            --rnzaf-navy,
            #071A3D
        );

    font-size:
        1rem;
}

.operations-announcement-section-heading p {
    margin:
        0;

    color:
        #718095;

    font-size:
        .67rem;
}

.operations-announcement-count {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-width:
        29px;

    height:
        29px;

    padding:
        0 8px;

    color:
        #FFFFFF;

    background:
        var(
            --rnzaf-blue,
            #1F4E79
        );

    border-radius:
        999px;

    font-size:
        .65rem;

    font-weight:
        900;
}

.operations-announcement-count.muted-count {
    color:
        #5E6875;

    background:
        #E4E9EF;
}

.operations-announcement-item {
    display:
        grid;

    grid-template-columns:
        minmax(
            0,
            1fr
        )
        auto;

    gap:
        12px;

    align-items:
        center;

    padding:
        11px 12px;

    margin-bottom:
        8px;

    background:
        #FFFFFF;

    border:
        1px solid
        var(
            --rnzaf-border,
            #CAD7E6
        );

    border-left:
        4px solid
        #4D78A2;

    border-radius:
        7px;
}

.operations-announcement-item.level-important {
    border-left-color:
        #D19B27;
}

.operations-announcement-item.level-urgent {
    border-left-color:
        #A84D3F;
}

.operations-announcement-item.previous {
    opacity:
        .72;

    background:
        #F7F8FA;
}

.operations-announcement-item-main {
    min-width:
        0;
}

.operations-announcement-item-main > strong {
    display:
        block;

    margin:
        5px 0;

    color:
        #172033;

    font-size:
        .78rem;

    line-height:
        1.4;
}

.operations-announcement-badges {
    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        5px;
}

.operations-announcement-status {
    display:
        inline-block;

    padding:
        3px 6px;

    border-radius:
        999px;

    font-size:
        .52rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.operations-announcement-status.live {
    color:
        #285A3A;

    background:
        #DCEEE2;
}

.operations-announcement-status.scheduled {
    color:
        #75500A;

    background:
        #F5E6B9;
}

.operations-announcement-status.previous {
    color:
        #616B77;

    background:
        #E4E8EC;
}

.operations-announcement-times {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        10px;

    color:
        #758295;

    font-size:
        .61rem;
}

.operations-announcement-actions {
    display:
        flex;

    align-items:
        center;

    gap:
        6px;
}

.operations-announcement-actions details {
    position:
        relative;
}

.operations-announcement-actions summary {
    padding:
        7px 10px;

    color:
        var(
            --rnzaf-blue,
            #1F4E79
        );

    background:
        #FFFFFF;

    border:
        1px solid
        var(
            --rnzaf-border,
            #CAD7E6
        );

    border-radius:
        6px;

    cursor:
        pointer;

    font-size:
        .65rem;

    font-weight:
        800;

    list-style:
        none;
}

.operations-announcement-edit {
    position:
        absolute;

    right:
        0;

    top:
        calc(
            100% + 5px
        );

    z-index:
        100;

    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                190px,
                1fr
            )
        );

    gap:
        8px;

    width:
        min(
            620px,
            calc(
                100vw - 40px
            )
        );

    padding:
        12px;

    background:
        #FFFFFF;

    border:
        1px solid
        var(
            --rnzaf-border,
            #CAD7E6
        );

    border-radius:
        8px;

    box-shadow:
        0 10px 30px
        rgba(
            0,
            0,
            0,
            .18
        );
}

.operations-announcement-edit label {
    margin:
        0;

    font-size:
        .65rem;
}

.operations-announcement-edit textarea {
    min-height:
        72px;
}

.operations-announcement-edit button {
    justify-self:
        start;
}

.operations-announcement-empty {
    padding:
        22px 12px;

    color:
        #7A8797;

    background:
        #F7F9FC;

    border-radius:
        7px;

    text-align:
        center;

    font-size:
        .7rem;
}

/*
 * The old embedded Tournament Day announcement editor
 * is no longer used.
 */

.td-operations-details {
    display:
        none;
}

@media (max-width: 900px) {

    .operations-announcement-form {
        grid-template-columns:
            1fr
            1fr;
    }

    .operations-announcement-message {
        grid-column:
            1 / -1;

        grid-row:
            auto;
    }

    .operations-announcement-submit {
        grid-column:
            1 / -1;
    }
}

@media (max-width: 650px) {

    .operations-announcement-form {
        grid-template-columns:
            1fr;
    }

    .operations-announcement-message,
    .operations-announcement-submit {
        grid-column:
            auto;
    }

    .operations-announcement-submit button {
        width:
            100%;
    }

    .operations-announcement-item {
        grid-template-columns:
            1fr;
    }

    .operations-announcement-actions {
        justify-content:
            flex-start;
    }

    .operations-announcement-edit {
        position:
            fixed;

        left:
            12px;

        right:
            12px;

        top:
            80px;

        width:
            auto;

        grid-template-columns:
            1fr;

        max-height:
            calc(
                100vh - 100px
            );

        overflow-y:
            auto;
    }
}

/* ==========================================================
   Patch 18G - Day contrast / reusable announcements
   ========================================================== */

/*
|--------------------------------------------------------------------------
| Day selector
|--------------------------------------------------------------------------
|
| Patch 17B's broad admin URL rule caused the selected
| Tournament Day / Results link to inherit blue text.
|
| These are deliberate final guards even if an older copy
| of that selector remains in the stylesheet.
*/

html
body.operations-layout-body
main.starter-sheet-main
nav.starter-day-nav.operations-day-nav
a.active[href*="/admin/tournaments/"] {
    color:
        #FFFFFF !important;

    -webkit-text-fill-color:
        #FFFFFF !important;

    opacity:
        1 !important;
}

html
body.operations-layout-body
main.starter-sheet-main
nav.starter-day-nav.operations-day-nav
a.active[href*="/admin/tournaments/"]:hover,
html
body.operations-layout-body
main.starter-sheet-main
nav.starter-day-nav.operations-day-nav
a.active[href*="/admin/tournaments/"]:focus {
    color:
        #FFFFFF !important;

    -webkit-text-fill-color:
        #FFFFFF !important;

    background:
        var(
            --rnzaf-blue,
            #1F4E79
        ) !important;
}

html
body.operations-layout-body
main.starter-sheet-main
nav.starter-day-nav.operations-day-nav
a:not(.active) {
    -webkit-text-fill-color:
        var(
            --rnzaf-blue,
            #1F4E79
        ) !important;
}

/* ==========================================================
   Announcement Active controls
   ========================================================== */

.announcement-create-active,
.announcement-active-toggle {
    display:
        inline-flex !important;

    flex-direction:
        row !important;

    align-items:
        center;

    gap:
        7px;

    margin:
        0 !important;

    cursor:
        pointer;

    font-size:
        .7rem;

    font-weight:
        900;
}

.announcement-create-active {
    min-height:
        38px;

    padding:
        0 4px;
}

.announcement-create-active input,
.announcement-active-toggle input {
    width:
        18px !important;

    height:
        18px;

    margin:
        0 !important;

    padding:
        0;

    flex:
        0 0 auto;

    accent-color:
        #2F7547;
}

.announcement-active-toggle {
    padding:
        7px 10px;

    color:
        #294B35;

    background:
        #F5F8F6;

    border:
        1px solid #CED9D1;

    border-radius:
        6px;
}

.announcement-active-form {
    margin:
        0;
}

.operations-announcement-status.preloaded {
    color:
        #24547A;

    background:
        #DCEBF5;
}

.operations-announcement-edit-details {
    position:
        relative;
}

.operations-announcement-edit-details > summary {
    list-style:
        none;
}

.operations-announcement-edit-details > summary::-webkit-details-marker {
    display:
        none;
}

.operations-announcement-edit label > span {
    color:
        #647489;

    font-size:
        .58rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.announcement-edit-message {
    grid-column:
        1 / -1;
}

@media (max-width: 650px) {

    .announcement-active-toggle {
        min-height:
            38px;
    }
}

/* ==========================================================
   Patch 19 - Qualification Finalisation
   ========================================================== */

.qualification-workflow-card {
    margin-bottom:
        14px;
}

.qualification-workflow-heading {
    margin-bottom:
        13px;
}

.qualification-workflow-heading h2 {
    margin:
        0 0 3px;

    color:
        var(--rnzaf-navy);

    font-size:
        1rem;
}

.qualification-workflow-heading p {
    margin:
        0;

    color:
        #6F7D90;

    font-size:
        .68rem;
}

.qualification-workflow-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap:
        10px;
}

.qualification-workflow-item {
    padding:
        12px;

    background:
        #F8FAFD;

    border:
        1px solid
        var(--rnzaf-border);

    border-left:
        4px solid
        var(--rnzaf-blue);

    border-radius:
        8px;
}

.qualification-workflow-item.locked {
    background:
        #F2F8F4;

    border-left-color:
        #347A4B;
}

.qualification-workflow-item-top {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        10px;
}

.qualification-workflow-item-top > div {
    display:
        flex;

    flex-direction:
        column;

    gap:
        2px;
}

.qualification-workflow-item-top strong {
    color:
        var(--rnzaf-navy);

    font-size:
        .78rem;
}

.qualification-workflow-item-top span {
    color:
        #728095;

    font-size:
        .61rem;
}

.qualification-status {
    flex:
        0 0 auto;

    padding:
        4px 7px;

    border-radius:
        999px;

    font-size:
        .52rem !important;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.qualification-status.status-open {
    color:
        #5E6876;

    background:
        #E4E8ED;
}

.qualification-status.status-scores_complete {
    color:
        #245A82;

    background:
        #DCECF8;
}

.qualification-status.status-tie_review,
.qualification-status.status-allocation_review {
    color:
        #77510B;

    background:
        #F5E6B9;
}

.qualification-status.status-locked {
    color:
        #285A3A;

    background:
        #DCEEE2;
}

.qualification-completion-bar {
    height:
        6px;

    margin:
        10px 0 6px;

    overflow:
        hidden;

    background:
        #E2E8F0;

    border-radius:
        999px;
}

.qualification-completion-bar span {
    display:
        block;

    height:
        100%;

    background:
        var(--rnzaf-blue-mid);

    border-radius:
        inherit;
}

.qualification-complete {
    color:
        #317049;

    font-size:
        .62rem;

    font-weight:
        800;
}

.qualification-missing {
    color:
        #8B6720;

    font-size:
        .62rem;

    font-weight:
        800;
}

.qualification-status-form {
    display:
        grid;

    grid-template-columns:
        minmax(
            160px,
            1fr
        )
        auto;

    gap:
        8px;

    align-items:
        end;

    margin-top:
        11px;
}

.qualification-status-form label {
    display:
        flex;

    flex-direction:
        column;

    gap:
        3px;

    margin:
        0;
}

.qualification-status-form label > span {
    color:
        #6B798B;

    font-size:
        .55rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.qualification-status-form select {
    margin:
        0;
}

.qualification-locked-detail {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        8px;

    margin-top:
        11px;

    padding:
        8px 9px;

    color:
        #285A3A;

    background:
        #E7F3EA;

    border-radius:
        6px;

    font-size:
        .63rem;
}

.qualification-unlock {
    margin-top:
        8px;
}

.qualification-unlock summary {
    color:
        #8A5D13;

    cursor:
        pointer;

    font-size:
        .61rem;

    font-weight:
        800;
}

.qualification-unlock form {
    margin-top:
        8px;

    padding:
        9px;

    background:
        #FFF9E9;

    border:
        1px solid #E5CF91;

    border-radius:
        6px;
}

.qualification-unlock label {
    margin:
        0 0 8px;

    font-size:
        .63rem;
}

.qualification-unlock textarea {
    margin-top:
        4px;
}

.qualification-workflow-error {
    margin-bottom:
        10px;

    padding:
        9px 11px;

    color:
        #84352D;

    background:
        #F7DEDA;

    border:
        1px solid #E8BBB5;

    border-radius:
        6px;

    font-size:
        .67rem;

    font-weight:
        700;
}

@media (max-width: 800px) {

    .qualification-workflow-grid {
        grid-template-columns:
            1fr;
    }
}

@media (max-width: 550px) {

    .qualification-status-form {
        grid-template-columns:
            1fr;
    }

    .qualification-status-form button {
        width:
            100%;
    }
}

/* ==========================================================
   Patch 19 - Authoritative Match Result Entry
   ========================================================== */

.operations-results-page
.td-match-result-row.complete {
    background:
        #F0F8F3;

    border-left:
        4px solid #398154;
}

.operations-results-page
.td-result-complete {
    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-end;

    gap:
        2px;

    color:
        #285A3A !important;
}

.operations-results-page
.td-result-complete > span {
    color:
        #507760;

    font-size:
        .52rem;

    font-weight:
        900;

    letter-spacing:
        .04em;
}

.operations-results-page
.td-result-complete > strong {
    color:
        #285A3A !important;
}

.operations-results-page
.td-match-quick-form button.primary {
    white-space:
        nowrap;
}

/* ==========================================================
   Patch 19A - In-place Match Result Entry
   ========================================================== */

#match-results {
    scroll-margin-top:
        20px;
}

#match-results
.td-match-quick-form
button:disabled {
    opacity:
        .58;

    cursor:
        wait;
}

.operations-result-toast {
    position:
        fixed;

    top:
        82px;

    right:
        22px;

    z-index:
        100000;

    max-width:
        min(
            430px,
            calc(
                100vw - 30px
            )
        );

    padding:
        13px 16px;

    color:
        #FFFFFF;

    background:
        #176437;

    border-left:
        4px solid
        #7AC994;

    border-radius:
        8px;

    box-shadow:
        0 12px 32px
        rgba(
            0,
            0,
            0,
            .25
        );

    font-size:
        .76rem;

    font-weight:
        800;

    line-height:
        1.4;

    opacity:
        0;

    pointer-events:
        none;

    transform:
        translateY(
            -8px
        );

    transition:
        opacity .18s ease,
        transform .18s ease;
}

.operations-result-toast.visible {
    opacity:
        1;

    transform:
        translateY(
            0
        );
}

.operations-result-toast.error {
    background:
        #9C342E;

    border-left-color:
        #ED948D;
}

@media (max-width: 650px) {

    .operations-result-toast {
        top:
            72px;

        left:
            12px;

        right:
            12px;

        max-width:
            none;
    }
}

/* ==========================================================
   Patch 20 - Scoring Desk Flow
   ========================================================== */

#qualification-scores,
#match-results,
#stableford-scores {
    scroll-margin-top:
        20px;
}

#qualification-quick-form
button:disabled,
.stableford-operations-form
button:disabled {
    opacity:
        .58;

    cursor:
        wait;
}

.scoring-desk-toast {
    position:
        fixed;

    top:
        82px;

    right:
        22px;

    z-index:
        100001;

    max-width:
        min(
            430px,
            calc(
                100vw - 30px
            )
        );

    padding:
        13px 16px;

    color:
        #FFFFFF;

    background:
        #176437;

    border-left:
        4px solid #7AC994;

    border-radius:
        8px;

    box-shadow:
        0 12px 32px
        rgba(
            0,
            0,
            0,
            .25
        );

    font-size:
        .76rem;

    font-weight:
        800;

    line-height:
        1.4;

    opacity:
        0;

    pointer-events:
        none;

    transform:
        translateY(
            -8px
        );

    transition:
        opacity .18s ease,
        transform .18s ease;
}

.scoring-desk-toast.visible {
    opacity:
        1;

    transform:
        translateY(
            0
        );
}

.scoring-desk-toast.error {
    background:
        #9C342E;

    border-left-color:
        #ED948D;
}

/*
 * Give the next qualification score field a strong
 * operational focus once the previous score is saved.
 */

#qualification-score:focus {
    border-color:
        #2F6DB2 !important;

    box-shadow:
        0 0 0 3px
        rgba(
            47,
            109,
            178,
            .14
        );
}

@media (max-width: 650px) {

    .scoring-desk-toast {
        top:
            72px;

        left:
            12px;

        right:
            12px;

        max-width:
            none;
    }
}

/* ==========================================================
   Patch 21B - Tournament Entry Configuration
   ========================================================== */

.tournament-entry-settings-page {
    width:
        100%;
}

.tournament-entry-settings-form {
    display:
        grid;

    gap:
        14px;
}

.tournament-entry-settings-card {
    margin:
        0;
}

.tournament-entry-settings-heading {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        15px;

    margin-bottom:
        15px;
}

.tournament-entry-settings-heading h2 {
    margin:
        0 0 3px;

    color:
        var(
            --rnzaf-navy,
            #071A3D
        );

    font-size:
        1rem;
}

.tournament-entry-settings-heading p {
    margin:
        0;

    color:
        #718095;

    font-size:
        .68rem;
}

.tournament-entry-state {
    display:
        inline-flex;

    align-items:
        center;

    padding:
        6px 10px;

    border-radius:
        999px;

    font-size:
        .62rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.tournament-entry-state.state-disabled {
    color:
        #5C6672;

    background:
        #E3E7EB;
}

.tournament-entry-state.state-scheduled {
    color:
        #76550F;

    background:
        #F5E7BC;
}

.tournament-entry-state.state-open {
    color:
        #285A3A;

    background:
        #DCEEE2;
}

.tournament-entry-state.state-closed {
    color:
        #84352D;

    background:
        #F4DDDA;
}

.entry-settings-grid {
    display:
        grid;

    gap:
        12px 15px;
}

.entry-settings-grid.two {
    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );
}

.entry-settings-grid.three {
    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );
}

.entry-settings-grid label,
.entry-setting-full {
    margin:
        0;
}

.entry-settings-grid label > span,
.entry-setting-full > span {
    display:
        block;

    color:
        #42536A;

    font-size:
        .67rem;

    font-weight:
        900;
}

.entry-settings-grid small,
.entry-setting-full small {
    display:
        block;

    margin-top:
        4px;

    color:
        #7B8795;

    font-size:
        .59rem;

    font-weight:
        500;
}

.entry-settings-toggle-grid,
.entry-settings-trophy-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(
                220px,
                1fr
            )
        );

    gap:
        8px;

    margin-top:
        13px;
}

.entry-setting-toggle {
    display:
        flex !important;

    align-items:
        flex-start;

    gap:
        8px;

    margin:
        0 !important;

    padding:
        10px 11px;

    color:
        #263B54;

    background:
        #F7F9FC;

    border:
        1px solid #D7E0EB;

    border-radius:
        7px;

    font-size:
        .68rem;

    cursor:
        pointer;
}

.entry-setting-toggle input {
    flex:
        0 0 auto;

    width:
        17px !important;

    height:
        17px;

    margin:
        1px 0 0 !important;

    padding:
        0;

    accent-color:
        #1F4E79;
}

.entry-setting-toggle span {
    display:
        grid;

    gap:
        2px;
}

.entry-setting-toggle strong {
    color:
        #071A3D;
}

.entry-setting-toggle small {
    color:
        #778597;

    font-size:
        .59rem;

    font-weight:
        500;
}

.entry-setting-primary-toggle {
    margin-bottom:
        13px !important;

    background:
        #EEF5FC;

    border-color:
        #BDD1E5;
}

.entry-setting-full {
    display:
        block;

    margin-top:
        13px;
}

.entry-setting-full textarea {
    margin-top:
        6px;
}

.entry-settings-subcard {
    display:
        grid;

    gap:
        11px;

    padding:
        12px;

    background:
        #FAFBFD;

    border:
        1px solid #DCE4ED;

    border-radius:
        8px;
}

.entry-settings-subcard label {
    margin:
        0;
}

.tournament-entry-settings-save {
    position:
        sticky;

    bottom:
        12px;

    z-index:
        100;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        15px;

    padding:
        12px 14px;

    background:
        rgba(
            255,
            255,
            255,
            .97
        );

    border:
        1px solid #CBD8E6;

    border-radius:
        9px;

    box-shadow:
        0 7px 22px
        rgba(
            7,
            26,
            61,
            .12
        );
}

.tournament-entry-settings-save > div {
    display:
        grid;

    gap:
        2px;
}

.tournament-entry-settings-save strong {
    color:
        #071A3D;

    font-size:
        .69rem;
}

.tournament-entry-settings-save span {
    color:
        #768395;

    font-size:
        .6rem;
}

.tournament-entry-setup-link {
    color:
        var(
            --rnzaf-blue,
            #1F4E79
        ) !important;
}

.tournament-entry-setup-fallback {
    margin-bottom:
        14px;
}

@media (max-width: 800px) {

    .entry-settings-grid.two,
    .entry-settings-grid.three {
        grid-template-columns:
            1fr;
    }

    .tournament-entry-settings-save {
        align-items:
            stretch;

        flex-direction:
            column;
    }

    .tournament-entry-settings-save button {
        width:
            100%;
    }
}

/* ==========================================================
   Patch 21C - Member Tournament Entry
   Functional styling; visual polish can come later.
   ========================================================== */

.member-entry-page {
    width:
        min(
            100%,
            980px
        );

    margin:
        0 auto;
}

.member-entry-header {
    margin-bottom:
        16px;
}

.member-entry-header h1 {
    margin:
        4px 0;
}

.member-entry-eyebrow {
    color:
        var(
            --rnzaf-blue,
            #1F4E79
        );

    font-size:
        .67rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.member-entry-tournament-list,
.member-entry-form {
    display:
        grid;

    gap:
        13px;
}

.member-entry-tournament-card {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        15px;
}

.member-entry-tournament-card h2 {
    margin:
        0 0 5px;
}

.member-entry-tournament-card p {
    margin:
        5px 0 0;
}

.member-entry-status {
    display:
        inline-block;

    padding:
        4px 8px;

    border-radius:
        999px;

    font-size:
        .59rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.member-entry-status.status-submitted,
.member-entry-status.state-scheduled {
    color:
        #71510E;

    background:
        #F5E7BA;
}

.member-entry-status.status-confirmed,
.member-entry-status.state-open {
    color:
        #285A3A;

    background:
        #DDEEE3;
}

.member-entry-status.status-withdrawn,
.member-entry-status.state-closed,
.member-entry-status.state-disabled {
    color:
        #77423C;

    background:
        #EFE0DE;
}

.member-entry-section h2,
.member-entry-summary h2 {
    margin:
        0 0 13px;

    color:
        var(
            --rnzaf-navy,
            #071A3D
        );

    font-size:
        .95rem;
}

.member-entry-profile-grid,
.member-entry-summary-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap:
        9px;
}

.member-entry-profile-grid > div,
.member-entry-summary-grid > div {
    padding:
        10px;

    background:
        #F5F8FC;

    border-radius:
        7px;
}

.member-entry-profile-grid span,
.member-entry-summary-grid span {
    display:
        block;

    color:
        #748295;

    font-size:
        .61rem;

    font-weight:
        800;
}

.member-entry-profile-grid strong,
.member-entry-summary-grid strong {
    display:
        block;

    margin-top:
        2px;

    color:
        #17293E;
}

.member-entry-field-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap:
        12px;
}

.member-entry-field-grid label,
.member-entry-section fieldset {
    margin:
        0;
}

.member-entry-section fieldset {
    padding:
        10px;

    border:
        1px solid #D9E1EA;

    border-radius:
        7px;
}

.member-entry-section legend {
    color:
        #44546A;

    font-size:
        .66rem;

    font-weight:
        900;
}

.member-entry-choice,
.member-entry-declaration {
    display:
        flex !important;

    align-items:
        flex-start;

    gap:
        8px;

    margin:
        6px 0 !important;

    font-size:
        .7rem;
}

.member-entry-choice input,
.member-entry-declaration input,
.member-entry-check-grid input,
.member-entry-night-grid input,
.member-entry-meal-table input {
    width:
        auto !important;

    margin:
        2px 0 0 !important;

    accent-color:
        #1F4E79;
}

.member-entry-check-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap:
        8px;
}

.member-entry-check-grid > label {
    display:
        flex;

    gap:
        8px;

    margin:
        0;

    padding:
        10px;

    background:
        #F7F9FC;

    border:
        1px solid #DCE4ED;

    border-radius:
        7px;

    font-size:
        .68rem;
}

.member-entry-check-grid strong {
    display:
        block;

    color:
        #071A3D;
}

.member-entry-conditional {
    display:
        none;

    margin-top:
        12px;

    padding:
        12px;

    background:
        #F7F9FC;

    border:
        1px solid #DCE4ED;

    border-radius:
        8px;
}

.member-entry-conditional.visible {
    display:
        block;
}

.member-entry-night-grid {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        7px;
}

.member-entry-night-grid label {
    display:
        flex;

    align-items:
        center;

    gap:
        5px;

    margin:
        0;

    padding:
        7px 9px;

    background:
        #FFFFFF;

    border:
        1px solid #D4DFEA;

    border-radius:
        6px;

    font-size:
        .67rem;
}

.member-entry-meal-table {
    overflow-x:
        auto;

    border:
        1px solid #DCE4ED;

    border-radius:
        7px;
}

.member-entry-meal-head,
.member-entry-meal-row {
    display:
        grid;

    grid-template-columns:
        minmax(
            100px,
            1.1fr
        )
        repeat(
            3,
            minmax(
                95px,
                1fr
            )
        );

    align-items:
        center;

    gap:
        6px;

    min-width:
        470px;

    padding:
        7px 9px;
}

.member-entry-meal-head {
    color:
        #FFFFFF;

    background:
        #0B2A52;

    font-size:
        .6rem;

    font-weight:
        900;
}

.member-entry-meal-row {
    border-top:
        1px solid #E2E8F0;

    font-size:
        .65rem;
}

.member-entry-meal-row label {
    display:
        flex;

    align-items:
        center;

    gap:
        5px;

    margin:
        0;
}

.member-entry-meal-row label span {
    display:
        none;
}

.member-entry-fee-box {
    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap:
        8px;
}

.member-entry-fee-box > div {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        10px;

    padding:
        10px;

    background:
        #F5F8FC;

    border-radius:
        7px;
}

.member-entry-small-note {
    color:
        #6E7C8E;

    font-size:
        .65rem;

    line-height:
        1.45;
}

.member-entry-warning,
.registration-engine-warning {
    margin-top:
        12px;

    padding:
        10px;

    color:
        #76520B;

    background:
        #FFF3CE;

    border-radius:
        7px;

    font-size:
        .68rem;
}

.member-entry-errors {
    margin-bottom:
        13px;

    padding:
        12px;

    color:
        #84352D;

    background:
        #F8E4E1;

    border-radius:
        7px;
}

.member-entry-withdraw {
    margin-top:
        14px;
}

/* Committee registration workspace */

.registration-admin-summary {
    display:
        grid;

    grid-template-columns:
        repeat(
            5,
            minmax(
                0,
                1fr
            )
        );

    gap:
        8px;

    margin-bottom:
        14px;
}

.registration-admin-summary > div {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        10px;

    padding:
        10px;

    background:
        #FFFFFF;

    border:
        1px solid #D9E1EA;

    border-radius:
        7px;
}

.registration-admin-summary span {
    color:
        #68778A;

    font-size:
        .61rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.registration-admin-summary strong {
    color:
        #071A3D;

    font-size:
        1.1rem;
}

.registration-admin-summary .attention {
    background:
        #FFF1EF;

    border-color:
        #E0B7B2;
}

.registration-admin-tabs {
    display:
        flex;

    gap:
        6px;

    margin-bottom:
        13px;

    overflow-x:
        auto;
}

.registration-admin-tabs a {
    flex:
        0 0 auto;

    padding:
        7px 10px;

    color:
        #1F4E79;

    background:
        #FFFFFF;

    border:
        1px solid #D3DEE9;

    border-radius:
        6px;

    font-size:
        .66rem;

    font-weight:
        900;

    text-decoration:
        none;
}

.registration-admin-tabs a.active {
    color:
        #FFFFFF;

    background:
        #1F4E79;

    border-color:
        #1F4E79;
}

.tournament-registration-admin table small {
    display:
        block;

    margin-top:
        2px;

    color:
        #768497;
}

.registration-sync {
    text-transform:
        capitalize;
}

.registration-sync.sync-needs_review {
    color:
        #9A3D34;

    font-weight:
        900;
}

.registration-sync.sync-synced {
    color:
        #2E6B43;

    font-weight:
        900;
}

.registration-review-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap:
        13px;
}

.registration-details {
    margin:
        0;
}

.registration-details > div {
    display:
        grid;

    grid-template-columns:
        150px
        minmax(
            0,
            1fr
        );

    gap:
        10px;

    padding:
        7px 0;

    border-bottom:
        1px solid #E4E9EF;
}

.registration-details dt {
    color:
        #728095;

    font-size:
        .64rem;

    font-weight:
        900;
}

.registration-details dd {
    margin:
        0;

    font-size:
        .7rem;
}

.registration-meal-summary {
    display:
        flex;

    justify-content:
        space-between;

    gap:
        12px;

    padding:
        7px 0;

    border-bottom:
        1px solid #E4E9EF;

    font-size:
        .68rem;
}

.tournament-registration-heading-action {
    order:
        99;
}

@media (max-width: 800px) {

    .member-entry-tournament-card {
        align-items:
            stretch;

        flex-direction:
            column;
    }

    .member-entry-profile-grid,
    .member-entry-summary-grid,
    .member-entry-field-grid,
    .member-entry-check-grid,
    .member-entry-fee-box,
    .registration-review-grid {
        grid-template-columns:
            1fr;
    }

    .registration-admin-summary {
        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );
    }

    .registration-details > div {
        grid-template-columns:
            1fr;
        gap:
            2px;
    }
}

/* ==========================================================
   Patch 21C2 - Entry integration completion
   ========================================================== */

.member-entry-live-total {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        10px;

    margin-top:
        9px;

    padding:
        11px;

    color:
        #071A3D;

    background:
        #EAF2FB;

    border:
        1px solid #B7CDE4;

    border-radius:
        7px;
}

.member-entry-live-total span {
    font-weight:
        800;
}

.member-entry-live-total strong {
    font-size:
        1.1rem;
}

.member-competition-tournament-hub {
    margin-bottom:
        18px;
}

.member-competition-hub-heading {
    margin-bottom:
        10px;
}

.member-competition-hub-heading h2 {
    margin:
        0 0 3px;

    color:
        #071A3D;
}

.member-competition-hub-heading p {
    margin:
        0;

    color:
        #718095;

    font-size:
        .68rem;
}

.member-competition-hub-list {
    display:
        grid;

    gap:
        9px;
}

.member-competition-hub-card {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        14px;

    margin:
        0;
}

.member-competition-hub-card h3 {
    margin:
        0 0 6px;

    color:
        #071A3D;
}

.member-competition-hub-meta {
    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        6px;

    color:
        #68778A;

    font-size:
        .65rem;
}

.member-competition-hub-actions {
    display:
        flex;

    align-items:
        center;

    justify-content:
        flex-end;

    flex-wrap:
        wrap;

    gap:
        7px;
}

.member-competition-hub-note {
    color:
        #768496;

    font-size:
        .65rem;

    font-weight:
        700;
}

@media (max-width: 800px) {

    .member-competition-hub-card {
        align-items:
            stretch;

        flex-direction:
            column;
    }

    .member-competition-hub-actions {
        justify-content:
            flex-start;
    }

    .member-competition-hub-actions .button {
        flex:
            1 1 auto;

        text-align:
            center;
    }
}

/* ==========================================================
   Patch 21C3 - Member Competitions Tournament Hub
   ========================================================== */

.member-tournament-hub {
    width:
        min(
            100%,
            1050px
        );

    margin:
        0 auto;
}

.member-tournament-hub-header {
    margin-bottom:
        19px;
}

.member-tournament-hub-header h1 {
    margin:
        3px 0 4px;

    color:
        #071A3D;
}

.member-tournament-hub-header p {
    margin:
        0;

    color:
        #6D7B8F;
}

.member-tournament-hub-eyebrow {
    color:
        #1F4E79;

    font-size:
        .66rem;

    font-weight:
        900;

    letter-spacing:
        .06em;

    text-transform:
        uppercase;
}

.member-tournament-hub-section {
    margin-bottom:
        22px;
}

.member-tournament-hub-section-heading {
    margin-bottom:
        9px;
}

.member-tournament-hub-section-heading h2 {
    margin:
        0 0 2px;

    color:
        #071A3D;

    font-size:
        1rem;
}

.member-tournament-hub-section-heading p {
    margin:
        0;

    color:
        #778598;

    font-size:
        .66rem;
}

.member-tournament-hub-list {
    display:
        grid;

    gap:
        10px;
}

.member-tournament-hub-card {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        18px;

    margin:
        0;

    border-left:
        4px solid #CAD7E6;
}

.member-tournament-hub-card.is-current {
    border-left-color:
        #2F6DB2;

    box-shadow:
        0 5px 18px
        rgba(
            7,
            26,
            61,
            .09
        );
}

.member-tournament-hub-card-main {
    min-width:
        0;

    flex:
        1 1 auto;
}

.member-tournament-hub-card-top {
    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        8px;
}

.member-tournament-hub-card h3 {
    margin:
        0;

    color:
        #071A3D;

    font-size:
        .94rem;
}

.member-tournament-hub-badges {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        5px;
}

.member-tournament-badge {
    display:
        inline-flex;

    align-items:
        center;

    padding:
        3px 7px;

    border-radius:
        999px;

    font-size:
        .54rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.member-tournament-badge.live {
    color:
        #FFFFFF;

    background:
        #2F6DB2;
}

.member-tournament-badge.published {
    color:
        #285A3A;

    background:
        #DCEEE2;
}

.member-tournament-badge.entries {
    color:
        #285A3A;

    background:
        #DCEEE2;
}

.member-tournament-badge.scheduled {
    color:
        #73520E;

    background:
        #F4E6BA;
}

.member-tournament-badge.registration {
    color:
        #24547A;

    background:
        #DCEBF5;
}

.member-tournament-badge.status-withdrawn {
    color:
        #84352D;

    background:
        #F5DDDA;
}

.member-tournament-dates {
    margin-top:
        6px;

    color:
        #627187;

    font-size:
        .67rem;

    font-weight:
        700;
}

.member-tournament-entry-summary {
    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        4px;

    margin-top:
        7px;

    color:
        #647388;

    font-size:
        .66rem;
}

.member-tournament-entry-summary strong {
    color:
        #17293E;
}

.member-tournament-hub-actions {
    display:
        flex;

    align-items:
        center;

    justify-content:
        flex-end;

    flex-wrap:
        wrap;

    gap:
        7px;

    flex:
        0 0 auto;
}

.member-tournament-not-published {
    max-width:
        230px;

    color:
        #788699;

    font-size:
        .62rem;

    line-height:
        1.35;
}

.member-tournament-hub-empty {
    text-align:
        center;
}

@media (max-width: 760px) {

    .member-tournament-hub-card {
        align-items:
            stretch;

        flex-direction:
            column;

        gap:
            12px;
    }

    .member-tournament-hub-actions {
        justify-content:
            flex-start;
    }

    .member-tournament-hub-actions .button {
        flex:
            1 1 auto;

        text-align:
            center;
    }

    .member-tournament-not-published {
        max-width:
            none;
    }
}

/* ==========================================================
   Patch 21C4 - Clean Member Navigation
   ========================================================== */

.member-nav {
    display:
        flex;

    align-items:
        center;

    gap:
        16px;

    min-height:
        58px;

    padding:
        0 18px;

    color:
        #FFFFFF;

    background:
        #071A3D;

    border-bottom:
        3px solid #2F6DB2;
}

.member-nav a {
    text-decoration:
        none;
}

.member-nav-brand {
    flex:
        0 0 auto;
}

.member-nav-brand a {
    color:
        #FFFFFF !important;

    font-weight:
        900;
}

.member-nav-links {
    display:
        flex;

    align-items:
        center;

    gap:
        4px;

    flex:
        1 1 auto;

    min-width:
        0;
}

.member-nav-links > a {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        5px;

    padding:
        8px 10px;

    color:
        #DCEAF8 !important;

    border-radius:
        6px;

    font-size:
        .68rem;

    font-weight:
        800;
}

.member-nav-links > a:hover,
.member-nav-links > a.active {
    color:
        #FFFFFF !important;

    background:
        #1F4E79;
}

.member-nav-account {
    display:
        flex;

    align-items:
        center;

    gap:
        10px;

    flex:
        0 0 auto;
}

.member-nav-user {
    color:
        #DCEAF8;

    font-size:
        .65rem;

    font-weight:
        800;
}

.member-nav-logout {
    margin:
        0;
}

.member-nav-logout button {
    margin:
        0;

    padding:
        6px 9px;

    color:
        #FFFFFF;

    background:
        transparent;

    border:
        1px solid rgba(
            255,
            255,
            255,
            .3
        );

    border-radius:
        5px;

    font-size:
        .62rem;

    font-weight:
        800;
}

.member-nav-badge {
    display:
        inline-grid;

    place-items:
        center;

    min-width:
        18px;

    height:
        18px;

    padding:
        0 4px;

    color:
        #071A3D;

    background:
        #FFFFFF;

    border-radius:
        999px;

    font-size:
        .53rem;

    font-weight:
        900;
}

/* ==========================================================
   Tournament-specific navigation
   ========================================================== */

.member-tournament-nav {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        14px;

    margin-bottom:
        16px;

    padding:
        10px 12px;

    background:
        #FFFFFF;

    border:
        1px solid #CBD8E6;

    border-left:
        4px solid #2F6DB2;

    border-radius:
        8px;
}

.member-tournament-nav-title {
    display:
        grid;

    gap:
        1px;

    min-width:
        0;
}

.member-tournament-nav-title span {
    color:
        #718095;

    font-size:
        .55rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.member-tournament-nav-title strong {
    overflow:
        hidden;

    color:
        #071A3D;

    font-size:
        .75rem;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}

.member-tournament-nav-links {
    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        5px;
}

.member-tournament-nav-links a {
    padding:
        6px 9px;

    color:
        #1F4E79 !important;

    background:
        #F3F7FC;

    border:
        1px solid #D4E0EC;

    border-radius:
        5px;

    font-size:
        .61rem;

    font-weight:
        900;

    text-decoration:
        none;
}

.member-tournament-nav-links a.active {
    color:
        #FFFFFF !important;

    background:
        #1F4E79;

    border-color:
        #1F4E79;
}

@media (max-width: 850px) {

    .member-nav {
        align-items:
            stretch;

        flex-wrap:
            wrap;

        gap:
            6px;

        padding:
            9px 10px;
    }

    .member-nav-brand {
        display:
            flex;

        align-items:
            center;

        min-height:
            32px;
    }

    .member-nav-account {
        margin-left:
            auto;
    }

    .member-nav-links {
        order:
            3;

        width:
            100%;

        overflow-x:
            auto;

        scrollbar-width:
            none;
    }

    .member-nav-links::-webkit-scrollbar {
        display:
            none;
    }

    .member-nav-links > a {
        flex:
            0 0 auto;
    }

    .member-tournament-nav {
        align-items:
            stretch;

        flex-direction:
            column;
    }

    .member-tournament-nav-links {
        overflow-x:
            auto;

        flex-wrap:
            nowrap;

        scrollbar-width:
            none;
    }

    .member-tournament-nav-links::-webkit-scrollbar {
        display:
            none;
    }

    .member-tournament-nav-links a {
        flex:
            0 0 auto;
    }
}

/* ==========================================================
   Patch 21C5 - Accommodation + Meal Pricing
   ========================================================== */

.entry-meal-cost-heading {
    display:
        grid;

    gap:
        2px;

    margin:
        14px 0 8px;

    padding-top:
        12px;

    border-top:
        1px solid #E0E7EF;
}

.entry-meal-cost-heading strong {
    color:
        #071A3D;

    font-size:
        .75rem;
}

.entry-meal-cost-heading span {
    color:
        #718095;

    font-size:
        .61rem;
}

.member-entry-accommodation-choice {
    margin-top:
        12px !important;

    background:
        #F8FAFD;
}

.member-entry-meal-note {
    padding:
        8px 10px;

    background:
        #F5F8FC;

    border-radius:
        6px;
}

.member-entry-meal-note p {
    margin:
        0;

    font-size:
        .67rem;

    line-height:
        1.4;
}

.member-entry-meal-head span {
    display:
        grid;

    gap:
        2px;
}

.member-entry-meal-head small {
    color:
        #DCEAF8;

    font-size:
        .52rem;

    font-weight:
        700;
}

.member-entry-fee-box {
    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );
}

#entry-meal-estimate,
#entry-accommodation-estimate {
    color:
        #1F4E79;
}

@media (max-width: 760px) {

    .member-entry-fee-box {
        grid-template-columns:
            1fr;
    }
}

/* ==========================================================
   Patch 21C6 - Serving PAYD Meals
   ========================================================== */

.member-entry-meal-confirmation-wrap {
    margin:
        12px 0;

    padding:
        11px;

    background:
        #EEF5FC;

    border:
        1px solid #C5D8EB;

    border-radius:
        7px;
}

.member-entry-meal-confirmation-wrap
.member-entry-declaration {
    margin:
        0 !important;
}

.meal-price-serving {
    color:
        #DCEAF8 !important;

    font-weight:
        900 !important;

    letter-spacing:
        .03em;
}

.meal-price-non-nzdf {
    color:
        #DCEAF8 !important;
}

#entry-meal-estimate {
    font-weight:
        900;
}

/* ==========================================================
   Patch 21C7 - Entry form cleanup
   ========================================================== */

/*
 * Patch 21C6's confirmation panel is no longer rendered.
 * Meal attendance is represented directly by the meal grid.
 */

.member-entry-catering-note {
    margin:
        10px 0;

    padding:
        8px 10px;

    color:
        #42536A;

    background:
        transparent;

    border-left:
        3px solid #2F6DB2;

    font-size:
        .67rem;

    line-height:
        1.45;
}

.member-entry-field-grid select[name="area_team"]:required:invalid {
    color:
        #7A8797;
}

/* ==========================================================
   Patch 21C8 - Manual Handicap Management
   ========================================================== */

.member-entry-handicap-field label {
    display:
        block;

    margin:
        0;
}

.member-entry-handicap-field label > span {
    display:
        block;

    color:
        #748295;

    font-size:
        .61rem;

    font-weight:
        800;
}

.member-entry-handicap-field input {
    margin-top:
        5px;
}

.member-entry-handicap-field small {
    display:
        block;

    margin-top:
        4px;

    color:
        #728095;

    font-size:
        .58rem;

    line-height:
        1.35;
}

.registration-details dd small {
    display:
        block;

    margin-top:
        2px;

    color:
        #748295;

    font-size:
        .56rem;

    text-transform:
        capitalize;
}

/* ==========================================================
   Patch 22A - Tournament Admin Competition Review
   ========================================================== */

.admin-competition-review {
    margin:
        22px 0;
}

.admin-review-heading {
    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        16px;

    margin-bottom:
        12px;
}

.admin-review-heading h2 {
    margin:
        2px 0 4px;

    color:
        #071A3D;
}

.admin-review-heading p {
    margin:
        0;

    color:
        #6F7D90;

    max-width:
        760px;
}

.admin-review-kicker {
    color:
        #1F4E79;

    font-size:
        .62rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.admin-review-panel {
    margin-bottom:
        13px;
}

.admin-review-panel > summary {
    color:
        #071A3D;

    cursor:
        pointer;

    font-weight:
        900;
}

.admin-review-content {
    margin-top:
        13px;
}

.admin-review-title-row {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        14px;

    margin-bottom:
        12px;
}

.admin-review-title-row h3,
.admin-ranking-block h4 {
    margin:
        0 0 3px;

    color:
        #071A3D;
}

.admin-review-title-row p {
    margin:
        0;

    color:
        #748194;

    font-size:
        .66rem;
}

.admin-hcp-form {
    display:
        grid;

    grid-template-columns:
        85px
        minmax(
            110px,
            1fr
        )
        auto;

    align-items:
        center;

    gap:
        7px;

    margin:
        0;
}

.admin-hcp-form input {
    margin:
        0;
}

.admin-hcp-form span {
    color:
        #728095;

    font-size:
        .6rem;

    text-transform:
        capitalize;
}

.admin-seed-action {
    margin-top:
        12px;
}

.admin-ranking-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap:
        14px;
}

.admin-ranking-block {
    min-width:
        0;
}

.ranking-tied {
    background:
        #FFF7DE !important;
}

.ranking-tie-badge {
    display:
        inline-flex;

    margin-left:
        5px;

    padding:
        2px 5px;

    color:
        #6D4C08;

    background:
        #F5DEA0;

    border-radius:
        999px;

    font-size:
        .5rem;

    font-weight:
        900;
}

.admin-tie-summary {
    display:
        grid;

    gap:
        6px;

    margin-bottom:
        12px;
}

.admin-tie-summary > div {
    display:
        grid;

    grid-template-columns:
        120px
        minmax(
            0,
            1fr
        )
        auto;

    gap:
        10px;

    align-items:
        center;

    padding:
        8px 10px;

    border-radius:
        6px;

    font-size:
        .64rem;
}

.admin-tie-summary .resolved {
    color:
        #285A3A;

    background:
        #E3F1E7;
}

.admin-tie-summary .unresolved {
    color:
        #75500A;

    background:
        #FFF2CC;
}

.admin-review-next-step {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        15px;

    padding:
        12px 14px;

    background:
        #EEF5FC;

    border:
        1px solid #C3D7EA;

    border-radius:
        8px;
}

.admin-review-next-step > div:first-child {
    display:
        grid;

    gap:
        2px;
}

.admin-review-next-step span {
    color:
        #647388;

    font-size:
        .66rem;
}

.admin-review-next-actions {
    display:
        flex;

    gap:
        7px;
}

@media (max-width: 900px) {

    .admin-ranking-grid {
        grid-template-columns:
            1fr;
    }

    .admin-review-heading,
    .admin-review-next-step {
        align-items:
            stretch;

        flex-direction:
            column;
    }

    .admin-review-next-actions {
        flex-wrap:
            wrap;
    }

    .admin-tie-summary > div {
        grid-template-columns:
            1fr;
    }
}

/* ==========================================================
   Patch 22B - Qualification Finalisation
   ========================================================== */

.qualification-finalisation {
    margin-bottom:
        14px;

    border-left:
        4px solid #2F6DB2;
}

.qualification-finalisation.is-locked {
    border-left-color:
        #3E7B51;
}

.qualification-finalisation-heading {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        14px;

    margin-bottom:
        13px;
}

.qualification-finalisation-heading h3 {
    margin:
        2px 0 3px;

    color:
        #071A3D;
}

.qualification-finalisation-heading p {
    margin:
        0;

    max-width:
        720px;

    color:
        #718095;

    font-size:
        .67rem;
}

.qualification-finalisation-kicker {
    color:
        #1F4E79;

    font-size:
        .58rem;

    font-weight:
        900;

    letter-spacing:
        .05em;

    text-transform:
        uppercase;
}

.qualification-state {
    flex:
        0 0 auto;

    padding:
        5px 8px;

    border-radius:
        999px;

    font-size:
        .56rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.qualification-state.open {
    color:
        #76520B;

    background:
        #F6E9BD;
}

.qualification-state.locked {
    color:
        #285A3A;

    background:
        #DDEEE3;
}

.qualification-state.unknown {
    color:
        #44546A;

    background:
        #E5EAF0;
}

.qualification-readiness {
    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap:
        7px;

    margin-bottom:
        12px;
}

.qualification-check {
    display:
        flex;

    align-items:
        flex-start;

    gap:
        8px;

    padding:
        9px 10px;

    border-radius:
        7px;
}

.qualification-check.pass {
    color:
        #285A3A;

    background:
        #E8F3EB;
}

.qualification-check.fail {
    color:
        #76520B;

    background:
        #FFF3D2;
}

.qualification-check-icon {
    display:
        grid;

    place-items:
        center;

    flex:
        0 0 20px;

    width:
        20px;

    height:
        20px;

    border:
        1px solid currentColor;

    border-radius:
        50%;

    font-size:
        .6rem;

    font-weight:
        900;
}

.qualification-check > div {
    display:
        grid;

    gap:
        2px;
}

.qualification-check strong {
    font-size:
        .67rem;
}

.qualification-check span:last-child {
    font-size:
        .59rem;
}

.qualification-finalisation-warning {
    margin:
        6px 0;

    padding:
        8px 10px;

    color:
        #754F08;

    background:
        #FFF4D6;

    border-left:
        3px solid #D39A1F;

    font-size:
        .64rem;

    line-height:
        1.4;
}

.qualification-finalisation-actions {
    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        8px;

    margin-top:
        13px;

    padding-top:
        12px;

    border-top:
        1px solid #E2E8EF;
}

.qualification-finalisation-actions form {
    margin:
        0;
}

.qualification-lock-button {
    padding:
        8px 12px;

    color:
        #FFFFFF;

    background:
        #3E7B51;

    border:
        1px solid #346945;

    border-radius:
        6px;

    font-size:
        .67rem;

    font-weight:
        900;
}

.qualification-lock-button:disabled {
    color:
        #7B8794;

    background:
        #E4E8EC;

    border-color:
        #D2D8DE;

    cursor:
        not-allowed;
}

.qualification-not-ready {
    color:
        #75500A;

    font-size:
        .62rem;
}

.qualification-locked-message {
    display:
        grid;

    gap:
        2px;

    padding:
        7px 10px;

    color:
        #285A3A;

    background:
        #E7F2EA;

    border-radius:
        6px;

    font-size:
        .62rem;
}

.qualification-state-note {
    width:
        100%;

    margin-top:
        5px;

    color:
        #69778A;

    font-size:
        .61rem;
}

.qualification-state-note summary {
    cursor:
        pointer;

    font-weight:
        800;
}

.admin-review-next-actions .button.disabled {
    color:
        #8B949E !important;

    background:
        #E4E8EC !important;

    border-color:
        #D3D9DF !important;

    cursor:
        not-allowed;

    pointer-events:
        none;
}

@media (max-width: 800px) {

    .qualification-finalisation-heading {
        flex-direction:
            column;
    }

    .qualification-readiness {
        grid-template-columns:
            1fr;
    }

    .qualification-finalisation-actions {
        align-items:
            stretch;

        flex-direction:
            column;
    }

    .qualification-finalisation-actions form,
    .qualification-finalisation-actions button,
    .qualification-finalisation-actions .button {
        width:
            100%;
    }
}

/* ==========================================================
   Patch 23A - Admin as Member + Administrator Management
   ========================================================== */

.admin-member-access {
    width:
        min(
            100%,
            1180px
        );

    margin:
        0 auto;
}

.admin-member-access-header {
    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        18px;

    margin-bottom:
        16px;
}

.admin-member-access-header h1 {
    margin:
        2px 0 4px;

    color:
        #071A3D;
}

.admin-member-access-header p {
    max-width:
        760px;

    margin:
        0;

    color:
        #6D7B8F;
}

.admin-member-access-kicker {
    color:
        #1F4E79;

    font-size:
        .6rem;

    font-weight:
        900;

    letter-spacing:
        .05em;

    text-transform:
        uppercase;
}

.admin-member-search {
    display:
        flex;

    align-items:
        flex-end;

    gap:
        8px;

    margin:
        0;
}

.admin-member-search label {
    flex:
        1 1 420px;
}

.admin-member-search label span {
    display:
        block;

    margin-bottom:
        4px;

    font-size:
        .62rem;

    font-weight:
        800;
}

.admin-member-access-card {
    margin-top:
        12px;
}

.admin-access-form {
    display:
        flex;

    align-items:
        center;

    gap:
        6px;

    margin:
        0;
}

.admin-access-form select {
    min-width:
        105px;

    margin:
        0;
}

.access-role {
    display:
        inline-flex;

    padding:
        3px 7px;

    border-radius:
        999px;

    color:
        #40516A;

    background:
        #E8EDF2;

    font-size:
        .55rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.access-role.role-admin {
    color:
        #174F7E;

    background:
        #DCEBF7;
}

.access-role.role-super-admin {
    color:
        #61470A;

    background:
        #F5E8BB;
}

.access-protected,
.access-you {
    color:
        #768397;

    font-size:
        .58rem;

    font-weight:
        800;
}

.access-you {
    margin-left:
        5px;
}

.access-explanation {
    margin-top:
        12px;
}

.access-explanation h2 {
    margin-top:
        0;
}

.access-explanation-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap:
        8px;
}

.access-explanation-grid > div {
    display:
        grid;

    gap:
        3px;

    padding:
        10px;

    background:
        #F5F8FC;

    border:
        1px solid #DCE5EF;

    border-radius:
        7px;
}

.access-explanation-grid strong {
    color:
        #071A3D;

    font-size:
        .7rem;
}

.access-explanation-grid span {
    color:
        #6E7D90;

    font-size:
        .62rem;

    line-height:
        1.4;
}

.admin-member-pagination {
    margin-top:
        12px;
}

.admin-member-area-links {
    display:
        flex;

    align-items:
        center;

    gap:
        5px;
}

.admin-member-area-link {
    padding:
        6px 8px;

    border-radius:
        5px;

    font-size:
        .62rem;

    font-weight:
        800;

    text-decoration:
        none;
}

@media (max-width: 800px) {

    .admin-member-access-header {
        align-items:
            stretch;

        flex-direction:
            column;
    }

    .admin-member-search {
        align-items:
            stretch;

        flex-direction:
            column;
    }

    .access-explanation-grid {
        grid-template-columns:
            1fr;
    }

    .admin-access-form {
        align-items:
            stretch;

        flex-direction:
            column;
    }
}

/* ==========================================================
   Patch 23B - Tournament Control
   ========================================================== */

.tournament-control-card {
    margin:
        16px 0;

    border-left:
        4px solid #2F6DB2;
}

.tournament-control-heading {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        14px;

    margin-bottom:
        12px;
}

.tournament-control-heading h2 {
    margin:
        2px 0 3px;

    color:
        #071A3D;
}

.tournament-control-heading p {
    margin:
        0;

    max-width:
        720px;

    color:
        #6E7D90;

    font-size:
        .67rem;
}

.tournament-control-kicker {
    color:
        #1F4E79;

    font-size:
        .58rem;

    font-weight:
        900;

    letter-spacing:
        .05em;

    text-transform:
        uppercase;
}

.tournament-control-scope {
    display:
        grid;

    grid-template-columns:
        145px
        minmax(
            0,
            1fr
        );

    gap:
        5px 10px;

    margin-bottom:
        14px;

    padding:
        10px;

    color:
        #516075;

    background:
        #F3F7FB;

    border:
        1px solid #D9E3ED;

    border-radius:
        7px;

    font-size:
        .63rem;

    line-height:
        1.4;
}

.tournament-control-scope strong {
    color:
        #071A3D;
}

.tournament-control-current {
    margin-bottom:
        15px;
}

.tournament-control-current h3,
.tournament-control-add h3 {
    margin:
        0 0 8px;

    color:
        #071A3D;

    font-size:
        .78rem;
}

.tournament-control-person {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        10px;

    padding:
        9px 10px;

    border-top:
        1px solid #E1E7EE;
}

.tournament-control-person > div {
    display:
        grid;

    gap:
        2px;
}

.tournament-control-person strong {
    color:
        #172B45;

    font-size:
        .68rem;
}

.tournament-control-person span,
.tournament-control-person small {
    color:
        #748296;

    font-size:
        .59rem;
}

.tournament-control-person form {
    margin:
        0;
}

.tournament-control-add {
    padding-top:
        12px;

    border-top:
        1px solid #DCE4ED;
}

.tournament-control-add form {
    display:
        grid;

    grid-template-columns:
        minmax(
            220px,
            1.5fr
        )
        minmax(
            180px,
            1fr
        )
        auto;

    align-items:
        end;

    gap:
        8px;
}

.tournament-control-add label span {
    display:
        block;

    margin-bottom:
        4px;

    color:
        #57677B;

    font-size:
        .6rem;

    font-weight:
        800;
}

.tournament-control-add label small {
    font-weight:
        500;
}

.tournament-control-member-link {
    color:
        #FFFFFF !important;

    background:
        #2F6DB2 !important;

    border-color:
        #2F6DB2 !important;
}

@media (max-width: 800px) {

    .tournament-control-heading {
        flex-direction:
            column;
    }

    .tournament-control-scope {
        grid-template-columns:
            1fr;
    }

    .tournament-control-add form {
        grid-template-columns:
            1fr;
    }
}


/* ==========================================================
   Patch 23C - Notification Centre
   ========================================================== */

.broadcast-centre {
    max-width: 1380px;
    margin: 0 auto;
}

.broadcast-page-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.broadcast-page-heading h1 {
    margin: 2px 0 5px;
    color: #071A3D;
}

.broadcast-page-heading p {
    max-width: 760px;
    margin: 0;
    color: #69798D;
    font-size: .7rem;
}

.broadcast-kicker {
    color: #1F4E79;
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.broadcast-heading-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.broadcast-alert {
    margin-bottom: 14px;
    padding: 10px 12px;
    border-radius: 7px;
    font-size: .68rem;
}

.broadcast-alert.success {
    color: #175B36;
    background: #EBF8F0;
    border: 1px solid #B9E3CA;
}

.broadcast-alert.error {
    color: #832D2D;
    background: #FFF1F1;
    border: 1px solid #EDC2C2;
}

.broadcast-alert ul {
    margin: 5px 0 0 17px;
}

.broadcast-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(360px, .95fr);
    gap: 16px;
    align-items: start;
}

.broadcast-compose,
.broadcast-history {
    border-top: 4px solid #163F73;
}

.broadcast-section-heading {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 15px;
}

.broadcast-section-heading > div > span {
    display: block;
    margin-bottom: 2px;
    color: #64809E;
    font-size: .55rem;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.broadcast-section-heading h2 {
    margin: 0;
    color: #071A3D;
    font-size: 1rem;
}

.broadcast-audience-count {
    min-width: 105px;
    padding: 7px 9px;
    text-align: center;
    background: #F2F6FA;
    border: 1px solid #D8E2EC;
    border-radius: 7px;
}

.broadcast-audience-count strong {
    display: block;
    color: #071A3D;
    font-size: .9rem;
}

.broadcast-audience-count span {
    color: #738196;
    font-size: .54rem;
}

.broadcast-compose label {
    display: block;
    margin-bottom: 10px;
}

.broadcast-compose label > span {
    display: block;
    margin-bottom: 4px;
    color: #53647A;
    font-size: .61rem;
    font-weight: 800;
}

.broadcast-compose label small {
    color: #8793A3;
    font-size: .54rem;
    font-weight: 500;
}

.broadcast-compose input,
.broadcast-compose select,
.broadcast-compose textarea {
    box-sizing: border-box;
    width: 100%;
}

.broadcast-form-row {
    display: grid;
    gap: 9px;
}

.broadcast-form-row.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.broadcast-form-row.three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.broadcast-audience-panel {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr);
    gap: 8px;
    margin: 4px 0 13px;
    padding: 9px 10px;
    color: #5F7085;
    background: #F3F7FB;
    border: 1px solid #D8E3ED;
    border-radius: 7px;
    font-size: .62rem;
    line-height: 1.4;
}

.broadcast-audience-panel strong {
    color: #071A3D;
}

.broadcast-submit {
    display: flex;
    justify-content: flex-end;
    margin-top: 4px;
}

.broadcast-history-item {
    padding: 12px 0;
    border-top: 1px solid #E0E7EE;
}

.broadcast-history-item:first-of-type {
    border-top: 0;
}

.broadcast-history-item.priority-important {
    border-left: 3px solid #C79222;
    padding-left: 10px;
}

.broadcast-history-item.priority-urgent {
    border-left: 3px solid #B43B3B;
    padding-left: 10px;
}

.broadcast-item-top {
    display: flex;
    justify-content: space-between;
    gap: 9px;
    align-items: flex-start;
}

.broadcast-type {
    display: block;
    margin-bottom: 2px;
    color: #577696;
    font-size: .52rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.broadcast-item-top h3 {
    margin: 0;
    color: #172B45;
    font-size: .74rem;
}

.broadcast-status {
    padding: 3px 7px;
    border-radius: 999px;
    color: #53647A;
    background: #EDF1F5;
    font-size: .52rem;
    font-weight: 800;
    white-space: nowrap;
}

.broadcast-status.status-published {
    color: #16603A;
    background: #E6F5EC;
}

.broadcast-status.status-scheduled {
    color: #76570F;
    background: #FFF5D9;
}

.broadcast-status.status-cancelled {
    color: #7B3434;
    background: #FBEAEA;
}

.broadcast-body-preview {
    margin: 7px 0;
    color: #586A80;
    font-size: .64rem;
    line-height: 1.45;
}

.broadcast-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 12px;
    color: #7A8797;
    font-size: .54rem;
}

.broadcast-item-actions {
    display: flex;
    gap: 6px;
    margin-top: 9px;
}

.broadcast-item-actions form {
    margin: 0;
}

.broadcast-empty {
    padding: 18px 8px;
    color: #7B8898;
    text-align: center;
    font-size: .65rem;
}

.broadcast-pagination {
    margin-top: 12px;
}

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

@media (max-width: 680px) {
    .broadcast-page-heading {
        flex-direction: column;
    }

    .broadcast-form-row.two,
    .broadcast-form-row.three {
        grid-template-columns: 1fr;
    }

    .broadcast-audience-panel {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   Patch 23C-NAV - Unified Navigation
   ========================================================== */

.site-banner {
    position: sticky;
    top: 0;
    z-index: 3000;

    width: 100%;

    color: #fff !important;
    background: #071A3D !important;

    border-bottom: 3px solid #2F6DB2;

    box-shadow:
        0 3px 12px
        rgba(0, 0, 0, .22);
}

.site-banner-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 14px;

    width: 100%;
    max-width: 1500px;

    min-height: 58px;

    box-sizing: border-box;

    margin: 0 auto;
    padding: 8px 14px;
}

.site-banner-primary {
    display: flex;
    align-items: center;

    min-width: 0;

    gap: 5px;

    overflow-x: auto;

    scrollbar-width: thin;
    scrollbar-color:
        #2F6DB2
        #071A3D;
}

.site-banner a {
    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;

    min-height: 34px;

    box-sizing: border-box;

    padding: 7px 10px;

    color:
        rgba(
            255,
            255,
            255,
            .88
        ) !important;

    background: transparent !important;

    border: 1px solid transparent;
    border-radius: 6px;

    text-decoration: none !important;

    font-size: .76rem;
    font-weight: 800;

    white-space: nowrap;
}

.site-banner a:hover {
    color: #fff !important;
    background: #0B2A52 !important;

    border-color:
        rgba(
            255,
            255,
            255,
            .16
        );
}

.site-banner a.active {
    color: #fff !important;
    background: #1F4E79 !important;

    border-color: #2F6DB2;
}

.site-banner-brand {
    padding-left: 0 !important;
    padding-right: 15px !important;

    margin-right: 6px;

    color: #fff !important;

    border-right:
        1px solid
        rgba(
            255,
            255,
            255,
            .24
        ) !important;

    border-radius: 0 !important;

    font-size: .94rem !important;
    font-weight: 900 !important;

    letter-spacing: .02em;
}

.site-banner-portal-link {
    border-color:
        rgba(
            120,
            180,
            235,
            .45
        ) !important;
}

.site-banner-control-link {
    border-color:
        rgba(
            255,
            255,
            255,
            .24
        ) !important;
}

.site-banner-account {
    flex: 0 0 auto;

    display: flex;
    align-items: center;

    gap: 10px;
}

.site-banner-identity {
    display: grid;

    justify-items: end;

    gap: 3px;
}

.site-banner-user {
    color: #DCEAF8;

    font-size: .7rem;
    font-weight: 800;

    white-space: nowrap;
}

.site-banner-role-row {
    display: flex;
    justify-content: flex-end;

    gap: 4px;
}

.site-role-badge,
.site-capability-badge {
    display: inline-flex;
    align-items: center;

    min-height: 18px;

    padding: 2px 6px;

    color: #fff;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .20
        );

    border-radius: 999px;

    font-size: .49rem;
    font-weight: 900;

    letter-spacing: .035em;

    text-transform: uppercase;

    white-space: nowrap;
}

.site-role-badge.role-admin,
.site-role-badge.role-super-admin {
    background: #1F4E79;
}

.site-role-badge.role-member {
    background:
        rgba(
            255,
            255,
            255,
            .10
        );
}

.site-capability-badge {
    background: #285D8A;
}

.site-banner-account form {
    margin: 0;
}

.site-banner-logout {
    min-height: 34px;

    padding: 7px 10px !important;

    color: #fff !important;
    background: transparent !important;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .30
        ) !important;

    border-radius: 6px !important;

    font-size: .7rem;
    font-weight: 800;

    cursor: pointer;
}

.site-banner-logout:hover {
    background: #1F4E79 !important;
}

/* ----------------------------------------------------------
   Admin Portal secondary banner
   ---------------------------------------------------------- */

.admin-portal-nav-shell {
    width: 100%;

    background: #0B2A52;

    border-bottom:
        1px solid #254A71;
}

.admin-portal-nav {
    display: flex;
    align-items: center;

    gap: 12px;

    width: 100%;
    max-width: 1500px;

    box-sizing: border-box;

    margin: 0 auto;
    padding: 7px 14px;
}

.admin-portal-brand {
    flex: 0 0 auto;

    padding-right: 12px;

    color: #DCEAF8;

    border-right:
        1px solid
        rgba(
            255,
            255,
            255,
            .18
        );

    font-size: .65rem;
    font-weight: 900;

    letter-spacing: .055em;

    text-transform: uppercase;
}

.admin-portal-links {
    display: flex;
    align-items: center;

    gap: 5px;

    min-width: 0;

    overflow-x: auto;
}

.admin-portal-links a {
    flex: 0 0 auto;

    padding: 6px 9px;

    color:
        rgba(
            255,
            255,
            255,
            .84
        ) !important;

    background: transparent !important;

    border: 1px solid transparent;
    border-radius: 5px;

    text-decoration: none !important;

    font-size: .67rem;
    font-weight: 800;

    white-space: nowrap;
}

.admin-portal-links a:hover,
.admin-portal-links a.active {
    color: #fff !important;
    background: #1F4E79 !important;

    border-color:
        rgba(
            255,
            255,
            255,
            .16
        );
}

/* ----------------------------------------------------------
   Operations role indicator
   ---------------------------------------------------------- */

.operations-role-label {
    display: inline-flex;

    margin-left: 7px;
    padding: 2px 6px;

    color: #DCEAF8;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .20
        );

    border-radius: 999px;

    font-size: .48rem;
    font-weight: 900;

    text-transform: uppercase;
}

/*
 * Retire old Admin topbar chrome if any page still emits it.
 */
body > .topbar {
    display: none !important;
}

@media (max-width: 900px) {

    .site-banner-inner {
        display: grid;

        grid-template-columns:
            minmax(0, 1fr)
            auto;

        gap: 7px 10px;
    }

    .site-banner-primary {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .site-banner-account {
        grid-column: 2;
        grid-row: 1;
    }

    .site-banner-brand {
        /*
         * Brand stays in the horizontally scrollable primary row.
         */
    }

    .admin-portal-nav {
        align-items: flex-start;

        flex-direction: column;

        gap: 6px;
    }

    .admin-portal-brand {
        border-right: 0;
        padding-right: 0;
    }

    .admin-portal-links {
        width: 100%;
    }
}

@media (max-width: 600px) {

    .site-banner-identity {
        display: none;
    }

    .site-banner-inner {
        padding:
            7px 9px;
    }

    .site-banner a {
        padding:
            6px 8px;

        font-size: .7rem;
    }
}

@media print {

    .site-banner,
    .admin-portal-nav-shell,
    .operations-nav-shell {
        display: none !important;
    }
}


/* ==========================================================
   Patch 23C-NAV1 - Tournament Operations Secondary Banner
   ========================================================== */

/*
 * Tournament Operations now follows exactly the same hierarchy
 * as the Admin Portal:
 *
 *   primary site banner
 *   contextual secondary banner
 *   page content
 */

.operations-nav-shell {
    width: 100% !important;
    max-width: none !important;

    box-sizing: border-box;

    margin: 0 !important;
    padding: 0 !important;

    background: #0B2A52 !important;

    border: 0 !important;
    border-bottom:
        1px solid #254A71 !important;

    border-radius: 0 !important;
    box-shadow: none !important;
}

/*
 * Override old Patch 18 sticky top:0 behaviour. The primary
 * site banner is the persistent global navigation.
 */
.operations-nav-shell .operations-nav {
    position: static !important;
    top: auto !important;

    display: flex;
    align-items: center;

    gap: 12px;

    width: 100% !important;
    max-width: 1500px !important;

    box-sizing: border-box;

    margin: 0 auto !important;
    padding: 7px 14px !important;

    color: #fff !important;
    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;
}

.operations-nav-brand {
    flex: 0 0 auto;

    display: flex;
    align-items: center;

    gap: 7px;

    padding: 0 12px 0 0 !important;

    color: #DCEAF8 !important;

    border: 0 !important;
    border-right:
        1px solid
        rgba(
            255,
            255,
            255,
            .18
        ) !important;

    white-space: nowrap;
}

.operations-nav-title {
    font-size: .65rem;
    font-weight: 900;

    letter-spacing: .055em;

    text-transform: uppercase;
}

.operations-nav-tournament {
    max-width: 240px;

    overflow: hidden;

    color:
        rgba(
            255,
            255,
            255,
            .68
        );

    font-size: .59rem;
    font-weight: 700;

    text-overflow: ellipsis;
    white-space: nowrap;
}

.operations-role-label {
    display: inline-flex;
    align-items: center;

    margin: 0 !important;
    padding: 2px 6px;

    color: #fff;

    background:
        rgba(
            47,
            109,
            178,
            .38
        );

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .18
        );

    border-radius: 999px;

    font-size: .47rem;
    font-weight: 900;

    letter-spacing: .025em;

    text-transform: uppercase;
}

.operations-nav-links {
    display: flex;
    align-items: center;

    min-width: 0;

    gap: 5px;

    overflow-x: auto;

    scrollbar-width: thin;
}

.operations-nav-links a {
    flex: 0 0 auto;

    padding: 6px 9px !important;

    color:
        rgba(
            255,
            255,
            255,
            .84
        ) !important;

    background: transparent !important;

    border:
        1px solid transparent !important;

    border-radius: 5px !important;

    text-decoration: none !important;

    font-size: .67rem !important;
    font-weight: 800 !important;

    white-space: nowrap;
}

.operations-nav-links a:hover,
.operations-nav-links a.active {
    color: #fff !important;

    background: #1F4E79 !important;

    border-color:
        rgba(
            255,
            255,
            255,
            .16
        ) !important;
}

.operations-nav-links .operations-admin-link {
    margin-left: 6px;

    border-left:
        1px solid
        rgba(
            255,
            255,
            255,
            .18
        ) !important;
}

/*
 * Because the secondary bar is now outside the Admin page's
 * .container, its page content begins cleanly beneath it.
 */
.site-banner
+
.admin-portal-nav-shell,
.site-banner
+
.operations-nav-shell {
    margin-top: 0 !important;
}

/*
 * The old Operations bar could appear as an inner card.
 * Retire those visual rules.
 */
.operations-launch-card .operations-nav,
.tournament-admin-operations-fallback .operations-nav {
    position: static !important;
}

/* Starter standalone page uses the exact same hierarchy. */
.starter-sheet-body
>
.operations-nav-shell {
    margin: 0 !important;
}

@media (max-width: 900px) {

    .operations-nav-shell .operations-nav {
        align-items: flex-start;

        flex-direction: column;

        gap: 6px;

        padding:
            7px 10px !important;
    }

    .operations-nav-brand {
        width: 100%;

        box-sizing: border-box;

        padding-right: 0 !important;
        padding-bottom: 5px !important;

        border-right: 0 !important;
        border-bottom:
            1px solid
            rgba(
                255,
                255,
                255,
                .13
            ) !important;
    }

    .operations-nav-links {
        width: 100%;
    }
}

@media (max-width: 600px) {

    .operations-nav-tournament {
        display: none;
    }
}

@media print {

    .operations-nav-shell {
        display: none !important;
    }
}


/* ==========================================================
   Patch 23C-NAV2 - Operations Header Full Width
   ========================================================== */

/*
 * Some older Tournament Operations pages use a wide/standalone
 * content layout rather than layouts.app.
 *
 * If the shared banners are rendered inside a centred content
 * container, let them escape to full viewport width so they
 * visually match Starter Sheet and the normal application shell.
 */

.container > .site-banner,
.container > .operations-nav-shell,
main > .site-banner,
main > .operations-nav-shell,
.content > .site-banner,
.content > .operations-nav-shell {
    width: 100vw !important;
    max-width: none !important;

    margin-left:
        calc(
            50% - 50vw
        ) !important;

    margin-right:
        calc(
            50% - 50vw
        ) !important;
}

/*
 * The primary banner owns the sticky position.
 */
.site-banner {
    top: 0 !important;
}

/*
 * Operations is the contextual second level beneath it.
 */
.operations-nav-shell {
    position: relative !important;
    top: auto !important;
}

/*
 * Ensure no old page-specific spacing is inserted between the
 * primary and secondary application banners.
 */
.site-banner + .operations-nav-shell {
    margin-top: 0 !important;
}

/*
 * When the layout already emitted the primary banner and the
 * page subsequently requests it again, @once means only the
 * first instance is rendered.
 */


/* ==========================================================
   Patch 23C1A - Unified Notification Indicator
   ========================================================== */

.site-banner .member-nav-notifications {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
}

.site-banner .member-notification-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 18px;
    height: 18px;

    box-sizing: border-box;

    padding: 0 5px;

    color: #fff !important;
    background: #C7463D !important;

    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;

    font-size: .54rem;
    font-weight: 900;
    line-height: 1;

    box-shadow:
        0 1px 3px
        rgba(0,0,0,.22);
}


/* ==========================================================
   Patch 23C2 - Admin Work Queue
   ========================================================== */

.admin-work-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 18px;
    height: 18px;

    box-sizing: border-box;
    margin-left: 5px;
    padding: 0 5px;

    color: #fff !important;
    background: #C7463D !important;

    border:
        1px solid
        rgba(255,255,255,.25);

    border-radius: 999px;

    font-size: .52rem;
    font-weight: 900;
    line-height: 1;
}

.admin-work-queue {
    max-width: 1350px;
    margin: 0 auto;
}

.admin-work-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 16px;

    margin-bottom: 16px;
}

.admin-work-heading h1 {
    margin: 2px 0 4px;

    color: #071A3D;
}

.admin-work-heading p {
    margin: 0;

    color: #708095;
    font-size: .7rem;
}

.admin-work-kicker {
    color: #1F4E79;

    font-size: .57rem;
    font-weight: 900;

    letter-spacing: .055em;
    text-transform: uppercase;
}

.admin-work-total {
    min-width: 95px;

    padding: 8px 12px;

    text-align: center;

    background: #F2F6FA;

    border:
        1px solid #D7E1EB;

    border-radius: 8px;
}

.admin-work-total strong {
    display: block;

    color: #071A3D;

    font-size: 1.15rem;
}

.admin-work-total span {
    color: #788599;

    font-size: .56rem;
    font-weight: 800;

    text-transform: uppercase;
}

.admin-work-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 16px;
}

.admin-work-card {
    border-top:
        4px solid #163F73;
}

.admin-work-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 10px;

    margin-bottom: 8px;
}

.admin-work-card-heading > div > span {
    display: block;

    color: #67809B;

    font-size: .53rem;
    font-weight: 900;

    letter-spacing: .05em;
    text-transform: uppercase;
}

.admin-work-card-heading h2 {
    margin: 1px 0 0;

    color: #071A3D;

    font-size: .95rem;
}

.admin-work-big-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 34px;
    height: 30px;

    padding: 0 8px;

    color: #fff;
    background: #1F4E79;

    border-radius: 999px;

    font-size: .7rem;
    font-weight: 900;
}

.admin-work-item {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 10px;

    padding: 10px 4px;

    border-top:
        1px solid #E1E7EE;
}

.admin-work-item > div {
    display: grid;

    min-width: 0;

    gap: 2px;
}

.admin-work-item strong {
    color: #172B45;

    font-size: .68rem;
}

.admin-work-item span {
    color: #617188;

    font-size: .59rem;
}

.admin-work-item small {
    color: #8792A2;

    font-size: .53rem;
}

.admin-work-empty {
    padding: 20px 6px;

    color: #768496;

    text-align: center;

    font-size: .65rem;
}

@media (max-width: 850px) {
    .admin-work-grid {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   Patch 23C2A - Handicap Resolution
   ========================================================== */

.handicap-resolution-card {
    margin: 16px 0;

    border-top:
        4px solid #1F4E79;
}

.handicap-resolution-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 14px;

    margin-bottom: 13px;
}

.handicap-resolution-heading h2 {
    margin: 2px 0 3px;

    color: #071A3D;
}

.handicap-resolution-heading p {
    margin: 0;

    color: #697A8F;

    font-size: .66rem;
}

.handicap-resolution-kicker {
    color: #1F4E79;

    font-size: .55rem;
    font-weight: 900;

    letter-spacing: .055em;

    text-transform: uppercase;
}

.handicap-resolution-actions {
    display: flex;
    align-items: center;

    gap: 8px;
}

.handicap-resolution-actions form {
    margin: 0;
}

.handicap-resolution-summary {
    display: inline-flex;
    align-items: center;

    min-height: 29px;

    padding: 4px 9px;

    color: #28563A;
    background: #EAF6EF;

    border:
        1px solid #C2E2CE;

    border-radius: 999px;

    font-size: .57rem;
    font-weight: 700;

    white-space: nowrap;
}

.handicap-resolution-summary.has-missing {
    color: #7C5419;
    background: #FFF5DF;

    border-color: #E8D095;
}

.handicap-resolution-summary strong {
    margin: 0 3px;

    font-size: .65rem;
}

.handicap-resolution-flow {
    display: flex;
    align-items: stretch;

    gap: 6px;

    margin-bottom: 11px;

    overflow-x: auto;
}

.handicap-flow-step {
    flex: 1 0 125px;

    display: grid;

    grid-template-columns:
        22px
        minmax(0, 1fr);

    align-items: center;

    gap: 1px 7px;

    min-width: 125px;

    padding: 8px;

    background: #F2F6FA;

    border:
        1px solid #D8E2EC;

    border-radius: 7px;
}

.handicap-flow-step strong {
    grid-row: 1 / 3;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 22px;
    height: 22px;

    color: #fff;
    background: #1F4E79;

    border-radius: 999px;

    font-size: .56rem;
}

.handicap-flow-step span {
    color: #172B45;

    font-size: .61rem;
    font-weight: 900;
}

.handicap-flow-step small {
    color: #788698;

    font-size: .51rem;
}

.handicap-flow-step.unavailable {
    opacity: .65;
}

.handicap-flow-step.manual {
    background: #FFF7E7;

    border-color: #E6D19C;
}

.handicap-flow-step.manual strong {
    background: #A36F20;
}

.handicap-flow-arrow {
    display: flex;
    align-items: center;

    color: #7E8B9A;

    font-size: .8rem;
    font-weight: 900;
}

.handicap-resolution-note {
    margin-bottom: 12px;
    padding: 8px 10px;

    color: #617188;
    background: #F8FAFC;

    border:
        1px solid #E0E6EC;

    border-radius: 6px;

    font-size: .59rem;
    line-height: 1.4;
}

.handicap-resolution-note strong {
    color: #394D66;
}

.handicap-resolution-table-wrap {
    overflow-x: auto;
}

.handicap-resolution-table {
    width: 100%;

    border-collapse: collapse;
}

.handicap-resolution-table th {
    padding: 7px 8px;

    color: #68798D;
    background: #F2F5F8;

    border-bottom:
        1px solid #D8E0E8;

    text-align: left;

    font-size: .53rem;
    font-weight: 900;

    letter-spacing: .035em;

    text-transform: uppercase;
}

.handicap-resolution-table td {
    padding: 8px;

    color: #4C5E73;

    border-bottom:
        1px solid #E5E9EE;

    font-size: .61rem;
}

.handicap-resolution-table td strong {
    color: #172B45;
}

.hcp-value-cell {
    color: #071A3D !important;

    font-size: .7rem !important;
    font-weight: 900;
}

.hcp-missing-row {
    background: #FFF9EF;
}

.hcp-missing-value {
    color: #A36F20;
}

.hcp-source-badge,
.hcp-status {
    display: inline-flex;
    align-items: center;

    padding: 3px 7px;

    border-radius: 999px;

    font-size: .52rem;
    font-weight: 800;

    white-space: nowrap;
}

.hcp-source-badge {
    color: #36536E;
    background: #EAF1F7;
}

.hcp-source-badge.source-entry-form {
    color: #235F46;
    background: #E6F4EC;
}

.hcp-source-badge.source-member-profile {
    color: #475B79;
    background: #EBEFF5;
}

.hcp-source-badge.source-nz-golf-api {
    color: #244E78;
    background: #E4EEF8;
}

.hcp-source-badge.source-manual-required {
    color: #7D5218;
    background: #FFF0CF;
}

.hcp-status.resolved {
    color: #1C603B;
    background: #E7F4EC;
}

.hcp-status.missing {
    color: #812E2E;
    background: #FCE9E9;
}

.handicap-resolution-warning {
    margin-top: 12px;
    padding: 9px 10px;

    color: #724718;
    background: #FFF4DC;

    border:
        1px solid #E7CC8C;

    border-radius: 7px;

    font-size: .61rem;
    line-height: 1.4;
}

@media (max-width: 760px) {

    .handicap-resolution-heading {
        flex-direction: column;
    }

    .handicap-resolution-actions {
        width: 100%;

        justify-content: space-between;
    }
}


/* ==========================================================
   Patch 23D1 - Membership Area
   ========================================================== */

.membership-area-field {
    display: grid;
    gap: 5px;

    padding: 12px;

    background: #F4F7FA;

    border:
        1px solid #D6E0E9;

    border-left:
        4px solid #1F4E79;

    border-radius: 7px;
}

.membership-area-field label {
    display: flex;
    align-items: center;

    gap: 7px;

    color: #172B45;

    font-size: .66rem;
    font-weight: 900;
}

.membership-area-field select {
    width: 100%;

    min-height: 39px;

    box-sizing: border-box;

    padding: 8px 10px;

    color: #182A42;
    background: #fff;

    border:
        1px solid #BECBD8;

    border-radius: 6px;
}

.membership-area-field small {
    color: #687A90;

    font-size: .56rem;
    line-height: 1.4;
}

.membership-required {
    display: inline-flex;

    padding: 2px 5px;

    color: #fff;
    background: #A6463D;

    border-radius: 999px;

    font-size: .46rem;
    font-weight: 900;

    letter-spacing: .025em;

    text-transform: uppercase;
}

.membership-field-error {
    color: #96382F;

    font-size: .56rem;
    font-weight: 800;
}

.membership-admin-area-card {
    margin: 14px 0;

    border-top:
        4px solid #1F4E79;
}

.membership-admin-area-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;
}

.membership-admin-area-heading > div > span {
    display: block;

    color: #698099;

    font-size: .52rem;
    font-weight: 900;

    letter-spacing: .05em;

    text-transform: uppercase;
}

.membership-admin-area-heading h2 {
    margin: 2px 0 0;

    color: #071A3D;

    font-size: .9rem;
}

.membership-admin-area-card p {
    margin: 8px 0 0;

    color: #697A8F;

    font-size: .59rem;
}

.membership-area-badge {
    display: inline-flex;
    align-items: center;

    padding: 5px 9px;

    color: #1C5B3A;
    background: #E5F3EB;

    border:
        1px solid #C3DECE;

    border-radius: 999px;

    font-size: .55rem;
    font-weight: 900;

    text-transform: uppercase;
}

.membership-area-badge.missing {
    color: #80591E;
    background: #FFF2D8;

    border-color: #E5CB91;
}

.membership-area-missing-note {
    color: #80591E !important;
}


/* ==========================================================
   Patch 23D1A - Membership Application V2
   ========================================================== */

.membership-v2 {
    max-width: 1080px;
    margin: 0 auto;
    padding-bottom: 42px;

    color: #172B45;
}

.membership-v2-hero {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 28px;

    overflow: hidden;

    margin-bottom: 14px;
    padding: 30px 34px;

    color: #fff;

    background:
        linear-gradient(
            125deg,
            #061936 0%,
            #0B315C 52%,
            #17618A 100%
        );

    border:
        1px solid rgba(255,255,255,.08);

    border-radius: 12px;

    box-shadow:
        0 12px 28px
        rgba(5, 24, 50, .16);
}

.membership-v2-hero::after {
    content: "";

    position: absolute;
    right: -65px;
    bottom: -115px;

    width: 250px;
    height: 250px;

    border:
        38px solid
        rgba(255,255,255,.055);

    border-radius: 50%;
}

.membership-v2-hero-copy {
    position: relative;
    z-index: 1;

    max-width: 690px;
}

.membership-v2-hero .membership-application-kicker {
    margin-bottom: 7px;

    color: #A9D5EC;

    font-size: .63rem;
    font-weight: 900;

    letter-spacing: .12em;

    text-transform: uppercase;
}

.membership-v2-hero h1 {
    margin: 0;

    color: #fff;

    font-size: clamp(1.5rem, 4vw, 2.2rem);
    line-height: 1.05;
}

.membership-v2-hero p {
    max-width: 650px;

    margin: 10px 0 0;

    color: #D8E8F4;

    font-size: .78rem;
    line-height: 1.55;
}

.membership-v2-hero-badge {
    position: relative;
    z-index: 1;

    display: grid;

    flex: 0 0 auto;

    gap: 3px;

    min-width: 170px;

    padding: 13px 15px;

    background:
        rgba(255,255,255,.1);

    border:
        1px solid
        rgba(255,255,255,.2);

    border-radius: 9px;
}

.membership-v2-hero-badge strong {
    color: #fff;

    font-size: .66rem;
}

.membership-v2-hero-badge span {
    color: #BFD7E8;

    font-size: .54rem;
}

.membership-v2-intro {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 9px;

    margin-bottom: 10px;
}

.membership-v2-intro > div {
    display: grid;

    gap: 3px;

    padding: 11px 13px;

    background: #F3F7FA;

    border:
        1px solid #D9E3EB;

    border-radius: 8px;
}

.membership-v2-intro strong {
    color: #163E69;

    font-size: .6rem;
}

.membership-v2-intro span {
    color: #66788B;

    font-size: .53rem;
    line-height: 1.45;
}

.membership-v2-progress {
    display: grid;

    grid-template-columns:
        repeat(
            7,
            minmax(0, 1fr)
        );

    gap: 4px;

    margin-bottom: 14px;
}

.membership-v2-progress span {
    display: flex;
    align-items: center;

    gap: 5px;

    min-width: 0;

    padding: 6px 7px;

    color: #66788B;
    background: #F8FAFC;

    border:
        1px solid #DDE5EC;

    border-radius: 6px;

    font-size: .49rem;
    font-weight: 800;
}

.membership-v2-progress b {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 18px;

    width: 18px;
    height: 18px;

    color: #fff;
    background: #1E527D;

    border-radius: 50%;

    font-size: .48rem;
}

.membership-v2-errors {
    display: flex;

    gap: 12px;

    margin-bottom: 15px;
    padding: 14px 16px;

    color: #7B2824;
    background: #FFF1EF;

    border:
        1px solid #E6B8B3;

    border-left:
        5px solid #B54139;

    border-radius: 8px;
}

.membership-v2-error-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 28px;

    width: 28px;
    height: 28px;

    color: #fff;
    background: #B54139;

    border-radius: 50%;

    font-weight: 900;
}

.membership-v2-errors strong {
    color: #792820;

    font-size: .67rem;
}

.membership-v2-errors p {
    margin: 2px 0 5px;

    font-size: .56rem;
}

.membership-v2-errors ul {
    margin:
        5px 0 0
        16px;

    padding: 0;

    font-size: .55rem;
}

.membership-v2-form {
    display: grid;

    gap: 14px;
}

.membership-v2-card {
    position: relative;

    overflow: hidden;

    margin: 0;

    padding: 22px;

    background: #fff;

    border:
        1px solid #DCE4EB;

    border-radius: 10px;

    box-shadow:
        0 3px 12px
        rgba(18, 46, 73, .045);
}

.membership-v2-card::before {
    content: "";

    position: absolute;
    inset:
        0 auto 0 0;

    width: 4px;

    background: #275D8B;
}

.membership-v2-card-service::before {
    background: #397DA4;
}

.membership-v2-card-contact::before {
    background: #237A75;
}

.membership-v2-card-category::before {
    background: #62558A;
}

.membership-v2-card-payment::before {
    background: #B48629;
}

.membership-v2-card-login::before {
    background: #546579;
}

.membership-v2 .membership-form-card-heading {
    display: flex;
    align-items: flex-start;

    gap: 11px;

    margin-bottom: 17px;
}

.membership-v2 .membership-form-card-heading > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 30px;

    width: 30px;
    height: 30px;

    color: #fff;
    background: #173E67;

    border-radius: 50%;

    font-size: .67rem;
    font-weight: 900;
}

.membership-v2 .membership-form-card-heading h2 {
    margin: 1px 0 3px;

    color: #102C4A;

    font-size: 1rem;
}

.membership-v2 .membership-form-card-heading p {
    margin: 0;

    color: #728196;

    font-size: .6rem;
    line-height: 1.45;
}

.membership-v2 .membership-form-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 14px;
}

.membership-v2 .membership-form-grid label {
    display: grid;

    align-content: start;

    gap: 5px;
}

.membership-v2 .membership-wide-field {
    grid-column:
        1 / -1;
}

.membership-v2 label > span {
    display: flex;
    align-items: center;

    gap: 6px;

    color: #29415C;

    font-size: .59rem;
    font-weight: 850;
}

.membership-v2 label > span em {
    padding: 2px 5px;

    color: #365C7E;
    background: #E8F1F7;

    border-radius: 999px;

    font-size: .43rem;
    font-style: normal;
    font-weight: 900;

    letter-spacing: .025em;

    text-transform: uppercase;
}

.membership-v2 label > span em.optional {
    color: #687789;
    background: #EEF1F4;
}

.membership-v2 input[type="text"],
.membership-v2 input[type="email"],
.membership-v2 input[type="tel"],
.membership-v2 input[type="password"],
.membership-v2 input[type="date"],
.membership-v2 select,
.membership-v2 textarea {
    width: 100%;

    box-sizing: border-box;

    min-height: 41px;

    padding: 9px 11px;

    color: #172B45;
    background: #FCFDFE;

    border:
        1px solid #BBC8D5;

    border-radius: 7px;

    outline: none;

    font: inherit;
    font-size: .66rem;

    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        background .15s ease;
}

.membership-v2 textarea {
    min-height: 82px;

    resize: vertical;
}

.membership-v2 select {
    cursor: pointer;
}

.membership-v2 input:focus,
.membership-v2 select:focus,
.membership-v2 textarea:focus {
    background: #fff;

    border-color: #2872A0;

    box-shadow:
        0 0 0 3px
        rgba(40, 114, 160, .12);
}

.membership-v2 label small {
    color: #778697;

    font-size: .5rem;
    line-height: 1.35;
}

.membership-v2 .field-has-error input,
.membership-v2 .field-has-error select,
.membership-v2 .field-has-error textarea {
    border-color: #B84740;

    box-shadow:
        0 0 0 2px
        rgba(184, 71, 64, .07);
}

.membership-v2 .field-error {
    color: #A13731 !important;

    font-size: .51rem !important;
    font-weight: 800;
}

.membership-v2-block-error {
    margin-top: 7px;
}

.membership-v2-conditional {
    display: none;

    margin-top: 17px;
    padding: 15px;

    background: #F2F7FA;

    border:
        1px solid #D4E3EB;

    border-radius: 8px;
}

.membership-v2-conditional.is-visible {
    display: block;
}

.membership-v2-subheading {
    display: flex;
    align-items: baseline;

    gap: 8px;

    margin-bottom: 12px;
}

.membership-v2-subheading strong {
    color: #183D61;

    font-size: .67rem;
}

.membership-v2-subheading span {
    color: #708196;

    font-size: .51rem;
}

.membership-v2-category-grid {
    gap: 12px;
}

.membership-v2 .membership-category-option {
    position: relative;

    display: block;

    overflow: hidden;

    cursor: pointer;

    background: #F8FAFC;

    border:
        2px solid #D8E1E8;

    border-radius: 9px;

    transition:
        border-color .15s ease,
        background .15s ease,
        transform .15s ease;
}

.membership-v2 .membership-category-option:hover {
    transform:
        translateY(-1px);

    border-color: #9DB3C5;
}

.membership-v2 .membership-category-option.selected {
    background: #EDF5FA;

    border-color: #2C6D99;

    box-shadow:
        0 0 0 3px
        rgba(44, 109, 153, .08);
}

.membership-v2 .membership-category-option input {
    position: absolute;

    opacity: 0;
}

.membership-v2 .membership-category-option > span {
    display: grid;

    gap: 4px;

    padding: 16px;
}

.membership-v2 .membership-category-option strong {
    color: #62809A;

    font-size: .48rem;

    letter-spacing: .055em;

    text-transform: uppercase;
}

.membership-v2 .membership-category-option b {
    color: #173553;

    font-size: .75rem;
}

.membership-v2 .membership-category-option small {
    color: #708094;

    font-size: .51rem;
}

.membership-v2 .membership-category-option em {
    margin-top: 5px;

    color: #1D6648;

    font-size: .84rem;
    font-style: normal;
    font-weight: 900;
}

.membership-v2-eligibility-details {
    margin-top: 13px;

    background: #F8F7FB;

    border:
        1px solid #E1DDEC;

    border-radius: 7px;
}

.membership-v2-eligibility-details summary {
    padding: 10px 12px;

    color: #554B78;

    cursor: pointer;

    font-size: .56rem;
    font-weight: 850;
}

.membership-v2-eligibility-details div {
    padding:
        0 12px 10px;

    color: #68778A;

    font-size: .53rem;
    line-height: 1.5;
}

.membership-v2-payment-panel {
    overflow: hidden;

    color: #E8F1F8;

    background:
        linear-gradient(
            130deg,
            #102E50,
            #174B73
        );

    border-radius: 8px;
}

.membership-v2 .membership-payment-details {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    margin: 0;
}

.membership-v2 .membership-payment-details > div {
    padding: 12px 14px;

    border:
        1px solid
        rgba(255,255,255,.08);
}

.membership-v2 .membership-payment-details dt {
    margin-bottom: 3px;

    color: #9FC2D9;

    font-size: .46rem;
    font-weight: 900;

    letter-spacing: .04em;

    text-transform: uppercase;
}

.membership-v2 .membership-payment-details dd {
    margin: 0;

    color: #fff;

    font-size: .64rem;
    font-weight: 750;
}

.membership-v2 .membership-payment-note {
    margin:
        11px 0 0;

    padding: 9px 11px;

    color: #72531D;
    background: #FFF7E4;

    border:
        1px solid #E8D6AA;

    border-radius: 7px;

    font-size: .54rem;
}

.membership-v2-account-note {
    display: flex;
    align-items: flex-start;

    gap: 8px;

    margin-top: 13px;
    padding: 10px 12px;

    color: #52667D;
    background: #EFF3F6;

    border-radius: 7px;
}

.membership-v2-account-note strong {
    flex: 0 0 auto;

    color: #334D68;

    font-size: .55rem;
}

.membership-v2-account-note span {
    font-size: .53rem;
    line-height: 1.4;
}

.membership-v2-submit-card {
    margin: 0;
    padding: 22px;

    background:
        linear-gradient(
            135deg,
            #F3FBF6 0%,
            #E8F6ED 100%
        );

    border:
        1px solid #BEDDC8;

    border-top:
        4px solid #2E7A4D;

    border-radius: 10px;
}

.membership-v2-submit-heading {
    display: flex;
    align-items: flex-start;

    gap: 10px;

    margin-bottom: 14px;
}

.membership-v2-submit-heading > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 30px;

    width: 30px;
    height: 30px;

    color: #fff;
    background: #2E7A4D;

    border-radius: 50%;

    font-size: .65rem;
    font-weight: 900;
}

.membership-v2-submit-heading strong {
    color: #215C3B;

    font-size: .78rem;
}

.membership-v2-submit-heading p {
    margin: 3px 0 0;

    color: #577766;

    font-size: .55rem;
}

.membership-v2-declaration {
    display: flex !important;
    align-items: flex-start !important;

    gap: 10px !important;

    padding: 12px;

    background: #fff;

    border:
        1px solid #C9DDD0;

    border-radius: 7px;

    cursor: pointer;
}

.membership-v2-declaration input {
    flex: 0 0 auto;

    width: 17px;
    height: 17px;

    margin-top: 1px;

    accent-color: #2E7A4D;
}

.membership-v2-declaration span {
    color: #385A47 !important;

    font-size: .58rem !important;
    line-height: 1.45;
}

.membership-v2-submit-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    width: 100%;

    margin-top: 13px;
    padding: 12px 17px;

    color: #fff !important;
    background:
        linear-gradient(
            135deg,
            #2F8552,
            #237044
        ) !important;

    border:
        1px solid #1C6039 !important;

    border-radius: 7px !important;

    box-shadow:
        0 5px 13px
        rgba(35, 112, 68, .18);

    cursor: pointer;

    font-size: .67rem !important;
    font-weight: 900 !important;

    transition:
        transform .15s ease,
        box-shadow .15s ease,
        background .15s ease;
}

.membership-v2-submit-button:hover {
    transform:
        translateY(-1px);

    background:
        linear-gradient(
            135deg,
            #297A4A,
            #1D623A
        ) !important;

    box-shadow:
        0 7px 16px
        rgba(35, 112, 68, .23);
}

.membership-v2-submit-button span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 19px;
    height: 19px;

    color: #267247 !important;
    background: #fff;

    border-radius: 50%;

    font-size: .56rem;
}

.membership-v2 .membership-submit-help {
    margin:
        10px 0 0;

    color: #617568;

    text-align: center;

    font-size: .53rem;
}

.membership-v2 .membership-submit-help a {
    color: #215F3B;

    font-weight: 850;
}

@media (max-width: 800px) {

    .membership-v2-hero {
        align-items: flex-start;
        flex-direction: column;

        padding: 23px;
    }

    .membership-v2-hero-badge {
        min-width: 0;
    }

    .membership-v2-intro {
        grid-template-columns: 1fr;
    }

    .membership-v2-progress {
        grid-template-columns:
            repeat(
                4,
                minmax(0, 1fr)
            );
    }

    .membership-v2 .membership-form-grid,
    .membership-v2 .membership-payment-details,
    .membership-v2-category-grid {
        grid-template-columns: 1fr;
    }

    .membership-v2 .membership-wide-field {
        grid-column: auto;
    }
}

@media (max-width: 520px) {

    .membership-v2 {
        padding:
            0 2px 30px;
    }

    .membership-v2-hero {
        border-radius: 8px;
    }

    .membership-v2-progress {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .membership-v2-card,
    .membership-v2-submit-card {
        padding: 16px;

        border-radius: 8px;
    }

    .membership-v2-subheading {
        align-items: flex-start;
        flex-direction: column;

        gap: 2px;
    }
}


/* ==========================================================
   Patch 23D1A1 - Membership Refinement
   ========================================================== */

.membership-v2-eligibility-other {
    display: none !important;

    padding: 12px;

    background: #F8FAFC;

    border:
        1px solid #D9E2EA;

    border-left:
        4px solid #62558A;

    border-radius: 7px;
}

.membership-v2-eligibility-other.is-visible {
    display: grid !important;
}

.membership-v2-login-action {
    display: flex;

    justify-content: center;

    margin-top: 9px;
}

.membership-v2-login-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 100%;

    box-sizing: border-box;

    padding: 10px 16px;

    color: #173E67 !important;
    background: #fff !important;

    border:
        1px solid #9EB2C5;

    border-radius: 7px;

    text-decoration: none !important;

    font-size: .61rem;
    font-weight: 900;

    transition:
        background .15s ease,
        border-color .15s ease,
        color .15s ease;
}

.membership-v2-login-button:hover {
    color: #fff !important;
    background: #173E67 !important;

    border-color: #173E67;
}

/*
 * The large intro information tiles were removed in 23D1A1.
 * Keep the visual flow tight between hero and progress steps.
 */

.membership-v2-hero {
    margin-bottom: 10px;
}

.membership-v2-progress {
    margin-top: 0;
}


/* ==========================================================
   Patch 23D1B - Admin Membership V2
   ========================================================== */

.membership-admin-v2,
.membership-review-v2 {
    max-width: 1380px;
    margin: 0 auto;
}

.membership-admin-v2-hero,
.membership-review-v2-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;

    margin-bottom: 14px;
    padding: 20px 23px;

    color: #fff;

    background:
        linear-gradient(
            125deg,
            #071A3D,
            #123E68 58%,
            #1F648A
        );

    border-radius: 10px;

    box-shadow:
        0 7px 20px
        rgba(5,24,50,.12);
}

.membership-admin-v2-kicker,
.membership-review-v2-kicker {
    color: #A9D3E8;

    font-size: .52rem;
    font-weight: 900;

    letter-spacing: .09em;
    text-transform: uppercase;
}

.membership-admin-v2-hero h1,
.membership-review-v2-hero h1 {
    margin: 3px 0;

    color: #fff;
}

.membership-admin-v2-hero p {
    margin: 0;

    color: #D1E1EC;

    font-size: .62rem;
}

.membership-admin-public-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 9px 13px;

    color: #143E65 !important;
    background: #fff;

    border-radius: 6px;

    font-size: .58rem;
    font-weight: 900;

    text-decoration: none !important;
}

.membership-admin-v2-summary {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap: 9px;

    margin-bottom: 12px;
}

.membership-admin-stat {
    display: grid;

    gap: 2px;

    padding: 12px;

    background: #fff;

    border:
        1px solid #DCE4EB;

    border-top:
        4px solid #58748F;

    border-radius: 8px;
}

.membership-admin-stat > span {
    color: #65788C;

    font-size: .49rem;
    font-weight: 900;

    letter-spacing: .035em;

    text-transform: uppercase;
}

.membership-admin-stat strong {
    color: #122F4D;

    font-size: 1.15rem;
}

.membership-admin-stat small {
    color: #8994A2;

    font-size: .48rem;
}

.membership-admin-stat.stat-pending {
    border-top-color: #C48B2D;
}

.membership-admin-stat.stat-returned {
    border-top-color: #96782B;
}

.membership-admin-stat.stat-approved {
    border-top-color: #2D7C4F;
}

.membership-admin-stat.stat-rejected {
    border-top-color: #A84943;
}

.membership-admin-v2-tabs {
    display: flex;

    gap: 5px;

    overflow-x: auto;

    margin-bottom: 12px;
    padding: 5px;

    background: #EEF3F7;

    border:
        1px solid #D9E2E9;

    border-radius: 8px;
}

.membership-admin-v2-tabs a {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    flex: 0 0 auto;

    padding: 7px 10px;

    color: #52667B;
    background: transparent;

    border-radius: 6px;

    text-decoration: none;

    font-size: .55rem;
    font-weight: 850;
}

.membership-admin-v2-tabs a.active {
    color: #fff;
    background: #194A75;
}

.membership-admin-v2-tabs a strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 18px;
    height: 18px;

    padding: 0 4px;

    color: inherit;
    background:
        rgba(255,255,255,.18);

    border-radius: 999px;

    font-size: .47rem;
}

.membership-admin-v2-list {
    overflow: hidden;

    padding: 0;
}

.membership-admin-v2-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    padding: 15px 17px;

    border-bottom:
        1px solid #E1E7ED;
}

.membership-admin-v2-section-heading > div > span {
    color: #708399;

    font-size: .49rem;
    font-weight: 850;

    text-transform: uppercase;
}

.membership-admin-v2-section-heading h2 {
    margin: 2px 0 0;

    color: #102E4C;
}

.membership-admin-v2-list-count {
    display: inline-flex;
    align-items: baseline;

    gap: 4px;

    color: #123D63;

    font-size: .85rem;
    font-weight: 900;
}

.membership-admin-v2-list-count small {
    color: #8593A2;

    font-size: .48rem;
}

.membership-admin-v2-table {
    margin: 0;
}

.membership-admin-v2-table th {
    color: #66788C;
    background: #F4F7F9;

    font-size: .48rem;

    letter-spacing: .035em;
    text-transform: uppercase;
}

.membership-admin-v2-table td {
    vertical-align: middle;

    font-size: .57rem;
}

.membership-admin-v2-applicant strong,
.membership-admin-v2-applicant span,
.membership-admin-v2-applicant small {
    display: block;
}

.membership-admin-v2-applicant strong {
    color: #172E48;

    font-size: .63rem;
}

.membership-admin-v2-applicant span {
    margin-top: 2px;

    color: #607489;
}

.membership-admin-v2-applicant small {
    margin-top: 3px;

    color: #8995A3;
}

.membership-admin-area-chip,
.membership-admin-muted-chip,
.membership-admin-payment {
    display: inline-flex;
    align-items: center;

    padding: 3px 7px;

    border-radius: 999px;

    font-size: .48rem;
    font-weight: 850;

    white-space: nowrap;
}

.membership-admin-area-chip {
    color: #245C7E;
    background: #E4F0F7;
}

.membership-admin-muted-chip {
    color: #777;
    background: #ECEFF2;
}

.membership-admin-payment.received {
    color: #22603D;
    background: #E5F3EB;
}

.membership-admin-payment.outstanding {
    color: #7A571D;
    background: #FFF0D4;
}

.membership-admin-category {
    display: block;

    color: #29445F;
}

.membership-admin-v2-table td > small {
    display: block;

    margin-top: 2px;

    color: #83909E;

    font-size: .47rem;
}

.membership-admin-review-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 6px 10px;

    color: #fff !important;
    background: #1F5C8A;

    border-radius: 5px;

    text-decoration: none !important;

    font-size: .52rem;
    font-weight: 900;
}

.membership-admin-v2-empty {
    display: grid;

    gap: 3px;

    padding: 34px;

    text-align: center;
}

.membership-admin-v2-empty strong {
    color: #38536E;
}

.membership-admin-v2-empty span {
    color: #8190A0;

    font-size: .56rem;
}

.membership-admin-v2-settings {
    margin-top: 13px;

    padding: 0;

    overflow: hidden;
}

.membership-admin-v2-settings > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 10px;

    padding: 13px 15px;

    color: #173958;
    background: #F4F7FA;

    cursor: pointer;

    list-style: none;
}

.membership-admin-v2-settings > summary::-webkit-details-marker {
    display: none;
}

.membership-admin-v2-settings > summary > span:first-child {
    display: grid;

    gap: 2px;
}

.membership-admin-v2-settings summary strong {
    font-size: .63rem;
}

.membership-admin-v2-settings summary small {
    color: #7B8998;

    font-size: .48rem;
}

.membership-admin-v2-settings[open]
.membership-settings-chevron {
    transform: rotate(180deg);
}

.membership-settings-chevron {
    transition:
        transform .15s ease;
}

.membership-admin-v2-settings-form {
    padding: 16px;
}

.membership-admin-v2-settings-form label {
    display: grid;

    gap: 5px;
}

.membership-admin-v2-settings-form label > span {
    color: #415B75;

    font-size: .54rem;
    font-weight: 800;
}

.membership-admin-v2-settings-form input,
.membership-admin-v2-settings-form textarea {
    min-height: 38px;

    box-sizing: border-box;

    padding: 8px 9px;

    border:
        1px solid #C5D0DA;

    border-radius: 6px;
}

.membership-admin-money-field {
    display: flex;
    align-items: center;

    border:
        1px solid #C5D0DA;

    border-radius: 6px;

    overflow: hidden;
}

.membership-admin-money-field > span {
    padding: 0 9px;

    color: #64778B;
    background: #F1F4F6;

    font-weight: 900;
}

.membership-admin-money-field input {
    border: 0 !important;

    border-radius: 0 !important;
}

.membership-admin-save-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 8px 12px;

    color: #fff !important;
    background: #216B46 !important;

    border:
        1px solid #195638 !important;

    border-radius: 6px;

    cursor: pointer;

    font-size: .56rem;
    font-weight: 900;
}

/* ----------------------------------------------------------
   Review page
   ---------------------------------------------------------- */

.membership-review-v2-hero {
    align-items: flex-start;
}

.membership-review-v2-back {
    display: inline-block;

    margin-bottom: 7px;

    color: #BFD7E8 !important;

    text-decoration: none;

    font-size: .52rem;
    font-weight: 800;
}

.membership-review-v2-meta {
    display: flex;
    align-items: center;

    gap: 7px;

    flex-wrap: wrap;

    margin-top: 8px;
}

.membership-review-v2-meta > span:last-child {
    color: #D2E1EB;

    font-size: .5rem;
}

.membership-review-v2-fee {
    display: grid;

    min-width: 150px;

    gap: 2px;

    padding: 12px 14px;

    background:
        rgba(255,255,255,.1);

    border:
        1px solid rgba(255,255,255,.16);

    border-radius: 8px;
}

.membership-review-v2-fee span {
    color: #B7D1E3;

    font-size: .45rem;
    font-weight: 900;

    text-transform: uppercase;
}

.membership-review-v2-fee strong {
    color: #fff;

    font-size: 1rem;
}

.membership-review-v2-fee small {
    color: #D1E1EC;

    font-size: .48rem;
}

.membership-review-v2-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 12px;
}

.membership-review-v2-card {
    margin: 0;

    border-top:
        4px solid #215C87;
}

.membership-review-v2-card-heading {
    margin-bottom: 12px;
}

.membership-review-v2-card-heading > span {
    color: #6C8094;

    font-size: .47rem;
    font-weight: 900;

    letter-spacing: .055em;

    text-transform: uppercase;
}

.membership-review-v2-card-heading h2 {
    margin: 2px 0 0;

    color: #122F4C;

    font-size: .86rem;
}

.membership-review-v2-summary {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 1px;

    margin: 0;
}

.membership-review-v2-summary > div {
    padding: 9px;

    background: #F8FAFC;

    border:
        1px solid #E5EAF0;
}

.membership-review-v2-wide {
    grid-column:
        1 / -1;
}

.membership-review-v2-summary dt {
    color: #7A8998;

    font-size: .45rem;
    font-weight: 900;

    letter-spacing: .025em;

    text-transform: uppercase;
}

.membership-review-v2-summary dd {
    margin: 3px 0 0;

    color: #253E58;

    font-size: .58rem;
    line-height: 1.45;
}

.membership-review-v2-summary dd a {
    color: #1B5C89;
}

.membership-review-optional-value {
    color: #8995A1;
    font-style: italic;
}

.membership-review-warning-value {
    color: #845C1D;
    font-weight: 800;
}

.membership-review-v2-membership-card,
.membership-review-v2-decision {
    grid-column:
        1 / -1;
}

.membership-review-v2-membership-card {
    border-top-color: #B2862A;
}

.membership-review-v2-membership-summary {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap: 7px;

    margin-bottom: 12px;
}

.membership-review-v2-membership-summary > div {
    display: grid;

    gap: 3px;

    padding: 10px;

    background: #F7F8FA;

    border:
        1px solid #E1E6EB;

    border-radius: 6px;
}

.membership-review-v2-membership-summary span {
    color: #7E8B99;

    font-size: .45rem;
    font-weight: 900;

    text-transform: uppercase;
}

.membership-review-v2-membership-summary strong {
    color: #283F57;

    font-size: .61rem;
}

.membership-review-good {
    color: #236641 !important;
}

.membership-review-pending {
    color: #8A6220 !important;
}

.membership-review-v2-flags {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        )
        auto;

    align-items: stretch;

    gap: 8px;
}

.membership-review-v2-flags label {
    display: flex;
    align-items: center;

    gap: 8px;

    padding: 9px;

    background: #F4F7F9;

    border:
        1px solid #DDE4EA;

    border-radius: 6px;

    cursor: pointer;
}

.membership-review-v2-flags input {
    width: 17px;
    height: 17px;

    accent-color: #267149;
}

.membership-review-v2-flags label > span {
    display: grid;

    gap: 1px;
}

.membership-review-v2-flags label strong {
    color: #334E68;

    font-size: .55rem;
}

.membership-review-v2-flags label small {
    color: #7E8C9C;

    font-size: .46rem;
}

.membership-review-v2-decision {
    border-top:
        4px solid #344F6B;
}

.membership-review-v2-decision-grid {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 10px;
}

.membership-review-v2-decision-option {
    display: flex;
    flex-direction: column;
    justify-content: space-between;

    gap: 12px;

    padding: 13px;

    border:
        1px solid #DDE4EA;

    border-top:
        4px solid #999;

    border-radius: 8px;
}

.membership-review-v2-decision-option.approve {
    background: #F2FAF5;

    border-top-color: #2F7D4F;
}

.membership-review-v2-decision-option.return {
    background: #FFF9EC;

    border-top-color: #C18B2E;
}

.membership-review-v2-decision-option.reject {
    background: #FFF3F2;

    border-top-color: #A84943;
}

.membership-review-v2-decision-option strong {
    color: #253E57;

    font-size: .64rem;
}

.membership-review-v2-decision-option p {
    margin: 4px 0 0;

    color: #738294;

    font-size: .5rem;
    line-height: 1.4;
}

.membership-review-v2-decision-option form {
    display: grid;

    gap: 7px;
}

.membership-review-v2-decision-option label {
    display: grid;

    gap: 4px;
}

.membership-review-v2-decision-option label > span {
    color: #4F6275;

    font-size: .5rem;
    font-weight: 850;
}

.membership-review-v2-decision-option textarea {
    min-height: 72px;

    box-sizing: border-box;

    padding: 8px;

    border:
        1px solid #C9D3DD;

    border-radius: 6px;

    resize: vertical;

    font-size: .55rem;
}

.membership-review-v2-approve,
.membership-review-v2-return,
.membership-review-v2-reject {
    width: 100%;

    box-sizing: border-box;

    min-height: 36px;

    border-radius: 6px !important;

    font-size: .54rem !important;
    font-weight: 900 !important;
}

.membership-review-v2-approve {
    color: #fff !important;
    background: #2B7A4C !important;

    border:
        1px solid #21643E !important;
}

.membership-review-v2-return {
    color: #5E4519 !important;
    background: #F5DDA5 !important;

    border:
        1px solid #D2AA56 !important;
}

.membership-review-v2-reject {
    color: #fff !important;
    background: #A84943 !important;

    border:
        1px solid #8E3733 !important;
}

.membership-review-v2-note,
.membership-review-v2-approved,
.membership-review-v2-returned {
    padding: 12px;

    border-radius: 7px;
}

.membership-review-v2-approved {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 10px;

    color: #225D3D;
    background: #E8F5ED;

    border:
        1px solid #C3E0CE;
}

.membership-review-v2-returned {
    display: grid;

    gap: 2px;

    color: #79571E;
    background: #FFF4DA;

    border:
        1px solid #E5CD94;
}

@media (max-width: 950px) {

    .membership-admin-v2-summary,
    .membership-review-v2-membership-summary {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .membership-review-v2-grid {
        grid-template-columns:
            1fr;
    }

    .membership-review-v2-membership-card,
    .membership-review-v2-decision {
        grid-column:
            auto;
    }

    .membership-review-v2-decision-grid {
        grid-template-columns:
            1fr;
    }

    .membership-review-v2-flags {
        grid-template-columns:
            1fr;
    }

}

@media (max-width: 650px) {

    .membership-admin-v2-hero,
    .membership-review-v2-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .membership-admin-v2-summary {
        grid-template-columns:
            1fr 1fr;
    }

    .membership-review-v2-fee {
        min-width: 0;
    }

    .membership-review-v2-summary {
        grid-template-columns:
            1fr;
    }

    .membership-review-v2-wide {
        grid-column:
            auto;
    }

}


/* ==========================================================
   Patch 23D1C - Member Records
   ========================================================== */

.member-records-page,
.member-record-edit-page {
    max-width: 1380px;
    margin: 0 auto;
}

.member-records-hero,
.member-record-edit-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;

    margin-bottom: 14px;
    padding: 20px 23px;

    color: #fff;

    background:
        linear-gradient(
            125deg,
            #071A3D,
            #123E68 58%,
            #1F648A
        );

    border-radius: 10px;
}

.member-records-kicker {
    color: #A9D3E8;

    font-size: .52rem;
    font-weight: 900;

    letter-spacing: .08em;
    text-transform: uppercase;
}

.member-records-hero h1,
.member-record-edit-hero h1 {
    margin: 3px 0;

    color: #fff;
}

.member-records-hero p,
.member-record-edit-hero p {
    margin: 0;

    color: #D5E3ED;

    font-size: .6rem;
}

.member-record-edit-hero > div:first-child > a {
    display: inline-block;

    margin-bottom: 6px;

    color: #BFD8E9 !important;

    text-decoration: none;

    font-size: .52rem;
    font-weight: 800;
}

.member-records-secondary-button {
    padding: 8px 11px;

    color: #163E67 !important;
    background: #fff;

    border-radius: 6px;

    text-decoration: none !important;

    font-size: .54rem;
    font-weight: 900;
}

.member-records-search {
    display: flex;

    gap: 7px;

    margin-bottom: 12px;
}

.member-records-search input {
    flex: 1;

    min-height: 39px;

    padding: 8px 11px;

    border:
        1px solid #C5D1DC;

    border-radius: 6px;
}

.member-records-search button {
    color: #fff;
    background: #1E5B88;

    border: 1px solid #174A70;
    border-radius: 6px;

    padding: 0 15px;

    font-weight: 900;
}

.member-records-search a {
    display: inline-flex;
    align-items: center;

    padding: 0 11px;

    color: #536A80;

    text-decoration: none;
}

.member-records-card {
    overflow: hidden;

    padding: 0;
}

.member-records-table {
    width: 100%;

    border-collapse: collapse;
}

.member-records-table th {
    padding: 8px 10px;

    color: #65788D;
    background: #F3F6F8;

    text-align: left;

    font-size: .48rem;
    font-weight: 900;

    text-transform: uppercase;
}

.member-records-table td {
    padding: 9px 10px;

    border-top:
        1px solid #E4E9EE;

    color: #41576C;

    font-size: .56rem;
}

.member-records-table td:first-child strong,
.member-records-table td:first-child span,
.member-records-table td:first-child small {
    display: block;
}

.member-records-table td:first-child strong {
    color: #172E48;

    font-size: .62rem;
}

.member-records-table td:first-child span {
    margin-top: 2px;

    color: #617488;
}

.member-records-table td:first-child small {
    color: #8793A0;
}

.member-record-role {
    display: inline-flex;

    padding: 3px 7px;

    color: #365773;
    background: #E8F0F6;

    border-radius: 999px;

    font-size: .48rem;
    font-weight: 850;
}

.member-record-edit-button {
    display: inline-flex;

    padding: 6px 10px;

    color: #fff !important;
    background: #1E5B88;

    border-radius: 5px;

    text-decoration: none !important;

    font-weight: 900;
}

.member-record-empty {
    padding: 28px !important;

    text-align: center;
}

.member-record-pagination {
    padding: 12px;
}

.member-record-edit-role {
    display: grid;

    min-width: 180px;

    gap: 2px;

    padding: 11px 13px;

    background:
        rgba(255,255,255,.1);

    border:
        1px solid
        rgba(255,255,255,.16);

    border-radius: 8px;
}

.member-record-edit-role span {
    color: #B5CFDF;

    font-size: .45rem;

    text-transform: uppercase;
}

.member-record-edit-role strong {
    color: #fff;

    font-size: .67rem;
}

.member-record-edit-role small {
    color: #CADCE7;

    font-size: .47rem;
}

.member-record-edit-form {
    display: grid;

    gap: 12px;
}

.member-record-edit-card {
    margin: 0;

    border-top:
        4px solid #245F8C;
}

.member-record-edit-card.golf {
    border-top-color: #2E7A4D;
}

.member-record-edit-card h2 {
    margin:
        0 0 13px;

    color: #173451;
}

.member-record-form-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 12px;
}

.member-record-form-grid label {
    display: grid;

    gap: 5px;
}

.member-record-form-grid label > span {
    color: #405A73;

    font-size: .54rem;
    font-weight: 850;
}

.member-record-form-grid input,
.member-record-form-grid select,
.member-record-form-grid textarea {
    width: 100%;

    box-sizing: border-box;

    min-height: 39px;

    padding: 8px 10px;

    border:
        1px solid #C2CED9;

    border-radius: 6px;
}

.member-record-form-grid textarea {
    min-height: 80px;

    resize: vertical;
}

.member-record-form-grid small {
    color: #7C8997;

    font-size: .48rem;
}

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

.member-record-hcp-note {
    display: grid;

    align-content: center;

    gap: 3px;

    padding: 10px 12px;

    color: #5C714F;
    background: #F1F8F3;

    border:
        1px solid #CDE0D1;

    border-radius: 7px;
}

.member-record-hcp-note strong {
    color: #286044;

    font-size: .55rem;
}

.member-record-hcp-note span {
    font-size: .49rem;
    line-height: 1.4;
}

.member-record-edit-actions {
    display: flex;
    justify-content: flex-end;

    gap: 8px;

    padding-bottom: 25px;
}

.member-record-cancel,
.member-record-save {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 38px;

    padding: 0 14px;

    border-radius: 6px;

    font-size: .57rem;
    font-weight: 900;
}

.member-record-cancel {
    color: #52697E !important;
    background: #fff;

    border: 1px solid #BECBD6;

    text-decoration: none !important;
}

.member-record-save {
    color: #fff !important;
    background: #28784B !important;

    border: 1px solid #1F623D !important;

    cursor: pointer;
}

.member-record-errors {
    margin-bottom: 12px;
    padding: 10px 12px;

    color: #873B35;
    background: #FFF0EE;

    border:
        1px solid #E3BAB6;

    border-left:
        4px solid #B34840;

    border-radius: 6px;
}

.membership-review-golf-profile {
    border-top-color: #2D7B4D;
}

@media (max-width: 750px) {

    .member-records-hero,
    .member-record-edit-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .member-record-form-grid {
        grid-template-columns: 1fr;
    }

    .member-record-wide {
        grid-column: auto;
    }

    .member-records-search {
        flex-wrap: wrap;
    }

    .member-records-search input {
        flex-basis: 100%;
    }
}


/* ==========================================================
   Patch 23D1D - Consolidated Members
   ========================================================== */

.member-admin-section {
    max-width: 1380px;

    margin:
        0 auto 14px;

    overflow: hidden;

    background: #fff;

    border:
        1px solid #D8E1E9;

    border-radius: 9px;

    box-shadow:
        0 2px 7px
        rgba(17, 42, 67, .04);
}

.member-admin-section-title {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 14px;

    padding:
        10px 14px;

    background:
        linear-gradient(
            90deg,
            #F3F7FA,
            #FAFCFD
        );

    border-bottom:
        1px solid #DCE4EA;
}

.member-admin-section-title > div {
    display: flex;
    align-items: baseline;

    gap: 7px;
}

.member-admin-section-title span {
    color: #72859A;

    font-size: .46rem;
    font-weight: 900;

    letter-spacing: .055em;
    text-transform: uppercase;
}

.member-admin-section-title strong {
    color: #173A5C;

    font-size: .7rem;
}

.member-admin-section-title > small {
    color: #8492A0;

    font-size: .48rem;
}

.member-admin-subnav {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 0;
}

.member-admin-subnav > a {
    position: relative;

    display: grid;

    gap: 2px;

    padding:
        10px 13px;

    color: #536A80;

    background: #fff;

    border-right:
        1px solid #E2E8ED;

    text-decoration: none !important;

    transition:
        color .15s ease,
        background .15s ease;
}

.member-admin-subnav > a:last-child {
    border-right: 0;
}

.member-admin-subnav > a:hover {
    color: #173F64;

    background: #F5F9FB;
}

.member-admin-subnav > a.active {
    color: #fff;

    background:
        linear-gradient(
            125deg,
            #153F67,
            #1E628D
        );
}

.member-admin-subnav > a.active::after {
    content: "";

    position: absolute;

    left: 12px;
    right: 12px;
    bottom: 0;

    height: 3px;

    background: #61B6D6;
}

.member-admin-subnav > a > span {
    display: flex;
    align-items: center;

    gap: 6px;

    font-size: .59rem;
    font-weight: 900;
}

.member-admin-subnav > a > small {
    color: #8795A3;

    font-size: .45rem;
}

.member-admin-subnav > a.active > small {
    color: #C6DBE8;
}

.member-admin-subnav b {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 18px;
    height: 18px;

    padding:
        0 4px;

    color: #fff;

    background: #B3443F;

    border-radius: 999px;

    font-size: .44rem;
    font-weight: 900;
}

@media (max-width: 650px) {

    .member-admin-section-title {
        align-items: flex-start;
        flex-direction: column;

        gap: 2px;
    }

    .member-admin-subnav {
        grid-template-columns: 1fr;
    }

    .member-admin-subnav > a {
        border-right: 0;

        border-bottom:
            1px solid #E2E8ED;
    }

    .member-admin-subnav > a:last-child {
        border-bottom: 0;
    }

}


/* ==========================================================
   Patch 23D1D1 - Membership Status V2
   ========================================================== */

.membership-status-v2 {
    max-width: 1080px;

    margin: 0 auto;
    padding-bottom: 36px;

    color: #172B45;
}

.membership-status-v2-hero {
    display: flex;
    align-items: center;

    gap: 18px;

    margin-bottom: 12px;
    padding: 24px 27px;

    color: #fff;

    background:
        linear-gradient(
            125deg,
            #071A3D,
            #123F69 58%,
            #1D668E
        );

    border-radius: 11px;

    box-shadow:
        0 9px 24px
        rgba(7, 31, 57, .13);
}

.membership-status-v2-hero.status-approved {
    background:
        linear-gradient(
            125deg,
            #173D2B,
            #246443 60%,
            #34815A
        );
}

.membership-status-v2-hero.status-returned {
    background:
        linear-gradient(
            125deg,
            #584116,
            #8B6921 60%,
            #B88B2B
        );
}

.membership-status-v2-hero.status-rejected {
    background:
        linear-gradient(
            125deg,
            #522824,
            #7D3A34 60%,
            #9B4942
        );
}

.membership-status-v2-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 52px;

    width: 52px;
    height: 52px;

    color: #144B70;
    background: #fff;

    border-radius: 50%;

    font-size: 1.35rem;
    font-weight: 900;
}

.membership-status-v2-hero.status-approved
.membership-status-v2-icon {
    color: #286B48;
}

.membership-status-v2-hero.status-returned
.membership-status-v2-icon {
    color: #8B6820;
}

.membership-status-v2-hero.status-rejected
.membership-status-v2-icon {
    color: #8C3D37;
}

.membership-status-v2-kicker {
    color: #B8D8E9;

    font-size: .52rem;
    font-weight: 900;

    letter-spacing: .1em;

    text-transform: uppercase;
}

.membership-status-v2-hero h1 {
    margin: 3px 0 5px;

    color: #fff;

    font-size: clamp(1.25rem, 3vw, 1.85rem);
}

.membership-status-v2-hero p {
    max-width: 720px;

    margin: 0;

    color: #D6E5EF;

    font-size: .64rem;
    line-height: 1.5;
}

.membership-status-v2-badges {
    display: flex;
    align-items: center;

    gap: 7px;

    flex-wrap: wrap;

    margin-top: 10px;
}

.membership-status-badge,
.membership-status-reference {
    display: inline-flex;
    align-items: center;

    padding: 4px 8px;

    border-radius: 999px;

    font-size: .48rem;
    font-weight: 900;
}

.membership-status-badge {
    color: #194E70;
    background: #E5F3FA;
}

.membership-status-reference {
    color: #E2EEF5;
    background: rgba(255,255,255,.12);

    border:
        1px solid rgba(255,255,255,.16);
}

.membership-status-v2-success {
    display: flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 12px;
    padding: 10px 12px;

    color: #245D3E;
    background: #EAF6EE;

    border:
        1px solid #C6E1CF;

    border-left:
        4px solid #2E7A4D;

    border-radius: 7px;

    font-size: .58rem;
}

.membership-status-v2-success > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 21px;
    height: 21px;

    color: #fff;
    background: #2E7A4D;

    border-radius: 50%;

    font-weight: 900;
}

.membership-status-v2-layout {
    display: grid;

    grid-template-columns:
        minmax(0, 1.7fr)
        minmax(280px, .85fr);

    gap: 13px;
}

.membership-status-v2-main,
.membership-status-v2-sidebar {
    display: grid;

    align-content: start;

    gap: 13px;
}

.membership-status-v2-card {
    padding: 19px;

    background: #fff;

    border:
        1px solid #DCE4EB;

    border-top:
        4px solid #205A87;

    border-radius: 9px;

    box-shadow:
        0 3px 12px
        rgba(15, 41, 65, .045);
}

.membership-status-v2-sidebar
.payment-card {
    border-top-color: #B78A2B;
}

.membership-status-v2-sidebar
.next-card {
    border-top-color: #4B718C;
}

.membership-status-v2-card-heading {
    margin-bottom: 12px;
}

.membership-status-v2-card-heading > span {
    display: block;

    color: #76889A;

    font-size: .45rem;
    font-weight: 900;

    letter-spacing: .06em;

    text-transform: uppercase;
}

.membership-status-v2-card-heading h2 {
    margin: 2px 0 0;

    color: #143452;

    font-size: .86rem;
}

.membership-status-v2-details {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 1px;

    margin: 0;

    overflow: hidden;

    border:
        1px solid #E3E8ED;

    border-radius: 7px;
}

.membership-status-v2-details > div {
    padding: 9px 10px;

    background: #F8FAFC;

    border:
        1px solid #E8ECF0;
}

.membership-status-v2-details dt,
.membership-status-v2-payment dt {
    color: #7A8998;

    font-size: .43rem;
    font-weight: 900;

    letter-spacing: .035em;

    text-transform: uppercase;
}

.membership-status-v2-details dd,
.membership-status-v2-payment dd {
    margin: 3px 0 0;

    color: #29435D;

    font-size: .59rem;
    font-weight: 700;

    overflow-wrap: anywhere;
}

.membership-status-v2-fee {
    color: #1D6844 !important;

    font-size: .71rem !important;
    font-weight: 900 !important;
}

.membership-status-payment {
    display: inline-flex;

    padding: 3px 7px;

    border-radius: 999px;

    font-size: .46rem;
    font-weight: 900;
}

.membership-status-payment.received {
    color: #225F3E;
    background: #E2F2E8;
}

.membership-status-payment.pending {
    color: #77571E;
    background: #FFF0D2;
}

.membership-status-v2-committee-note {
    margin-top: 12px;
    padding: 11px 12px;

    color: #664F24;
    background: #FFF7E7;

    border:
        1px solid #E6D5AA;

    border-radius: 7px;
}

.membership-status-v2-committee-note strong {
    display: block;

    margin-bottom: 3px;

    font-size: .55rem;
}

.membership-status-v2-committee-note p {
    margin: 0;

    font-size: .54rem;
    line-height: 1.45;
}

.membership-status-v2-actions {
    display: flex;

    gap: 8px;

    flex-wrap: wrap;

    margin-top: 14px;
}

.membership-status-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 38px;

    padding: 0 14px;

    border-radius: 6px;

    text-decoration: none !important;

    font-size: .56rem;
    font-weight: 900;
}

.membership-status-button.primary {
    color: #fff !important;
    background: #28784B;

    border:
        1px solid #1E623C;
}

.membership-status-button.primary:hover {
    background: #216A42;
}

.membership-status-button.secondary {
    color: #194E76 !important;
    background: #fff;

    border:
        1px solid #AABCCB;
}

.membership-status-button.secondary:hover {
    background: #EEF4F8;
}

.membership-status-v2-payment {
    display: grid;

    gap: 0;

    margin: 0;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #102E50,
            #194E73
        );

    border-radius: 7px;
}

.membership-status-v2-payment > div {
    padding: 10px 11px;

    border-bottom:
        1px solid
        rgba(255,255,255,.1);
}

.membership-status-v2-payment > div:last-child {
    border-bottom: 0;
}

.membership-status-v2-payment dt {
    color: #9DC0D7;
}

.membership-status-v2-payment dd {
    color: #fff;

    font-size: .61rem;
}

.membership-status-v2-payment-note {
    margin:
        10px 0 0;

    padding: 9px 10px;

    color: #6B5224;
    background: #FFF6E3;

    border:
        1px solid #E7D4A8;

    border-radius: 6px;

    font-size: .5rem;
    line-height: 1.4;
}

.membership-status-v2-payment-complete {
    display: flex;
    align-items: flex-start;

    gap: 9px;

    padding: 11px;

    color: #235D3E;
    background: #EAF6EE;

    border:
        1px solid #C8E1D0;

    border-radius: 7px;
}

.membership-status-v2-payment-complete > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 24px;

    width: 24px;
    height: 24px;

    color: #fff;
    background: #2B774B;

    border-radius: 50%;

    font-size: .55rem;
    font-weight: 900;
}

.membership-status-v2-payment-complete strong {
    display: block;

    font-size: .58rem;
}

.membership-status-v2-payment-complete p,
.membership-status-v2-sidebar
.next-card p {
    margin: 3px 0 0;

    color: #697B8E;

    font-size: .51rem;
    line-height: 1.5;
}

/* ==========================================================
   Patch 23D1D1 - Membership Status Responsive
   ========================================================== */

@media (max-width: 760px) {

    .membership-status-v2-layout {
        grid-template-columns: 1fr;
    }

    .membership-status-v2-hero {
        align-items: flex-start;
    }

}

@media (max-width: 520px) {

    .membership-status-v2-hero {
        flex-direction: column;

        padding: 19px;
    }

    .membership-status-v2-details {
        grid-template-columns: 1fr;
    }

    .membership-status-v2-actions {
        flex-direction: column;
    }

    .membership-status-button {
        width: 100%;

        box-sizing: border-box;
    }

}

/* ==========================================================
   Patch 23R1 - Member Home
   ========================================================== */

.member-home-dashboard {
    width: 100%;

    max-width:
        1080px;

    margin:
        0 auto;
}

.member-home-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap:
        24px;

    margin-bottom:
        16px;

    padding:
        24px 27px;

    color:
        #FFFFFF;

    background:
        linear-gradient(
            125deg,
            #071A3D 0%,
            #123F69 60%,
            #1E668E 100%
        );

    border-radius:
        11px;

    box-shadow:
        0 8px 22px
        rgba(
            7,
            26,
            61,
            .12
        );
}

.member-home-eyebrow {
    display: block;

    margin-bottom:
        4px;

    color:
        #A9D3E8;

    font-size:
        .56rem;

    font-weight:
        900;

    letter-spacing:
        .09em;

    text-transform:
        uppercase;
}

.member-home-hero h1 {
    margin:
        0 0 5px;

    color:
        #FFFFFF;

    font-size:
        1.7rem;
}

.member-home-hero p {
    margin: 0;

    color:
        #D8E6EF;

    font-size:
        .68rem;

    line-height:
        1.5;
}

.member-home-profile-summary {
    display: grid;

    flex:
        0 0 auto;

    min-width:
        180px;

    gap:
        2px;

    padding:
        12px 14px;

    background:
        rgba(
            255,
            255,
            255,
            .10
        );

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .16
        );

    border-radius:
        8px;
}

.member-home-profile-summary span {
    color:
        #B7D0E1;

    font-size:
        .46rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.member-home-profile-summary strong {
    color:
        #FFFFFF;

    font-size:
        .65rem;
}

.member-home-profile-summary small {
    margin-top:
        4px;

    color:
        #D8E6EF;

    font-size:
        .5rem;

    font-weight:
        800;
}

.member-home-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap:
        12px;
}

.member-home-tile {
    display: grid;

    grid-template-columns:
        44px
        minmax(0, 1fr)
        auto;

    align-items:
        center;

    gap:
        13px;

    min-height:
        120px;

    padding:
        17px;

    color:
        #213A54 !important;

    background:
        #FFFFFF !important;

    border:
        1px solid #DCE4EB;

    border-left:
        5px solid #235E89;

    border-radius:
        9px;

    box-shadow:
        0 3px 11px
        rgba(
            13,
            42,
            67,
            .045
        );

    text-decoration:
        none !important;

    transition:
        transform .15s ease,
        box-shadow .15s ease,
        border-color .15s ease;
}

.member-home-tile:hover {
    transform:
        translateY(-2px);

    box-shadow:
        0 7px 18px
        rgba(
            13,
            42,
            67,
            .10
        );
}

.member-home-tile.entries {
    border-left-color:
        #2D7B4D;
}

.member-home-tile.notifications {
    border-left-color:
        #B78827;
}

.member-home-tile.account {
    border-left-color:
        #626E7C;
}

.member-home-tile.admin {
    border-left-color:
        #6B4F89;
}

.member-home-tile.control {
    border-left-color:
        #28784B;
}

.member-home-tile-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width:
        42px;

    height:
        42px;

    color:
        #FFFFFF;

    background:
        #1E5D89;

    border-radius:
        9px;

    font-size:
        .92rem;

    font-weight:
        900;
}

.member-home-tile.entries
.member-home-tile-icon {
    background:
        #2D7B4D;
}

.member-home-tile.notifications
.member-home-tile-icon {
    background:
        #A87C25;
}

.member-home-tile.account
.member-home-tile-icon {
    background:
        #596978;
}

.member-home-tile.admin
.member-home-tile-icon {
    background:
        #665080;
}

.member-home-tile.control
.member-home-tile-icon {
    background:
        #28784B;
}

.member-home-tile span {
    color:
        #718195;

    font-size:
        .46rem;

    font-weight:
        900;

    letter-spacing:
        .04em;

    text-transform:
        uppercase;
}

.member-home-tile h2 {
    margin:
        2px 0 4px;

    color:
        #153553;

    font-size:
        .78rem;
}

.member-home-tile p {
    margin: 0;

    color:
        #6C7C8D;

    font-size:
        .54rem;

    line-height:
        1.45;
}

.member-home-arrow {
    color:
        #678096;

    font-size:
        .9rem;
}

@media (max-width: 760px) {

    .site-banner-inner,
    .admin-portal-nav,
    .admin-portal-secondary-inner {
        width:
            calc(100% - 20px) !important;
    }

    .member-home-hero {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .member-home-profile-summary {
        min-width:
            0;
    }

    .member-home-grid {
        grid-template-columns:
            1fr;
    }

}

@media (max-width: 480px) {

    .member-home-tile {
        grid-template-columns:
            38px
            minmax(0, 1fr)
            auto;

        padding:
            14px;
    }

    .member-home-tile-icon {
        width:
            36px;

        height:
            36px;
    }

}

/* ==========================================================
   Patch 23R2 - Structural Cleanup Complete
   Navigation widths now live in their canonical rules.
   ========================================================== */


/* ==========================================================
   Patch 23R3 - Consolidated Member Creation
   ========================================================== */

.member-create-panel {
    max-width: 1380px;

    margin:
        0 auto 12px;

    overflow: hidden;

    background: #fff;

    border:
        1px solid #D9E2E9;

    border-top:
        4px solid #2D7A4D;

    border-radius: 8px;
}

.member-create-panel > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;

    padding: 12px 15px;

    cursor: pointer;

    list-style: none;

    background: #F3F8F5;
}

.member-create-panel > summary::-webkit-details-marker {
    display: none;
}

.member-create-panel > summary > span:first-child {
    display: grid;

    gap: 2px;
}

.member-create-panel summary strong {
    color: #24583C;

    font-size: .64rem;
}

.member-create-panel summary small {
    color: #71817A;

    font-size: .48rem;
}

.member-create-plus {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 25px;
    height: 25px;

    color: #fff;
    background: #2D7A4D;

    border-radius: 50%;

    font-size: .8rem;
    font-weight: 900;

    transition: transform .15s ease;
}

.member-create-panel[open]
.member-create-plus {
    transform: rotate(45deg);
}

.member-create-form {
    padding: 16px;
}

.member-create-section-heading {
    margin:
        3px 0 10px;

    color: #173C5D;

    font-size: .54rem;
    font-weight: 900;

    letter-spacing: .05em;

    text-transform: uppercase;
}

.member-create-section-heading:not(:first-child) {
    margin-top: 18px;

    padding-top: 14px;

    border-top:
        1px solid #E2E8ED;
}

.member-create-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 12px;
}

.member-create-grid label {
    display: grid;

    align-content: start;

    gap: 5px;
}

.member-create-grid label > span {
    display: flex;
    align-items: center;

    gap: 5px;

    color: #405A73;

    font-size: .53rem;
    font-weight: 850;
}

.member-create-grid label > span em {
    padding: 2px 5px;

    color: #355C79;
    background: #E8F1F7;

    border-radius: 999px;

    font-size: .41rem;
    font-style: normal;
    font-weight: 900;

    text-transform: uppercase;
}

.member-create-grid label > span em.optional {
    color: #727E89;
    background: #EEF1F3;
}

.member-create-grid input,
.member-create-grid select {
    width: 100%;

    min-height: 39px;

    box-sizing: border-box;

    padding: 8px 10px;

    color: #20384F;
    background: #FCFDFE;

    border:
        1px solid #C1CED9;

    border-radius: 6px;
}

.member-create-grid small {
    color: #7B8996;

    font-size: .47rem;
}

.member-create-actions {
    display: flex;
    justify-content: flex-end;

    margin-top: 15px;
}

.member-create-save {
    min-height: 38px;

    padding: 0 16px;

    color: #fff !important;
    background: #28784B !important;

    border:
        1px solid #1F603D !important;

    border-radius: 6px;

    cursor: pointer;

    font-size: .57rem;
    font-weight: 900;
}

@media (max-width: 720px) {

    .member-create-grid {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   Patch 23D2 - Tournament Entry Experience
   ========================================================== */

.member-entry-v2 {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    color: #1C354D;
}

.member-entry-v2-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 15px;
    padding: 24px 27px;
    color: #fff;
    background:
        linear-gradient(
            125deg,
            #071A3D,
            #123F69 58%,
            #1C638C
        );
    border-radius: 11px;
    box-shadow:
        0 8px 22px
        rgba(7, 26, 61, .11);
}

.member-entry-v2-eyebrow {
    display: block;
    margin-bottom: 4px;
    color: #A9D1E5;
    font-size: .5rem;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.member-entry-v2-back {
    display: inline-block;
    margin-bottom: 8px;
    color: #C7DEEB !important;
    font-size: .51rem;
    font-weight: 800;
    text-decoration: none !important;
}

.member-entry-v2-hero h1 {
    margin: 0 0 5px;
    color: #fff;
    font-size: 1.55rem;
}

.member-entry-v2-hero p {
    max-width: 680px;
    margin: 0;
    color: #D5E4EE;
    font-size: .62rem;
    line-height: 1.5;
}

.member-entry-v2-hero-link {
    flex: 0 0 auto;
    padding: 9px 12px;
    color: #fff !important;
    background: rgba(255,255,255,.11);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 6px;
    font-size: .53rem;
    font-weight: 900;
    text-decoration: none !important;
}

.member-entry-v2-status {
    display: inline-flex;
    align-items: center;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: .47rem;
    font-weight: 900;
    white-space: nowrap;
}

.member-entry-v2-status.state-open,
.member-entry-v2-status.status-confirmed {
    color: #1F603D;
    background: #E0F3E7;
}

.member-entry-v2-status.status-submitted,
.member-entry-v2-status.state-scheduled {
    color: #76591C;
    background: #FFF0C9;
}

.member-entry-v2-status.status-withdrawn,
.member-entry-v2-status.state-closed {
    color: #6F4B49;
    background: #F2E6E5;
}

.member-entry-v2-errors {
    margin-bottom: 13px;
    padding: 12px 14px;
    color: #7C2D2A;
    background: #FFF0EF;
    border: 1px solid #E9C0BC;
    border-left: 4px solid #B84640;
    border-radius: 8px;
    font-size: .54rem;
}

.member-entry-v2-errors ul {
    margin: 6px 0 0;
    padding-left: 18px;
}

.member-entry-v2-current,
.member-entry-v2-card,
.member-entry-v2-payment-card,
.member-entry-v2-closed {
    margin-bottom: 12px;
    padding: 18px;
    background: #fff;
    border: 1px solid #DCE4EB;
    border-top: 4px solid #205A87;
    border-radius: 9px;
    box-shadow:
        0 3px 11px
        rgba(13, 42, 67, .04);
}

.member-entry-v2-current {
    border-top-color: #52758E;
}

.member-entry-v2-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 13px;
}

.member-entry-v2-section-heading span {
    display: block;
    color: #71869A;
    font-size: .43rem;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.member-entry-v2-section-heading h2 {
    margin: 2px 0 0;
    color: #153754;
    font-size: .84rem;
}

.member-entry-v2-section-heading p {
    margin: 3px 0 0;
    color: #758595;
    font-size: .5rem;
    line-height: 1.45;
}

.member-entry-v2-edit-profile {
    flex: 0 0 auto;
    color: #1D5C87 !important;
    font-size: .49rem;
    font-weight: 900;
    text-decoration: none !important;
}

.member-entry-v2-summary-grid,
.member-entry-v2-profile-grid {
    display: grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(130px, 1fr)
        );
    gap: 1px;
    overflow: hidden;
    border: 1px solid #E2E8ED;
    border-radius: 7px;
}

.member-entry-v2-summary-grid > div,
.member-entry-v2-profile-grid > div {
    padding: 9px 10px;
    background: #F8FAFC;
    border: 1px solid #E9EDF1;
}

.member-entry-v2-summary-grid span,
.member-entry-v2-profile-grid span {
    display: block;
    color: #7A8997;
    font-size: .42rem;
    font-weight: 900;
    text-transform: uppercase;
}

.member-entry-v2-summary-grid strong,
.member-entry-v2-profile-grid strong {
    display: block;
    margin-top: 3px;
    color: #29435D;
    font-size: .58rem;
}

.member-entry-v2-warning,
.member-entry-v2-info,
.member-entry-v2-inline-note {
    margin: 11px 0 0;
    padding: 9px 10px;
    border-radius: 6px;
    font-size: .5rem;
    line-height: 1.45;
}

.member-entry-v2-warning {
    color: #76531D;
    background: #FFF5DD;
    border: 1px solid #E6D19C;
}

.member-entry-v2-info,
.member-entry-v2-inline-note {
    color: #325A76;
    background: #EEF5F9;
    border: 1px solid #CDDFE9;
}

.member-entry-v2-form-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1.65fr)
        minmax(270px, .72fr);
    gap: 13px;
    align-items: start;
}

.member-entry-v2-form-main {
    min-width: 0;
}

.member-entry-v2-sidebar {
    position: sticky;
    top: 12px;
}

.member-entry-v2-payment-card {
    border-top-color: #B3882C;
}

.member-entry-v2-fields {
    display: grid;
    gap: 12px;
    margin-top: 13px;
}

.member-entry-v2-fields.two {
    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );
}

.member-entry-v2-fields label,
.member-entry-v2-textarea {
    display: grid;
    align-content: start;
    gap: 5px;
}

.member-entry-v2-fields label > span,
.member-entry-v2-textarea > span {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #405B72;
    font-size: .52rem;
    font-weight: 850;
}

.member-entry-v2-fields em {
    padding: 2px 5px;
    color: #355D79;
    background: #E8F1F7;
    border-radius: 999px;
    font-size: .39rem;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
}

.member-entry-v2-fields input,
.member-entry-v2-fields select,
.member-entry-v2-textarea textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 8px 10px;
    color: #20384F;
    background: #FCFDFE;
    border: 1px solid #C2CED8;
    border-radius: 6px;
    font-size: .57rem;
}

.member-entry-v2-fields input,
.member-entry-v2-fields select {
    min-height: 39px;
}

.member-entry-v2-fields small {
    color: #7D8A97;
    font-size: .45rem;
    line-height: 1.4;
}

.member-entry-v2-choice-grid,
.member-entry-v2-check-grid {
    display: grid;
    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );
    gap: 9px;
}

.member-entry-v2-choice,
.member-entry-v2-check {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 11px;
    cursor: pointer;
    background: #F8FAFC;
    border: 1px solid #D5DEE6;
    border-radius: 7px;
}

.member-entry-v2-choice:has(input:checked),
.member-entry-v2-check:has(input:checked) {
    background: #EDF5FA;
    border-color: #5A8DAF;
    box-shadow:
        inset 0 0 0 1px #5A8DAF;
}

.member-entry-v2-choice.yes:has(input:checked) {
    background: #EEF8F1;
    border-color: #57936B;
    box-shadow:
        inset 0 0 0 1px #57936B;
}

.member-entry-v2-choice input,
.member-entry-v2-check input {
    flex: 0 0 auto;
    margin-top: 2px;
}

.member-entry-v2-choice span,
.member-entry-v2-check span {
    display: grid;
    gap: 2px;
}

.member-entry-v2-choice strong,
.member-entry-v2-check strong {
    color: #23415C;
    font-size: .57rem;
}

.member-entry-v2-choice small,
.member-entry-v2-check small {
    color: #728293;
    font-size: .46rem;
    line-height: 1.4;
}

.member-entry-v2-fieldset {
    margin: 0 0 14px;
    padding: 0;
    border: 0;
}

.member-entry-v2-fieldset legend {
    margin-bottom: 7px;
    color: #49647C;
    font-size: .51rem;
    font-weight: 900;
}

.member-entry-v2-conditional {
    display: none;
    margin-top: 12px;
    padding: 12px;
    background: #F7FAFC;
    border: 1px solid #DCE5EC;
    border-radius: 7px;
}

.member-entry-v2-conditional.visible {
    display: block;
}

.member-entry-v2-rate {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
    padding: 8px 10px;
    color: #285271;
    background: #EAF3F8;
    border-radius: 6px;
    font-size: .51rem;
}

.member-entry-v2-rate strong {
    font-size: .58rem;
}

.member-entry-v2-night-grid {
    display: grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(74px, 1fr)
        );
    gap: 7px;
}

.member-entry-v2-night-grid label {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px;
    cursor: pointer;
    background: #fff;
    border: 1px solid #D5DEE6;
    border-radius: 6px;
}

.member-entry-v2-night-grid label:has(input:checked) {
    background: #EDF6F0;
    border-color: #659375;
}

.member-entry-v2-night-grid span {
    display: grid;
    gap: 1px;
}

.member-entry-v2-night-grid strong {
    color: #27445D;
    font-size: .52rem;
}

.member-entry-v2-night-grid small {
    color: #758493;
    font-size: .43rem;
}

.member-entry-v2-meal-note {
    margin-bottom: 10px;
    padding: 10px 11px;
    border-radius: 6px;
}

.member-entry-v2-meal-note.serving {
    color: #275D3D;
    background: #EAF6EE;
    border: 1px solid #C9E2D0;
}

.member-entry-v2-meal-note.non-nzdf {
    color: #315A77;
    background: #EEF5F9;
    border: 1px solid #CDDFE9;
}

.member-entry-v2-meal-note strong {
    display: block;
    margin-bottom: 2px;
    font-size: .54rem;
}

.member-entry-v2-meal-note p {
    margin: 0;
    font-size: .49rem;
    line-height: 1.45;
}

.member-entry-v2-meal-table {
    overflow-x: auto;
    border: 1px solid #DBE3E9;
    border-radius: 7px;
}

.member-entry-v2-meal-head,
.member-entry-v2-meal-row {
    display: grid;
    grid-template-columns:
        105px
        repeat(
            var(--meal-columns, 3),
            minmax(105px, 1fr)
        );
}

.member-entry-v2-meal-head {
    background: #153D61;
    color: #fff;
}

.member-entry-v2-meal-head > span,
.member-entry-v2-meal-row > strong,
.member-entry-v2-meal-row > label {
    min-width: 95px;
    padding: 8px 9px;
    box-sizing: border-box;
}

.member-entry-v2-meal-head > span {
    display: grid;
    gap: 2px;
    font-size: .48rem;
    font-weight: 900;
}

.member-entry-v2-meal-head small {
    color: #B9D4E3;
    font-size: .4rem;
}

.member-entry-v2-meal-row {
    background: #fff;
    border-top: 1px solid #E3E8EC;
}

.member-entry-v2-meal-row > strong {
    color: #3B5268;
    font-size: .49rem;
}

.member-entry-v2-meal-row > label {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    border-left: 1px solid #EDF0F3;
    font-size: .47rem;
}

.member-entry-v2-note-block {
    padding: 10px 11px;
    color: #435C72;
    background: #F7F9FB;
    border: 1px solid #E0E6EB;
    border-radius: 6px;
}

.member-entry-v2-note-block + .member-entry-v2-note-block {
    margin-top: 8px;
}

.member-entry-v2-note-block strong {
    display: block;
    margin-bottom: 3px;
    color: #25445E;
    font-size: .53rem;
}

.member-entry-v2-note-block p {
    margin: 0;
    font-size: .5rem;
    line-height: 1.5;
}

.member-entry-v2-declaration {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 13px;
    padding: 10px 11px;
    color: #344E64;
    background: #F1F6F9;
    border: 1px solid #D6E2E9;
    border-radius: 6px;
    font-size: .51rem;
    font-weight: 750;
}

.member-entry-v2-declaration.compact {
    margin-top: 10px;
}

.member-entry-v2-fees {
    display: grid;
    gap: 0;
    overflow: hidden;
    border: 1px solid #DFE5E9;
    border-radius: 7px;
}

.member-entry-v2-fees > div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 10px;
    background: #F8FAFB;
    border-bottom: 1px solid #E5EAED;
}

.member-entry-v2-fees > div:last-child {
    border-bottom: 0;
}

.member-entry-v2-fees span {
    color: #718091;
    font-size: .48rem;
}

.member-entry-v2-fees strong {
    color: #29475F;
    font-size: .54rem;
}

.member-entry-v2-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 10px;
    padding: 12px;
    color: #fff;
    background:
        linear-gradient(
            125deg,
            #103C62,
            #1B628B
        );
    border-radius: 7px;
}

.member-entry-v2-total span {
    font-size: .51rem;
    font-weight: 800;
}

.member-entry-v2-total strong {
    font-size: .91rem;
}

.member-entry-v2-total-note,
.member-entry-v2-payment-note,
.member-entry-v2-confirmation-note {
    color: #778694;
    font-size: .46rem;
    line-height: 1.45;
}

.member-entry-v2-bank {
    display: grid;
    gap: 1px;
    margin-top: 11px;
    overflow: hidden;
    border: 1px solid #DFE5E9;
    border-radius: 7px;
}

.member-entry-v2-bank > div {
    padding: 8px 9px;
    background: #F7F9FA;
}

.member-entry-v2-bank span {
    display: block;
    color: #7C8996;
    font-size: .41rem;
    font-weight: 900;
    text-transform: uppercase;
}

.member-entry-v2-bank strong {
    display: block;
    margin-top: 2px;
    color: #2B455D;
    font-size: .54rem;
    overflow-wrap: anywhere;
}

.member-entry-v2-submit {
    width: 100%;
    min-height: 42px;
    margin-top: 12px;
    color: #fff !important;
    background: #28784B !important;
    border: 1px solid #1E613C !important;
    border-radius: 6px;
    cursor: pointer;
    font-size: .57rem;
    font-weight: 900;
}

.member-entry-v2-submit:hover {
    background: #216941 !important;
}

.member-entry-v2-withdraw {
    display: flex;
    justify-content: flex-end;
    margin-top: 3px;
}

.member-entry-v2-withdraw button {
    padding: 7px 10px;
    color: #8A3733;
    background: transparent;
    border: 1px solid #D7AAA7;
    border-radius: 5px;
    cursor: pointer;
    font-size: .48rem;
    font-weight: 850;
}

.member-entry-v2-closed {
    border-top-color: #7A8793;
}

.member-entry-v2-closed > span {
    color: #798897;
    font-size: .43rem;
    font-weight: 900;
    text-transform: uppercase;
}

.member-entry-v2-closed h2 {
    margin: 3px 0 5px;
    color: #334E65;
    font-size: .82rem;
}

.member-entry-v2-closed p {
    margin: 0;
    color: #6D7D8B;
    font-size: .53rem;
}

/* Entry landing */

.member-entry-v2-tournament-grid {
    display: grid;
    gap: 10px;
}

.member-entry-v2-tournament {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 18px;
    background: #fff;
    border: 1px solid #DCE4EA;
    border-left: 5px solid #386A90;
    border-radius: 8px;
    box-shadow:
        0 3px 10px
        rgba(15, 42, 64, .04);
}

.member-entry-v2-tournament.state-open {
    border-left-color: #2E7C4E;
}

.member-entry-v2-tournament-main {
    min-width: 0;
    flex: 1 1 auto;
}

.member-entry-v2-tournament-top {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.member-entry-v2-tournament-kicker {
    color: #778A9D;
    font-size: .42rem;
    font-weight: 900;
    text-transform: uppercase;
}

.member-entry-v2-tournament h2 {
    margin: 0 0 8px;
    color: #193B58;
    font-size: .77rem;
}

.member-entry-v2-tournament-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.member-entry-v2-tournament-meta > div {
    min-width: 90px;
    padding: 6px 8px;
    background: #F6F9FB;
    border-radius: 5px;
}

.member-entry-v2-tournament-meta span {
    display: block;
    color: #7D8A98;
    font-size: .4rem;
    font-weight: 900;
    text-transform: uppercase;
}

.member-entry-v2-tournament-meta strong {
    display: block;
    margin-top: 1px;
    color: #334E65;
    font-size: .5rem;
}

.member-entry-v2-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 12px;
    border-radius: 6px;
    font-size: .51rem;
    font-weight: 900;
    text-decoration: none !important;
    white-space: nowrap;
}

.member-entry-v2-button.primary {
    color: #fff !important;
    background: #28784B;
}

.member-entry-v2-button.secondary {
    color: #1F587E !important;
    background: #EEF4F8;
    border: 1px solid #C6D6E1;
}

.member-entry-v2-empty {
    padding: 24px;
    text-align: center;
    background: #fff;
    border: 1px solid #DCE4EA;
    border-radius: 8px;
}

.member-entry-v2-empty h2 {
    margin: 0 0 4px;
    color: #29455D;
    font-size: .75rem;
}

.member-entry-v2-empty p {
    margin: 0;
    color: #758493;
    font-size: .52rem;
}

@media (max-width: 820px) {

    .member-entry-v2-form-layout {
        grid-template-columns: 1fr;
    }

    .member-entry-v2-sidebar {
        position: static;
    }

}

@media (max-width: 650px) {

    .member-entry-v2-hero {
        align-items: flex-start;
        flex-direction: column;
        padding: 19px;
    }

    .member-entry-v2-fields.two,
    .member-entry-v2-choice-grid,
    .member-entry-v2-check-grid {
        grid-template-columns: 1fr;
    }

    .member-entry-v2-tournament {
        align-items: stretch;
        flex-direction: column;
    }

    .member-entry-v2-tournament-action,
    .member-entry-v2-button {
        width: 100%;
        box-sizing: border-box;
    }

}


/* ==========================================================
   Patch 23D2A - Entry Controls & Typography
   ========================================================== */

/*
|--------------------------------------------------------------------------
| Radio / checkbox reset
|--------------------------------------------------------------------------
|
| Generic application input styling can make radio and checkbox
| controls inherit full-width text-input dimensions.
|
| Keep tournament-entry choice controls compact and predictable.
|--------------------------------------------------------------------------
*/

.member-entry-v2-form input[type="radio"],
.member-entry-v2-form input[type="checkbox"] {
    appearance: auto !important;

    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;

    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;

    flex:
        0 0 18px !important;

    margin:
        2px 0 0 !important;

    padding:
        0 !important;

    border:
        initial;

    border-radius:
        initial;

    box-shadow:
        none !important;

    accent-color:
        #276EA1;
}


/*
|--------------------------------------------------------------------------
| Competition / Accommodation radio cards
|--------------------------------------------------------------------------
*/

.member-entry-v2-choice {
    display: grid !important;

    grid-template-columns:
        18px
        minmax(0, 1fr) !important;

    align-items:
        start !important;

    justify-content:
        stretch !important;

    gap:
        11px !important;

    min-width:
        0;

    min-height:
        0 !important;

    padding:
        14px !important;

    box-sizing:
        border-box;
}

.member-entry-v2-choice > input {
    grid-column:
        1;

    align-self:
        start;

    justify-self:
        start;
}

.member-entry-v2-choice > span {
    grid-column:
        2;

    display: block !important;

    min-width:
        0;

    width:
        auto !important;

    max-width:
        100%;

    overflow:
        visible !important;

    text-align:
        left !important;

    white-space:
        normal !important;

    overflow-wrap:
        break-word;
}

.member-entry-v2-choice > span > strong {
    display:
        block;

    margin:
        0 0 4px;

    line-height:
        1.3;
}

.member-entry-v2-choice > span > small {
    display:
        block;

    line-height:
        1.45;
}


/*
|--------------------------------------------------------------------------
| Trophy checkbox cards
|--------------------------------------------------------------------------
*/

.member-entry-v2-check {
    display: grid !important;

    grid-template-columns:
        18px
        minmax(0, 1fr) !important;

    align-items:
        start !important;

    justify-content:
        stretch !important;

    gap:
        11px !important;

    min-width:
        0;

    min-height:
        0 !important;

    padding:
        14px !important;

    box-sizing:
        border-box;
}

.member-entry-v2-check > input {
    grid-column:
        1;

    align-self:
        start;

    justify-self:
        start;
}

.member-entry-v2-check > span {
    grid-column:
        2;

    display:
        block !important;

    min-width:
        0;

    width:
        auto !important;

    max-width:
        100%;

    overflow:
        visible !important;

    text-align:
        left !important;

    white-space:
        normal !important;

    overflow-wrap:
        break-word;
}

.member-entry-v2-check > span > strong {
    display:
        block;

    margin:
        0 0 4px;

    line-height:
        1.3;
}

.member-entry-v2-check > span > small {
    display:
        block;

    line-height:
        1.45;
}


/*
|--------------------------------------------------------------------------
| WHI / final declaration rows
|--------------------------------------------------------------------------
*/

.member-entry-v2-declaration {
    display: grid !important;

    grid-template-columns:
        18px
        minmax(0, 1fr);

    align-items:
        start !important;

    gap:
        10px !important;

    min-width:
        0;
}

.member-entry-v2-declaration > input {
    grid-column:
        1;

    justify-self:
        start;
}

.member-entry-v2-declaration > span {
    grid-column:
        2;

    min-width:
        0;

    width:
        auto !important;

    text-align:
        left !important;

    white-space:
        normal !important;

    line-height:
        1.45;
}


/*
|--------------------------------------------------------------------------
| Accommodation-night checkboxes
|--------------------------------------------------------------------------
*/

.member-entry-v2-night-grid label {
    display: grid !important;

    grid-template-columns:
        18px
        minmax(0, 1fr);

    align-items:
        center !important;

    gap:
        8px !important;
}

.member-entry-v2-night-grid label > span {
    min-width:
        0;

    text-align:
        left !important;
}


/*
|--------------------------------------------------------------------------
| Meal attendance checkboxes
|--------------------------------------------------------------------------
*/

.member-entry-v2-meal-row > label {
    display: flex !important;

    align-items:
        center !important;

    justify-content:
        flex-start !important;

    gap:
        8px !important;

    min-width:
        105px;
}

.member-entry-v2-meal-row > label > input {
    flex:
        0 0 18px !important;
}


/*
|--------------------------------------------------------------------------
| Typography
|--------------------------------------------------------------------------
|
| Increase the entry-form typography by approximately 2pt while
| preserving the existing visual hierarchy.
|--------------------------------------------------------------------------
*/

/* Step number / eyebrow */
.member-entry-v2-form
.member-entry-v2-section-heading span {
    font-size:
        calc(.43rem + 2pt) !important;
}

/* Section heading */
.member-entry-v2-form
.member-entry-v2-section-heading h2 {
    font-size:
        calc(.84rem + 2pt) !important;
}

/* Section help copy */
.member-entry-v2-form
.member-entry-v2-section-heading p {
    font-size:
        calc(.50rem + 2pt) !important;
}

/* Edit Profile link */
.member-entry-v2-form
.member-entry-v2-edit-profile {
    font-size:
        calc(.49rem + 2pt) !important;
}

/* Profile summary labels */
.member-entry-v2-form
.member-entry-v2-profile-grid span {
    font-size:
        calc(.42rem + 2pt) !important;
}

/* Profile summary values */
.member-entry-v2-form
.member-entry-v2-profile-grid strong {
    font-size:
        calc(.58rem + 2pt) !important;
}

/* Standard field labels */
.member-entry-v2-form
.member-entry-v2-fields label > span,
.member-entry-v2-form
.member-entry-v2-textarea > span {
    font-size:
        calc(.52rem + 2pt) !important;
}

/* Required chips */
.member-entry-v2-form
.member-entry-v2-fields em {
    font-size:
        calc(.39rem + 1pt) !important;
}

/* Text inputs / selects / textarea */
.member-entry-v2-form
.member-entry-v2-fields input:not([type="radio"]):not([type="checkbox"]),
.member-entry-v2-form
.member-entry-v2-fields select,
.member-entry-v2-form
.member-entry-v2-textarea textarea {
    font-size:
        calc(.57rem + 2pt) !important;
}

/* Helper text */
.member-entry-v2-form
.member-entry-v2-fields small {
    font-size:
        calc(.45rem + 2pt) !important;
}

/* Fieldset headings */
.member-entry-v2-form
.member-entry-v2-fieldset legend {
    font-size:
        calc(.51rem + 2pt) !important;

    line-height:
        1.35;
}

/* Competition / accommodation title */
.member-entry-v2-form
.member-entry-v2-choice strong {
    font-size:
        calc(.57rem + 2pt) !important;
}

/* Competition / accommodation description */
.member-entry-v2-form
.member-entry-v2-choice small {
    font-size:
        calc(.46rem + 2pt) !important;
}

/* Trophy title */
.member-entry-v2-form
.member-entry-v2-check strong {
    font-size:
        calc(.57rem + 2pt) !important;
}

/* Trophy description */
.member-entry-v2-form
.member-entry-v2-check small {
    font-size:
        calc(.46rem + 2pt) !important;
}

/* Information / warning panels */
.member-entry-v2-form
.member-entry-v2-warning,
.member-entry-v2-form
.member-entry-v2-info,
.member-entry-v2-form
.member-entry-v2-inline-note {
    font-size:
        calc(.50rem + 2pt) !important;
}

/* Rate panels */
.member-entry-v2-form
.member-entry-v2-rate {
    font-size:
        calc(.51rem + 2pt) !important;
}

.member-entry-v2-form
.member-entry-v2-rate strong {
    font-size:
        calc(.58rem + 2pt) !important;
}

/* Accommodation night title */
.member-entry-v2-form
.member-entry-v2-night-grid strong {
    font-size:
        calc(.52rem + 2pt) !important;
}

/* Accommodation night date */
.member-entry-v2-form
.member-entry-v2-night-grid small {
    font-size:
        calc(.43rem + 2pt) !important;
}

/* Meal information */
.member-entry-v2-form
.member-entry-v2-meal-note strong {
    font-size:
        calc(.54rem + 2pt) !important;
}

.member-entry-v2-form
.member-entry-v2-meal-note p {
    font-size:
        calc(.49rem + 2pt) !important;
}

/* Meal table headings */
.member-entry-v2-form
.member-entry-v2-meal-head > span {
    font-size:
        calc(.48rem + 2pt) !important;
}

.member-entry-v2-form
.member-entry-v2-meal-head small {
    font-size:
        calc(.40rem + 2pt) !important;
}

/* Meal table date */
.member-entry-v2-form
.member-entry-v2-meal-row > strong {
    font-size:
        calc(.49rem + 2pt) !important;
}

/* Meal Attend label */
.member-entry-v2-form
.member-entry-v2-meal-row > label {
    font-size:
        calc(.47rem + 2pt) !important;
}

/* Tournament note blocks */
.member-entry-v2-form
.member-entry-v2-note-block strong {
    font-size:
        calc(.53rem + 2pt) !important;
}

.member-entry-v2-form
.member-entry-v2-note-block p {
    font-size:
        calc(.50rem + 2pt) !important;
}

/* WHI / declarations */
.member-entry-v2-form
.member-entry-v2-declaration {
    font-size:
        calc(.51rem + 2pt) !important;
}

/* Fee rows */
.member-entry-v2-form
.member-entry-v2-fees span {
    font-size:
        calc(.48rem + 2pt) !important;
}

.member-entry-v2-form
.member-entry-v2-fees strong {
    font-size:
        calc(.54rem + 2pt) !important;
}

/* Total */
.member-entry-v2-form
.member-entry-v2-total span {
    font-size:
        calc(.51rem + 2pt) !important;
}

.member-entry-v2-form
.member-entry-v2-total strong {
    font-size:
        calc(.91rem + 2pt) !important;
}

/* Payment/helper text */
.member-entry-v2-form
.member-entry-v2-total-note,
.member-entry-v2-form
.member-entry-v2-payment-note,
.member-entry-v2-form
.member-entry-v2-confirmation-note {
    font-size:
        calc(.46rem + 2pt) !important;
}

/* Bank details */
.member-entry-v2-form
.member-entry-v2-bank span {
    font-size:
        calc(.41rem + 2pt) !important;
}

.member-entry-v2-form
.member-entry-v2-bank strong {
    font-size:
        calc(.54rem + 2pt) !important;
}

/* Green submit button */
.member-entry-v2-form
.member-entry-v2-submit {
    min-height:
        46px;

    font-size:
        calc(.57rem + 2pt) !important;
}


/*
|--------------------------------------------------------------------------
| Desktop card spacing
|--------------------------------------------------------------------------
*/

.member-entry-v2-choice-grid,
.member-entry-v2-check-grid {
    align-items:
        stretch;
}

.member-entry-v2-choice,
.member-entry-v2-check {
    height:
        auto !important;
}


/*
|--------------------------------------------------------------------------
| Small screens
|--------------------------------------------------------------------------
*/

@media (max-width: 650px) {

    .member-entry-v2-choice,
    .member-entry-v2-check {
        padding:
            12px !important;
    }

    .member-entry-v2-form
    input[type="radio"],
    .member-entry-v2-form
    input[type="checkbox"] {
        width:
            19px !important;

        min-width:
            19px !important;

        max-width:
            19px !important;

        height:
            19px !important;

        min-height:
            19px !important;

        max-height:
            19px !important;

        flex:
            0 0 19px !important;
    }

}


/* ==========================================================
   Patch 23D2B - WHI & Unified Accommodation
   ========================================================== */

.member-entry-v2-whi {
    display: grid;
    gap: 10px;
    margin-top: 11px;
}

.member-entry-v2-golf-number {
    display: grid;
    gap: 5px;
    padding: 12px;
    background: #FFF8E8;
    border: 1px solid #E3D09E;
    border-radius: 7px;
}

.member-entry-v2-golf-number > span {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #5C4B26;
    font-size: calc(.52rem + 2pt);
    font-weight: 900;
}

.member-entry-v2-golf-number em {
    padding: 2px 5px;
    color: #7A5317;
    background: #F8E1A9;
    border-radius: 999px;
    font-size: .44rem;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
}

.member-entry-v2-golf-number input {
    width: 100%;
    min-height: 40px;
    box-sizing: border-box;
    padding: 8px 10px;
    color: #253D54;
    background: #fff;
    border: 1px solid #CBB779;
    border-radius: 6px;
    font-size: calc(.57rem + 2pt);
}

.member-entry-v2-golf-number small {
    color: #786C50;
    font-size: calc(.45rem + 2pt);
    line-height: 1.4;
}

.member-entry-v2-golf-number-recorded {
    display: grid;
    gap: 2px;
    padding: 10px 11px;
    color: #28543A;
    background: #EDF7F0;
    border: 1px solid #C8E0CF;
    border-radius: 7px;
}

.member-entry-v2-golf-number-recorded span {
    color: #63806E;
    font-size: calc(.43rem + 2pt);
    font-weight: 900;
    text-transform: uppercase;
}

.member-entry-v2-golf-number-recorded strong {
    font-size: calc(.58rem + 2pt);
}

.member-entry-v2-golf-number-recorded small {
    color: #6B7E70;
    font-size: calc(.44rem + 2pt);
}

#entry-accommodation-nights
.member-entry-v2-night-grid {
    margin-top: 9px;
}

#entry-accommodation-nights
.member-entry-v2-warning {
    margin-bottom: 9px;
}

#entry-accommodation-nights
.member-entry-v2-rate strong[hidden] {
    display: none !important;
}



/* ==========================================================
   Patch 23R4 - Super Admin Password Reset
   ========================================================== */

.member-password-reset-card {
    margin-top: 16px;

    border-top:
        4px solid #A97926;
}

.member-password-reset-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 18px;

    margin-bottom: 15px;
}

.member-password-reset-heading > div:first-child > span {
    display: block;

    margin-bottom: 3px;

    color: #8A6726;

    font-size: .48rem;
    font-weight: 900;

    letter-spacing: .06em;

    text-transform: uppercase;
}

.member-password-reset-heading h2 {
    margin:
        0 0 4px;

    color: #173A57;

    font-size: .82rem;
}

.member-password-reset-heading p {
    margin: 0;

    color: #71808E;

    font-size: .52rem;
    line-height: 1.45;
}

.member-password-reset-member {
    display: grid;

    flex: 0 0 auto;

    gap: 2px;

    max-width: 300px;

    padding: 8px 10px;

    background: #F6F8FA;

    border:
        1px solid #DFE5EA;

    border-radius: 6px;
}

.member-password-reset-member small {
    color: #7A8794;

    font-size: .42rem;
    font-weight: 900;

    text-transform: uppercase;
}

.member-password-reset-member strong {
    color: #314B62;

    font-size: .52rem;

    overflow-wrap: anywhere;
}

.member-password-reset-form {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 12px;
}

.member-password-reset-form > label {
    display: grid;

    gap: 5px;
}

.member-password-reset-form > label > span {
    color: #405A70;

    font-size: .53rem;
    font-weight: 850;
}

.member-password-reset-form input {
    width: 100%;

    min-height: 40px;

    box-sizing: border-box;

    padding: 8px 10px;

    color: #213A50;
    background: #FCFDFE;

    border:
        1px solid #C0CDD7;

    border-radius: 6px;
}

.member-password-reset-action {
    grid-column:
        1 / -1;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 16px;

    margin-top: 2px;
    padding-top: 13px;

    border-top:
        1px solid #E1E6EA;
}

.member-password-reset-action > div {
    display: grid;

    gap: 2px;
}

.member-password-reset-action strong {
    color: #665020;

    font-size: .5rem;
}

.member-password-reset-action small {
    color: #7C858E;

    font-size: .45rem;
    line-height: 1.4;
}

.member-password-reset-action button {
    flex: 0 0 auto;

    min-height: 38px;

    padding:
        0 14px;

    color: #fff !important;
    background: #9B6C1E !important;

    border:
        1px solid #805716 !important;

    border-radius: 6px;

    cursor: pointer;

    font-size: .53rem;
    font-weight: 900;
}

.member-password-reset-action button:hover {
    background: #855B19 !important;
}

@media (max-width: 680px) {

    .member-password-reset-heading {
        flex-direction: column;
    }

    .member-password-reset-member {
        max-width: none;
    }

    .member-password-reset-form {
        grid-template-columns: 1fr;
    }

    .member-password-reset-action {
        grid-column: 1;

        align-items: stretch;
        flex-direction: column;
    }

    .member-password-reset-action button {
        width: 100%;
    }

}


/* ==========================================================
   Patch 23D2C - HCP Source
   ========================================================== */

.member-entry-v2-hcp-source {
    display: block;

    padding:
        8px 9px;

    color:
        #526B7E;

    background:
        #F0F6F9;

    border:
        1px solid #D3E2EA;

    border-radius:
        6px;

    line-height:
        1.45 !important;
}

.member-entry-v2-hcp-source strong {
    color:
        #1C5C84;
}



/* ==========================================================
   Patch 24M1 - Member Account and Login
   ========================================================== */

/* Login */

.member-login-page {
    width: 100%;
    max-width: 560px;
    margin: 32px auto;
}

.member-login-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid #D9E2E9;
    border-radius: 10px;
    box-shadow:
        0 8px 25px
        rgba(11, 38, 64, .08);
}

.member-login-brand {
    padding: 25px 27px;
    color: #fff;
    background:
        linear-gradient(
            125deg,
            #071A3D,
            #123F69 58%,
            #1D638B
        );
}

.member-login-brand > span {
    display: block;
    margin-bottom: 4px;
    color: #A8CCE0;
    font-size: .52rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.member-login-brand h1 {
    margin: 0 0 5px;
    color: #fff;
    font-size: 1.35rem;
}

.member-login-brand p {
    margin: 0;
    color: #D5E4ED;
    font-size: .59rem;
    line-height: 1.5;
}

.member-login-error {
    display: grid;
    gap: 2px;
    margin: 16px 20px 0;
    padding: 10px 12px;
    color: #812F2A;
    background: #FFF0EF;
    border: 1px solid #E5BDB9;
    border-left: 4px solid #B84640;
    border-radius: 6px;
    font-size: .54rem;
}

.member-login-form {
    display: grid;
    gap: 13px;
    padding: 21px;
}

.member-login-form > label:not(.member-login-remember) {
    display: grid;
    gap: 5px;
}

.member-login-form > label > span {
    color: #3D566E;
    font-size: .55rem;
    font-weight: 850;
}

.member-login-form input[type="email"],
.member-login-form input[type="password"] {
    width: 100%;
    min-height: 42px;
    box-sizing: border-box;
    padding: 8px 10px;
    color: #213A51;
    background: #FCFDFE;
    border: 1px solid #BAC8D4;
    border-radius: 6px;
    font-size: .62rem;
}

.member-login-remember {
    display: flex;
    align-items: center;
    gap: 8px;
}

.member-login-remember input {
    width: 17px !important;
    height: 17px !important;
    min-height: 17px !important;
    margin: 0 !important;
}

.member-login-submit {
    min-height: 43px;
    color: #fff !important;
    background: #28784B !important;
    border: 1px solid #1F623E !important;
    border-radius: 6px;
    cursor: pointer;
    font-size: .59rem;
    font-weight: 900;
}

.member-login-help {
    margin: 0 21px 18px;
    padding: 10px 12px;
    color: #526A7E;
    background: #F2F6F8;
    border: 1px solid #D9E3E9;
    border-radius: 6px;
}

.member-login-help strong {
    display: block;
    margin-bottom: 2px;
    color: #31526C;
    font-size: .53rem;
}

.member-login-help p {
    margin: 0;
    font-size: .49rem;
    line-height: 1.45;
}

.member-login-card
.membership-login-signup {
    margin: 0;
    padding: 14px 21px 18px;
    border-top: 1px solid #E1E7EB;
}


/* Member account */

.member-account-success {
    margin-bottom: 13px;
    padding: 10px 12px;
    color: #245D3C;
    background: #EAF6EE;
    border: 1px solid #C5E0CE;
    border-left: 4px solid #338257;
    border-radius: 7px;
    font-size: .55rem;
    font-weight: 750;
}

.member-account-field select {
    width: 100%;
    min-height: 39px;
    box-sizing: border-box;
    padding: 8px 10px;
    color: #20384F;
    background: #FCFDFE;
    border: 1px solid #C1CED9;
    border-radius: 6px;
}

@media (max-width: 650px) {

    .member-login-page {
        margin: 14px auto;
    }

    .member-login-brand {
        padding: 20px;
    }

}


/* ==========================================================
   Patch 24M2 - Notifications and My Tournament
   ========================================================== */


/* ----------------------------------------------------------
   Notifications
   ---------------------------------------------------------- */

.member-notifications-v2 {
    max-width: 1100px;
}

.member-notifications-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 22px;

    margin-bottom: 14px;

    padding: 23px 26px;

    color: #fff;

    background:
        linear-gradient(
            125deg,
            #071A3D,
            #123F69 58%,
            #1C638C
        );

    border-radius: 10px;

    box-shadow:
        0 8px 22px
        rgba(
            7,
            26,
            61,
            .10
        );
}

.member-notifications-eyebrow {
    display: block;

    margin-bottom: 4px;

    color: #A7CFE4;

    font-size: .55rem;
    font-weight: 900;

    letter-spacing: .08em;

    text-transform: uppercase;
}

.member-notifications-hero h1 {
    margin: 0 0 5px;

    color: #fff;

    font-size: 1.42rem;
}

.member-notifications-hero p {
    max-width: 650px;

    margin: 0;

    color: #D6E4EE;

    font-size: .66rem;
    line-height: 1.5;
}

.member-notifications-hero-actions {
    display: flex;
    align-items: center;

    gap: 9px;

    flex: 0 0 auto;
}

.member-notifications-unread {
    display: grid;
    place-items: center;

    min-width: 62px;

    padding: 8px 10px;

    color: #C5D5E1;

    background:
        rgba(
            255,
            255,
            255,
            .08
        );

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .16
        );

    border-radius: 7px;
}

.member-notifications-unread.has-unread {
    color: #fff;

    background:
        #A4443B;

    border-color:
        #BA6259;
}

.member-notifications-unread strong {
    font-size: 1rem;
    line-height: 1;
}

.member-notifications-unread span {
    margin-top: 3px;

    font-size: .47rem;
    font-weight: 850;

    text-transform: uppercase;
}

.member-notifications-read-all {
    min-height: 38px;

    padding: 0 12px;

    color: #fff !important;

    background:
        rgba(
            255,
            255,
            255,
            .11
        ) !important;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .23
        ) !important;

    border-radius: 6px;

    cursor: pointer;

    font-size: .53rem;
    font-weight: 900;
}

.member-notifications-status {
    margin-bottom: 12px;

    padding: 10px 12px;

    color: #235D3B;
    background: #E9F6ED;

    border:
        1px solid #C4DFCC;

    border-left:
        4px solid #328158;

    border-radius: 7px;

    font-size: .56rem;
    font-weight: 750;
}

.member-notification-list-v2 {
    gap: 10px;
}

.member-notification-card-v2 {
    grid-template-columns:
        54px
        minmax(
            0,
            1fr
        )
        auto;

    gap: 14px;

    min-height: 92px;

    padding: 14px 15px;

    border:
        1px solid #D7E0E6;

    border-left:
        5px solid #AAB6C0;

    border-radius: 8px;
}

.member-notification-card-v2.is-unread {
    opacity: 1;

    background: #F8FCFA;

    border-color: #BDD6C5;
    border-left-color: #348257;

    box-shadow:
        0 4px 13px
        rgba(
            33,
            91,
            59,
            .07
        );
}

.member-notification-card-v2.is-read {
    opacity: .82;

    background: #FAFBFC;
}

.member-notification-state {
    display: grid;
    align-content: center;
    justify-items: center;

    min-height: 48px;
}

.member-notification-new-dot {
    width: 11px;
    height: 11px;

    background: #2F8557;

    border-radius: 50%;

    box-shadow:
        0 0 0 4px
        #DCEFE3;
}

.member-notification-state small {
    margin-top: 8px;

    color: #2D7550;

    font-size: .42rem;
    font-weight: 900;
}

.member-notification-read-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 25px;
    height: 25px;

    color: #73828E;
    background: #EBEFF2;

    border-radius: 50%;

    font-size: .61rem;
    font-weight: 900;
}

.member-notification-card-v2
.member-notification-content h2 {
    margin: 5px 0 4px;

    color: #173B57;

    font-size: .79rem;
    line-height: 1.3;
}

.member-notification-card-v2
.member-notification-content p {
    margin: 0;

    color: #526575;

    font-size: .62rem;
    line-height: 1.5;
}

.member-notification-card-v2
.member-notification-meta {
    display: flex;
    align-items: center;

    flex-wrap: wrap;

    gap: 7px;
}

.member-notification-card-v2
.member-notification-meta time {
    color: #84919D;

    font-size: .49rem;
}

.member-notification-card-v2
.member-notification-type {
    padding: 3px 7px;

    color: #2F5A73;
    background: #E8F1F6;

    border-radius: 999px;

    font-size: .45rem;
    font-weight: 900;

    letter-spacing: .03em;

    text-transform: uppercase;
}

.member-notification-card-v2
.type-next_event {
    color: #785A17;
    background: #FFF0C6;
}

.member-notification-card-v2
.type-opponent_known {
    color: #244F79;
    background: #DFEDF8;
}

.member-notification-card-v2
.type-match_result {
    color: #315D40;
    background: #E1F1E6;
}

.member-notification-read-time {
    display: block;

    margin-top: 6px;

    color: #909AA3;

    font-size: .44rem;
}

.member-notification-action {
    min-width: 92px;

    text-align: right;
}

.member-notification-open,
.member-notification-mark-read {
    min-height: 34px;

    padding: 0 11px;

    border-radius: 6px;

    cursor: pointer;

    font-size: .51rem;
    font-weight: 900;
}

.member-notification-open {
    color: #fff !important;
    background: #245F88 !important;

    border:
        1px solid #1B5075 !important;
}

.member-notification-mark-read {
    color: #36566F !important;
    background: #F2F6F8 !important;

    border:
        1px solid #C8D6DF !important;
}

.member-notifications-empty-v2 {
    padding: 36px 22px;

    text-align: center;

    background: #fff;

    border:
        1px solid #D9E2E8;

    border-radius: 9px;
}

.member-notifications-empty-v2
.member-notifications-empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    color: #fff;
    background: #398158;

    border-radius: 50%;

    font-size: 1rem;
    font-weight: 900;
}

.member-notifications-empty-v2 h2 {
    margin: 12px 0 4px;

    color: #22445F;

    font-size: .84rem;
}

.member-notifications-empty-v2 p {
    margin: 0 auto 13px;

    max-width: 480px;

    color: #71808D;

    font-size: .57rem;
    line-height: 1.5;
}

.member-notifications-home-link {
    color: #215F88 !important;

    font-size: .52rem;
    font-weight: 900;

    text-decoration: none !important;
}


/* ----------------------------------------------------------
   My Tournament status strip
   ---------------------------------------------------------- */

.my-tournament-page {
    max-width: 1120px;

    margin-left: auto;
    margin-right: auto;
}

.my-tournament-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;

    margin-bottom: 13px;

    padding: 19px 21px;

    color: #fff;

    background:
        linear-gradient(
            125deg,
            #071A3D,
            #123F69 60%,
            #1B5D83
        );

    border-radius: 9px;
}

.my-tournament-header
.my-tournament-eyebrow {
    color: #AED0E3;

    font-size: .52rem;
    font-weight: 900;

    letter-spacing: .05em;

    text-transform: uppercase;
}

.my-tournament-header h1 {
    margin: 3px 0 2px;

    color: #fff;

    font-size: 1.23rem;
}

.my-tournament-header .muted {
    color: #D2E2EC !important;

    font-size: .58rem;
}

.my-tournament-header
.button.secondary {
    color: #fff !important;

    background:
        rgba(
            255,
            255,
            255,
            .10
        ) !important;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .20
        ) !important;
}

.my-tournament-status-strip {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(
                0,
                1fr
            )
        );

    gap: 1px;

    overflow: hidden;

    margin-bottom: 13px;

    background: #DDE5EA;

    border:
        1px solid #D7E1E7;

    border-radius: 8px;
}

.my-tournament-status-strip > div,
.my-tournament-status-strip > a {
    display: grid;

    align-content: center;

    min-height: 62px;

    padding: 10px 12px;

    box-sizing: border-box;

    background: #fff;

    text-decoration: none !important;
}

.my-tournament-status-strip span {
    color: #7B8995;

    font-size: .43rem;
    font-weight: 900;

    letter-spacing: .03em;

    text-transform: uppercase;
}

.my-tournament-status-strip strong {
    display: block;

    margin-top: 3px;

    color: #29465E;

    font-size: .59rem;
}

.my-tournament-notification-link {
    background: #EFF6FA !important;
}

.my-tournament-notification-link strong {
    color: #1C5F89;
}


/* Next event */

.my-next-card {
    overflow: hidden;

    margin-bottom: 13px;

    padding: 0;

    color: #fff;

    background:
        linear-gradient(
            120deg,
            #0C2E50,
            #195A83
        );

    border-radius: 10px;

    box-shadow:
        0 7px 18px
        rgba(
            10,
            42,
            70,
            .12
        );
}

.my-next-label {
    padding: 7px 16px;

    color: #153D59;
    background: #F2CF67;

    font-size: .48rem;
    font-weight: 950;

    letter-spacing: .08em;

    text-transform: uppercase;
}

.my-next-main {
    display: flex;
    align-items: center;

    gap: 20px;

    padding: 16px 18px 8px;
}

.my-next-day {
    color: #BFD7E5;

    font-size: .53rem;
    font-weight: 850;
}

.my-next-time {
    margin-top: 2px;

    color: #fff;

    font-size: 1.45rem;
    font-weight: 950;
}

.my-next-time span {
    font-size: .62rem;

    text-transform: uppercase;
}

.my-next-tee {
    min-width: 72px;

    padding: 9px 12px;

    text-align: center;

    background:
        rgba(
            255,
            255,
            255,
            .09
        );

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .14
        );

    border-radius: 7px;
}

.my-next-tee small {
    display: block;

    color: #AFCBDC;

    font-size: .43rem;
    font-weight: 900;
}

.my-next-tee strong {
    display: block;

    margin-top: 1px;

    color: #fff;

    font-size: 1rem;
}

.my-next-title {
    padding: 5px 18px 0;

    color: #fff;

    font-size: .71rem;
    font-weight: 900;
}

.my-next-detail {
    padding: 2px 18px 8px;

    color: #C9DCE8;

    font-size: .58rem;
}

.my-next-draw-link {
    display: block;

    padding: 9px 18px 12px;

    color: #F6D77C !important;

    font-size: .51rem;
    font-weight: 900;

    text-decoration: none !important;
}


/* Existing My Tournament cards */

.my-tournament-page > .card {
    border:
        1px solid #D9E2E8;

    border-top:
        4px solid #285F86;

    border-radius: 8px;
}

.my-tournament-page
.section-heading h2 {
    color: #183C58;

    font-size: .79rem;
}

.my-tournament-page
.my-no-next {
    color: #526979;

    background: #F6F9FB;

    border-top-color: #8495A3;
}

.my-tournament-page
.my-result-text {
    color: #2E7650;

    font-weight: 950;
}

.my-stableford-summary {
    overflow: hidden;

    border:
        1px solid #DCE4E8;

    border-radius: 7px;
}

.my-stableford-summary > div {
    background: #F8FAFB;
}

.my-stableford-summary > div.total {
    color: #fff;

    background: #164B70;
}

.my-stableford-summary > div.total span,
.my-stableford-summary > div.total strong {
    color: #fff;
}

.my-live-status {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    margin-top: 5px;

    padding: 6px 9px;

    color: #456377;
    background: #EEF4F7;

    border:
        1px solid #D3E0E7;

    border-radius: 999px;

    font-size: .47rem;
    font-weight: 800;
}

.my-live-dot {
    width: 7px;
    height: 7px;

    background: #35A165;

    border-radius: 50%;

    box-shadow:
        0 0 0 3px
        rgba(
            53,
            161,
            101,
            .15
        );
}


/* ----------------------------------------------------------
   Mobile
   ---------------------------------------------------------- */

@media (max-width: 720px) {

    .member-notifications-hero {
        align-items: flex-start;
        flex-direction: column;

        padding: 19px;
    }

    .member-notifications-hero-actions {
        width: 100%;

        justify-content: space-between;
    }

    .member-notification-card-v2 {
        grid-template-columns:
            34px
            minmax(
                0,
                1fr
            );

        align-items: start;
    }

    .member-notification-action {
        grid-column:
            2;

        min-width: 0;

        text-align: left;
    }

    .member-notification-open,
    .member-notification-mark-read {
        width: 100%;
    }

    .my-tournament-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .my-tournament-status-strip {
        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );
    }

}

@media (max-width: 480px) {

    .my-tournament-status-strip {
        grid-template-columns: 1fr;
    }

    .my-next-main {
        align-items: stretch;

        flex-direction: column;

        gap: 10px;
    }

    .my-next-tee {
        width: 100%;

        box-sizing: border-box;

        text-align: left;
    }

}


/* ==========================================================
   Patch 25F1A - Tournament Registrations Shortcut
   ========================================================== */

.tournament-admin-registration-shortcut {
    margin:
        0 0 12px;
}

.tournament-admin-registration-link {
    display: grid;

    grid-template-columns:
        38px
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap: 11px;

    padding:
        11px 13px;

    color: #24435C !important;

    background:
        #F3F8FB;

    border:
        1px solid #CBDCE6;

    border-left:
        4px solid #24658D;

    border-radius:
        7px;

    text-decoration:
        none !important;

    transition:
        background .15s ease,
        border-color .15s ease;
}

.tournament-admin-registration-link:hover {
    background:
        #EAF3F8;

    border-color:
        #9FC3D7;
}

.tournament-admin-registration-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    color: #fff;

    background:
        #24658D;

    border-radius:
        50%;

    font-size:
        .58rem;

    font-weight:
        950;
}

.tournament-admin-registration-copy {
    display: grid;

    min-width: 0;

    gap: 2px;
}

.tournament-admin-registration-copy strong {
    color:
        #173D59;

    font-size:
        .61rem;
}

.tournament-admin-registration-copy small {
    color:
        #697C8B;

    font-size:
        .49rem;

    line-height:
        1.4;
}

.tournament-admin-registration-arrow {
    color:
        #24658D;

    font-size:
        .85rem;

    font-weight:
        950;
}

@media (max-width: 600px) {

    .tournament-admin-registration-link {
        grid-template-columns:
            34px
            minmax(0, 1fr);
    }

    .tournament-admin-registration-arrow {
        display: none;
    }

}



/* ==========================================================
   PATCH 25F1B - TOURNAMENT OPERATIONS AUTHORITY
   ========================================================== */

.operations-home-page {
    width: 100%;
    box-sizing: border-box;
    padding: 24px clamp(16px, 3vw, 34px) 48px;
}

.operations-home-hero {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 28px;
    padding: 28px 30px;
    margin-bottom: 20px;
    color: #fff;
    background:
        linear-gradient(
            135deg,
            #071A3D 0%,
            #0D3568 100%
        );
    border-radius: 12px;
    box-shadow:
        0 8px 28px rgba(7, 26, 61, 0.15);
}

.operations-home-hero > div:first-child {
    flex: 1 1 auto;
    min-width: 0;
}

.operations-home-kicker {
    display: block;
    margin-bottom: 7px;
    color: #BFD9F6;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.operations-home-hero h1 {
    margin: 0 0 9px;
    color: #fff;
    font-size: clamp(1.65rem, 3vw, 2.35rem);
}

.operations-home-hero p {
    max-width: 760px;
    margin: 0;
    color: #E2ECF8;
    line-height: 1.6;
}

.operations-home-state {
    flex: 0 0 210px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-content: center;
    gap: 10px 18px;
    padding: 18px 20px;
    background: rgba(255, 255, 255, 0.09);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 9px;
}

.operations-home-state span {
    color: #BDD0E7;
    font-size: 0.85rem;
}

.operations-home-state strong {
    color: #fff;
    text-align: right;
}

.operations-home-notice {
    margin: 0 0 20px;
    padding: 13px 16px;
    color: #154128;
    background: #E8F6ED;
    border: 1px solid #A9D6B8;
    border-radius: 8px;
    font-weight: 700;
}

.operations-home-actions {
    display: grid;
    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );
    gap: 14px;
    margin-bottom: 22px;
}

.operations-home-action {
    display: flex;
    flex-direction: column;
    min-height: 116px;
    padding: 17px 18px;
    color: #102A49 !important;
    text-decoration: none;
    background: #fff;
    border: 1px solid #CFDBE8;
    border-left: 4px solid #1F5C99;
    border-radius: 9px;
    box-shadow:
        0 3px 14px rgba(7, 26, 61, 0.06);
    transition:
        transform 0.12s ease,
        box-shadow 0.12s ease,
        border-color 0.12s ease;
}

.operations-home-action:hover {
    transform: translateY(-1px);
    border-color: #84A8CB;
    box-shadow:
        0 7px 19px rgba(7, 26, 61, 0.11);
}

.operations-home-action > span {
    margin-bottom: 7px;
    color: #51708E;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.operations-home-action > strong {
    margin-bottom: 5px;
    color: #0A2B54;
    font-size: 1.05rem;
}

.operations-home-action > small {
    margin-top: auto;
    color: #5F7183;
    line-height: 1.4;
}

.operations-qualification-overview {
    margin-bottom: 20px;
    border-left: 4px solid #1F5C99;
}

.operations-qualification-summary {
    display: grid;
    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );
    gap: 14px;
    margin: 18px 0;
}

.operations-qualification-summary article {
    display: grid;
    gap: 5px;
    padding: 17px 18px;
    background: #F4F8FC;
    border: 1px solid #D7E2ED;
    border-radius: 8px;
}

.operations-qualification-summary article > span {
    color: #59728D;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.operations-qualification-summary article > strong {
    color: #092D58;
    font-size: 1.08rem;
}

.operations-qualification-summary article > small {
    color: #5A6A7A;
}

.operations-split-heading {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #D7E2ED;
}

.operations-split-heading h3 {
    margin: 0 0 5px;
    color: #102A49;
}

.operations-split-action-grid {
    display: grid;
    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );
    gap: 14px;
    margin-top: 13px;
}

.operations-split-action-grid article {
    padding: 17px 18px;
    background: #fff;
    border: 1px solid #CFDBE8;
    border-radius: 8px;
}

.operations-split-action-grid article > span {
    display: block;
    margin-bottom: 5px;
    color: #56708A;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.operations-split-action-grid article > strong {
    display: block;
    margin-bottom: 14px;
    color: #102A49;
}

.operations-split-action-grid form {
    margin: 0;
}

.operations-split-locked {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 18px;
    padding: 14px 16px;
    color: #27415C;
    background: #EDF4FA;
    border: 1px solid #CADBEA;
    border-radius: 8px;
}

.admin-operations-handoff {
    border-left: 4px solid #1F5C99;
}

.admin-operations-handoff-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.admin-operations-handoff-main > div {
    min-width: 0;
}

.admin-operations-handoff-main span {
    display: block;
    margin-bottom: 5px;
    color: #56708A;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.admin-operations-handoff-main h2 {
    margin: 0 0 7px;
}

.admin-operations-handoff-main p {
    max-width: 780px;
    margin: 0;
}

.admin-operations-handoff > .muted {
    margin: 14px 0 0;
    padding-top: 13px;
    border-top: 1px solid #DCE5EE;
}

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

    .operations-home-hero {
        flex-direction: column;
    }

    .operations-home-state {
        flex-basis: auto;
    }
}

@media (max-width: 650px) {
    .operations-home-page {
        padding:
            16px
            12px
            36px;
    }

    .operations-home-hero {
        padding: 21px 18px;
    }

    .operations-home-actions,
    .operations-qualification-summary,
    .operations-split-action-grid {
        grid-template-columns: 1fr;
    }

    .admin-operations-handoff-main {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-operations-handoff-main .button {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
}


/* ==========================================================
   PATCH 25F1C - TOURNAMENT ADMIN LAYOUT
   ========================================================== */

/*
|--------------------------------------------------------------------------
| Compact shortcut grid
|--------------------------------------------------------------------------
*/

.tournament-admin-shortcuts {
    display: grid;

    grid-template-columns:
        repeat(
            5,
            minmax(0, 1fr)
        );

    gap: 9px;

    margin:
        0
        0
        18px;
}

.tournament-admin-shortcuts > a {
    display: grid;

    grid-template-columns:
        34px
        minmax(0, 1fr);

    align-items: center;

    gap: 9px;

    min-height: 62px;

    padding:
        9px
        11px;

    color:
        #163D2A !important;

    background:
        #fff;

    border:
        1px solid
        #C9D4CC;

    border-radius:
        8px;

    text-decoration:
        none !important;

    box-shadow:
        0 1px 3px
        rgba(
            20,
            59,
            39,
            .05
        );

    transition:
        border-color .15s ease,
        background .15s ease,
        transform .15s ease,
        box-shadow .15s ease;
}

.tournament-admin-shortcuts > a:hover {
    background:
        #F4F8F5;

    border-color:
        #8CAB97;

    transform:
        translateY(-1px);

    box-shadow:
        0 4px 10px
        rgba(
            20,
            59,
            39,
            .08
        );
}

.tournament-admin-shortcuts > a.is-external {
    border-left:
        3px solid
        #2A6795;
}

.tournament-admin-shortcuts > a.is-operations {
    color:
        #0B2F52 !important;

    background:
        #F0F6FB;

    border-color:
        #A9C5D9;

    border-left:
        3px solid
        #185D91;
}

.tournament-admin-shortcuts > a.is-operations:hover {
    background:
        #E5F0F8;
}

.admin-shortcut-icon {
    display: grid;

    place-items: center;

    width: 30px;
    height: 30px;

    color:
        #fff;

    background:
        #245B3A;

    border-radius:
        50%;

    font-size:
        .72rem;

    font-weight:
        900;
}

.is-external
.admin-shortcut-icon,
.is-operations
.admin-shortcut-icon {
    background:
        #24658D;
}

.tournament-admin-shortcuts
a > span:last-child {
    min-width: 0;
}

.tournament-admin-shortcuts strong {
    display: block;

    color:
        inherit;

    font-size:
        .78rem;

    line-height:
        1.2;
}

.tournament-admin-shortcuts small {
    display: block;

    overflow: hidden;

    margin-top:
        2px;

    color:
        #708079;

    font-size:
        .61rem;

    line-height:
        1.2;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}


/*
|--------------------------------------------------------------------------
| Logical collapsible Admin workflow
|--------------------------------------------------------------------------
*/

.tournament-admin-sections {
    display: grid;

    gap: 11px;
}

.admin-config-section {
    overflow: hidden;

    margin: 0;

    background:
        #fff;

    border:
        1px solid
        #CDD6D0;

    border-radius:
        10px;

    box-shadow:
        0 2px 7px
        rgba(
            20,
            59,
            39,
            .045
        );

    scroll-margin-top:
        92px;
}

.admin-config-section > summary {
    display: grid;

    grid-template-columns:
        36px
        minmax(0, 1fr)
        28px;

    align-items: center;

    gap: 11px;

    min-height:
        62px;

    padding:
        10px
        14px;

    color:
        #173B28;

    background:
        #F7F9F7;

    cursor:
        pointer;

    list-style:
        none;

    user-select:
        none;
}

.admin-config-section > summary::-webkit-details-marker {
    display: none;
}

.admin-config-section > summary:hover {
    background:
        #EFF5F1;
}

.admin-config-section[open] > summary {
    background:
        #EEF5F0;

    border-bottom:
        1px solid
        #D6DFD8;
}

.admin-config-number {
    display: grid;

    place-items: center;

    width: 31px;
    height: 31px;

    color:
        #fff;

    background:
        #1D5736;

    border-radius:
        7px;

    font-size:
        .67rem;

    font-weight:
        900;

    letter-spacing:
        .03em;
}

.admin-config-summary-copy {
    min-width: 0;
}

.admin-config-summary-copy strong {
    display: block;

    color:
        #173B28;

    font-size:
        .9rem;
}

.admin-config-summary-copy small {
    display: block;

    margin-top:
        2px;

    color:
        #718078;

    font-size:
        .67rem;

    font-weight:
        500;
}

.admin-config-chevron {
    display: grid;

    place-items: center;

    width: 26px;
    height: 26px;

    color:
        #326148;

    font-size:
        1.35rem;

    font-weight:
        900;

    transform:
        rotate(
            0deg
        );

    transition:
        transform .15s ease;
}

.admin-config-section[open]
.admin-config-chevron {
    transform:
        rotate(
            90deg
        );
}

.admin-config-section-body {
    padding:
        14px;

    background:
        #F8FAF8;
}

.admin-config-section-body
> .card {
    margin:
        0;
}

.admin-config-section-body
> .card
+ .card {
    margin-top:
        14px;
}


/*
|--------------------------------------------------------------------------
| Existing Admin cards inside collapsible sections
|--------------------------------------------------------------------------
*/

#tournament-settings-panel,
#competition-setup-panel,
#entries-panel {
    border-color:
        #D8E0DA;

    box-shadow:
        none;
}

#tournament-settings-panel h2,
#competition-setup-panel h2,
#entries-panel h2 {
    color:
        #173B28;
}


/*
|--------------------------------------------------------------------------
| Entry administration
|--------------------------------------------------------------------------
*/

.admin-entry-workflow-links {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom:
        14px;

    padding:
        14px
        16px;

    color:
        #173B28;

    background:
        #EFF5F1;

    border:
        1px solid
        #CADBCF;

    border-left:
        4px solid
        #246540;

    border-radius:
        8px;
}

.admin-entry-workflow-links
> div:first-child {
    min-width: 0;
}

.admin-entry-workflow-links
strong {
    display: block;

    margin-bottom:
        3px;

    color:
        #173B28;
}

.admin-entry-workflow-links
span {
    color:
        #65736B;

    font-size:
        .77rem;

    line-height:
        1.45;
}

.admin-entry-workflow-actions {
    display: flex;

    flex:
        0 0 auto;

    gap: 8px;

    align-items:
        center;
}

.admin-entry-hcp-divider {
    display: flex;

    flex-direction: column;

    gap: 2px;

    margin:
        19px
        0
        10px;

    padding-top:
        17px;

    border-top:
        2px solid
        #D7E1DA;
}

.admin-entry-hcp-divider span {
    color:
        #718078;

    font-size:
        .66rem;

    font-weight:
        800;

    letter-spacing:
        .07em;

    text-transform:
        uppercase;
}

.admin-entry-hcp-divider strong {
    color:
        #173B28;

    font-size:
        1rem;
}


/*
|--------------------------------------------------------------------------
| Competition Seeds
|--------------------------------------------------------------------------
*/

.admin-seed-section {
    display: grid;

    gap: 13px;
}

.admin-seed-section
.entries-seed-toolbar {
    margin: 0;
}

.admin-seed-note {
    padding:
        10px
        12px;

    color:
        #56665D;

    background:
        #F3F7F4;

    border:
        1px solid
        #D7E0D9;

    border-radius:
        7px;

    font-size:
        .75rem;

    line-height:
        1.45;
}

.admin-seed-note strong {
    color:
        #244833;
}

.admin-seed-groups {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap: 13px;
}

.admin-seed-group {
    overflow: hidden;

    background:
        #fff;

    border:
        1px solid
        #D6DED8;

    border-radius:
        8px;
}

.admin-seed-group-heading {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 12px;

    padding:
        10px
        12px;

    background:
        #EEF4F0;

    border-bottom:
        1px solid
        #D6DED8;
}

.admin-seed-group-heading strong {
    color:
        #183D29;

    font-size:
        .8rem;
}

.admin-seed-group-heading span {
    color:
        #718078;

    font-size:
        .66rem;

    font-weight:
        700;
}

.admin-seed-table {
    margin:
        0;
}

.admin-seed-table th,
.admin-seed-table td {
    padding:
        8px
        10px;
}

.admin-seed-number-cell {
    width:
        58px;
}

.admin-seed-number {
    display: grid;

    place-items: center;

    width: 29px;
    height: 29px;

    color:
        #fff;

    background:
        #1D5736;

    border-radius:
        50%;

    font-size:
        .72rem;

    font-weight:
        900;
}


/*
|--------------------------------------------------------------------------
| Tournament handicap lock date
|--------------------------------------------------------------------------
*/

.handicap-lock-status {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 18px;

    margin:
        14px
        0;

    padding:
        12px
        14px;

    background:
        #F2F6F3;

    border:
        1px solid
        #D3DDD6;

    border-left:
        4px solid
        #7E9988;

    border-radius:
        8px;
}

.handicap-lock-status.is-scheduled {
    background:
        #F3F8FC;

    border-color:
        #BDD0E0;

    border-left-color:
        #2D6C99;
}

.handicap-lock-status.is-locked {
    background:
        #F7F1E6;

    border-color:
        #DFCDA3;

    border-left-color:
        #9A6B16;
}

.handicap-lock-copy {
    min-width: 0;
}

.handicap-lock-copy > span {
    display: block;

    margin-bottom:
        2px;

    color:
        #6A786F;

    font-size:
        .65rem;

    font-weight:
        900;

    letter-spacing:
        .07em;

    text-transform:
        uppercase;
}

.handicap-lock-copy > strong {
    display: block;

    color:
        #183D29;

    font-size:
        .92rem;
}

.handicap-lock-copy > small {
    display: block;

    margin-top:
        3px;

    color:
        #69766F;

    font-size:
        .7rem;
}

.handicap-lock-badge {
    flex:
        0 0 auto;

    padding:
        5px
        9px;

    border-radius:
        999px;

    font-size:
        .65rem;

    font-weight:
        900;

    white-space:
        nowrap;
}

.handicap-lock-badge.not-scheduled {
    color:
        #55645B;

    background:
        #E4EAE6;
}

.handicap-lock-badge.scheduled {
    color:
        #215778;

    background:
        #DCEAF4;
}

.handicap-lock-badge.locked {
    color:
        #73500E;

    background:
        #EDDFBC;
}


/*
|--------------------------------------------------------------------------
| Prevent nested admin sections becoming visually enormous
|--------------------------------------------------------------------------
*/

.admin-config-section-body
.handicap-resolution-card,
.admin-config-section-body
.publication-status-card,
.admin-config-section-body
.tournament-control-card {
    box-shadow:
        none;
}


/*
|--------------------------------------------------------------------------
| Responsive layout
|--------------------------------------------------------------------------
*/

@media (max-width: 1050px) {

    .tournament-admin-shortcuts {
        grid-template-columns:
            repeat(
                3,
                minmax(
                    0,
                    1fr
                )
            );
    }

}

@media (max-width: 780px) {

    .admin-seed-groups {
        grid-template-columns:
            1fr;
    }

    .admin-entry-workflow-links {
        align-items:
            stretch;

        flex-direction:
            column;
    }

    .admin-entry-workflow-actions {
        width:
            100%;
    }

    .admin-entry-workflow-actions
    .button {
        flex:
            1;

        text-align:
            center;
    }

}

@media (max-width: 620px) {

    .tournament-admin-shortcuts {
        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );
    }

    .tournament-admin-shortcuts > a {
        min-height:
            58px;
    }

    .tournament-admin-shortcuts small {
        display:
            none;
    }

    .admin-config-section > summary {
        grid-template-columns:
            32px
            minmax(
                0,
                1fr
            )
            24px;

        padding:
            9px
            10px;
    }

    .admin-config-number {
        width:
            29px;

        height:
            29px;
    }

    .admin-config-summary-copy small {
        font-size:
            .62rem;
    }

    .admin-config-section-body {
        padding:
            9px;
    }

    .admin-entry-workflow-actions {
        flex-direction:
            column;
    }

    .admin-entry-workflow-actions
    .button {
        width:
            100%;
    }

    .handicap-lock-status {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

}



/* ==========================================================
   PATCH 25F1C2 - COMPETITION FIELD REVIEW
   ========================================================== */

.competition-field-review {
    margin:
        14px
        0
        20px;

    padding:
        15px;

    background:
        #F6F9F7;

    border:
        1px solid
        #D1DDD4;

    border-radius:
        9px;
}

.competition-field-review-heading {
    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 22px;

    margin-bottom:
        14px;
}

.competition-field-review-heading
> div:first-child {
    min-width:
        0;
}

.competition-field-review-heading
> div:first-child
> span {
    display: block;

    margin-bottom:
        3px;

    color:
        #6B7D71;

    font-size:
        .67rem;

    font-weight:
        900;

    letter-spacing:
        .07em;

    text-transform:
        uppercase;
}

.competition-field-review-heading
> div:first-child
> strong {
    display: block;

    color:
        #173B28;

    font-size:
        1rem;
}

.competition-field-review-heading p {
    max-width:
        760px;

    margin:
        4px
        0
        0;

    color:
        #67756C;

    font-size:
        .76rem;

    line-height:
        1.45;
}

.competition-field-review-total {
    display: flex;

    flex:
        0 0 auto;

    flex-direction:
        column;

    align-items:
        center;

    min-width:
        92px;

    padding:
        9px
        13px;

    background:
        #fff;

    border:
        1px solid
        #CBD8CF;

    border-radius:
        8px;
}

.competition-field-review-total span {
    color:
        #708078;

    font-size:
        .62rem;

    font-weight:
        800;

    text-transform:
        uppercase;
}

.competition-field-review-total strong {
    margin-top:
        2px;

    color:
        #173B28;

    font-size:
        1.4rem;
}

.competition-field-review-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap:
        12px;
}

.competition-field-review-card {
    overflow: hidden;

    background:
        #fff;

    border:
        1px solid
        #D2DCD5;

    border-left:
        4px solid
        #819487;

    border-radius:
        8px;
}

.competition-field-review-card.good {
    border-left-color:
        #2C7A48;
}

.competition-field-review-card.warning {
    border-left-color:
        #B27418;
}

.competition-field-review-card.neutral {
    border-left-color:
        #829087;
}

.competition-field-review-card > header {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap:
        12px;

    padding:
        12px
        13px;

    background:
        #F7F9F7;

    border-bottom:
        1px solid
        #DDE5DF;
}

.competition-field-review-card
> header
> div
> span {
    display: block;

    color:
        #6D7C73;

    font-size:
        .66rem;

    font-weight:
        800;

    text-transform:
        uppercase;

    letter-spacing:
        .04em;
}

.competition-field-review-card
> header
> div
> strong {
    display: block;

    margin-top:
        2px;

    color:
        #183D29;

    font-size:
        .96rem;
}

.competition-field-status {
    flex:
        0 0 auto;

    padding:
        5px
        9px;

    border-radius:
        999px;

    font-size:
        .63rem;

    font-weight:
        900;

    white-space:
        nowrap;
}

.competition-field-status.good {
    color:
        #1F6137;

    background:
        #DDEEE2;
}

.competition-field-status.warning {
    color:
        #774D0C;

    background:
        #F4E4C1;
}

.competition-field-status.neutral {
    color:
        #56645B;

    background:
        #E5EAE7;
}

.competition-field-metrics {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            1fr
        );

    border-bottom:
        1px solid
        #E0E6E2;
}

.competition-field-metrics > div {
    display: flex;

    flex-direction:
        column;

    align-items:
        center;

    padding:
        10px
        8px;

    border-right:
        1px solid
        #E0E6E2;
}

.competition-field-metrics > div:last-child {
    border-right:
        0;
}

.competition-field-metrics span {
    color:
        #77847C;

    font-size:
        .6rem;

    font-weight:
        800;

    text-transform:
        uppercase;
}

.competition-field-metrics strong {
    margin-top:
        2px;

    color:
        #173B28;

    font-size:
        1.08rem;
}

.competition-field-divisions {
    padding:
        10px
        12px;
}

.competition-field-subheading {
    margin-bottom:
        5px;

    color:
        #76837B;

    font-size:
        .62rem;

    font-weight:
        900;

    letter-spacing:
        .05em;

    text-transform:
        uppercase;
}

.competition-field-division-row {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap:
        12px;

    padding:
        5px
        0;

    border-bottom:
        1px solid
        #EDF1EE;

    color:
        #32493A;

    font-size:
        .73rem;
}

.competition-field-division-row:last-child {
    border-bottom:
        0;
}

.competition-field-division-row span {
    min-width:
        0;
}

.competition-field-division-row strong {
    flex:
        0 0 auto;

    color:
        #173B28;

    font-size:
        .69rem;

    white-space:
        nowrap;
}

.competition-field-empty {
    padding:
        6px
        0;

    color:
        #87928B;

    font-size:
        .73rem;
}

.competition-field-warnings {
    display: grid;

    gap:
        6px;

    padding:
        0
        12px
        12px;
}

.competition-field-warning {
    padding:
        8px
        9px;

    color:
        #73501A;

    background:
        #FFF6E3;

    border:
        1px solid
        #E8D19F;

    border-radius:
        6px;

    font-size:
        .69rem;

    line-height:
        1.4;
}

.competition-field-ready {
    margin:
        0
        12px
        12px;

    padding:
        8px
        9px;

    color:
        #215E36;

    background:
        #EAF5ED;

    border:
        1px solid
        #C2DDC9;

    border-radius:
        6px;

    font-size:
        .69rem;

    font-weight:
        700;
}

@media (max-width: 800px) {

    .competition-field-review-grid {
        grid-template-columns:
            1fr;
    }

}

@media (max-width: 600px) {

    .competition-field-review-heading {
        flex-direction:
            column;
    }

    .competition-field-review-total {
        width:
            100%;

        flex-direction:
            row;

        justify-content:
            space-between;
    }

}



/* ==========================================================
   PATCH 25F1C4A - MANUAL TEE ADJUSTMENT LAYOUT
   ========================================================== */

/*
 * Manual tee cards need enough width for:
 *
 *   Date | Time | Tee
 *
 * Four narrow cards across caused the tee selector to overflow
 * outside the card. Allow the grid to choose the number of
 * columns according to the available width.
 */

.tee-manual-page .manual-group-grid {
    display: grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(
                360px,
                1fr
            )
        );

    gap:
        14px;
}

.tee-manual-page .manual-group-card {
    min-width:
        0;

    width:
        100%;

    box-sizing:
        border-box;
}


/*
 * Keep all three schedule controls inside the card.
 */

.tee-manual-page .manual-group-fields {
    display: grid;

    grid-template-columns:
        minmax(
            0,
            1.3fr
        )
        minmax(
            0,
            .9fr
        )
        minmax(
            0,
            .65fr
        );

    gap:
        8px;

    align-items:
        center;

    width:
        100%;

    box-sizing:
        border-box;
}

.tee-manual-page .manual-group-fields input,
.tee-manual-page .manual-group-fields select {
    display:
        block;

    width:
        100%;

    max-width:
        100%;

    min-width:
        0;

    box-sizing:
        border-box;
}


/*
 * On a narrow phone/tablet card, stack the controls rather than
 * letting native date/time controls force horizontal overflow.
 */

@media (max-width: 520px) {

    .tee-manual-page .manual-group-grid {
        grid-template-columns:
            minmax(
                0,
                1fr
            );
    }

    .tee-manual-page .manual-group-fields {
        grid-template-columns:
            minmax(
                0,
                1fr
            );
    }

}



/* ==========================================================
   PATCH 25F1E - OPERATIONS HOME LAYOUT BASELINE
   ========================================================== */

/*
 * Results & Scores is the reference Operations layout.
 *
 * The shared layouts.operations file owns:
 *
 *   Main Nav
 *   Tournament Operations Nav
 *   Page Heading
 *
 * Operations Home must begin directly inside the same
 * 1280px content workspace.
 */

.operations-layout-main
.operations-home-page {
    width:
        100%;

    max-width:
        none !important;

    margin:
        0 !important;

    padding:
        0 0 35px !important;

    box-sizing:
        border-box;
}


/*
 * Compact operational state instead of a second page hero.
 */

.operations-home-statusbar {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    margin:
        0 0 16px;

    padding:
        13px 16px;

    color:
        #203B59;

    background:
        #FFFFFF;

    border:
        1px solid
        #CAD7E6;

    border-left:
        4px solid
        #285D8A;

    border-radius:
        8px;

    box-sizing:
        border-box;
}

.operations-home-status-copy {
    min-width:
        0;
}

.operations-home-status-copy strong {
    display:
        block;

    margin-bottom:
        3px;

    color:
        #071A3D;

    font-size:
        .82rem;
}

.operations-home-status-copy span {
    display:
        block;

    color:
        #68798C;

    font-size:
        .68rem;

    line-height:
        1.4;
}

.operations-home-status-items {
    display:
        flex;

    flex:
        0 0 auto;

    gap:
        8px;
}

.operations-home-status-items > div {
    display:
        grid;

    grid-template-columns:
        auto auto;

    align-items:
        center;

    gap:
        6px 10px;

    min-width:
        145px;

    padding:
        8px 10px;

    background:
        #F4F7FB;

    border:
        1px solid
        #D5DFEA;

    border-radius:
        6px;
}

.operations-home-status-items span {
    color:
        #60758B;

    font-size:
        .62rem;

    font-weight:
        800;
}

.operations-home-status-items strong {
    color:
        #173E67;

    font-size:
        .72rem;

    text-align:
        right;
}


/*
 * Retire the old Home-only second hero visually even if
 * an older cached template somehow contains it.
 */

.operations-layout-body
.operations-home-hero {
    display:
        none !important;
}


/*
 * Home cards now use the same horizontal workspace as the
 * other Operations pages.
 */

.operations-home-actions,
.operations-qualification-overview,
.operations-home-page > .card,
.operations-home-page > .admin-competition-review {
    width:
        100%;

    max-width:
        none;

    box-sizing:
        border-box;
}


@media (max-width: 800px) {

    .operations-home-statusbar {
        align-items:
            stretch;

        flex-direction:
            column;
    }

    .operations-home-status-items {
        width:
            100%;
    }

    .operations-home-status-items > div {
        flex:
            1;
    }

}


@media (max-width: 560px) {

    .operations-home-status-items {
        flex-direction:
            column;
    }

    .operations-home-status-items > div {
        width:
            100%;

        box-sizing:
            border-box;
    }

}



/* ==========================================================
   PATCH 25F1E2 - CLUBHOUSE NEXT UP
   ========================================================== */

.clubhouse-next-up-section {
    margin:
        0
        0
        18px;
}

.clubhouse-next-up-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(
                320px,
                1fr
            )
        );

    gap:
        12px;
}

.clubhouse-next-up-card {
    display:
        grid;

    grid-template-columns:
        86px
        minmax(
            0,
            1fr
        );

    overflow:
        hidden;

    min-height:
        108px;

    color:
        #FFFFFF;

    background:
        #0A2C58;

    border:
        1px solid
        #173F6E;

    border-radius:
        10px;

    box-shadow:
        0 4px 12px
        rgba(
            3,
            25,
            52,
            .12
        );
}

.clubhouse-next-up-tee {
    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    padding:
        12px;

    background:
        #061F43;

    color:
        #FFFFFF;

    font-size:
        .72rem;

    font-weight:
        800;

    text-transform:
        uppercase;
}

.clubhouse-next-up-tee strong {
    display:
        block;

    margin-top:
        2px;

    color:
        #FFFFFF;

    font-size:
        1.55rem;
}

.clubhouse-next-up-main {
    min-width:
        0;

    padding:
        13px
        15px;
}

.clubhouse-next-up-topline {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        12px;
}

.clubhouse-next-up-time {
    color:
        #FFD95D;

    font-size:
        1.1rem;
}

.clubhouse-next-up-status {
    flex:
        0 0 auto;

    padding:
        4px
        8px;

    border-radius:
        999px;

    font-size:
        .62rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.clubhouse-next-up-status.status-scheduled {
    color:
        #5B4711;

    background:
        #F7DD80;
}

.clubhouse-next-up-status.status-called {
    color:
        #6C5000;

    background:
        #FFE18B;
}

.clubhouse-next-up-status.status-on_tee {
    color:
        #0A4C78;

    background:
        #CFEAFB;
}

.clubhouse-next-up-main h3 {
    margin:
        6px
        0
        3px;

    color:
        #FFFFFF;

    font-size:
        .96rem;
}

.clubhouse-next-up-main p {
    margin:
        0;

    color:
        #C9D7E8;

    font-size:
        .74rem;

    line-height:
        1.4;
}

@media (max-width: 700px) {

    .clubhouse-next-up-grid {
        grid-template-columns:
            1fr;
    }

}



/* ==========================================================
   PATCH 25F1E3 - QUALIFICATION SCORE CORRECTION
   ========================================================== */

.qualification-score-value {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        8px;

    min-width:
        0;
}

.qualification-score-value > strong {
    font-variant-numeric:
        tabular-nums;
}

.qualification-score-edit {
    flex:
        0 0 auto;

    padding:
        4px 8px;

    color:
        #204E78;

    background:
        #EEF4FA;

    border:
        1px solid
        #BFCFDF;

    border-radius:
        5px;

    font-size:
        .65rem;

    font-weight:
        800;

    cursor:
        pointer;
}

.qualification-score-edit:hover {
    color:
        #FFFFFF;

    background:
        #285D8A;

    border-color:
        #285D8A;
}



/* ==========================================================
   PATCH 25F1F - SEPARATE QUALIFICATION MANAGEMENT
   ========================================================== */

.qualification-management-page {
    display:
        grid;

    gap:
        18px;
}

.qualification-management-intro {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;
}

.qualification-management-intro h2 {
    margin:
        0 0 5px;
}

.qualification-management-intro p {
    margin:
        0;

    max-width:
        760px;
}

.qualification-management-section {
    display:
        grid;

    gap:
        16px;
}

.qualification-management-section.is-locked {
    border-color:
        #A9C8B3;
}

.qualification-management-heading {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        20px;
}

.qualification-management-heading h2 {
    margin:
        3px 0 4px;
}

.qualification-management-heading p {
    margin:
        0;

    max-width:
        780px;

    color:
        #68798C;
}

.qualification-management-kicker {
    color:
        #285D8A;

    font-size:
        .66rem;

    font-weight:
        900;

    letter-spacing:
        .08em;
}

.qualification-management-state {
    flex:
        0 0 auto;

    padding:
        6px 10px;

    color:
        #705511;

    background:
        #FFF4C8;

    border:
        1px solid
        #E9D78B;

    border-radius:
        999px;

    font-size:
        .68rem;

    font-weight:
        900;
}

.qualification-management-state.locked {
    color:
        #1E5C35;

    background:
        #E6F4EA;

    border-color:
        #B5D9C0;
}

.qualification-management-summary {
    display:
        grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(
                135px,
                1fr
            )
        );

    gap:
        8px;
}

.qualification-management-summary article {
    padding:
        10px 12px;

    background:
        #F6F8FB;

    border:
        1px solid
        #DCE3EB;

    border-radius:
        7px;
}

.qualification-management-summary span {
    display:
        block;

    margin-bottom:
        3px;

    color:
        #65778A;

    font-size:
        .65rem;

    font-weight:
        800;
}

.qualification-management-summary strong {
    color:
        #173E67;

    font-size:
        .92rem;
}

.qualification-management-table-wrap {
    overflow-x:
        auto;
}

.qualification-management-table {
    width:
        100%;

    border-collapse:
        collapse;
}

.qualification-management-table th,
.qualification-management-table td {
    padding:
        8px 10px;

    border-bottom:
        1px solid
        #E0E6EC;

    text-align:
        left;

    vertical-align:
        middle;
}

.qualification-management-table th {
    color:
        #52677C;

    background:
        #F4F7FA;

    font-size:
        .66rem;

    text-transform:
        uppercase;
}

.qualification-management-table
tr.qualification-tie-unresolved {
    background:
        #FFF4D4;
}

.qualification-management-table
tr.qualification-tie-resolved {
    background:
        #F0F8F2;
}

.qualification-position {
    width:
        62px;

    font-variant-numeric:
        tabular-nums;
}

.qualification-tie-badge {
    display:
        inline-block;

    padding:
        3px 6px;

    color:
        #7A4C00;

    background:
        #FFD985;

    border-radius:
        999px;

    font-size:
        .6rem;

    font-weight:
        900;
}

.qualification-tie-badge.resolved {
    color:
        #205A35;

    background:
        #DDEFE2;
}

.qualification-tie-management {
    display:
        grid;

    gap:
        9px;

    padding-top:
        4px;
}

.qualification-tie-group {
    display:
        grid;

    grid-template-columns:
        minmax(
            0,
            1fr
        )
        auto;

    gap:
        15px;

    align-items:
        center;

    padding:
        12px;

    border:
        1px solid
        #E0C46C;

    border-radius:
        8px;

    background:
        #FFF8DE;
}

.qualification-tie-group.resolved {
    border-color:
        #BBD8C3;

    background:
        #F0F8F2;
}

.qualification-tie-group > div > span {
    display:
        block;

    margin-top:
        3px;

    color:
        #65778A;

    font-size:
        .74rem;
}

.qualification-tie-saved {
    color:
        #27653D;

    font-size:
        .7rem;

    font-weight:
        900;
}

.qualification-tie-form {
    display:
        flex;

    align-items:
        end;

    gap:
        8px;
}

.qualification-tie-form label {
    min-width:
        230px;
}

.qualification-tie-form label span,
.qualification-allocation-move label span {
    display:
        block;

    margin-bottom:
        3px;

    font-size:
        .64rem;

    font-weight:
        800;
}

.qualification-no-ties {
    padding:
        10px 12px;

    color:
        #316443;

    background:
        #F0F8F2;

    border:
        1px solid
        #C4DDCB;

    border-radius:
        7px;

    font-size:
        .75rem;
}

.qualification-management-actions {
    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        10px;

    padding-top:
        4px;
}

.qualification-action-message {
    display:
        grid;

    gap:
        2px;

    width:
        100%;

    padding:
        10px 12px;

    color:
        #485E73;

    background:
        #F5F7FA;

    border:
        1px solid
        #D9E0E8;

    border-radius:
        7px;
}

.qualification-action-message.warning {
    color:
        #74520C;

    background:
        #FFF8DE;

    border-color:
        #E8D084;
}

.qualification-action-message span {
    font-size:
        .73rem;
}

.qualification-allocation-move {
    margin-top:
        4px;
}

.qualification-allocation-move summary {
    color:
        #285D8A;

    cursor:
        pointer;

    font-size:
        .66rem;

    font-weight:
        800;
}

.qualification-allocation-move form {
    display:
        grid;

    gap:
        7px;

    min-width:
        245px;

    margin-top:
        7px;

    padding:
        9px;

    background:
        #F5F8FB;

    border:
        1px solid
        #D9E2EB;

    border-radius:
        6px;
}

.qualification-unlock {
    width:
        100%;
}

.qualification-unlock summary {
    cursor:
        pointer;

    color:
        #8A5A12;

    font-weight:
        800;
}

.qualification-unlock form {
    display:
        grid;

    gap:
        9px;

    max-width:
        620px;

    margin-top:
        10px;
}

@media (max-width: 760px) {

    .qualification-management-intro,
    .qualification-management-heading {
        flex-direction:
            column;

        align-items:
            stretch;
    }

    .qualification-tie-group {
        grid-template-columns:
            1fr;
    }

    .qualification-tie-form {
        align-items:
            stretch;

        flex-direction:
            column;
    }

    .qualification-tie-form label {
        min-width:
            0;
    }

}



/* ==========================================================
   PATCH 25F1F2A - DRAW READINESS AND ALLOCATION SUMMARY
   ========================================================== */

.draw-readiness-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.draw-readiness-card {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid #D5DEE8;
    border-radius: 9px;
    background: #F8FAFC;
}

.draw-readiness-card.ready {
    border-color: #B7D5C1;
    background: #F3FAF5;
}

.draw-readiness-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.draw-readiness-heading span {
    display: block;
    color: #315F89;
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .06em;
}

.draw-readiness-heading h3 {
    margin: 3px 0 0;
}

.draw-readiness-heading > strong {
    padding: 4px 7px;
    border-radius: 999px;
    color: #76570F;
    background: #F5E8B9;
    font-size: .6rem;
}

.draw-readiness-card.ready
.draw-readiness-heading > strong {
    color: #225F39;
    background: #DDEEE2;
}

.draw-readiness-divisions {
    display: grid;
    gap: 6px;
}

.draw-readiness-divisions > div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 9px;
    background: #FFFFFF;
    border: 1px solid #E0E6EC;
    border-radius: 6px;
    font-size: .72rem;
}

.draw-publish-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #DFE5EB;
}

.draw-publish-row > div {
    display: grid;
    gap: 2px;
}

.draw-publish-row span {
    color: #697B8E;
    font-size: .7rem;
}

.draw-division-card.draw-division-waiting {
    opacity: .72;
}

.qualification-division-review {
    display: grid;
    gap: 10px;
    padding: 12px;
    background: #F7F9FC;
    border: 1px solid #DCE4EC;
    border-radius: 8px;
}

.qualification-division-review-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.qualification-division-review-heading h3 {
    margin: 0 0 3px;
}

.qualification-division-review-heading p {
    margin: 0;
    color: #697B8E;
    font-size: .72rem;
}

.qualification-division-review-heading > strong {
    color: #234F78;
    font-size: .72rem;
}

.qualification-division-grid {
    display: grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(245px, 1fr)
        );
    gap: 9px;
}

.qualification-division-card {
    overflow: hidden;
    background: #FFFFFF;
    border: 1px solid #D8E1EA;
    border-radius: 7px;
}

.qualification-division-card header {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 10px;
    border-bottom: 1px solid #E5EAF0;
}

.qualification-division-card header > span {
    color: #234F78;
    font-size: .72rem;
    font-weight: 800;
}

.qualification-division-players {
    display: grid;
    padding: 4px 10px 8px;
}

.qualification-division-players > div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 5px 0;
    border-bottom: 1px solid #EEF1F4;
    font-size: .69rem;
}

.qualification-division-players > div:last-child {
    border-bottom: 0;
}

.qualification-division-players small {
    color: #778699;
    font-size: .59rem;
    white-space: nowrap;
}

@media (max-width: 760px) {

    .draw-readiness-grid {
        grid-template-columns: 1fr;
    }

    .draw-publish-row,
    .qualification-division-review-heading {
        flex-direction: column;
        align-items: stretch;
    }

}



/* ==========================================================
   PATCH 25F1G - PRE-SCHEDULED COMPETITION FRAMEWORK
   ========================================================== */

.draw-framework-stats {
    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );

    gap:
        7px;
}

.draw-framework-stats > div {
    display:
        grid;

    gap:
        2px;

    padding:
        8px;

    background:
        #FFFFFF;

    border:
        1px solid
        #E0E6EC;

    border-radius:
        6px;
}

.draw-framework-stats span {
    color:
        #748497;

    font-size:
        .6rem;
}

.draw-framework-stats strong {
    color:
        #234F78;

    font-size:
        .72rem;
}

.draw-framework-note {
    padding:
        9px 10px;

    color:
        #645521;

    background:
        #FFF8DD;

    border:
        1px solid
        #E6D28C;

    border-radius:
        6px;

    font-size:
        .7rem;
}

.draw-framework-note.success {
    color:
        #285D3A;

    background:
        #EFF8F2;

    border-color:
        #BEDCC6;
}

@media (max-width: 640px) {

    .draw-framework-stats {
        grid-template-columns:
            1fr;
    }

}



/* ==========================================================
   PATCH 25F1G3 - COMPLETED GOLF STATUS
   ========================================================== */

.starter-status-complete {
    border-color:
        #B9D8C2;
}

.starter-status-badge.status-complete {
    color:
        #205B37;

    background:
        #DFF1E4;

    border-color:
        #B6D9C0;
}

.starter-summary-card.complete {
    border-color:
        #B9D8C2;

    background:
        #F0F8F2;
}

.starter-summary-card.complete strong {
    color:
        #205B37;
}



/* ==========================================================
   PATCH 25F1G5 - STAGED MANUAL SCHEDULE
   ========================================================== */

.manual-batch-toolbar {
    position:
        sticky;

    top:
        8px;

    z-index:
        20;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        14px;

    margin:
        14px 0;

    padding:
        12px 14px;

    background:
        rgba(
            255,
            255,
            255,
            .96
        );

    border:
        1px solid
        #D7E0E8;

    border-radius:
        8px;

    box-shadow:
        0 4px 14px
        rgba(
            25,
            50,
            75,
            .08
        );
}

.manual-batch-toolbar.bottom {
    position:
        static;
}

.manual-batch-toolbar > div:first-child {
    display:
        grid;

    gap:
        2px;
}

.manual-batch-toolbar span {
    color:
        #65778A;

    font-size:
        .76rem;
}

.manual-batch-actions {
    display:
        flex;

    gap:
        8px;

    flex-wrap:
        wrap;
}

.manual-day-card {
    margin-bottom:
        16px;
}

.manual-day-heading {
    display:
        flex;

    justify-content:
        space-between;

    align-items:
        end;

    gap:
        12px;

    margin-bottom:
        12px;
}

.manual-day-heading span {
    color:
        #7B8C9E;

    font-size:
        .68rem;

    text-transform:
        uppercase;

    letter-spacing:
        .06em;
}

.manual-day-heading h2 {
    margin:
        2px 0 0;
}

.manual-day-heading > strong {
    color:
        #48637B;

    font-size:
        .76rem;
}

.manual-day-schedule {
    display:
        grid;

    gap:
        9px;
}

.manual-schedule-item {
    display:
        grid;

    grid-template-columns:
        minmax(
            0,
            1fr
        )
        minmax(
            330px,
            .72fr
        );

    gap:
        14px;

    padding:
        12px;

    background:
        #FFFFFF;

    border:
        1px solid
        #DDE5EC;

    border-radius:
        8px;

    transition:
        border-color .16s ease,
        box-shadow .16s ease,
        background .16s ease;
}

.manual-schedule-item.is-dirty {
    border-color:
        #D6A92B;

    background:
        #FFFDF5;

    box-shadow:
        inset 3px 0 0
        #D6A92B;
}

.manual-schedule-item.has-clash {
    border-color:
        #C94D4D;

    background:
        #FFF7F7;

    box-shadow:
        inset 4px 0 0
        #C94D4D;
}

.manual-schedule-type-row {
    display:
        flex;

    align-items:
        center;

    gap:
        6px;

    flex-wrap:
        wrap;

    margin-bottom:
        5px;
}

.manual-schedule-type,
.manual-tba-badge,
.manual-unsaved-badge {
    display:
        inline-flex;

    align-items:
        center;

    min-height:
        21px;

    padding:
        2px 7px;

    border-radius:
        999px;

    font-size:
        .61rem;

    font-weight:
        700;

    text-transform:
        uppercase;

    letter-spacing:
        .04em;
}

.manual-schedule-type {
    color:
        #385A76;

    background:
        #EAF1F7;
}

.manual-schedule-type.match-play {
    color:
        #51417D;

    background:
        #EEEAF8;
}

.manual-schedule-type.stableford {
    color:
        #27613B;

    background:
        #E8F4EB;
}

.manual-tba-badge {
    color:
        #6F5B1F;

    background:
        #FFF1C7;
}

.manual-unsaved-badge {
    color:
        #704F00;

    background:
        #FFE49A;
}

.manual-schedule-item h3 {
    margin:
        0 0 7px;

    color:
        #244A6D;

    font-size:
        .88rem;
}

.manual-schedule-players {
    display:
        grid;

    gap:
        2px;

    color:
        #596B7A;

    font-size:
        .72rem;
}

.manual-schedule-fields {
    display:
        grid;

    grid-template-columns:
        minmax(
            125px,
            1.15fr
        )
        minmax(
            105px,
            .85fr
        )
        minmax(
            105px,
            .8fr
        );

    gap:
        7px;

    align-items:
        end;
}

.manual-schedule-fields label {
    display:
        grid;

    gap:
        4px;
}

.manual-schedule-fields label > span {
    color:
        #687B8D;

    font-size:
        .62rem;

    font-weight:
        700;

    text-transform:
        uppercase;
}

.manual-schedule-fields input,
.manual-schedule-fields select {
    width:
        100%;

    min-height:
        38px;
}

.manual-clash-panel {
    border:
        1px solid
        #D97070;

    background:
        #FFF8F8;
}

.manual-clash-heading {
    display:
        flex;

    justify-content:
        space-between;

    align-items:
        center;

    gap:
        12px;
}

.manual-clash-heading span {
    color:
        #A03B3B;

    font-size:
        .66rem;

    font-weight:
        700;

    text-transform:
        uppercase;
}

.manual-clash-heading h2 {
    margin:
        2px 0 0;

    color:
        #832D2D;
}

.manual-clash-heading > strong {
    color:
        #A03B3B;
}

.manual-clash-list {
    display:
        grid;

    gap:
        7px;

    margin:
        12px 0 0;

    padding-left:
        20px;
}

.manual-clash-list li {
    padding:
        8px 10px;

    background:
        #FFFFFF;

    border:
        1px solid
        #F0CACA;

    border-radius:
        6px;
}

.manual-clash-list li strong {
    display:
        block;

    margin-bottom:
        2px;

    color:
        #A03B3B;

    font-size:
        .62rem;
}

.manual-clash-list li span {
    color:
        #673F3F;

    font-size:
        .75rem;
}

.manual-card-clash-note {
    grid-column:
        1 / -1;

    padding:
        7px 9px;

    color:
        #8C3030;

    background:
        #FDE8E8;

    border-radius:
        5px;

    font-size:
        .7rem;
}

.manual-player-adjustments {
    margin-top:
        18px;
}

.manual-player-adjustments > summary {
    cursor:
        pointer;

    color:
        #294F70;

    font-weight:
        700;

    font-size:
        .9rem;
}

.manual-player-tools {
    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap:
        14px;

    margin-top:
        14px;
}

.manual-player-tools section {
    padding:
        12px;

    background:
        #F8FAFC;

    border:
        1px solid
        #E1E7ED;

    border-radius:
        7px;
}

@media (
    max-width: 900px
) {

    .manual-schedule-item {
        grid-template-columns:
            1fr;
    }

    .manual-player-tools {
        grid-template-columns:
            1fr;
    }

}

@media (
    max-width: 620px
) {

    .manual-batch-toolbar {
        position:
            static;

        align-items:
            stretch;

        flex-direction:
            column;
    }

    .manual-batch-actions {
        display:
            grid;

        grid-template-columns:
            1fr;
    }

    .manual-schedule-fields {
        grid-template-columns:
            1fr;
    }

    .manual-day-heading {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

}



/* ==========================================================
   PATCH 25F1G5A - HIDE CLEAN UNSAVED BADGE
   ========================================================== */

.manual-unsaved-badge[hidden] {
    display:
        none
        !important;
}



/* ==========================================================
   PATCH 25F1G5C - CLUBHOUSE NEXT UP PLAYER SIZE
   ========================================================== */

/*
 * Division / competition title and player names are equally
 * important from across the clubhouse.
 *
 * Keep the title heavier, but use the same text size.
 */
.clubhouse-next-up-main h3,
.clubhouse-next-up-main > p {
    font-size:
        1.1rem;

    line-height:
        1.28;
}

.clubhouse-next-up-main > p {
    font-weight:
        600;
}



/* ==========================================================
   PATCH 25F1G5E - MATCH RESULT EDIT
   ========================================================== */

.operations-results-page
.td-result-complete {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        10px;
}

.operations-results-page
.td-result-complete-value {
    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-start;

    gap:
        2px;
}

.operations-results-page
.td-result-complete-value > span {
    color:
        #507760;

    font-size:
        .52rem;

    font-weight:
        900;

    letter-spacing:
        .04em;
}

.operations-results-page
.td-result-complete-value > strong {
    color:
        #285A3A;

    font-size:
        .74rem;
}

.operations-results-page
.td-edit-result-button {
    flex:
        0 0 auto;
}

.operations-results-page
.td-match-edit-form {
    margin-top:
        5px;

    padding-top:
        9px;

    border-top:
        1px solid
        #D9E7DD;
}

.operations-results-page
.td-match-edit-actions {
    display:
        flex;

    gap:
        6px;

    align-items:
        end;
}

.operations-results-page
.td-match-edit-actions button {
    white-space:
        nowrap;
}

.operations-results-page
.td-match-edit-form[hidden] {
    display:
        none
        !important;
}

@media (
    max-width: 700px
) {

    .operations-results-page
    .td-result-complete {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .operations-results-page
    .td-match-edit-actions {
        display:
            grid;

        grid-template-columns:
            1fr 1fr;
    }

}



/*
|--------------------------------------------------------------------------
| PATCH 25F1G9 GLOBAL TYPOGRAPHY SCALE
|--------------------------------------------------------------------------
|
| Increase the application typography approximately one size step.
|
| Browser default root size is normally 16px.
| 112.5% gives an 18px root and proportionally increases rem-based
| typography throughout Admin, Tournament Operations, Member pages,
| Starter Sheet and public displays.
|--------------------------------------------------------------------------
*/

html {
    font-size: 112.5%;
}



/*
|--------------------------------------------------------------------------
| PATCH 25F1G10 MY TOURNAMENT TARGETED UI
|--------------------------------------------------------------------------
|
| 1. Make the next opponent substantially easier to read.
| 2. Increase contrast of the TEE label.
| 3. Tournament Control highlighting is now route-driven in the Blade nav.
|--------------------------------------------------------------------------
*/

.my-next-detail {
    color: #FFFFFF;

    font-size: 1rem;
    font-weight: 700;

    line-height: 1.35;
}

.my-next-tee small {
    color: #FFFFFF;

    font-size: .58rem;
    font-weight: 900;

    letter-spacing: .06em;
}



/*
|--------------------------------------------------------------------------
| PATCH 25F1G11 TEE BADGE CONTRAST
|--------------------------------------------------------------------------
|
| Give the Next-card tee badge clear separation from the blue card.
|--------------------------------------------------------------------------
*/

.my-next-tee {
    background: rgba(255, 255, 255, .94);

    border:
        1px solid
        rgba(255, 255, 255, 1);

    box-shadow:
        0 1px 3px
        rgba(7, 26, 61, .18);
}

.my-next-tee small {
    color: #315B7D;

    font-size: .6rem;
    font-weight: 900;

    letter-spacing: .07em;
}

.my-next-tee strong {
    color: #071A3D;

    font-size: 1.05rem;
    font-weight: 900;
}



/*
|--------------------------------------------------------------------------
| PATCH 25F1G16 TOURNAMENT COMPLETION
|--------------------------------------------------------------------------
*/

.tournament-completion-panel {
    display: grid;
    gap: 18px;
}

.tournament-completion-readiness {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.tournament-completion-readiness > div {
    padding: 13px 14px;
    border: 1px solid #d8e1e8;
    border-radius: 9px;
    background: #f8fafc;
}

.tournament-completion-readiness span {
    display: block;
    color: #637282;
    font-size: .72rem;
    font-weight: 700;
}

.tournament-completion-readiness strong {
    display: block;
    margin-top: 3px;
    color: #172535;
    font-size: .88rem;
}

.tournament-completion-readiness .is-ready {
    color: #17633a;
}

.tournament-completion-readiness .is-waiting {
    color: #8a5a13;
}

.tournament-completion-steps {
    display: grid;
    gap: 14px;
}

.tournament-completion-step {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    padding: 17px;
    border: 1px solid #d8e1e8;
    border-radius: 10px;
    background: #fff;
}

.tournament-completion-step-number {
    display: grid;
    place-items: center;
    align-self: start;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #071a3d;
    color: #fff;
    font-weight: 900;
}

.tournament-completion-step-main {
    min-width: 0;
}

.tournament-completion-step-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
}

.tournament-completion-step-heading h3 {
    margin: 0;
    color: #071a3d;
}

.tournament-completion-step-heading p {
    margin: 4px 0 0;
    color: #647383;
}

.tournament-completion-status {
    flex: 0 0 auto;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: .66rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.tournament-completion-status.ready {
    background: #e5f4ea;
    color: #17633a;
}

.tournament-completion-status.done {
    background: #dceee3;
    color: #0e5931;
}

.tournament-completion-status.waiting {
    background: #fff2d7;
    color: #865710;
}

.tournament-completion-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.tournament-completion-actions form {
    margin: 0;
}

.tournament-completion-actions small {
    color: #6f7d8b;
}

.tournament-thank-you-form {
    display: grid;
    gap: 12px;
    margin-top: 15px;
}

.tournament-thank-you-form label {
    display: grid;
    gap: 5px;
}

.tournament-thank-you-form label > span {
    color: #354659;
    font-size: .72rem;
    font-weight: 800;
}

.tournament-thank-you-form textarea {
    min-height: 130px;
    resize: vertical;
}

.tournament-completion-sent,
.tournament-completion-done-copy {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 13px;
    color: #17633a;
}

.tournament-close-form {
    display: grid;
    gap: 12px;
    margin-top: 15px;
}

.tournament-close-confirm {
    display: flex;
    align-items: flex-start;
    gap: 9px;
}

.tournament-close-confirm input {
    margin-top: 4px;
}

.tournament-completion-blockers {
    display: grid;
    gap: 4px;
    margin-top: 11px;
    color: #8a5a13;
    font-size: .74rem;
}

.tournament-completion-alert {
    padding: 11px 13px;
    border-radius: 8px;
}

.tournament-completion-alert.is-error {
    background: #fdeaea;
    border: 1px solid #e9bcbc;
    color: #812626;
}

.tournament-completion-closed {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 14px 16px;
    border-radius: 9px;
    background: #e4f2e9;
    border: 1px solid #bad8c5;
    color: #155d35;
}


/*
|--------------------------------------------------------------------------
| Prize Giving display / print
|--------------------------------------------------------------------------
*/

.prize-giving-page {
    max-width: 1050px;
    margin: 0 auto;
    padding: 24px 18px 50px;
}

.prize-giving-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    margin-bottom: 20px;
}

.prize-giving-kicker {
    color: #56718a;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.prize-giving-header h1 {
    margin: 3px 0 0;
    color: #071a3d;
}

.prize-giving-header h2 {
    margin: 5px 0 0;
    color: #294865;
    font-size: 1rem;
}

.prize-giving-header p {
    margin: 3px 0 0;
    color: #647383;
}

.prize-giving-actions {
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
}

.prize-giving-intro {
    display: flex;
    gap: 12px;
    align-items: baseline;
    padding: 12px 15px;
    margin-bottom: 16px;
    border-radius: 8px;
    background: #eef4f8;
    color: #344c62;
}

.prize-giving-divisions {
    display: grid;
    gap: 18px;
}

.prize-giving-division {
    border: 1px solid #cad6df;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

.prize-giving-division > header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 14px;
    padding: 13px 16px;
    background: #071a3d;
    color: #fff;
}

.prize-giving-division > header h2 {
    margin: 0;
    color: #fff;
    font-size: 1rem;
}

.prize-giving-division > header span {
    color: #c9d8e5;
    font-size: .72rem;
}

.prize-giving-row {
    display: grid;
    grid-template-columns: 42px 190px minmax(0, 1fr) 100px;
    gap: 10px;
    align-items: center;
    min-height: 48px;
    padding: 7px 14px;
    border-top: 1px solid #e2e8ed;
}

.prize-giving-row:first-child {
    border-top: 0;
}

.prize-giving-number {
    color: #71808e;
    font-size: .72rem;
    font-weight: 800;
}

.prize-giving-prize {
    color: #36516a;
    font-weight: 800;
}

.prize-giving-name {
    color: #071a3d;
    font-size: 1rem;
    font-weight: 900;
}

.prize-giving-result {
    text-align: right;
    color: #647383;
    font-weight: 700;
}

.prize-giving-row.is-championship-winner {
    background: #fff4cc;
    border-top-color: #e5c35a;
}

.prize-giving-row.is-championship-winner .prize-giving-name {
    font-size: 1.12rem;
}

.prize-giving-footer {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 18px;
    padding-top: 12px;
    border-top: 1px solid #cad6df;
    color: #6a7886;
    font-size: .7rem;
}

@media (max-width: 760px) {

    .tournament-completion-readiness {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tournament-completion-step-heading,
    .prize-giving-header {
        display: grid;
    }

    .prize-giving-row {
        grid-template-columns: 30px minmax(0, 1fr);
    }

    .prize-giving-name,
    .prize-giving-result {
        grid-column: 2;
    }

    .prize-giving-result {
        text-align: left;
    }
}

@media print {

    body:has(.prize-giving-page) nav,
    body:has(.prize-giving-page) .admin-portal-nav,
    body:has(.prize-giving-page) .member-nav,
    body:has(.prize-giving-page) .prize-giving-actions {
        display: none !important;
    }

    .prize-giving-page {
        max-width: none;
        padding: 0;
    }

    .prize-giving-header {
        margin-bottom: 12px;
    }

    .prize-giving-division {
        break-inside: avoid;
        box-shadow: none;
    }

    .prize-giving-row {
        min-height: 38px;
    }

    .prize-giving-footer {
        margin-top: 12px;
    }
}


/*
|--------------------------------------------------------------------------
| PATCH 25F1G18 STABLEFORD FINALISATION
|--------------------------------------------------------------------------
*/

.operations-stableford-page {
    display: grid;
    gap: 18px;
}

.operations-stableford-card {
    display: grid;
    gap: 16px;
}

.operations-stableford-status {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.stableford-finalise-form {
    display: grid;
    grid-template-columns:
        minmax(220px, 1fr)
        minmax(220px, .8fr)
        minmax(220px, .8fr)
        auto;
    align-items: end;
    gap: 12px;
    padding: 16px;
    border: 1px solid #cbd9e5;
    border-radius: 10px;
    background: #f5f9fc;
}

.stableford-finalise-form > label {
    display: grid;
    gap: 5px;
}

.stableford-finalise-form > label > span {
    color: #31485f;
    font-size: .72rem;
    font-weight: 800;
}

.stableford-finalise-copy h3 {
    margin: 0;
    color: #071a3d;
}

.stableford-finalise-copy p {
    margin: 4px 0 0;
    color: #647383;
}

.stableford-tie-warning {
    margin-top: 8px;
    color: #8a5a13;
    font-size: .72rem;
    font-weight: 700;
}

.stableford-finalise-waiting {
    padding: 14px 16px;
    border-radius: 9px;
    background: #fff4da;
    color: #795012;
}

.stableford-official-result {
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px solid #bad8c5;
    border-radius: 10px;
    background: #edf7f1;
}

.stableford-official-result h3 {
    margin: 0;
    color: #155d35;
}

.stableford-official-award {
    display: grid;
    grid-template-columns: 110px minmax(0,1fr) auto;
    gap: 12px;
    align-items: baseline;
}

.stableford-official-award span {
    color: #587265;
    font-size: .72rem;
    font-weight: 800;
}

.stableford-official-award strong {
    color: #103f27;
    font-size: 1rem;
}

.stableford-official-award em {
    color: #446453;
    font-style: normal;
    font-weight: 700;
}


/*
|--------------------------------------------------------------------------
| My Tournament award recognition
|--------------------------------------------------------------------------
*/

.my-tournament-awards {
    display: grid;
    gap: 10px;
    margin: 14px 0;
}

.my-tournament-award-card {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 15px 18px;
    border: 1px solid #dfbd50;
    border-radius: 11px;
    background:
        linear-gradient(
            100deg,
            #fff6cf 0%,
            #fffdf3 100%
        );
    box-shadow: 0 2px 8px rgba(7,26,61,.07);
}

.my-tournament-award-card > span {
    color: #84600d;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.my-tournament-award-card > strong {
    color: #071a3d;
    font-size: 1rem;
}

.my-tournament-award-card > small {
    color: #6b571c;
    font-weight: 800;
}

@media (max-width: 900px) {

    .stableford-finalise-form {
        grid-template-columns: 1fr;
    }

    .my-tournament-award-card {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .stableford-official-award {
        grid-template-columns: 1fr;
        gap: 3px;
    }
}


/*
|--------------------------------------------------------------------------
| PATCH 25F1G19 NOTIFICATION MESSAGE MODAL
|--------------------------------------------------------------------------
*/

.member-notification-dialog {
    width:
        min(
            620px,
            calc(100% - 32px)
        );

    max-width:
        620px;

    padding:
        0;

    color:
        #17283A;

    background:
        #fff;

    border:
        1px solid #BCCAD7;

    border-radius:
        14px;

    box-shadow:
        0 24px 70px
        rgba(
            7,
            26,
            61,
            .28
        );
}

.member-notification-dialog::backdrop {
    background:
        rgba(
            4,
            16,
            35,
            .60
        );

    backdrop-filter:
        blur(
            2px
        );
}

.member-notification-dialog-shell {
    display:
        grid;

    max-height:
        min(
            78vh,
            720px
        );
}

.member-notification-dialog-header {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        20px;

    padding:
        18px 20px 13px;

    color:
        #fff;

    background:
        linear-gradient(
            120deg,
            #071A3D,
            #123F69
        );

    border-radius:
        13px 13px 0 0;
}

.member-notification-dialog-header > div {
    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        9px;
}

.member-notification-dialog-type {
    display:
        inline-flex;

    align-items:
        center;

    min-height:
        25px;

    padding:
        3px 8px;

    color:
        #071A3D;

    background:
        #E6F0F8;

    border-radius:
        999px;

    font-size:
        .58rem;

    font-weight:
        900;

    text-transform:
        uppercase;

    letter-spacing:
        .04em;
}

.member-notification-dialog-header time {
    color:
        #C9D8E5;

    font-size:
        .62rem;

    font-weight:
        700;
}

.member-notification-dialog-close {
    display:
        inline-grid;

    place-items:
        center;

    flex:
        0 0 auto;

    width:
        38px;

    height:
        38px;

    padding:
        0;

    color:
        #fff !important;

    background:
        rgba(
            255,
            255,
            255,
            .10
        ) !important;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .28
        );

    border-radius:
        8px;

    cursor:
        pointer;

    font-size:
        1.25rem;

    font-weight:
        500;

    line-height:
        1;
}

.member-notification-dialog-content {
    overflow-y:
        auto;

    padding:
        22px 22px 24px;
}

.member-notification-dialog-content h2 {
    margin:
        0 0 14px;

    color:
        #071A3D;

    font-size:
        1.22rem;

    line-height:
        1.3;
}

.member-notification-dialog-message {
    color:
        #33465A;

    font-size:
        .84rem;

    line-height:
        1.65;

    white-space:
        pre-wrap;

    overflow-wrap:
        anywhere;
}

.member-notification-dialog-actions {
    display:
        flex;

    align-items:
        center;

    justify-content:
        flex-end;

    flex-wrap:
        wrap;

    gap:
        9px;

    padding:
        14px 20px 18px;

    background:
        #F5F8FA;

    border-top:
        1px solid #DCE5EB;

    border-radius:
        0 0 13px 13px;
}

.member-notification-dialog-actions
.member-notification-dialog-action[hidden] {
    display:
        none !important;
}


/*
 * The notification list is now a summary.
 * The dialog is the authoritative full-message view.
 */
.member-notification-card-v2
.member-notification-content p {
    max-width:
        760px;
}


/*
|--------------------------------------------------------------------------
| Mobile notification sheet
|--------------------------------------------------------------------------
*/

@media (max-width: 620px) {

    .member-notification-dialog {
        width:
            calc(100% - 16px);

        max-width:
            none;

        margin:
            auto 8px 8px;

        border-radius:
            16px 16px 10px 10px;
    }

    .member-notification-dialog-shell {
        max-height:
            82vh;
    }

    .member-notification-dialog-header {
        padding:
            15px 16px 12px;

        border-radius:
            15px 15px 0 0;
    }

    .member-notification-dialog-content {
        padding:
            19px 17px 21px;
    }

    .member-notification-dialog-content h2 {
        font-size:
            1.08rem;
    }

    .member-notification-dialog-message {
        font-size:
            .82rem;
    }

    .member-notification-dialog-actions {
        display:
            grid;

        grid-template-columns:
            1fr;

        padding:
            12px 16px 16px;
    }

    .member-notification-dialog-actions
    .button {
        width:
            100%;

        min-height:
            44px;

        justify-content:
            center;
    }
}


/*
|--------------------------------------------------------------------------
| PATCH 25F1G20 TOURNAMENT READ ONLY
|--------------------------------------------------------------------------
*/

.tournament-readonly-banner {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        16px;

    width:
        min(
            1180px,
            calc(100% - 30px)
        );

    margin:
        12px auto;

    padding:
        12px 15px;

    color:
        #603E0A;

    background:
        #FFF6D8;

    border:
        1px solid #E2C165;

    border-left:
        5px solid #B68117;

    border-radius:
        9px;

    box-sizing:
        border-box;
}

.tournament-readonly-banner > div {
    display:
        grid;

    gap:
        3px;

    min-width:
        0;
}

.tournament-readonly-banner strong {
    color:
        #5A3906;

    font-size:
        .82rem;
}

.tournament-readonly-banner span {
    font-size:
        .67rem;

    line-height:
        1.45;
}

.tournament-readonly-badge {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    flex:
        0 0 auto;

    min-height:
        28px;

    padding:
        4px 9px;

    color:
        #fff !important;

    background:
        #8A5D10;

    border-radius:
        999px;

    font-size:
        .56rem !important;

    font-weight:
        900;

    letter-spacing:
        .05em;
}


.is-tournament-readonly-form {
    position:
        relative;

    opacity:
        .72;
}

.is-tournament-readonly-form
button:disabled,
.is-tournament-readonly-form
input:disabled,
.is-tournament-readonly-form
select:disabled,
.is-tournament-readonly-form
textarea:disabled {
    cursor:
        not-allowed !important;
}


/*
|--------------------------------------------------------------------------
| Tournament Completion — reopen correction
|--------------------------------------------------------------------------
*/

.tournament-reopen-panel {
    display:
        grid;

    gap:
        13px;

    margin-top:
        18px;

    padding:
        17px;

    background:
        #FFF9E9;

    border:
        1px solid #E0C679;

    border-radius:
        10px;
}

.tournament-reopen-heading {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        12px;
}

.tournament-reopen-heading > div {
    min-width:
        0;
}

.tournament-reopen-heading span:first-child {
    display:
        block;

    margin-bottom:
        3px;

    color:
        #8A671E;

    font-size:
        .55rem;

    font-weight:
        900;

    letter-spacing:
        .05em;

    text-transform:
        uppercase;
}

.tournament-reopen-heading h3 {
    margin:
        0;

    color:
        #4C350D;
}

.tournament-reopen-panel > p {
    margin:
        0;

    color:
        #6A552A;

    font-size:
        .69rem;

    line-height:
        1.5;
}

.tournament-reopen-details {
    padding-top:
        11px;

    border-top:
        1px solid #E5D39E;
}

.tournament-reopen-details > summary {
    color:
        #78530E;

    cursor:
        pointer;

    font-size:
        .7rem;

    font-weight:
        850;
}

.tournament-reopen-warning {
    display:
        grid;

    gap:
        4px;

    margin:
        12px 0;

    padding:
        11px 12px;

    color:
        #684A11;

    background:
        #FFFDF5;

    border:
        1px solid #E8D9AA;

    border-radius:
        8px;
}

.tournament-reopen-warning strong {
    font-size:
        .68rem;
}

.tournament-reopen-warning span {
    font-size:
        .63rem;

    line-height:
        1.45;
}

.tournament-reopen-form {
    display:
        grid;

    gap:
        12px;
}

.tournament-reopen-form > label:first-child {
    display:
        grid;

    gap:
        6px;
}

.tournament-reopen-form > label:first-child > span {
    color:
        #3E4650;

    font-size:
        .65rem;

    font-weight:
        800;
}

.tournament-reopen-form textarea {
    width:
        100%;

    box-sizing:
        border-box;

    resize:
        vertical;
}

.tournament-reopen-confirm {
    display:
        flex;

    align-items:
        flex-start;

    gap:
        8px;

    color:
        #5D4A24;

    font-size:
        .64rem;

    line-height:
        1.45;
}

.tournament-reopen-confirm input {
    margin-top:
        3px;
}

.tournament-reopen-form button {
    justify-self:
        start;
}


.tournament-correction-open {
    display:
        grid;

    gap:
        4px;

    margin-top:
        18px;

    padding:
        14px 16px;

    color:
        #144A32;

    background:
        #EAF7EF;

    border:
        1px solid #B8D9C4;

    border-left:
        5px solid #33815A;

    border-radius:
        9px;
}

.tournament-correction-open strong {
    font-size:
        .76rem;
}

.tournament-correction-open span {
    font-size:
        .67rem;
}

.tournament-correction-open small {
    color:
        #527162;

    font-size:
        .61rem;
}


@media (max-width: 650px) {

    .tournament-readonly-banner {
        align-items:
            flex-start;

        width:
            calc(100% - 18px);

        margin:
            9px auto;

        padding:
            11px 12px;
    }

    .tournament-readonly-banner span {
        font-size:
            .63rem;
    }

    .tournament-reopen-heading {
        align-items:
            flex-start;
    }

    .tournament-reopen-form button {
        width:
            100%;

        justify-content:
            center;
    }
}


/*
|--------------------------------------------------------------------------
| PATCH 25F1G23 TOURNAMENT REPORTS
|--------------------------------------------------------------------------
*/

.tournament-reports-admin {
    display: grid;
    gap: 16px;
}

.tournament-reports-admin-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.tournament-reports-admin-heading h2 {
    margin: 0 0 4px;
    color: #071A3D;
}

.tournament-reports-admin-heading p {
    margin: 0;
    color: #637386;
    font-size: .68rem;
}

.tournament-report-state {
    flex: 0 0 auto;
    padding: 6px 9px;
    border-radius: 999px;
    font-size: .54rem;
    font-weight: 900;
}

.tournament-report-state.is-ready {
    color: #185C36;
    background: #E8F5ED;
    border: 1px solid #B9D9C5;
}

.tournament-report-state.is-waiting {
    color: #795411;
    background: #FFF6DB;
    border: 1px solid #E5CA7D;
}

.tournament-report-notice,
.tournament-report-error {
    padding: 11px 13px;
    border-radius: 8px;
    font-size: .66rem;
    line-height: 1.45;
}

.tournament-report-notice {
    color: #725218;
    background: #FFF7DE;
    border: 1px solid #E6CD83;
}

.tournament-report-error {
    color: #8B2922;
    background: #FFF0EF;
    border: 1px solid #E6B5B1;
}

.tournament-report-card-grid {
    display: grid;
    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );
    gap: 12px;
}

.tournament-report-admin-card {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 18px;
    min-width: 0;
    padding: 15px;
    background: #fff;
    border: 1px solid #D4DEE6;
    border-left: 4px solid #256999;
    border-radius: 9px;
}

.tournament-report-admin-card.is-disabled {
    border-left-color: #AAB4BD;
    background: #F7F8F9;
}

.tournament-report-admin-card > div:first-child {
    min-width: 0;
}

.tournament-report-admin-card > div:first-child > span {
    color: #53718B;
    font-size: .52rem;
    font-weight: 900;
    letter-spacing: .05em;
}

.tournament-report-admin-card h3 {
    margin: 4px 0;
    color: #071A3D;
    font-size: .86rem;
}

.tournament-report-admin-card p {
    margin: 0;
    color: #637386;
    font-size: .62rem;
    line-height: 1.45;
}

.tournament-report-card-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 7px;
}

.tournament-report-unavailable {
    flex: 0 0 auto;
    color: #7E8992;
    font-size: .58rem;
    font-weight: 800;
}

.tournament-report-footnote {
    color: #5C6D7A;
    font-size: .61rem;
    line-height: 1.5;
}


/*
|--------------------------------------------------------------------------
| Full report pages
|--------------------------------------------------------------------------
*/

.tournament-report-page {
    max-width: 1280px;
    margin: 0 auto;
    padding-bottom: 40px;
}

.tournament-report-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 22px;
    padding: 20px 22px;
    color: #fff;
    background:
        linear-gradient(
            120deg,
            #071A3D,
            #123F69
        );
    border-radius: 10px;
}

.tournament-report-kicker {
    display: block;
    margin-bottom: 4px;
    color: #A9CDE2;
    font-size: .55rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.tournament-report-header h1 {
    margin: 0 0 5px;
    color: #fff;
    font-size: 1.45rem;
}

.tournament-report-header p {
    margin: 0;
    color: #D5E3EC;
    font-size: .7rem;
}

.tournament-report-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.tournament-report-generated {
    margin: 9px 0 16px;
    color: #778590;
    font-size: .58rem;
    text-align: right;
}

.tournament-report-summary-grid {
    display: grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(
                180px,
                1fr
            )
        );
    gap: 10px;
    margin-bottom: 14px;
}

.tournament-report-summary-grid > div {
    display: grid;
    gap: 3px;
    padding: 13px 14px;
    background: #fff;
    border: 1px solid #D3DEE7;
    border-radius: 8px;
}

.tournament-report-summary-grid span {
    color: #607386;
    font-size: .55rem;
    font-weight: 850;
    text-transform: uppercase;
}

.tournament-report-summary-grid strong {
    color: #071A3D;
    font-size: 1.05rem;
}

.tournament-report-section {
    margin-bottom: 14px;
    padding: 16px;
    background: #fff;
    border: 1px solid #D3DEE7;
    border-radius: 9px;
}

.tournament-report-section h2 {
    margin: 0 0 11px;
    color: #071A3D;
    font-size: .95rem;
}

.tournament-report-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.tournament-report-section-heading p {
    margin: 0;
    color: #657687;
    font-size: .62rem;
}

.tournament-report-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .65rem;
}

.tournament-report-table th,
.tournament-report-table td {
    padding: 8px 9px;
    border-bottom: 1px solid #DDE5EB;
    text-align: left;
    vertical-align: top;
}

.tournament-report-table thead th {
    color: #fff;
    background: #12355F;
    font-size: .58rem;
    font-weight: 900;
}

.tournament-report-table tbody th {
    color: #40566C;
    font-weight: 800;
}

.tournament-report-note {
    margin: 12px 0 0;
    color: #667686;
    font-size: .6rem;
    line-height: 1.5;
}

.tournament-payment-status-grid {
    display: grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(
                140px,
                1fr
            )
        );
    gap: 9px;
}

.tournament-payment-status-grid > div {
    display: grid;
    gap: 2px;
    padding: 11px;
    background: #F6F9FB;
    border: 1px solid #DCE5EB;
    border-radius: 7px;
}

.tournament-payment-status-grid span {
    color: #617487;
    font-size: .55rem;
    font-weight: 850;
    text-transform: uppercase;
}

.tournament-payment-status-grid strong {
    color: #071A3D;
    font-size: 1rem;
}

.tournament-payment-status-grid small {
    color: #50657A;
    font-size: .6rem;
}


/*
|--------------------------------------------------------------------------
| Meal sign-off matrix
|--------------------------------------------------------------------------
*/

.tournament-report-signoff-intro {
    display: grid;
    gap: 3px;
    margin-bottom: 12px;
    padding: 11px 13px;
    color: #415468;
    background: #F3F7FA;
    border: 1px solid #D5E0E8;
    border-radius: 8px;
    font-size: .64rem;
}

.tournament-signoff-wrap {
    overflow-x: auto;
    background: #fff;
    border: 1px solid #C9D6DF;
    border-radius: 8px;
}

.tournament-signoff-table {
    width: 100%;
    min-width: 1000px;
    border-collapse: collapse;
    font-size: .58rem;
}

.tournament-signoff-table th,
.tournament-signoff-table td {
    min-width: 64px;
    height: 42px;
    padding: 5px;
    border: 1px solid #CCD7DF;
    text-align: center;
    vertical-align: middle;
}

.tournament-signoff-table thead th {
    color: #fff;
    background: #12355F;
}

.tournament-signoff-table thead th strong,
.tournament-signoff-table thead th span {
    display: block;
}

.tournament-signoff-table thead th span {
    margin-top: 2px;
    color: #D6E4ED;
    font-size: .48rem;
}

.tournament-signoff-table .signoff-name {
    min-width: 175px;
    text-align: left;
}

.tournament-signoff-table tbody
.signoff-name strong,
.tournament-signoff-table tbody
.signoff-name small {
    display: block;
}

.tournament-signoff-table tbody
.signoff-name small {
    margin-top: 2px;
    color: #788590;
}

.tournament-signoff-table td.can-initial {
    background: #fff;
}

.tournament-signoff-table td.not-selected {
    color: #BCC4CA;
    background: #EEF1F3;
}

.initial-line {
    display: block;
    width: 80%;
    height: 20px;
    margin: 0 auto;
    border-bottom: 1px solid #6E7880;
}


/*
|--------------------------------------------------------------------------
| Post activity
|--------------------------------------------------------------------------
*/

.tournament-post-grid {
    display: grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(
                260px,
                1fr
            )
        );
    gap: 12px;
}

.tournament-post-stat {
    display: grid;
    gap: 3px;
    padding: 13px;
    background: #F5F8FA;
    border: 1px solid #D9E2E8;
    border-radius: 8px;
}

.tournament-post-stat span {
    color: #5B7184;
    font-size: .55rem;
    font-weight: 900;
    text-transform: uppercase;
}

.tournament-post-stat strong {
    color: #071A3D;
    font-size: .85rem;
}

.tournament-post-stat small {
    color: #6A7B89;
    font-size: .58rem;
}


@media (max-width: 760px) {

    .tournament-report-card-grid {
        grid-template-columns: 1fr;
    }

    .tournament-report-admin-card,
    .tournament-report-header {
        flex-direction: column;
        align-items: stretch;
    }

    .tournament-report-card-actions,
    .tournament-report-actions {
        justify-content: flex-start;
    }
}


/*
|--------------------------------------------------------------------------
| Print
|--------------------------------------------------------------------------
*/

@media print {

    body:has(.tournament-report-page)
    .site-banner,

    body:has(.tournament-report-page)
    .admin-portal-nav,

    body:has(.tournament-report-page)
    .tournament-readonly-banner,

    body:has(.tournament-report-page)
    .no-print {
        display: none !important;
    }

    body:has(.tournament-report-page) {
        color: #000 !important;
        background: #fff !important;
    }

    body:has(.tournament-report-page)
    .container {
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .tournament-report-page {
        max-width: none !important;
        padding: 0 !important;
    }

    .tournament-report-header {
        padding: 0 0 10px !important;
        color: #000 !important;
        background: none !important;
        border-bottom: 2px solid #000;
        border-radius: 0;
    }

    .tournament-report-header h1,
    .tournament-report-header p,
    .tournament-report-kicker {
        color: #000 !important;
    }

    .tournament-report-generated {
        margin-bottom: 8px;
        color: #333;
    }

    .tournament-report-section,
    .tournament-report-summary-grid > div {
        break-inside: avoid;
        box-shadow: none !important;
    }

    .meal-session-report {
        break-inside: avoid;
    }

    .tournament-report-table {
        font-size: 8.5pt;
    }

    .tournament-report-table thead th {
        color: #000 !important;
        background: #E7E7E7 !important;
        border: 1px solid #999;
    }

    .tournament-report-table th,
    .tournament-report-table td {
        border: 1px solid #AAA;
    }

    .tournament-signoff-wrap {
        overflow: visible;
        border: 0;
    }

    .tournament-signoff-table {
        min-width: 0;
        font-size: 6.5pt;
    }

    .tournament-signoff-table th,
    .tournament-signoff-table td {
        min-width: 0;
        height: 31px;
        padding: 3px;
    }

    .tournament-signoff-table thead th {
        color: #000 !important;
        background: #E7E7E7 !important;
    }

    .tournament-signoff-table td.not-selected {
        background: #E5E5E5 !important;
    }
}


/*
|--------------------------------------------------------------------------
| PATCH 25F1G24 REPORT REFINEMENTS
|--------------------------------------------------------------------------
|
| Selected meal:
|   plain white cell; member initials directly in the box.
|
| No meal:
|   clearly filled cell with explicit NO MEAL label.
|--------------------------------------------------------------------------
*/

.tournament-signoff-table td.can-initial {
    background:
        #FFFFFF !important;

    color:
        #071A3D;
}

.tournament-signoff-table td.not-selected {
    background:
        #66717B !important;

    color:
        #FFFFFF !important;

    font-weight:
        900;
}

.tournament-signoff-table .initial-space {
    display:
        block;

    width:
        100%;

    min-height:
        26px;
}

.tournament-signoff-table .no-meal-label {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        100%;

    min-height:
        26px;

    color:
        #FFFFFF;

    font-size:
        .47rem;

    font-weight:
        900;

    letter-spacing:
        .035em;

    text-transform:
        uppercase;
}


@media print {

    .tournament-signoff-table td.can-initial {
        background:
            #FFFFFF !important;
    }

    .tournament-signoff-table td.not-selected {
        background:
            #666666 !important;

        color:
            #FFFFFF !important;

        -webkit-print-color-adjust:
            exact;

        print-color-adjust:
            exact;
    }

    .tournament-signoff-table .initial-space {
        min-height:
            22px;

        border:
            0 !important;
    }

    .tournament-signoff-table .no-meal-label {
        color:
            #FFFFFF !important;

        font-size:
            6pt;

        -webkit-print-color-adjust:
            exact;

        print-color-adjust:
            exact;
    }
}


/* ==========================================================
   PATCH 25F1G28 RESPONSIVE NAVIGATION
   ========================================================== */

/*
 * One mobile-navigation model for the site's primary and
 * secondary navigation bars.
 *
 * Desktop:
 *     normal horizontal navigation.
 *
 * <= 860px:
 *     brand/context + Menu button;
 *     vertical touch-friendly menu when opened.
 *
 * Contextual tab strips such as .member-competition-nav remain
 * horizontally scrollable by design.
 */


/* ----------------------------------------------------------
   Shared toggle
   ---------------------------------------------------------- */

.responsive-nav-toggle {
    display:
        none;

    align-items:
        center;

    justify-content:
        center;

    gap:
        7px;

    min-width:
        78px;

    min-height:
        42px;

    box-sizing:
        border-box;

    margin:
        0;

    padding:
        8px 11px;

    border-radius:
        7px;

    font-family:
        inherit;

    font-size:
        .72rem;

    font-weight:
        900;

    line-height:
        1;

    cursor:
        pointer;

    touch-action:
        manipulation;
}

.responsive-nav-toggle-dark {
    color:
        #FFFFFF !important;

    background:
        rgba(
            255,
            255,
            255,
            .08
        ) !important;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .28
        ) !important;
}

.responsive-nav-toggle-light {
    color:
        #173E68 !important;

    background:
        #F3F7FC !important;

    border:
        1px solid
        #BFCFE0 !important;
}

.responsive-nav-toggle-icon {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        18px;

    font-size:
        1rem;

    font-weight:
        900;

    line-height:
        1;
}

.is-nav-open
>
.responsive-nav-toggle
.responsive-nav-toggle-icon {
    font-size:
        0;
}

.is-nav-open
>
.responsive-nav-toggle
.responsive-nav-toggle-icon::after {
    content:
        "×";

    font-size:
        1.15rem;

    line-height:
        1;
}


/* ----------------------------------------------------------
   Global site menu — desktop wrapper
   ---------------------------------------------------------- */

.site-banner-menu-panel {
    display:
        flex;

    align-items:
        center;

    gap:
        5px;

    min-width:
        0;
}

.site-banner-mobile-account {
    display:
        none;
}


/* ----------------------------------------------------------
   Mobile navigation
   ---------------------------------------------------------- */

@media (max-width: 860px) {

    /*
     * Shared menu buttons
     */

    .responsive-nav-toggle {
        display:
            inline-flex;
    }


    /*
     * ======================================================
     * GLOBAL RNZAF GOLF BANNER
     * ======================================================
     */

    .site-banner-inner {
        display:
            block !important;

        min-height:
            0;

        padding:
            7px 10px !important;
    }

    .site-banner-primary {
        display:
            grid !important;

        grid-template-columns:
            minmax(
                0,
                1fr
            )
            auto;

        align-items:
            center;

        gap:
            6px 8px;

        width:
            100%;

        overflow:
            visible !important;
    }

    .site-banner-brand {
        display:
            inline-flex;

        align-items:
            center;

        min-width:
            0;

        min-height:
            42px;

        padding:
            7px 8px !important;

        font-size:
            .86rem !important;
    }

    .site-banner-menu-toggle {
        justify-self:
            end;
    }

    .site-banner-account {
        display:
            none !important;
    }

    .site-banner-menu-panel {
        display:
            none;

        grid-column:
            1 / -1;

        flex-direction:
            column;

        align-items:
            stretch;

        gap:
            4px;

        width:
            100%;

        box-sizing:
            border-box;

        padding-top:
            6px;

        overflow:
            visible;
    }

    .site-banner-primary.is-nav-open
    .site-banner-menu-panel {
        display:
            flex;
    }

    .site-banner-menu-panel
    >
    a {
        display:
            flex !important;

        align-items:
            center;

        justify-content:
            flex-start;

        width:
            100%;

        min-height:
            44px;

        box-sizing:
            border-box;

        padding:
            10px 12px !important;

        font-size:
            .78rem !important;

        white-space:
            normal;
    }

    .site-banner-mobile-account {
        display:
            flex;

        align-items:
            center;

        justify-content:
            space-between;

        gap:
            10px;

        margin-top:
            4px;

        padding:
            8px 10px;

        border-top:
            1px solid
            rgba(
                255,
                255,
                255,
                .17
            );
    }

    .site-banner-mobile-user {
        min-width:
            0;

        overflow:
            hidden;

        color:
            rgba(
                255,
                255,
                255,
                .78
            );

        font-size:
            .68rem;

        font-weight:
            800;

        text-overflow:
            ellipsis;

        white-space:
            nowrap;
    }

    .site-banner-mobile-account
    form {
        flex:
            0 0 auto;

        margin:
            0;
    }

    .site-banner-mobile-logout {
        min-height:
            40px;

        padding:
            8px 12px !important;

        color:
            #FFFFFF !important;

        background:
            rgba(
                255,
                255,
                255,
                .07
            ) !important;

        border:
            1px solid
            rgba(
                255,
                255,
                255,
                .28
            ) !important;

        border-radius:
            6px !important;

        font-size:
            .7rem;

        font-weight:
            900;

        cursor:
            pointer;
    }


    /*
     * ======================================================
     * ADMINISTRATION SECONDARY NAV
     * ======================================================
     */

    .admin-portal-nav {
        display:
            grid !important;

        grid-template-columns:
            minmax(
                0,
                1fr
            )
            auto;

        align-items:
            center !important;

        gap:
            6px 8px !important;

        padding:
            7px 10px !important;
    }

    .admin-portal-brand {
        min-width:
            0;

        padding:
            0 !important;

        border:
            0 !important;
    }

    .admin-portal-links {
        display:
            none !important;

        grid-column:
            1 / -1;

        flex-direction:
            column;

        align-items:
            stretch !important;

        gap:
            3px;

        width:
            100%;

        overflow:
            visible !important;
    }

    .admin-portal-nav.is-nav-open
    .admin-portal-links {
        display:
            flex !important;
    }

    .admin-portal-links
    >
    a {
        display:
            flex;

        align-items:
            center;

        width:
            100%;

        min-height:
            44px;

        box-sizing:
            border-box;

        padding:
            10px 12px !important;

        font-size:
            .76rem !important;

        white-space:
            normal;
    }


    /*
     * ======================================================
     * TOURNAMENT OPERATIONS SECONDARY NAV
     * ======================================================
     */

    .operations-nav-shell
    .operations-nav {
        display:
            grid !important;

        grid-template-columns:
            minmax(
                0,
                1fr
            )
            auto;

        align-items:
            center !important;

        gap:
            6px 8px !important;

        padding:
            7px 10px !important;
    }

    .operations-nav-brand {
        width:
            auto !important;

        min-width:
            0;

        padding:
            0 !important;

        border:
            0 !important;
    }

    .operations-nav-tournament {
        min-width:
            0;
    }

    .operations-nav-links {
        display:
            none !important;

        grid-column:
            1 / -1;

        flex-direction:
            column;

        align-items:
            stretch !important;

        gap:
            3px;

        width:
            100%;

        overflow:
            visible !important;
    }

    .operations-nav.is-nav-open
    .operations-nav-links {
        display:
            flex !important;
    }

    .operations-nav-links
    >
    a {
        display:
            flex !important;

        align-items:
            center;

        width:
            100%;

        min-height:
            44px;

        box-sizing:
            border-box;

        margin:
            0 !important;

        padding:
            10px 12px !important;

        border-left:
            1px solid transparent !important;

        border-right:
            1px solid transparent !important;

        font-size:
            .76rem !important;

        white-space:
            normal !important;
    }

    .operations-nav-links
    .operations-admin-link {
        margin:
            3px 0 0 !important;

        border-top:
            1px solid
            rgba(
                255,
                255,
                255,
                .16
            ) !important;
    }


    /*
     * ======================================================
     * MEMBER TOURNAMENT NAV
     * ======================================================
     */

    .member-tournament-nav {
        display:
            grid !important;

        grid-template-columns:
            minmax(
                0,
                1fr
            )
            auto;

        align-items:
            center !important;

        gap:
            7px 9px !important;
    }

    .member-tournament-nav-title {
        min-width:
            0;
    }

    .member-tournament-nav-links {
        display:
            none !important;

        grid-column:
            1 / -1;

        flex-direction:
            column;

        align-items:
            stretch !important;

        flex-wrap:
            nowrap !important;

        gap:
            4px;

        width:
            100%;

        overflow:
            visible !important;
    }

    .member-tournament-nav.is-nav-open
    .member-tournament-nav-links {
        display:
            flex !important;
    }

    .member-tournament-nav-links
    >
    a {
        display:
            flex;

        align-items:
            center;

        width:
            100%;

        min-height:
            44px;

        box-sizing:
            border-box;

        padding:
            10px 12px;

        font-size:
            .72rem;

        white-space:
            normal;
    }


    /*
     * ======================================================
     * INTENTIONALLY NOT BURGER MENUS
     * ======================================================
     *
     * Division/competition navigation is a tab strip.
     * Member Administration contains only three large choices and
     * already becomes a vertical mobile list.
     */

    .member-competition-nav {
        overflow-x:
            auto !important;

        overscroll-behavior-x:
            contain;

        -webkit-overflow-scrolling:
            touch;
    }
}


/* Small phones */

@media (max-width: 480px) {

    .site-banner-inner,
    .admin-portal-nav,
    .operations-nav-shell
    .operations-nav {
        padding-left:
            7px !important;

        padding-right:
            7px !important;
    }

    .responsive-nav-toggle {
        min-width:
            74px;

        padding:
            8px 9px;
    }

    .operations-nav-title,
    .admin-portal-brand {
        font-size:
            .62rem;
    }

    .operations-role-label {
        font-size:
            .44rem;
    }
}


/* Print remains navigation-free. */

@media print {

    .responsive-nav-toggle,
    .site-banner-mobile-account {
        display:
            none !important;
    }
}



/* ==========================================================
   PATCH 25F1G29 PUBLIC SOCIETY LANDING PAGE
   ========================================================== */

.public-home-main {
    width:
        100% !important;

    max-width:
        none !important;

    margin:
        0 !important;

    padding:
        0 !important;
}

.public-membership-nav {
    position:
        relative;

    z-index:
        20;
}

.public-membership-brand {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        10px;
}

.public-membership-brand img {
    width:
        42px;

    height:
        42px;

    object-fit:
        contain;
}

.public-membership-brand span {
    display:
        block;
}

.public-membership-nav-actions {
    display:
        flex;

    align-items:
        center;

    gap:
        6px;
}

.public-membership-nav-link {
    display:
        inline-flex;

    align-items:
        center;

    min-height:
        42px;

    padding:
        8px 12px;

    color:
        #DCE8F7;

    border-radius:
        7px;

    font-size:
        .72rem;

    font-weight:
        800;

    text-decoration:
        none;
}

.public-membership-nav-link:hover {
    color:
        #FFFFFF;

    background:
        rgba(
            255,
            255,
            255,
            .08
        );
}


/* ----------------------------------------------------------
   Page
   ---------------------------------------------------------- */

.society-home {
    overflow:
        hidden;

    color:
        #172536;

    background:
        #F2F5F8;
}


/* ----------------------------------------------------------
   Hero
   ---------------------------------------------------------- */

.society-home-hero {
    position:
        relative;

    overflow:
        hidden;

    color:
        #FFFFFF;

    background:
        linear-gradient(
            125deg,
            #06152F 0%,
            #071A3D 45%,
            #0B3767 100%
        );
}

.society-home-hero::before {
    content:
        "";

    position:
        absolute;

    inset:
        auto -7rem -12rem auto;

    width:
        31rem;

    height:
        31rem;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .07
        );

    border-radius:
        50%;
}

.society-home-hero::after {
    content:
        "";

    position:
        absolute;

    top:
        -15rem;

    left:
        -14rem;

    width:
        30rem;

    height:
        30rem;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .045
        );

    border-radius:
        50%;
}

.society-home-hero-inner {
    position:
        relative;

    z-index:
        2;

    display:
        grid;

    grid-template-columns:
        minmax(
            0,
            1.15fr
        )
        minmax(
            300px,
            .85fr
        );

    align-items:
        center;

    gap:
        clamp(
            2rem,
            6vw,
            6rem
        );

    width:
        min(
            1180px,
            calc(
                100% - 48px
            )
        );

    min-height:
        620px;

    margin:
        0 auto;

    padding:
        80px 0 90px;
}

.society-home-kicker,
.society-home-section-kicker,
.society-home-card-kicker {
    display:
        block;

    margin-bottom:
        15px;

    color:
        #9FC5EC;

    font-size:
        .68rem;

    font-weight:
        900;

    letter-spacing:
        .14em;

    text-transform:
        uppercase;
}

.society-home-hero-copy h1 {
    max-width:
        760px;

    margin:
        0;

    color:
        #FFFFFF;

    font-size:
        clamp(
            2.45rem,
            5.3vw,
            5.1rem
        );

    font-weight:
        850;

    line-height:
        .99;

    letter-spacing:
        -.045em;
}

.society-home-lead {
    max-width:
        680px;

    margin:
        27px 0 0;

    color:
        #CCDCEE;

    font-size:
        clamp(
            1rem,
            1.6vw,
            1.22rem
        );

    line-height:
        1.65;
}

.society-home-actions {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        11px;

    margin-top:
        34px;
}

.society-home-button {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        50px;

    padding:
        11px 21px;

    border:
        1px solid transparent;

    border-radius:
        8px;

    font-size:
        .78rem;

    font-weight:
        900;

    text-decoration:
        none;
}

.society-home-button-primary {
    color:
        #071A3D;

    background:
        #FFFFFF;
}

.society-home-button-primary:hover {
    background:
        #EDF4FB;
}

.society-home-button-secondary {
    color:
        #FFFFFF;

    background:
        rgba(
            255,
            255,
            255,
            .06
        );

    border-color:
        rgba(
            255,
            255,
            255,
            .38
        );
}

.society-home-button-secondary:hover {
    background:
        rgba(
            255,
            255,
            255,
            .12
        );
}


/* ----------------------------------------------------------
   Hero mark
   ---------------------------------------------------------- */

.society-home-hero-mark {
    position:
        relative;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        420px;
}

.society-home-kiwi {
    position:
        absolute;

    top:
        50%;

    left:
        50%;

    width:
        min(
            440px,
            90%
        );

    transform:
        translate(
            -50%,
            -50%
        );

    opacity:
        .16;

    mix-blend-mode:
        screen;

    filter:
        saturate(
            1.35
        );
}

.society-home-crest-shell {
    position:
        relative;

    z-index:
        2;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        245px;

    height:
        245px;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .21
        );

    border-radius:
        50%;

    background:
        rgba(
            255,
            255,
            255,
            .94
        );

    box-shadow:
        0 30px 70px
        rgba(
            0,
            0,
            0,
            .3
        );
}

.society-home-crest {
    width:
        188px;

    max-height:
        188px;

    object-fit:
        contain;
}


/* ----------------------------------------------------------
   Shared section
   ---------------------------------------------------------- */

.society-home-section {
    width:
        min(
            1180px,
            calc(
                100% - 48px
            )
        );

    margin:
        0 auto;

    padding:
        84px 0;
}

.society-home-section-heading {
    display:
        grid;

    grid-template-columns:
        minmax(
            0,
            1fr
        )
        minmax(
            280px,
            .72fr
        );

    gap:
        40px;

    align-items:
        end;

    margin-bottom:
        34px;
}

.society-home-section-heading span,
.society-home-archive > div > span {
    display:
        block;

    margin-bottom:
        9px;

    color:
        #356798;

    font-size:
        .66rem;

    font-weight:
        900;

    letter-spacing:
        .13em;

    text-transform:
        uppercase;
}

.society-home-section-heading h2,
.society-home-about-copy h2,
.society-home-archive h2 {
    margin:
        0;

    color:
        #071A3D;

    font-size:
        clamp(
            1.7rem,
            3.3vw,
            2.7rem
        );

    line-height:
        1.08;

    letter-spacing:
        -.025em;
}

.society-home-section-heading p {
    margin:
        0;

    color:
        #5D6B79;

    line-height:
        1.65;
}


/* ----------------------------------------------------------
   Tournament
   ---------------------------------------------------------- */

.society-home-tournament-section {
    padding-bottom:
        54px;
}

.society-home-tournament-card {
    display:
        grid;

    grid-template-columns:
        minmax(
            0,
            1fr
        )
        auto;

    align-items:
        stretch;

    overflow:
        hidden;

    border:
        1px solid
        #CCD7E2;

    border-radius:
        15px;

    background:
        #FFFFFF;

    box-shadow:
        0 16px 38px
        rgba(
            7,
            26,
            61,
            .08
        );
}

.society-home-tournament-main {
    padding:
        34px;
}

.society-home-tournament-main h3 {
    margin:
        0;

    color:
        #071A3D;

    font-size:
        clamp(
            1.25rem,
            2.4vw,
            2rem
        );

    line-height:
        1.16;
}

.society-home-tournament-main > p {
    max-width:
        720px;

    margin:
        14px 0 0;

    color:
        #667485;

    line-height:
        1.6;
}

.society-home-tournament-details {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        20px 42px;

    margin-top:
        30px;
}

.society-home-tournament-details div {
    display:
        grid;

    gap:
        4px;
}

.society-home-tournament-details span {
    color:
        #748394;

    font-size:
        .62rem;

    font-weight:
        800;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;
}

.society-home-tournament-details strong {
    color:
        #173E68;

    font-size:
        .9rem;
}

.society-home-tournament-actions {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    min-width:
        230px;

    padding:
        28px;

    color:
        #FFFFFF;

    background:
        #173E68;
}

.society-home-text-link {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        10px;

    color:
        inherit;

    font-size:
        .75rem;

    font-weight:
        900;

    text-decoration:
        none;
}

.society-home-text-link span {
    font-size:
        1.2rem;
}


/* ----------------------------------------------------------
   About / feature cards
   ---------------------------------------------------------- */

.society-home-about {
    display:
        grid;

    grid-template-columns:
        minmax(
            280px,
            .7fr
        )
        minmax(
            0,
            1.3fr
        );

    gap:
        60px;

    padding-top:
        64px;

    padding-bottom:
        90px;
}

.society-home-about-copy p {
    margin:
        21px 0 0;

    color:
        #5F6E7C;

    line-height:
        1.7;
}

.society-home-feature-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );

    gap:
        13px;
}

.society-home-feature-grid article {
    min-height:
        250px;

    padding:
        27px;

    border:
        1px solid
        #D5DEE7;

    border-radius:
        12px;

    background:
        #FFFFFF;
}

.society-home-feature-number {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        38px;

    height:
        38px;

    margin-bottom:
        38px;

    color:
        #FFFFFF;

    border-radius:
        50%;

    background:
        #173E68;

    font-size:
        .58rem;

    font-weight:
        900;
}

.society-home-feature-grid h3 {
    margin:
        0;

    color:
        #071A3D;

    font-size:
        1.05rem;
}

.society-home-feature-grid p {
    margin:
        12px 0 0;

    color:
        #677585;

    font-size:
        .77rem;

    line-height:
        1.6;
}

.society-home-feature-grid a {
    display:
        inline-block;

    margin-top:
        19px;

    color:
        #194F84;

    font-size:
        .7rem;

    font-weight:
        900;

    text-decoration:
        none;
}


/* ----------------------------------------------------------
   Archive
   ---------------------------------------------------------- */

.society-home-archive {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        50px;

    width:
        min(
            1180px,
            calc(
                100% - 48px
            )
        );

    margin:
        0 auto 76px;

    padding:
        38px 40px;

    border:
        1px solid
        #CAD6E2;

    border-radius:
        14px;

    background:
        #E8EEF4;
}

.society-home-archive p {
    max-width:
        720px;

    margin:
        14px 0 0;

    color:
        #61707E;

    line-height:
        1.6;
}

.society-home-archive-link {
    flex:
        0 0 auto;

    display:
        inline-flex;

    align-items:
        center;

    gap:
        9px;

    min-height:
        48px;

    padding:
        10px 17px;

    color:
        #FFFFFF;

    border-radius:
        7px;

    background:
        #071A3D;

    font-size:
        .7rem;

    font-weight:
        900;

    text-decoration:
        none;
}


/* ----------------------------------------------------------
   Footer
   ---------------------------------------------------------- */

.society-home-footer {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        28px;

    padding:
        36px max(
            24px,
            calc(
                (
                    100vw - 1180px
                )
                / 2
            )
        );

    color:
        #D4E1EE;

    background:
        #06152F;
}

.society-home-footer > div {
    display:
        flex;

    align-items:
        center;

    gap:
        13px;
}

.society-home-footer img {
    width:
        50px;

    height:
        50px;

    object-fit:
        contain;

    border-radius:
        4px;

    background:
        #FFFFFF;
}

.society-home-footer strong,
.society-home-footer span {
    display:
        block;
}

.society-home-footer strong {
    color:
        #FFFFFF;

    font-size:
        .76rem;
}

.society-home-footer > div span {
    margin-top:
        2px;

    color:
        #94A9BF;

    font-size:
        .58rem;
}

.society-home-footer nav {
    display:
        flex;

    flex-wrap:
        wrap;

    justify-content:
        flex-end;

    gap:
        8px 20px;
}

.society-home-footer nav a {
    color:
        #C7D5E4;

    font-size:
        .65rem;

    font-weight:
        800;

    text-decoration:
        none;
}


/* ----------------------------------------------------------
   Tablet
   ---------------------------------------------------------- */

@media (max-width: 900px) {

    .society-home-hero-inner {
        grid-template-columns:
            minmax(
                0,
                1fr
            )
            280px;

        min-height:
            540px;
    }

    .society-home-crest-shell {
        width:
            205px;

        height:
            205px;
    }

    .society-home-crest {
        width:
            155px;
    }

    .society-home-section-heading,
    .society-home-about {
        grid-template-columns:
            1fr;
    }

    .society-home-about {
        gap:
            34px;
    }
}


/* ----------------------------------------------------------
   Phone
   ---------------------------------------------------------- */

@media (max-width: 700px) {

    .public-membership-nav {
        min-height:
            64px;

        padding:
            8px 12px !important;
    }

    .public-membership-brand {
        gap:
            7px;
    }

    .public-membership-brand img {
        width:
            38px;

        height:
            38px;
    }

    .public-membership-brand span {
        max-width:
            135px;

        font-size:
            .62rem;

        line-height:
            1.15;
    }

    .public-membership-nav-actions {
        gap:
            4px;
    }

    .public-membership-nav-link {
        display:
            none;
    }

    .public-membership-login {
        min-height:
            40px;

        padding:
            8px 11px !important;

        font-size:
            .62rem !important;
    }


    .society-home-hero-inner {
        grid-template-columns:
            1fr;

        gap:
            28px;

        width:
            calc(
                100% - 32px
            );

        min-height:
            0;

        padding:
            60px 0 54px;
    }

    .society-home-hero-copy {
        text-align:
            left;
    }

    .society-home-hero-copy h1 {
        font-size:
            clamp(
                2.15rem,
                12vw,
                3.4rem
            );
    }

    .society-home-lead {
        margin-top:
            20px;

        font-size:
            .95rem;
    }

    .society-home-actions {
        display:
            grid;

        grid-template-columns:
            1fr;

        margin-top:
            28px;
    }

    .society-home-button {
        width:
            100%;

        box-sizing:
            border-box;
    }

    .society-home-hero-mark {
        min-height:
            245px;
    }

    .society-home-kiwi {
        width:
            280px;
    }

    .society-home-crest-shell {
        width:
            175px;

        height:
            175px;
    }

    .society-home-crest {
        width:
            130px;
    }


    .society-home-section {
        width:
            calc(
                100% - 32px
            );

        padding:
            57px 0;
    }

    .society-home-section-heading {
        gap:
            20px;

        margin-bottom:
            25px;
    }

    .society-home-tournament-card {
        grid-template-columns:
            1fr;
    }

    .society-home-tournament-main {
        padding:
            25px 22px;
    }

    .society-home-tournament-details {
        display:
            grid;

        grid-template-columns:
            1fr;

        gap:
            16px;

        margin-top:
            24px;
    }

    .society-home-tournament-actions {
        justify-content:
            flex-start;

        min-width:
            0;

        padding:
            19px 22px;
    }


    .society-home-about {
        gap:
            30px;

        padding-top:
            30px;

        padding-bottom:
            58px;
    }

    .society-home-feature-grid {
        grid-template-columns:
            1fr;
    }

    .society-home-feature-grid article {
        min-height:
            0;
    }

    .society-home-feature-number {
        margin-bottom:
            24px;
    }


    .society-home-archive {
        display:
            grid;

        gap:
            24px;

        width:
            calc(
                100% - 32px
            );

        margin-bottom:
            50px;

        padding:
            26px 22px;
    }

    .society-home-archive-link {
        justify-content:
            center;

        width:
            100%;

        box-sizing:
            border-box;
    }


    .society-home-footer {
        display:
            grid;

        gap:
            25px;

        padding:
            30px 16px;
    }

    .society-home-footer nav {
        justify-content:
            flex-start;
    }
}


@media (max-width: 390px) {

    .public-membership-brand span {
        max-width:
            108px;
    }

    .public-membership-brand img {
        width:
            34px;

        height:
            34px;
    }
}


/* Print */

@media print {

    .public-membership-nav,
    .society-home-actions,
    .society-home-tournament-actions,
    .society-home-archive-link,
    .society-home-footer {
        display:
            none !important;
    }

    .society-home-hero {
        color:
            #000000;

        background:
            #FFFFFF;
    }

    .society-home-hero-copy h1 {
        color:
            #071A3D;
    }
}



/* ==========================================================
   PATCH 25F1G30 PUBLIC MASTHEAD
   ========================================================== */

.public-membership-nav {
    position:
        relative;

    z-index:
        50;

    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        space-between !important;

    flex-wrap:
        nowrap !important;

    gap:
        28px;

    width:
        100%;

    min-height:
        76px;

    box-sizing:
        border-box;

    padding:
        9px max(
            20px,
            calc(
                (
                    100vw - 1180px
                )
                / 2
            )
        ) !important;

    color:
        #FFFFFF;

    background:
        linear-gradient(
            110deg,
            #06152F 0%,
            #071A3D 58%,
            #0A315C 100%
        ) !important;

    border-bottom:
        1px solid
        rgba(
            255,
            255,
            255,
            .12
        );

    box-shadow:
        0 3px 16px
        rgba(
            3,
            15,
            33,
            .18
        );
}


/* ----------------------------------------------------------
   Brand
   ---------------------------------------------------------- */

.public-membership-brand {
    display:
        inline-flex !important;

    align-items:
        center;

    flex:
        0 1 auto;

    gap:
        12px;

    min-width:
        0;

    color:
        #FFFFFF !important;

    font-size:
        .92rem;

    font-weight:
        850;

    line-height:
        1.1;

    letter-spacing:
        -.01em;

    text-decoration:
        none !important;
}

.public-membership-brand:hover {
    color:
        #FFFFFF !important;

    text-decoration:
        none !important;
}

.public-membership-brand img {
    flex:
        0 0 auto;

    width:
        50px !important;

    height:
        50px !important;

    padding:
        4px;

    box-sizing:
        border-box;

    object-fit:
        contain;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .32
        );

    border-radius:
        50%;

    background:
        #FFFFFF;

    box-shadow:
        0 2px 10px
        rgba(
            0,
            0,
            0,
            .2
        );
}

.public-membership-brand span {
    display:
        block;

    overflow:
        hidden;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}


/* ----------------------------------------------------------
   Navigation
   ---------------------------------------------------------- */

.public-membership-nav-actions {
    display:
        flex !important;

    align-items:
        center;

    justify-content:
        flex-end;

    flex:
        0 0 auto;

    gap:
        5px;

    min-width:
        0;
}

.public-membership-nav-link {
    display:
        inline-flex !important;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        44px;

    box-sizing:
        border-box;

    padding:
        9px 14px !important;

    color:
        #D6E5F4 !important;

    border:
        1px solid transparent;

    border-radius:
        7px;

    background:
        transparent;

    font-size:
        .72rem;

    font-weight:
        850;

    line-height:
        1;

    text-decoration:
        none !important;

    white-space:
        nowrap;

    transition:
        color .16s ease,
        background .16s ease,
        border-color .16s ease;
}

.public-membership-nav-link:hover,
.public-membership-nav-link:focus-visible {
    color:
        #FFFFFF !important;

    background:
        rgba(
            255,
            255,
            255,
            .09
        );

    border-color:
        rgba(
            255,
            255,
            255,
            .13
        );

    text-decoration:
        none !important;
}


/* ----------------------------------------------------------
   Primary login action
   ---------------------------------------------------------- */

.public-membership-login {
    display:
        inline-flex !important;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        44px;

    box-sizing:
        border-box;

    margin-left:
        5px;

    padding:
        9px 16px !important;

    color:
        #071A3D !important;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .9
        ) !important;

    border-radius:
        7px !important;

    background:
        #FFFFFF !important;

    box-shadow:
        0 2px 8px
        rgba(
            0,
            0,
            0,
            .12
        );

    font-size:
        .72rem !important;

    font-weight:
        900 !important;

    line-height:
        1;

    text-decoration:
        none !important;

    white-space:
        nowrap;

    transition:
        transform .15s ease,
        background .15s ease,
        box-shadow .15s ease;
}

.public-membership-login:hover,
.public-membership-login:focus-visible {
    color:
        #071A3D !important;

    background:
        #EAF2FA !important;

    text-decoration:
        none !important;

    transform:
        translateY(
            -1px
        );

    box-shadow:
        0 5px 14px
        rgba(
            0,
            0,
            0,
            .17
        );
}


/* ----------------------------------------------------------
   Tablet
   ---------------------------------------------------------- */

@media (max-width: 850px) {

    .public-membership-nav {
        gap:
            14px;

        min-height:
            70px;

        padding:
            8px 14px !important;
    }

    .public-membership-brand {
        gap:
            9px;

        font-size:
            .78rem;
    }

    .public-membership-brand img {
        width:
            46px !important;

        height:
            46px !important;
    }

    .public-membership-nav-actions {
        gap:
            2px;
    }

    .public-membership-nav-link {
        min-height:
            42px;

        padding:
            8px 9px !important;

        font-size:
            .65rem;
    }

    .public-membership-login {
        min-height:
            42px;

        margin-left:
            3px;

        padding:
            8px 12px !important;

        font-size:
            .65rem !important;
    }
}


/* ----------------------------------------------------------
   Phone
   ---------------------------------------------------------- */

@media (max-width: 620px) {

    .public-membership-nav {
        min-height:
            64px;

        gap:
            10px;

        padding:
            7px 10px !important;
    }

    .public-membership-brand {
        flex:
            1 1 auto;

        gap:
            8px;

        min-width:
            0;

        font-size:
            .68rem;
    }

    .public-membership-brand img {
        width:
            42px !important;

        height:
            42px !important;
    }

    .public-membership-nav-link {
        display:
            none !important;
    }

    .public-membership-login {
        flex:
            0 0 auto;

        min-height:
            40px;

        margin-left:
            0;

        padding:
            8px 11px !important;

        font-size:
            .62rem !important;
    }
}


/* Very small phones */

@media (max-width: 390px) {

    .public-membership-brand span {
        max-width:
            135px !important;

        font-size:
            .62rem !important;

        white-space:
            normal;

        line-height:
            1.05;
    }

    .public-membership-brand img {
        width:
            39px !important;

        height:
            39px !important;
    }

    .public-membership-login {
        padding:
            8px 9px !important;
    }
}



/* ==========================================================
   PATCH 25F1G31 PRIZE GIVING DINNER
   ========================================================== */

.member-entry-v2-prize-dinner {
    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    gap:
        3px;

    min-height:
        44px;

    box-sizing:
        border-box;

    padding:
        7px 8px;

    color:
        #173E68;

    border:
        1px solid
        #9BB9D6;

    border-radius:
        7px;

    background:
        #EAF3FB;

    text-align:
        center;
}

.member-entry-v2-prize-dinner strong {
    font-size:
        .58rem;

    font-weight:
        900;

    line-height:
        1.15;
}

.member-entry-v2-prize-dinner span {
    color:
        #456B90;

    font-size:
        .5rem;

    font-weight:
        800;

    line-height:
        1.15;
}


@media print {

    .member-entry-v2-prize-dinner {
        color:
            #000000;

        border-color:
            #777777;

        background:
            #EEEEEE;
    }
}



/* ==========================================================
   PATCH 25F1G32A WORK QUEUE ENTRY QUICK ASSESS
   ========================================================== */

.admin-work-quick-form {
    margin-top:
        4px;
}

.admin-work-quick-actions {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        16px;

    padding:
        12px 14px;

    border:
        1px solid #D8E0E8;

    border-bottom:
        0;

    border-radius:
        8px 8px 0 0;

    background:
        #F4F7FA;
}

.admin-work-select-all {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        8px;

    color:
        #34475B;

    font-size:
        .72rem;

    font-weight:
        800;

    white-space:
        nowrap;
}

.admin-work-select-all input,
.admin-work-quick-table .quick-entry-select {
    width:
        18px;

    height:
        18px;

    margin:
        0;

    accent-color:
        #173E68;
}

.admin-work-quick-action-buttons {
    display:
        flex;

    flex-wrap:
        wrap;

    justify-content:
        flex-end;

    gap:
        7px;
}

.admin-work-quick-table-wrap {
    overflow-x:
        auto;

    border:
        1px solid #D8E0E8;

    border-radius:
        0 0 8px 8px;

    background:
        #FFFFFF;
}

.admin-work-quick-table {
    width:
        100%;

    min-width:
        650px;

    border-collapse:
        collapse;
}

.admin-work-quick-table th,
.admin-work-quick-table td {
    padding:
        10px 11px;

    border-bottom:
        1px solid #E4EAF0;

    text-align:
        left;

    vertical-align:
        middle;
}

.admin-work-quick-table th {
    color:
        #53677B;

    background:
        #F8FAFC;

    font-size:
        .61rem;

    font-weight:
        900;

    letter-spacing:
        .045em;

    text-transform:
        uppercase;
}

.admin-work-quick-table td {
    color:
        #26384A;

    font-size:
        .72rem;
}

.admin-work-quick-table tbody tr:last-child td {
    border-bottom:
        0;
}

.admin-work-quick-table tbody tr:hover {
    background:
        #F8FBFE;
}

.admin-work-quick-table .quick-select {
    width:
        58px;

    text-align:
        center;
}

.admin-work-quick-table .quick-money {
    white-space:
        nowrap;
}

.admin-work-quick-table .quick-member a {
    color:
        #174F85;

    font-weight:
        850;

    text-decoration:
        none;
}

.admin-work-quick-table .quick-member a:hover {
    text-decoration:
        underline;
}

.admin-work-quick-table select {
    min-width:
        122px;

    min-height:
        38px;

    padding:
        6px 30px 6px 9px;

    border:
        1px solid #C4CFD9;

    border-radius:
        6px;

    color:
        #26384A;

    background:
        #FFFFFF;

    font-size:
        .68rem;

    font-weight:
        750;
}

.admin-work-quick-help {
    margin:
        10px 2px 0;

    color:
        #6A7887;

    font-size:
        .64rem;

    line-height:
        1.45;
}

.admin-work-quick-error {
    margin-bottom:
        10px;

    padding:
        10px 12px;

    color:
        #842029;

    border:
        1px solid #F1AEB5;

    border-radius:
        6px;

    background:
        #F8D7DA;

    font-size:
        .7rem;

    font-weight:
        750;
}


@media (max-width: 700px) {

    .admin-work-quick-actions {
        align-items:
            stretch;

        flex-direction:
            column;
    }

    .admin-work-quick-action-buttons {
        display:
            grid;

        grid-template-columns:
            1fr;

        width:
            100%;
    }

    .admin-work-quick-action-buttons .button {
        width:
            100%;
    }
}



/* ==========================================================
   PATCH 25F1G33 TOURNAMENT PAYMENT REMINDERS
   ========================================================== */

.tournament-payment-warning {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    width:
        min(
            1180px,
            calc(
                100% - 32px
            )
        );

    box-sizing:
        border-box;

    margin:
        14px auto;

    padding:
        14px 16px;

    color:
        #5B4300;

    border:
        1px solid #E3C35A;

    border-left:
        5px solid #C99700;

    border-radius:
        8px;

    background:
        #FFF7D6;
}

.tournament-payment-warning-copy {
    display:
        grid;

    gap:
        3px;
}

.tournament-payment-warning-copy > strong {
    color:
        #4E3900;

    font-size:
        .8rem;
}

.tournament-payment-warning-copy > span {
    font-size:
        .7rem;

    line-height:
        1.4;
}

.tournament-payment-warning-link {
    flex:
        0 0 auto;

    white-space:
        nowrap;
}


.registration-payment-reminder-form {
    display:
        inline-block;

    margin:
        0 5px 0 0;
}

.registration-payment-reminder-button {
    color:
        #594100 !important;

    border-color:
        #D6B646 !important;

    background:
        #FFF3BF !important;
}

.registration-payment-reminder-button:hover {
    background:
        #FFE999 !important;
}

.registration-payment-filter-notice {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        15px;

    margin:
        0 0 15px;

    padding:
        11px 13px;

    color:
        #34475B;

    border:
        1px solid #C8D5E1;

    border-radius:
        7px;

    background:
        #F4F8FB;

    font-size:
        .7rem;
}

.registration-payment-filter-notice a {
    flex:
        0 0 auto;

    color:
        #174F85;

    font-weight:
        850;

    text-decoration:
        none;
}

.registration-payment-reminder-error {
    margin:
        0 0 15px;

    padding:
        11px 13px;

    color:
        #842029;

    border:
        1px solid #F1AEB5;

    border-radius:
        7px;

    background:
        #F8D7DA;

    font-size:
        .7rem;

    font-weight:
        750;
}


@media (max-width: 700px) {

    .tournament-payment-warning {
        align-items:
            stretch;

        flex-direction:
            column;
    }

    .tournament-payment-warning-link {
        width:
            100%;

        box-sizing:
            border-box;

        text-align:
            center;
    }

    .registration-payment-filter-notice {
        align-items:
            flex-start;

        flex-direction:
            column;
    }
}


@media print {

    .tournament-payment-warning,
    .registration-payment-reminder-form,
    .registration-payment-filter-notice,
    .registration-payment-reminder-error {
        display:
            none !important;
    }
}



/* ==========================================================
   PATCH 25F1G34 INDIVIDUAL MEMBER MESSAGING
   ========================================================== */

.individual-member-message-card {
    margin-top:
        18px;
}

.individual-member-message-form {
    display:
        grid;

    gap:
        14px;
}

.individual-member-message-form label {
    display:
        grid;

    gap:
        6px;

    color:
        #34475B;

    font-size:
        .72rem;

    font-weight:
        800;
}

.individual-member-message-form input,
.individual-member-message-form select,
.individual-member-message-form textarea {
    width:
        100%;

    box-sizing:
        border-box;

    border:
        1px solid #C6D1DC;

    border-radius:
        7px;

    background:
        #FFFFFF;

    color:
        #26384A;

    font:
        inherit;
}

.individual-member-message-form input,
.individual-member-message-form select {
    min-height:
        42px;

    padding:
        8px 10px;
}

.individual-member-message-form textarea {
    min-height:
        120px;

    padding:
        10px;

    line-height:
        1.45;

    resize:
        vertical;
}

.individual-member-message-actions {
    display:
        flex;

    justify-content:
        flex-end;
}

.individual-member-message-recipient,
.individual-member-message-warning {
    margin:
        0;

    padding:
        9px 11px;

    border-radius:
        6px;

    font-size:
        .66rem;

    line-height:
        1.4;
}

.individual-member-message-recipient {
    color:
        #43576B;

    background:
        #F3F7FA;
}

.individual-member-message-warning {
    color:
        #6D5100;

    border:
        1px solid #E4CA72;

    background:
        #FFF7D8;
}

.individual-member-message-error {
    margin-bottom:
        12px;

    padding:
        10px 12px;

    color:
        #842029;

    border:
        1px solid #F1AEB5;

    border-radius:
        7px;

    background:
        #F8D7DA;

    font-size:
        .7rem;

    font-weight:
        750;
}


@media (max-width: 700px) {

    .individual-member-message-actions .button {
        width:
            100%;
    }
}


@media print {

    .individual-member-message-card {
        display:
            none !important;
    }
}



/* ==========================================================
   PATCH 25F1G36 QUALIFICATION COURSE SETUP
   ========================================================== */

.qualification-course-setup {
    margin-bottom:
        24px;

    padding:
        18px;

    border:
        1px solid #D6E0E9;

    border-radius:
        10px;

    background:
        #F8FAFC;
}

.qualification-course-heading {
    margin-bottom:
        15px;
}

.qualification-course-heading h3 {
    margin:
        0 0 4px;

    color:
        #102B4E;
}

.qualification-course-heading p {
    margin:
        0;
}

.qualification-course-form {
    display:
        flex;

    align-items:
        end;

    gap:
        12px;

    margin-bottom:
        16px;
}

.qualification-course-search {
    display:
        grid;

    flex:
        1;

    gap:
        6px;

    min-width:
        0;

    color:
        #34475B;

    font-size:
        .72rem;

    font-weight:
        800;
}

.qualification-course-search input {
    width:
        100%;

    box-sizing:
        border-box;

    min-height:
        42px;

    padding:
        8px 10px;

    border:
        1px solid #BCC9D5;

    border-radius:
        7px;

    background:
        #FFFFFF;

    color:
        #26384A;

    font:
        inherit;
}

.qualification-course-actions {
    flex:
        0 0 auto;
}

.qualification-course-error {
    margin-bottom:
        12px;

    padding:
        9px 11px;

    border:
        1px solid #F1AEB5;

    border-radius:
        7px;

    background:
        #F8D7DA;

    color:
        #842029;

    font-size:
        .7rem;
}

.qualification-course-selected {
    padding:
        15px;

    border:
        1px solid #D8E2EA;

    border-radius:
        8px;

    background:
        #FFFFFF;
}

.qualification-course-title-row {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        14px;

    margin-bottom:
        14px;
}

.qualification-course-title-row > div {
    display:
        grid;

    gap:
        3px;
}

.qualification-course-title-row strong {
    color:
        #102B4E;
}

.qualification-course-title-row span {
    color:
        #667789;

    font-size:
        .72rem;
}

.qualification-course-status {
    display:
        inline-flex;

    align-items:
        center;

    min-height:
        27px;

    padding:
        3px 9px;

    border-radius:
        999px;

    font-size:
        .65rem;

    font-weight:
        800;

    white-space:
        nowrap;
}

.qualification-course-status.is-ready {
    background:
        #DFF2E4;

    color:
        #245C37;
}

.qualification-course-status.is-placeholder {
    background:
        #FFF1C7;

    color:
        #755400;
}

.qualification-course-tees {
    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap:
        12px;
}

.qualification-course-tee {
    padding:
        13px;

    border:
        1px solid #D9E2EA;

    border-radius:
        8px;

    background:
        #F9FBFD;
}

.qualification-course-tee-name {
    display:
        flex;

    align-items:
        baseline;

    justify-content:
        space-between;

    gap:
        8px;

    margin-bottom:
        10px;
}

.qualification-course-tee-name span {
    color:
        #5B6E80;

    font-size:
        .68rem;

    font-weight:
        800;

    text-transform:
        uppercase;

    letter-spacing:
        .04em;
}

.qualification-course-tee-name strong {
    color:
        #102B4E;
}

.qualification-course-tee dl {
    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );

    gap:
        8px;

    margin:
        0;
}

.qualification-course-tee dl div {
    display:
        grid;

    gap:
        2px;
}

.qualification-course-tee dt {
    color:
        #6B7C8C;

    font-size:
        .62rem;

    font-weight:
        700;
}

.qualification-course-tee dd {
    margin:
        0;

    color:
        #213A55;

    font-size:
        .86rem;

    font-weight:
        850;
}

.qualification-course-warning {
    display:
        grid;

    gap:
        5px;

    padding:
        12px 14px;

    border:
        1px solid #E5C967;

    border-radius:
        8px;

    background:
        #FFF7D8;

    color:
        #674E00;
}

.qualification-course-warning span {
    color:
        #674E00;
}

.qualification-course-source {
    margin:
        13px 0 0;

    color:
        #708090;

    font-size:
        .65rem;
}

.qualification-course-empty {
    padding:
        12px 14px;

    border:
        1px dashed #BCC9D5;

    border-radius:
        8px;

    color:
        #627486;

    background:
        #FFFFFF;

    font-size:
        .72rem;
}


@media (max-width: 760px) {

    .qualification-course-form {
        align-items:
            stretch;

        flex-direction:
            column;
    }

    .qualification-course-actions,
    .qualification-course-actions .secondary {
        width:
            100%;
    }

    .qualification-course-tees {
        grid-template-columns:
            1fr;
    }

    .qualification-course-title-row {
        align-items:
            flex-start;

        flex-direction:
            column;
    }
}



/* ==========================================================
   PATCH 25F1G37 QUALIFICATION COURSE HANDICAP
   ========================================================== */

.qualification-course-handicap-card {
    margin-top:
        20px;
}

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

.qualification-ch-override-form {
    display:
        grid;

    grid-template-columns:
        74px minmax(150px, 1fr) auto;

    gap:
        6px;

    align-items:
        center;
}

.qualification-ch-override-form input {
    min-width:
        0;

    box-sizing:
        border-box;
}

.qualification-ch-status {
    display:
        inline-flex;

    padding:
        4px 8px;

    border-radius:
        999px;

    font-size:
        .64rem;

    font-weight:
        800;
}

.qualification-ch-status.ready {
    color:
        #245C37;

    background:
        #DFF2E4;
}

.qualification-ch-status.issue {
    color:
        #7A4D00;

    background:
        #FFF0C2;
}

.qualification-ch-warning {
    margin-bottom:
        14px;

    padding:
        10px 12px;

    border:
        1px solid #E6C96B;

    border-radius:
        8px;

    color:
        #674E00;

    background:
        #FFF7D8;
}

.member-qualification-course-handicap {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        12px;

    margin:
        0 0 16px;

    padding:
        12px 14px;

    border:
        1px solid #CCD9E5;

    border-radius:
        9px;

    background:
        #F7FAFD;

    color:
        #30475F;
}

.member-qualification-course-handicap span {
    font-weight:
        700;
}

.member-qualification-course-handicap strong {
    font-size:
        1rem;

    color:
        #102B4E;
}


@media (max-width: 760px) {

    .qualification-ch-override-form {
        grid-template-columns:
            1fr;
    }

    .member-qualification-course-handicap {
        align-items:
            flex-start;

        flex-direction:
            column;
    }
}



/* ==========================================================
   PATCH 25F1G38 QUALIFICATION SCORING
   ========================================================== */

.qualification-stage3-list {
    display:
        grid;

    gap:
        12px;
}

.qualification-stage3-row {
    display:
        grid;

    gap:
        12px;

    padding:
        14px;

    border:
        1px solid #D7E1EA;

    border-radius:
        9px;

    background:
        #FAFCFE;
}

.qualification-stage3-player {
    display:
        flex;

    align-items:
        baseline;

    justify-content:
        space-between;

    gap:
        12px;
}

.qualification-stage3-player strong {
    color:
        #102B4E;
}

.qualification-stage3-player span {
    color:
        #687B8E;

    font-size:
        .68rem;
}

.qualification-stage3-form {
    display:
        grid;

    grid-template-columns:
        minmax(90px, 120px)
        minmax(95px, 120px)
        minmax(80px, 100px)
        minmax(100px, 130px)
        auto;

    gap:
        10px;

    align-items:
        end;
}

.qualification-stage3-form label {
    display:
        grid;

    gap:
        5px;
}

.qualification-stage3-form label > span,
.qualification-stage3-derived > span {
    color:
        #64778A;

    font-size:
        .63rem;

    font-weight:
        800;
}

.qualification-stage3-form input {
    width:
        100%;

    box-sizing:
        border-box;
}

.qualification-stage3-derived {
    display:
        grid;

    gap:
        5px;

    min-height:
        42px;

    align-content:
        center;

    padding:
        5px 9px;

    box-sizing:
        border-box;

    border:
        1px solid #D8E1E9;

    border-radius:
        7px;

    background:
        #F2F6F9;
}

.qualification-stage3-derived strong {
    color:
        #173858;
}

.qualification-stage3-locked {
    grid-column:
        1 / -1;

    color:
        #7B5900;

    font-size:
        .65rem;

    font-weight:
        800;
}


@media (max-width: 900px) {

    .qualification-stage3-form {
        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );
    }

    .qualification-stage3-form button {
        grid-column:
            1 / -1;
    }
}


@media (max-width: 600px) {

    .qualification-stage3-player {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .qualification-stage3-form {
        grid-template-columns:
            1fr;
    }

    .qualification-stage3-form button {
        grid-column:
            auto;
    }
}



/* ==========================================================
   PATCH 25F1G43 SEABROOK LIVE DISPLAY
   ========================================================== */

.clubhouse-seabrook-section {
    margin-bottom:
        24px;
}

.clubhouse-seabrook-section
.clubhouse-section-heading p {
    margin:
        4px 0 0;

    color:
        #6B7D90;
}

.clubhouse-seabrook-summary {
    display:
        grid;

    grid-template-columns:
        repeat(
            5,
            minmax(
                0,
                1fr
            )
        );

    gap:
        10px;

    margin-bottom:
        14px;
}

.clubhouse-seabrook-summary-card {
    display:
        grid;

    grid-template-columns:
        42px minmax(0, 1fr);

    align-items:
        center;

    gap:
        10px;

    padding:
        12px;

    color:
        #0A2C58;

    background:
        #FFFFFF;

    border:
        1px solid #CAD7E6;

    border-radius:
        9px;
}

.clubhouse-seabrook-summary-card.complete {
    border-color:
        #5C9B72;

    background:
        #F3FAF5;
}

.clubhouse-seabrook-position {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        38px;

    height:
        38px;

    color:
        #FFFFFF;

    background:
        #173E67;

    border-radius:
        50%;

    font-weight:
        900;
}

.clubhouse-seabrook-summary-card strong,
.clubhouse-seabrook-summary-card span {
    display:
        block;
}

.clubhouse-seabrook-summary-card span {
    margin-top:
        3px;

    color:
        #62778D;

    font-size:
        .76rem;
}

.clubhouse-seabrook-areas {
    display:
        grid;

    gap:
        14px;
}

.clubhouse-seabrook-panel {
    overflow:
        hidden;
}

.clubhouse-seabrook-table-wrap {
    overflow-x:
        auto;
}

.clubhouse-seabrook-table {
    width:
        100%;

    min-width:
        900px;

    border-collapse:
        collapse;
}

.clubhouse-seabrook-table th,
.clubhouse-seabrook-table td {
    padding:
        9px 10px;

    text-align:
        center;

    border-bottom:
        1px solid #DCE5EF;
}

.clubhouse-seabrook-table th:first-child,
.clubhouse-seabrook-table td:first-child {
    text-align:
        left;
}

.clubhouse-seabrook-table th {
    color:
        #5C7188;

    background:
        #F5F8FC;

    font-size:
        .69rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}

.clubhouse-seabrook-table td {
    color:
        #153553;
}

.clubhouse-seabrook-table td small {
    display:
        block;

    margin-top:
        2px;

    color:
        #75889B;
}

.seabrook-operations-card {
    margin-bottom:
        16px;
}


@media (max-width: 1050px) {

    .clubhouse-seabrook-summary {
        grid-template-columns:
            repeat(
                3,
                minmax(
                    0,
                    1fr
                )
            );
    }

}


@media (max-width: 700px) {

    .clubhouse-seabrook-summary {
        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );
    }

}


@media (max-width: 460px) {

    .clubhouse-seabrook-summary {
        grid-template-columns:
            1fr;
    }

}


/* ==========================================================
   PATCH 25F1G43A COMPACT SEABROOK TABLE
   ========================================================== */

.clubhouse-seabrook-table {
    min-width: 540px;
}

.clubhouse-seabrook-table th,
.clubhouse-seabrook-table td {
    padding: 8px 10px;
}

.clubhouse-seabrook-table th:not(:first-child),
.clubhouse-seabrook-table td:not(:first-child) {
    width: 110px;
}

@media (max-width: 650px) {

    .clubhouse-seabrook-table {
        min-width: 500px;
    }

}

/* ==========================================================
   PATCH 25F1G43B SEABROOK TEAM GRID
   ========================================================== */

/*
 * Large Clubhouse / TV displays:
 * three Area panels per row.
 */
.clubhouse-seabrook-areas {
    display: grid;
    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );
    gap: 14px;
    align-items: start;
}


/*
 * Keep each Area panel compact.
 */
.clubhouse-seabrook-panel {
    min-width: 0;
    overflow: hidden;
}


/*
 * Nett-only table is compact enough to fit
 * comfortably inside a third-width panel.
 */
.clubhouse-seabrook-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
}

.clubhouse-seabrook-table th,
.clubhouse-seabrook-table td {
    padding: 7px 6px;
    font-size: .78rem;
    line-height: 1.2;
    white-space: nowrap;
}

.clubhouse-seabrook-table th:first-child,
.clubhouse-seabrook-table td:first-child {
    width: 43%;
    text-align: left;
    white-space: normal;
}

.clubhouse-seabrook-table th:not(:first-child),
.clubhouse-seabrook-table td:not(:first-child) {
    width: 19%;
    text-align: center;
}


/*
 * Slightly tighter panel header.
 */
.clubhouse-seabrook-panel
.clubhouse-panel-heading-row {
    gap: 8px;
    padding: 10px 12px;
}

.clubhouse-seabrook-panel
.clubhouse-panel-heading-row h3 {
    margin: 0;
    font-size: 1rem;
}

.clubhouse-seabrook-panel
.clubhouse-panel-heading-row span {
    font-size: .74rem;
}


/*
 * Medium displays:
 * two Area panels per row.
 */
@media (max-width: 1150px) {

    .clubhouse-seabrook-areas {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .clubhouse-seabrook-table th,
    .clubhouse-seabrook-table td {
        font-size: .8rem;
    }

}


/*
 * Small screens:
 * one Area panel per row for readability.
 */
@media (max-width: 720px) {

    .clubhouse-seabrook-areas {
        grid-template-columns:
            1fr;
    }

    .clubhouse-seabrook-table {
        min-width: 500px;
        table-layout: auto;
    }

    .clubhouse-seabrook-table-wrap {
        overflow-x: auto;
    }

    .clubhouse-seabrook-table th,
    .clubhouse-seabrook-table td {
        padding: 8px 9px;
        font-size: .82rem;
    }

    .clubhouse-seabrook-table th:first-child,
    .clubhouse-seabrook-table td:first-child,
    .clubhouse-seabrook-table th:not(:first-child),
    .clubhouse-seabrook-table td:not(:first-child) {
        width: auto;
    }

}


/* ==========================================================
   PATCH 25F1G43C COMPACT CLUBHOUSE TABLES
   ========================================================== */

.clubhouse-seabrook-table th,
.clubhouse-seabrook-table td {
    padding: 6px 5px;
}

.clubhouse-seabrook-table th {
    font-size: .7rem;
}

.clubhouse-seabrook-table td {
    font-size: .76rem;
}

.clubhouse-seabrook-table th:first-child,
.clubhouse-seabrook-table td:first-child {
    width: 46%;
}

.clubhouse-seabrook-table th:not(:first-child),
.clubhouse-seabrook-table td:not(:first-child) {
    width: 18%;
}

.clubhouse-qualification-table th,
.clubhouse-qualification-table td {
    padding: 6px 6px;
}

.clubhouse-qualification-table th {
    font-size: .58rem;
}

.clubhouse-qualification-table td {
    font-size: .75rem;
}


/* ==========================================================
   PATCH 25F1G43D2 CLUBHOUSE DAY SELECTOR
   ========================================================== */

.clubhouse-board-date-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 4px;
}

.clubhouse-board-date-row
.clubhouse-board-date {
    margin: 0;
}

.clubhouse-day-selector {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
}

.clubhouse-day-selector label {
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    opacity: .78;
}

.clubhouse-day-selector input[type="date"] {
    min-height: 30px;
    padding: 3px 8px;
    color: #17324F;
    background: #FFFFFF;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 6px;
    font: inherit;
    font-size: .74rem;
    font-weight: 700;
}

.clubhouse-day-auto {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 3px 9px;
    color: #FFFFFF;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 6px;
    font-size: .7rem;
    font-weight: 800;
    text-decoration: none;
}

.clubhouse-day-auto:hover,
.clubhouse-day-auto:focus-visible {
    background: rgba(255, 255, 255, .12);
}

@media (max-width: 700px) {

    .clubhouse-day-selector label {
        display: none;
    }

}


/* ==========================================================
   PATCH 25F1G44B ANDY LEE OPERATIONS
   ========================================================== */

.andy-lee-operations-card {
    margin-top: 18px;
    padding: 18px;
}

.andy-lee-operations-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 16px;
}

.andy-lee-operations-heading h2 {
    margin: 0 0 4px;
}

.andy-lee-operations-heading p {
    margin: 0;
    color: #667085;
    font-size: .86rem;
}

.andy-lee-advisory-badge {
    flex: 0 0 auto;
    padding: 5px 9px;
    border-radius: 999px;
    background: #eef4ff;
    color: #174f87;
    font-size: .72rem;
    font-weight: 800;
}

.andy-lee-category-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.andy-lee-category {
    min-width: 0;
    border: 1px solid #dbe3ec;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

.andy-lee-category-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    padding: 11px 12px;
    background: #f7f9fc;
    border-bottom: 1px solid #dbe3ec;
}

.andy-lee-category-heading h3 {
    margin: 0 0 2px;
    font-size: .98rem;
}

.andy-lee-category-heading small {
    color: #667085;
}

.andy-lee-category-heading strong {
    white-space: nowrap;
    font-size: .75rem;
    color: #344054;
}

.andy-lee-table-wrap {
    overflow-x: auto;
}

.andy-lee-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.andy-lee-table th,
.andy-lee-table td {
    padding: 7px 8px;
    border-bottom: 1px solid #edf1f5;
    text-align: right;
    font-size: .8rem;
}

.andy-lee-table th {
    color: #475467;
    background: #fbfcfd;
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.andy-lee-table th:nth-child(1),
.andy-lee-table td:nth-child(1) {
    width: 8%;
    text-align: center;
}

.andy-lee-table th:nth-child(2),
.andy-lee-table td:nth-child(2) {
    width: 50%;
    text-align: left;
}

.andy-lee-table th:nth-child(3),
.andy-lee-table td:nth-child(3),
.andy-lee-table th:nth-child(4),
.andy-lee-table td:nth-child(4),
.andy-lee-table th:nth-child(5),
.andy-lee-table td:nth-child(5) {
    width: 14%;
}

.andy-lee-player {
    font-weight: 700;
}

.andy-lee-total {
    font-weight: 900;
    color: #123c62;
}

.andy-lee-cutoff-warning,
.andy-lee-note,
.andy-lee-empty {
    margin: 10px 12px 12px;
    padding: 8px 10px;
    border-radius: 7px;
    font-size: .78rem;
}

.andy-lee-cutoff-warning {
    background: #fff5d6;
    color: #694b00;
}

.andy-lee-note,
.andy-lee-empty {
    background: #f6f8fa;
    color: #667085;
}

.andy-lee-exclusions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-top: 12px;
    color: #667085;
    font-size: .76rem;
}

@media (max-width: 900px) {

    .andy-lee-category-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 600px) {

    .andy-lee-operations-heading {
        display: block;
    }

    .andy-lee-advisory-badge {
        display: inline-block;
        margin-top: 8px;
    }

}


/* ==========================================================
   PATCH 25F1G46 PRIZE GIVING TEAM ROSTER
   ========================================================== */

.prize-giving-team-roster {
    margin-top: 5px;
    color: #5f6f80;
    font-size: .72rem;
    font-weight: 500;
    line-height: 1.4;
}

.prize-giving-team-label {
    display: inline-block;
    margin-right: 4px;
    color: #173f66;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

@media print {

    .prize-giving-team-roster {
        color: #333;
        font-size: 8.5pt;
    }

    .prize-giving-team-label {
        color: #000;
    }

}


/* ==========================================================
   PATCH 25F1G46A SEABROOK OPERATIONS STATUS
   ========================================================== */

.seabrook-operations-status {
    margin-bottom: 14px;
    padding: 9px 11px;
    border-radius: 7px;
    font-size: .8rem;
    line-height: 1.4;
}

.seabrook-operations-status.is-complete {
    border: 1px solid #b8dfc3;
    background: #eef9f1;
    color: #245c32;
}

.seabrook-operations-status.is-incomplete {
    border: 1px solid #ead79c;
    background: #fff8df;
    color: #6b5200;
}



/* ==========================================================
   PATCH 25F1G48 TROPHY NAME
   ========================================================== */

.prize-giving-trophy-name {
    margin-top: 3px;
    color: #6b7886;
    font-size: .72rem;
    font-weight: 700;
    line-height: 1.3;
}

@media print {

    .prize-giving-trophy-name {
        color: #333;
        font-size: 8.5pt;
    }

}


/* ==========================================================
   PATCH 25F1G49 MEMBER PRIZE GIVING
   ========================================================== */

.member-prize-giving-page {
    display: grid;
    gap: 1rem;
}

.member-prize-giving-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.member-prize-giving-header h1 {
    margin-bottom: .3rem;
}

.member-prize-giving-header p {
    margin: 0;
    color: #66727f;
}

.member-prize-giving-eyebrow {
    margin-bottom: .25rem;
    color: #65717e;
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.member-prize-giving-published {
    display: grid;
    gap: .15rem;
    min-width: 170px;
    padding: .7rem .85rem;
    border: 1px solid #d7e0e7;
    border-radius: 8px;
    background: #f7f9fb;
}

.member-prize-giving-published span {
    color: #687582;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.member-prize-giving-groups {
    display: grid;
    gap: 1rem;
}

.member-prize-giving-group {
    padding: 0;
    overflow: hidden;
}

.member-prize-giving-group-heading {
    padding: .9rem 1rem;
    border-bottom: 1px solid #e1e6ea;
}

.member-prize-giving-group-heading h2 {
    margin: 0;
    font-size: 1rem;
}

.member-prize-giving-group-heading p {
    margin: .2rem 0 0;
    color: #6c7781;
    font-size: .82rem;
}

.member-prize-giving-row {
    display: grid;
    grid-template-columns: 44px minmax(200px, 1.3fr) minmax(180px, 1fr) minmax(100px, .7fr);
    gap: .75rem;
    align-items: center;
    padding: .75rem 1rem;
    border-bottom: 1px solid #edf0f2;
}

.member-prize-giving-row:last-child {
    border-bottom: 0;
}

.member-prize-giving-number {
    color: #7a858f;
    font-weight: 700;
}

.member-prize-giving-prize,
.member-prize-giving-recipient {
    display: grid;
    gap: .15rem;
}

.member-prize-giving-prize span,
.member-prize-giving-recipient span {
    color: #6a7580;
    font-size: .78rem;
    line-height: 1.35;
}

.member-prize-giving-result {
    text-align: right;
    font-weight: 700;
}

@media (max-width: 760px) {

    .member-prize-giving-header {
        display: grid;
    }

    .member-prize-giving-published {
        width: 100%;
    }

    .member-prize-giving-row {
        grid-template-columns: 34px 1fr;
    }

    .member-prize-giving-recipient,
    .member-prize-giving-result {
        grid-column: 2;
    }

    .member-prize-giving-result {
        text-align: left;
    }

}


/* ==========================================================
   PATCH 25F1G50 ADMIN WORKFLOW STATUS
   ========================================================== */

.tournament-admin-shortcuts-compact {
    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );
}

.admin-workflow-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    margin-right: .5rem;
    padding: .28rem .58rem;
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.admin-workflow-status-required {
    color: #8a3a16;
    background: #fff0e8;
    border: 1px solid #efc3ad;
}

.admin-workflow-status-action {
    color: #805a00;
    background: #fff6d8;
    border: 1px solid #e7cc72;
}

.admin-workflow-status-complete,
.admin-workflow-status-started {
    color: #16613b;
    background: #e8f6ee;
    border: 1px solid #a9d7bd;
}

.admin-workflow-status-review {
    color: #38576f;
    background: #eef4f8;
    border: 1px solid #c6d7e2;
}

.admin-workflow-entry-summary {
    display: grid;
    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );
    gap: .75rem;
    margin-top: 1rem;
}

.admin-workflow-entry-summary > div {
    display: grid;
    gap: .2rem;
    padding: .8rem;
    border: 1px solid #dde4e9;
    border-radius: 8px;
    background: #f8fafb;
}

.admin-workflow-entry-summary span {
    color: #697681;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.admin-workflow-entry-summary strong {
    font-size: 1rem;
}

.admin-workflow-seed-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e3e8ec;
}

.admin-workflow-seed-action p {
    margin: .25rem 0 0;
}

@media (max-width: 760px) {

    .tournament-admin-shortcuts-compact {
        grid-template-columns: 1fr;
    }

    .admin-workflow-entry-summary {
        grid-template-columns: 1fr;
    }

    .admin-workflow-seed-action {
        align-items: stretch;
        flex-direction: column;
    }

}


/* ==========================================================
   PATCH 25F1G50A WORKFLOW TITLE STATUS
   ========================================================== */

.admin-config-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .45rem;
}

.admin-config-title-row
.admin-workflow-status {
    margin-left: 0;
    margin-right: 0;
}

.admin-config-section > summary
.admin-config-chevron {
    margin-left: auto;
    flex: 0 0 auto;
}

.admin-config-number {
    flex: 0 0 31px;
}

@media (max-width: 760px) {

    .admin-config-title-row {
        gap: .3rem;
    }

    .admin-config-title-row
    .admin-workflow-status {
        font-size: .62rem;
        padding: .23rem .48rem;
    }

}


/* ==========================================================
   PATCH 25F1G50B SINGLE ENTRIES TABLE
   ========================================================== */

.admin-seed-section-compact {
    margin-bottom: 14px;
}

.g50b-entry-list-card {
    margin-top: 14px;
}

.g50b-add-entry {
    margin-bottom: 14px;
}

.g50b-handicap-lock {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    margin-bottom: 14px;
    padding: 12px 14px;

    border: 1px solid #d5ddd7;
    border-radius: 8px;

    background: #f7faf8;
}

.g50b-handicap-lock.is-locked {
    background: #eef5f0;
    border-color: #b8cfc0;
}

.g50b-handicap-lock.is-scheduled {
    background: #f5f8fb;
    border-color: #cad9e5;
}

.g50b-handicap-lock.not-scheduled {
    background: #fff8e7;
    border-color: #ead59b;
}

.g50b-handicap-lock-copy {
    display: grid;
    gap: 2px;
}

.g50b-handicap-lock-copy > span {
    color: #627068;
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.g50b-handicap-lock-copy small {
    color: #647169;
}

.g50b-handicap-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}


.g50b-entry-table {
    width: 100%;
    border-collapse: collapse;
}

.g50b-entry-table th,
.g50b-entry-table td {
    padding: 9px 10px;
    border-bottom: 1px solid #e3e8e4;
    vertical-align: middle;
}

.g50b-entry-table th {
    background: #f3f7f4;
    text-align: left;
}

.g50b-entry-table tbody tr:hover {
    background: #fafcfb;
}

.g50b-sort {
    appearance: none;
    padding: 0;
    border: 0;
    background: transparent;

    color: inherit;
    font: inherit;
    font-weight: 800;

    cursor: pointer;
}

.g50b-sort::after {
    content: " ↕";
    color: #829088;
    font-size: .72rem;
}

.g50b-sort[data-direction="asc"]::after {
    content: " ↑";
    color: #1d5736;
}

.g50b-sort[data-direction="desc"]::after {
    content: " ↓";
    color: #1d5736;
}

.g50b-value-warning {
    color: #9a4b14;
    font-weight: 700;
}

.g50b-course-handicap-cell {
    display: flex;
    align-items: center;
    gap: 8px;
}

.g50b-ch-override-link {
    appearance: none;
    padding: 0;
    border: 0;
    background: transparent;

    color: #1b5d8d;
    font: inherit;
    font-size: .72rem;
    font-weight: 700;

    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}


/* Course Handicap lightbox */

.g50b-ch-dialog {
    width: min(520px, calc(100vw - 32px));
    padding: 0;

    border: 0;
    border-radius: 12px;

    background: #fff;
    color: inherit;

    box-shadow:
        0 22px 70px
        rgba(0, 0, 0, .28);
}

.g50b-ch-dialog::backdrop {
    background:
        rgba(10, 24, 34, .58);
}

.g50b-ch-dialog-form {
    display: grid;
    gap: 16px;
    padding: 20px;
}

.g50b-ch-dialog-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.g50b-ch-dialog-heading span {
    color: #68756d;
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.g50b-ch-dialog-heading h3 {
    margin: 3px 0 0;
}

.g50b-dialog-close {
    appearance: none;

    width: 34px;
    height: 34px;

    border: 0;
    border-radius: 50%;

    background: #edf2ef;
    color: #254535;

    font-size: 1.35rem;
    line-height: 1;

    cursor: pointer;
}

.g50b-ch-current {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.g50b-ch-current > div {
    display: grid;
    gap: 3px;

    padding: 10px;

    border: 1px solid #dde5df;
    border-radius: 8px;

    background: #f7faf8;
}

.g50b-ch-current span {
    color: #69756e;
    font-size: .67rem;
    font-weight: 700;
}

.g50b-ch-dialog-form label {
    display: grid;
    gap: 6px;
}

.g50b-ch-dialog-form label > span {
    font-weight: 700;
}

.g50b-ch-dialog-form input,
.g50b-ch-dialog-form textarea {
    width: 100%;
    box-sizing: border-box;
}

.g50b-ch-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}


@media (max-width: 760px) {

    .g50b-handicap-lock {
        align-items: stretch;
        flex-direction: column;
    }

    .g50b-handicap-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .g50b-ch-current {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   PATCH 25F1G50C2 QUALIFICATION TEE SELECTORS
   ========================================================== */

.g50c2-qualification-tee-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.g50c2-qualification-tee-grid label {
    display: grid;
    gap: 6px;
}

.g50c2-qualification-tee-grid label > span {
    font-weight: 700;
}

.g50c2-qualification-tee-grid select {
    width: 100%;
}

.g50c2-qualification-note {
    margin-top: 12px;
    padding: 10px 12px;

    border: 1px solid #d6e1d9;
    border-radius: 8px;

    background: #f5f9f6;
    color: #40574a;
}

@media (max-width: 760px) {

    .g50c2-qualification-tee-grid {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   PATCH 25F1G50C3 QUALIFICATION LAYOUT
   ========================================================== */

/*
 * G36 originally made .qualification-course-form a horizontal flex row.
 * G50C2 added multiple fields to that form, so they were being compressed
 * into one line.
 *
 * This override applies only to the G50C2 qualification form.
 */

#g50c2-qualification-course-form {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr);

    gap: 14px;

    align-items: stretch;

    width: 100%;

    margin-bottom: 16px;
}


/* Qualification Course occupies its own full-width row. */

#g50c2-qualification-course-form
.qualification-course-search {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr);

    gap: 6px;

    width: 100%;
    min-width: 0;

    margin: 0;
}


#g50c2-qualification-course-form
.qualification-course-search > span {
    display: block;

    margin: 0;

    color: #34475b;

    font-size: .72rem;
    font-weight: 800;
}


#g50c2-qualification-course-form
.qualification-course-search input {
    display: block;

    box-sizing: border-box;

    width: 100%;
    min-width: 0;

    margin: 0;

    min-height: 42px;
}


/* Men / Women qualifying tee colours sit together below the course. */

#g50c2-qualification-course-form
.g50c2-qualification-tee-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 14px;

    width: 100%;

    margin: 0;
}


#g50c2-qualification-course-form
.g50c2-qualification-tee-grid label {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr);

    gap: 6px;

    min-width: 0;

    margin: 0;
}


#g50c2-qualification-course-form
.g50c2-qualification-tee-grid label > span {
    display: block;

    margin: 0;

    line-height: 1.25;

    color: #34475b;

    font-size: .72rem;
    font-weight: 800;
}


#g50c2-qualification-course-form
.g50c2-qualification-tee-grid select {
    box-sizing: border-box;

    width: 100%;
    min-width: 0;

    margin: 0;
}


/* Explanatory and warning boxes each receive their own row. */

#g50c2-qualification-course-form
.g50c2-qualification-note,
#g50c2-qualification-course-form
.qualification-course-warning {
    width: 100%;

    box-sizing: border-box;

    margin: 0;
}


/* Save action does not stretch across the whole panel. */

#g50c2-qualification-course-form
> button {
    justify-self: start;

    margin: 0;
}


@media (max-width: 760px) {

    #g50c2-qualification-course-form
    .g50c2-qualification-tee-grid {
        grid-template-columns:
            minmax(0, 1fr);
    }

    #g50c2-qualification-course-form
    > button {
        width: 100%;
    }

}


/* ==========================================================
   PATCH 25F1G51 OPERATIONS WORKFLOW
   ========================================================== */

.g51-statusbar {
    align-items:
        stretch;
}

.g51-status-items {
    display:
        grid !important;

    grid-template-columns:
        repeat(
            3,
            minmax(115px, 1fr)
        );

    gap:
        6px !important;
}

.g51-status-items > div {
    position:
        relative;

    min-width:
        0;

    padding:
        8px 10px !important;

    border:
        1px solid rgba(
            255,
            255,
            255,
            .16
        );

    border-radius:
        7px;
}

.g51-status-items > div::before {
    content:
        "";

    position:
        absolute;

    top:
        0;

    left:
        0;

    bottom:
        0;

    width:
        3px;

    border-radius:
        7px 0 0 7px;

    background:
        #8192a6;
}

.g51-status-items > div.is-complete::before {
    background:
        #68c17d;
}

.g51-status-items > div.is-warning::before {
    background:
        #f4c45d;
}

.g51-status-items > div.is-active::before {
    background:
        #61a9ef;
}

.g51-status-items > div.is-pending::before {
    background:
        #8e9bab;
}

.g51-status-items span {
    display:
        block;

    margin-bottom:
        2px;

    font-size:
        .58rem;

    font-weight:
        800;

    text-transform:
        uppercase;

    letter-spacing:
        .04em;
}

.g51-status-items strong {
    display:
        block;

    font-size:
        .7rem;

    line-height:
        1.25;
}


.g51-readiness-warning {
    border-left:
        4px solid #d69b25;
}


/* Workflow card */

.g51-workflow-card {
    margin-bottom:
        20px;
}

.g51-workflow-heading {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        15px;

    margin-bottom:
        15px;
}

.g51-workflow-heading h2 {
    margin:
        2px 0 3px;
}

.g51-workflow-heading p {
    margin:
        0;

    color:
        #6f7c73;
}

.g51-eyebrow {
    color:
        var(
            --rnzaf-blue,
            #1d5f91
        );

    font-size:
        .62rem;

    font-weight:
        900;

    text-transform:
        uppercase;

    letter-spacing:
        .06em;
}


.g51-workflow-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap:
        12px;
}


.g51-workflow-stage {
    display:
        grid;

    grid-template-columns:
        42px minmax(0, 1fr);

    gap:
        11px;

    min-width:
        0;

    padding:
        13px;

    border:
        1px solid #dbe3dd;

    border-radius:
        9px;

    background:
        #fafcfb;
}


.g51-stage-number {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        38px;

    height:
        38px;

    border-radius:
        50%;

    color:
        #fff;

    background:
        var(
            --rnzaf-blue,
            #245d88
        );

    font-size:
        .68rem;

    font-weight:
        900;
}


.g51-stage-body {
    min-width:
        0;
}


.g51-stage-heading span {
    display:
        block;

    margin-bottom:
        2px;

    color:
        #78857d;

    font-size:
        .58rem;

    font-weight:
        900;

    text-transform:
        uppercase;

    letter-spacing:
        .045em;
}


.g51-stage-heading strong {
    color:
        #173826;

    font-size:
        .82rem;
}


.g51-stage-body p {
    margin:
        7px 0 10px;

    color:
        #5f6d65;

    font-size:
        .69rem;

    line-height:
        1.45;
}


.g51-stage-body small {
    display:
        block;

    margin-top:
        9px;

    color:
        #68756d;

    font-size:
        .62rem;
}


.g51-stage-actions {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        5px;
}


.g51-stage-actions a {
    display:
        inline-flex;

    align-items:
        center;

    min-height:
        27px;

    padding:
        4px 8px;

    border:
        1px solid #c7d7cc;

    border-radius:
        6px;

    color:
        #245839;

    background:
        #fff;

    font-size:
        .62rem;

    font-weight:
        800;

    text-decoration:
        none;
}


.g51-stage-actions a:hover {
    border-color:
        #7eaa8c;

    background:
        #f1f7f3;
}


/* Quick access */

.g51-quick-access {
    display:
        flex;

    align-items:
        center;

    gap:
        12px;

    margin:
        0 0 20px;

    padding:
        9px 11px;

    border:
        1px solid #dbe2dd;

    border-radius:
        8px;

    background:
        #f7f9f8;
}


.g51-quick-access > span {
    flex:
        0 0 auto;

    color:
        #657269;

    font-size:
        .6rem;

    font-weight:
        900;

    text-transform:
        uppercase;

    letter-spacing:
        .04em;
}


.g51-quick-access > div {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        5px;
}


.g51-quick-access a {
    padding:
        4px 8px;

    border-radius:
        5px;

    color:
        #245839;

    font-size:
        .63rem;

    font-weight:
        800;

    text-decoration:
        none;
}


.g51-quick-access a:hover {
    background:
        #e7f0ea;
}


@media (max-width: 1050px) {

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

}


@media (max-width: 760px) {

    .g51-status-items {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .g51-workflow-grid {
        grid-template-columns:
            minmax(0, 1fr);
    }

    .g51-quick-access {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

}


@media (max-width: 480px) {

    .g51-status-items {
        grid-template-columns:
            minmax(0, 1fr);
    }

    .g51-workflow-stage {
        grid-template-columns:
            34px minmax(0, 1fr);
    }

    .g51-stage-number {
        width:
            32px;

        height:
            32px;
    }

}


/* ==========================================================
   PATCH 25F1G52C STARTER CLUBHOUSE BUTTON
   ========================================================== */

.starter-sheet-header-actions
.starter-clubhouse-button {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        36px;

    padding:
        8px 13px;

    box-sizing:
        border-box;

    color:
        #fff !important;

    background:
        #285D8A !important;

    border:
        1px solid #5B91C2 !important;

    border-radius:
        6px;

    font-size:
        .72rem;

    font-weight:
        900;

    line-height:
        1.2;

    text-decoration:
        none !important;

    white-space:
        nowrap;
}


.starter-sheet-header-actions
.starter-clubhouse-button:hover {
    color:
        #fff !important;

    background:
        #0B2A52 !important;
}


@media (max-width: 600px) {

    .starter-sheet-header-actions
    .starter-clubhouse-button {
        width:
            100%;
    }

}


@media print {

    .starter-clubhouse-button {
        display:
            none !important;
    }

}


/* ==========================================================
   PATCH 25F1G53A TODAY GOLF
   ========================================================== */

.clubhouse-todays-golf-section
.clubhouse-board-grid {
    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );
}


.clubhouse-playing-now-panel {
    border-color:
        rgba(
            47,
            117,
            72,
            .35
        );
}


.clubhouse-playing-now-row {
    background:
        rgba(
            47,
            117,
            72,
            .05
        );
}


.g53a-playing-status {
    display:
        inline-flex;

    margin-top:
        5px;

    padding:
        2px 7px;

    color:
        #fff;

    background:
        #2f7548;

    border-radius:
        999px;

    font-size:
        .58rem;

    font-weight:
        900;

    text-transform:
        uppercase;

    letter-spacing:
        .045em;
}


@media (max-width: 1100px) {

    .clubhouse-todays-golf-section
    .clubhouse-board-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );
    }

}


@media (max-width: 700px) {

    .clubhouse-todays-golf-section
    .clubhouse-board-grid {
        grid-template-columns:
            1fr;
    }

}


/* ==========================================================
   PATCH 25F1G53C TODAY GOLF RESPONSIVE
   ========================================================== */

/*
 * Wide clubhouse displays:
 * Upcoming | Playing Now | Results
 */
.clubhouse-todays-golf-section
.clubhouse-board-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );

    align-items:
        stretch;

    gap:
        20px;
}


.clubhouse-todays-golf-section
.clubhouse-board-panel {
    min-width:
        0;

    width:
        auto;
}


/*
 * Smaller displays:
 * one panel per row.
 *
 * This deliberately overrides G53A's temporary 2-column breakpoint.
 */
@media (max-width: 1100px) {

    .clubhouse-todays-golf-section
    .clubhouse-board-grid {
        grid-template-columns:
            minmax(
                0,
                1fr
            );
    }

}


/* ==========================================================
   PATCH 25F1G55 MEMBER ACCOUNT
   ========================================================== */

.member-account-card-wide {
    grid-column:
        1 / -1;
}


.g55-account-detail-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap:
        10px;
}


.g55-account-detail {
    padding:
        11px 12px;

    border:
        1px solid #dce5df;

    border-radius:
        8px;

    background:
        #f8faf9;
}


.g55-account-detail.wide {
    grid-column:
        1 / -1;
}


.g55-account-detail > span {
    display:
        block;

    margin-bottom:
        3px;

    color:
        #718078;

    font-size:
        .62rem;

    font-weight:
        900;

    letter-spacing:
        .04em;

    text-transform:
        uppercase;
}


.g55-account-detail > strong {
    display:
        block;

    color:
        #173826;

    font-size:
        .8rem;

    line-height:
        1.4;

    overflow-wrap:
        anywhere;
}


/* Trophy eligibility */

.g55-trophy-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap:
        9px;
}


.g55-trophy-item {
    padding:
        11px 12px;

    border:
        1px solid #dce5df;

    border-radius:
        8px;

    background:
        #f8faf9;
}


.g55-trophy-item.eligible {
    border-color:
        #a8cfb5;

    background:
        #f1f8f3;
}


.g55-trophy-item > span {
    display:
        block;

    color:
        #173826;

    font-size:
        .76rem;

    font-weight:
        900;
}


.g55-trophy-item > strong {
    display:
        block;

    margin-top:
        3px;

    color:
        #6d7a72;

    font-size:
        .65rem;
}


.g55-trophy-item.eligible > strong {
    color:
        #2d7045;
}


/* Financial history */

.g55-finance-summary {
    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );

    gap:
        10px;

    margin-bottom:
        16px;
}


.g55-finance-summary > div {
    padding:
        12px 14px;

    border:
        1px solid #d8e1db;

    border-radius:
        8px;

    background:
        #f8faf9;
}


.g55-finance-summary span {
    display:
        block;

    margin-bottom:
        3px;

    color:
        #6f7d75;

    font-size:
        .62rem;

    font-weight:
        900;

    text-transform:
        uppercase;

    letter-spacing:
        .04em;
}


.g55-finance-summary strong {
    color:
        #173826;

    font-size:
        1.05rem;
}


.g55-finance-summary strong.has-balance {
    color:
        #a55d16;
}


.g55-finance-table-wrap {
    overflow-x:
        auto;

    border:
        1px solid #dbe3dd;

    border-radius:
        9px;
}


.g55-finance-table {
    width:
        100%;

    border-collapse:
        collapse;
}


.g55-finance-table th {
    padding:
        9px 10px;

    color:
        #58685f;

    background:
        #f0f4f1;

    border-bottom:
        1px solid #d6dfd8;

    font-size:
        .62rem;

    font-weight:
        900;

    text-align:
        left;

    text-transform:
        uppercase;

    letter-spacing:
        .04em;
}


.g55-finance-table td {
    padding:
        10px;

    border-bottom:
        1px solid #e1e8e3;

    color:
        #33483c;

    font-size:
        .72rem;

    vertical-align:
        top;
}


.g55-finance-table tr:last-child td {
    border-bottom:
        0;
}


.g55-finance-table td strong {
    display:
        block;
}


.g55-finance-table td small {
    display:
        block;

    margin-top:
        2px;

    color:
        #748078;

    line-height:
        1.35;
}


.g55-finance-amount {
    white-space:
        nowrap;

    font-weight:
        900;
}


.g55-payment-status {
    display:
        inline-flex;

    padding:
        3px 7px;

    border-radius:
        999px;

    color:
        #6c5b31;

    background:
        #f6edcf;

    font-size:
        .6rem;

    font-weight:
        900;
}


.g55-payment-status.paid {
    color:
        #27653d;

    background:
        #dff0e4;
}


.g55-payment-status.waived {
    color:
        #315d7b;

    background:
        #e0edf5;
}


.g55-finance-empty {
    padding:
        18px;

    border:
        1px dashed #cad5cd;

    border-radius:
        8px;

    color:
        #6c7971;

    text-align:
        center;
}


@media (max-width: 760px) {

    .g55-account-detail-grid,
    .g55-trophy-grid,
    .g55-finance-summary {
        grid-template-columns:
            1fr;
    }


    .g55-account-detail.wide {
        grid-column:
            auto;
    }


    .g55-finance-table,
    .g55-finance-table tbody,
    .g55-finance-table tr,
    .g55-finance-table td {
        display:
            block;

        width:
            100%;
    }


    .g55-finance-table thead {
        display:
            none;
    }


    .g55-finance-table tr {
        padding:
            9px 12px;

        box-sizing:
            border-box;

        border-bottom:
            1px solid #dbe3dd;
    }


    .g55-finance-table tr:last-child {
        border-bottom:
            0;
    }


    .g55-finance-table td {
        display:
            grid;

        grid-template-columns:
            105px minmax(
                0,
                1fr
            );

        gap:
            8px;

        padding:
            5px 0;

        border:
            0;
    }


    .g55-finance-table td::before {
        content:
            attr(
                data-label
            );

        color:
            #718078;

        font-size:
            .6rem;

        font-weight:
            900;

        text-transform:
            uppercase;

        letter-spacing:
            .035em;
    }

}


/* ==========================================================
   PATCH 25F1G56 MEMBERSHIP INVOICE
   ========================================================== */

.g56-membership-invoice-card {
    margin-top:
        20px;
}


.g56-invoice-summary {
    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap:
        10px;

    margin-bottom:
        16px;
}


.g56-invoice-summary > div {
    padding:
        11px 12px;

    border:
        1px solid #dce5df;

    border-radius:
        8px;

    background:
        #f8faf9;
}


.g56-invoice-summary span {
    display:
        block;

    margin-bottom:
        3px;

    color:
        #718078;

    font-size:
        .62rem;

    font-weight:
        900;

    text-transform:
        uppercase;
}


.g56-invoice-summary strong {
    color:
        #173826;
}


.g56-invoice-form {
    display:
        grid;

    grid-template-columns:
        minmax(140px, 180px)
        minmax(170px, 220px)
        minmax(200px, 1fr);

    align-items:
        end;

    gap:
        12px;

    margin:
        14px 0;
}


.g56-invoice-form label span {
    display:
        block;

    margin-bottom:
        5px;

    font-weight:
        800;
}


.g56-invoice-form input {
    width:
        100%;

    box-sizing:
        border-box;
}


.g56-invoice-action {
    display:
        flex;

    align-items:
        end;
}


.g56-invoice-history {
    margin-top:
        22px;
}


.g56-invoice-history h3 {
    margin-bottom:
        9px;
}


@media (max-width: 760px) {

    .g56-invoice-summary,
    .g56-invoice-form {
        grid-template-columns:
            1fr;
    }

}


/* ==========================================================
   PATCH 25F1G56B ANNUAL BILLING
   ========================================================== */

.g56b-billing-heading {
    margin-top:
        14px;

    padding-top:
        14px;

    border-top:
        1px solid #d9e1dc;
}


.g56b-billing-heading strong,
.g56b-billing-heading small {
    display:
        block;
}


.g56b-billing-heading small {
    margin-top:
        3px;

    color:
        #6c7971;
}


.g56b-billing-preview {
    padding:
        10px 12px;

    border:
        1px solid #dbe3dd;

    border-radius:
        7px;

    background:
        #f7f9f8;
}


.g56b-billing-preview span,
.g56b-billing-preview small {
    display:
        block;

    color:
        #6c7971;

    font-size:
        .65rem;
}


.g56b-billing-preview strong {
    display:
        block;

    margin:
        2px 0;
}


.g56b-exemption-panel {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        18px;

    margin:
        0 0 16px;

    padding:
        13px 14px;

    border:
        1px solid #d9e1dc;

    border-radius:
        8px;

    background:
        #f8faf9;
}


.g56b-exemption-panel.is-exempt {
    border-color:
        #d8b36d;

    background:
        #fff9eb;
}


.g56b-exemption-label {
    display:
        block;

    margin-bottom:
        3px;

    color:
        #6d7972;

    font-size:
        .62rem;

    font-weight:
        900;

    text-transform:
        uppercase;

    letter-spacing:
        .04em;
}


.g56b-exemption-panel strong {
    color:
        #173826;
}


.g56b-exemption-panel.is-exempt strong {
    color:
        #985d13;
}


.g56b-exemption-panel p {
    margin:
        5px 0;
}


.g56b-exemption-panel small {
    color:
        #748078;
}


.g56b-exemption-form {
    display:
        flex;

    align-items:
        end;

    gap:
        8px;
}


.g56b-exemption-form label {
    min-width:
        280px;
}


.g56b-exemption-form label span {
    display:
        block;

    margin-bottom:
        4px;

    font-size:
        .66rem;

    font-weight:
        800;
}


.g56b-exemption-form input {
    width:
        100%;

    box-sizing:
        border-box;
}


@media (max-width: 760px) {

    .g56b-exemption-panel,
    .g56b-exemption-form {
        flex-direction:
            column;
    }


    .g56b-exemption-form label {
        min-width:
            0;

        width:
            100%;
    }

}
