/* Shared visual bridge for legacy page styles. Keep page-specific layouts intact
   while bringing controls back to the Clash-themed design system. */
:root {
    --clash-surface: #fffdf8;
    --clash-forest: #315f58;
    --clash-forest-dark: #1e3c43;
    --clash-forest-soft: #e7f1e5;
    --clash-forest-pale: #f1f5ed;
    --clash-gold: #c58a32;
    --clash-gold-soft: #fff1d3;
    --clash-ink: #20312f;
    --clash-muted: #6f7f7b;
    --clash-line: #d9dfd6;
    --clash-danger: #b84f43;
}

/* Primary action hierarchy */
button.btn-primary,
a.btn-primary,
.button-primary,
.btn.primary,
.ocr-workspace button.btn-primary,
.ocr-dialog button.btn-primary {
    background: linear-gradient(135deg, var(--clash-forest), var(--clash-forest-dark)) !important;
    border-color: #234b49 !important;
    color: #fffdf8 !important;
    box-shadow: 0 6px 15px rgba(30, 74, 67, .18);
}

button.btn-primary:hover,
a.btn-primary:hover,
.button-primary:hover,
.btn.primary:hover,
.ocr-workspace button.btn-primary:hover,
.ocr-dialog button.btn-primary:hover {
    background: linear-gradient(135deg, #3c766a, #28505b) !important;
    border-color: #28505b !important;
}

button.btn-secondary,
a.btn-secondary,
.button-secondary,
.ocr-workspace button,
.ocr-dialog button,
.file-upload-zone button {
    border-color: var(--clash-line) !important;
    background: #fffdf8 !important;
    color: var(--clash-ink) !important;
}

button.btn-secondary:hover,
a.btn-secondary:hover,
.button-secondary:hover,
.ocr-workspace button:hover,
.ocr-dialog button:hover,
.file-upload-zone button:hover {
    border-color: #b8c9b5 !important;
    background: #f6f8f1 !important;
}

button.btn-danger,
a.btn-danger,
.btn.danger {
    border-color: #e7beb8 !important;
    background: #fff0ed !important;
    color: var(--clash-danger) !important;
}

button.btn-danger:hover,
a.btn-danger:hover,
.btn.danger:hover {
    border-color: #d99f98 !important;
    background: #ffe4df !important;
}

/* Small utility actions that predate the shared button classes. */
.btn-admin-login {
    border-color: #7da58d !important;
    background: transparent !important;
    color: #315f58 !important;
}

.btn-admin-login:hover {
    border-color: #315f58 !important;
    background: #315f58 !important;
    color: #fffdf8 !important;
    box-shadow: 0 4px 12px rgba(49, 95, 88, .2) !important;
}

.btn-small {
    min-height: 34px !important;
    padding: 6px 11px !important;
    border: 1px solid #cbd8c9 !important;
    border-radius: 9px !important;
    background: #fffdf8 !important;
    color: #315f58 !important;
}

.btn-small:hover {
    border-color: #9dbb91 !important;
    background: #f1f5ed !important;
}

.btn-link,
.ocr-back-link,
.ocr-drop-link,
.ocr-match-action,
.section-link,
.quick-link,
.phone-roster-manage a,
.phone-member-actions > a,
.benefits-mobile-event-bottom a {
    color: #356b54 !important;
}

.btn-link:hover,
.ocr-back-link:hover,
.ocr-drop-link:hover,
.ocr-match-action:hover,
.section-link:hover,
.quick-link:hover,
.phone-roster-manage a:hover,
.phone-member-actions > a:hover,
.benefits-mobile-event-bottom a:hover {
    color: #234b49 !important;
}

/* Legacy blue state chips and selected controls. */
.badge,
.tag,
.ocr-badge,
.benefit-status.ready,
.benefits-application-kind,
.benefits-step-number,
.admin-role-badge,
.admin-action-tag,
.ocr-project-meta span {
    background: var(--clash-forest-soft) !important;
    color: #326647 !important;
}

.badge-warning,
.status-icon-warn,
.attention-warning .attention-card-icon {
    background: var(--clash-gold-soft) !important;
    color: #9b6921 !important;
}

.badge-danger,
.notice-error,
.benefit-status.cancelled,
.ocr-danger,
.ocr-project-workspace .ocr-table td:nth-child(6) button {
    border-color: #e7beb8 !important;
    background: #fff0ed !important;
    color: var(--clash-danger) !important;
}

.sort-option.is-active,
.phone-roster-sort button.is-active,
.benefits-application-page .benefits-mobile-member-results button[aria-pressed="true"],
.ocr-star-gallery .is-selected,
.once-member-option:has(input:checked) {
    border-color: #9dbb91 !important;
    background: var(--clash-forest-soft) !important;
    color: #326647 !important;
    box-shadow: inset 3px 0 var(--clash-gold);
}

/* Benefits and administration pages share the same parchment/card language. */
.benefits-page .benefits-view-switch,
.benefits-page .benefits-list-summary,
.benefits-page .benefits-create-conditions,
.benefits-page .benefits-member-select,
.benefits-page .benefits-upload-box,
.benefits-page .benefits-application-rule-hint,
.benefits-page .benefits-application-evidence-heading > span,
.admin-role-note,
.admin-log-count,
.admin-check,
.admin-clan-picker,
.admin-metric,
.admin-account-card,
.admin-log-scroll {
    border-color: var(--clash-line) !important;
    background: #fffdf8 !important;
}

.benefits-page .benefits-view-switch,
.benefits-page .benefits-list-summary,
.benefits-page .benefits-application-rule-hint,
.benefits-page .benefits-application-evidence-heading > span,
.admin-role-note,
.admin-log-count {
    color: var(--clash-muted) !important;
}

.benefits-page .benefits-upload-compact .benefits-upload-trigger {
    border-color: #b9d0b6 !important;
    background: #fffdf8 !important;
    color: #315f58 !important;
}

.benefits-page .benefits-upload-compact:focus-within .benefits-upload-trigger,
.benefit-event-row:focus-visible,
.benefits-disclosure > summary:focus-visible,
.md-battle-month > summary:focus-visible {
    outline-color: rgba(197, 138, 50, .72) !important;
}

.benefits-page .benefits-spending-cards [data-spending="month"],
.benefits-home-page [data-spending="month"] {
    background: linear-gradient(120deg, #e7f1e5, #fffdf8) !important;
    border-color: #c9dcc9 !important;
}

.benefits-home-page [data-spending="month"] strong,
.benefits-detail-metric-total > strong,
.benefits-editor-total > .benefits-editor-amount,
.benefits-editor-table tfoot .benefits-editor-amount,
.bl-total,
.bm-card-primary strong,
.bm-month-card-total strong {
    color: #326647 !important;
}

.benefits-page .benefits-archive-summary,
.benefits-page .benefits-reward-total,
.benefits-page .benefits-create-preview #benefit-preview-summary,
.benefits-page .benefits-application-sidebar .benefits-reward-total {
    border-color: #c9dcc9 !important;
    background: #e7f1e5 !important;
    color: #326647 !important;
}

.benefits-page .benefits-application-event,
.benefits-page .benefits-application-submit,
.benefits-page .benefits-detail-overview,
.benefits-page .benefits-create-preview {
    border-color: var(--clash-gold) !important;
}

.benefits-page .benefits-league-rank-rules fieldset,
.benefits-page .benefits-application-person {
    border-color: var(--clash-line) !important;
    background: var(--clash-forest-pale) !important;
}

.benefits-page .benefits-league-rank-rules legend,
.admin-account-details > summary {
    color: #356b54 !important;
}

.admin-account-avatar {
    border: 1px solid #c9dcc9 !important;
    background: #e7f1e5 !important;
    color: #326647 !important;
}

.admin-role-badge,
.admin-action-tag {
    border: 1px solid #c9dcc9 !important;
}

/* Focus rings use the same gold accent on desktop and touch layouts. */
:focus-visible,
.ocr-workspace button:focus-visible,
.ocr-dialog button:focus-visible {
    outline-color: rgba(197, 138, 50, .72) !important;
}

/* Upload and OCR surfaces */
.file-upload-zone,
.ocr-upload,
.ocr-upload-card .ocr-upload-picker,
.ocr-upload-picker .ocr-drop-target {
    border-color: #a9bea6 !important;
    background: linear-gradient(135deg, #f1f5ed, #fffdf8) !important;
}

.file-upload-zone.is-dragging,
.ocr-upload-picker.is-file-dragging .ocr-drop-target,
.ocr-upload-picker .ocr-drop-target:hover,
.ocr-upload-picker .ocr-drop-target:focus-within {
    border-color: #6f9b7a !important;
    background: #e7f1e5 !important;
    box-shadow: 0 0 0 3px rgba(111, 155, 122, .16) !important;
}

.ocr-drop-icon {
    border-color: #c9dcc9 !important;
    background: #e7f1e5 !important;
    color: #39715e !important;
}

.ocr-card,
.ocr-project-workspace .ocr-member-card,
.ocr-project-workspace .ocr-crop-card,
.ocr-project-workspace .ocr-source-card,
.ocr-project-workspace .ocr-primary-actions,
.ocr-upload-preview,
.ocr-picker-context,
.ocr-dialog,
.ocr-layout-dialog,
.ocr-star-group {
    border-color: var(--clash-line) !important;
    background: #fffdf8 !important;
    color: var(--clash-ink) !important;
}

.ocr-table tr,
.ocr-project-workspace .ocr-table tr,
.ocr-project-workspace .ocr-table tr:nth-child(even),
.ocr-project-workspace .ocr-table tr:hover {
    border-color: var(--clash-line) !important;
    background: #fffdf8 !important;
}

.ocr-table th,
.ocr-project-workspace .ocr-member-card-header,
.ocr-project-workspace .ocr-member-attacks-heading,
.ocr-project-workspace .ocr-table td:first-child .ocr-cell-stack,
.ocr-project-workspace .ocr-table td:nth-child(4),
.ocr-project-workspace .ocr-knife-field[data-label="地图序号 / 刀次"] .ocr-cell-stack {
    background: var(--clash-forest-pale) !important;
}

.ocr-heading .ocr-eyebrow,
.ocr-eyebrow,
.ocr-picker-current,
.ocr-picker-recommendations h3 {
    color: #356b54 !important;
}

.ocr-project-meta span,
.ocr-project-workspace .ocr-records .ocr-badge {
    border: 1px solid #c9dcc9 !important;
    background: var(--clash-forest-soft) !important;
    color: #326647 !important;
}

.ocr-workspace input,
.ocr-workspace select,
.ocr-dialog input,
.ocr-dialog select,
.ocr-layout-toolbar input,
.ocr-layout-toolbar select {
    border-color: #cbd8c9 !important;
    background: #fffdf8 !important;
    color: var(--clash-ink) !important;
}

.ocr-workspace input:focus,
.ocr-workspace select:focus,
.ocr-dialog input:focus,
.ocr-dialog select:focus {
    border-color: #7da58d !important;
    box-shadow: 0 0 0 3px rgba(111, 155, 122, .16) !important;
}

.ocr-workspace button.ocr-danger:hover,
.ocr-dialog button.ocr-danger:hover,
.ocr-project-workspace .ocr-table td:nth-child(6) button:hover {
    border-color: #d99f98 !important;
    background: #ffe4df !important;
    color: var(--clash-danger) !important;
}

.ocr-workspace progress,
.ocr-task-card progress {
    accent-color: var(--clash-forest) !important;
}

/* Mobile sticky action bars should feel like the same parchment surface. */
.ocr-project-workspace .ocr-primary-actions {
    border-color: var(--clash-line) !important;
    background: rgba(255, 253, 248, .96) !important;
    box-shadow: 0 -6px 24px rgba(32, 58, 48, .12) !important;
}

/* A few legacy phone-only navy panels. */
.phone-roster-summary {
    background: linear-gradient(135deg, var(--clash-forest-dark), #2e5f4c) !important;
}

.phone-roster,
.phone-member .member-name {
    color: var(--clash-ink) !important;
}

.phone-history input,
.phone-history select,
.war-phone .wp-filters input[type="search"],
.war-phone .wp-filters select {
    border-color: #cbd8c9 !important;
    background: #fffdf8 !important;
    color: var(--clash-ink) !important;
}

.war-phone .wp-heading {
    background: linear-gradient(135deg, var(--clash-forest-dark), #2e5f4c) !important;
}

.war-phone .wp-type { color: #d5e5dc !important; }
.war-phone .wp-heading p { color: #c8ddd0 !important; }
.war-phone .wp-position {
    background: var(--clash-forest-soft) !important;
    color: #39715e !important;
}
.war-phone .wp-member-actions button,
.war-phone .wp-zero-panel button {
    border: 1px solid var(--clash-line) !important;
    background: var(--clash-forest-pale) !important;
    color: #356b54 !important;
}
.war-phone .wp-member-actions button[aria-expanded="true"] {
    background: var(--clash-gold-soft) !important;
    border-color: #e6c985 !important;
    color: #8a6124 !important;
}

.wars-summary-icon.is-blue,
.st-summary-icon.is-blue {
    background: linear-gradient(145deg, #e7f1e5, #d6e8d5) !important;
    color: #39715e !important;
}

.backup-notice {
    border-left-color: var(--clash-gold) !important;
}

.war-data-repair-page .wdr-page {
    --wdr-blue: #356b54;
    --wdr-text: var(--clash-ink);
    --wdr-surface: #fffdf8;
    --wdr-soft: var(--clash-forest-pale);
    --wdr-line: var(--clash-line);
}

.allocation-page .allocation-toolbar,
.allocation-page .allocation-section,
.allocation-page .allocation-group,
.allocation-page .allocation-table-wrap,
.allocation-page .allocation-table,
.allocation-page #allocation-picker-list,
.allocation-page .allocation-picker-row,
.summary-report-panel,
.summary-table-wrap,
.summary-table,
.st-history-panel,
.st-table-wrap,
.st-war-table,
.wars-history-panel,
.wars-table-wrap,
.wars-data-table,
.history-overview,
.history-stat-grid,
.phone-history-filters,
.phone-history-card,
.bl-results,
.bl-member-card,
.benefits-table-wrap,
.benefits-event-scroll,
.benefits-editor-table-wrap,
.benefits-editor-table,
.once-members-wrap,
.once-member-detail,
.members-table-panel,
.members-table-wrap,
.members-data-table,
.members-overview-card,
.members-settings-card,
.members-role-card,
.phone-member,
.bm-card,
.bm-month-card,
.bm-scroll,
.md-table-wrap,
.md-stat-card,
.md-battle-table,
.md-league-table-wrap,
.wd-battle-summary,
.wd-distribution,
.wd-member-panel,
.wd-members-scroll,
.wp-overview > div,
.wp-distribution,
.wp-zero-panel,
.wp-filters,
.wp-member,
.sp-upload-card,
.sp-input-panel,
.sp-table-wrap,
.wdr-input-panel,
.wdr-editor-panel,
.wdr-output-panel,
.wdr-table-wrap,
.admin-panel {
    border-color: var(--clash-line) !important;
    background: #fffdf8 !important;
}

.allocation-page .allocation-table-wrap,
.summary-table-wrap,
.st-table-wrap,
.wars-table-wrap,
.benefits-table-wrap,
.benefits-event-scroll,
.benefits-editor-table-wrap,
.once-members-wrap,
.members-table-wrap,
.md-table-wrap,
.wd-members-scroll,
.wdr-table-wrap {
    border: 1px solid var(--clash-line) !important;
    border-radius: 12px;
    overflow: auto;
}

.allocation-page .allocation-group-roster {
    background: #f6f2e8 !important;
}

.allocation-page .allocation-member-chip {
    margin: 5px 0;
    padding: 10px 12px;
    border: 1px solid #e4dccb !important;
    border-radius: 10px;
    background: #fffdf8 !important;
    box-shadow: 0 2px 8px rgba(63, 75, 53, .05);
}

.allocation-page .allocation-member-chip:last-child {
    border-bottom: 1px solid #e4dccb !important;
}

.allocation-page .allocation-table tbody tr,
.summary-table tbody tr,
.st-war-table tbody tr,
.wars-data-table tbody tr,
.bl-table tbody tr,
.benefits-event-table tbody tr,
.benefits-editor-table tbody tr,
.once-compact-table tbody tr,
.members-data-table tbody tr,
.md-battle-table tbody tr,
.md-league-table tbody tr,
.wd-members-table tbody tr {
    background: #fffdf8;
}

.allocation-page .allocation-table tbody tr:hover,
.summary-table tbody tr:hover,
.st-war-table tbody tr:hover,
.wars-data-table tbody tr:hover,
.bl-table tbody tr:hover,
.benefits-event-table tbody tr:hover,
.benefits-editor-table tbody tr:hover,
.once-compact-table tbody tr:hover,
.members-data-table tbody tr:hover,
.md-battle-table tbody tr:hover,
.md-league-table tbody tr:hover,
.wd-members-table tbody tr:hover {
    background: #f1f5ed !important;
}

.app-content :where(.table-wrap, [class*="-table-wrap"], [class*="-table-scroll"], [class*="-event-scroll"], [class*="-members-scroll"]) {
    background: #fffdf8;
}

.app-content :where(table, .allocation-table, .summary-table, .st-war-table, .wars-data-table, .bl-table, .benefits-event-table, .benefits-editor-table, .once-compact-table, .members-data-table, .md-battle-table, .md-league-table, .wd-members-table) {
    background: #fffdf8 !important;
}

.app-content :where(th) {
    background: #f1f4ed !important;
}

@media (max-width: 700px) {
    .app-content :where(.card, .panel, .stat-card, .allocation-group, .phone-history-card, .phone-member, .wp-member, .bl-member-card, .once-member-detail, .members-overview-card, .members-role-card, .bm-card, .bm-month-card, .md-stat-card, .wd-member-panel, .ocr-member-card) {
        background-color: #fffdf8;
    }

    .app-content :where(.allocation-table tr, .bl-member-card, .once-member-detail, .phone-history-card, .phone-member, .wp-member, .ocr-table tr) {
        background: #fffdf8 !important;
        border-color: var(--clash-line) !important;
    }
}

/* Align legacy blue-white summary surfaces with the Clash parchment palette. */
.history-overview,
.history-stat-grid > div,
.phone-history-filters,
.phone-history-card,
.phone-history-stat-grid > div,
.phone-history-empty,
.wars-summary-card,
.members-kpi,
.members-settings-card,
.members-help-card,
.members-role-card,
.bl-filter,
.bl-leader,
.bl-results,
.bl-member-card,
.benefits-page .benefits-stats .panel,
.benefits-page .benefits-create-preview,
.benefits-page .benefits-application-evidence,
.benefits-page .benefits-application-submit,
.benefits-page .benefits-publish,
.once-month-summary {
    border-color: var(--clash-line) !important;
    background: #fffdf8 !important;
    color: var(--clash-ink);
}

.history-stat-grid > div,
.phone-history-stat-grid > div,
.members-kpi,
.bl-filter,
.benefits-page .benefits-stats .panel,
.benefits-page .benefits-application-evidence,
.benefits-page .benefits-publish,
.once-month-summary {
    background: linear-gradient(135deg, #fffdf8, var(--clash-forest-pale)) !important;
}

.history-stat-grid > div:nth-child(2),
.members-kpi:nth-child(2),
.benefits-page .benefits-stats .panel:nth-child(2) {
    border-left: 3px solid #8bad87 !important;
}

.history-stat-grid > div:nth-child(3),
.members-kpi:nth-child(3),
.benefits-page .benefits-stats .panel:nth-child(3) {
    border-left: 3px solid var(--clash-gold) !important;
}

.history-stat-grid > div:nth-child(4),
.members-kpi:nth-child(4) {
    border-left: 3px solid #5d8b8c !important;
}

.history-stat-grid span,
.history-stat-grid small,
.history-scope-note,
.phone-history-stat-grid span,
.members-kpi span,
.members-kpi small,
.bl-filter label,
.bl-summary,
.bl-note {
    color: var(--clash-muted) !important;
}

.history-stat-grid strong,
.phone-history-stat-grid strong,
.members-kpi strong,
.bl-summary strong,
.bl-leader-total,
.bl-member,
.bl-results-heading h2 {
    color: var(--clash-ink) !important;
}

.phone-history-month > summary {
    border: 1px solid var(--clash-line) !important;
    background: var(--clash-forest-pale) !important;
    color: var(--clash-ink) !important;
}

.phone-history-month > summary span {
    color: var(--clash-muted) !important;
}

.members-kpi .is-good,
.bl-total,
.benefits-page .benefits-stats strong {
    color: #326647 !important;
}

.member-avatar,
.members-role-icon,
.members-guide-icon {
    border-color: #c9dcc9 !important;
    background: var(--clash-forest-soft) !important;
    color: #326647 !important;
}

.members-bulkbar {
    border-color: #e6c985 !important;
    background: var(--clash-gold-soft) !important;
}

.benefits-page table thead,
.bl-table thead,
.once-members thead th {
    background: #f1f4ed !important;
}

.benefits-page table tbody tr,
.bl-table tbody tr,
.once-members tr.once-member-detail,
.benefit-event-row[data-once-event] td {
    background: #fffdf8 !important;
}

.benefits-page table tbody tr:hover,
.bl-table tbody tr:hover {
    background: var(--clash-forest-pale) !important;
}

.bl-leader[class*="bl-place-"] {
    background: linear-gradient(125deg, #f4f1e6, #fffdf8 72%) !important;
    border-color: var(--clash-line) !important;
}

.bl-card-heading {
    background: linear-gradient(110deg, #f4f1e6, #fffdf8 80%) !important;
}

.allocation-page .allocation-table th {
    background: #f1f4ed !important;
    color: var(--clash-muted) !important;
}

.allocation-page .allocation-table tbody tr,
.allocation-page .allocation-table tr {
    background: #fffdf8 !important;
    border-color: var(--clash-line) !important;
}

.allocation-group[data-palette] {
    --clan-accent: #39715e;
    --clan-soft: #e7f1e5;
    --clan-border: #c9dcc9;
    background: linear-gradient(145deg, #f4f1e6, #fffdf8 76%) !important;
    border-color: var(--clan-border) !important;
    border-top-color: var(--clan-accent) !important;
}

.allocation-group[data-palette="2"] {
    --clan-accent: #9a6a24;
    --clan-soft: #fff1d3;
    --clan-border: #e6c985;
}

.allocation-group[data-palette="3"] {
    --clan-accent: #356b54;
    --clan-soft: #e7f1e5;
    --clan-border: #c9dcc9;
}

.allocation-group[data-palette="4"] {
    --clan-accent: #9b5c50;
    --clan-soft: #fce8e2;
    --clan-border: #e7beb8;
}

.allocation-group[data-palette="5"] {
    --clan-accent: #39715e;
    --clan-soft: #e6f0ec;
    --clan-border: #c9dcc9;
}

.allocation-group[data-palette] .group-name {
    background: linear-gradient(135deg, var(--clan-soft), #fffdf8 82%) !important;
    border-top-color: var(--clan-accent) !important;
}

.allocation-group[data-palette] .allocation-member-chip {
    background: #fffdf8 !important;
    border-color: var(--clan-border) !important;
}

.allocation-group[data-palette] footer {
    background: rgba(255, 253, 248, .86) !important;
    border-color: var(--clan-border) !important;
}

.summary-report-panel,
.summary-table-wrap,
.summary-totals > .panel,
#summary-filter,
.summary-progress > div,
.summary-guide,
.summary-member-identity {
    border-color: var(--clash-line) !important;
    background: #fffdf8 !important;
}

.summary-progress > div,
.summary-guide,
.summary-member-identity {
    background: linear-gradient(135deg, #fffdf8, var(--clash-forest-pale)) !important;
}

.summary-table th {
    background: #f1f4ed !important;
    color: var(--clash-muted) !important;
}

.summary-table tbody tr,
.summary-table tr {
    background: #fffdf8 !important;
    border-color: var(--clash-line) !important;
}

.summary-table tbody tr:hover {
    background: var(--clash-forest-pale) !important;
}

/* Benefits cards, forms and mobile event tiles use the same shared surface. */
.benefits-page .benefits-panel,
.benefits-page .benefits-application-event,
.benefits-page .benefits-application-main,
.benefits-page .benefits-application-workspace,
.benefits-page .benefits-create-main,
.benefits-page .benefits-create-summary,
.benefits-page .benefits-detail-overview,
.benefits-page .benefits-detail-secondary > .benefits-panel,
.benefits-page .benefits-recipient,
.benefits-page .benefits-rule-history-item,
.benefits-mobile-event,
.benefits-picker,
.once-dialog {
    border-color: var(--clash-line) !important;
    background: #fffdf8 !important;
    color: var(--clash-ink);
}

.benefits-page .benefits-list-summary,
.benefits-page .benefits-create-conditions,
.benefits-page .benefits-application-rule-hint,
.benefits-page .benefits-application-evidence,
.benefits-page .benefits-application-person,
.benefits-page .benefits-lifecycle li,
.benefits-page .benefits-rule-history-item,
.benefits-page .benefits-upload-box,
.benefits-page .benefits-create-empty,
.benefits-page .benefits-screenshot-viewport,
.once-discount-info,
.once-member-option {
    border-color: var(--clash-line) !important;
    background: var(--clash-forest-pale) !important;
}

.benefits-page .benefits-application-workspace {
    border: 1px solid var(--clash-line) !important;
}

.benefits-page .benefits-application-person {
    border-color: var(--clash-line) !important;
}

.benefits-page .benefits-publish,
.benefits-page .benefits-create-preview,
.benefits-page .benefits-create-preview #benefit-preview-summary {
    border-color: #c9dcc9 !important;
    background: linear-gradient(135deg, #e7f1e5, #fffdf8) !important;
    color: #326647 !important;
}

.benefits-page .benefits-application-submit {
    border-color: #e6c985 !important;
    background: linear-gradient(135deg, #fff1d3, #fffdf8) !important;
}

.benefits-page .benefits-mobile-member-results button,
.benefits-page .benefits-roster label,
.once-member-option {
    border-color: var(--clash-line) !important;
    background: #fffdf8 !important;
    color: var(--clash-ink) !important;
}

.benefits-page .benefits-mobile-member-results button[aria-pressed="true"],
.once-member-option:has(input:checked) {
    border-color: #9dbb91 !important;
    background: var(--clash-forest-soft) !important;
    color: #326647 !important;
}

.benefits-page input:not([type="checkbox"]),
.benefits-page select,
.benefits-page textarea,
.benefits-picker input,
.benefits-picker select,
.benefits-picker textarea,
.once-dialog input,
.once-dialog select,
.once-dialog textarea {
    border-color: #cbd8c9 !important;
    background: #fffdf8 !important;
    color: var(--clash-ink) !important;
}

.benefits-page .benefits-event-table thead,
.benefits-page .benefits-event-table thead th,
.benefits-page .benefits-war-rewards thead,
.benefits-page .benefits-application-sidebar thead,
.benefits-page .benefits-editor-table thead,
.benefits-page .benefits-editor-table caption,
.benefits-page .benefits-month-heading,
.once-members thead th {
    background: #f1f4ed !important;
}

.benefits-page .benefits-event-table tbody tr,
.benefits-page .benefits-editor-table tbody tr,
.benefits-page .benefits-war-rewards tbody tr,
.benefits-page .benefits-application-sidebar tbody tr,
.once-members tbody tr {
    background: #fffdf8 !important;
}

.benefits-page .benefits-event-table tbody tr:hover,
.benefits-page .benefits-editor-table tbody tr:hover > *,
.benefits-page .benefits-war-rewards tbody tr:hover {
    background: var(--clash-forest-pale) !important;
}

.benefit-event-row[data-once-event] td,
.benefits-mobile-event[data-once-event] {
    border-color: #e6c985 !important;
    background: linear-gradient(135deg, #fff1d3, #fffdf8) !important;
}

/* Mobile member detail surfaces should stay within the parchment palette. */
.phone-roster .phone-member-metrics,
.phone-roster .phone-member-benefits {
    border: 1px solid var(--clash-line) !important;
    background: linear-gradient(135deg, #f1f5ed, #fffdf8) !important;
}

.phone-roster .phone-member-metrics > div + div {
    border-left-color: var(--clash-line) !important;
}

.phone-roster .phone-member-benefits span {
    color: var(--clash-muted) !important;
}

.phone-roster .phone-member-benefits strong {
    color: #326647 !important;
}

/* Neutralize legacy blue allocation headers while retaining clan accents. */
.allocation-page .allocation-group[data-palette] .group-name {
    background: linear-gradient(135deg, #f4f1e6, #fffdf8 82%) !important;
    border-top-color: var(--clan-accent) !important;
}

/* One-time mobile benefit cards use gold only as a restrained accent. */
.benefits-page .benefits-mobile-event[data-once-event] {
    border-color: #e6c985 !important;
    background: linear-gradient(135deg, #fff7e8, #fffdf8 78%) !important;
}

.benefits-page .benefits-mobile-event-bottom a {
    border: 1px solid #c9dcc9 !important;
    background: var(--clash-forest-soft) !important;
    color: #326647 !important;
}

.once-pinned-label {
    color: #8a6124 !important;
    background: var(--clash-gold-soft) !important;
}

/* Keep disabled controls readable against the parchment palette. */
button:disabled,
button[aria-disabled="true"],
a[aria-disabled="true"] {
    opacity: .58;
    filter: saturate(.65);
}

@media (max-width: 700px) {
    .actions > .btn-primary,
    .actions > .btn-secondary,
    .actions > .btn-danger,
    .ocr-actions > button,
    .ocr-actions > a {
        min-height: 42px;
    }

    .ocr-project-workspace .ocr-primary-actions button:first-of-type {
        background: var(--clash-forest-soft) !important;
        border-color: #b9d0b6 !important;
        color: #326647 !important;
    }
}
