html:not(.planning-enhancements-ready) #root {
  visibility: hidden;
}

html.planning-enhancements-ready #root {
  visibility: visible;
}

.schedule-plan-replica-header:has(.planning-top-context) {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(560px, 1fr) auto;
  gap: 16px;
}

.planning-top-context {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
}

.planning-top-business-context,
.planning-top-prerequisites,
.planning-top-diagnosis {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.planning-top-business-context {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.planning-top-prerequisites .planning-prerequisite-select {
  width: 190px;
}

.planning-top-prerequisites .planning-prerequisite-select.is-subject {
  width: 108px;
}

.planning-top-context .planning-prerequisite-select > span {
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.planning-top-diagnosis {
  flex: 0 0 auto;
}

.planning-top-diagnosis-state {
  height: 34px;
  padding: 0 10px;
  border: 1px solid #e0e4ef;
  border-radius: 9px;
  background: #f8f9fc;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.planning-top-diagnosis-state small {
  color: #9299ac;
  font-size: 9px;
}

.planning-top-diagnosis-state b {
  color: #525b76;
  font-size: 10px;
  font-weight: 650;
}

.planning-top-diagnosis-state.is-ready b {
  color: #267157;
}

.planning-top-diagnosis-state.is-pending b {
  color: #9b6a13;
}

.planning-top-diagnosis-action {
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  border: 1px solid #ccd3f5 !important;
  border-radius: 9px !important;
  color: #5361e5 !important;
  background: #f7f8ff !important;
  font-size: 10px !important;
  font-weight: 650;
  white-space: nowrap;
}

.schedule-plan-replica-demo-context.is-tutor.planning-target-form {
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: none !important;
  align-items: center;
  gap: 14px;
}

.schedule-plan-replica-demo-context.planning-target-form > .planning-prerequisite-select {
  width: 270px;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  display: block;
}

.schedule-plan-replica-demo-context.planning-target-form > .planning-prerequisite-select:nth-child(2) {
  width: 178px;
}

.planning-prerequisite-select label {
  display: block;
}

.planning-prerequisite-select label > span {
  width: 1px;
  height: 1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.planning-prerequisite-select select {
  width: 100%;
  height: 36px;
  padding: 0 30px 0 11px;
  border: 1px solid #dfe3ed;
  border-radius: 8px;
  outline: 0;
  color: #343b51;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%236a738c' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right 10px center;
  background-repeat: no-repeat;
  background-size: 12px;
  box-shadow: 0 1px 2px rgba(52, 61, 99, .03);
  font-size: 11px;
  font-weight: 650;
  appearance: none;
  cursor: pointer;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.planning-prerequisite-select select:hover,
.planning-prerequisite-select select:focus {
  border-color: #aeb8ee;
  background-color: #fbfcff;
  box-shadow: 0 0 0 2px rgba(101, 116, 252, .08);
}

.planning-context-source-cell,
.planning-current-assignment-duplicate {
  display: none !important;
}

.planning-task-content-heading {
  min-width: 0;
  flex: 1 1 auto;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center;
  gap: 4px;
}

.planning-task-name-line {
  max-width: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 5px;
}

.planning-task-name-line > strong {
  min-width: 0;
  overflow: hidden;
  color: #3f475f;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.planning-task-name-line > button {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  color: #929bb3;
  background: transparent;
  display: grid;
  place-items: center;
}

.planning-task-name-line > button:hover {
  color: #5968dc;
  background: #edf1ff;
}

.planning-task-name-line svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.planning-task-source-counts {
  color: #858da5;
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 10px;
  white-space: nowrap;
}

.planning-task-source-counts b {
  color: #66708d;
  font-weight: 650;
}

.planning-task-source-counts i {
  color: #c3c8d5;
  font-style: normal;
}

.planning-task-name-editor {
  width: min(360px, 100%);
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 26px 26px;
  align-items: center;
  gap: 4px;
}

.planning-task-name-editor > span {
  min-width: 0;
  position: relative;
  display: block;
}

.planning-task-name-editor input {
  width: 100%;
  height: 30px;
  padding: 0 42px 0 9px;
  border: 1px solid #aeb8ee;
  border-radius: 7px;
  outline: 0;
  color: #3f475f;
  background: #fff;
  font-size: 11px;
  font-weight: 650;
  box-shadow: 0 0 0 2px rgba(101, 116, 252, .08);
}

.planning-task-name-editor small {
  position: absolute;
  top: 50%;
  right: 8px;
  color: #9aa2b8;
  font-size: 8px;
  transform: translateY(-50%);
}

.planning-task-name-editor > button {
  width: 26px;
  height: 26px;
  padding: 0;
  border: 0;
  border-radius: 7px;
  color: #5968dc;
  background: #eef1ff;
  font-size: 11px;
}

.planning-task-name-editor > button[data-legacy-action="cancel-task-name"] {
  color: #7c849a;
  background: #f3f4f7;
}

.planning-task-name-error {
  color: #d64f59;
  font-size: 9px;
  font-style: normal;
}

.schedule-plan-replica-tutor-recommendation-pane {
  container-type: inline-size;
}

.schedule-plan-replica-tutor-recommendation-pane .schedule-plan-replica-tutor-pane-header {
  flex: 0 0 auto;
  min-height: 0;
  height: auto;
  padding: 10px 12px 12px;
  position: relative;
  overflow: visible;
  background: #fff;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 7px 12px;
}

.schedule-plan-replica-tutor-recommendation-pane .schedule-plan-replica-tutor-pane-heading {
  min-width: 0;
  grid-column: 1;
  grid-row: 1;
}

.schedule-plan-replica-tutor-recommendation-pane .schedule-plan-replica-tutor-pane-heading > span {
  width: auto !important;
  display: inline-flex;
  align-items: center;
  flex-direction: row !important;
  gap: 7px;
}

.planning-recommendation-title-count {
  color: #8c94a9;
  font-size: 9px;
  font-style: normal;
  font-weight: 500;
  white-space: nowrap;
}

.planning-recommendation-title-count[hidden] {
  display: none;
}

.planning-current-recommendation-subtitle {
  display: none !important;
}

.planning-summary-panel {
  min-width: 0;
  grid-column: 1 / -1;
  grid-row: 2;
  display: grid;
  grid-template-columns: minmax(160px, .85fr) minmax(110px, .55fr) minmax(240px, 1.35fr);
  align-items: center;
}

.planning-summary-panel.planning-summary-without-progress {
  grid-template-columns: minmax(160px, 1fr) minmax(110px, .7fr);
}

.planning-summary-item {
  min-width: 0;
  min-height: 28px;
  padding: 0 10px;
  border-left: 1px solid #eceef4;
  display: flex;
  align-items: center;
  gap: 6px;
}

.planning-summary-item:first-child {
  padding-left: 0;
  border-left: 0;
}

.planning-summary-item:last-child {
  padding-right: 0;
}

.planning-summary-item[hidden] {
  display: none;
}

.planning-summary-item > span {
  color: #9299ac;
  font-size: 9px;
  white-space: nowrap;
}

.planning-summary-item > strong,
.planning-summary-item > div > strong {
  min-width: 0;
  overflow: hidden;
  color: #4f5770;
  font-size: 10px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.planning-summary-item > div {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.planning-summary-item.is-progress > div > strong {
  min-width: 0;
  overflow: hidden;
  color: #4f5770;
  font-size: 10px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.planning-summary-item > div > strong {
  flex: 1 1 auto;
}

.planning-plan-updated-badge {
  flex: 0 0 auto;
  padding: 2px 6px;
  border-radius: 999px;
  color: #5c6be4;
  background: #eef0ff;
  font-size: 9px;
  font-weight: 650;
  white-space: nowrap;
}

.planning-recommendation-update-slot {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

.planning-summary-panel.planning-summary-unavailable {
  display: none;
}

.schedule-plan-replica-tutor-recommendation-pane .schedule-plan-replica-tutor-pane-header:has(.planning-summary-unavailable) {
  min-height: 46px;
}

.planning-plan-toolbar {
  min-width: 0;
  min-height: 30px;
  grid-column: 2;
  grid-row: 1;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.planning-stage-diagnosis-action {
  width: auto !important;
  min-width: 0 !important;
  min-height: 26px !important;
  height: 26px !important;
  padding: 0 9px !important;
  border: 1px solid #d9def2 !important;
  border-radius: 6px !important;
  color: #5866e7 !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(69, 79, 128, .04);
  display: inline-flex !important;
  align-items: center;
  font-size: 10px !important;
  font-weight: 650;
  white-space: nowrap;
  cursor: pointer;
  transition: color .16s ease, border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .08s ease;
}

.planning-stage-diagnosis-action:hover {
  color: #4857d8 !important;
  border-color: #bfc7ef !important;
  background: #f6f7ff !important;
  box-shadow: 0 2px 5px rgba(69, 79, 128, .08);
}

.planning-stage-diagnosis-action:focus-visible {
  outline: 2px solid rgba(83, 97, 229, .22);
  outline-offset: 2px;
}

.planning-stage-diagnosis-action:active {
  background: #ecefff !important;
  box-shadow: none;
  transform: translateY(1px);
}

.planning-stage-diagnosis-action[hidden] {
  display: none !important;
}

.planning-stage-diagnosis-control {
  min-width: 0;
  display: inline-flex;
  align-items: center;
}

.planning-stage-diagnosis-progress {
  color: #7d8498;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 9px;
  white-space: nowrap;
}

.planning-stage-diagnosis-progress b {
  color: #9b6a13;
  font-weight: 650;
}

.planning-stage-diagnosis-progress small::before {
  margin-right: 6px;
  color: #c3c8d4;
  content: "·";
}

.planning-stage-diagnosis-control:not(:empty) + .planning-plan-mode-guide {
  padding-left: 8px;
  border-left: 1px solid #e8ebf2;
}

.planning-plan-mode-heading {
  min-width: 0;
  padding-right: 10px;
  border-right: 1px solid #edf0f5;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.planning-plan-mode-heading > span {
  color: #4d5570;
  font-size: 11px;
  font-weight: 700;
}

.planning-plan-mode-heading > small {
  margin-top: 4px;
  color: #9299ac;
  font-size: 9px;
  line-height: 1.4;
}

.planning-plan-mode-guide {
  min-width: 0;
  min-height: 30px;
  display: flex;
  align-items: center;
}

.planning-plan-mode-switch {
  flex: 0 0 auto;
}

.planning-plan-mode-switch .schedule-plan-replica-tutor-view-switch {
  width: auto;
  height: 30px;
  padding: 3px;
  border: 1px solid #e0e4f0;
  border-radius: 16px;
  background: #f0f2f7;
}

.planning-plan-mode-switch .schedule-plan-replica-tutor-view-switch button {
  min-width: 58px;
  height: 22px;
  padding: 0 10px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  font-size: 10px;
  text-align: center;
}

.planning-plan-mode-switch .schedule-plan-replica-tutor-view-switch button strong {
  color: inherit;
  font-size: 10px;
  font-weight: 700;
}

.planning-plan-mode-switch .schedule-plan-replica-tutor-view-switch button small {
  color: #969db0;
  font-size: 8px;
  font-weight: 500;
}

.planning-plan-mode-switch .schedule-plan-replica-tutor-view-switch button.is-active {
  color: #5361e5;
  background: #fff;
  box-shadow: 0 1px 5px rgba(55, 65, 112, .11);
}

.planning-plan-mode-copy {
  display: none;
}

.planning-plan-mode-copy > strong {
  color: #4f5770;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;
}

.planning-plan-mode-copy > span {
  margin-top: 4px;
  color: #858da5;
  font-size: 9px;
  line-height: 1.5;
}

.schedule-plan-replica-tutor-recommendation-pane > .schedule-plan-replica-demo-cadence.is-compact {
  width: auto;
  min-height: 48px;
  height: auto;
  margin: 0;
  padding: 7px 12px;
  border: 0;
  border-bottom: 1px solid #e9ecf3;
  border-radius: 0;
  background: #fff;
  grid-template-columns: minmax(118px, .82fr) minmax(108px, .72fr) minmax(108px, .72fr) auto;
  gap: 8px;
  box-shadow: none;
}

.schedule-plan-replica-tutor-recommendation-pane > .schedule-plan-replica-demo-cadence.is-compact > label {
  height: 34px;
  padding-right: 10px;
  padding-left: 11px;
}

.schedule-plan-replica-tutor-recommendation-pane > .schedule-plan-replica-demo-cadence.is-compact .schedule-plan-replica-demo-cadence-state {
  min-width: 0;
}

.schedule-plan-replica-tutor-recommendation-pane > .schedule-plan-replica-demo-cadence.is-compact .schedule-plan-replica-demo-cadence-state small {
  overflow: hidden;
  text-overflow: ellipsis;
}

.schedule-plan-replica-tutor-recommendation-pane > .schedule-plan-replica-demo-cadence.is-compact .schedule-plan-replica-plan-update-button {
  min-width: 88px;
  height: 34px;
  padding: 0 10px;
}

.schedule-plan-replica-tutor-recommendation-pane[data-planning-mode="chapter"] .schedule-plan-replica-tutor-fit-control {
  min-height: 48px;
  margin: 0 0 9px;
  padding: 7px 12px;
  border: 0;
  border-bottom: 1px solid #e5e9f2;
  border-radius: 0;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  box-shadow: none;
}

.schedule-plan-replica-tutor-recommendation-pane[data-planning-mode="chapter"] .schedule-plan-replica-tutor-fit-control > label {
  width: 142px;
  height: 32px;
  flex: 0 0 142px;
}

.schedule-plan-replica-tutor-recommendation-pane[data-planning-mode="chapter"] .schedule-plan-replica-tutor-fit-control > button {
  min-width: 88px;
  height: 32px;
  padding: 0 10px;
}

.planning-recommendation-head-actions {
  margin-left: auto;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
}

.planning-recommendation-head-actions .schedule-plan-replica-update-schedule-entry {
  width: auto;
  min-width: 0;
  height: 30px;
  padding: 0 10px;
  border: 1px solid #d9def0;
  border-radius: 8px;
  color: #5e6884;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 650;
}

.planning-recommendation-head-actions .schedule-plan-replica-update-schedule-entry:hover {
  color: #5361e5;
  border-color: #b8c0ef;
  background: #f8f9ff;
}

.planning-recommendation-update-slot .schedule-plan-replica-switch-textbook-button {
  min-width: 0;
  height: 24px;
  padding: 0 8px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: #5361e5;
  background: #f2f4ff;
  font-size: 10px;
  font-weight: 650;
  white-space: nowrap;
  cursor: pointer;
  transition: color .16s ease, border-color .16s ease, background-color .16s ease, transform .08s ease;
}

.planning-recommendation-update-slot .schedule-plan-replica-switch-textbook-button:hover:not(:disabled) {
  color: #4857d8;
  border-color: #d8ddf4;
  background: #e9edff;
}

.planning-recommendation-update-slot .schedule-plan-replica-switch-textbook-button:focus-visible {
  outline: 2px solid rgba(83, 97, 229, .2);
  outline-offset: 2px;
}

.planning-recommendation-update-slot .schedule-plan-replica-switch-textbook-button:active:not(:disabled) {
  background: #dfe4ff;
  transform: translateY(1px);
}

.planning-global-status-hidden {
  display: none !important;
}

.planning-native-diagnosis-entry-hidden {
  display: none !important;
}

.planning-diagnosis-scenario-control {
  height: 30px;
  padding: 0 9px;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 20;
  border: 1px solid #dfe3f0;
  border-radius: 15px;
  color: #7f879d;
  background: #f8f9fc;
  box-shadow: 0 2px 7px rgba(51, 60, 101, .06);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  transform: translate(-50%, -50%);
}

.planning-diagnosis-scenario-control select {
  max-width: 176px;
  padding-right: 18px;
  border: 0;
  outline: 0;
  color: #4f5873;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%236a738c' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right 2px center;
  background-repeat: no-repeat;
  background-size: 10px;
  font-size: 10px;
  font-weight: 650;
  appearance: none;
  cursor: pointer;
}

.planning-supplement-menu-wrap {
  position: relative;
}

.schedule-plan-replica-mixed-add-actions .planning-supplement-trigger {
  height: 32px;
  padding: 0 12px;
  border: 1px solid #d5daf4;
  border-radius: 9px;
  color: #5866e7;
  background: #fff;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 650;
  white-space: nowrap;
}

.planning-supplement-trigger > span {
  font-size: 13px;
  font-weight: 400;
}

.planning-supplement-trigger > i {
  margin-left: 2px;
  color: #8b93aa;
  font-size: 8px;
  font-style: normal;
}

.planning-supplement-menu {
  width: 144px;
  padding: 7px;
  position: absolute;
  top: calc(100% + 7px);
  right: 0;
  z-index: 80;
  border: 1px solid #e0e4ed;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(54, 63, 99, .14);
}

.schedule-plan-replica-mixed-add-actions .planning-supplement-menu > button {
  width: 100%;
  height: 38px;
  padding: 0 11px;
  border: 0;
  border-radius: 7px;
  color: #515a76;
  background: transparent;
  display: block;
  font-size: 12px;
  font-weight: 600;
  text-align: left;
}

.schedule-plan-replica-mixed-add-actions .planning-supplement-menu > button:hover {
  color: #5361e5;
  background: #f3f5ff;
}

.schedule-plan-replica-switch-textbook-button:disabled {
  color: #a6adbd !important;
  border-color: #e2e5ec !important;
  background: #f5f6f8 !important;
  cursor: not-allowed;
}

.planning-hidden-textbook-entry,
.planning-original-basket,
.planning-original-footer,
.planning-original-total {
  display: none !important;
}

.schedule-plan-replica-tutor-recommendation-pane.planning-recommendation-unavailable {
  position: relative;
}

.schedule-plan-replica-tutor-recommendation-pane.planning-recommendation-unavailable > :not(.schedule-plan-replica-tutor-pane-header):not(.planning-recommendation-empty),
.planning-hidden-recommendation-action {
  display: none !important;
}

.schedule-plan-replica-tutor-recommendation-pane.planning-recommendation-unavailable .planning-plan-toolbar {
  display: none;
}

@container (max-width: 720px) {
  .schedule-plan-replica-tutor-recommendation-pane .schedule-plan-replica-tutor-pane-header {
    min-height: 0;
    gap: 8px;
  }

  .planning-summary-panel {
    grid-template-columns: minmax(178px, .8fr) minmax(180px, 1.2fr);
  }

  .planning-recommendation-head-actions {
    gap: 6px;
  }

  .planning-recommendation-head-actions .schedule-plan-replica-update-schedule-entry,
  .planning-recommendation-update-slot .schedule-plan-replica-switch-textbook-button {
    padding: 0 8px;
  }

  .planning-recommendation-update-slot {
    margin: 0;
    padding: 0;
  }

  .planning-plan-toolbar {
    display: flex;
  }

  .planning-plan-mode-heading {
    padding-right: 8px;
  }

  .planning-plan-mode-heading > small {
    display: none;
  }

  .planning-plan-mode-guide {
    display: flex;
  }

  .schedule-plan-replica-tutor-recommendation-pane > .schedule-plan-replica-demo-cadence.is-compact {
    grid-template-columns: minmax(95px, 1fr) minmax(95px, 1fr) auto;
  }

  .schedule-plan-replica-tutor-recommendation-pane > .schedule-plan-replica-demo-cadence.is-compact .schedule-plan-replica-demo-cadence-state {
    display: none;
  }

  .schedule-plan-replica-tutor-recommendation-pane[data-planning-mode="chapter"] .schedule-plan-replica-tutor-fit-control > label {
    width: 132px;
    flex-basis: 132px;
  }
}

@container (max-width: 520px) {
  .schedule-plan-replica-tutor-recommendation-pane .schedule-plan-replica-tutor-pane-header {
    min-height: 0;
  }

  .planning-plan-toolbar {
    display: flex;
  }

  .planning-plan-mode-heading {
    padding: 0 0 7px;
    border-right: 0;
    border-bottom: 1px solid #edf0f5;
  }

  .planning-plan-mode-guide {
    display: flex;
  }

  .schedule-plan-replica-tutor-recommendation-pane > .schedule-plan-replica-demo-cadence.is-compact {
    min-height: 0;
    height: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
  }

  .schedule-plan-replica-tutor-recommendation-pane > .schedule-plan-replica-demo-cadence.is-compact .schedule-plan-replica-plan-update-button {
    width: auto;
    grid-column: auto;
  }

  .schedule-plan-replica-tutor-recommendation-pane[data-planning-mode="chapter"] .schedule-plan-replica-tutor-fit-control {
    flex-wrap: wrap;
  }
}

.schedule-plan-replica-tutor-recommendation-pane.planning-without-recommendation-context .planning-recommendation-empty {
  inset: 46px 0 0;
}

.planning-recommendation-empty {
  position: absolute;
  inset: 118px 0 0;
  z-index: 20;
  padding: 24px;
  color: #858da5;
  background: #fbfcff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
}

.planning-recommendation-empty > span {
  width: 44px;
  height: 44px;
  margin-bottom: 12px;
  border-radius: 50%;
  color: #6574fc;
  background: #edf0ff;
  display: grid;
  place-items: center;
  font-size: 18px;
}

.planning-recommendation-empty strong {
  color: #555e78;
  font-size: 13px;
}

.planning-recommendation-empty p {
  margin: 7px 0 0;
  font-size: 10px;
}

.planning-diagnosis-state-card {
  width: min(460px, 92%);
  padding: 24px 28px;
  border: 0;
  background: transparent;
  display: flex;
  align-items: center;
  flex-direction: column;
}

.planning-diagnosis-state-icon {
  width: 44px;
  height: 44px;
  margin-bottom: 12px;
  border-radius: 50%;
  color: #6574fc;
  background: #edf0ff;
  display: grid;
  place-items: center;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
}

.planning-diagnosis-state-card > strong {
  margin-top: 0;
  color: #4c5570;
  font-size: 16px;
}

.planning-diagnosis-state-card > p {
  max-width: 390px;
  margin: 6px 0 0;
  color: #858da5;
  font-size: 12px;
  line-height: 1.65;
}

.planning-diagnosis-state-card > div {
  margin-top: 14px;
  display: flex;
  justify-content: center;
  gap: 8px;
}

.planning-diagnosis-state-card > .planning-diagnosis-share-link {
  width: min(340px, 100%);
  height: 36px;
  padding: 3px 3px 3px 10px;
  border: 1px solid #dfe3ed;
  border-radius: 8px;
  background: #fff;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
}

.planning-diagnosis-share-link code {
  overflow: hidden;
  color: #687188;
  font-family: inherit;
  font-size: 10px;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.planning-diagnosis-state-card .planning-diagnosis-share-link button {
  height: 28px;
  padding: 0 10px;
  border: 0;
  color: #5866e7;
  background: #eef1ff;
}

.planning-diagnosis-state-card button {
  height: 34px;
  padding: 0 14px;
  border: 1px solid #d7dcf1;
  border-radius: 8px;
  color: #5e6884;
  background: #fff;
  font-size: 11px;
  font-weight: 650;
}

.planning-diagnosis-state-card button.primary {
  color: #fff;
  border-color: #6574fc;
  background: #6574fc;
}

.planning-diagnosis-state-card.is-issued .planning-diagnosis-state-icon,
.planning-diagnosis-state-card.is-in_progress .planning-diagnosis-state-icon {
  color: #9b6a13;
  background: #fff5d9;
}

.planning-diagnosis-state-card.is-completed_unbuilt .planning-diagnosis-state-icon {
  color: #16845d;
  background: #eaf8f2;
}

.planning-diagnosis-state-card.is-unsupported .planning-diagnosis-state-icon,
.planning-diagnosis-state-card.is-empty .planning-diagnosis-state-icon {
  color: #727b93;
  background: #f0f2f6;
}

.planning-diagnosis-state-card.is-expired .planning-diagnosis-state-icon,
.planning-diagnosis-state-card.is-error .planning-diagnosis-state-icon {
  color: #b14f46;
  background: #fff0ed;
}

.planning-reused-total {
  display: flex !important;
}

.schedule-plan-replica-classroom-pane.planning-right-workbench {
  display: grid !important;
  grid-template-rows: minmax(230px, 42fr) minmax(280px, 58fr);
  gap: 12px;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.planning-student-timeline {
  min-height: 0;
  overflow: hidden;
  border: 1px solid #e1e6f0;
  border-radius: 12px;
  background: #fff;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 8px rgba(67, 76, 126, .04);
}

.planning-student-timeline > header {
  min-height: 50px;
  padding: 10px 12px 8px;
  border-bottom: 1px solid #edf0f5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.planning-student-timeline > header > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.planning-student-timeline > header strong {
  overflow: hidden;
  color: #3f475f;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.planning-student-timeline > header small {
  color: #9299ac;
  font-size: 9px;
}

.planning-timeline-list {
  min-height: 0;
  padding: 4px 10px 12px;
  overflow: auto;
}

.planning-timeline-item {
  min-width: 0;
  padding: 8px 2px;
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr);
  gap: 7px;
}

.planning-timeline-item + .planning-timeline-item {
  border-top: 1px dashed #e7eaf1;
}

.planning-timeline-item > i {
  width: 8px;
  height: 8px;
  margin-top: 5px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #6574fc;
  box-shadow: 0 0 0 1px #b9c1f3;
}

.planning-timeline-item.is-diagnosis > i {
  background: #e1a345;
  box-shadow: 0 0 0 1px #efd6a6;
}

.planning-timeline-item > div,
.planning-timeline-meta-row,
.planning-timeline-meta-row > span {
  min-width: 0;
  display: flex;
}

.planning-timeline-item > div {
  flex-direction: column;
  gap: 2px;
}

.planning-timeline-meta-row {
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.planning-timeline-meta-row > span {
  align-items: center;
  gap: 5px;
}

.planning-timeline-item b,
.planning-timeline-item em {
  font-size: 8px;
  font-style: normal;
  font-weight: 650;
}

.planning-timeline-item b {
  padding: 2px 5px;
  border-radius: 999px;
  color: #6574e7;
  background: #f0f2ff;
  line-height: 1.25;
}

.planning-timeline-item.is-diagnosis b:not(.is-type) {
  color: #b9791d;
  background: #fff5e5;
}

.planning-timeline-item b.is-type {
  padding: 0;
  border-radius: 0;
  color: #777f92;
  background: transparent;
  font-weight: 500;
}

.planning-timeline-item em,
.planning-timeline-item small {
  color: #9299ac;
}

.planning-timeline-item strong {
  overflow: hidden;
  color: #4a526b;
  font-size: 10px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.planning-timeline-item small {
  overflow: hidden;
  font-size: 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.planning-timeline-item small i {
  margin: 0 3px;
  color: #c2c7d2;
  font-style: normal;
}

.planning-timeline-times {
  display: flex;
  align-items: center;
  gap: 3px;
}

.planning-timeline-times i {
  margin: 0 !important;
}

.planning-timeline-load-more {
  width: 100%;
  height: 28px;
  margin-top: 4px;
  border: 0;
  border-radius: 7px;
  color: #5968dc;
  background: #f1f3ff;
  font-size: 9px;
  font-weight: 650;
}

.planning-timeline-load-more span {
  color: #939aaf;
  font-weight: 500;
}

.planning-timeline-empty {
  min-height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  color: #7f879b;
  text-align: center;
}

.planning-timeline-empty strong {
  font-size: 11px;
}

.planning-timeline-empty small {
  color: #a4aabb;
  font-size: 9px;
}

.planning-prerequisite-confirm-modal {
  width: min(440px, calc(100vw - 32px));
}

.planning-prerequisite-confirm-copy {
  margin: 0;
  padding: 18px;
  border-radius: 10px;
  color: #656d82;
  background: #f7f8fb;
  font-size: 13px;
  line-height: 1.7;
}

.planning-task-basket-panel {
  min-height: 0;
  overflow: hidden;
  border: 1px solid #e1e6f0;
  border-radius: 12px;
  background: #fff;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 8px rgba(67, 76, 126, .04);
}

.planning-reused-basket {
  flex: 1 1 auto;
  min-height: 0;
  padding: 10px 10px 14px;
  overflow: auto;
  background: #f7f9fd;
}

.planning-reused-basket .selected-content-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.planning-reused-basket .selected-content-card {
  width: 100%;
  box-sizing: border-box;
  box-shadow: 0 1px 3px rgba(67, 76, 126, .06);
}

.planning-reused-basket .selected-content-card.selected-course-row {
  grid-template-columns: 18px minmax(0, 1fr) 48px 24px;
  gap: 9px;
  padding: 10px 11px;
}

.planning-reused-basket .selected-content-card.selected-homework-row {
  grid-template-columns: 16px 30px minmax(0, 1fr) 48px 24px;
  gap: 7px;
  padding: 9px 10px;
}

.planning-reused-basket .resource-main strong {
  font-size: 12px;
  line-height: 1.45;
  white-space: normal;
}

.planning-reused-basket .resource-main small {
  margin-top: 4px;
  font-size: 10px;
}

.planning-reused-basket .origin-tag {
  margin-left: 5px;
  min-height: 18px;
  padding: 0 5px;
  font-size: 8px;
}

.planning-reused-basket .homework-preview-button {
  width: 48px;
  min-width: 0;
  height: 24px;
  padding: 0;
  font-size: 8px;
}

.planning-reused-basket .course-remove-button {
  width: 24px;
  height: 24px;
}

.planning-reused-basket .compose-empty {
  min-height: 230px;
  border: 0;
  background: transparent;
}

.planning-reused-basket .compose-empty strong {
  color: #4f5871;
  font-size: 14px;
}

.planning-reused-basket .compose-empty p {
  max-width: 280px;
  color: #858da3;
  font-size: 11px;
  line-height: 1.65;
}

.planning-reused-footer {
  flex: 0 0 82px;
  min-height: 82px;
  padding: 10px 12px;
  border-top: 1px solid #e5e9f2;
  background: #fff;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}

.planning-reused-footer > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.planning-reused-footer strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.planning-reused-footer strong {
  color: #555e78;
  font-size: 11px;
}

.planning-task-duration-status {
  min-width: 0;
  color: #858ca2;
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 9px;
  line-height: 1.35;
  white-space: nowrap;
}

.planning-task-duration-status i {
  color: #c3c8d5;
  font-style: normal;
}

.planning-task-duration-status em {
  font-style: normal;
  font-weight: 600;
}

.planning-task-duration-status .is-remaining {
  color: #66708d;
}

.planning-task-duration-status .is-fit {
  color: #267157;
}

.planning-task-duration-status .is-over {
  color: #b65447;
}

.planning-reused-footer > button {
  height: 38px;
  padding: 0 14px;
  border: 0;
  border-radius: 9px;
  color: #fff;
  background: #6271f3;
  font-size: 11px;
  font-weight: 650;
  white-space: nowrap;
}

.planning-reused-footer > button:disabled {
  color: #a8aebd;
  background: #eceef3;
  cursor: not-allowed;
}

#planningLegacyModalRoot {
  position: relative;
  z-index: 2000;
  font-size: 14px;
}

#planningLegacyModalRoot .planning-legacy-backdrop {
  z-index: 2000;
}

#planningLegacyModalRoot .modal-backdrop {
  padding: 16px;
}

#planningLegacyModalRoot .course-picker-modal {
  height: min(690px, calc(100vh - 32px));
  display: flex;
  flex-direction: column;
}

#planningLegacyModalRoot .course-catalog-layout {
  flex: 1;
  min-height: 0;
}

#planningLegacyModalRoot .course-catalog-content,
#planningLegacyModalRoot .course-catalog-sidebar,
#planningLegacyModalRoot .matched-question-list,
#planningLegacyModalRoot .manual-question-list {
  min-height: 0;
  overflow: auto;
}

#planningLegacyModalRoot .course-catalog-row {
  grid-template-columns: 30px minmax(0, 1fr) 86px 68px;
}

#planningLegacyModalRoot .smart-modal,
#planningLegacyModalRoot .manual-modal {
  height: min(720px, calc(100vh - 32px));
}

.planning-flow-backdrop {
  background: rgba(26, 31, 48, .52) !important;
  display: grid;
  place-items: center;
}

.planning-flow-modal {
  width: min(720px, calc(100vw - 40px));
  max-height: min(760px, calc(100vh - 40px));
  overflow: hidden;
  border: 1px solid rgba(225, 229, 239, .92);
  border-radius: 16px;
  color: #30364b;
  background: #fff;
  box-shadow: 0 24px 64px rgba(27, 34, 60, .22);
  display: flex;
  flex-direction: column;
}

.planning-flow-head {
  min-height: 84px;
  padding: 20px 24px 16px;
  border-bottom: 1px solid #edf0f5;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.planning-flow-head h2,
.planning-flow-head p {
  margin: 0;
}

.planning-flow-head h2 {
  color: #272d42;
  font-size: 20px;
  font-weight: 700;
}

.planning-flow-head p {
  margin-top: 6px;
  color: #858da3;
  font-size: 12px;
  line-height: 1.5;
}

.planning-flow-head > button {
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  color: #717991;
  background: transparent;
  font-size: 24px;
  line-height: 1;
}

.planning-flow-head > button:hover {
  color: #48516b;
  background: #f4f6fa;
}

.planning-flow-body {
  min-height: 0;
  padding: 20px 24px 24px;
  overflow: auto;
}

.planning-flow-section + .planning-flow-section {
  margin-top: 22px;
}

.planning-flow-section-head {
  margin-bottom: 12px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}

.planning-flow-section-head strong {
  color: #343b52;
  font-size: 14px;
}

.planning-flow-section-head span {
  color: #949bad;
  font-size: 11px;
}

.planning-diagnosis-facts {
  padding: 14px 16px;
  border-radius: 10px;
  background: #f6f8fc;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.planning-diagnosis-facts > div {
  min-width: 0;
  padding: 0 14px;
  border-left: 1px solid #e1e5ee;
}

.planning-diagnosis-facts > div:first-child {
  padding-left: 0;
  border-left: 0;
}

.planning-diagnosis-facts span,
.planning-diagnosis-facts strong {
  display: block;
}

.planning-diagnosis-facts span {
  color: #9299ac;
  font-size: 10px;
}

.planning-diagnosis-facts strong {
  margin-top: 5px;
  overflow: hidden;
  color: #343b51;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.planning-stage-diagnosis-facts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.planning-stage-object-facts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.planning-diagnosis-impact {
  margin-top: 16px;
  padding: 13px 15px;
  border-radius: 10px;
  color: #80581d;
  background: #fff8e8;
}

.planning-diagnosis-impact strong,
.planning-diagnosis-impact p {
  margin: 0;
}

.planning-diagnosis-impact strong {
  font-size: 12px;
}

.planning-diagnosis-impact p {
  margin-top: 4px;
  color: #8c7048;
  font-size: 10px;
  line-height: 1.55;
}

.planning-diagnosis-impact + .planning-flow-section {
  margin-top: 18px;
}

.planning-cadence-confirm-modal {
  width: min(580px, calc(100vw - 40px));
}

.planning-cadence-change {
  padding: 16px;
  border: 1px solid #e6e9f2;
  border-radius: 10px;
  background: #f8f9fc;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}

.planning-cadence-change > span {
  min-width: 0;
}

.planning-cadence-change small,
.planning-cadence-change strong {
  display: block;
}

.planning-cadence-change small {
  color: #9299ac;
  font-size: 10px;
}

.planning-cadence-change strong {
  margin-top: 5px;
  color: #3e465f;
  font-size: 13px;
  white-space: nowrap;
}

.planning-cadence-change > i {
  color: #8b94ac;
  font-size: 16px;
  font-style: normal;
}

.planning-cadence-impact {
  margin-top: 18px;
}

.planning-cadence-impact > strong {
  color: #3d455d;
  font-size: 13px;
}

.planning-cadence-impact ul {
  margin: 10px 0 0;
  padding-left: 18px;
  color: #69728b;
  font-size: 11px;
  line-height: 1.75;
}

.planning-stage-progress-fields i {
  color: #d75a55;
  font-style: normal;
}

.planning-new-diagnosis-fields {
  grid-template-columns: minmax(0, 1fr);
}

.planning-diagnosis-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.planning-diagnosis-fields label.is-wide {
  grid-column: 1 / -1;
}

.planning-diagnosis-fields label > span,
.planning-update-book > span {
  margin-bottom: 7px;
  color: #59627b;
  display: block;
  font-size: 11px;
  font-weight: 650;
}

.planning-diagnosis-fields select,
.planning-update-book select {
  width: 100%;
  height: 40px;
  padding: 0 34px 0 12px;
  border: 1px solid #dfe3ed;
  border-radius: 8px;
  outline: 0;
  color: #343b51;
  background: #fff;
  font-size: 12px;
}

.planning-diagnosis-fields select:focus,
.planning-update-book select:focus {
  border-color: #9da8f0;
  box-shadow: 0 0 0 3px rgba(101, 116, 252, .09);
}

.planning-diagnosis-scope {
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid #e5e8f1;
  border-radius: 10px;
  background: #fbfcff;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 14px;
}

.planning-diagnosis-scope > span {
  color: #858da3;
  font-size: 11px;
}

.planning-diagnosis-scope > strong {
  color: #46506a;
  font-size: 12px;
}

.planning-diagnosis-scope > small {
  grid-column: 1 / -1;
  color: #8c94a8;
  font-size: 10px;
  line-height: 1.55;
}

.planning-stage-diagnosis-scope {
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
}

.planning-stage-diagnosis-scope > em {
  color: #a66d19;
  font-size: 10px;
  font-style: normal;
  white-space: nowrap;
}

.planning-stage-diagnosis-scope > em b {
  margin-right: 6px;
  color: #8b93a8;
  font-weight: 500;
}

.planning-flow-foot {
  min-height: 68px;
  padding: 14px 24px;
  border-top: 1px solid #edf0f5;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.planning-flow-foot > button {
  min-width: 88px;
  height: 36px;
  padding: 0 16px;
  border: 1px solid #dfe3ed;
  border-radius: 8px;
  color: #59627b;
  background: #fff;
  font-size: 12px;
  font-weight: 650;
}

.planning-flow-foot > button.primary {
  color: #fff;
  border-color: #6271f3;
  background: #6271f3;
}

.planning-flow-foot > button:disabled {
  color: #aeb4c5;
  border-color: #e3e6ee;
  background: #f2f3f7;
  cursor: not-allowed;
}

.planning-update-book {
  display: block;
}

.planning-update-book > span i {
  color: #df5f58;
  font-style: normal;
}

.planning-update-preview {
  margin-top: 18px;
}

.planning-update-preview-head {
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.planning-update-preview-head strong {
  color: #343b52;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 14px;
}

.planning-update-preview-head strong i {
  color: #6271f3;
  font-size: 17px;
  font-style: normal;
  font-weight: 500;
}

.planning-update-preview-head em {
  color: #8b93a7;
  font-size: 10px;
  font-style: normal;
}

.planning-update-preview > div:last-child {
  display: grid;
  gap: 10px;
}

.planning-update-preview article {
  min-height: 72px;
  padding: 14px 16px;
  border: 1px solid #e2e6ef;
  border-radius: 10px;
  background: #fff;
  display: flex;
  align-items: center;
}

.planning-update-preview article strong,
.planning-update-preview article small {
  display: block;
}

.planning-update-preview article strong {
  color: #3d455d;
  font-size: 13px;
}

.planning-update-preview article small {
  margin-top: 3px;
  color: #8b93a7;
  font-size: 10px;
}

.planning-publish-summary {
  padding: 14px 16px;
  border: 1px solid #e4e8f2;
  border-radius: 12px;
  background: #f8faff;
}

.planning-publish-summary + .planning-publish-summary {
  margin-top: 10px;
}

.planning-publish-summary span,
.planning-publish-summary strong,
.planning-publish-summary small {
  display: block;
}

.planning-publish-summary span {
  color: #8a91a6;
  font-size: 11px;
}

.planning-publish-summary strong {
  margin-top: 5px;
  color: #353c54;
  font-size: 14px;
}

.planning-publish-summary small {
  margin-top: 4px;
  color: #7c849c;
}

#planningLegacyModalRoot .planning-publish-modal {
  width: min(520px, calc(100vw - 32px));
  border-radius: 18px;
  color: #252b3d;
}

#planningLegacyModalRoot .planning-publish-modal .task-publish-head {
  min-height: 72px;
  padding: 22px 24px 10px;
  border-bottom: 0;
}

#planningLegacyModalRoot .planning-publish-modal .task-publish-head h2 {
  color: #151924;
  font-size: 24px;
  line-height: 1.2;
}

#planningLegacyModalRoot .planning-publish-modal .drawer-close {
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: transparent;
  color: #222733;
  font-size: 26px;
  font-weight: 350;
}

#planningLegacyModalRoot .planning-publish-modal .drawer-close:hover {
  background: #f3f5f9;
}

#planningLegacyModalRoot .planning-publish-modal .task-publish-body {
  padding: 8px 24px 10px;
}

.planning-publish-task-summary {
  display: grid;
  gap: 7px;
  padding: 17px 18px;
  border-radius: 12px;
  background: #f3f5ff;
}

.planning-publish-task-summary strong,
.planning-publish-task-summary span,
.planning-publish-task-summary small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.planning-publish-task-summary strong {
  color: #252b3d;
  font-size: 16px;
  line-height: 1.45;
}

.planning-publish-task-summary span,
.planning-publish-task-summary small {
  color: #7f89aa;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
}

.planning-publish-task-summary small {
  margin-top: -2px;
}

.planning-publish-fields {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}

.planning-publish-fields fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.planning-publish-fields legend,
.planning-publish-time-field > span:first-child {
  display: block;
  margin-bottom: 7px;
  color: #7f89aa;
  font-size: 13px;
  font-weight: 650;
}

.planning-publish-mode {
  width: max-content;
  display: flex;
  gap: 3px;
  padding: 4px;
  border-radius: 10px;
  background: #f1f3fb;
}

.planning-publish-mode button {
  min-width: 82px;
  height: 36px;
  padding: 0 14px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #69738f;
  font-size: 13px;
  font-weight: 650;
}

.planning-publish-mode button.active {
  background: #fff;
  color: #5868e9;
  box-shadow: 0 2px 8px rgba(57, 67, 112, .09);
}

.planning-publish-time-field {
  min-width: 0;
}

.planning-publish-input {
  position: relative;
  display: block;
  cursor: pointer;
}

.planning-publish-input input {
  width: 100%;
  height: 44px;
  padding: 0 44px 0 13px;
  border: 1px solid #dfe4f2;
  border-radius: 10px;
  outline: 0;
  color: #3f475d;
  background: #fff;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
  transition: border-color .16s, box-shadow .16s;
}

.planning-publish-input input::-webkit-calendar-picker-indicator {
  position: absolute;
  inset: 0 0 0 auto;
  width: 44px;
  height: 44px;
  opacity: 0;
  cursor: pointer;
}

.planning-publish-input > svg {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 13px;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: #7f89aa;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
  transform: translateY(-50%);
}

.planning-publish-input input:focus {
  border-color: #9ca8f5;
  box-shadow: 0 0 0 3px rgba(91, 104, 246, .08);
}

.planning-publish-time-field.has-error .planning-publish-input input {
  border-color: #e4868c;
  box-shadow: 0 0 0 3px rgba(214, 79, 89, .07);
}

.planning-publish-time-field > small {
  display: block;
  margin-top: 5px;
  color: #d64f59;
  font-size: 10px;
  font-weight: 600;
}

#planningLegacyModalRoot .planning-publish-modal .task-publish-foot {
  min-height: 76px;
  padding: 12px 24px 20px;
  border-top: 0;
}

#planningLegacyModalRoot .planning-publish-modal .task-publish-foot .btn {
  min-width: 96px;
  min-height: 38px;
  border-radius: 999px;
  font-size: 13px;
}

#planningLegacyModalRoot .planning-publish-modal .task-publish-foot .btn.primary {
  border-color: #7e8cf6;
  background: #7e8cf6;
}

#planningLegacyModalRoot .planning-publish-modal .task-publish-foot .btn.primary:disabled {
  border-color: #aeb8fa;
  background: #aeb8fa;
  color: #fff;
  cursor: not-allowed;
}

.planning-reuse-toast {
  position: fixed;
  left: 50%;
  bottom: 24px;
  z-index: 2400;
  padding: 9px 14px;
  border-radius: 18px;
  color: #fff;
  background: rgba(45, 53, 81, .92);
  font-size: 11px;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 8px);
  transition: opacity .18s ease, transform .18s ease;
}

.planning-reuse-toast.visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

@media (max-width: 1100px) {
  .schedule-plan-replica-demo-context.planning-target-form > .planning-prerequisite-select {
    width: 240px;
  }

  .schedule-plan-replica-demo-context.planning-target-form > .planning-prerequisite-select:nth-child(2) {
    width: 160px;
  }
}

@media (max-width: 1200px) {
  .planning-top-context {
    justify-content: space-between;
  }

  .planning-top-business-context {
    display: contents;
  }

  .planning-top-prerequisites .planning-prerequisite-select {
    width: 170px;
  }

  .planning-top-prerequisites .planning-prerequisite-select.is-subject {
    width: 88px;
  }

  .planning-diagnosis-scenario-control > span {
    font-size: 0;
  }

  .planning-diagnosis-scenario-control > span::after {
    content: "演示";
    font-size: 9px;
  }

  .planning-diagnosis-scenario-control select {
    max-width: 120px;
  }
}

@media (max-width: 680px) {
  .planning-flow-modal {
    width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
  }

  .planning-flow-head,
  .planning-flow-body,
  .planning-flow-foot {
    padding-right: 16px;
    padding-left: 16px;
  }

  .planning-diagnosis-facts,
  .planning-diagnosis-fields {
    grid-template-columns: 1fr;
  }

  .planning-diagnosis-facts {
    gap: 12px;
  }

  .planning-diagnosis-facts > div {
    padding: 0;
    border-left: 0;
  }

  .planning-diagnosis-fields label.is-wide {
    grid-column: auto;
  }
}

@media (max-width: 900px) {
  .schedule-plan-replica-demo-context.is-tutor.planning-target-form {
    height: auto !important;
    min-height: 58px !important;
    flex-wrap: wrap;
  }

  .planning-context-diagnosis {
    margin-left: 0;
  }

  #planningLegacyModalRoot .smart-modal-body,
  #planningLegacyModalRoot .manual-modal-body {
    grid-template-columns: 280px minmax(0, 1fr);
  }
}
