/* Approved shared palette. Color-only overrides; existing layout and behavior remain owned by their components. */
html[data-lx-palette="warm-berry"][data-theme="light"] {
  --lx-page:#fcf8f5; --lx-surface:#fff; --lx-raised:#f7efef;
  --lx-text:#30282d; --lx-muted:#6e6168; --lx-line:#95818b;
  --lx-accent:#b51f56; --lx-accent-soft:#fbeaf0; --lx-on-accent:#fff;
  --lx-media:#141216; --lx-shadow:0 8px 36px #5724350a;
  --lx-warning:#705016; --lx-warning-bg:#fff4d8;
  --lx-danger:#a62b35; --lx-danger-bg:#fff0f1;
  --lx-success:#236346; --lx-success-bg:#eaf6ef; --lx-focus:#763f9b;
  --lx-info:#225080; --lx-info-bg:#eaf3ff;
  --pink:var(--lx-accent); --pink-soft:var(--lx-accent-soft);
  --ink:var(--lx-text); --muted:var(--lx-muted); --page:var(--lx-page); --line:var(--lx-line);
  --lx-ink:var(--lx-text); --lx-bg:var(--lx-page); --lx-soft:var(--lx-accent-soft);
  --lx-card:var(--lx-surface); --lx-border:var(--lx-line);
  color-scheme:light;
}
html[data-lx-palette="warm-berry"][data-theme] body { background-color:var(--lx-page); color:var(--lx-text); }
html[data-lx-palette="warm-berry"][data-theme] :focus-visible { outline-color:var(--lx-focus); }
html[data-lx-palette="warm-berry"][data-theme] :is(input,textarea)::placeholder { color:var(--lx-muted)!important; opacity:1; }
html[data-lx-palette="warm-berry"][data-theme] :is(input[type=checkbox],input[type=radio],progress) { accent-color:var(--lx-accent); }
html[data-lx-palette="warm-berry"][data-theme="light"] :is(input[type=date],input[type=time],input[type=datetime-local],.lx-schedule-datetime) { color-scheme:light; }

html[data-lx-palette="warm-berry"][data-theme="dark"] {
  --lx-line:#8f7c98; --lx-bg:var(--lx-page); --lx-card:var(--lx-surface); --lx-border:var(--lx-line); --lx-ink:var(--lx-text);
  --pink:var(--lx-accent); --pink-soft:var(--lx-accent-soft); --ink:var(--lx-text); --muted:var(--lx-muted); --page:var(--lx-page); --line:var(--lx-line); --lx-soft:var(--lx-accent-soft);
  --lx-warning:#ffe0a0; --lx-warning-bg:#382b16; --lx-danger:#ffb6bf; --lx-danger-bg:#402029;
  --lx-success:#b4e5cd; --lx-success-bg:#17372b; --lx-info:#b8dbff; --lx-info-bg:#203347; --lx-focus:#ff9ec2;
}
/* Legacy inline yellow warning is unreadable on a light registration form. */
html[data-lx-palette="warm-berry"][data-theme] #error_text { color:var(--lx-warning)!important; background-color:var(--lx-warning-bg); }
html[data-lx-palette="warm-berry"][data-theme] :is(.lx-auth-error,.invalid-feedback,.text-danger,.ap-message.error) { color:var(--lx-danger)!important; }
html[data-lx-palette="warm-berry"][data-theme] :is(.alert-danger,.lx-auth-error,.ap-message.error) { background-color:var(--lx-danger-bg)!important; border-color:var(--lx-danger)!important; }
html[data-lx-palette="warm-berry"][data-theme] :is(.alert-warning,.ap-message.warning) { color:var(--lx-warning)!important; background-color:var(--lx-warning-bg)!important; border-color:var(--lx-warning)!important; }
html[data-lx-palette="warm-berry"][data-theme] :is(.alert-success,.ap-message.success) { color:var(--lx-success)!important; background-color:var(--lx-success-bg)!important; border-color:var(--lx-success)!important; }
html[data-lx-palette="warm-berry"][data-theme] :is(.text-muted,.ap-muted) { color:var(--lx-muted)!important; }
html[data-lx-palette="warm-berry"][data-theme] .text-success { color:var(--lx-success)!important; }
html[data-lx-palette="warm-berry"][data-theme] .text-warning { color:var(--lx-warning)!important; }
html[data-lx-palette="warm-berry"][data-theme] .text-info { color:var(--lx-info)!important; }
html[data-lx-palette="warm-berry"][data-theme] .text-primary { color:var(--lx-accent)!important; }
html[data-lx-palette="warm-berry"][data-theme] .alert-info { color:var(--lx-info)!important; background-color:var(--lx-info-bg)!important; border-color:var(--lx-info)!important; }
html[data-lx-palette="warm-berry"][data-theme] .badge-success { color:var(--lx-success)!important; background-color:var(--lx-success-bg)!important; }
html[data-lx-palette="warm-berry"][data-theme] .badge-warning { color:var(--lx-warning)!important; background-color:var(--lx-warning-bg)!important; }
html[data-lx-palette="warm-berry"][data-theme] .badge-danger { color:var(--lx-danger)!important; background-color:var(--lx-danger-bg)!important; }
html[data-lx-palette="warm-berry"][data-theme] .badge-info { color:var(--lx-info)!important; background-color:var(--lx-info-bg)!important; }
html[data-lx-palette="warm-berry"][data-theme] .badge-primary { color:var(--lx-on-accent)!important; background-color:var(--lx-accent)!important; }

/* Content studio defines its own tokens on body. */
html[data-lx-palette="warm-berry"][data-theme] .lx-content-studio {
  --cs-bg:var(--lx-page); --cs-panel:var(--lx-surface); --cs-raised:var(--lx-raised);
  --cs-line:var(--lx-line); --cs-text:var(--lx-text); --cs-muted:var(--lx-muted);
  --cs-pink:var(--lx-accent); --cs-good:var(--lx-success);
}
html[data-lx-palette="warm-berry"][data-theme] .cs-primary { color:var(--lx-on-accent); }

/* Publisher/admin use the same palette, without changing navigation or controls. */
html[data-lx-palette="warm-berry"][data-theme] :is(.ap-workspace,.ap-employee) {
  --ap-blue:var(--lx-accent); --ap-soft:var(--lx-accent-soft);
  --ap-bg:var(--lx-surface); --ap-ink:var(--lx-text); --ap-muted:var(--lx-muted); --ap-line:var(--lx-line);
  --ap-accent:var(--lx-accent);
}
html[data-lx-palette="warm-berry"][data-theme] .ap-employee { background-color:var(--lx-page); }
html[data-lx-palette="warm-berry"][data-theme] .ap-top { background-color:var(--lx-surface); color:var(--lx-text); border-color:var(--lx-line); }
html[data-lx-palette="warm-berry"][data-theme] .ap-top :is(a,button) { color:var(--lx-text); border-color:var(--lx-line); }
html[data-lx-palette="warm-berry"][data-theme] .ap-workspace th { color:var(--lx-text); }
html[data-lx-palette="warm-berry"][data-theme] :is(.ap-primary,.ap-tabs button.active,.ap-segment button.active,.ap-pagination nav button[aria-current="page"]) { background-color:var(--ap-blue,var(--lx-accent)); border-color:var(--ap-blue,var(--lx-accent)); color:var(--lx-on-accent); }
html[data-lx-palette="warm-berry"][data-theme] body.vertical :is(.page-title,label,.form-label) { color:var(--lx-text); }
html[data-lx-palette="warm-berry"][data-theme] body.vertical .lx-top-title>span { color:var(--lx-muted)!important; }
html[data-lx-palette="warm-berry"][data-theme] :is(.lx-schedule-hint,#schEmptyNotice,#schTableBody td[colspan]) { color:var(--lx-muted)!important; }
html[data-lx-palette="warm-berry"][data-theme] :is(.lx-schedule-box,.ap-sch-btn,.ap-sch-dialog,.ap-scheduled-filter-bar select,.ap-sch-table td) { border-color:var(--lx-line); }
html[data-lx-palette="warm-berry"][data-theme] .ap-sch-dialog-close { color:var(--lx-text); }
html[data-lx-palette="warm-berry"][data-theme] :is(.lx-schedule-notice,.ap-sch-dialog-notice,.ap-sch-badge.processing) { color:var(--lx-warning); background-color:var(--lx-warning-bg); border-color:var(--lx-warning); }
html[data-lx-palette="warm-berry"][data-theme] :is(.ap-sch-dialog-notice.error,.ap-sch-badge.failed) { color:var(--lx-danger); background-color:var(--lx-danger-bg); border-color:var(--lx-danger); }
html[data-lx-palette="warm-berry"][data-theme] :is(.ap-sch-error-note,.ap-sch-btn.danger) { color:var(--lx-danger); border-color:var(--lx-danger); }
html[data-lx-palette="warm-berry"][data-theme] .ap-sch-btn.danger:hover:not(:disabled) { color:var(--lx-on-accent); background-color:var(--lx-danger); }
html[data-lx-palette="warm-berry"][data-theme] .ap-sch-badge.published { color:var(--lx-success); background-color:var(--lx-success-bg); border-color:var(--lx-success); }
html[data-lx-palette="warm-berry"][data-theme] .ap-sch-badge.scheduled { color:#225080; background-color:#eaf3ff; border-color:#225080; }
html[data-lx-palette="warm-berry"][data-theme] .ap-sch-badge.publishing { color:var(--lx-accent); background-color:var(--lx-accent-soft); border-color:var(--lx-accent); }
html[data-lx-palette="warm-berry"][data-theme] .ap-sch-badge.cancelled { color:var(--lx-muted); background-color:var(--lx-raised); border-color:var(--lx-muted); }
html[data-lx-palette="warm-berry"][data-theme] .lx-theater-account:not(:has(img)) { color:var(--lx-on-accent); }
html[data-lx-palette="warm-berry"][data-theme] :is(.short-label,.short-label span,.short-series-title,.page-current,.lx-theater-categories a[aria-current],.lx-theater-play,.lx-theater-resume-play,.stored_btn) { color:var(--lx-on-accent)!important; }
html[data-lx-palette="warm-berry"][data-theme] .mobile-nav a { color:var(--lx-muted); }
html[data-lx-palette="warm-berry"][data-theme] .mobile-nav a.active { color:var(--lx-accent); }
html[data-lx-palette="warm-berry"][data-theme] .composer-prompt { color:var(--lx-muted); }
html[data-lx-palette="warm-berry"][data-theme] .lx-app .tab_link { background-color:var(--lx-surface); color:var(--lx-text); }
html[data-lx-palette="warm-berry"][data-theme] :is(.lx-arrow,.show_quantity,.lx-app .time),
html[data-lx-palette="warm-berry"][data-theme] #cropper-size,
html[data-lx-palette="warm-berry"][data-theme] .breadcrumb-item+.breadcrumb-item::before { color:var(--lx-muted)!important; }
html[data-lx-palette="warm-berry"][data-theme] .lx-app :is(.vip_dropdown_menu,.income_tab) { background-color:var(--lx-surface); }
html[data-lx-palette="warm-berry"][data-theme] .lx-app .income_tab.active { background-color:var(--lx-accent); color:var(--lx-on-accent); }
html[data-lx-palette="warm-berry"][data-theme] input:-webkit-autofill { -webkit-text-fill-color:var(--lx-text)!important; caret-color:var(--lx-text); }
html[data-lx-palette="warm-berry"][data-theme] .lx-app .tab .tab_links:is(.active,:hover) { background-color:var(--lx-accent); color:var(--lx-on-accent); }
html[data-lx-palette="warm-berry"][data-theme] #lx-manage-save:not(:disabled),
html[data-lx-palette="warm-berry"][data-theme] :is(.lx-upload-browser button,.topics-pager [aria-current=page],.story-card .btn-mark,.story-card .bd .show>button,.chat_count,.chat_bar_text,.swal2btn_success,.calendar_top):not(:disabled) { color:var(--lx-on-accent)!important; }
html[data-lx-palette="warm-berry"][data-theme] .btn_link.fade-over { background-color:var(--lx-accent); color:var(--lx-on-accent)!important; }
html[data-lx-palette="warm-berry"][data-theme] .btn_link.fade-over:is(:hover,:focus,:active) { background-color:var(--lx-accent-soft); color:var(--lx-accent)!important; }
html[data-lx-palette="warm-berry"][data-theme] .official_notify:hover { background-color:var(--lx-accent-soft); }
html[data-lx-palette="warm-berry"][data-theme] :is(.video_cover_select:hover .video_cover_select_btn,.video_category_select:hover .video_category_select_btn) { color:var(--lx-on-accent)!important; }
html[data-lx-palette="warm-berry"][data-theme] .lx-picker {
  --p-selected:var(--lx-accent-soft); --p-bg:var(--lx-surface); --p-card:var(--lx-raised);
  --p-text:var(--lx-text); --p-muted:var(--lx-muted); --p-line:var(--lx-line); --p-accent:var(--lx-accent);
}
html[data-lx-palette="warm-berry"][data-theme] :is(.lx-picker .lx-picker-primary,.lx-picker-chips [aria-pressed=true],.lx-studio-heading button,.lx-studio-filters [aria-pressed=true],.lx-studio-card-actions button,.lx-studio-pagination [aria-current=page]) { background-color:var(--lx-accent); color:var(--lx-on-accent); border-color:var(--lx-accent); }
html[data-lx-palette="warm-berry"][data-theme] .lx-picker-trigger-action { color:var(--lx-accent); }
html[data-lx-palette="warm-berry"][data-theme] :is(button,input,textarea,select):disabled { opacity:1!important; color:var(--lx-muted)!important; background-color:var(--lx-raised)!important; border-color:var(--lx-line)!important; }

/* Dark islands: all player descendants, comments, forms and unlock cards share these tokens. */
html[data-lx-palette="warm-berry"] #story-viewer {
  --lx-page:#141216; --lx-surface:#201b25; --lx-raised:#2c2532;
  --lx-text:#fff; --lx-muted:#c4b8c9; --lx-line:#8f7c98;
  --lx-accent:#ff9ec2; --lx-accent-soft:#482436; --lx-on-accent:#321021;
  --lx-media:#09090d; --lx-focus:#ff9ec2;
  --lx-warning:#ffe0a0; --lx-warning-bg:#382b16;
  --lx-danger:#ffb6bf; --lx-danger-bg:#402029;
  --lx-success:#b4e5cd; --lx-success-bg:#17372b;
  --lx-info:#b8dbff; --lx-info-bg:#203347;
  --pink:var(--lx-accent); --pink-soft:var(--lx-accent-soft); --ink:var(--lx-text);
  --muted:var(--lx-muted); --page:var(--lx-page); --line:var(--lx-line);
  --lx-card:var(--lx-surface); --lx-border:var(--lx-line); --lx-ink:var(--lx-text);
  background-color:var(--lx-page); color:var(--lx-text); color-scheme:dark;
}
html[data-lx-palette="warm-berry"] #story-viewer :is(h1,h2,h3,p,label,.text-white) { color:var(--lx-text)!important; }
html[data-lx-palette="warm-berry"] #story-viewer :is(input,textarea,select) { background-color:var(--lx-raised)!important; color:var(--lx-text)!important; border-color:var(--lx-line)!important; color-scheme:dark; }
html[data-lx-palette="warm-berry"] video { background-color:var(--lx-media); color-scheme:dark; }
