/* Learning OS source theme lock. Explicit product decision: meibanjia = original preview green; private/yiqifaya = blue. */
.yiq-learning-root,
.yiq-source-meibanjia,
.yiq-workspace-meibanjia {
  --yiq-bg: #f3f5f7;
  --yiq-surface: #ffffff;
  --yiq-surface-soft: #f7faf8;
  --yiq-ink: #18252d;
  --yiq-muted: #697782;
  --yiq-line: rgba(30, 62, 53, .11);
  --yiq-accent: #11755f;
  --yiq-accent-deep: #234b40;
  --yiq-accent-soft: #e9f3ef;
  --yiq-shadow: 0 12px 38px rgba(23, 45, 37, .07);
}

.yiq-source-private,
.yiq-workspace-private,
.yiq-stage3.yiq-source-private {
  --yiq-bg: #f4f7fc;
  --yiq-surface-soft: #f7f9fd;
  --yiq-ink: #17243a;
  --yiq-muted: #68768a;
  --yiq-line: rgba(45, 82, 139, .12);
  --yiq-accent: #3e75de;
  --yiq-accent-deep: #214f9f;
  --yiq-accent-soft: #edf2ff;
  --yiq-shadow: 0 12px 38px rgba(42, 81, 149, .08);
}

/* Source surfaces must not inherit the retired opposite-colour base palette. */
.yiq-source-meibanjia,
.yiq-workspace-meibanjia {
  background: radial-gradient(circle at 82% 3%, rgba(98, 166, 137, .16), transparent 28rem), var(--yiq-bg);
}
.yiq-source-private,
.yiq-workspace-private,
.yiq-stage3.yiq-source-private {
  background: radial-gradient(circle at 82% 3%, rgba(94, 132, 214, .18), transparent 28rem), var(--yiq-bg);
}

/* Source-aware hero surfaces follow the same contract. */
.yiq-source-meibanjia .yiq-welcome-card,
.yiq-workspace-meibanjia .yiq-welcome-card {
  background: linear-gradient(135deg, #203a35 0%, #234b40 55%, #3c6f5f 100%);
  box-shadow: 0 22px 52px rgba(25, 65, 53, .19);
}
.yiq-source-private .yiq-welcome-card,
.yiq-workspace-private .yiq-welcome-card {
  background: linear-gradient(135deg, #214f9f 0%, #3e75de 58%, #7398e8 100%);
  box-shadow: 0 22px 52px rgba(43, 82, 155, .20);
}

.yiq-learning-id-banner,
.yiq-learning-id-card,
.yiq-review-panel {
  background: linear-gradient(135deg, var(--yiq-accent-deep), var(--yiq-accent));
}
.yiq-review-panel .yiq-text-link { color: rgba(255, 255, 255, .78); }
.yiq-source-meibanjia .yiq-live-badge i,
.yiq-source-meibanjia .yiq-module-status i,
.yiq-workspace-meibanjia .yiq-workspace-badge i,
.yiq-workspace-meibanjia .yiq-class-card .yiq-pill i {
  background: #7ed3b2;
  box-shadow: 0 0 0 4px rgba(126, 211, 178, .14);
}
.yiq-source-private .yiq-live-badge i,
.yiq-source-private .yiq-module-status i,
.yiq-workspace-private .yiq-workspace-badge i,
.yiq-workspace-private .yiq-class-card .yiq-pill i {
  background: #9cb9f1;
  box-shadow: 0 0 0 4px rgba(156, 185, 241, .14);
}

@media (min-width: 760px) {
  .yiq-source-meibanjia .yiq-sidebar { background: #173b31; }
  .yiq-source-private .yiq-sidebar { background: #17386e; }
  .yiq-source-meibanjia .yiq-sidebar nav a.is-active { background: rgba(126, 211, 178, .18); }
  .yiq-source-private .yiq-sidebar nav a.is-active { background: rgba(156, 185, 241, .20); }
}

/* Keep host themes from repainting Learning OS actions red. */
.yiq-learning-root button.yiq-primary-button,
.yiq-learning-root a.yiq-primary-button,
.yiq-stage3 button.yiq-primary-button,
.yiq-stage3 a.yiq-primary-button {
  border: 0 !important;
  background: linear-gradient(135deg, var(--yiq-accent), var(--yiq-accent-deep)) !important;
  color: var(--yiq-primary-button-text, #fff) !important;
  -webkit-text-fill-color: var(--yiq-primary-button-text, #fff) !important;
}
.yiq-learning-root button.yiq-secondary-button,
.yiq-learning-root a.yiq-secondary-button,
.yiq-stage3 button.yiq-secondary-button,
.yiq-stage3 a.yiq-secondary-button {
  border: 0 !important;
  background: var(--yiq-accent-soft) !important;
  color: var(--yiq-accent-deep) !important;
  -webkit-text-fill-color: var(--yiq-accent-deep) !important;
}
.yiq-learning-root button.yiq-danger-button,
.yiq-stage3 button.yiq-danger-button {
  border: 0 !important;
  background: #fff0f2 !important;
  color: var(--yiq-danger) !important;
  -webkit-text-fill-color: var(--yiq-danger) !important;
}
.yiq-learning-root button.yiq-module-action,
.yiq-learning-root a.yiq-module-action {
  border: 0 !important;
  background: var(--module-soft) !important;
  color: var(--module-color) !important;
  -webkit-text-fill-color: var(--module-color) !important;
}
.yiq-learning-root .yiq-notice button {
  border: 0 !important;
  background: transparent !important;
  color: var(--yiq-muted) !important;
  -webkit-text-fill-color: var(--yiq-muted) !important;
}
.yiq-learning-root .yiq-calendar-grid button {
  border: 0 !important;
  background: transparent !important;
  color: var(--yiq-ink) !important;
  -webkit-text-fill-color: var(--yiq-ink) !important;
}
.yiq-learning-root .yiq-calendar-grid button:hover {
  background: var(--yiq-surface-soft) !important;
}
.yiq-learning-root button.yiq-text-button,
.yiq-stage3 button.yiq-text-button {
  border: 0 !important;
  background: transparent !important;
  color: var(--yiq-accent) !important;
  -webkit-text-fill-color: var(--yiq-accent) !important;
}

/* Other saturated actions use the same white-label contract. */
.yiq-learning-root .yiq-admin-tools .yiq-secondary-button.is-active {
  border: 0 !important;
  background: var(--yiq-accent-deep) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.yiq-learning-root .yiq-calendar-grid button.is-today {
  border: 0 !important;
  background: transparent !important;
  color: var(--yiq-ink) !important;
  -webkit-text-fill-color: var(--yiq-ink) !important;
  box-shadow: inset 0 0 0 1.5px var(--yiq-accent) !important;
}
.yiq-learning-root .yiq-learning-id-card button:not(.is-copied) {
  border: 1px solid rgba(255, 255, 255, .22) !important;
  background: rgba(255, 255, 255, .1) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.yiq-learning-root .yiq-learning-id-card button.is-copied {
  border: 0 !important;
  background: #fff !important;
  color: var(--yiq-accent-deep) !important;
  -webkit-text-fill-color: var(--yiq-accent-deep) !important;
}

/* White/light actions retain source-coloured text. */
.yiq-learning-root .yiq-submit-panel .yiq-primary-button,
.yiq-learning-root .yiq-result-hero .yiq-primary-button {
  border: 0 !important;
  background: #fff !important;
  color: var(--yiq-accent) !important;
  -webkit-text-fill-color: var(--yiq-accent) !important;
}
.yiq-learning-root .yiq-result-hero .yiq-secondary-button {
  border: 1px solid rgba(255, 255, 255, .5) !important;
  background: transparent !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Supervisor visual refinement: compact controls rather than full-width bars. */
.yiq-supervisor .yiq-create-class-panel .yiq-form > .yiq-primary-button,
.yiq-supervisor .yiq-add-staff-panel .yiq-form > .yiq-primary-button,
.yiq-supervisor .yiq-class-card .yiq-inline-form > .yiq-secondary-button,
.yiq-supervisor .yiq-class-card .yiq-inline-form > .yiq-text-button,
.yiq-stage3 .yiq-form > .yiq-primary-button,
.yiq-stage3 .yiq-stage3-inline-form > .yiq-secondary-button {
  width: auto !important;
  max-width: 100%;
  justify-self: start;
  align-self: start;
  min-height: 42px;
  padding-inline: 17px;
  border-radius: 11px;
}

.yiq-supervisor .yiq-create-class-panel .yiq-form > .yiq-primary-button {
  margin-top: 2px;
}
.yiq-supervisor .yiq-add-staff-panel .yiq-form > .yiq-primary-button {
  margin-top: 2px;
}
.yiq-supervisor .yiq-supervisor-grid-single {
  grid-template-columns: minmax(0, 1fr);
}
.yiq-supervisor .yiq-class-card .yiq-inline-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px 12px;
}
.yiq-supervisor .yiq-class-card .yiq-inline-form .yiq-module-checks {
  flex: 1 0 100%;
}
.yiq-supervisor .yiq-class-card .yiq-text-button {
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid var(--yiq-line) !important;
  border-radius: 10px;
  background: var(--yiq-surface-soft) !important;
  color: var(--yiq-accent-deep) !important;
  -webkit-text-fill-color: var(--yiq-accent-deep) !important;
}

/* Closer to the accepted preview: calmer cards, tighter type, less oversized form chrome. */
.yiq-supervisor .yiq-panel,
.yiq-supervisor .yiq-class-card,
.yiq-stage3-card,
.yiq-stage3-kpis article {
  border-color: var(--yiq-line);
  box-shadow: var(--yiq-shadow);
}
.yiq-supervisor .yiq-panel { border-radius: 22px; }
.yiq-supervisor .yiq-class-card { border-radius: 19px; padding: 18px; }
.yiq-supervisor .yiq-form input,
.yiq-supervisor .yiq-form select,
.yiq-stage3 .yiq-form input,
.yiq-stage3 .yiq-form select,
.yiq-stage3 .yiq-form textarea {
  border-color: var(--yiq-line);
  border-radius: 10px;
  background: var(--yiq-surface);
}
.yiq-stage3-detail-link {
  background: var(--yiq-accent-soft) !important;
  color: var(--yiq-accent-deep) !important;
}
.yiq-stage3-nav a,
.yiq-stage3-student > b { color: var(--yiq-accent) !important; }
.yiq-stage3-badge.is-live {
  background: var(--yiq-accent-soft) !important;
  color: var(--yiq-accent-deep) !important;
}

@media (max-width: 600px) {
  .yiq-supervisor .yiq-supervisor-head { align-items: stretch; flex-direction: column; }
  .yiq-supervisor .yiq-supervisor-head > div:first-child { max-width: 100%; min-width: 0; }
  .yiq-supervisor .yiq-supervisor-head h1 { line-height: 1.04; overflow-wrap: normal; word-break: keep-all; }
  .yiq-supervisor .yiq-admin-tools { width: 100%; flex-wrap: nowrap; justify-content: flex-start; }
  .yiq-supervisor .yiq-admin-tools .yiq-secondary-button { width: auto !important; min-width: 0; flex: 0 1 auto; white-space: nowrap; writing-mode: horizontal-tb; }
  .yiq-supervisor .yiq-create-class-panel .yiq-form > .yiq-primary-button,
  .yiq-supervisor .yiq-add-staff-panel .yiq-form > .yiq-primary-button,
  .yiq-stage3 .yiq-form > .yiq-primary-button {
    width: 100% !important;
    justify-self: stretch;
  }
  .yiq-supervisor .yiq-class-card .yiq-inline-form > .yiq-secondary-button,
  .yiq-supervisor .yiq-class-card .yiq-inline-form > .yiq-text-button,
  .yiq-stage3 .yiq-stage3-inline-form > .yiq-secondary-button {
    width: auto !important;
  }
}
