/* Light appearance. Loaded last so the existing dark design stays untouched. */
:root[data-theme="light"] {
  color-scheme: light;
  --bg-primary: #f5f3ef;
  --bg-secondary: #eeebe6;
  --surface-solid: #fff;
  --surface-elevated: #f8f6f2;
  --surface-hover: #282e380a;
  --surface-active: #282e3814;
  --text-primary: #222832;
  --text-secondary: #495463;
  --text-muted: #626e7d;
  --border: #bfc6cf;
  --border-subtle: #d6dbe1;
  --accent: #b52e2c;
  --accent-hover: #9f2524;
  --accent-active: #89201e;
  --accent-soft: #b52e2c17;
  --success: #246c48;
  --warning: #8b5f12;
  --danger: #b02b2b;
  --info: #256789;
  --cream: #222832;
  --shadow-surface: 0 8px 28px #252b3614, inset 0 1px 0 #fff;
  --shadow-dialog: 0 34px 90px #252b3638, 0 6px 20px #252b3614;
  --focus-ring: 0 0 0 3px #b52e2c33;
  --focus-border: #a82b2b;
  --panel: #fff;
  --surface-raised: #fff;
  --cal-slot: #27304005;
  --cal-hour-line: #77829166;
  --cal-half-line: #7782912c;
  --off-hours: #d7dce349;
  --cal-off-shift-gradient: repeating-linear-gradient(135deg,#eceef1 0,#eceef1 5px,#e5e8ec 5px,#e5e8ec 6px);
  --cal-off-day-gradient: var(--cal-off-shift-gradient);
  --cal-missing-schedule-gradient: repeating-linear-gradient(135deg,#f7f0dc 0,#f7f0dc 5px,#f1e8d2 5px,#f1e8d2 6px);
  --cal-off-label-text: #82393d;
  --cal-missing-label-text: #77551d;
}
:root[data-theme="light"] body {
  background: radial-gradient(ellipse at 96% 0%,#c54a3a0d,transparent 42%), var(--bg-primary);
}
:root[data-theme="light"] .topbar { background: #fffaf5f2; border-color: var(--border-subtle); }
:root[data-theme="light"] .wordmark__black { color: #222832; }
:root[data-theme="light"] .tab.active { background: #b52e2c12; border-color: #b52e2c32; color: #872422; }
:root[data-theme="light"] .tab.active .nav-icon { color: #b52e2c; }
:root[data-theme="light"] :is(input,select,textarea,.bl-select-trigger,.date-display) {
  background-color: var(--surface-solid); border-color: var(--border); color: var(--text-primary);
}
:root[data-theme="light"] :is(input,textarea)::placeholder { color: #697584; }
:root[data-theme="light"] :is(input,select,textarea):disabled { background: var(--bg-secondary); }
:root[data-theme="light"] :is(.toolbar,.calendar-workspace .calendar-toolbar) { background: #ffffffda; }
:root[data-theme="light"] :is(.table-wrap,#services-list .service-group,.report-section,.settings-section) {
  background: #fff; border-color: var(--border-subtle);
}
:root[data-theme="light"] :is(th,#services-list thead th) { background: #eceff2; color: #3c4654; }
:root[data-theme="light"] td { border-bottom-color: var(--border-subtle); }
:root[data-theme="light"] tbody tr:hover > td,
:root[data-theme="light"] #services-list tbody tr:hover td { background: #f6f1ee; }
:root[data-theme="light"] #abonements-list .table-actions .ghost:not(.ab-pay-btn) {
  color: #273340; background: #f3f5f7; border-color: #aeb8c4;
}
:root[data-theme="light"] #abonements-list .table-actions .ghost:not(.ab-pay-btn):hover {
  background: #e5eaf0; border-color: #637589;
}
:root[data-theme="light"] #abonements-list .table-actions .ab-pay-btn {
  color: #fff; background: #b52e2c; border-color: #b52e2c;
}
:root[data-theme="light"] #abonements-list .table-actions .ab-pay-btn:hover {
  color: #fff; background: #922321; border-color: #922321;
}
:root[data-theme="light"] .status-chip--success { color: #23623e; background: #e1f2e6; border-color: #8dc5a0; }
:root[data-theme="light"] .status-chip--warning { color: #75500c; background: #fff1d2; border-color: #dfbb64; }
:root[data-theme="light"] .status-chip--info { color: #225e77; background: #e2f2f9; border-color: #8ab8cb; }
:root[data-theme="light"] .status-chip--danger { color: #942a2a; background: #fae7e5; border-color: #d9a09b; }
:root[data-theme="light"] .status-chip--neutral { color: #435061; background: #edf0f3; border-color: #b8c0cb; }
:root[data-theme="light"] #services-list .service-group-header { background: #f5f2ee; }
:root[data-theme="light"] #services-list .amount-sale { color: #8d2b2a; }
:root[data-theme="light"] :is(.card,#dashboard-cards > .card:first-child) {
  background: linear-gradient(145deg,#fff,#f7f4ef); border-color: var(--border-subtle);
}
:root[data-theme="light"] #dashboard-cards > .card:first-child { background: linear-gradient(145deg,#fff4f1,#fff); }
:root[data-theme="light"] .calendar-sidebar { background: #fff; }
:root[data-theme="light"] .calendar-staff-notices > * { background: #f8f6f2; }
:root[data-theme="light"] #view-calendar .calendar-grid { --cal-off-shift-gradient: repeating-linear-gradient(135deg,#eceef1 0,#eceef1 5px,#e5e8ec 5px,#e5e8ec 6px); }
:root[data-theme="light"] :is(.cal-header-cell,#view-calendar .cal-header-cell) { background: #edf0f3; }
:root[data-theme="light"] .calendar-block { background: #efeaf9; color: #4c3b72; border-color: #ad99d0; }
:root[data-theme="light"] .calendar-block--break { background: #e9f0f1; color: #3f5660; border-color: #9eafb5; }
:root[data-theme="light"] .calendar-block-fields :is(input,textarea) { color-scheme: light; }
:root[data-theme="light"] #view-calendar :is(.cal-header-cell.time-col,.cal-time) { background: #e9edf1; }
:root[data-theme="light"] #view-calendar .cal-time.minor { color: #626e7d; }
:root[data-theme="light"] #view-calendar .calendar-toolbar .calendar-staff-filter .bl-select-trigger { background: #fff; }
:root[data-theme="light"] :is(.calendar-menu-panel,.bl-select-list,.date-popover,.calendar-slot-menu,.calendar-status-options) {
  background: #fff; border-color: var(--border); box-shadow: var(--shadow-dialog);
}
:root[data-theme="light"] :is(.bl-select-option:hover,.bl-select-option.is-active,.calendar-toolbar-menu > summary:hover) { background-color: var(--surface-hover); }
:root[data-theme="light"] .bl-select-option.is-selected { background: #eaf3ec; border-color: #86b49a; }
:root[data-theme="light"] .calendar-workspace .appt[data-payment-tone]:not([data-payment-tone="none"]):not(.is-filtered) {
  background: var(--payment-surface); border-color: color-mix(in srgb,var(--payment-color) 50%,var(--border));
  border-left: 3px solid var(--payment-color); box-shadow: 0 3px 10px #252b361a;
}
:root[data-theme="light"] .appt-payment-chip { background: var(--payment-surface); border-color: var(--payment-color); }
:root[data-theme="light"] [data-payment-tone="cash"], :root[data-theme="light"] [data-payment-tone="paid"] { --payment-color: #b86619; --payment-text: #704012; --payment-surface: #fff0dd; }
:root[data-theme="light"] [data-payment-tone="card"] { --payment-color: #3072aa; --payment-text: #1e517d; --payment-surface: #e9f3fc; }
:root[data-theme="light"] [data-payment-tone="transfer"] { --payment-color: #218276; --payment-text: #15574f; --payment-surface: #e4f5f1; }
:root[data-theme="light"] [data-payment-tone="deposit"] { --payment-color: #92702f; --payment-text: #644b1c; --payment-surface: #f7f0df; }
:root[data-theme="light"] [data-payment-tone="package"] { --payment-color: #7655b1; --payment-text: #563589; --payment-surface: #f1eafc; }
:root[data-theme="light"] [data-payment-tone="mixed"] { --payment-color: #a44a84; --payment-text: #74355d; --payment-surface: #f9eaf4; }
:root[data-theme="light"] [data-payment-tone="unpaid"], :root[data-theme="light"] [data-payment-tone="partial"] { --payment-color: #9b7514; --payment-text: #694d0a; --payment-surface: #fff6d9; }
:root[data-theme="light"] :is(dialog,.booking-dialog,dialog.client-drawer,.training-debt-dialog) {
  background: #fff; color: var(--text-primary); border-color: var(--border);
}
:root[data-theme="light"] :is(.booking-dialog .dialog-header,.client-drawer-header) { background: #f4f1ec; border-bottom-color: var(--border-subtle); }
:root[data-theme="light"] .booking-dialog .dialog-body { background: #fff; }
:root[data-theme="light"] :is(.booking-dialog .dialog-footer,.dialog-actions,.appt-details-footer) { background: #f7f5f1; border-color: var(--border-subtle); }
:root[data-theme="light"] :is(.booking-dialog .dialog-body label,.booking-col label,#appointment-dialog .booking-col h3) { color: var(--text-primary); }
:root[data-theme="light"] #appointment-dialog .booking-col--schedule { background: #f5f3ef; }
:root[data-theme="light"] #appointment-dialog .booking-col--services { background: #fff; }
:root[data-theme="light"] #appointment-dialog .booking-col--client { background: #f8f6f2; }
:root[data-theme="light"] :is(#appointment-dialog .appointment-item,.booking-service-picker,.booking-duration-mode,.appointment-recent-visit) {
  background: #fff; border-color: var(--border-subtle);
}
:root[data-theme="light"] #appointment-dialog .appointment-item[data-payment-tone]:not([data-payment-tone="none"]) {
  background: var(--payment-surface); border-color: var(--payment-color);
}
:root[data-theme="light"] :is(#appointment-dialog .booking-service-card,button.schedule-preset) {
  background: #f8f6f2; border-color: var(--border); color: var(--text-primary);
}
:root[data-theme="light"] button.schedule-preset[aria-pressed="true"] { background: var(--accent-soft); color: #822421; border-color: var(--accent); }
:root[data-theme="light"] #appointment-dialog .booking-duration-toggle { color: var(--text-primary); }
:root[data-theme="light"] #appointment-dialog .booking-service-card:hover { background: #f0ebe5; }
:root[data-theme="light"] :is(.booking-service-card span,.booking-exact-duration summary,#appointment-dialog .booking-item-settings > summary,#appointment-dialog .booking-item-duration-settings > summary,#appointment-dialog .appointment-item-timing) { color: var(--text-secondary); }
:root[data-theme="light"] .booking-service-card .booking-service-card-action { color: var(--accent); }
:root[data-theme="light"] :is(.appointment-payment-summary > :first-child strong,.appointment-payment-complete,.appointment-payment-panel [data-payment-message].is-success) { color: var(--success); }
:root[data-theme="light"] :is(.schedule-selection-summary,.appointment-payment-panel,.appointment-items-summary) { background: #f7f5f1; border-color: var(--border-subtle); }
:root[data-theme="light"] .appointment-payment-panel[data-payment-tone]:not([data-payment-tone="none"]) { background: var(--payment-surface); border-color: var(--payment-color); }
:root[data-theme="light"] :is(button.btn-abonement-action,.appointment-payment-methods button[aria-pressed="true"]) { background: #fff; border-color: var(--accent); color: var(--accent); }
:root[data-theme="light"] :is(.appt-details-dialog,.client-drawer-section--upcoming,.client-drawer-stat,.appt-details-section) { background: #fff; border-color: var(--border-subtle); }
:root[data-theme="light"] :is(.client-drawer-stat--success,.appt-status-action-btn[data-status="arrived"].is-current) { background: #e8f4ec; border-color: #8bb79e; color: #256943; }
:root[data-theme="light"] :is(.client-drawer-stat--danger,.appt-status-action-btn[data-status="cancelled"].is-current) { background: #fcebe9; border-color: #dba5a0; color: #9b2927; }
:root[data-theme="light"] .appt-status-action-btn[data-status="confirmed"].is-current { background: #e6f3f2; color: #225e58; }
:root[data-theme="light"] .appt-status-action-btn[data-status="noshow"].is-current { background: #fff3df; color: #7c5116; }
:root[data-theme="light"] #services-list.table-wrap { background: #fff; border-color: var(--border-subtle); }
:root[data-theme="light"] #services-list thead th { background: #eceff2; }
:root[data-theme="light"] #services-list tbody td { border-bottom-color: var(--border-subtle); }
:root[data-theme="light"] :is(.training-debt-row.has-debt,.training-debt-badge) { background: #fcebe9; color: #922b29; border-color: #dba5a0; }
:root[data-theme="light"] .training-debt-dialog :is(input,select) { background: #fff; color: var(--text-primary); border-color: var(--border); }
:root[data-theme="light"] #client-create-success-dialog.success-dialog { background: #fff; }
:root[data-theme="light"] :is(.success-mark,.success-badge) { background: #e8f4ec; color: #256943; }
:root[data-theme="light"] .login-card { background: #fff; border-color: var(--border-subtle); }
:root[data-theme="light"] button.danger { color: var(--danger); background: #b02b2b0d; }
:root[data-theme="light"] .login-screen { background: radial-gradient(circle at 20% 0%,#bf3a3020,transparent 38%),var(--bg-primary); }
:root[data-theme="light"] .theme-toggle { color: var(--text-primary); border-color: var(--border); background: var(--surface-solid); }
:root[data-theme="light"] .theme-toggle:hover { background: var(--surface-elevated); }
.theme-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 36px; padding: 7px 10px; white-space: nowrap; border: 1px solid var(--border); background: var(--surface-solid); color: var(--text-primary); font-size: 12px; }
.theme-toggle__icon { font-size: 16px; line-height: 1; }
@media (min-width: 1180px) { .topbar .theme-toggle { justify-content: flex-start; text-align: left; min-height: 36px; } }
@media (max-width: 700px) { .topbar .theme-toggle { padding: 8px; } .topbar .theme-toggle__label { display: none; } }
@media (prefers-contrast: more) { :root[data-theme="light"] { --text-secondary: #303b48; --text-muted: #3f4b59; --border-subtle: #aab3bd; } }
