/* Signal readability: explicit foreground/background pairs for shared surfaces. */
:root {
    --muted: #536158;
    --signal-muted: #536158;
    --client-muted: #536158;
    --danger: #842d24;
}
/* Keep auxiliary text readable on cream, paper and pale tinted panels. */
.app-body .eyebrow { color: #4f6259 !important; }
.product-browser > span, .section-number, .large-number { color: #59675f; }
.footer-bottom, .footer-links span { color: #b7c7c1; }
.wordmark em { color: #60544a; }
.wordmark.inverse em { color: #d9d1c6; }
input::placeholder, textarea::placeholder { color: #606d65; opacity: 1; }
.checker-steps > span, .onboarding-steps > span { color: #59645e; }
/* Accent buttons need dark text even when their parent uses white text. */
.button.button-accent, .conversion-band .button-accent, .final-cta .button-accent,
.contact-direct .button-accent { color: #183638; }
.button.button-accent span { color: inherit; }
button:disabled, .button:disabled, .primary-button:disabled, .secondary-button:disabled {
    opacity: 1; color: #4d5b53 !important; background: #e1e4dc !important;
    border-color: #aeb8b0 !important; cursor: not-allowed;
}
/* Sidebar labels and navigation symbols remain legible on every dark gradient. */
.app-sidebar .app-nav > p, .app-sidebar .app-nav > a > span:first-child,
.app-sidebar .locale-switcher-label { color: #c4d3ce; }
.app-sidebar .app-nav > a.active > span:first-child { color: #e6f45f; }
/* Restore dark surfaces displaced by the generic paper-panel/card rules. */
.panel.guardrail-panel, .panel.admin-action-card.dark,
.admin-metrics > article:first-child, .prospecting-metrics > article:first-child {
    background: #183638 !important; color: #fff;
    --muted: #c8d7d1; --signal-muted: #c8d7d1;
}
.admin-metrics > article:first-child > strong, .prospecting-metrics > article:first-child > strong { color: #fff; }
.admin-metrics > article:first-child > span, .admin-metrics > article:first-child > small,
.prospecting-metrics > article:first-child > span, .prospecting-metrics > article:first-child > small { color: #c8d7d1 !important; }
/* Dark component labels use their own palette rather than the light-page muted token. */
.app-body :is(.guardrail-panel,.constitution-card,.admin-action-card.dark,.integration-card-copy,.client-welcome,.home-patterns,.review-verdict-hero,.result-hero,.brand-cover) .eyebrow,
.app-body .eyebrow.light { color: #cedbd6 !important; }
.integration-card-copy .integration-index, .brand-system-version > span { color: #c3d3cc; }
[data-product-area="client"] .constitution-card .layer-list i { color: #183638; }
.protected-access > span { color: #526019; }
/* Public Decision Room illustration: captions and metadata sit on explicit surfaces. */
.decision-room-asset figcaption { background: #183638; color: #fff; }
.decision-room-thread > header small, .decision-room-thread > header span,
.thread-person p small, .decision-room-thread article footer span,
.decision-room-compose > span { color: #536158; }
.thread-person > span { color: #705116; }
.thread-person > span.resolved { color: #245b40; }
/* Result pages combine dark verdicts with light findings and metadata. */
.app-body .home-health-insights .eyebrow,
.app-body .review-first-action-card .eyebrow { color: #cedbd6 !important; }
.review-work-preview > span { color: #4a5a50; }
.asset-stage > p { color: #e1e9e4; }
.app-body .review-verdict-copy h2 { color: #fff; }
.review-score-orbit small { color: #d5ded9; }
.review-caught-list article > span, .review-pulse-title > span { color: #695340; }
.review-snapshot-heading > p, .review-dimension-card > p,
.review-findings-count > span, .finding-feedback > small,
.review-record-grid > div > span { color: #536158; }
.review-pulse-item strong em, .review-recommendation span { color: #4c5d21; }
.review-priorities .review-pulse-item strong em { color: #854637; }
.validation-version-row.current > span { color: #183638; }
.decision-panel form label { color: #d5e0da; }
.support-message.client header small { color: #3c5425; background: #edf1d8; }
.prospect-bulk-toolbar button:disabled { opacity: 1; }
.user-row.inactive { opacity: 1; }
/* Assistant metadata and read-only states stay readable without looking active. */
.signal-chat-kicker, .signal-chat-privacy, .signal-chat-scope,
.signal-chat-suggestions > p, .signal-chat-suggestions-head > p { color: #536158; }
.signal-chat-message small { color: #536158; opacity: 1; }
.signal-chat-message.user small { color: #d5e0da; }
.signal-chat button:disabled { opacity: 1; }
.signal-chat-thinking { opacity: 1; color: #536158; }
.support-mode-active .app-content form[method="post"]:not(.support-mode-exit) button {
    opacity: 1; cursor: not-allowed;
}
