.claims-page {
    display: grid;
    gap: 20px;
}

.claims-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.claims-summary-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 112px;
    padding: 18px;
    border: 1px solid #e2e8e5;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(28, 61, 50, .04);
}

.claims-summary-icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 12px;
    background: #eaf4ef;
    color: #176448;
    font-size: 1.1rem;
}

.claims-summary-card span,
.claims-summary-card small {
    display: block;
    color: #6e7b76;
}

.claims-summary-card span {
    margin-bottom: 2px;
    font-size: .88rem;
    font-weight: 700;
}

.claims-summary-card strong {
    display: block;
    color: #25302d;
    font-size: 1.55rem;
    line-height: 1.1;
}

.claims-summary-card small {
    margin-top: 5px;
    font-size: .82rem;
}

.claims-panel {
    overflow: hidden;
    border: 1px solid #e0e7e4;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(28, 61, 50, .04);
}

.claims-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 22px 16px;
}

    .claims-panel-header h2 {
        margin: 0;
        color: #25302d;
        font-size: 1.25rem;
        font-weight: 800;
    }

    .claims-panel-header p {
        margin: 4px 0 0;
        color: #6f7d78;
        font-size: .92rem;
    }

.claims-result-count {
    flex: 0 0 auto;
    padding: 7px 11px;
    border-radius: 999px;
    background: #f1f5f3;
    color: #53635d;
    font-size: .84rem;
    font-weight: 700;
}

.claims-toolbar {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 175px 175px auto;
    gap: 10px;
    align-items: end;
    padding: 0 22px 16px;
}

.claims-search {
    position: relative;
    display: flex;
    align-items: center;
}

    .claims-search > i {
        position: absolute;
        left: 14px;
        color: #66756f;
        pointer-events: none;
    }

    .claims-search input {
        width: 100%;
        min-height: 46px;
        padding: 10px 42px;
        border: 1px solid #d9e2de;
        border-radius: 11px;
        outline: none;
        background: #fff;
        color: #25302d;
        font-size: .94rem;
    }

        .claims-search input:focus,
        .claims-date-field input:focus {
            border-color: #6eb396;
            box-shadow: 0 0 0 3px rgba(40, 126, 91, .11);
        }

    .claims-search button {
        position: absolute;
        right: 8px;
        display: grid;
        place-items: center;
        width: 30px;
        height: 30px;
        border: 0;
        border-radius: 7px;
        background: transparent;
        color: #6b7773;
    }

        .claims-search button:hover {
            background: #f1f5f3;
        }

.claims-date-field {
    display: grid;
    gap: 4px;
}

    .claims-date-field label {
        color: #61716a;
        font-size: .78rem;
        font-weight: 700;
    }

    .claims-date-field input {
        min-height: 46px;
        padding: 8px 11px;
        border: 1px solid #d9e2de;
        border-radius: 11px;
        outline: none;
        color: #25302d;
        font-size: .9rem;
    }

.claims-reset-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 46px;
    padding: 8px 12px;
    border: 1px solid #d9e2de;
    border-radius: 10px;
    background: #fff;
    color: #586862;
    font-size: .86rem;
    font-weight: 700;
}

    .claims-reset-button:hover {
        background: #f6f8f7;
    }

.claims-status-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 0 22px 16px;
    scrollbar-width: thin;
}

.claims-status-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 7px 12px;
    border: 1px solid #dce4e0;
    border-radius: 999px;
    background: #fff;
    color: #566660;
    white-space: nowrap;
    font-size: .86rem;
    font-weight: 700;
}

    .claims-status-tab strong {
        display: grid;
        place-items: center;
        min-width: 22px;
        height: 22px;
        padding: 0 6px;
        border-radius: 999px;
        background: #edf2ef;
        color: #5f6d68;
        font-size: .76rem;
    }

    .claims-status-tab:hover {
        border-color: #a9c9bb;
        background: #f7faf8;
    }

    .claims-status-tab.active {
        border-color: #246f54;
        background: #eaf4ef;
        color: #155d43;
    }

        .claims-status-tab.active strong {
            background: #d4e9df;
            color: #155d43;
        }

.claims-table-wrap {
    border-top: 1px solid #edf1ef;
}

.claims-table {
    min-width: 1020px;
}

    .claims-table thead th {
        padding: 12px 16px;
        border-bottom: 1px solid #e6ece9;
        background: #f8faf9;
        color: #68756f;
        font-size: .78rem;
        font-weight: 800;
        letter-spacing: .01em;
        white-space: nowrap;
    }

    .claims-table tbody td {
        padding: 14px 16px;
        border-bottom-color: #edf1ef;
        color: #34423d;
        font-size: .9rem;
        vertical-align: middle;
    }

    .claims-table tbody tr:last-child td {
        border-bottom: 0;
    }

    .claims-table tbody tr:hover {
        background: #fbfcfb;
    }

.claims-primary,
.claims-member-name,
.claims-money {
    color: #27332f;
    font-weight: 700;
}

.claims-secondary {
    margin-top: 2px;
    color: #76827e;
    font-size: .82rem;
}

.claims-case-description {
    max-width: 270px;
}

.claims-status {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 800;
    white-space: nowrap;
}

    .claims-status.warning {
        background: #fff3cd;
        color: #765900;
    }

    .claims-status.info {
        background: #e5f2fb;
        color: #1d608d;
    }

    .claims-status.success {
        background: #e1f3e8;
        color: #17623f;
    }

    .claims-status.danger {
        background: #fde8e8;
        color: #a13535;
    }

    .claims-status.neutral {
        background: #edf1ef;
        color: #596762;
    }

.claims-state {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 220px;
    padding: 34px;
    color: #68766f;
}

.claims-empty-state {
    flex-direction: column;
    text-align: center;
}

.claims-empty-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-bottom: 3px;
    border-radius: 14px;
    background: #eef5f1;
    color: #2c7659;
    font-size: 1.2rem;
}

.claims-empty-state strong {
    color: #33423c;
    font-size: 1rem;
}

.claims-empty-state span {
    color: #75817d;
    font-size: .9rem;
}

.claims-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 18px;
    border-top: 1px solid #edf1ef;
    color: #6e7b76;
    font-size: .86rem;
}

.claims-pagination-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

    .claims-pagination-actions span {
        color: #53615c;
        font-weight: 700;
    }

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

    .claims-toolbar {
        grid-template-columns: minmax(240px, 1fr) 170px 170px;
    }

    .claims-reset-button {
        grid-column: 1 / -1;
        justify-self: start;
        min-height: 38px;
    }
}

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

    .claims-panel-header {
        flex-direction: column;
    }

    .claims-toolbar {
        grid-template-columns: 1fr;
    }

    .claims-reset-button {
        grid-column: auto;
    }

    .claims-pagination {
        flex-direction: column;
        align-items: stretch;
    }

    .claims-pagination-actions {
        justify-content: space-between;
    }
}

.claims-panel-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.claim-intake-stack {
    display: grid;
    gap: 16px;
}

.claim-member-picker {
    display: grid;
    gap: 8px;
}

.claim-member-search {
    position: relative;
    display: flex;
    align-items: center;
}

    .claim-member-search > i {
        position: absolute;
        left: 14px;
        color: #64736d;
        pointer-events: none;
    }

    .claim-member-search input {
        width: 100%;
        min-height: 46px;
        padding: 10px 14px 10px 42px;
        border: 1px solid #d8e2de;
        border-radius: 10px;
        outline: none;
        background: #fff;
        font-size: .94rem;
    }

        .claim-member-search input:focus {
            border-color: #69ad91;
            box-shadow: 0 0 0 3px rgba(40, 126, 91, .10);
        }

    .claim-member-search.has-error input,
    .claim-covered-person-list.has-error {
        border-color: #dc3545;
    }

.claim-member-results {
    overflow-y: auto;
    max-height: 225px;
    border: 1px solid #e0e7e4;
    border-radius: 10px;
    background: #fff;
}

.claim-member-option {
    display: flex;
    align-items: center;
    gap: 11px;
    width: 100%;
    padding: 11px 13px;
    border: 0;
    border-bottom: 1px solid #edf1ef;
    background: #fff;
    color: #28342f;
    text-align: left;
}

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

    .claim-member-option:hover {
        background: #f7faf8;
    }

    .claim-member-option > i {
        margin-left: auto;
        color: #7a8983;
    }

.claim-member-avatar {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 50%;
    background: #e4f1eb;
    color: #1c694d;
    font-size: .82rem;
    font-weight: 800;
}

.claim-member-option-copy,
.claim-selected-member-copy {
    display: grid;
    min-width: 0;
}

    .claim-member-option-copy strong,
    .claim-selected-member-copy strong {
        color: #28342f;
        font-size: .94rem;
    }

    .claim-member-option-copy small,
    .claim-selected-member-copy small {
        color: #74817c;
        font-size: .8rem;
    }

.claim-member-empty {
    padding: 18px;
    color: #71807a;
    text-align: center;
    font-size: .88rem;
}

.claim-selected-member {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #dce5e1;
    border-radius: 11px;
    background: #f8faf9;
}

.claim-selected-member-copy {
    flex: 1 1 auto;
}

.claim-change-member {
    color: #176448;
    font-weight: 700;
    text-decoration: none;
}

.claim-covered-person-list {
    display: grid;
    gap: 7px;
    max-height: 170px;
    overflow-y: auto;
    padding: 7px;
    border: 1px solid #dbe4e0;
    border-radius: 10px;
    background: #fbfcfb;
}

.claim-covered-person-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 9px 10px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: #37443f;
    text-align: left;
}

    .claim-covered-person-option span {
        color: #71807a;
        font-size: .8rem;
    }

    .claim-covered-person-option strong {
        font-size: .88rem;
    }

    .claim-covered-person-option:hover {
        background: #f0f5f2;
    }

    .claim-covered-person-option.active {
        border-color: #82bda4;
        background: #eaf4ef;
        color: #155d43;
    }

.claim-intake-note {
    display: flex;
    gap: 11px;
    padding: 13px 15px;
    border: 1px solid #dce8e2;
    border-radius: 11px;
    background: #f4f8f6;
    color: #4e6159;
}

    .claim-intake-note > i {
        margin-top: 1px;
        color: #28795a;
    }

    .claim-intake-note div {
        display: grid;
        gap: 2px;
    }

    .claim-intake-note strong {
        color: #2b3934;
        font-size: .9rem;
    }

    .claim-intake-note span {
        font-size: .84rem;
        line-height: 1.45;
    }

@media (max-width: 767.98px) {
    .claims-panel-actions {
        width: 100%;
        justify-content: space-between;
    }
}

/* Claim details and workflow */
.claim-details-dialog {
    max-width: 1040px;
}

.claim-details-loading {
    min-height: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #66746f;
}

.claim-details-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 18px;
    margin-bottom: 16px;
    border: 1px solid #dce6e1;
    border-radius: 12px;
    background: #f7faf8;
}

.claim-details-member {
    color: #24362f;
    font-size: 1.08rem;
    font-weight: 800;
}

.claim-details-meta {
    margin-top: 3px;
    color: #718079;
    font-size: .88rem;
}

.claim-details-hero-right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.claim-eligibility {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 800;
}

    .claim-eligibility.eligible {
        background: #e1f3e8;
        color: #17623f;
    }

    .claim-eligibility.ineligible {
        background: #fde8e8;
        color: #a13535;
    }

    .claim-eligibility.not-configured {
        background: #fff3cd;
        color: #765900;
    }

    .claim-eligibility.not-evaluated {
        background: #edf1ef;
        color: #596762;
    }

.claim-detail-tabs {
    display: flex;
    gap: 6px;
    padding: 5px;
    margin-bottom: 16px;
    border: 1px solid #dce5e1;
    border-radius: 11px;
    background: #f5f8f6;
    overflow-x: auto;
}

    .claim-detail-tabs button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        min-height: 38px;
        padding: 8px 13px;
        border: 0;
        border-radius: 8px;
        background: transparent;
        color: #617069;
        font-weight: 700;
        white-space: nowrap;
    }

        .claim-detail-tabs button.active {
            background: #fff;
            color: #176244;
            box-shadow: 0 1px 4px rgba(23,66,49,.12);
        }

.claim-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.claim-detail-card {
    padding: 17px 18px;
    border: 1px solid #dfe7e3;
    border-radius: 12px;
    background: #fff;
}

    .claim-detail-card h4, .claim-action-form h4 {
        margin: 0 0 4px;
        color: #2b3b35;
        font-size: 1rem;
        font-weight: 800;
    }

    .claim-detail-card > p {
        color: #748179;
        font-size: .87rem;
    }

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

.claim-detail-card dl {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 18px;
    margin: 16px 0 0;
}

    .claim-detail-card dl div {
        display: grid;
        gap: 2px;
    }

.claim-detail-card dt {
    color: #7c8883;
    font-size: .76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.claim-detail-card dd {
    margin: 0;
    color: #2d3c36;
    font-weight: 700;
}

.claim-eligibility-summary {
    display: grid;
    gap: 4px;
    margin-top: 16px;
    padding: 13px 14px;
    border-radius: 10px;
}

    .claim-eligibility-summary.eligible {
        background: #edf8f2;
        color: #1f6046;
    }

    .claim-eligibility-summary.ineligible {
        background: #fff0f0;
        color: #8d3434;
    }

    .claim-eligibility-summary.not-configured {
        background: #fff9e7;
        color: #775d0a;
    }

    .claim-eligibility-summary.not-evaluated {
        background: #f3f5f4;
        color: #596762;
    }

    .claim-eligibility-summary span {
        font-size: .87rem;
        line-height: 1.45;
    }

    .claim-eligibility-summary small {
        opacity: .78;
    }

.claim-detail-notes {
    margin: 12px 0 0;
    color: #4f5e58 !important;
    white-space: pre-wrap;
}

.claim-decision-note {
    display: grid;
    gap: 4px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #e6ebe8;
    color: #55635d;
}

.claim-action-form {
    padding: 16px 18px;
    border: 1px solid #d9e4df;
    border-radius: 12px;
    background: #f7faf8;
}

.claim-requirement-list {
    display: grid;
    gap: 8px;
}

.claim-requirement-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 13px;
    border: 1px solid #e1e7e4;
    border-radius: 10px;
}

    .claim-requirement-row > div:first-child {
        display: grid;
        gap: 2px;
        min-width: 0;
    }

    .claim-requirement-row span {
        color: #748079;
        font-size: .84rem;
    }

.claim-requirement-actions {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.claim-requirement-status {
    display: inline-flex;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: .75rem !important;
    font-weight: 800;
}

    .claim-requirement-status.pending {
        background: #fff3cd;
        color: #735900;
    }

    .claim-requirement-status.received {
        background: #e1f3e8;
        color: #17623f;
    }

    .claim-requirement-status.waived {
        background: #edf1ef;
        color: #596762;
    }

.claim-detail-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 170px;
    color: #728079;
    text-align: center;
}

    .claim-detail-empty > i {
        margin-bottom: 4px;
        color: #8ea49a;
        font-size: 1.55rem;
    }

    .claim-detail-empty strong {
        color: #4c5b55;
    }

.claim-document-list {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}

    .claim-document-list > div {
        display: flex;
        align-items: center;
        gap: 11px;
        padding: 11px 12px;
        border: 1px solid #e2e8e5;
        border-radius: 9px;
    }

    .claim-document-list i {
        color: #367a5d;
        font-size: 1.1rem;
    }

    .claim-document-list span {
        display: grid;
        gap: 1px;
    }

    .claim-document-list small {
        color: #7a8681;
    }

.claim-activity-list {
    display: grid;
    margin-top: 12px;
}

.claim-activity-item {
    position: relative;
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 9px;
    padding: 0 0 16px;
}

    .claim-activity-item:not(:last-child)::before {
        content: "";
        position: absolute;
        left: 5px;
        top: 13px;
        bottom: 0;
        width: 1px;
        background: #dce5e1;
    }

.claim-activity-dot {
    position: relative;
    z-index: 1;
    width: 11px;
    height: 11px;
    margin-top: 4px;
    border: 3px solid #dcefe5;
    border-radius: 50%;
    background: #2d795a;
}

.claim-activity-item > div {
    display: grid;
    gap: 2px;
}

.claim-activity-item span {
    color: #67766f;
    font-size: .85rem;
}

.claim-activity-item small {
    color: #87918d;
}

@media (max-width: 767.98px) {
    .claim-detail-grid {
        grid-template-columns: 1fr;
    }

    .claim-detail-wide {
        grid-column: auto;
    }

    .claim-details-hero, .claim-requirement-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .claim-detail-card dl {
        grid-template-columns: 1fr;
    }
}

.claim-type-select {
    position: relative;
}

.claim-type-select-trigger {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 48px;
    padding: 7px 12px;
    border: 1px solid #d8e1dc;
    border-radius: 9px;
    background: #fff;
    color: #35483f;
    text-align: left;
}

    .claim-type-select-trigger:hover {
        border-color: #b7c9bf;
    }

.claim-type-select.open .claim-type-select-trigger {
    border-color: #6aa388;
    box-shadow: 0 0 0 3px rgba(44,122,88,.1);
}

.claim-type-select.has-error .claim-type-select-trigger {
    border-color: #dc3545;
}

.claim-type-select-copy {
    display: grid;
    gap: 1px;
    flex: 1 1 auto;
    min-width: 0;
}

    .claim-type-select-copy small {
        color: #819087;
        font-size: .72rem;
        line-height: 1;
    }

    .claim-type-select-copy strong {
        overflow: hidden;
        font-size: .94rem;
        font-weight: 700;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.claim-type-select-trigger > i {
    margin-left: 12px;
    color: #74837b;
    font-size: .82rem;
}

.claim-type-select-dismiss {
    position: fixed;
    inset: 0;
    z-index: 1071;
    border: 0;
    background: transparent;
}

.claim-type-select-menu {
    position: absolute;
    z-index: 1072;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    overflow: auto;
    max-height: 260px;
    padding: 6px;
    border: 1px solid #dce4df;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(24,49,38,.15);
}

.claim-type-select-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 44px;
    padding: 8px 10px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #3d5047;
    text-align: left;
}

    .claim-type-select-option:hover, .claim-type-select-option.active {
        background: #edf5f1;
        color: #155d43;
    }

    .claim-type-select-option > span {
        display: grid;
        gap: 1px;
        min-width: 0;
    }

    .claim-type-select-option strong {
        font-size: .91rem;
    }

    .claim-type-select-option small {
        overflow: hidden;
        color: #7c8982;
        font-size: .76rem;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

/* Member claim requirement responses */
.claim-requirement-status.submitted {
    background: #e8f1fb;
    color: #315f8a;
}

.claim-requirement-status.replacement,
.claim-requirement-status.needs-replacement {
    background: #fdecec;
    color: #9a3f3f;
}

.claim-requirement-row-stacked {
    align-items: flex-start;
}

.claim-requirement-content {
    display: grid;
    gap: 3px;
    min-width: 0;
    flex: 1 1 auto;
}

.claim-requirement-files {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    margin-top: 7px;
}

    .claim-requirement-files a {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        color: #176244;
        font-size: .82rem;
        font-weight: 700;
        text-decoration: none;
    }

        .claim-requirement-files a:hover {
            text-decoration: underline;
        }

.member-claim-requirement-row {
    align-items: stretch;
}

.member-claim-requirement-main {
    display: grid !important;
    gap: 10px !important;
    width: 100%;
}

.member-claim-submitted-files {
    display: grid;
    gap: 6px;
    padding: 10px 12px;
    border-radius: 9px;
    background: #f7faf8;
}

    .member-claim-submitted-files > small {
        color: #66766e;
        font-weight: 700;
    }

    .member-claim-submitted-files a {
        display: grid;
        grid-template-columns: auto minmax(0,1fr) auto;
        align-items: center;
        gap: 7px;
        color: #176244;
        font-size: .83rem;
        text-decoration: none;
    }

        .member-claim-submitted-files a span {
            overflow: hidden;
            color: #176244;
            font-weight: 700;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .member-claim-submitted-files a small {
            color: #7b8982;
            white-space: nowrap;
        }

.member-claim-requirement-controls {
    padding-top: 2px;
}

.member-claim-response-form,
.member-claim-message-box {
    padding: 14px;
    border: 1px solid #dbe5e0;
    border-radius: 10px;
    background: #f8faf9;
}

    .member-claim-response-form .form-label,
    .member-claim-message-box .form-label {
        color: #374a41;
        font-weight: 700;
    }

.claim-document-list a {
    color: #245f48;
    text-decoration: none;
}

    .claim-document-list a:hover {
        text-decoration: underline;
    }

@media (max-width: 767.98px) {
    .member-claim-submitted-files a {
        grid-template-columns: auto minmax(0,1fr);
    }

        .member-claim-submitted-files a small {
            grid-column: 2;
        }
}

.claim-requirement-status.responded {
    background: #e8f1fb;
    color: #315f8a;
}

/* Keep the member requirement file picker aligned with the surrounding compact form controls. */
.member-claim-response-form input[type="file"].form-control {
    min-height: 44px;
    padding: 0 12px 0 0;
    overflow: hidden;
    line-height: 42px;
}

    .member-claim-response-form input[type="file"].form-control::file-selector-button {
        height: 42px;
        margin: 0 12px 0 0;
        padding: 0 14px;
        border: 0;
        border-right: 1px solid #dbe5e0;
        border-radius: 0;
        background: #eef4f1;
        color: #285544;
        font-weight: 700;
        line-height: 42px;
    }

    .member-claim-response-form input[type="file"].form-control:hover:not(:disabled)::file-selector-button {
        background: #e4eee9;
    }

/* Standard Member Services dialogs — aligned with the approved Member/User dialog language. */
.member-service-standard-dialog .modal-body,
.member-service-confirmation-dialog .modal-body {
    background: #f7f9f8;
}

.member-service-standard-dialog .modal-content,
.member-service-confirmation-dialog .modal-content {
    overflow: visible;
}

.member-service-standard-dialog .modal-body {
    overflow: visible;
}

.member-service-check-card {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin: 0;
    padding: 13px 14px;
    border: 1px solid #dce7e2;
    border-radius: 12px;
    background: #f8fbfa;
    cursor: pointer;
}

.member-service-check-card .form-check-input {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    border-color: #9db5aa;
}

.member-service-standard-dialog .form-check-input:checked,
.member-service-check-card .form-check-input:checked {
    border-color: var(--brand);
    background-color: var(--brand);
}

.member-service-standard-dialog .form-check-input:focus,
.member-service-check-card .form-check-input:focus {
    border-color: #6ca187;
    box-shadow: 0 0 0 .2rem rgba(27, 104, 74, .12);
}

.member-service-check-card > span {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.member-service-check-card strong {
    color: var(--ink);
    font-size: 14px;
}

.member-service-check-card small {
    color: var(--muted);
    font-size: 12.5px;
    line-height: 1.4;
}

.member-service-confirmation-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;
    padding: 18px;
    border: 1px solid #eadfbd;
    border-radius: 15px;
    background: #fffdf7;
}

.member-service-confirmation-card.danger {
    border-color: #efcccc;
    background: #fff8f8;
}

.member-service-confirmation-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: #fff4d8;
    color: #9a7100;
    font-size: 20px;
}

.member-service-confirmation-card.danger .member-service-confirmation-icon {
    background: #fdeaea;
    color: #b64141;
}

.member-service-confirmation-kicker {
    display: block;
    color: #8b7652;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.member-service-confirmation-card h4 {
    margin: 3px 0 5px;
    color: var(--ink);
    font-size: 16px;
    font-weight: 750;
}

.member-service-confirmation-card p {
    margin: 0;
    color: #596861;
    font-size: 13px;
    line-height: 1.5;
}

.member-service-confirmation-warning {
    margin-top: 12px;
    padding-top: 11px;
    border-top: 1px solid rgba(166, 80, 80, .16);
    color: #a23e3e;
    font-size: 12.5px;
    font-weight: 650;
    line-height: 1.4;
}

.member-service-standard-dialog .claim-details-hero {
    margin-bottom: 18px;
    padding: 20px 22px;
    border: 0;
    border-radius: 15px;
    background: linear-gradient(105deg, #0b3d2e 0%, #155a42 58%, #3f774b 100%);
    color: #fff;
}

.member-service-standard-dialog .claim-details-member,
.member-service-standard-dialog .claim-details-meta {
    color: #fff;
}

.member-service-standard-dialog .claim-details-meta {
    opacity: .78;
}

@media (max-width: 767.98px) {
    .member-service-confirmation-card {
        grid-template-columns: 1fr;
    }

    .member-service-standard-dialog .modal-body {
        overflow-y: auto;
    }
}

.member-service-standard-dialog .app-form-select.has-error .cashiering-select-trigger {
    border-color: #dc3545;
}

.member-service-standard-dialog .app-form-select.has-error .cashiering-select-trigger:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .10);
}
