/* Accepted warm light palette across FANGST. Screen-only and light-only:
   dark mode, layout, dialogs' structure, task/status hues and print are retained.
   Both explicit light and OS light are covered without a theme script. */
@media screen {
:root[data-theme=light] {
  --ui-ground:#eceeea;--ui-card:#fafbf8;--ui-board:#edf0e9;--ui-soft:#e1e6e1;
  --ui-line:#ccd3cc;--ui-ink:#25312e;--ui-ink2:#59675f;--ui-ink3:#66746c;
  --ui-petrol:#3d6057;--ui-head:#dde4dc;--ui-head-ink:#3b5146;--ui-period:#9eafa3;
  --ground:var(--ui-ground);--card:var(--ui-card);--board:var(--ui-board);--soft:var(--ui-soft);
  --line:var(--ui-line);--ink:var(--ui-ink);--ink2:var(--ui-ink2);--ink3:var(--ui-ink3);
  --preview-head:#e1e6e1;--preview-petrol:#3d6057;--preview-selected:#dfebe7;
}
:root[data-theme=light] body[data-session=app]:has(#v-meldinger.on) {
  --ground:var(--ui-ground);--card:var(--ui-card);--board:var(--ui-board);--soft:var(--ui-soft);
  --line:var(--ui-line);--ink:var(--ui-ink);--ink2:var(--ui-ink2);--ink3:var(--ui-ink3);
  --tv-hover:#e2eae0;--tv-petrol:var(--ui-petrol);--tv-period:var(--ui-period);
}
:root[data-theme=light] body[data-session=app]>.stage {background:var(--ui-ground)}

:root[data-theme=light] #v-tavla {
  --tv-canvas:#fafbf8;--tv-label-surface:#eef1ea;--tv-calendar-surface:#dde4dc;
  --tv-group-surface:#e5eae2;--tv-weekend-surface:#e7ebe3;
  --tv-grid-line:#ccd3cc;--tv-row-divider:#bac5bb;--tv-panel-item:#fafbf8;
  --tv-control-surface:#fff;--tv-hover:#e2eae0;--tv-petrol:#3d6057;--tv-period:#9eafa3;
}
:root[data-theme=light] #v-project {
  --pw-ground:#eceeea;--pw-card:#fafbf8;--pw-board:#edf0e9;--pw-soft:#e1e6e1;
  --pw-line:#ccd3cc;--pw-ink:#25312e;--pw-ink2:#59675f;--pw-ink3:#66746c;
  --pw-petrol:#3d6057;--pw-head:#dde4dc;--pw-head-ink:#3b5146;--pw-period:#9eafa3;
}
:root[data-theme=light] #v-tavla :is(#lensbar,#filters) {background:var(--board)}
:root[data-theme=light] #v-tavla :is(#lensbar>.l.on,.zoom button.on) {background:var(--preview-selected);color:var(--ink);border-color:#a9bdb2;box-shadow:none}
:root[data-theme=light] #v-tavla :is(.board,.puls) {border-color:#c0cbbf}
:root[data-theme=light] #v-tavla .puls {background:var(--board)}
:root[data-theme=light] :is(#v-tavla,#v-project) .tw-panel-tabs {background:var(--preview-head)}
:root[data-theme=light] :is(#v-tavla,#v-project) .tw-panel-tabs button {background:transparent;color:var(--ink2)}
:root[data-theme=light] :is(#v-tavla,#v-project) .tw-panel-tabs button.on {background:var(--preview-selected);color:#294c40;box-shadow:inset 0 -2px #6b8b7b}
:root[data-theme=light] :is(#v-tavla,#v-project) .tw-panel-tools {background:var(--board)}
:root[data-theme=light] :is(#v-tavla,#v-project) :is(.tw-panel-tools input,.tw-panel-tools select) {background:#fff;color:var(--ink);border-color:var(--line)}
:root[data-theme=light] #v-project .ws-head {background:#f5f7f1}
:root[data-theme=light] #v-project .ws-tabs {background:var(--board);border-bottom:1px solid var(--line)}
:root[data-theme=light] #v-project .ws-tabs button.on {background:var(--preview-selected);color:#294c40}
:root[data-theme=light] #v-project :is(.po-card>header,.project-detail-tab .sect>.sh2,.pb-header,.project-gantt-toolbar) {background:var(--preview-head)}
:root[data-theme=light] #v-project .po-attention>header {background:var(--card)}
:root[data-theme=light] #v-project .po-metrics {background:var(--card)}
:root[data-theme=light] #v-project :is(.pb-tools,.pb-summary,.bem-scope-note) {background:var(--board)}
:root[data-theme=light] #v-project .pb-layout .tw-head :is(.tw-label,.tw-date) {background:var(--pw-head);color:var(--pw-head-ink)}
:root[data-theme=light] #v-project .pb-layout .tw-head .tw-date.today {background:color-mix(in srgb,var(--hivis) 15%,var(--pw-head))}
:root[data-theme=light] #v-project .pb-layout .tw-row>.tw-label {background:#eef1ea}
:root[data-theme=light] #v-project .pb-layout .tw-row:hover>.tw-label {background:#e2eae0}
:root[data-theme=light] #v-project .pb-layout>.puls {background:var(--board)}
:root[data-theme=light] #v-project :is(.files-tools,.pd-upload-options,.project-hours) {background:var(--board)}
:root[data-theme=light] #v-project :is(input:not([type=checkbox]):not([type=range]),select,textarea) {background:#fff;color:var(--ink);border-color:var(--line)}
/* Planner lists, filters, Register and document pages. */
:root[data-theme=light] .aw-view :is(.ws-tabs,.ux-filters,.project-list-tools,.files-tools) {background:var(--ui-board)}
:root[data-theme=light] .aw-view .ws-tabs button.on {background:var(--preview-selected);color:#294c40}
:root[data-theme=light] .aw-view .ws-body {background:var(--ui-board)}
:root[data-theme=light] .aw-view :is(.pros-switch,.zoom) button.on {background:var(--preview-selected);color:var(--ui-ink);border-color:#a9bdb2;box-shadow:none}
:root[data-theme=light] :is(.aw-view,#v-project,.pp-content) :is(.files-tools,.pd-upload-options) {background:var(--ui-board)}
:root[data-theme=light] :is(.aw-view,#v-project) .register-audit>summary {background:var(--preview-head)}
/* Correspondence retains channel/status badges and existing bulk actions. */
:root[data-theme=light] #comms {--inbox-accent:var(--ui-petrol);--inbox-hover:#e2eae0}
:root[data-theme=light] #comms :is(.inbox-tabs,.inbox-main-filters,.inbox-conversation-head) {background:var(--ui-board)}
:root[data-theme=light] #comms .inbox-tabs button[aria-pressed=true] {background:var(--preview-selected);color:#294c40}
:root[data-theme=light] #comms .inbox-workspace>aside {background:var(--ui-board)}
:root[data-theme=light] #comms #comms-detail {background:var(--ui-card)}
/* Only surfaces change in the existing forms and dialogs. */
:root[data-theme=light] :is(.sheet>.sh,.sheet>.sf,.fangst-dialog .hub-head,.fangst-dialog .hub-footer,.puls-footer) {background:var(--preview-head)}
:root[data-theme=light] .fangst-dialog .hub-head {color:var(--ui-ink)}
:root[data-theme=light] .fangst-dialog :is(.file-card,.proposal,.ai-bubble,.ai-diff>div) {background:var(--ui-card);border-color:var(--ui-line);color:var(--ui-ink)}
:root[data-theme=light] .fangst-dialog :is(.ai-change,.ai-bubble.user) {background:var(--ui-board)}
:root[data-theme=light] .fangst-dialog :is(.hub-note,.puls-context,.puls-caption,.puls-facts small) {color:var(--ui-ink2)}
:root[data-theme=light] .collab-event-email {background:var(--ui-board);border-color:var(--ui-line)}
:root[data-theme=light] .guest-gantt-scroll {--card:var(--ui-card);--board:var(--ui-board);--soft:var(--ui-soft);--line:var(--ui-line);--ink:var(--ui-ink);--ink2:var(--ui-ink2);--ink3:var(--ui-ink3)}
:root[data-theme=light] :is(.sheet,.fangst-dialog,.puls-people) {background:var(--ui-card);color:var(--ui-ink);border-color:var(--ui-line)}
:root[data-theme=light] .hour-plan-sheet {--tv-modal-head:var(--preview-head);--tv-field-surface:#fff}
:root[data-theme=light] :is(#stage,.ov,.fangst-dialog,.pp-content,.loginbox) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([readonly]):not(:disabled),select:not(:disabled),textarea:not([readonly]):not(:disabled)) {background:#fff;color:var(--ui-ink);border-color:var(--ui-line)}
/* Partner and employee screens, including month/day and ordering panels. */
:root[data-theme=light] .pp-content :is(.ws-head,.partner-table-card>h3,.worker-calendar-header,.worker-calendar-weekday) {background:var(--preview-head)}
:root[data-theme=light] .pp-content :is(.ws-tabs,.partner-projects,.work-instructions) {background:var(--ui-board)}
:root[data-theme=light] .pp-content .ws-tabs button.on {background:var(--preview-selected);color:#294c40}
:root[data-theme=light] .pp-content .worker-calendar {background:var(--ui-board)}
:root[data-theme=light] .pp-content .worker-calendar-day:not(.has-work):not(.has-absence):not(.today) {background:var(--ui-card)}
/* Public account/guest/platform pages retain their current layout and dark behaviour. */
:root[data-theme=light] body:has(>main):not([data-session=app]):not(.worker-preview) {background:var(--ui-ground);color:var(--ui-ink)}
:root[data-theme=light] body:has(>main):not([data-session=app]) :is(main>.card,main .card,main .order-card) {background:var(--ui-card);color:var(--ui-ink);border-color:var(--ui-line)}
:root[data-theme=light] body:has(>main):not([data-session=app]) main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([readonly]):not(:disabled),select:not(:disabled),textarea:not([readonly]):not(:disabled)) {background:#fff;color:var(--ui-ink);border-color:var(--ui-line)}
:root[data-theme=light] body:has(>main):not([data-session=app]) main :is(table th,.platform-filters) {background:var(--ui-head);color:var(--ui-head-ink);border-color:var(--ui-line)}
:root[data-theme=light] body:has(>main):not([data-session=app]) main :is(.muted,small) {color:var(--ui-ink2)}

}
@media screen and (prefers-color-scheme:light) {
:root:not([data-theme=dark]) {
  --ui-ground:#eceeea;--ui-card:#fafbf8;--ui-board:#edf0e9;--ui-soft:#e1e6e1;
  --ui-line:#ccd3cc;--ui-ink:#25312e;--ui-ink2:#59675f;--ui-ink3:#66746c;
  --ui-petrol:#3d6057;--ui-head:#dde4dc;--ui-head-ink:#3b5146;--ui-period:#9eafa3;
  --ground:var(--ui-ground);--card:var(--ui-card);--board:var(--ui-board);--soft:var(--ui-soft);
  --line:var(--ui-line);--ink:var(--ui-ink);--ink2:var(--ui-ink2);--ink3:var(--ui-ink3);
  --preview-head:#e1e6e1;--preview-petrol:#3d6057;--preview-selected:#dfebe7;
}
:root:not([data-theme=dark]) body[data-session=app]:has(#v-meldinger.on) {
  --ground:var(--ui-ground);--card:var(--ui-card);--board:var(--ui-board);--soft:var(--ui-soft);
  --line:var(--ui-line);--ink:var(--ui-ink);--ink2:var(--ui-ink2);--ink3:var(--ui-ink3);
  --tv-hover:#e2eae0;--tv-petrol:var(--ui-petrol);--tv-period:var(--ui-period);
}
:root:not([data-theme=dark]) body[data-session=app]>.stage {background:var(--ui-ground)}

:root:not([data-theme=dark]) #v-tavla {
  --tv-canvas:#fafbf8;--tv-label-surface:#eef1ea;--tv-calendar-surface:#dde4dc;
  --tv-group-surface:#e5eae2;--tv-weekend-surface:#e7ebe3;
  --tv-grid-line:#ccd3cc;--tv-row-divider:#bac5bb;--tv-panel-item:#fafbf8;
  --tv-control-surface:#fff;--tv-hover:#e2eae0;--tv-petrol:#3d6057;--tv-period:#9eafa3;
}
:root:not([data-theme=dark]) #v-project {
  --pw-ground:#eceeea;--pw-card:#fafbf8;--pw-board:#edf0e9;--pw-soft:#e1e6e1;
  --pw-line:#ccd3cc;--pw-ink:#25312e;--pw-ink2:#59675f;--pw-ink3:#66746c;
  --pw-petrol:#3d6057;--pw-head:#dde4dc;--pw-head-ink:#3b5146;--pw-period:#9eafa3;
}
:root:not([data-theme=dark]) #v-tavla :is(#lensbar,#filters) {background:var(--board)}
:root:not([data-theme=dark]) #v-tavla :is(#lensbar>.l.on,.zoom button.on) {background:var(--preview-selected);color:var(--ink);border-color:#a9bdb2;box-shadow:none}
:root:not([data-theme=dark]) #v-tavla :is(.board,.puls) {border-color:#c0cbbf}
:root:not([data-theme=dark]) #v-tavla .puls {background:var(--board)}
:root:not([data-theme=dark]) :is(#v-tavla,#v-project) .tw-panel-tabs {background:var(--preview-head)}
:root:not([data-theme=dark]) :is(#v-tavla,#v-project) .tw-panel-tabs button {background:transparent;color:var(--ink2)}
:root:not([data-theme=dark]) :is(#v-tavla,#v-project) .tw-panel-tabs button.on {background:var(--preview-selected);color:#294c40;box-shadow:inset 0 -2px #6b8b7b}
:root:not([data-theme=dark]) :is(#v-tavla,#v-project) .tw-panel-tools {background:var(--board)}
:root:not([data-theme=dark]) :is(#v-tavla,#v-project) :is(.tw-panel-tools input,.tw-panel-tools select) {background:#fff;color:var(--ink);border-color:var(--line)}
:root:not([data-theme=dark]) #v-project .ws-head {background:#f5f7f1}
:root:not([data-theme=dark]) #v-project .ws-tabs {background:var(--board);border-bottom:1px solid var(--line)}
:root:not([data-theme=dark]) #v-project .ws-tabs button.on {background:var(--preview-selected);color:#294c40}
:root:not([data-theme=dark]) #v-project :is(.po-card>header,.project-detail-tab .sect>.sh2,.pb-header,.project-gantt-toolbar) {background:var(--preview-head)}
:root:not([data-theme=dark]) #v-project .po-attention>header {background:var(--card)}
:root:not([data-theme=dark]) #v-project .po-metrics {background:var(--card)}
:root:not([data-theme=dark]) #v-project :is(.pb-tools,.pb-summary,.bem-scope-note) {background:var(--board)}
:root:not([data-theme=dark]) #v-project .pb-layout .tw-head :is(.tw-label,.tw-date) {background:var(--pw-head);color:var(--pw-head-ink)}
:root:not([data-theme=dark]) #v-project .pb-layout .tw-head .tw-date.today {background:color-mix(in srgb,var(--hivis) 15%,var(--pw-head))}
:root:not([data-theme=dark]) #v-project .pb-layout .tw-row>.tw-label {background:#eef1ea}
:root:not([data-theme=dark]) #v-project .pb-layout .tw-row:hover>.tw-label {background:#e2eae0}
:root:not([data-theme=dark]) #v-project .pb-layout>.puls {background:var(--board)}
:root:not([data-theme=dark]) #v-project :is(.files-tools,.pd-upload-options,.project-hours) {background:var(--board)}
:root:not([data-theme=dark]) #v-project :is(input:not([type=checkbox]):not([type=range]),select,textarea) {background:#fff;color:var(--ink);border-color:var(--line)}
/* Planner lists, filters, Register and document pages. */
:root:not([data-theme=dark]) .aw-view :is(.ws-tabs,.ux-filters,.project-list-tools,.files-tools) {background:var(--ui-board)}
:root:not([data-theme=dark]) .aw-view .ws-tabs button.on {background:var(--preview-selected);color:#294c40}
:root:not([data-theme=dark]) .aw-view .ws-body {background:var(--ui-board)}
:root:not([data-theme=dark]) .aw-view :is(.pros-switch,.zoom) button.on {background:var(--preview-selected);color:var(--ui-ink);border-color:#a9bdb2;box-shadow:none}
:root:not([data-theme=dark]) :is(.aw-view,#v-project,.pp-content) :is(.files-tools,.pd-upload-options) {background:var(--ui-board)}
:root:not([data-theme=dark]) :is(.aw-view,#v-project) .register-audit>summary {background:var(--preview-head)}
/* Correspondence retains channel/status badges and existing bulk actions. */
:root:not([data-theme=dark]) #comms {--inbox-accent:var(--ui-petrol);--inbox-hover:#e2eae0}
:root:not([data-theme=dark]) #comms :is(.inbox-tabs,.inbox-main-filters,.inbox-conversation-head) {background:var(--ui-board)}
:root:not([data-theme=dark]) #comms .inbox-tabs button[aria-pressed=true] {background:var(--preview-selected);color:#294c40}
:root:not([data-theme=dark]) #comms .inbox-workspace>aside {background:var(--ui-board)}
:root:not([data-theme=dark]) #comms #comms-detail {background:var(--ui-card)}
/* Only surfaces change in the existing forms and dialogs. */
:root:not([data-theme=dark]) :is(.sheet>.sh,.sheet>.sf,.fangst-dialog .hub-head,.fangst-dialog .hub-footer,.puls-footer) {background:var(--preview-head)}
:root:not([data-theme=dark]) .fangst-dialog .hub-head {color:var(--ui-ink)}
:root:not([data-theme=dark]) .fangst-dialog :is(.file-card,.proposal,.ai-bubble,.ai-diff>div) {background:var(--ui-card);border-color:var(--ui-line);color:var(--ui-ink)}
:root:not([data-theme=dark]) .fangst-dialog :is(.ai-change,.ai-bubble.user) {background:var(--ui-board)}
:root:not([data-theme=dark]) .fangst-dialog :is(.hub-note,.puls-context,.puls-caption,.puls-facts small) {color:var(--ui-ink2)}
:root:not([data-theme=dark]) .collab-event-email {background:var(--ui-board);border-color:var(--ui-line)}
:root:not([data-theme=dark]) .guest-gantt-scroll {--card:var(--ui-card);--board:var(--ui-board);--soft:var(--ui-soft);--line:var(--ui-line);--ink:var(--ui-ink);--ink2:var(--ui-ink2);--ink3:var(--ui-ink3)}
:root:not([data-theme=dark]) :is(.sheet,.fangst-dialog,.puls-people) {background:var(--ui-card);color:var(--ui-ink);border-color:var(--ui-line)}
:root:not([data-theme=dark]) .hour-plan-sheet {--tv-modal-head:var(--preview-head);--tv-field-surface:#fff}
:root:not([data-theme=dark]) :is(#stage,.ov,.fangst-dialog,.pp-content,.loginbox) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([readonly]):not(:disabled),select:not(:disabled),textarea:not([readonly]):not(:disabled)) {background:#fff;color:var(--ui-ink);border-color:var(--ui-line)}
/* Partner and employee screens, including month/day and ordering panels. */
:root:not([data-theme=dark]) .pp-content :is(.ws-head,.partner-table-card>h3,.worker-calendar-header,.worker-calendar-weekday) {background:var(--preview-head)}
:root:not([data-theme=dark]) .pp-content :is(.ws-tabs,.partner-projects,.work-instructions) {background:var(--ui-board)}
:root:not([data-theme=dark]) .pp-content .ws-tabs button.on {background:var(--preview-selected);color:#294c40}
:root:not([data-theme=dark]) .pp-content .worker-calendar {background:var(--ui-board)}
:root:not([data-theme=dark]) .pp-content .worker-calendar-day:not(.has-work):not(.has-absence):not(.today) {background:var(--ui-card)}
/* Public account/guest/platform pages retain their current layout and dark behaviour. */
:root:not([data-theme=dark]) body:has(>main):not([data-session=app]):not(.worker-preview) {background:var(--ui-ground);color:var(--ui-ink)}
:root:not([data-theme=dark]) body:has(>main):not([data-session=app]) :is(main>.card,main .card,main .order-card) {background:var(--ui-card);color:var(--ui-ink);border-color:var(--ui-line)}
:root:not([data-theme=dark]) body:has(>main):not([data-session=app]) main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([readonly]):not(:disabled),select:not(:disabled),textarea:not([readonly]):not(:disabled)) {background:#fff;color:var(--ui-ink);border-color:var(--ui-line)}
:root:not([data-theme=dark]) body:has(>main):not([data-session=app]) main :is(table th,.platform-filters) {background:var(--ui-head);color:var(--ui-head-ink);border-color:var(--ui-line)}
:root:not([data-theme=dark]) body:has(>main):not([data-session=app]) main :is(.muted,small) {color:var(--ui-ink2)}

}
