/* Konto klienta — samodzielny system kolorystyczny, bez wspolnego stanu z panelem salonu. */
html[data-client-account-theme="light"] body.client-account-page { color-scheme: light; }
html[data-client-account-theme="dark"] body.client-account-page {
  color-scheme: dark;
  --ca-ink: #f4edf2;
  --ca-muted: #bcb0bc;
  --ca-soft: #211e28;
  --ca-panel: #24212e;
  --ca-panel-strong: #2b2635;
  --ca-line: #403848;
  --ca-line-strong: #58465d;
  --ca-accent: #eb91b4;
  --ca-accent-dark: #d77eaa;
  --ca-shadow: 0 20px 56px rgba(0,0,0,.28);
  --ca-shadow-strong: 0 24px 64px rgba(0,0,0,.35);
  --ca2-bg: #15131b;
  --ca2-surface: #221f2a;
  --ca2-surface-strong: #2b2634;
  --ca2-card: #26222f;
  --ca2-card-soft: #312a3a;
  --ca2-border: #403744;
  --ca2-border-strong: #5e4c63;
  --ca2-text: #f5edf3;
  --ca2-muted: #c0b0be;
  --ca2-soft: #ac97a8;
  --ca2-accent: #f49cbd;
  --ca2-accent-strong: #f2a9c5;
  --ca2-accent-soft: #583346;
  --ca2-success-bg: #1e382f;
  --ca2-success: #96dec0;
  --ca2-warning-bg: #413320;
  --ca2-warning: #f5d18c;
  --ca2-danger-bg: #44242e;
  --ca2-danger: #ffb0bd;
  --ca2-shadow: 0 20px 68px rgba(0,0,0,.38);
  --ca2-shadow-soft: 0 10px 28px rgba(0,0,0,.24);
  --panel-modal-header-surface: #26222f;
  --panel-modal-header-divider: #403744;
  --panel-modal-text: #f5edf3;
  --panel-modal-close-surface: #3b3244;
  --panel-modal-close-ink: #f5edf3;
  --panel-modal-close-border: #6a556f;
  color: var(--ca2-text);
  background: var(--ca2-bg);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.public-booking-layout,.public-booking-layout__main) {
  background: var(--ca2-bg);
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-layout {
  border-color: var(--ca2-border);
  background: linear-gradient(140deg,#26212f,#1d1a25);
  box-shadow: var(--ca2-shadow);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-sidebar,.ca2-mobile-nav,.ca2-mobile-more__sheet) {
  border-color: var(--ca2-border);
  background: #201c27;
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-main,.ca2-panel,.ca2-topbar,.ca2-tab-panel,.client-account-shell) {
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-brand-card,.ca2-brand-card__name,.ca2-topbar h1,.ca2-panel-head h2,.ca2-panel-head h3,.ca2-profile-grid strong,.ca2-package-card__top h3,.ca2-package-card__meta dd,.ca2-package-services span,.ca2-account-delete__copy h3) {
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-brand-card small,.ca2-nav__label,.ca2-topbar p,.ca2-panel-head span,.ca2-panel-head p,.ca2-profile-grid span,.ca2-profile-grid small,.ca2-package-card__description,.ca2-package-card__meta dt,.ca2-package-card__id,.ca2-package-services small,.ca2-account-delete__copy p) {
  color: var(--ca2-muted);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-nav__item,.ca2-mobile-nav__item,.ca2-mobile-more__item) {
  color: var(--ca2-muted);
  border-color: transparent;
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-nav__item:hover,.ca2-nav__item:focus-visible,.ca2-mobile-nav__item:not(.ca2-mobile-nav__item--book):hover,.ca2-mobile-more__item:hover) {
  background: #37303e;
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-nav__item.is-active,.ca2-mobile-nav__item.is-active,.ca2-mobile-more__item.is-active,.ca2-nav__item--utility.is-active) {
  background: linear-gradient(135deg,#533246,#453048);
  border-color: #785066;
  color: #ffd0e0;
  box-shadow: none;
}
/* Centralna akcja: bez jasnego pierścienia i bez podświetlenia całego kafelka. */
html[data-client-account-theme="dark"] body.client-account-page .ca2-mobile-nav__item--book .ca2-mobile-nav__plus {
  box-shadow: 0 14px 28px rgba(190, 87, 126, .30);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-mobile-nav__item--book:is(:hover, :focus-visible) {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

/* Dolna nawigacja PWA: ikony nieaktywne bez półprzezroczystej bieli. */
html[data-client-account-theme="dark"] body.client-account-page .ca2-mobile-nav__item:not(.is-active):not([aria-expanded="true"]):not(.ca2-mobile-nav__item--book) .ca2-mobile-nav__icon {
  background: transparent;
  color: #e5d8e4;
  border: 1px solid transparent;
  box-shadow: none;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-mobile-nav__item:not(.is-active):not([aria-expanded="true"]):not(.ca2-mobile-nav__item--book)>span:last-child {
  color: #d0c3d1;
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-mobile-nav__item.is-active,.ca2-mobile-nav__item--more[aria-expanded="true"]) .ca2-mobile-nav__icon {
  background: transparent;
  color: #ffd5e5;
  border: 1px solid transparent;
}

html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-nav__item--utility,.ca2-nav--account .ca2-nav__item,.ca2-sidebar-workspace-switcher,.ca2-sidebar-workspace-switcher summary,.ca2-salon-card,.ca2-workspace-switch-link,.ca2-mobile-workspace-link) {
  border-color: var(--ca2-border);
  background: var(--ca2-surface);
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-workspace-switch-link:hover,.ca2-workspace-switch-link.is-active,.ca2-mobile-workspace-link.is-active) {
  background: #3b2d3e;
  border-color: #785066;
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-salon-card__logo,.ca2-brand-card__logo) {
  background: #403145;
  color: var(--ca2-accent);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-overview-card,.ca2-topbar__action,.ca2-mobile-topbar-actions>button,.ca2-live-status,.ca2-profile-grid>div,.ca2-package-card,.ca2-package-card__meta div,.ca2-package-services li,.ca2-reservation-package-panel,.ca2-reservation-package-panel__head,.ca2-reservation-package-panel li) {
  border-color: var(--ca2-border);
  background: var(--ca2-card);
  color: var(--ca2-text);
  box-shadow: none;
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-overview-card:hover,.ca2-topbar__action:hover,.ca2-mobile-topbar-actions>button:hover,.ca2-overview-card--static:hover) {
  border-color: var(--ca2-border-strong);
  background: var(--ca2-card-soft);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-overview-card__copy small,.ca2-overview-card__copy em,.ca2-live-status,.ca2-live-status__dot,.ca2-sidebar-workspace-switcher summary>span,.ca2-workspace-switch-link small,.ca2-mobile-workspace-link small) {
  color: var(--ca2-muted);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-overview-card__copy strong,.ca2-sidebar-workspace-switcher summary>strong,.ca2-reservation-package-panel h3) { color: var(--ca2-text); }
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-panel,.ca2-marketing-box,.ca2-profile-summary,.ca2-empty,.ca2-formalities-history-registry,.ca2-visits-hub,.ca2-account-delete,.ca2-doc-item,.ca2-doc-list--legal-full .ca2-doc-item) {
  border-color: var(--ca2-border);
  background: var(--ca2-surface);
  color: var(--ca2-text);
  box-shadow: var(--ca2-shadow-soft);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-panel--profile-clean,.ca2-panel--preferences-hub,.ca2-panel--formalities,.ca2-panel--client-marketing) {
  background: var(--ca2-surface);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-panel-head a:not(.ca2-button),.ca2-panel-head button:not(.ca2-button),.ca2-panel--advice button:not(.ca2-button),.ca2-panel--packages-preview button:not(.ca2-button),.ca2-doc-item__link) {
  border-color: var(--ca2-border);
  background: var(--ca2-card);
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-button--outline,.ca2-button--ghost,.client-account-button--ghost,.client-account-button:not(.client-account-button--primary):not(.client-account-button--danger)) {
  border-color: var(--ca2-border-strong);
  background: var(--ca2-card-soft);
  color: var(--ca2-text);
  box-shadow: none;
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-button--primary,.client-account-button--primary) {
  border-color: transparent;
  background: linear-gradient(135deg,#bd4e80,#873c6d);
  color: #fff;
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-button--danger,.client-account-button--danger) {color:#fff}
html[data-client-account-theme="dark"] body.client-account-page :is(.client-account-hero,.client-account-card,.client-account-profile-summary,.client-account-card--soft,.client-account-card--danger,.client-account-hero--auth,.client-account-hero--profile,.client-account-hero--reservation) {
  border-color: var(--ca2-border);
  background: var(--ca2-surface);
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.client-account-hero h1,.client-account-section__head h2,.client-account-profile-summary strong,.client-account-detail-grid strong,.client-account-profile-data-grid strong) {color:var(--ca2-text)}
html[data-client-account-theme="dark"] body.client-account-page :is(.client-account-section__head span,.client-account-hero p,.client-account-profile-summary>span,.client-account-profile-note,.client-account-field small,.client-account-detail-grid span,.client-account-auth-footer,.client-account-item-row span) {color:var(--ca2-muted)}
html[data-client-account-theme="dark"] body.client-account-page :is(.client-account-profile-data-grid>div,.client-account-detail-grid>div,.client-account-item-row,.client-account-reservation-stage,.client-account-profile-summary__chips small) {
  background: var(--ca2-card-soft);
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.client-account-field,.client-account-check) {color:var(--ca2-text)}
html[data-client-account-theme="dark"] body.client-account-page :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
  border-color: var(--ca2-border-strong);
  background-color: #302a38;
  color: var(--ca2-text);
  color-scheme: dark;
}
html[data-client-account-theme="dark"] body.client-account-page :is(input,textarea)::placeholder {color:#b6a5b4;opacity:1}
html[data-client-account-theme="dark"] body.client-account-page :is(input,select,textarea):focus-visible {
  outline: 2px solid var(--ca2-accent);
  outline-offset: 2px;
}
html[data-client-account-theme="dark"] body.client-account-page :is(input[type="checkbox"],input[type="radio"]) {accent-color:#e48ab3}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-profile-modal__dialog,.ca2-message-modal__dialog,.ca2-reservation-modal__panel,.ca2-formality-dialog,.ca2-notification-center__dialog,.ca2-history-modal__dialog,.ca2-booking-modal__dialog) {
  border-color: var(--ca2-border);
  background: var(--ca2-surface);
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page :is(dialog,[role="dialog"]) {
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-profile-modal__card,.ca2-message-modal__header,.ca2-message-modal__body,.ca2-reservation-modal__header,.ca2-formality-dialog__header,.ca2-notification-center__header) {
  border-color: var(--ca2-border);
  background: var(--ca2-card);
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-profile-modal__dialog h2,.ca2-message-modal__dialog h2,.ca2-formality-dialog h2,.ca2-notification-center__dialog h2) {color:var(--ca2-text)}
/* Wspólny nagłówek pełnoekranowych okien konta: bez białego kółka i przyciętego X. */
html[data-client-account-theme="dark"] body.client-account-page .ca2-booking-modal__header {
  background: var(--panel-modal-header-surface);
  border-bottom-color: var(--panel-modal-header-divider);
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-booking-modal__close {
  background: var(--panel-modal-close-surface);
  color: var(--panel-modal-close-ink);
  border-color: var(--panel-modal-close-border);
  box-shadow: none;
  opacity: 1;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-booking-modal__close:hover,
html[data-client-account-theme="dark"] body.client-account-page .ca2-booking-modal__close:focus-visible {
  background: #513c54;
  color: #fff;
  border-color: var(--ca2-accent);
  outline-offset: 2px;
}
/* Centrum powiadomień: osobny obszar przewijania nie może mieć jasnego tła. */
html[data-client-account-theme="dark"] body.client-account-page .client-account-notification-modal__body {
  background: var(--ca2-bg);
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page .client-account-notification-modal__panel {
  background: transparent;
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-empty-state--communication h3,
html[data-client-account-theme="dark"] body.client-account-page .ca2-communication-row__top strong {
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-empty-state--communication p,
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-communication-row__top small,.ca2-communication-row__preview) {
  color: var(--ca2-muted);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-empty-state--communication .ca2-empty-state__icon {
  background: #543448;
  color: #ffc4d9;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-communication-row.is-unread {
  background: #342737;
  border-color: #745166;
}
/* Szczegóły wizyty: różowe akcenty i czytelne ikony zamiast czarnych na fiolecie. */
html[data-client-account-theme="dark"] body.client-account-page .ca2-reservation-details-grid__icon {
  background: #53344a;
  color: #ffd1e3;
  border: 1px solid #79516b;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-reservation-details-grid__icon svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-reservation-details-modal .ca2-reservation-modal__image .ca2-service-photo:not(:has(img)) {
  background: linear-gradient(135deg,#563c53,#382a43);
  border-color: #79566a;
  box-shadow: none;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-reservation-details-modal .ca2-service-photo__fallback {
  color: #ffd0e2;
}
html[data-client-account-theme="dark"] body.client-account-page :is(.client-account-alert--success,.client-account-status--success) {background:var(--ca2-success-bg);color:var(--ca2-success)}
html[data-client-account-theme="dark"] body.client-account-page :is(.client-account-alert--error,.client-account-status--danger) {background:var(--ca2-danger-bg);color:var(--ca2-danger)}
html[data-client-account-theme="dark"] body.client-account-page :is(.client-account-status--pending,.client-account-status--warning) {background:var(--ca2-warning-bg);color:var(--ca2-warning)}
html[data-client-account-theme="dark"] body.client-account-page .ca2-account-delete {
  background: linear-gradient(135deg,#33252f,#29212c);
  border-color: #68424f;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-account-delete__copy span {color:#f6a7b4}
html[data-client-account-theme="dark"] body.client-account-page .ca2-account-delete__check {border-color:#68424f;background:#352832}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-reservation-package-panel__head span,.ca2-reservation-package-panel__services>strong,.ca2-service-addons--package) {color:var(--ca2-accent)}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-marketing-activity-details__body dt,.ca2-marketing-activity-details__body dd,.ca2-package-card__meta dt,.ca2-package-card__meta dd) {color:var(--ca2-text)}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-mobile-more__header,.ca2-mobile-more__grid,.ca2-mobile-more__workspaces) {color:var(--ca2-text)}
html[data-client-account-theme="dark"] body.client-account-page .ca2-mobile-more__header {
  background: #201c27;
  border-bottom: 1px solid var(--ca2-border);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-mobile-more__header h2,
html[data-client-account-theme="dark"] body.client-account-page .ca2-mobile-more__item strong {
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-mobile-more__header span,
html[data-client-account-theme="dark"] body.client-account-page .ca2-mobile-more__item small {
  color: var(--ca2-muted);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-mobile-more__item {
  background: var(--ca2-card);
  border-color: var(--ca2-border);
  color: var(--ca2-text);
  box-shadow: none;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-mobile-more__item>span {
  background: #533246;
  color: #ffbad4;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-mobile-more__item--logout {
  background: #332630;
  border-color: #674654;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-mobile-more__item--logout>span {
  background: #54303b;
  color: #ffb9c8;
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-mobile-more__close,.ca2-profile-modal__close,.ca2-message-modal__close) {background:var(--ca2-card-soft);color:var(--ca2-text);border-color:var(--ca2-border)}

/* Ustawienia w Profilu, dotykowe pola min. 44px; radiobuttony sa natywne i dostepne klawiatura. */
.client-account-theme-settings {
  display: grid;
  gap: 14px;
  margin: 20px 0 24px;
  padding: clamp(16px,3vw,22px);
  border: 1px solid var(--ca2-border);
  border-radius: 22px;
  background: var(--ca2-surface-strong);
}
.client-account-theme-settings__heading {display:grid;gap:4px}
.client-account-theme-settings__heading span {font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--ca2-muted)}
.client-account-theme-settings__heading h3 {margin:0;font-size:1.16rem;color:var(--ca2-text)}
.client-account-theme-settings__heading p {margin:0;font-size:.88rem;line-height:1.5;color:var(--ca2-muted)}
.client-account-theme-settings__options {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.client-account-theme-option {position:relative;min-width:0;cursor:pointer}
.client-account-theme-option input {position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.client-account-theme-option__face {display:grid;gap:5px;align-content:center;min-height:82px;padding:13px 12px;border:1px solid var(--ca2-border);border-radius:16px;background:var(--ca2-card);color:var(--ca2-text);transition:background .15s,border-color .15s,box-shadow .15s}
.client-account-theme-option__face strong {font-size:.94rem;font-weight:850;color:inherit}
.client-account-theme-option__face small {font-size:.75rem;line-height:1.35;color:var(--ca2-muted)}
.client-account-theme-option input:checked+.client-account-theme-option__face {border-color:var(--ca2-accent);background:var(--ca2-accent-soft);box-shadow:inset 0 0 0 1px var(--ca2-accent);color:var(--ca2-text)}
.client-account-theme-option input:focus-visible+.client-account-theme-option__face {outline:3px solid var(--ca2-accent);outline-offset:3px}
.client-account-theme-settings__current {margin:0;font-size:.78rem;color:var(--ca2-muted);font-weight:760}
@media(max-width:500px) {
  .client-account-theme-settings__options {grid-template-columns:1fr;gap:8px}
  .client-account-theme-option__face {min-height:66px;grid-template-columns:minmax(0,1fr);align-content:center;gap:3px;padding:12px 15px}
}

/* Formularze opinii i voucherów — wspólne elementy okien pełnoekranowych. */
html[data-client-account-theme="dark"] body.client-account-page .ca2-formality-dialog__head>button {
  background: var(--ca2-card-soft);
  border-color: var(--ca2-border-strong);
  color: var(--ca2-text);
  box-shadow: none;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-formality-dialog__head>button:hover,
html[data-client-account-theme="dark"] body.client-account-page .ca2-formality-dialog__head>button:focus-visible {
  background: #4b394f;
  color: #fff;
  border-color: var(--ca2-accent);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-formality-dialog__footer {
  background: var(--ca2-surface-strong);
  border-top-color: var(--ca2-border);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-formality-dialog__head h3,
html[data-client-account-theme="dark"] body.client-account-page .ca2-review-rating legend,
html[data-client-account-theme="dark"] body.client-account-page .ca2-marketing-voucher-form label {
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-formality-dialog__intro {
  color: var(--ca2-muted);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-review-rating__choices span {
  color: var(--ca2-text);
  background: var(--ca2-card-soft);
  border-color: var(--ca2-border);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-review-rating__choices input:checked+span {
  color: #ffd0e3;
  background: #5b344c;
  border-color: var(--ca2-accent);
  box-shadow: inset 0 0 0 1px var(--ca2-accent);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-marketing-voucher-form :is(input,textarea,select) {
  background-color: #302a38;
  border-color: var(--ca2-border-strong);
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-marketing-voucher-form :is(input,textarea)::placeholder {
  color: #c6b7c6;
  opacity: 1;
}
@media (max-width:760px) {
  .ca2-formality-form > .ca2-formality-dialog__footer .ca2-button {
    min-height: 50px;
    max-height: 60px;
    padding: 10px 14px;
  }
}

/* Korzyści: ikony, podsumowania, karty i nawigacja sekcji. */
html[data-client-account-theme="dark"] body.client-account-page #marketing .ca2-panel-head--marketing>span,
html[data-client-account-theme="dark"] body.client-account-page #marketing .ca2-panel-head--marketing>div>span {
  color: var(--ca2-muted);
}
html[data-client-account-theme="dark"] body.client-account-page #marketing .ca2-panel-head--marketing>a.ca2-booking-cta,
html[data-client-account-theme="dark"] body.client-account-page #marketing .ca2-panel-head--marketing>a.ca2-booking-cta span {
  color: #fff;
}
html[data-client-account-theme="dark"] body.client-account-page #marketing .client-account-detail-grid--benefits>.client-account-detail-grid__item,
html[data-client-account-theme="dark"] body.client-account-page #marketing .client-account-detail-grid--benefits>.client-account-detail-grid__item--points,
html[data-client-account-theme="dark"] body.client-account-page #marketing .client-account-detail-grid--benefits>.client-account-detail-grid__item--packages {
  background: var(--ca2-card-soft);
  border: 1px solid var(--ca2-border);
  box-shadow: none;
}
html[data-client-account-theme="dark"] body.client-account-page #marketing .client-account-detail-grid--benefits span {
  color: var(--ca2-muted);
}
html[data-client-account-theme="dark"] body.client-account-page #marketing .client-account-detail-grid--benefits strong {
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page #marketing .ca2-benefits-switch {
  background: var(--ca2-surface-strong);
  border-color: var(--ca2-border);
}
html[data-client-account-theme="dark"] body.client-account-page #marketing .ca2-benefits-switch button {
  color: var(--ca2-muted);
  background: var(--ca2-card);
  border-color: var(--ca2-border);
}
html[data-client-account-theme="dark"] body.client-account-page #marketing .ca2-benefits-switch button.is-active,
html[data-client-account-theme="dark"] body.client-account-page #marketing .ca2-benefits-switch button[aria-selected="true"] {
  background: #5b344c;
  color: #ffe0ec;
  border-color: #9c6c87;
}
html[data-client-account-theme="dark"] body.client-account-page #marketing .ca2-benefits-switch button em {
  color: #ffc2d8;
  background: #4d3547;
}
html[data-client-account-theme="dark"] body.client-account-page #marketing .ca2-marketing-loyalty-card h3,
html[data-client-account-theme="dark"] body.client-account-page #marketing .ca2-marketing-box h3,
html[data-client-account-theme="dark"] body.client-account-page #marketing .ca2-marketing-row strong,
html[data-client-account-theme="dark"] body.client-account-page #marketing .ca2-marketing-activity-details__body :is(strong,dd,p) {
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page #marketing :is(
  .ca2-marketing-loyalty-card p,.ca2-marketing-loyalty-card small,
  .ca2-marketing-box p,.ca2-marketing-row span,.ca2-marketing-row small,
  .ca2-marketing-progress-note,.ca2-marketing-activity-details__body dt
) {
  color: var(--ca2-muted);
}
html[data-client-account-theme="dark"] body.client-account-page #marketing .ca2-marketing-activity-details summary {
  background: var(--ca2-card-soft);
  color: #ffbdd4;
  border-color: var(--ca2-border-strong);
}
html[data-client-account-theme="dark"] body.client-account-page #marketing .ca2-marketing-activity-details__body {
  background: var(--ca2-card);
  border-color: var(--ca2-border);
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page #marketing .ca2-benefits-balance-grid>div {
  background: var(--ca2-card-soft);
  border-color: var(--ca2-border);
}
html[data-client-account-theme="dark"] body.client-account-page #marketing .ca2-benefits-balance-grid :is(span,strong) {
  color: var(--ca2-text);
}

 /* Widoki i modale funkcjonalne: brak jasnych wysp w trybie ciemnym. */
html[data-client-account-theme="dark"] body.client-account-page .ca2-layout::after {
  background: linear-gradient(135deg,rgba(146,91,127,.06),transparent);
  pointer-events: none;
}
html[data-client-account-theme="dark"] body.client-account-page :is(
  .ca2-dashboard-side .ca2-panel,.ca2-panel--next,.ca2-panel--history-preview,
  .ca2-panel--history-preview .ca2-visit-list-card,.ca2-quick-strip a,.ca2-quick-strip button,
  .ca2-recommendation-service-card,.ca2-recommendation-modal__entry,.ca2-recommendation-modal__tags span,
  .ca2-service-addons--modal .ca2-service-addons__name,.ca2-service-addons--modal .ca2-service-addons__toggle,
  .ca2-consent-option,.ca2-cookie-settings-card,.ca2-cookie-option,.ca2-doc-list--consents article,
  .ca2-consents-hub-card,
  .ca2-marketing-loyalty-card,.ca2-marketing-row,
  .ca2-communication-row,.ca2-empty-state--communication,
  .ca2-message-bubble,.ca2-message-attachment,.ca2-package-service-action,
  .ca2-benefits-balance-grid>div,.ca2-formalities-count,.ca2-formalities-section,
  .ca2-formality-todo,.ca2-reviews-summary>span,.ca2-formalities-history-record,
  .ca2-formalities-history-record__action,.ca2-formalities-history-more,
  .ca2-benefits-view[data-ca-subview-panel="packages"] .ca2-package-services-details
) {
  background: var(--ca2-card);
  border-color: var(--ca2-border);
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page :is(
  .ca2-quick-strip a:hover,.ca2-quick-strip button:hover,
  .ca2-quick-strip a:focus-visible,.ca2-quick-strip button:focus-visible,
  .ca2-recommendation-service-card:hover,.ca2-recommendation-service-card:focus-visible,
  .ca2-communication-row:hover,.ca2-communication-row:focus-visible,
  .ca2-account-subview-switch button:hover
) {background:var(--ca2-card-soft);color:var(--ca2-text)}
html[data-client-account-theme="dark"] body.client-account-page .ca2-panel--next::before {background:linear-gradient(135deg,rgba(242,169,197,.12),transparent)}
html[data-client-account-theme="dark"] body.client-account-page :is(
  .ca2-recommendation-modal__dialog,.ca2-cookie-modal__dialog,.ca2-consents-modal__dialog,
  .ca2-consents-modal:not([hidden]) .ca2-consents-modal__dialog
) {
  border-color:var(--ca2-border);
  background:var(--ca2-surface);
  color:var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page :is(
  .ca2-recommendation-modal__close,.ca2-cookie-modal__close,.ca2-consents-modal__close,
  .ca2-recommendation-modal__footer button,.ca2-cookie-modal__header,.ca2-consents-modal__head
) {
  border-color:var(--ca2-border);
  background:var(--ca2-card-soft);
  color:var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-consents-modal__close,.ca2-cookie-modal__close) {
  --panel-modal-close-surface:var(--ca2-card-soft);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-consents-modal__head {
  --panel-modal-header-surface:var(--ca2-card);
}
html[data-client-account-theme="dark"] body.client-account-page :is(
  .ca2-mobile-brand__logo,.ca2-sidebar-logout .ca2-nav__item:hover,
  .ca2-sidebar-logout .ca2-nav__item:focus-visible
) {
  border-color:var(--ca2-border);
  background:var(--ca2-card-soft);
  color:var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-account-subview-switch button,.ca2-formalities-history-filters button,.ca2-formalities-history-filters em,.ca2-formalities-history-search input) {
  background:var(--ca2-card);
  color:var(--ca2-text);
  border-color:var(--ca2-border);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-account-subview-switch button.is-active,.ca2-formalities-history-filters button.is-active,.ca2-formalities-history-filters button[aria-selected="true"]) {
  background:#59364e;
  color:#ffd6e5;
  border-color:#98617f;
}
html[data-client-account-theme="dark"] body.client-account-page :is(
  .ca2-formality-field input,.ca2-formality-field textarea,.ca2-formality-field select,
  .ca2-new-message-field input,.ca2-new-message-field textarea,.ca2-new-message-field select,
  .ca2-marketing-voucher-form input,.ca2-marketing-voucher-form select,.ca2-marketing-voucher-form textarea
) {
  background:#302a38;
  color:var(--ca2-text);
  border-color:var(--ca2-border-strong);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-client-push-device.is-current-device {
  background:var(--ca2-card-soft);
  border-color:#855670;
  color:var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-review-rating__choices span,
html[data-client-account-theme="dark"] body.client-account-page .ca2-consent-option input[type="checkbox"]::before {
  background:var(--ca2-card-soft);
  color:var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-panel-head a:not(.ca2-button):hover,.ca2-button--outline:hover,.ca2-button--ghost:hover) {
  background:var(--ca2-card-soft);
  color:var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-cookie-settings-card,.ca2-consent-option) :is(strong,small,span,p) {
  color:var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page :is(.ca2-message-modal__dialog,.ca2-consents-modal__dialog,.ca2-cookie-modal__dialog,.ca2-recommendation-modal__dialog) :is(h2,h3,strong,label,p,small) {
  color:var(--ca2-text);
}

/* PWA, PUSH i publiczne dokumenty otwierane wewnatrz konta klienta. */
html[data-client-account-theme="dark"] body.client-account-page :is(
  .ca2-client-pwa-card,
  .ca2-client-pwa-card.is-standalone,
  .ca2-client-pwa-card--push,
  .ca2-client-pwa-card--push.is-client-push-enabled,
  .ca2-client-push-preferences,
  .ca2-client-push-preferences label,
  .ca2-client-pwa-card__steps li,
  .client-confirmation-summary dl>div,
  .public-legal-document,
  .booking-legal-box,
  .booking-legal-public-links,
  .booking-legal-public-links a,
  .tl-cookie-consent__panel,
  .tl-legal-modal__dialog
) {
  border-color:var(--ca2-border);
  background:var(--ca2-surface);
  color:var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-client-pwa-card__media {
  border-color:var(--ca2-border);
  background:var(--ca2-card-soft);
  color:var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page :is(
  .ca2-client-pwa-card,.ca2-client-push-preferences,
  .ca2-client-pwa-card__steps li,.tl-cookie-consent__panel,
  .tl-legal-modal__dialog,.public-legal-document
) :is(h2,h3,h4,p,strong,span,small,label) {
  color:var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page :is(
  .ca2-client-pwa-card button:not(.ca2-button--primary),
  .tl-cookie-consent__panel button:not([class*="primary"]),
  .tl-legal-modal__dialog button:not([class*="primary"])
) {
  border-color:var(--ca2-border-strong);
  background:var(--ca2-card-soft);
  color:var(--ca2-text);
}



/* Transparent premium artwork: the wrapper must not become a second tile. */
body.client-account-page :is(
  .ca2-advice-icon,.ca2-overview-card__icon,.ca2-package-card__icon,
  .ca2-consents-section__icon,.ca2-consents-hub-card__icon,
  .ca2-marketing-icon,.ca2-marketing-box__head>span,
  .ca2-formality-todo__icon,.ca2-formalities-history-record__icon,
  .ca2-communication-row__icon,.ca2-review-card__icon,
  .ca2-reservation-details-grid__icon,.ca2-mobile-nav__icon,
  .ca2-mobile-more__item>span
) {
  background: transparent;
  background-image: none;
  border-color: transparent;
  box-shadow: none;
}
html[data-client-account-theme="dark"] body.client-account-page :is(
  .ca2-advice-icon,.ca2-overview-card__icon,.ca2-package-card__icon,
  .ca2-consents-section__icon,.ca2-consents-hub-card__icon,
  .ca2-marketing-icon,.ca2-marketing-box__head>span,
  .ca2-formality-todo__icon,.ca2-formalities-history-record__icon,
  .ca2-communication-row__icon,.ca2-review-card__icon,
  .ca2-reservation-details-grid__icon,.ca2-mobile-nav__icon,
  .ca2-mobile-more__item>span
) {
  background: transparent;
  background-image: none;
  border-color: transparent;
  box-shadow: none;
}
body.client-account-page .ca2-dashboard-side .ca2-advice-icon>img.ca2-premium-icon {
  width: 100%;
  height: 100%;
}
body.client-account-page .ca2-booking-cta {
  align-items: center;
  gap: 8px;
  min-height: 54px;
}
body.client-account-page .ca2-booking-cta > img.ca2-premium-icon {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  filter: none;
}

/* Formalities search: hide the accessible label visually, never remove it. */
body.client-account-page .ca2-formalities-history-search>.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
body.client-account-page .ca2-formalities-history-tools,
body.client-account-page .ca2-formalities-history-search {
  min-width: 0;
}
body.client-account-page .ca2-formalities-history-search input {
  min-width: 0;
}

/* Mobile segments share available width instead of exposing a horizontal rail. */
@media (max-width:760px) {
  body.client-account-page .ca2-formalities-history-filters {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    width: 100%;
    gap: 6px;
    overflow: visible;
    padding: 0;
  }
  body.client-account-page .ca2-formalities-history-filters button {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 58px;
    gap: 3px;
    padding: 7px 3px;
    font-size: clamp(.69rem,2.75vw,.8rem);
    line-height: 1.2;
    white-space: normal;
    overflow-wrap: break-word;
    text-align: center;
  }
  body.client-account-page .ca2-formalities-history-filters em {
    flex: 0 0 auto;
    min-width: 24px;
  }
  body.client-account-page .ca2-account-subview-switch button {
    min-height: 64px;
    flex-direction: column;
    gap: 4px;
    padding: 7px 4px;
    font-size: clamp(.72rem,2.8vw,.82rem);
    line-height: 1.22;
    text-align: center;
    overflow-wrap: break-word;
  }
  body.client-account-page .ca2-account-subview-switch button em {
    flex: 0 0 auto;
  }
  body.client-account-page .client-account-theme-option__face :is(strong,small) {
    display: block;
    min-width: 0;
    white-space: normal;
    overflow-wrap: break-word;
  }
  body.client-account-page .client-account-theme-option__face strong {
    font-size: .96rem;
    line-height: 1.25;
  }
  body.client-account-page .client-account-theme-option__face small {
    font-size: .82rem;
    line-height: 1.4;
  }
}

/* Dark surfaces and foreground contrast for formalities and consent cards. */
html[data-client-account-theme="dark"] body.client-account-page .ca2-account-subview-switch {
  background: #292431;
  border-color: var(--ca2-border-strong);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-account-subview-switch button:hover {
  background: #403348;
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-account-subview-switch button em {
  background: #483447;
  color: #ffd3e4;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-formalities-history-filters {
  background: transparent;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-formalities-history-filters button em {
  background: #483447;
  color: #fcd4e4;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-formalities-history-filters button.is-active em {
  background: #764860;
  color: #fff1f7;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-formalities-history-search input {
  background: #302936;
  color: var(--ca2-text);
  border-color: var(--ca2-border-strong);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-formalities-history-search input:focus {
  background: #332c3d;
  border-color: var(--ca2-accent);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-formalities-history-search input::placeholder {
  color: #c9b7c5;
  opacity: 1;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-formalities-history-search>svg {
  color: #f5b1ce;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-consents-hub-card__body strong,
html[data-client-account-theme="dark"] body.client-account-page .ca2-formalities-history-record__copy strong,
html[data-client-account-theme="dark"] body.client-account-page .ca2-consents-hub-card__body h3 {
  color: var(--ca2-text);
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-consents-hub-card__body small,
html[data-client-account-theme="dark"] body.client-account-page .ca2-formalities-history-record__copy :is(span,p),
html[data-client-account-theme="dark"] body.client-account-page .ca2-formalities-history-registry__head p {
  color: #d2c3cf;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-consents-hub-card__meta {
  background: #4a3042;
  color: #ffc1da;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-formalities-history-record__copy small {
  color: #f5acc7;
}
/* Client-account premium bitmap icons: transparent WebP, independent of theme. */
body.client-account-page img.ca2-premium-icon {
    display: inline-block;
    width: 22px;
    height: 22px;
    max-width: none;
    flex: 0 0 auto;
    object-fit: contain;
    vertical-align: middle;
    background: transparent;
    border: 0;
    box-shadow: none;
    pointer-events: none;
}
body.client-account-page :is(
    .ca2-overview-card__icon,
    .ca2-consents-section__icon,
    .ca2-consents-hub-card__icon,
    .ca2-marketing-icon,
    .ca2-marketing-box__head > span,
    .ca2-package-card__icon,
    .ca2-formality-todo__icon,
    .ca2-review-card__icon,
    .ca2-formalities-history-record__icon,
    .ca2-reservation-details-grid__icon,
    .ca2-communication-row__icon,
    .ca2-advice-icon,
    .ca2-empty__icon
) > img.ca2-premium-icon {
    width: 76%;
    height: 76%;
}
body.client-account-page .ca2-nav__item > img.ca2-premium-icon {
    width: 26px;
    height: 26px;
    justify-self: center;
}
body.client-account-page .ca2-mobile-nav__icon > img.ca2-premium-icon {
    width: 29px;
    height: 29px;
}
body.client-account-page .ca2-mobile-more__item > span > img.ca2-premium-icon {
    width: 29px;
    height: 29px;
}
body.client-account-page .ca2-mobile-nav__item--book {
    transform: none;
}
body.client-account-page .ca2-mobile-nav__item--book .ca2-mobile-nav__plus {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    transform: translateY(-5px);
    background: transparent;
    border: 0;
    box-shadow: none;
}
body.client-account-page .ca2-mobile-nav__item--book .ca2-mobile-nav__plus > img.ca2-premium-icon {
    width: 52px;
    height: 52px;
    filter: none;
}


/* The dark theme must not reintroduce a second circle behind the 3D booking icon. */
html[data-client-account-theme="dark"] body.client-account-page .ca2-mobile-nav__item--book .ca2-mobile-nav__plus {
    background: transparent;
    border: 0;
    box-shadow: none;
}

/* Obowiązkowe ankiety do nadchodzących wizyt: widoczne także na telefonie. */
body.client-account-page .ca2-intake-required-alert {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    padding: 16px;
    border: 1px solid #bc8538;
    border-radius: 16px;
    background: #fff5e6;
    color: #56330d;
}
body.client-account-page .ca2-intake-required-alert__icon {
    display: inline-grid;
    place-items: center;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 12px;
    background: #f7e0bc;
}
body.client-account-page .ca2-intake-required-alert__copy {
    display: grid;
    flex: 1 1 180px;
    gap: 4px;
    min-width: 0;
}
body.client-account-page .ca2-intake-required-alert__copy strong {
    color: inherit;
    font-size: 1rem;
    font-weight: 800;
}
body.client-account-page .ca2-intake-required-alert__copy > span {
    color: inherit;
    line-height: 1.5;
}
body.client-account-page .ca2-intake-required-alert .ca2-button {
    min-height: 44px;
    flex: 0 0 auto;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-intake-required-alert {
    background: #382b1e;
    border-color: #d19b58;
    color: #ffe6c0;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-intake-required-alert__icon {
    background: #5e4223;
    color: #ffe6c0;
}
@media (max-width: 600px) {
    body.client-account-page .ca2-intake-required-alert .ca2-button {
        width: 100%;
    }
}

body.client-account-page .ca2-intake-health-consent {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--ca-line, #b8aabb);
    border-radius: 12px;
    color: var(--ca-text, #2d2632);
    line-height: 1.5;
}
body.client-account-page .ca2-intake-health-consent input {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    margin-top: 2px;
}
body.client-account-page .ca2-intake-health-consent span {
    display: grid;
    gap: 6px;
    min-width: 0;
}
body.client-account-page .ca2-intake-health-consent small {
    font-size: .875rem;
}
body.client-account-page .ca2-intake-health-unavailable {
    padding: 12px;
    border-radius: 12px;
    border: 1px solid #c98f43;
    background: #fff1d8;
    color: #633b0b;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-intake-health-consent {
    border-color: #797184;
    color: #f6effa;
}
html[data-client-account-theme="dark"] body.client-account-page .ca2-intake-health-unavailable {
    background: #402f22;
    color: #ffe2b2;
    border-color: #d09a4f;
}
