/* Theme-aware UI surfaces. Artwork, brand icons and QR output keep their own colors. */
:root{--theme-accent-soft:#fff6d5;--theme-accent-ink:#735600;--theme-success-soft:#e1f2e6;--theme-success-ink:#24643a;--theme-info-soft:#e7efff;--theme-info-ink:#245591;--theme-danger-soft:#fce7e7;--theme-danger-ink:#a02732}
:root[data-theme=dark]{--theme-accent-soft:#38321f;--theme-accent-ink:#f4d773;--theme-success-soft:#233c2c;--theme-success-ink:#a6dfb6;--theme-info-soft:#24364d;--theme-info-ink:#b1d3ff;--theme-danger-soft:#46292d;--theme-danger-ink:#ffb5bc}
/* Contact: align the page, channels and utility buttons with the storefront. */
#contact-studio .cs-hero{background:transparent;color:var(--ink)}
#contact-studio :is(.cs-panel,.cs-channel,.cs-email button,.cs-email-open){background:var(--white);color:var(--ink);border-color:var(--line)}
#contact-studio .cs-order-note{background:var(--surface);color:var(--ink)}
#contact-studio .cs-shops{background:var(--theme-accent-soft)}
#contact-studio .cs-channel:hover{background:var(--surface);border-color:var(--yellow)}
#contact-studio .cs-outline{border-color:var(--line);color:var(--ink)}
#contact-studio .cs-copy-status{color:var(--theme-success-ink)}
#contact-studio .cs-order-note>svg{color:#191919}
#contact-studio :is(.cs-mini,.cs-envelope){color:#191919}
#contact-studio .cs-black{background:var(--ink);color:var(--white)}
#contact-studio .cs-help{color:#fff}
/* About and client workspaces: tinted panels must not stay cream in dark mode. */
.an-edit-bar{background:var(--theme-accent-soft);color:var(--ink);border-color:var(--line)}
#about-notebook .an-highlight{background:var(--theme-accent-soft);color:var(--theme-accent-ink)!important}
.an-snapshot img,.an-project-picture{background:var(--surface)}
.an-disc,.an-step-number,.an-share-icon,.an-status,.an-index{background:var(--theme-accent-soft);color:var(--theme-accent-ink);border-color:var(--line)}
#about-notebook .an-contact{background:var(--theme-accent-soft);border-color:var(--line)}
#about-notebook .an-contact :is(h2,p,.an-kicker){color:var(--ink)}
.ws-create{background:var(--theme-accent-soft);color:var(--ink);border-color:var(--line)}
.ws-create summary small{color:var(--muted)}
.ws-create-icon,.ws-key,.ws-toolbar h2 span{background:var(--theme-accent-soft);color:var(--theme-accent-ink)}
.ws-status{background:var(--surface);color:var(--muted)}
.ws-status.is-active{background:var(--theme-success-soft);color:var(--theme-success-ink)}
.ws-dark,.ws-open{background:var(--ink);color:var(--white)}
.sr-private{background:var(--theme-accent-soft);color:var(--theme-accent-ink)}
.sr-model-tabs button[aria-pressed=true]{background:var(--theme-accent-soft);color:var(--ink)}
.sr-model-tabs button>span{background:var(--surface);color:var(--muted)}
.sample-model:fullscreen{background:var(--white)!important;color:var(--ink)}
/* Selected counts, form helpers and service dialogs. */
.project-hub-filters button[aria-pressed=true] small,.tools-categories button[aria-pressed=true] small{color:inherit;opacity:1}
.pp-step b{color:var(--theme-accent-ink)}
#pp-error{color:var(--theme-danger-ink)}
.pp-heading>span,.pp-benefits>div>svg,.tts-studio .tts-step,.tts-message-state{background:var(--theme-accent-soft);color:var(--theme-accent-ink)}
[data-status=read] .tts-message-state{background:var(--theme-success-soft);color:var(--theme-success-ink)}
[data-status=skipped] .tts-message-state{background:var(--theme-danger-soft);color:var(--theme-danger-ink)}
.service-qr-modal{background:var(--white);color:var(--ink);border-color:var(--line)}
.service-qr-modal .qr-close{background:var(--surface);color:var(--ink)}
/* Consistent status colors across projects, farm, research and administration. */
.ps-added,.gd-added,.ls-tags .ls-state-completed,.devlog-status-added,.admin-content-status.status-published,.moderation-status.is-approved{background:var(--theme-success-soft);color:var(--theme-success-ink)}
.ps-changed,.devlog-status-changed{background:var(--theme-info-soft);color:var(--theme-info-ink)}
.ps-fixed,.devlog-status-fixed,.ls-tags .ls-state-running,.moderation-status.is-pending{background:var(--theme-accent-soft);color:var(--theme-accent-ink)}
.ps-removed,.devlog-status-remove{background:var(--theme-danger-soft);color:var(--theme-danger-ink)}
.hd-round-count,.hd-cycle-icon,.hd-state,.hd-dot,.rd-chip,.pd-tag,.ls-sample{background:var(--theme-accent-soft);color:var(--theme-accent-ink)}
.hd-event-harvest .hd-dot{background:var(--theme-success-soft);color:var(--theme-success-ink)}
.hd-event-loss .hd-dot{background:var(--surface);color:var(--muted)}
.hd-months meter::-webkit-meter-bar{background:var(--surface-strong)}
.province-list [role=option]:hover,.province-list [aria-selected=true]{background:var(--theme-accent-soft);color:var(--ink)}
/* Small labels retain readable contrast on emphasized cards and activity states. */
.ps-picture>span{background:var(--white);color:var(--ink)}
.hs-totals small{color:inherit}
.pt-job>strong{color:var(--theme-accent-ink)}
/* Yellow emphasis uses a paired foreground instead of mixing into mid-tone gray. */
.hs-totals>div:first-child,.hs-months>div.is-selected,.hs-month-highlight,.ls-callout{background:var(--theme-accent-soft);color:var(--ink)}
#main .pf-status.pf-waiting{color:var(--theme-accent-ink)}
.item-hot{background:#bd2944;color:#fff}
.tts-layout #tts-state[data-state=disconnected]{background:var(--theme-danger-soft);color:var(--theme-danger-ink)}
/* Detail views loaded after the directory use the same semantic palette. */
#main .gd-badge.gd-added{background:var(--theme-success-soft);color:var(--theme-success-ink);border-color:var(--theme-success-ink)}
#main .gd-badge.gd-changed{background:var(--theme-info-soft);color:var(--theme-info-ink);border-color:var(--theme-info-ink)}
#main .gd-badge.gd-fixed{background:var(--theme-accent-soft);color:var(--theme-accent-ink);border-color:var(--theme-accent-ink)}
#main .gd-badge.gd-removed{background:var(--theme-danger-soft);color:var(--theme-danger-ink);border-color:var(--theme-danger-ink)}
#main :is(.hd-secondary,.hd-cycle aside,.hd-months .has-harvest){background:var(--theme-accent-soft)}
#main .pd-main-image>span{background:#253524;color:#fff}
#main .pf-current{background:var(--theme-accent-soft);color:var(--ink)}
#main .pf-current small{color:var(--muted)}
