/* RC214: scoped tri-mode parity. Never apply a broad selector to WordPress chrome,
   semantic status colors, examination scoring, or external navigation. */

/* WordPress LessonSky admin workspaces do not receive frontend body_class.
   Only the relevant admin page is tagged by ThemeParity214. */
body.sk214-admin-scope.lessonsky-light{
  --sk196-bg:#f1f5fa;--sk196-card:#fff;--sk196-panel:#f7faff;
  --sk196-inset:#edf3fa;--sk196-text:#172b47;--sk196-heading:#102643;
  --sk196-muted:#526781;--sk196-line:#cad7e7;--sk196-strong-line:#a5bcd5;
  --sk196-link:#20528d;--sk196-control:#f0f5fc;--sk196-control-text:#173c6a;
  --sk196-primary:#315fba;--sk196-on-primary:#fff;--sk196-focus:#235eaa;
  --sk196-hero-top:#e7f2ff;--sk196-hero-end:#f4f0ff;
}
body.sk214-admin-scope.lessonsky-dim{
  --sk196-bg:#dce5f0;--sk196-card:#f0f5fb;--sk196-panel:#e8eff8;
  --sk196-inset:#d7e2ef;--sk196-text:#203650;--sk196-heading:#172e49;
  --sk196-muted:#475f78;--sk196-line:#b1c4da;--sk196-strong-line:#90aaca;
  --sk196-link:#204c7f;--sk196-control:#d5e1f1;--sk196-control-text:#173857;
  --sk196-primary:#355f9b;--sk196-on-primary:#fff;--sk196-focus:#245a9c;
  --sk196-hero-top:#d2e3f3;--sk196-hero-end:#e5e8f4;
}
body.sk214-admin-scope.lessonsky-dark{
  --sk196-bg:#0a1729;--sk196-card:#182e49;--sk196-panel:#203b5a;
  --sk196-inset:#10243d;--sk196-text:#eaf3ff;--sk196-heading:#f5faff;
  --sk196-muted:#c7d8ed;--sk196-line:#4a698b;--sk196-strong-line:#698bad;
  --sk196-link:#bcddff;--sk196-control:#274463;--sk196-control-text:#f3f8ff;
  --sk196-primary:#4076c6;--sk196-on-primary:#fff;--sk196-focus:#abd9ff;
  --sk196-hero-top:#193e66;--sk196-hero-end:#30365e;
}
/* System preference on WP admin uses CSS media; no JavaScript state duplication. */
body.sk214-admin-scope.lessonsky-system{
  --sk196-bg:#f1f5fa;--sk196-card:#fff;--sk196-panel:#f7faff;
  --sk196-inset:#edf3fa;--sk196-text:#172b47;--sk196-heading:#102643;
  --sk196-muted:#526781;--sk196-line:#cad7e7;--sk196-strong-line:#a5bcd5;
  --sk196-link:#20528d;--sk196-control:#f0f5fc;--sk196-control-text:#173c6a;
  --sk196-primary:#315fba;--sk196-on-primary:#fff;--sk196-focus:#235eaa;
  --sk196-hero-top:#e7f2ff;--sk196-hero-end:#f4f0ff;
}
@media (prefers-color-scheme:dark){
  body.sk214-admin-scope.lessonsky-system{
    --sk196-bg:#0a1729;--sk196-card:#182e49;--sk196-panel:#203b5a;
    --sk196-inset:#10243d;--sk196-text:#eaf3ff;--sk196-heading:#f5faff;
    --sk196-muted:#c7d8ed;--sk196-line:#4a698b;--sk196-strong-line:#698bad;
    --sk196-link:#bcddff;--sk196-control:#274463;--sk196-control-text:#f3f8ff;
    --sk196-primary:#4076c6;--sk196-on-primary:#fff;--sk196-focus:#abd9ff;
    --sk196-hero-top:#193e66;--sk196-hero-end:#30365e;
  }
}

/* Institution report formerly referenced host theme colors, which need not
   share the LessonSky user mode. Bind them to the exact tri-mode contract. */
:is(html.lessonsky-light body,html.lessonsky-dim body,html.lessonsky-dark body,
    body.lessonsky-light,body.lessonsky-dim,body.lessonsky-dark,
    body.sk214-admin-scope.lessonsky-system) .sk213-report{
  --sk213-bg:var(--sk196-card,#fff);
  --sk213-text:var(--sk196-text,#172b47);
  --sk213-muted:var(--sk196-muted,#526781);
  --sk213-border:var(--sk196-line,#cad7e7);
  --sk213-accent:var(--sk196-link,#20528d);
}

/* Explicitly bound admin canvases: no color change to the WP navigation. */
body.sk214-admin-scope :is(.sk207-admin,.sk212-admin,.sk213-report){
  min-width:0;max-width:100%;box-sizing:border-box;
  color:var(--sk196-text);color-scheme:light;
}
body.sk214-admin-scope:is(.lessonsky-dark,.lessonsky-system) :is(.sk207-admin,.sk212-admin,.sk213-report){
  color-scheme:light;
}
body.sk214-admin-scope.lessonsky-dark :is(.sk207-admin,.sk212-admin,.sk213-report){
  color-scheme:dark;
}
@media(prefers-color-scheme:dark){
  body.sk214-admin-scope.lessonsky-system :is(.sk207-admin,.sk212-admin,.sk213-report){color-scheme:dark}
}
body.sk214-admin-scope :is(.sk207-admin,.sk212-admin) {
  background:var(--sk196-panel);padding:clamp(12px,2vw,24px);
  border:1px solid var(--sk196-line);border-radius:17px;
  margin-top:14px;
}
body.sk214-admin-scope :is(.sk207-admin,.sk212-admin) > :is(h1,p,label){color:var(--sk196-text)}
body.sk214-admin-scope .sk213-report{
  margin:14px 16px 32px 0;padding:clamp(12px,2vw,22px);
  background:var(--sk196-panel);border:1px solid var(--sk196-line);border-radius:17px;
}
body.sk214-admin-scope .sk212-admin > form :is(input,select){
  background:var(--sk196-control);color:var(--sk196-control-text);
  border:1px solid var(--sk196-strong-line);max-width:100%;min-height:42px;
}

/* Private dashboards and forms: only broad container surfaces and controls.
   Do not blanket-recolor nested spans, strong values, status pills or bars. */
:is(.sk207-dashboard,.sk212-followup,.sk213-report){
  min-width:0;overflow-wrap:break-word;
}
:is(.sk207-dashboard,.sk212-followup,.sk213-report) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){
  max-width:100%;min-width:0;box-sizing:border-box;
}
:is(.sk207-dashboard,.sk212-followup,.sk213-report) :is(a,button,select,input,textarea,summary):focus-visible{
  outline:3px solid var(--sk196-focus,#235eaa);outline-offset:3px;
}
:is(.sk207-dashboard,.sk212-followup,.sk213-report) :is(button,[role="button"]){
  touch-action:manipulation;
}
.sk213-report .sk213-filters :is(input,select){
  background:var(--sk196-control,var(--sk213-bg));
  color:var(--sk196-control-text,var(--sk213-text));
  border-color:var(--sk196-strong-line,var(--sk213-border));
}
.sk213-report .sk213-panel :is(.sk213-table-scroll){
  max-width:100%;overscroll-behavior-x:contain;
}
.sk212-followup :is(.sk212-create,.sk212-item,.sk212-history,.sk212-empty){
  overflow-wrap:anywhere;
}

/* One row on Android/Huawei/iOS for the icon-only switch. The control must
   not change topbar height or introduce new fixed elements. */
@media(max-width:767px){
  :is(.sk207-dashboard,.sk212-followup,.sk213-report){width:auto;max-width:100%;}
  .sk207-dashboard{margin:10px auto 20px;padding:clamp(12px,3vw,18px);border-radius:16px}
  .sk207-dashboard .sk207-hero{flex-direction:column;gap:10px;padding:clamp(12px,3vw,18px)}
  .sk207-dashboard .sk207-hero-tools{width:100%;min-width:0;flex-wrap:wrap;align-items:center;justify-content:space-between}
  .sk207-dashboard .sk207-role-switch{gap:7px}
  .sk207-dashboard .sk207-role-switch a{min-height:44px;display:inline-flex;align-items:center}
  .sk207-dashboard .sk207-strip{grid-template-columns:minmax(0,1fr)}
  .sk212-followup{margin:14px 0;padding:12px;border-radius:15px}
  .sk212-followup .sk212-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .sk212-followup .sk212-stat-grid article{padding:9px;min-width:0}
  .sk212-followup .sk212-stat-grid strong{font-size:clamp(17px,5vw,24px)}
  .sk212-followup .sk212-item-actions :is(button,a){min-height:44px}
  .sk213-report{margin:10px 0 24px;min-width:0}
  .sk213-report .sk213-filters{grid-template-columns:minmax(0,1fr);padding:12px}
  .sk213-report .sk213-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .sk213-report .sk213-kpis article{min-width:0;padding:12px}
  .sk213-report .sk213-hero{padding:15px}
  .sk213-report .sk213-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
  body.sk214-admin-scope .sk213-report{margin:10px 8px 20px 0;padding:10px}
  body:is(.lessonsky-android-app,.lessonsky-huawei-app,.lessonsky-ios-app)
  .sk-mobile-topbar [data-sk-assessment-dark]{
    flex:0 0 40px;min-width:40px;width:40px;height:40px;
    padding:0;margin:0;align-self:center;line-height:1;
  }
  body:is(.lessonsky-android-app,.lessonsky-huawei-app,.lessonsky-ios-app)
  :is(.sk207-dashboard,.sk212-followup){scroll-margin-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
}

/* RC108 mobile defaults currently treat dim like light. Preserve the chosen
   dim tone on native shells even if the OS is in dark or light mode. */
html.lessonsky-dim body:is(.lessonsky-android-app,.lessonsky-huawei-app,.lessonsky-ios-app){
  background:var(--sk196-bg,#dce5f0)!important;color:var(--sk196-text,#203650)!important;
  color-scheme:light!important;
}
html.lessonsky-dim body:is(.lessonsky-android-app,.lessonsky-huawei-app,.lessonsky-ios-app)
:is(.sk-mobile-topbar,.sk-mobile-nav,.sk-mobile-sheet){
  background:var(--sk196-card,#f0f5fb)!important;
  color:var(--sk196-text,#203650)!important;
  border-color:var(--sk196-line,#b1c4da)!important;
}
html.lessonsky-dim body:is(.lessonsky-android-app,.lessonsky-huawei-app,.lessonsky-ios-app)
:is(.sk-mobile-brand,.sk-mobile-topbar button,.sk-mobile-nav a,.sk-mobile-nav button){
  color:var(--sk196-text,#203650)!important;
}
html.lessonsky-dim body:is(.lessonsky-android-app,.lessonsky-huawei-app,.lessonsky-ios-app)
.sk-mobile-profile-pill{
  background:var(--sk196-control,#d5e1f1)!important;
  color:var(--sk196-control-text,#173857)!important;
  border-color:var(--sk196-strong-line,#90aaca)!important;
}
html.lessonsky-dim body:is(.lessonsky-android-app,.lessonsky-huawei-app,.lessonsky-ios-app)
.sk-mobile-nav :is(.is-active,a[aria-current="page"]){
  background:var(--sk196-control,#d5e1f1)!important;
  color:var(--sk196-link,#204c7f)!important;
}

@media(prefers-reduced-motion:reduce){
  :is(.sk207-dashboard,.sk212-followup,.sk213-report) *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
