/* Papéis de cor comuns aos componentes, incluindo elementos fora de .app. */
:root{--theme-accent-surface:#e9f7f3;--theme-accent-ink:#076875;--positive-bg:#e3f5e9;--positive-ink:#145c31;--warning-bg:#fff2bf;--warning-ink:#725400;--negative-bg:#ffe0e0;--negative-ink:#9c2020;--neutral-bg:#f0f2f4;--neutral-ink:#52616e}
html[data-goob-theme]:not([data-goob-theme=original]){--surface:var(--theme-surface);--line:var(--card-border);--accent:var(--theme-accent-ink);--theme-accent-surface:color-mix(in srgb,var(--navy) 10%,var(--theme-surface));--theme-accent-ink:var(--navy)}
html[data-goob-theme=dark]:not([data-goob-theme=original]){--theme-accent-surface:#244356;--theme-accent-ink:#b4e9ff;--positive-bg:#164733;--positive-ink:#e5fff1;--warning-bg:#57440c;--warning-ink:#fff7cc;--negative-bg:#642633;--negative-ink:#fff0f1;--neutral-bg:#2b3647;--neutral-ink:#d1dbea}
html[data-goob-theme]:not([data-goob-theme=original]) .app :is(h1,h2,h3,h4){color:var(--ink)}
html[data-goob-theme]:not([data-goob-theme=original]) :is(.service-mark,.step-dot,.service-book,.password-toggle,.chat-suggestion,.calendar-slot){background:var(--theme-accent-surface);color:var(--theme-accent-ink);border-color:var(--card-border)}
html[data-goob-theme]:not([data-goob-theme=original]) .password-toggle:hover{background:color-mix(in srgb,var(--navy) 20%,var(--theme-surface))}
html[data-goob-theme]:not([data-goob-theme=original]) :is(.month-grid,.week-grid,.agenda-pick-grid,.receipt-table table,.receipt-table th,.receipt-table td,.chat-answer,.generated-copy,.link-preview,.plan-option,.standard-plan){background:var(--theme-surface);color:var(--ink);border-color:var(--card-border)}
html[data-goob-theme]:not([data-goob-theme=original]) :is(.calendar-weekday,.calendar-blank,.agenda-pick-day,.week-column){background:var(--neutral-bg);color:var(--neutral-ink);border-color:var(--card-border)}
html[data-goob-theme]:not([data-goob-theme=original]) :is(.calendar-day-cell,.slot-button,.agenda-pick-day){border-color:var(--card-border)!important}
html[data-goob-theme]:not([data-goob-theme=original]) :is(.slot-button,.agenda-pick-day.is-selected,.plan-option:has(input:checked)){background:var(--theme-accent-surface);color:var(--theme-accent-ink)}
html[data-goob-theme]:not([data-goob-theme=original]) :is(.calendar-status-free,.free,.slot-status-available,.booking-state-open,.booking-confirmed,.slot-legend span:nth-child(1)){background:var(--positive-bg);color:var(--positive-ink)}
html[data-goob-theme]:not([data-goob-theme=original]) :is(.calendar-status-partial,.partial,.slot-button[aria-pressed=true],.slot-legend span:nth-child(4)){background:var(--warning-bg);color:var(--warning-ink)}
html[data-goob-theme]:not([data-goob-theme=original]) :is(.calendar-status-full,.full,.slot-status-reserved,.booking-state-cancelled,.booking-state-customer_cancelled,.customer-booking-cancel,.slot-legend span:nth-child(2)){background:var(--negative-bg);color:var(--negative-ink)}
html[data-goob-theme]:not([data-goob-theme=original]) :is(.calendar-status-unavailable,.calendar-blank,.slot-status-unavailable,.slot-legend span:nth-child(3)){background:var(--neutral-bg);color:var(--neutral-ink)}
html[data-goob-theme]:not([data-goob-theme=original]) :is(.calendar-day-cell,.calendar-slot,.slot-button,.booking-state,.booking-confirmed) :is(span,small,strong,p,b){color:inherit}
html[data-goob-theme]:not([data-goob-theme=original]) :is(.chat-customer,.professional-initials,.registration-aside){background:var(--navy);color:var(--primary-ink,#fff)}
html[data-goob-theme]:not([data-goob-theme=original]) .registration-aside :is(h2,p,li,.eyebrow){color:inherit}
html[data-goob-theme]:not([data-goob-theme=original]) :is(.booking-state-completed,.register-link){background:var(--theme-accent-surface);color:var(--theme-accent-ink)}
html[data-goob-theme]:not([data-goob-theme=original]) :is(.service-remaining,.public-services article p,.public-locations p,.client-note,.zone-label,.booking-progress){color:var(--muted)}
@media print{.printing-client,.printing-agenda{--theme-surface:#fff;--ink:#000;--muted:#333;--navy:#000;--primary-ink:#fff}}

html[data-goob-theme]:not([data-goob-theme=original]) .professional-hero p{color:var(--muted)}
html[data-goob-theme]:not([data-goob-theme=original]) .campaign-card b{color:var(--ink)}

html[data-goob-theme]:not([data-goob-theme=original]) :is(.agenda-edit-context,.agenda-view-config,.agenda-view-config input:disabled,.agenda-view-config select:disabled){background:var(--theme-surface);color:var(--ink);border-color:var(--card-border)}
html[data-goob-theme]:not([data-goob-theme=original]) .agenda-pick-day.is-blocked{background:var(--negative-bg);color:var(--negative-ink)}
html[data-goob-theme]:not([data-goob-theme=original]) :is(.booking-progress span.current,.read-presentation summary){color:var(--theme-accent-ink)}

html[data-goob-theme]:not([data-goob-theme=original]) :is(.customer-heading strong,.booking-customer-name){color:var(--ink)}
html[data-goob-theme]:not([data-goob-theme=original]) .eyebrow{color:var(--theme-accent-ink)}

/* Papel branco nos relatórios, independentemente do tema de uso. */
@media print{
 html:has(.printing-client,.printing-agenda),body:has(.printing-client,.printing-agenda){background:#fff!important;color:#000!important;color-scheme:light}
 :is(.printing-client,.printing-agenda){--theme-bg:#fff;--theme-surface:#fff;--ink:#000;--muted:#333;--navy:#000;--primary-ink:#fff}
}
