@charset "UTF-8";.app-tab-bar[data-v-4b21833c] {
  --tab-icon-size: 28px;
  --tab-text-size: 12px;
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0;
  width: 71px;
  height: calc(100vh - 15px - 15px);
  margin: 15px 0 15px 15px;
  padding-top: 20px;
  padding-bottom: 6px;
  box-sizing: border-box;
  overflow: hidden;
  border-top: none;
  border-right: 0;
  border-radius: 12px 0 0 12px;
  background: #ffffff;
}
.app-tab-bar .tablet-top[data-v-4b21833c] {
  display: flex;
  width: 100%;
  justify-content: center;
  padding: 20px 0 9px;
}
.app-tab-bar .tablet-top .tablet-logo[data-v-4b21833c] {
  width: 44px;
  height: 44px;
  margin-top: -12px;
  border-radius: 8px;
  object-fit: contain;
}
.app-tab-bar .tab-item[data-v-4b21833c] {
  display: flex;
  flex: none;
  width: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 0 0 4px;
  padding: 21px 0;
  border: 0;
  outline: none;
  background: transparent;
  cursor: pointer;
}
.app-tab-bar .tab-item[data-v-4b21833c]:focus, .app-tab-bar .tab-item[data-v-4b21833c]:focus-visible {
  outline: none;
}
.app-tab-bar .tab-item .tab-icon[data-v-4b21833c] {
  width: var(--tab-icon-size);
  height: var(--tab-icon-size);
  margin-bottom: 3px;
  object-fit: contain;
}
.app-tab-bar .tab-item .tab-text[data-v-4b21833c] {
  color: #999999;
  font-size: var(--tab-text-size);
  line-height: 1.1;
  text-align: center;
  white-space: nowrap;
}
.app-tab-bar .tab-item.active .tab-text[data-v-4b21833c] {
  color: #4000ff;
}
.app-tab-bar .tablet-bottom[data-v-4b21833c] {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  margin-top: auto;
  padding: 9px 0 20px;
  border: 0;
  outline: none;
  background: transparent;
  cursor: pointer;
}
.app-tab-bar .tablet-bottom[data-v-4b21833c]:focus, .app-tab-bar .tablet-bottom[data-v-4b21833c]:focus-visible {
  outline: none;
}
.app-tab-bar .tablet-bottom .student-bg[data-v-4b21833c] {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #08aaff;
  color: #ffffff;
  font-size: 12px;
  line-height: 36px;
  text-align: center;
}
.app-tab-bar .tablet-bottom .tablet-user-text[data-v-4b21833c] {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 0 4px;
  overflow: hidden;
  color: #42a5f5;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.1;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}.global-overlay[data-v-5adcbeba] {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: 100vh;
  min-height: 100vh;
  padding: 24px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.5);
  box-sizing: border-box;
}
.global-overlay .global-overlay__panel[data-v-5adcbeba] {
  position: relative;
  width: auto;
  max-width: calc(100vw - 48px);
  max-height: calc(100vh - 48px);
}
.global-overlay .global-overlay__panel--framed[data-v-5adcbeba] {
  overflow: hidden;
  border: 2px solid #ffffff;
  border-radius: 20px;
  background: #f3f3f3;
  box-shadow: 0 18px 52px rgba(27, 35, 54, 0.3);
}
.global-overlay .global-overlay__panel .global-overlay__header[data-v-5adcbeba] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 0 18px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
}
.global-overlay .global-overlay__panel .global-overlay__title-wrap[data-v-5adcbeba] {
  text-align: center;
}
.global-overlay .global-overlay__panel .global-overlay__title[data-v-5adcbeba] {
  margin: 0;
  color: #111111;
  font-size: 18px;
  font-weight: 500;
}
.global-overlay .global-overlay__panel .global-overlay__body[data-v-5adcbeba] {
  min-height: 0;
}
.global-overlay .global-overlay__panel .global-overlay__actions[data-v-5adcbeba] {
  display: flex;
  gap: 12px;
  padding: 16px 20px 20px;
  border-top: 0;
  box-sizing: border-box;
}
.global-overlay .global-overlay__panel .global-overlay__btn[data-v-5adcbeba] {
  flex: 1;
  height: 42px;
  border-radius: 21px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  box-sizing: border-box;
}
.global-overlay .global-overlay__panel .global-overlay__btn--cancel[data-v-5adcbeba] {
  border: 1px solid #d7dbff;
  background: #ffffff;
  color: #3d4df5;
}
.global-overlay .global-overlay__panel .global-overlay__btn--cancel[data-v-5adcbeba]:hover {
  background: #f7f7f7;
}
.global-overlay .global-overlay__panel .global-overlay__btn--confirm[data-v-5adcbeba] {
  border: 0;
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
  color: #ffffff;
}
.global-overlay .global-overlay__panel .global-overlay__btn--confirm[data-v-5adcbeba]:hover {
  background: linear-gradient(90deg, #4c5bff 0%, #c875ff 100%);
}
.global-overlay-fade-enter-active[data-v-5adcbeba],
.global-overlay-fade-leave-active[data-v-5adcbeba] {
  transition: opacity 0.22s ease;
}
.global-overlay-fade-enter-from[data-v-5adcbeba],
.global-overlay-fade-leave-to[data-v-5adcbeba] {
  opacity: 0;
}
.global-overlay-panel-enter-active[data-v-5adcbeba] {
  transition: opacity 0.24s ease, transform 0.24s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.global-overlay-panel-leave-active[data-v-5adcbeba] {
  transition: opacity 0.18s ease, transform 0.18s ease;
}
.global-overlay-panel-enter-from[data-v-5adcbeba],
.global-overlay-panel-leave-to[data-v-5adcbeba] {
  opacity: 0;
  transform: translateY(12px) scale(0.96);
}.app-shell[data-v-e0624230] {
  display: grid;
  grid-template-columns: calc(15px + 71px) 1fr;
  height: 100vh;
  min-height: 0;
  background: #f2f2f2;
}
.main[data-v-e0624230] {
  display: flex;
  flex-direction: column;
  height: 100vh;
  min-height: 0;
  min-width: 0;
  margin: 0;
  padding: 0;
  background: #f3f3f3;
  border-radius: 0;
  overflow: hidden;
}
.main .content[data-v-e0624230] {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}.news-force-panel {
  width: 360px;
  max-width: calc(100vw - 64px);
  overflow: hidden;
  border-radius: 18px;
  background: #ffffff;
}
.news-force-dialog {
  display: flex;
  flex-direction: column;
  padding: 22px 22px 24px;
}
.news-force-dialog h2 {
  margin: 0;
  color: #222222;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.4;
}
.news-force-dialog p {
  margin: 12px 0 0;
  color: #666666;
  font-size: 15px;
  line-height: 1.6;
}
.news-force-dialog img {
  display: block;
  width: 100%;
  margin-top: 16px;
  border-radius: 10px;
}
.news-force-dialog .news-force-actions {
  display: flex;
  gap: 12px;
  margin-top: 22px;
}
.news-force-dialog .news-force-actions button {
  flex: 1;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: #08aaff;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}
.news-force-dialog .news-force-actions button.ghost {
  border: 1px solid #08aaff;
  background: #ffffff;
  color: #08aaff;
}.login-page[data-v-41250c84] {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 100vh;
  height: 100vh;
  max-height: 100vh;
  overflow: hidden;
  background: linear-gradient(165deg, #fff0f3 0%, #eaf4ff 48%, #fbfdff 100%);
}
.login-page .login-back[data-v-41250c84] {
  position: absolute;
  top: 24px;
  left: 28px;
  z-index: 2;
  display: flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 0 3px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.72);
  color: #334155;
  box-shadow: 0 4px 14px rgba(56, 88, 126, 0.12);
  font-size: 34px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.2s, transform 0.2s;
}
.login-page .login-back[data-v-41250c84]:hover {
  background: rgba(255, 255, 255, 0.94);
  transform: translateX(-2px);
}
.login-page .login-back[data-v-41250c84]:active {
  transform: scale(0.96);
}
.login-page .wechat-platform-modal[data-v-41250c84] {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: #ffffff;
}
.login-page .wechat-platform-modal-close[data-v-41250c84] {
  position: absolute;
  top: 18px;
  right: 22px;
  z-index: 2;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: #475569;
  font-size: 32px;
  font-weight: 300;
  line-height: 38px;
  cursor: pointer;
  box-shadow: 0 3px 14px rgba(15, 23, 42, 0.12);
}
.login-page .wechat-platform-modal .wechat-platform-login-frame[data-v-41250c84] {
  display: block;
  width: min(100%, 600px);
  height: min(100%, 420px);
  border: 0;
  border-radius: 12px;
  background: #ffffff;
}
.login-page .login-main[data-v-41250c84] {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 1;
  width: 100%;
  min-height: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px 32px 56px;
  box-sizing: border-box;
}
.login-page .login-main .login-header[data-v-41250c84] {
  margin: 8px 0 32px;
  text-align: center;
}
.login-page .login-main .login-header .login-logo[data-v-41250c84] {
  display: block;
  width: 148px;
  height: 148px;
  object-fit: contain;
}
.login-page .login-main .login-card[data-v-41250c84] {
  width: 100%;
  max-width: 330px;
  flex-shrink: 0;
  padding: 20px 30px 18px;
  box-sizing: border-box;
  background: #ffffff;
  border-radius: 20px;
  font-size: 16px;
  line-height: 1.5;
  overflow: visible;
}
.login-page .login-main .login-card .login-tabs[data-v-41250c84] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-bottom: 20px;
}
.login-page .login-main .login-card .login-tabs .tab-text[data-v-41250c84] {
  position: relative;
  padding: 0 0 6px;
  border: none;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: #999999;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  white-space: nowrap;
  cursor: pointer;
}
.login-page .login-main .login-card .login-tabs .tab-text.active[data-v-41250c84] {
  color: #08aaff;
  border-bottom-color: #08aaff;
  font-weight: 500;
}
.login-page .login-main .login-card .login-form[data-v-41250c84] {
  width: 100%;
}
.login-page .login-main .login-card .login-form .wechat-login-panel[data-v-41250c84] {
  display: flex;
  min-height: 218px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.login-page .login-main .login-card .login-form .wechat-login-panel .wechat-login-icon[data-v-41250c84] {
  display: block;
  width: 46px;
  height: 46px;
  margin-bottom: 10px;
}
.login-page .login-main .login-card .login-form .wechat-login-panel .wechat-login-title[data-v-41250c84] {
  color: #333333;
  font-size: 16px;
  font-weight: 500;
}
.login-page .login-main .login-card .login-form .wechat-login-panel .wechat-login-message[data-v-41250c84] {
  min-height: 36px;
  margin: 8px 24px 0;
  color: #999999;
  font-size: 12px;
  line-height: 1.5;
}
.login-page .login-main .login-card .login-form .wechat-login-panel .wechat-login-qr[data-v-41250c84] {
  width: 148px;
  height: 148px;
  margin: -18px 0 -4px;
  border-radius: 4px;
}
.login-page .login-main .login-card .login-form .wechat-login-panel .wechat-user-avatar[data-v-41250c84] {
  width: 48px;
  height: 48px;
  margin-bottom: 6px;
  border-radius: 50%;
}
.login-page .login-main .login-card .login-form .wechat-login-panel .wechat-user-name[data-v-41250c84] {
  margin-bottom: 4px;
  color: #333333;
  font-size: 13px;
}
.login-page .login-main .login-card .login-form .wechat-login-panel .wechat-login-btn[data-v-41250c84] {
  margin-top: 4px;
  background: #07c160;
}
.login-page .login-main .login-card .login-form .wechat-login-panel .wechat-login-btn[data-v-41250c84]:active {
  background: #06a952;
}
.login-page .login-main .login-card .login-form .wechat-login-panel .wechat-login-btn[data-v-41250c84]:disabled {
  cursor: default;
  opacity: 0.7;
}
.login-page .login-main .login-card .login-form .wechat-login-panel .wechat-platform-debug-btn[data-v-41250c84] {
  margin-top: 10px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #5b759d;
  font-size: 12px;
  line-height: 1.5;
  cursor: pointer;
}
.login-page .login-main .login-card .login-form .wechat-login-panel .wechat-platform-debug-btn[data-v-41250c84]:hover {
  color: #08aaff;
}
.login-page .login-main .login-card .login-form .wechat-login-panel .wechat-platform-debug-btn[data-v-41250c84]:disabled {
  cursor: default;
  opacity: 0.65;
}
.login-page .login-main .login-card .login-form .wechat-login-panel .wechat-platform-login-frame[data-v-41250c84] {
  display: block;
  width: min(100%, 360px);
  height: 320px;
  margin-top: 14px;
  border: 0;
  border-radius: 12px;
  background: #fff;
}
.login-page .login-main .login-card .login-form .form-item[data-v-41250c84] {
  width: 100%;
  margin-bottom: 14px;
}
.login-page .login-main .login-card .login-form .form-item .input-wrap[data-v-41250c84] {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 40px;
  padding: 8px 0;
  box-sizing: border-box;
}
.login-page .login-main .login-card .login-form .form-item .input-wrap .input-icon[data-v-41250c84] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  object-fit: contain;
}
.login-page .login-main .login-card .login-form .form-item .input-wrap .input[data-v-41250c84] {
  flex: 1;
  min-width: 0;
  height: 40px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #333333;
  font-size: 16px;
  line-height: 40px;
}
.login-page .login-main .login-card .login-form .form-item .input-wrap .input[data-v-41250c84]::placeholder {
  color: #999999;
}
.login-page .login-main .login-card .login-form .form-item .input-wrap .text-action[data-v-41250c84] {
  flex-shrink: 0;
  height: 28px;
  padding: 0 16px;
  border: 1px solid transparent;
  background: transparent;
  color: #08aaff;
  font-size: 14px;
  line-height: 28px;
  cursor: pointer;
}
.login-page .login-main .login-card .login-form .form-item .input-wrap .sms-btn[data-v-41250c84] {
  flex-shrink: 0;
  min-width: 80px;
  height: 28px;
  padding: 0 16px;
  border: 1px solid #08aaff;
  border-radius: 20px;
  background: transparent;
  color: #08aaff;
  font-size: 13px;
  line-height: 26px;
  cursor: pointer;
}
.login-page .login-main .login-card .login-form .form-item .input-wrap .sms-btn[data-v-41250c84]:disabled {
  border-color: #eeeeee;
  color: #cccccc;
  cursor: default;
}
.login-page .login-main .login-card .login-form .login-secondary-slot[data-v-41250c84] {
  min-height: 44px;
  width: 100%;
  box-sizing: border-box;
}
.login-page .login-main .login-card .login-form .login-btn[data-v-41250c84] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 40px;
  margin-top: 10px;
  border: 0;
  border-radius: 24px;
  background: #08aaff;
  color: #ffffff;
  font-size: 16px;
  font-weight: 400;
  cursor: pointer;
}
.login-page .login-main .login-card .login-form .login-btn[data-v-41250c84]:active {
  background: #007dbe;
}
.login-page .login-main .login-card .login-form .login-btn.loading[data-v-41250c84] {
  opacity: 0.7;
  cursor: default;
}
.login-page .login-main .login-card .login-form .agreement[data-v-41250c84] {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 24px;
  color: #999999;
  font-size: 12px;
  line-height: 1.45;
}
.login-page .login-main .login-card .login-form .agreement .checkbox-round[data-v-41250c84] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  margin-right: 6px;
  border: 1px solid #cccccc;
  border-radius: 50%;
  box-sizing: border-box;
}
.login-page .login-main .login-card .login-form .agreement .checkbox-round.checked[data-v-41250c84] {
  border-color: #08aaff;
  background: #08aaff;
}
.login-page .login-main .login-card .login-form .agreement .checkbox-round .check-mark[data-v-41250c84] {
  color: #ffffff;
  font-size: 10px;
  line-height: 1;
}
.login-page .login-main .login-card .login-form .agreement .checkbox-round input[data-v-41250c84] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.login-page .login-main .login-card .login-form .agreement .agreement-text[data-v-41250c84] {
  color: #999999;
}
.login-page .login-main .login-card .login-form .agreement .agreement-link[data-v-41250c84] {
  padding: 0;
  border: 0;
  background: transparent;
  color: #ff4260;
  font-size: 12px;
  line-height: 1.45;
  cursor: pointer;
}
.login-page .login-main .login-card .login-form .other-login-options[data-v-41250c84] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
  color: #687386;
  font-size: 14px;
}
.login-page .login-main .login-card .login-form .other-login-options .other-login-icon-btn[data-v-41250c84] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.login-page .login-main .login-card .login-form .other-login-options .other-login-icon-btn img[data-v-41250c84] {
  display: block;
  width: 30px;
  height: 30px;
}
.login-page .login-main .login-card .login-form .other-login-options .other-login-icon-btn[data-v-41250c84]:hover {
  transform: scale(1.08);
}
.login-page .login-main .login-card .login-form .other-login-options .other-login-icon-btn[data-v-41250c84]:active {
  transform: scale(0.94);
}
.login-page .wechat-account-mask[data-v-41250c84] {
  position: fixed;
  inset: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(20, 33, 47, 0.38);
  backdrop-filter: blur(7px);
}
.login-page .wechat-account-dialog[data-v-41250c84] {
  width: min(100%, 392px);
  padding: 26px;
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 22px 55px rgba(30, 59, 82, 0.24);
  animation: wechat-account-dialog-in-41250c84 0.22s ease-out;
}
.login-page .wechat-account-dialog-head[data-v-41250c84] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 20px;
}
.login-page .wechat-account-dialog-head .wechat-account-kicker[data-v-41250c84] {
  display: block;
  margin-bottom: 5px;
  color: #09a85b;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
}
.login-page .wechat-account-dialog-head h2[data-v-41250c84] {
  margin: 0;
  color: #243040;
  font-size: 23px;
  font-weight: 650;
  line-height: 1.25;
}
.login-page .wechat-account-dialog-head p[data-v-41250c84] {
  margin: 7px 0 0;
  color: #8a96a3;
  font-size: 13px;
}
.login-page .wechat-account-dialog-head .wechat-account-close[data-v-41250c84] {
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f1f4f6;
  color: #7e8a96;
  font-size: 24px;
  font-weight: 300;
  line-height: 27px;
  cursor: pointer;
}
.login-page .wechat-account-dialog-head .wechat-account-close[data-v-41250c84]:hover {
  background: #e7ecef;
}
.login-page .wechat-account-list[data-v-41250c84] {
  overflow: hidden;
  border: 1px solid #edf0f2;
  border-radius: 14px;
  background: #fbfcfc;
}
.login-page .wechat-account-item[data-v-41250c84] {
  display: flex;
  width: 100%;
  min-height: 68px;
  align-items: center;
  justify-content: space-between;
  padding: 13px 16px;
  border: 0;
  border-bottom: 1px solid #edf0f2;
  background: transparent;
  color: #26313d;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.16s ease, box-shadow 0.16s ease;
}
.login-page .wechat-account-item[data-v-41250c84]:last-child {
  border-bottom: 0;
}
.login-page .wechat-account-item[data-v-41250c84]:hover {
  background: #f3fbf6;
}
.login-page .wechat-account-item.selected[data-v-41250c84] {
  background: #edfbf2;
  box-shadow: inset 3px 0 #12b76a;
}
.login-page .wechat-account-item.selected .wechat-account-check[data-v-41250c84] {
  opacity: 1;
  transform: scale(1);
}
.login-page .wechat-account-item .wechat-account-main[data-v-41250c84] {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
}
.login-page .wechat-account-item .wechat-account-phone[data-v-41250c84] {
  font-size: 17px;
  font-weight: 550;
  letter-spacing: 0.02em;
}
.login-page .wechat-account-item .wechat-account-last[data-v-41250c84] {
  color: #17a860;
  font-size: 12px;
  font-weight: 500;
}
.login-page .wechat-account-item .wechat-account-check[data-v-41250c84] {
  display: flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #12b76a;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  opacity: 0;
  transform: scale(0.65);
  transition: opacity 0.16s ease, transform 0.16s ease;
}
.login-page .wechat-account-actions[data-v-41250c84] {
  display: grid;
  grid-template-columns: 0.85fr 1.35fr;
  gap: 12px;
  margin-top: 22px;
}
.login-page .wechat-account-actions button[data-v-41250c84] {
  height: 42px;
  border-radius: 11px;
  font-size: 15px;
  font-weight: 550;
  cursor: pointer;
}
.login-page .wechat-account-actions .wechat-account-cancel[data-v-41250c84] {
  border: 1px solid #e1e6e9;
  background: #ffffff;
  color: #71808d;
}
.login-page .wechat-account-actions .wechat-account-confirm[data-v-41250c84] {
  border: 0;
  background: #07c160;
  color: #ffffff;
  box-shadow: 0 7px 15px rgba(7, 193, 96, 0.22);
}
.login-page .wechat-account-actions .wechat-account-confirm[data-v-41250c84]:hover {
  background: #06af57;
}
.login-page .wechat-account-actions button[data-v-41250c84]:disabled {
  cursor: default;
  opacity: 0.58;
}
.login-page .wechat-phone-dialog .wechat-phone-fields[data-v-41250c84] {
  display: grid;
  gap: 15px;
}
.login-page .wechat-phone-dialog .wechat-phone-field[data-v-41250c84] {
  display: grid;
  gap: 7px;
  color: #65727e;
  font-size: 13px;
  font-weight: 550;
}
.login-page .wechat-phone-dialog .wechat-phone-input-wrap[data-v-41250c84] {
  display: flex;
  height: 46px;
  align-items: center;
  overflow: hidden;
  border: 1px solid #e3e9e6;
  border-radius: 11px;
  background: #fbfdfc;
}
.login-page .wechat-phone-dialog .wechat-phone-input-wrap[data-v-41250c84]:focus-within {
  border-color: #26bd76;
  box-shadow: 0 0 0 3px rgba(18, 183, 106, 0.1);
}
.login-page .wechat-phone-dialog .wechat-phone-input-wrap b[data-v-41250c84] {
  padding: 0 12px 0 14px;
  border-right: 1px solid #e7ece9;
  color: #3f4d57;
  font-size: 14px;
  font-weight: 600;
}
.login-page .wechat-phone-dialog .wechat-phone-input-wrap input[data-v-41250c84] {
  min-width: 0;
  flex: 1;
  height: 100%;
  padding: 0 13px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #26313d;
  font-size: 15px;
}
.login-page .wechat-phone-dialog .wechat-phone-input-wrap input[data-v-41250c84]::placeholder {
  color: #a8b1b8;
}
.login-page .wechat-phone-dialog .wechat-phone-input-wrap button[data-v-41250c84] {
  height: 28px;
  margin-right: 9px;
  padding: 0 9px;
  border: 0;
  border-radius: 7px;
  background: #e8f8ef;
  color: #0ba45b;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
}
.login-page .wechat-phone-dialog .wechat-phone-input-wrap button[data-v-41250c84]:disabled {
  background: #f0f2f3;
  color: #a6afb5;
  cursor: default;
}
.login-page .wechat-profile-dialog[data-v-41250c84] {
  display: flex;
  align-items: center;
  flex-direction: column;
  text-align: center;
}
.login-page .wechat-profile-dialog .wechat-profile-mark[data-v-41250c84] {
  display: flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  border-radius: 50%;
  background: #e7f9ee;
  color: #0ca95f;
  font-size: 23px;
  font-weight: 700;
}
.login-page .wechat-profile-dialog h2[data-v-41250c84] {
  margin: 0;
  color: #243040;
  font-size: 22px;
  line-height: 1.3;
}
.login-page .wechat-profile-dialog .wechat-profile-desc[data-v-41250c84] {
  margin: 8px 8px 18px;
  color: #8a96a3;
  font-size: 13px;
  line-height: 1.55;
}
.login-page .wechat-profile-dialog .wechat-profile-preview[data-v-41250c84] {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin-bottom: 16px;
  padding: 10px 12px;
  border: 1px solid #e9efeb;
  border-radius: 12px;
  box-sizing: border-box;
  background: #fbfdfc;
}
.login-page .wechat-profile-dialog .wechat-profile-preview img[data-v-41250c84] {
  width: 48px;
  height: 48px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: #f0f3f4;
  box-shadow: 0 5px 13px rgba(34, 67, 84, 0.14);
  object-fit: cover;
}
.login-page .wechat-profile-dialog .wechat-profile-preview .wechat-profile-preview-copy[data-v-41250c84] {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 3px;
  text-align: left;
}
.login-page .wechat-profile-dialog .wechat-profile-preview .wechat-profile-preview-copy b[data-v-41250c84] {
  color: #35424d;
  font-size: 14px;
}
.login-page .wechat-profile-dialog .wechat-profile-preview .wechat-profile-preview-copy small[data-v-41250c84] {
  color: #8d99a2;
  font-size: 12px;
}
.login-page .wechat-profile-dialog .wechat-profile-name-field[data-v-41250c84] {
  display: grid;
  align-self: stretch;
  width: 100%;
  gap: 7px;
  text-align: left;
}
.login-page .wechat-profile-dialog .wechat-profile-name-field .wechat-profile-label-row[data-v-41250c84] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.login-page .wechat-profile-dialog .wechat-profile-name-field .wechat-profile-input-wrap[data-v-41250c84] {
  display: flex;
  width: 100%;
  height: 46px;
  align-items: center;
  border: 1px solid #dce5df;
  border-radius: 10px;
  box-sizing: border-box;
  background: #fbfdfc;
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}
.login-page .wechat-profile-dialog .wechat-profile-name-field .wechat-profile-input-wrap[data-v-41250c84]:focus-within {
  border-color: #26bd76;
  box-shadow: 0 0 0 3px rgba(18, 183, 106, 0.1);
}
.login-page .wechat-profile-dialog .wechat-profile-name-field .wechat-profile-input-wrap input[data-v-41250c84] {
  width: 100%;
  min-width: 0;
  height: 100%;
  padding: 0 13px;
  border: 0;
  outline: 0;
  box-sizing: border-box;
  background: transparent;
  color: #26313d;
  font-size: 15px;
}
.login-page .wechat-profile-dialog .wechat-profile-name-field .wechat-profile-input-wrap input[data-v-41250c84]::placeholder {
  color: #a8b1b8;
}
.login-page .wechat-profile-dialog .wechat-profile-use-btn[data-v-41250c84] {
  flex-shrink: 0;
  padding: 5px 8px;
  border: 1px solid #bdebd1;
  border-radius: 7px;
  background: #effbf4;
  color: #0b9f58;
  font-size: 11px;
  line-height: 1.3;
  cursor: pointer;
}
.login-page .wechat-profile-dialog .wechat-profile-use-btn[data-v-41250c84]:hover {
  background: #dff7e9;
}
.login-page .wechat-profile-dialog .wechat-profile-upload-btn[data-v-41250c84] {
  flex-shrink: 0;
  padding: 5px 8px;
  border: 1px solid #dbe4df;
  border-radius: 7px;
  background: #ffffff;
  color: #61717d;
  font-size: 11px;
  line-height: 1.3;
  cursor: pointer;
}
.login-page .wechat-profile-dialog .wechat-profile-upload-btn[data-v-41250c84]:hover {
  background: #f4f7f5;
}
.login-page .wechat-profile-dialog .wechat-profile-file-input[data-v-41250c84] {
  display: none;
}
.login-page .wechat-profile-dialog .wechat-profile-save[data-v-41250c84] {
  width: 100%;
  height: 43px;
  margin-top: 22px;
  border: 0;
  border-radius: 11px;
  background: #07c160;
  box-shadow: 0 7px 15px rgba(7, 193, 96, 0.2);
  color: #ffffff;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}
.login-page .wechat-profile-dialog .wechat-profile-save[data-v-41250c84]:hover {
  background: #06af57;
}
.login-page .wechat-profile-dialog .wechat-profile-save[data-v-41250c84]:disabled {
  cursor: default;
  opacity: 0.62;
}
.login-page .wechat-profile-dialog .wechat-profile-later[data-v-41250c84] {
  margin-top: 11px;
  padding: 5px 12px;
  border: 0;
  background: transparent;
  color: #87939c;
  font-size: 13px;
  cursor: pointer;
}
.login-page .wechat-profile-dialog .wechat-profile-later[data-v-41250c84]:disabled {
  cursor: default;
  opacity: 0.6;
}
@keyframes wechat-account-dialog-in-41250c84 {
from {
    opacity: 0;
    transform: translateY(12px) scale(0.985);
}
to {
    opacity: 1;
    transform: translateY(0) scale(1);
}
}
.login-page .login-footer[data-v-41250c84] {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 16px;
  z-index: 1;
  color: #c8c8c8;
  font-size: 12px;
  text-align: center;
}.login-page[data-v-41250c84] {
  background: linear-gradient(165deg, #fff0f3 0%, #eaf4ff 48%, #fbfdff 100%);
}
.login-page .login-back[data-v-41250c84] {
  top: 10px;
  left: 30px;
  width: 40px;
  height: 44px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.login-page .login-back img[data-v-41250c84] {
  display: block;
  width: 24px;
  height: 24px;
  object-fit: contain;
}
.login-page .login-back[data-v-41250c84]:hover, .login-page .login-back[data-v-41250c84]:active {
  background: transparent;
  transform: none;
  opacity: 0.72;
}
.login-page .login-main[data-v-41250c84] {
  justify-content: center;
  padding: 72px 32px 50px;
}
.login-page .login-main .login-header[data-v-41250c84] {
  margin: 8px 0 32px;
}
.login-page .login-main .login-header .login-logo[data-v-41250c84] {
  width: 213px;
  height: 52px;
}
.login-page .login-main .login-card[data-v-41250c84] {
  width: 480px;
  max-width: calc(100vw - 64px);
  padding: 0;
  background: transparent;
  border-radius: 0;
  font-size: 16px;
}
.login-page .tablet-login-shell[data-v-41250c84] {
  position: relative;
  width: 100%;
  min-height: 390px;
  padding: 12px 20px 36px;
  overflow: hidden;
  border-radius: 24px;
  box-sizing: border-box;
}
.login-page .tablet-login-shell-bg[data-v-41250c84],
.login-page .tablet-login-shell-selected[data-v-41250c84],
.login-page .tablet-login-shell-selected img[data-v-41250c84] {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.login-page .tablet-login-shell-bg[data-v-41250c84] {
  z-index: 0;
  object-fit: fill;
}
.login-page .tablet-login-shell-selected[data-v-41250c84] {
  z-index: 1;
  overflow: hidden;
}
.login-page .tablet-login-shell-selected img[data-v-41250c84] {
  object-fit: fill;
}
.login-page .tablet-login-shell-selected--flip[data-v-41250c84] {
  transform: scaleX(-1);
}
.login-page .tablet-login-shell-content[data-v-41250c84] {
  position: relative;
  z-index: 2;
}
.login-page .login-main .login-card .login-tabs[data-v-41250c84] {
  display: flex;
  height: 52px;
  align-items: stretch;
  justify-content: stretch;
  gap: 0;
  margin: -12px -20px 20px;
}
.login-page .login-main .login-card .login-tabs .tab-text[data-v-41250c84] {
  flex: 1;
  padding: 4px 0 10px;
  border-bottom: 0;
  color: #333333;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.2;
}
.login-page .login-main .login-card .login-tabs .tab-text.active[data-v-41250c84] {
  border-bottom-color: transparent;
  color: #000000;
  font-weight: 400;
}
.login-page .login-main .login-card .login-tabs .tab-text.active[data-v-41250c84]::after {
  position: absolute;
  left: 50%;
  bottom: 4px;
  display: block;
  width: 24px;
  height: 4px;
  border-radius: 100px;
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
  content: "";
  transform: translateX(-50%);
}
.login-page .login-main .login-card .login-form .form-item[data-v-41250c84] {
  margin-bottom: 14px;
}
.login-page .login-main .login-card .login-form .form-item .form-label[data-v-41250c84] {
  display: block;
  margin: 0 0 8px;
  padding-left: 16px;
  color: #333333;
  font-size: 15px;
  font-weight: 500;
  line-height: 22px;
}
.login-page .login-main .login-card .login-form .form-item .input-wrap[data-v-41250c84] {
  height: 48px;
  min-height: 48px;
  padding: 0 12px 0 16px;
  gap: 10px;
  overflow: hidden;
  border: 1px solid #d7dbff;
  border-radius: 48px;
  background: #f4f5ff;
}
.login-page .login-main .login-card .login-form .form-item .input-wrap .input-icon[data-v-41250c84] {
  display: none;
}
.login-page .login-main .login-card .login-form .form-item .input-wrap .input[data-v-41250c84] {
  height: 48px;
  color: #333333;
  font-size: 14px;
  line-height: 48px;
}
.login-page .login-main .login-card .login-form .form-item .input-wrap .text-action[data-v-41250c84],
.login-page .login-main .login-card .login-form .form-item .input-wrap .sms-btn[data-v-41250c84] {
  display: inline-flex;
  width: auto;
  min-width: 96px;
  height: 32px;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border: 0;
  border-radius: 20px;
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
  color: #ffffff;
  font-size: 13px;
  line-height: 32px;
}
.login-page .login-main .login-card .login-form .form-item .input-wrap .text-action[data-v-41250c84]:disabled,
.login-page .login-main .login-card .login-form .form-item .input-wrap .sms-btn[data-v-41250c84]:disabled {
  border: 0;
  background: #c9cdf8;
  color: #ffffff;
}
.login-page .login-main .login-card .login-form .login-secondary-slot[data-v-41250c84] {
  position: relative;
  min-height: 92px;
}
.login-page .login-main .login-card .login-form .login-secondary-pane[data-v-41250c84] {
  position: absolute;
  top: 0;
  left: 0;
}
.login-page .login-main .login-card .login-form .login-btn[data-v-41250c84] {
  height: 48px;
  margin-top: 24px;
  border-radius: 24px;
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
}
.login-page .login-main .login-card .login-form .login-btn[data-v-41250c84]:active {
  background: linear-gradient(90deg, #3544df 0%, #ac54ea 100%);
}
.login-page .login-main .login-card .login-form .agreement[data-v-41250c84] {
  margin-top: 24px;
}
.login-page .login-main .login-card .login-form .agreement .checkbox-round[data-v-41250c84] {
  border-color: #9da5dc;
}
.login-page .login-main .login-card .login-form .agreement .checkbox-round.checked[data-v-41250c84] {
  border-color: #3d4df5;
  background: #3d4df5;
}
.login-page .login-main .login-card .login-form .agreement .agreement-text[data-v-41250c84] {
  color: #000000;
}
.login-page .login-main .login-card .login-form .agreement .agreement-link[data-v-41250c84] {
  color: #3d4df5;
}
.login-page .login-main .login-card .login-form .other-login-options[data-v-41250c84] {
  margin-top: 14px;
}
.login-page .login-main .login-card .login-form .other-login-options .other-login-icon-btn[data-v-41250c84] {
  width: 39px;
  height: 39px;
}
.login-page .login-main .login-card .login-form .other-login-options .other-login-icon-btn img[data-v-41250c84] {
  width: 26px;
  height: 26px;
}
.login-page .login-footer[data-v-41250c84] {
  bottom: 16px;
  color: #000000;
}.profile-edit-pane[data-v-a3bee7e1] {
  display: flex;
  flex: 1 1 0%;
  min-height: 0;
  flex-direction: column;
  padding: 0;
  background: #f3f3f3;
  box-sizing: border-box;
}
.profile-edit-title[data-v-a3bee7e1] {
  flex-shrink: 0;
  height: 56px;
  margin: 0;
  color: #20243a;
  font-size: 18px;
  font-weight: 600;
  line-height: 56px;
  text-align: center;
}
.profile-edit-scroll[data-v-a3bee7e1] {
  flex: 1 1 0%;
  min-height: 0;
  height: 0;
  margin: 0 16px 16px;
  padding: 14px 16px 20px;
  overflow: hidden;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.72);
  box-sizing: border-box;
}
.profile-edit-scroll[data-v-a3bee7e1] .n-scrollbar-rail {
  right: 4px;
  width: 4px;
}
.profile-edit-scroll[data-v-a3bee7e1] .n-scrollbar-rail__scrollbar {
  width: 4px;
  border-radius: 999px;
  background: #d5d5d5;
  opacity: 1;
}
.profile-legal-body[data-v-a3bee7e1] {
  padding: 18px 0;
  color: #8c93a5;
  font-size: 14px;
  text-align: center;
}
.profile-legal-scroll-content[data-v-a3bee7e1] {
  width: 100%;
  min-width: 0;
  padding: 0 20px 24px;
  box-sizing: border-box;
}
.profile-legal-rich[data-v-a3bee7e1] {
  color: #303647;
  font-size: 14px;
  line-height: 1.7;
}.legal-doc-page[data-v-b4574349] {
  position: relative;
  display: flex;
  height: 100vh;
  max-height: 100vh;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  background: #ffffff;
  box-sizing: border-box;
}
.legal-doc-header[data-v-b4574349] {
  display: flex;
  height: 58px;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #f0f0f0;
  box-sizing: border-box;
}
.legal-doc-back[data-v-b4574349] {
  display: flex;
  width: 48px;
  height: 20px;
  margin-left: 23px;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  border: 0;
  background: transparent;
  color: #08aaff;
  cursor: pointer;
  font-size: 14px;
  line-height: 20px;
}
.legal-doc-title[data-v-b4574349] {
  flex: 1;
  margin: 0;
  color: #111111;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
}
.legal-doc-header-placeholder[data-v-b4574349] {
  width: 48px;
  height: 20px;
  flex-shrink: 0;
}
.legal-doc-pane[data-v-b4574349] {
  display: flex;
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
  box-sizing: border-box;
}
.legal-doc-pane[data-v-b4574349] .profile-edit-pane {
  display: flex;
  flex: 1 1 0%;
  min-height: 0;
  height: 100%;
  padding-top: 12px;
}
.legal-doc-pane[data-v-b4574349] .profile-edit-scroll {
  flex: 1 1 0%;
  min-height: 0;
  height: 100%;
}
.legal-doc-pane[data-v-b4574349] .profile-edit-scroll.n-scrollbar {
  height: 100%;
}
.legal-doc-pane[data-v-b4574349] .profile-edit-scroll .n-scrollbar-container {
  max-height: 100%;
}.news-page[data-v-c9df9326] {
  display: grid;
  grid-template-columns: 420px 1fr;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  background: #ffffff;
  border-radius: 16px;
}
.news-page .news-left[data-v-c9df9326] {
  min-width: 0;
  min-height: 0;
  border-right: 1px solid #f1f1f1;
  background: #f7f7f7;
}
.news-page .news-left .news-left-scroll[data-v-c9df9326] {
  height: 100%;
}
.news-page .news-left .news-left-scroll .news-discovery[data-v-c9df9326] {
  padding: 22px 14px 26px;
  box-sizing: border-box;
}
.news-page .news-left .news-left-scroll .news-discovery .hero-banner[data-v-c9df9326] {
  position: relative;
  width: 100%;
  height: 138px;
  overflow: hidden;
  border-radius: 16px;
  background: linear-gradient(125deg, #ffe0e7 0%, #d9f1ff 100%);
}
.news-page .news-left .news-left-scroll .news-discovery .hero-banner.is-empty[data-v-c9df9326] {
  background: linear-gradient(125deg, #6ecfff 0%, #08aaff 100%);
}
.news-page .news-left .news-left-scroll .news-discovery .hero-banner img[data-v-c9df9326] {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-page .news-left .news-left-scroll .news-discovery .hero-banner .hero-dots[data-v-c9df9326] {
  position: absolute;
  right: 0;
  bottom: 8px;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.news-page .news-left .news-left-scroll .news-discovery .hero-banner .hero-dots button[data-v-c9df9326] {
  width: 5px;
  height: 5px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.45);
  cursor: pointer;
}
.news-page .news-left .news-left-scroll .news-discovery .hero-banner .hero-dots button.active[data-v-c9df9326] {
  width: 12px;
  border-radius: 999px;
  background: #ffffff;
}
.news-page .news-left .news-left-scroll .news-discovery .notice-bar[data-v-c9df9326] {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  margin-top: 16px;
  padding: 10px 14px;
  overflow: hidden;
  border: 1px solid #ecfaff;
  border-radius: 16px;
  background: #ecfaff;
  cursor: pointer;
}
.news-page .news-left .news-left-scroll .news-discovery .notice-bar .notice-icon[data-v-c9df9326] {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: linear-gradient(0deg, #d7f4ff 0%, #08aaff 100%);
  color: #ffffff;
  flex-shrink: 0;
}
.news-page .news-left .news-left-scroll .news-discovery .notice-bar .notice-icon .notice-icon-svg[data-v-c9df9326] {
  width: 16px;
  height: 16px;
}
.news-page .news-left .news-left-scroll .news-discovery .notice-bar .notice-marquee[data-v-c9df9326] {
  flex: 1;
  min-width: 0;
  margin-left: 10px;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.news-page .news-left .news-left-scroll .news-discovery .notice-bar .notice-track[data-v-c9df9326] {
  display: flex;
  width: max-content;
  white-space: nowrap;
  animation: notice-move-c9df9326 24s linear infinite;
}
.news-page .news-left .news-left-scroll .news-discovery .notice-bar .notice-track .notice-text[data-v-c9df9326] {
  flex-shrink: 0;
  padding-right: 48px;
  color: #333333;
  font-size: 12px;
  line-height: 1.45;
}
.news-page .news-left .news-left-scroll .news-discovery .notice-bar .notice-arrow[data-v-c9df9326] {
  position: absolute;
  top: 0;
  right: 12px;
  bottom: 0;
  display: flex;
  align-items: center;
  width: 46px;
  justify-content: flex-end;
  background: linear-gradient(90deg, rgba(236, 250, 255, 0) 0%, #ecfaff 58%);
  color: #9aa0a6;
  font-size: 20px;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block[data-v-c9df9326] {
  margin-top: 18px;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .section-header[data-v-c9df9326] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 12px;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .section-header .section-title[data-v-c9df9326] {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .section-header .section-mark[data-v-c9df9326] {
  display: block;
  width: 4px;
  height: 16px;
  border-radius: 2px;
  background: #08aaff;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .section-header h2[data-v-c9df9326] {
  margin: 0;
  color: #1a1a1a;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .section-header .section-link[data-v-c9df9326] {
  border: 0;
  background: transparent;
  color: #999999;
  font-size: 12px;
  cursor: pointer;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block > .section-header > .section-mark + h2[data-v-c9df9326] {
  margin-left: 8px;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .activity-card[data-v-c9df9326] {
  display: flex;
  gap: 12px;
  padding: 12px 14px;
  overflow: hidden;
  border: 1px solid #f1f3fa;
  border-radius: 16px;
  background: #ffffff;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .activity-card .activity-cover[data-v-c9df9326] {
  flex: 0 0 120px;
  width: 120px;
  height: 90px;
  overflow: hidden;
  border-radius: 12px;
  background: #e8ecf0;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .activity-card .activity-cover img[data-v-c9df9326] {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .activity-card .activity-info[data-v-c9df9326] {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .activity-card .activity-info strong[data-v-c9df9326] {
  color: #222222;
  font-size: 15px;
  font-weight: 700;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .activity-card .activity-info span[data-v-c9df9326] {
  margin-top: 4px;
  color: #000000;
  font-size: 11px;
  line-height: 1.45;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .activity-card .activity-info .activity-bottom[data-v-c9df9326] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: auto;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .activity-card .activity-info .activity-bottom b[data-v-c9df9326] {
  color: #ff4d4f;
  font-size: 16px;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .activity-card .activity-info .activity-bottom button[data-v-c9df9326] {
  border: 0;
  border-radius: 10px;
  background: #08aaff;
  color: #ffffff;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .activity-dots[data-v-c9df9326] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 10px;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .activity-dots button[data-v-c9df9326] {
  width: 6px;
  height: 6px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #7dd3fc;
  cursor: pointer;
  transition: width 0.22s ease, border-radius 0.22s ease;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .activity-dots button.active[data-v-c9df9326] {
  width: 22px;
  border-radius: 999px;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .teacher-row[data-v-c9df9326],
.news-page .news-left .news-left-scroll .news-discovery .section-block .package-row[data-v-c9df9326] {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding: 4px 0 16px;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .teacher-row[data-v-c9df9326]::-webkit-scrollbar,
.news-page .news-left .news-left-scroll .news-discovery .section-block .package-row[data-v-c9df9326]::-webkit-scrollbar {
  display: none;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .teacher-row .teacher-card[data-v-c9df9326] {
  display: flex;
  align-items: center;
  flex: 0 0 calc((100% - 36px) / 4);
  flex-direction: column;
  padding: 10px 8px 12px;
  border: 1px solid #e4e6ed;
  border-radius: 14px;
  background: #f8f8f8;
  cursor: pointer;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .teacher-row .teacher-card img[data-v-c9df9326] {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 50%;
  object-fit: cover;
  background: #dde3ea;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .teacher-row .teacher-card span[data-v-c9df9326] {
  width: 100%;
  margin-top: 8px;
  overflow: hidden;
  color: #111111;
  font-size: 11px;
  line-height: 1.3;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .package-row .package-card[data-v-c9df9326] {
  display: flex;
  flex: 0 0 calc((100% - 12px) / 2);
  flex-direction: column;
  overflow: hidden;
  padding: 0;
  border: 1px solid #ebebeb;
  border-radius: 9px;
  background: #ffffff;
  text-align: left;
  cursor: pointer;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .package-row .package-card .package-cover[data-v-c9df9326] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 105px;
  overflow: hidden;
  border-radius: 9px;
  background: linear-gradient(180deg, #ffe0b8 0%, #ffb366 100%);
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .package-row .package-card .package-cover.is-western[data-v-c9df9326] {
  background: linear-gradient(180deg, #b8f0de 0%, #5fd4c0 100%);
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .package-row .package-card .package-cover.is-cn[data-v-c9df9326] {
  background: linear-gradient(180deg, #d4efd6 0%, #7bc67a 100%);
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .package-row .package-card .package-cover[data-v-c9df9326]::before {
  width: 60px;
  height: 68px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.4);
  content: "";
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .package-row .package-card .package-cover.has-cover[data-v-c9df9326]::before {
  display: none;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .package-row .package-card .package-cover img[data-v-c9df9326] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .package-row .package-card .package-info[data-v-c9df9326] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 12px 12px;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .package-row .package-card .package-info strong[data-v-c9df9326] {
  overflow: hidden;
  color: #222222;
  font-size: 14px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .package-row .package-card .package-info small[data-v-c9df9326] {
  color: #666666;
  font-size: 12px;
}
.news-page .news-left .news-left-scroll .news-discovery .section-block .package-row .package-card .package-info b[data-v-c9df9326] {
  margin-top: 2px;
  color: #ff4260;
  font-size: 14px;
  font-weight: 800;
}
.news-page .news-right[data-v-c9df9326] {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  background: #ffffff;
}
.news-page .news-right .right-header[data-v-c9df9326] {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 64px;
  border-bottom: 1px solid #f1f1f1;
}
.news-page .news-right .right-header h1[data-v-c9df9326] {
  margin: 0;
  color: #111111;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.2;
}
.news-page .news-right .right-header.detail-header[data-v-c9df9326] {
  position: relative;
}
.news-page .news-right .right-header.detail-header button[data-v-c9df9326] {
  position: absolute;
  left: 22px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #111111;
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
}
.news-page .news-right .right-scroll[data-v-c9df9326] {
  flex: 1;
  min-height: 0;
}
.news-page .news-right .history-list[data-v-c9df9326] {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 26px 34px;
}
.news-page .news-right .history-list .history-card[data-v-c9df9326] {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  width: 100%;
  padding: 20px 22px;
  border: 1px solid #f0f0f0;
  border-radius: 18px;
  background: #ffffff;
  text-align: left;
  cursor: pointer;
}
.news-page .news-right .history-list .history-card.active[data-v-c9df9326] {
  border-color: #08aaff;
  background: #f2fbff;
}
.news-page .news-right .history-list .history-card .history-head[data-v-c9df9326] {
  display: flex;
  grid-column: 1/-1;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.news-page .news-right .history-list .history-card .history-head strong[data-v-c9df9326] {
  overflow: hidden;
  color: #000000;
  font-size: 18px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.news-page .news-right .history-list .history-card .history-head span[data-v-c9df9326] {
  flex-shrink: 0;
  color: #666666;
  font-size: 14px;
}
.news-page .news-right .history-list .history-card p[data-v-c9df9326] {
  margin: 0;
  overflow: hidden;
  color: #333333;
  display: -webkit-box;
  font-size: 16px;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.news-page .news-right .history-list .history-card img[data-v-c9df9326] {
  width: 180px;
  height: 120px;
  border-radius: 12px;
  object-fit: cover;
  background: #f5f5f5;
}
.news-page .news-right .history-list .list-footer[data-v-c9df9326] {
  display: flex;
  justify-content: center;
  padding: 12px 0 2px;
}
.news-page .news-right .history-list .list-footer span[data-v-c9df9326] {
  color: #999999;
  font-size: 14px;
  line-height: 1.4;
}
.news-page .news-right .detail-body[data-v-c9df9326] {
  padding: 28px 34px 42px;
}
.news-page .news-right .detail-body h2[data-v-c9df9326] {
  margin: 0;
  color: #111111;
  font-size: 26px;
  font-weight: 800;
  line-height: 1.35;
}
.news-page .news-right .detail-body .detail-meta[data-v-c9df9326] {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 16px;
}
.news-page .news-right .detail-body .detail-meta span[data-v-c9df9326] {
  color: #999999;
  font-size: 15px;
}
.news-page .news-right .detail-body .detail-meta span[data-v-c9df9326]:first-child {
  color: #08aaff;
}
.news-page .news-right .detail-body .detail-cover[data-v-c9df9326] {
  display: block;
  width: 100%;
  max-height: 360px;
  margin-top: 22px;
  border-radius: 16px;
  object-fit: cover;
}
.news-page .news-right .detail-body .detail-content[data-v-c9df9326] {
  margin-top: 24px;
  color: #444444;
  font-size: 17px;
  line-height: 1.75;
}
.news-page .news-right .detail-body .detail-content[data-v-c9df9326] img {
  max-width: 100%;
  border-radius: 12px;
}
.news-page .news-right .detail-body .detail-content[data-v-c9df9326] p {
  margin: 0 0 14px;
}
.news-page .news-right .package-list-pane[data-v-c9df9326] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding: 26px 34px 42px;
}
.news-page .news-right .package-list-pane .package-list-card[data-v-c9df9326] {
  display: flex;
  align-items: stretch;
  gap: 16px;
  min-width: 0;
  padding: 16px;
  border: 1px solid #f0f0f0;
  border-radius: 16px;
  background: #ffffff;
  text-align: left;
  cursor: pointer;
}
.news-page .news-right .package-list-pane .package-list-card .package-list-cover[data-v-c9df9326] {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 160px;
  width: 160px;
  min-height: 100px;
  overflow: hidden;
  border-radius: 12px;
  background: linear-gradient(135deg, #ffecc4 0%, #ffb347 45%, #ff8c42 100%);
}
.news-page .news-right .package-list-pane .package-list-card .package-list-cover[data-v-c9df9326]::before {
  width: 60px;
  height: 68px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.4);
  content: "";
}
.news-page .news-right .package-list-pane .package-list-card .package-list-cover.has-cover[data-v-c9df9326]::before {
  display: none;
}
.news-page .news-right .package-list-pane .package-list-card .package-list-cover img[data-v-c9df9326] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-page .news-right .package-list-pane .package-list-card .package-list-main[data-v-c9df9326] {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
}
.news-page .news-right .package-list-pane .package-list-card .package-list-main strong[data-v-c9df9326] {
  overflow: hidden;
  color: #222222;
  font-size: 18px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.news-page .news-right .package-list-pane .package-list-card .package-list-main small[data-v-c9df9326] {
  margin-top: 10px;
  color: #666666;
  font-size: 14px;
}
.news-page .news-right .package-list-pane .package-list-card .package-list-main b[data-v-c9df9326] {
  margin-top: 12px;
  color: #ff4260;
  font-size: 18px;
  font-weight: 800;
}
.news-page .news-right .product-pane[data-v-c9df9326] {
  position: relative;
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
}
.news-page .news-right .product-pane .product-detail[data-v-c9df9326] {
  width: 100%;
  box-sizing: border-box;
  padding: 24px 24px 122px;
}
.news-page .news-right .product-pane .product-detail .product-summary[data-v-c9df9326] {
  display: flex;
  align-items: stretch;
  gap: 20px;
  min-height: 150px;
  margin-bottom: 20px;
  padding: 4px 0 20px;
  border-bottom: 1px solid #f2f2f2;
}
.news-page .news-right .product-pane .product-detail .product-summary .product-thumb[data-v-c9df9326] {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 240px;
  width: 240px;
  height: 150px;
  overflow: hidden;
  border-radius: 12px;
  background: linear-gradient(135deg, #ffecc4 0%, #ffb347 45%, #ff8c42 100%);
}
.news-page .news-right .product-pane .product-detail .product-summary .product-thumb[data-v-c9df9326]::before {
  width: 70px;
  height: 78px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.4);
  content: "";
}
.news-page .news-right .product-pane .product-detail .product-summary .product-thumb.has-cover[data-v-c9df9326]::before {
  display: none;
}
.news-page .news-right .product-pane .product-detail .product-summary .product-thumb img[data-v-c9df9326] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-page .news-right .product-pane .product-detail .product-summary .product-main[data-v-c9df9326] {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  justify-content: flex-start;
  gap: 8px;
  padding-top: 2px;
}
.news-page .news-right .product-pane .product-detail .product-summary .product-main h2[data-v-c9df9326] {
  margin: 0;
  color: #111111;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.35;
}
.news-page .news-right .product-pane .product-detail .product-summary .product-main span[data-v-c9df9326] {
  margin-top: 0;
  color: #666666;
  font-size: 14px;
  line-height: 1.4;
}
.news-page .news-right .product-pane .product-detail .product-summary .product-main b[data-v-c9df9326] {
  margin-top: auto;
  color: #ff4d6a;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
}
.news-page .news-right .product-pane .product-detail .product-sections-shell[data-v-c9df9326] {
  margin-top: 18px;
  padding: 20px 22px 24px;
  border-radius: 14px;
  background: #f8f8f8;
  box-sizing: border-box;
}
.news-page .news-right .product-pane .product-detail .product-sections-shell .product-section[data-v-c9df9326] {
  padding: 0 0 24px;
}
.news-page .news-right .product-pane .product-detail .product-sections-shell .product-section + .product-section[data-v-c9df9326] {
  padding-top: 24px;
  border-top: 1px solid #f2f2f2;
}
.news-page .news-right .product-pane .product-detail .product-sections-shell .product-section header[data-v-c9df9326] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.news-page .news-right .product-pane .product-detail .product-sections-shell .product-section header span[data-v-c9df9326] {
  width: 4px;
  height: 16px;
  border-radius: 2px;
  background: #08aaff;
}
.news-page .news-right .product-pane .product-detail .product-sections-shell .product-section header h3[data-v-c9df9326] {
  margin: 0;
  color: #111111;
  font-size: 16px;
  font-weight: 700;
}
.news-page .news-right .product-pane .product-detail .product-sections-shell .product-section p[data-v-c9df9326],
.news-page .news-right .product-pane .product-detail .product-sections-shell .product-section .product-rich[data-v-c9df9326] {
  margin: 0;
  color: #444444;
  font-size: 14px;
  line-height: 1.65;
  white-space: pre-wrap;
  word-break: break-word;
}
.news-page .news-right .product-pane .product-detail .product-sections-shell .product-section .product-rich[data-v-c9df9326] img {
  max-width: 100%;
  border-radius: 8px;
}
.news-page .news-right .product-pane .product-detail .product-sections-shell .product-section .product-rich[data-v-c9df9326] p {
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 1.65;
}
.news-page .news-right .product-pane .product-detail .product-sections-shell .product-section .product-rich[data-v-c9df9326] p:last-child {
  margin-bottom: 0;
}
.news-page .news-right .product-pane .product-detail .product-sections-shell .product-empty[data-v-c9df9326] {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 28px 0;
  text-align: center;
}
.news-page .news-right .product-pane .product-detail .product-sections-shell .product-empty strong[data-v-c9df9326] {
  color: #999999;
  font-size: 15px;
  font-weight: 700;
}
.news-page .news-right .product-pane .product-detail .product-sections-shell .product-empty span[data-v-c9df9326] {
  margin-top: 6px;
  color: #b0b0b0;
  font-size: 13px;
}
.news-page .news-right .product-pane .product-footer[data-v-c9df9326] {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 12px 24px;
  border-top: 1px solid #f1f1f1;
  background: #ffffff;
}
.news-page .news-right .product-pane .product-footer b[data-v-c9df9326] {
  color: #ff4d6a;
  font-size: 20px;
  font-weight: 700;
}
.news-page .news-right .product-pane .product-footer button[data-v-c9df9326] {
  flex: 0 0 240px;
  height: 44px;
  border: 0;
  border-radius: 12px;
  background: #08aaff;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}
.news-page .news-right .news-teacher-resume[data-v-c9df9326] {
  height: 100%;
  min-height: 0;
}
.news-page .news-right .empty-pane[data-v-c9df9326] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  flex-direction: column;
}
.news-page .news-right .empty-pane img[data-v-c9df9326] {
  width: 220px;
  height: 150px;
  object-fit: contain;
}
.news-page .news-right .empty-pane strong[data-v-c9df9326] {
  margin-top: 12px;
  color: #333333;
  font-size: 20px;
  font-weight: 700;
}
.news-page .news-right .empty-pane .empty-tip[data-v-c9df9326] {
  display: inline-flex;
  align-items: center;
  margin-top: 12px;
  padding: 8px 20px;
  border-radius: 999px;
  background: #1ba7ff;
  color: #ffffff;
  font-size: 14px;
}
.news-page .news-right .empty-pane .empty-tip .empty-tip-arrow[data-v-c9df9326] {
  margin-right: 6px;
  font-size: 16px;
}
.news-page .news-right .state-text[data-v-c9df9326] {
  padding: 80px 0;
  color: #999999;
  font-size: 16px;
  text-align: center;
}
@keyframes notice-move-c9df9326 {
0% {
    transform: translate3d(0, 0, 0);
}
100% {
    transform: translate3d(-33.333333%, 0, 0);
}
}.news-page[data-v-c9df9326] {
  grid-template-columns: 375px minmax(0, 1fr);
  overflow: hidden;
  border-radius: 0;
  background: transparent;
}
.news-page .news-left[data-v-c9df9326] {
  margin: 15px 0;
  border-right: 0;
  background-color: #f3f3f3;
  background-image: url("https://cdnfile-1340238457.cos.ap-guangzhou.myqcloud.com/newfiles/phone/page-bg.png");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% 426px;
}
.news-page .news-left .news-discovery[data-v-c9df9326] {
  padding: 15px 16px 32px;
}
.news-page .news-left .news-discovery .hero-banner[data-v-c9df9326],
.news-page .news-left .news-discovery .notice-bar[data-v-c9df9326],
.news-page .news-left .news-discovery .section-block .activity-card[data-v-c9df9326],
.news-page .news-left .news-discovery .section-block .teacher-card[data-v-c9df9326],
.news-page .news-left .news-discovery .section-block .package-card[data-v-c9df9326] {
  border-color: #ffffff;
  background-color: rgba(255, 255, 255, 0.7);
}
.news-page .news-left .news-discovery .hero-banner[data-v-c9df9326] {
  border: 2px solid #ffffff;
  border-radius: 15px;
}
.news-page .news-left .news-discovery .notice-bar[data-v-c9df9326] {
  border: 2px solid #ffffff;
  border-radius: 15px;
}
.news-page .news-left .news-discovery .section-block .section-mark[data-v-c9df9326],
.news-page .news-left .news-discovery .section-block .activity-bottom button[data-v-c9df9326] {
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
}
.news-page .news-right[data-v-c9df9326] {
  margin: 15px 15px 15px 0;
  overflow: hidden;
  border-radius: 0 15px 15px 0;
  background: #ffffff;
}
.news-page .news-right .right-header[data-v-c9df9326] {
  flex-basis: 58px;
  border-bottom: 0;
}
.news-page .news-right .right-header h1[data-v-c9df9326] {
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 1px;
}
.news-page .news-right .history-list[data-v-c9df9326] {
  gap: 15px;
  padding: 16px;
}
.news-page .news-right .history-list .history-card[data-v-c9df9326] {
  padding: 12px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
}
.news-page .news-right .history-list .history-card.active[data-v-c9df9326] {
  border-color: #42a5f5;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 0 0 1px rgba(66, 165, 245, 0.2);
}
.news-page .news-right .detail-body[data-v-c9df9326],
.news-page .news-right .product-detail[data-v-c9df9326],
.news-page .news-right .package-list-pane[data-v-c9df9326] {
  padding: 16px;
}
.news-page .news-right .detail-body h2[data-v-c9df9326] {
  font-size: 20px;
  font-weight: 500;
}
.news-page[data-v-c9df9326] {
  display: grid;
  grid-template-columns: 390px minmax(0, 1fr);
  height: 100%;
  min-height: 0;
  overflow: hidden;
  background: #f3f3f3;
}
.news-page .news-left[data-v-c9df9326],
.news-page .news-right[data-v-c9df9326] {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: #ffffff;
}
.news-page .news-left[data-v-c9df9326] {
  display: flex;
  flex-direction: column;
  margin: 15px 0;
  background-color: #f3f3f3 !important;
  background-image: url("https://cdnfile-1340238457.cos.ap-guangzhou.myqcloud.com/newfiles/phone/page-bg.png") !important;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% 426px;
}
.pad-notice-header[data-v-c9df9326],
.news-page .news-right .right-header[data-v-c9df9326] {
  display: flex;
  height: 58px;
  flex: 0 0 58px;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  box-sizing: border-box;
  border: 0;
}
.pad-notice-header h1[data-v-c9df9326],
.news-page .news-right .right-header h1[data-v-c9df9326] {
  margin: 0;
  color: #111;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 1px;
}
.pad-notice-scroll[data-v-c9df9326],
.news-page .news-right .right-scroll[data-v-c9df9326] {
  height: 0;
  min-height: 0;
  flex: 1 1 0;
}
.pad-notice-state[data-v-c9df9326] {
  display: flex;
  justify-content: center;
  padding: 60px 0;
  color: #999;
  font-size: 14px;
}
.pad-notice-list[data-v-c9df9326] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 12px 16px 16px;
}
.pad-notice-card[data-v-c9df9326] {
  width: 100%;
  padding: 14px 16px 16px;
  border: 1px solid #f0f0f0;
  border-radius: 10px;
  background: #ffffff;
  box-sizing: border-box;
  cursor: pointer;
  text-align: left;
}
.pad-notice-card.active[data-v-c9df9326] {
  border-color: #42a5f5;
  background: #f4f5ff;
}
.pad-notice-card-head[data-v-c9df9326],
.pad-notice-card-body[data-v-c9df9326] {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.pad-notice-card-head strong[data-v-c9df9326] {
  overflow: hidden;
  color: #000;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pad-notice-card-head span[data-v-c9df9326] {
  flex-shrink: 0;
  color: #666;
  font-size: 11px;
}
.pad-notice-card-divider[data-v-c9df9326] {
  height: 1px;
  margin: 12px 0 10px;
  background: #f0f0f0;
}
.pad-notice-card-body[data-v-c9df9326] {
  align-items: flex-start;
}
.pad-notice-card-body p[data-v-c9df9326] {
  display: -webkit-box;
  flex: 1;
  min-width: 0;
  max-height: 60px;
  margin: 0;
  overflow: hidden;
  color: #000;
  font-size: 13px;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.pad-notice-card-body img[data-v-c9df9326] {
  width: 80px;
  height: 60px;
  flex-shrink: 0;
  border-radius: 6px;
  background: #f5f5f5;
  object-fit: cover;
}
.pad-notice-footer[data-v-c9df9326] {
  display: flex;
  justify-content: center;
  padding: 4px 0;
  color: #999;
  font-size: 12px;
}
.news-page .news-right[data-v-c9df9326] {
  display: flex;
  flex-direction: column;
  margin: 15px 15px 15px -1px;
  border-radius: 0 15px 15px 0;
  background: #ffffff;
}
.news-page .news-right .right-header.detail-header[data-v-c9df9326] {
  position: relative;
  padding: 0 40px;
}
.news-page .news-right .right-header.detail-header button[data-v-c9df9326] {
  position: absolute;
  left: 23px;
  width: 48px;
  height: 20px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #08aaff;
  font-size: 14px !important;
  font-weight: 400;
  line-height: 20px;
  white-space: nowrap;
}
.news-page .news-right .detail-body[data-v-c9df9326] {
  min-height: 100%;
  margin: 0 15px 15px;
  padding: 14px 16px 20px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
}
.news-page .news-right .detail-body h2[data-v-c9df9326] {
  color: #111;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.35;
}
.news-page .news-right .detail-body .detail-meta[data-v-c9df9326] {
  gap: 9px;
  margin-top: 9px;
}
.news-page .news-right .detail-body .detail-meta span[data-v-c9df9326],
.news-page .news-right .detail-body .detail-content[data-v-c9df9326] {
  font-size: 13px;
}
.news-page .news-right .detail-body .detail-cover[data-v-c9df9326] {
  height: 180px;
  margin-top: 11px;
  border-radius: 8px;
}
.news-page .news-right .detail-body .detail-content[data-v-c9df9326] {
  margin-top: 13px;
  color: #444;
  font-size: 15px;
  line-height: 1.75;
}
.news-page .news-right .empty-pane[data-v-c9df9326] {
  flex: 1 1 0;
  min-height: 0;
}
.news-page .news-right .empty-pane img[data-v-c9df9326] {
  width: 160px;
  height: 160px;
}
.news-page .news-right .empty-pane strong[data-v-c9df9326] {
  margin-top: 0;
  color: #666;
  font-size: 18px;
  font-weight: 400;
}
.news-page .news-right .empty-pane .empty-tip[data-v-c9df9326] {
  margin-top: 6px;
  padding: 8px 20px;
  border-radius: 999px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  color: #ffffff;
  font-size: 14px;
}
.news-page .news-right .empty-pane .empty-tip-arrow[data-v-c9df9326] {
  margin-right: 6px;
  font-size: 16px;
}

/* 通知详情严格复用 iPad 的独立视觉：白色右栏、蓝色返回与轻透正文面板。 */
.news-page .news-right.news-right--detail[data-v-c9df9326] {
  background: #ffffff;
}
.news-page .news-right.news-right--detail .right-header.detail-header[data-v-c9df9326] {
  height: 58px;
  flex-basis: 58px;
  padding: 0 40px;
  background: transparent;
}
.news-page .news-right.news-right--detail .right-header.detail-header button[data-v-c9df9326] {
  left: 23px;
  color: #08aaff;
  font-size: 14px !important;
  line-height: 20px;
}
.news-page .news-right.news-right--detail .right-header.detail-header h1[data-v-c9df9326] {
  color: #000;
  font-size: 18px;
  font-weight: 400;
  line-height: 24px;
}
.news-page .news-right.news-right--detail .right-scroll[data-v-c9df9326] {
  position: relative;
  z-index: 1;
  height: 0;
  flex: 1 1 0;
  min-height: 0;
}
.news-page .news-right.news-right--detail .detail-body-bg[data-v-c9df9326] {
  position: absolute;
  top: 58px;
  right: 15px;
  bottom: 15px;
  left: 15px;
  z-index: 0;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.7);
  pointer-events: none;
}
.news-page .news-right.news-right--detail .detail-body[data-v-c9df9326] {
  min-height: 100%;
  margin: 0 15px 15px;
  padding: 14px 16px 20px;
  border: 0;
  border-radius: 9px;
  background: transparent;
}
.news-page .news-right.news-right--detail .detail-body .detail-meta span[data-v-c9df9326]:first-child {
  color: #08aaff;
}
.news-page .news-right.news-right--detail .detail-body .detail-content[data-v-c9df9326] p {
  margin: 0 0 14px;
}
.news-page .news-right.news-right--detail .detail-body .detail-content[data-v-c9df9326] img {
  max-width: 100%;
  border-radius: 8px;
}.consult-panel {
  width: 520px;
  max-width: calc(100vw - 48px);
  border-radius: 18px;
  background: #ffffff;
}
.consult-dialog {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 24px;
}
.consult-dialog header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.consult-dialog header h2 {
  margin: 0;
  color: #111111;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.3;
}
.consult-dialog header button {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: #f5f5f5;
  color: #333333;
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
}
.consult-dialog .consult-body {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 360px;
  min-height: 300px;
  margin: 18px auto 0;
  border-radius: 14px;
  background: #f8f8f8;
}
.consult-dialog .consult-body img {
  width: 260px;
  height: 260px;
  object-fit: contain;
}
.consult-dialog .consult-body .consult-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: #999999;
  font-size: 15px;
  line-height: 1.5;
  text-align: center;
}
.consult-dialog .consult-body .consult-state strong {
  color: #333333;
  font-size: 18px;
  font-weight: 700;
}
.consult-dialog .consult-body .consult-state span {
  color: #8398ac;
  font-size: 14px;
}
.consult-dialog footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 18px;
}
.consult-dialog footer button {
  width: 260px;
  margin: 0 auto;
  height: 46px;
  border: 0;
  border-radius: 10px;
  background: #08aaff;
  color: #ffffff;
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
}
@keyframes notice-move {
0% {
    transform: translate3d(0, 0, 0);
}
100% {
    transform: translate3d(-33.333333%, 0, 0);
}
}
.teacher-card[data-v-2b87b2be] {
  position: relative;
  z-index: 2;
  margin-bottom: 12px;
}
.teacher-card[data-v-2b87b2be]::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.04);
  content: "";
  pointer-events: none;
}
.teacher-card--aside-active[data-v-2b87b2be]::before {
  background: #f4fcff;
}
.teacher-card .teacher-card__content[data-v-2b87b2be] {
  position: relative;
  z-index: 1;
  padding: 14px;
  border-radius: 12px;
}
.teacher-card .teacher-card__content .card-header[data-v-2b87b2be] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.teacher-card .teacher-card__content .card-header .avatar-wrap[data-v-2b87b2be] {
  position: relative;
  flex-shrink: 0;
}
.teacher-card .teacher-card__content .card-header .avatar-wrap .avatar[data-v-2b87b2be] {
  display: block;
  width: 100px;
  height: 100px;
  border-radius: 8px;
  object-fit: cover;
}
.teacher-card .teacher-card__content .card-header .avatar-wrap .play-btn[data-v-2b87b2be] {
  position: absolute;
  right: 5px;
  bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  overflow: hidden;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.15);
  cursor: pointer;
}
.teacher-card .teacher-card__content .card-header .avatar-wrap .play-btn .play-icon[data-v-2b87b2be] {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  width: 14px;
  height: 14px;
  transform: translate(-50%, -50%) translate(1px, 0);
}
.teacher-card .teacher-card__content .card-header .header-info[data-v-2b87b2be] {
  display: flex;
  flex: 1;
  min-width: 0;
  max-height: 116px;
  flex-direction: column;
  gap: 1px;
  margin-top: 4px;
  overflow: hidden;
}
.teacher-card .teacher-card__content .card-header .header-info .name-row[data-v-2b87b2be] {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 2px;
}
.teacher-card .teacher-card__content .card-header .header-info .name-row .name[data-v-2b87b2be] {
  color: #000000;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
}
.teacher-card .teacher-card__content .card-header .header-info .name-row[data-v-2b87b2be] {
  /* Align with iPad nationality-flag--tablet: 24×18, 4:3 */
}
.teacher-card .teacher-card__content .card-header .header-info .name-row .tc-name-flag[data-v-2b87b2be] {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 18px;
  overflow: hidden;
  border-radius: 2px;
  line-height: 0;
  font-size: 0;
}
.teacher-card .teacher-card__content .card-header .header-info .name-row .tc-name-flag .tc-name-flag-img[data-v-2b87b2be] {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.teacher-card .teacher-card__content .card-header .header-info .name-row .tc-name-icon[data-v-2b87b2be] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}
.teacher-card .teacher-card__content .card-header .header-info .name-row .tc-name-icon--badge[data-v-2b87b2be] {
  width: 18px;
  height: 18px;
}
.teacher-card .teacher-card__content .card-header .header-info .name-row .tc-name-icon--level-v0[data-v-2b87b2be] {
  flex: 0 0 34px;
  width: 34px;
  height: 18px;
}
.teacher-card .teacher-card__content .card-header .header-info .name-row .tc-name-icon .tc-name-icon-img[data-v-2b87b2be] {
  display: block;
  width: 100%;
  height: 100%;
}
.teacher-card .teacher-card__content .card-header .header-info .detail-row[data-v-2b87b2be] {
  display: flex;
  align-items: center;
  gap: 3px;
  line-height: 1.4;
}
.teacher-card .teacher-card__content .card-header .header-info .detail-row--category-code[data-v-2b87b2be] {
  margin-top: -2px;
}
.teacher-card .teacher-card__content .card-header .header-info .detail-row-x[data-v-2b87b2be] {
  display: flex;
  max-height: 30px;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  margin-top: 3px;
  overflow: hidden;
}
.teacher-card .teacher-card__content .card-header .header-info .detail-row-x .detail-row-x-tag[data-v-2b87b2be] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 6px;
  border-radius: 4px;
  background: rgba(8, 170, 255, 0.12);
}
.teacher-card .teacher-card__content .card-header .header-info .detail-row-x .detail-row-x-tag .detail-row-x-tag-text[data-v-2b87b2be] {
  color: #08aaff;
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
}
.teacher-card .teacher-card__content .card-header .header-info .detail-text[data-v-2b87b2be] {
  color: #000000;
  font-size: 12px;
  font-weight: normal;
  line-height: 1.4;
}
.teacher-card .teacher-card__content .card-header .header-info .detail-text.detail-gray[data-v-2b87b2be] {
  color: #8398ac;
}
.teacher-card .teacher-card__content .intro[data-v-2b87b2be] {
  margin-top: 10px;
}
.teacher-card .teacher-card__content .intro .intro-text[data-v-2b87b2be] {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  color: #8398ac;
  font-size: 12px;
  line-height: 1.3;
}
.teacher-card .teacher-card__content .card-actions[data-v-2b87b2be] {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}
.teacher-card .teacher-card__content .card-actions .btn-primary[data-v-2b87b2be],
.teacher-card .teacher-card__content .card-actions .btn-outline[data-v-2b87b2be] {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  height: 34px;
  border-radius: 8px;
  cursor: pointer;
  transition: 0.3s;
}
.teacher-card .teacher-card__content .card-actions .btn-primary[data-v-2b87b2be] {
  border: 0;
  background: #08aaff;
}
.teacher-card .teacher-card__content .card-actions .btn-primary[data-v-2b87b2be]:active {
  background-color: #007dbe;
}
.teacher-card .teacher-card__content .card-actions .btn-primary .btn-text[data-v-2b87b2be] {
  color: #ffffff;
  font-size: 13px;
}
.teacher-card .teacher-card__content .card-actions .btn-outline[data-v-2b87b2be] {
  border: 1px solid rgb(216, 216, 216);
  background: transparent;
}
.teacher-card .teacher-card__content .card-actions .btn-outline[data-v-2b87b2be]:active {
  background-color: #e5e5e5;
}
.teacher-card .teacher-card__content .card-actions .btn-outline .btn-outline-text[data-v-2b87b2be] {
  color: #333333;
  font-size: 13px;
}/* Booking is rendered as the iPad's 375px left pane on desktop.  Keep the
   teacher card at the iPad density instead of scaling up the old desktop row. */
.teacher-card[data-v-2b87b2be] {
  margin-bottom: 0;
}
.teacher-card[data-v-2b87b2be]::before {
  border: 1px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.04);
}
.teacher-card .teacher-card__content[data-v-2b87b2be] {
  padding: 14px;
  border-radius: 15px;
}
.teacher-card .teacher-card__content .card-header[data-v-2b87b2be] {
  gap: 12px;
}
.teacher-card .teacher-card__content .card-header .avatar-wrap[data-v-2b87b2be] {
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
}
.teacher-card .teacher-card__content .card-header .avatar-wrap .avatar[data-v-2b87b2be] {
  width: 64px;
  height: 64px;
  border-radius: 8px;
}
.teacher-card .teacher-card__content .card-header .avatar-wrap .play-btn[data-v-2b87b2be] {
  right: 8px;
  bottom: 4px;
}
.teacher-card .teacher-card__content .card-header .header-info[data-v-2b87b2be] {
  height: 64px;
  max-height: none;
  justify-content: center;
  margin-top: 0;
  gap: 0;
  overflow: visible;
}
.teacher-card .teacher-card__content .card-header .header-info .name-row[data-v-2b87b2be] {
  gap: 6px;
  margin-bottom: 2px;
}
.teacher-card .teacher-card__content .card-header .header-info .name-row .name[data-v-2b87b2be] {
  font-size: 14px;
  font-weight: 700;
  line-height: 18px;
}
.teacher-card .teacher-card__content .card-header .header-info .name-row .course-badge[data-v-2b87b2be] {
  position: absolute;
  top: 14px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 25px;
  padding: 4px 10px;
  box-sizing: border-box;
  border-radius: 36px;
  background: linear-gradient(90deg, rgba(61, 77, 245, 0.2), rgba(191, 98, 253, 0.2));
}
.teacher-card .teacher-card__content .card-header .header-info .name-row .course-badge .course-badge-text[data-v-2b87b2be] {
  color: #3d4df5;
  font-size: 12px;
  font-weight: 700;
  line-height: 17px;
}
.teacher-card .teacher-card__content .card-header .header-info .detail-row[data-v-2b87b2be] {
  gap: 4px;
  line-height: 18px;
}
.teacher-card .teacher-card__content .card-header .header-info .detail-row .tc-name-icon[data-v-2b87b2be] {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  overflow: hidden;
}
.teacher-card .teacher-card__content .card-header .header-info .detail-row .tc-name-icon--level-v0[data-v-2b87b2be] {
  flex-basis: 34px;
  width: 34px;
  height: 15px;
}
.teacher-card .teacher-card__content .card-header .header-info .detail-row .tc-name-icon .tc-name-icon-img[data-v-2b87b2be] {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.teacher-card .teacher-card__content .card-header .header-info .detail-row .tc-name-flag[data-v-2b87b2be] {
  position: relative;
  display: inline-flex;
  flex: 0 0 20px;
  width: 20px;
  height: 15px;
  overflow: hidden;
  border-radius: 2px;
  line-height: 0;
}
.teacher-card .teacher-card__content .card-header .header-info .detail-row .tc-name-flag .tc-name-flag-img[data-v-2b87b2be] {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.teacher-card .teacher-card__content .card-header .header-info .detail-row-x[data-v-2b87b2be] {
  max-height: 30px;
  gap: 4px;
  margin-top: 3px;
}
.teacher-card .teacher-card__content .card-header .header-info .detail-text[data-v-2b87b2be] {
  font-size: 12px;
}
.teacher-card .teacher-card__content .intro[data-v-2b87b2be] {
  margin-top: 8px;
}
.teacher-card .teacher-card__content .intro .intro-text[data-v-2b87b2be] {
  -webkit-line-clamp: 4;
  font-size: 12px;
  line-height: 1.3;
}
.teacher-card .teacher-card__content .card-actions[data-v-2b87b2be] {
  gap: 8px;
  margin-top: 12px;
}
.teacher-card .teacher-card__content .card-actions .btn-primary[data-v-2b87b2be],
.teacher-card .teacher-card__content .card-actions .btn-outline[data-v-2b87b2be] {
  height: 34px;
  border-radius: 100px;
}
.teacher-card .teacher-card__content .card-actions .btn-primary[data-v-2b87b2be] {
  order: 2;
  border: 0;
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
}
.teacher-card .teacher-card__content .card-actions .btn-outline[data-v-2b87b2be] {
  order: 1;
  flex: 0 0 100px;
  width: 100px;
  border: 1px solid #4000ff;
  background: transparent;
}
.teacher-card .teacher-card__content .card-actions .btn-primary .btn-text[data-v-2b87b2be] {
  font-size: 13px;
  font-weight: 600;
  color: #ffffff;
}
.teacher-card .teacher-card__content .card-actions .btn-outline .btn-outline-text[data-v-2b87b2be] {
  color: #4000ff;
  font-size: 14px;
  font-weight: 600;
  line-height: 21px;
}.picker-panel[data-v-f8c4d0da] {
  display: flex;
  width: 520px;
  max-width: calc(100% - 48px);
  max-height: calc(100vh - 60px);
  flex-direction: column;
}
.picker-panel--date[data-v-f8c4d0da] {
  width: fit-content;
}
.picker-panel--date[data-v-f8c4d0da] .date-panel {
  padding: 14px 16px 18px;
}
.picker-panel--date[data-v-f8c4d0da] .date-panel .n-date-panel-calendar {
  margin: 0 auto;
}
.picker-panel__header[data-v-f8c4d0da] {
  text-align: center;
}
.picker-panel__title[data-v-f8c4d0da] {
  margin: 0;
  color: #111111;
  font-size: 18px;
  font-weight: 500;
}
.picker-panel__subtitle[data-v-f8c4d0da] {
  margin: 4px 0 0;
  color: #999999;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.3;
}.pcu-pane[data-v-a71a5c76] {
  --pcu-blue: #1ba7ff;
  --pcu-blue-deep: #0787d2;
  --pcu-blue-soft: #eef8ff;
  --pcu-line: #eef1f5;
  --pcu-text: #111111;
  --pcu-muted: #8a8f98;
  display: flex;
  min-height: 0;
  flex: 1 1 0%;
  flex-direction: column;
  background: #ffffff;
}
.pcu-toolbar[data-v-a71a5c76] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 10px 14px 8px;
  padding: 10px;
  border: 1px solid var(--pcu-line);
  border-radius: 8px;
  background: linear-gradient(180deg, #fbfdff 0%, #f7fbff 100%);
}
.pcu-toolbar-left[data-v-a71a5c76] {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}
.pcu-toolbar-hint[data-v-a71a5c76] {
  min-width: 0;
  overflow: hidden;
  color: var(--pcu-muted);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pcu-btn[data-v-a71a5c76] {
  display: inline-flex;
  min-width: 68px;
  height: 32px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 12px;
  border: 1px solid #dfe7ef;
  border-radius: 8px;
  background: #ffffff;
  color: #384252;
  cursor: pointer;
  font-size: 13px;
  line-height: 1;
  transition: border-color 0.16s ease, color 0.16s ease, background 0.16s ease, transform 0.16s ease;
}
.pcu-btn .n-icon[data-v-a71a5c76] {
  font-size: 16px;
}
.pcu-btn[data-v-a71a5c76]:hover:not(:disabled) {
  border-color: rgba(27, 167, 255, 0.55);
  color: var(--pcu-blue-deep);
  transform: translateY(-1px);
}
.pcu-btn[data-v-a71a5c76]:disabled {
  cursor: not-allowed;
  opacity: 0.48;
  transform: none;
}
.pcu-btn--primary[data-v-a71a5c76] {
  border-color: var(--pcu-blue);
  background: var(--pcu-blue);
  color: #ffffff;
  box-shadow: 0 6px 14px rgba(27, 167, 255, 0.18);
}
.pcu-btn--primary[data-v-a71a5c76]:hover:not(:disabled) {
  border-color: var(--pcu-blue-deep);
  background: var(--pcu-blue-deep);
  color: #ffffff;
}
.pcu-breadcrumb[data-v-a71a5c76] {
  display: flex;
  min-height: 36px;
  flex-shrink: 0;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  padding: 0 14px 10px;
  scrollbar-width: none;
}
.pcu-breadcrumb[data-v-a71a5c76]::-webkit-scrollbar {
  display: none;
}
.pcu-back[data-v-a71a5c76] {
  display: inline-flex;
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--pcu-line);
  border-radius: 8px;
  background: #ffffff;
  color: #657080;
  cursor: pointer;
  font-size: 18px;
}
.pcu-back[data-v-a71a5c76]:hover:not(:disabled) {
  border-color: rgba(27, 167, 255, 0.45);
  color: var(--pcu-blue);
}
.pcu-back[data-v-a71a5c76]:disabled {
  cursor: not-allowed;
  opacity: 0.38;
}
.pcu-crumb[data-v-a71a5c76] {
  position: relative;
  flex: 0 0 auto;
  max-width: 180px;
  overflow: hidden;
  padding: 7px 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #626b78;
  cursor: pointer;
  font-size: 13px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pcu-crumb[data-v-a71a5c76]:not(:last-child)::after {
  content: "/";
  margin-left: 12px;
  color: #c4cad2;
}
.pcu-crumb[data-v-a71a5c76]:hover:not(:disabled) {
  color: var(--pcu-blue-deep);
}
.pcu-crumb.active[data-v-a71a5c76] {
  background: #f3f7fb;
  color: var(--pcu-text);
  cursor: default;
  font-weight: 500;
}
.pcu-scroll[data-v-a71a5c76] {
  min-height: 0;
  flex: 1 1 0%;
}
[data-v-a71a5c76] .pcu-scroll .n-scrollbar-content {
  display: flex;
  min-height: 100%;
  flex-direction: column;
}
.pcu-content[data-v-a71a5c76] {
  display: flex;
  min-height: 100%;
  flex: 1 1 0%;
  flex-direction: column;
  padding: 0 14px 20px;
}
.pcu-section + .pcu-section[data-v-a71a5c76] {
  margin-top: 18px;
}
.pcu-section-title[data-v-a71a5c76] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  color: #596270;
  font-size: 13px;
  font-weight: 600;
}
.pcu-section-title[data-v-a71a5c76]::before {
  content: "";
  width: 3px;
  height: 13px;
  border-radius: 999px;
  background: var(--pcu-blue);
}
.pcu-grid[data-v-a71a5c76] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 10px;
}
.pcu-folder-card[data-v-a71a5c76],
.pcu-file-row[data-v-a71a5c76] {
  border: 1px solid var(--pcu-line);
  border-radius: 8px;
  background: #ffffff;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}
.pcu-folder-card[data-v-a71a5c76] {
  padding: 12px;
}
.pcu-folder-card[data-v-a71a5c76]:hover,
.pcu-file-row[data-v-a71a5c76]:hover {
  border-color: rgba(27, 167, 255, 0.42);
  box-shadow: 0 8px 22px rgba(26, 62, 92, 0.07);
  transform: translateY(-1px);
}
.pcu-folder-main[data-v-a71a5c76],
.pcu-file-main[data-v-a71a5c76] {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  gap: 11px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
}
.pcu-folder-icon[data-v-a71a5c76],
.pcu-file-icon[data-v-a71a5c76] {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: var(--pcu-blue);
}
.pcu-folder-icon[data-v-a71a5c76] {
  width: 42px;
  height: 42px;
  background: var(--pcu-blue-soft);
  font-size: 23px;
}
.pcu-file-icon[data-v-a71a5c76] {
  position: relative;
  width: 42px;
  height: 48px;
  flex-direction: column;
  gap: 1px;
  border: 1px solid #dcecf7;
  background: #f8fcff;
  font-size: 20px;
}
.pcu-file-icon em[data-v-a71a5c76] {
  max-width: 34px;
  overflow: hidden;
  color: #708091;
  font-size: 9px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pcu-folder-copy[data-v-a71a5c76],
.pcu-file-copy[data-v-a71a5c76] {
  min-width: 0;
  flex: 1 1 0%;
}
.pcu-folder-copy strong[data-v-a71a5c76],
.pcu-folder-copy small[data-v-a71a5c76],
.pcu-file-copy strong[data-v-a71a5c76],
.pcu-file-copy small[data-v-a71a5c76] {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pcu-folder-copy strong[data-v-a71a5c76],
.pcu-file-copy strong[data-v-a71a5c76] {
  color: var(--pcu-text);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
}
.pcu-folder-copy small[data-v-a71a5c76],
.pcu-file-copy small[data-v-a71a5c76] {
  margin-top: 5px;
  color: var(--pcu-muted);
  font-size: 12px;
  line-height: 1.3;
}
.pcu-row-actions[data-v-a71a5c76] {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  margin-top: 12px;
}
.pcu-link-btn[data-v-a71a5c76] {
  display: inline-flex;
  height: 26px;
  align-items: center;
  gap: 3px;
  padding: 0 8px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #4d9fd2;
  cursor: pointer;
  font-size: 12px;
  line-height: 1;
}
.pcu-link-btn .n-icon[data-v-a71a5c76] {
  font-size: 14px;
}
.pcu-link-btn[data-v-a71a5c76]:hover:not(:disabled) {
  background: #eef8ff;
  color: var(--pcu-blue-deep);
}
.pcu-link-btn[data-v-a71a5c76]:disabled {
  cursor: not-allowed;
  opacity: 0.38;
}
.pcu-link-btn--danger[data-v-a71a5c76] {
  color: #e05266;
}
.pcu-link-btn--danger[data-v-a71a5c76]:hover:not(:disabled) {
  background: #fff1f3;
  color: #cf3049;
}
.pcu-file-list[data-v-a71a5c76] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pcu-file-row[data-v-a71a5c76] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 12px;
}
.pcu-file-row .pcu-file-main[data-v-a71a5c76] {
  flex: 1 1 0%;
}
.pcu-file-row .pcu-row-actions[data-v-a71a5c76] {
  flex: 0 0 auto;
  margin-top: 0;
}
.pcu-state[data-v-a71a5c76],
.pcu-empty[data-v-a71a5c76] {
  display: flex;
  min-height: 360px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: var(--pcu-muted);
  font-size: 13px;
}
.pcu-empty[data-v-a71a5c76] {
  flex: 1 1 0%;
  padding-bottom: 80px;
}
.pcu-empty img[data-v-a71a5c76] {
  width: 116px;
  height: auto;
  opacity: 0.92;
}
.pcu-toolbar[data-v-a71a5c76] {
  gap: 12px;
  margin: 12px 14px 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.pcu-toolbar-left[data-v-a71a5c76] {
  gap: 0;
}
.pcu-toolbar-left .pcu-btn[data-v-a71a5c76] {
  margin-right: 10px;
}
.pcu-btn[data-v-a71a5c76] {
  min-width: 0;
  height: 32px;
  gap: 0;
  padding: 0 12px;
  border: 0;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  box-shadow: none;
}
.pcu-btn--upload[data-v-a71a5c76] {
  background: #08aaff;
  color: #ffffff;
}
.pcu-btn--upload[data-v-a71a5c76]:hover:not(:disabled) {
  background: #079eea;
  color: #ffffff;
}
.pcu-btn--folder[data-v-a71a5c76] {
  background: #d7f4ff;
  color: #08aaff;
}
.pcu-btn--folder[data-v-a71a5c76]:hover:not(:disabled) {
  background: #c8efff;
  color: #08aaff;
}
.pcu-btn--refresh[data-v-a71a5c76] {
  min-width: 68px;
  padding: 0 14px;
  background: #f8f8f8;
  color: #333333;
}
.pcu-btn--refresh[data-v-a71a5c76]:hover:not(:disabled) {
  background: #f1f5f8;
  color: #333333;
}
.pcu-btn-icon-img[data-v-a71a5c76] {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  margin-right: 5px;
  object-fit: contain;
}
.pcu-breadcrumb[data-v-a71a5c76] {
  min-height: 34px;
  gap: 0;
  padding: 14px 14px 0;
}
.pcu-crumb[data-v-a71a5c76] {
  display: inline-flex;
  height: 24px;
  max-width: 220px;
  align-items: center;
  padding: 0;
  border-radius: 0;
  color: #333333;
  font-size: 14px;
  font-weight: 700;
}
.pcu-crumb[data-v-a71a5c76]:not(:last-child)::after {
  content: none;
}
.pcu-crumb.active[data-v-a71a5c76] {
  background: transparent;
  color: #333333;
  font-weight: 700;
}
.pcu-crumb-icon[data-v-a71a5c76] {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  margin-right: 5px;
  object-fit: contain;
}
.pcu-crumb-arrow[data-v-a71a5c76] {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  margin: 0 9px;
  object-fit: contain;
}
.pcu-content[data-v-a71a5c76] {
  padding: 14px 14px 22px;
}
.pcu-list[data-v-a71a5c76] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pcu-list-row[data-v-a71a5c76] {
  position: relative;
  z-index: 0;
  display: flex;
  min-height: 74px;
  align-items: center;
  padding: 16px 18px;
  border: 0;
  border-radius: 14px;
  background: #f8f8f8;
  box-sizing: border-box;
  transition: background 0.16s ease, transform 0.16s ease;
}
.pcu-list-row[data-v-a71a5c76]:hover {
  background: #f5f7f9;
  transform: translateY(-1px);
}
.pcu-item-main[data-v-a71a5c76] {
  display: flex;
  min-width: 0;
  flex: 1 1 0%;
  align-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
}
.pcu-item-icon[data-v-a71a5c76] {
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  margin-right: 14px;
  object-fit: contain;
}
.pcu-item-copy[data-v-a71a5c76] {
  min-width: 0;
  flex: 1 1 0%;
}
.pcu-item-copy strong[data-v-a71a5c76],
.pcu-item-copy small[data-v-a71a5c76] {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pcu-item-copy strong[data-v-a71a5c76] {
  color: #333333;
  font-size: 16px;
  font-weight: 700;
  line-height: 22px;
}
.pcu-item-copy small[data-v-a71a5c76] {
  margin-top: 3px;
  color: #999999;
  font-size: 13px;
  line-height: 18px;
}
.pcu-more-wrap[data-v-a71a5c76] {
  position: relative;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  margin-left: 10px;
}
.pcu-more-btn[data-v-a71a5c76] {
  display: flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.pcu-more-btn img[data-v-a71a5c76] {
  width: 24px;
  height: 24px;
  object-fit: contain;
}
.pcu-more-menu[data-v-a71a5c76] {
  position: absolute;
  z-index: 30;
  top: 30px;
  right: 0;
  display: flex;
  width: 92px;
  min-height: 70px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 11px;
  background: rgba(0, 0, 0, 0.72);
  color: #ffffff;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
}
.pcu-more-menu-item[data-v-a71a5c76] {
  display: flex;
  width: 100%;
  height: 35px;
  align-items: center;
  justify-content: flex-start;
  padding: 0 10px;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  background: transparent;
  color: #ffffff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
}
.pcu-more-menu-item[data-v-a71a5c76]:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.pcu-more-menu-item[data-v-a71a5c76]:first-child {
  border-top: 0;
}
.pcu-more-menu-item img[data-v-a71a5c76] {
  width: 15px;
  height: 15px;
  margin-right: 5px;
  object-fit: contain;
}
.pcu-list-row--menu-open[data-v-a71a5c76] {
  z-index: 20;
}
.pcu-modal[data-v-a71a5c76] {
  width: min(520px, 100vw - 48px);
}
.pcu-form[data-v-a71a5c76] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pcu-form-label[data-v-a71a5c76] {
  color: #606a78;
  font-size: 13px;
  font-weight: 500;
}
.pcu-modal-actions[data-v-a71a5c76] {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.pcu-upload-path[data-v-a71a5c76] {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 11px 12px;
  border: 1px solid var(--pcu-line);
  border-radius: 8px;
  background: #fafcff;
}
.pcu-upload-path span[data-v-a71a5c76] {
  color: var(--pcu-muted);
  font-size: 12px;
}
.pcu-upload-path strong[data-v-a71a5c76] {
  color: var(--pcu-text);
  font-size: 13px;
  font-weight: 600;
}
.pcu-file-input[data-v-a71a5c76] {
  display: none;
}
.pcu-file-picker[data-v-a71a5c76] {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  overflow: hidden;
  border: 1px dashed rgba(27, 167, 255, 0.45);
  border-radius: 8px;
  background: #f7fcff;
  color: var(--pcu-blue-deep);
  cursor: pointer;
  font-size: 13px;
  transition: border-color 0.16s ease, background 0.16s ease;
}
.pcu-file-picker .n-icon[data-v-a71a5c76] {
  flex: 0 0 auto;
  font-size: 18px;
}
.pcu-file-picker span[data-v-a71a5c76] {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pcu-file-picker[data-v-a71a5c76]:hover {
  border-color: var(--pcu-blue);
  background: #eef8ff;
}
.pcu-file-size[data-v-a71a5c76],
.pcu-upload-tip[data-v-a71a5c76] {
  color: var(--pcu-muted);
  font-size: 12px;
}
.pcu-upload-tip[data-v-a71a5c76] {
  margin: 0;
  line-height: 1.6;
}
/* 上传课件：与课件分类列表共用卡片层级与主题操作色。 */
.pcu-pane[data-v-a71a5c76] {
  --pcu-blue: #3d4df5;
  --pcu-blue-deep: #3442d7;
  --pcu-blue-soft: #f4f5ff;
  --pcu-line: #d7dbff;
  --pcu-text: #20243a;
  --pcu-muted: #8c93a5;
  background: #f3f3f3;
}
.pcu-toolbar[data-v-a71a5c76] {
  margin: 14px 16px 0;
}
.pcu-toolbar-left[data-v-a71a5c76] {
  gap: 10px;
}
.pcu-toolbar-left .pcu-btn[data-v-a71a5c76] {
  margin-right: 0;
}
.pcu-btn[data-v-a71a5c76] {
  height: 36px;
  padding: 0 15px;
  border: 1px solid #d7dbff;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.78);
  color: #3d4df5;
}
.pcu-btn--upload[data-v-a71a5c76],
.pcu-btn--primary[data-v-a71a5c76] {
  border: 0;
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
  color: #ffffff;
  box-shadow: 0 6px 14px rgba(61, 77, 245, 0.18);
}
.pcu-btn--upload[data-v-a71a5c76]:hover:not(:disabled),
.pcu-btn--primary[data-v-a71a5c76]:hover:not(:disabled) {
  background: linear-gradient(90deg, #4656ff 0%, #c875ff 100%);
  color: #ffffff;
}
.pcu-btn--folder[data-v-a71a5c76] {
  background: #f4f5ff;
  color: #3d4df5;
}
.pcu-btn--folder[data-v-a71a5c76]:hover:not(:disabled) {
  background: #e9ebff;
  color: #3d4df5;
}
.pcu-btn--refresh[data-v-a71a5c76] {
  background: rgba(255, 255, 255, 0.78);
  color: #4c5364;
}
.pcu-breadcrumb[data-v-a71a5c76] {
  min-height: 38px;
  padding: 16px 16px 0;
}
.pcu-crumb[data-v-a71a5c76] {
  color: #20243a;
}
.pcu-content[data-v-a71a5c76] {
  padding: 14px 16px 24px;
}
.pcu-list[data-v-a71a5c76] {
  gap: 14px;
}
.pcu-list-row[data-v-a71a5c76] {
  min-height: 82px;
  padding: 16px 18px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.72);
}
.pcu-list-row[data-v-a71a5c76]:hover {
  border-color: #d7dbff;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 8px 18px rgba(61, 77, 245, 0.08);
}
.pcu-item-icon[data-v-a71a5c76] {
  width: 46px;
  height: 46px;
  margin-right: 14px;
}
.pcu-item-copy strong[data-v-a71a5c76] {
  color: #20243a;
}
.pcu-item-copy small[data-v-a71a5c76] {
  color: #8c93a5;
}
.pcu-more-btn[data-v-a71a5c76] {
  width: 30px;
  height: 30px;
  border-radius: 50%;
}
.pcu-more-btn[data-v-a71a5c76]:hover {
  background: #f4f5ff;
}
.pcu-more-menu[data-v-a71a5c76] {
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 12px;
  background: #353a4c;
  box-shadow: 0 10px 24px rgba(32, 36, 58, 0.2);
}
/* Drawer shell — must be unscoped to pierce GlobalOverlay + Teleport */
.global-overlay.courseware-picker-overlay {
  z-index: 10010;
  align-items: stretch !important;
  justify-content: flex-end !important;
  padding: 0 !important;
}
.global-overlay .global-overlay__panel.courseware-picker-panel {
  display: flex !important;
  flex-direction: column !important;
  width: min(600px, 100vw - 48px) !important;
  max-width: 600px !important;
  height: 100vh !important;
  max-height: 100vh !important;
  margin: 0 0 0 auto !important;
  border-radius: 20px 0 0 20px !important;
  background: #ffffff !important;
  box-shadow: -8px 0 24px rgba(0, 0, 0, 0.12) !important;
  overflow: hidden !important;
}
.global-overlay .global-overlay__panel.courseware-picker-panel .global-overlay__body {
  display: flex !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
}
.global-overlay .global-overlay__panel.courseware-picker-panel.global-overlay-panel-enter-active {
  transition: opacity 0.26s ease, transform 0.26s cubic-bezier(0.22, 0.8, 0.2, 1) !important;
}
.global-overlay .global-overlay__panel.courseware-picker-panel.global-overlay-panel-leave-active {
  transition: opacity 0.2s ease, transform 0.2s ease !important;
}
.global-overlay .global-overlay__panel.courseware-picker-panel.global-overlay-panel-enter-from,
.global-overlay .global-overlay__panel.courseware-picker-panel.global-overlay-panel-leave-to {
  opacity: 0 !important;
  transform: translateX(56px) !important;
}
.global-overlay .courseware-picker-dialog {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 18px 22px 0;
  box-sizing: border-box;
}
.courseware-guide-layer {
  position: fixed;
  inset: 0;
  z-index: 10080;
}
.courseware-guide-mask {
  position: fixed;
  background: rgba(0, 0, 0, 0.55);
  box-sizing: border-box;
}
.courseware-guide-mask-top {
  left: 0;
  top: 0;
  width: 100%;
}
.courseware-guide-mask-left {
  left: 0;
}
.courseware-guide-mask-bottom {
  left: 0;
  width: 100%;
}
.courseware-guide-frame {
  position: fixed;
  z-index: 10081;
  box-sizing: border-box;
  border: 2px dashed rgba(255, 255, 255, 0.95);
  border-radius: 10px;
  pointer-events: none;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.25);
}
.courseware-guide-tooltip {
  position: fixed;
  z-index: 10082;
  box-sizing: border-box;
  padding: 14px 16px 12px;
  border-radius: 12px;
  background: linear-gradient(90deg, #42a5f5 0%, #29b6f6 45%, #26c6da 100%);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.22);
}
.courseware-guide-tooltip-arrow {
  position: absolute;
  top: -10px;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border-left: 11px solid transparent;
  border-right: 11px solid transparent;
  border-bottom: 11px solid #42a5f5;
}
.courseware-guide-tooltip--above .courseware-guide-tooltip-arrow {
  top: auto;
  bottom: -10px;
  border-bottom: none;
  border-top: 11px solid #26c6da;
}
.courseware-guide-tooltip-text {
  display: block;
  margin-bottom: 14px;
  color: #ffffff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}
.courseware-guide-tooltip-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.courseware-guide-next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  height: 36px;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  background: #ffffff;
  color: #42a5f5;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
}
.global-overlay .courseware-close-btn {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  border: 0;
  border-radius: 50%;
  background: #f5f5f5;
  color: #333333;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.global-overlay .courseware-primary-tabs {
  display: flex;
  flex-shrink: 0;
  gap: 4px;
  margin: 0 42px 0 0;
  padding: 4px;
  border-radius: 999px;
  background: #f6f6f6;
}
.global-overlay .courseware-primary-tabs button {
  flex: 1;
  min-width: 0;
  height: 42px;
  padding: 0 8px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #333333;
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  transition: all 0.2s ease;
}
.global-overlay .courseware-primary-tabs button.active {
  background: #08aaff;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(8, 170, 255, 0.25);
}
.global-overlay .courseware-primary-tabs--compact button {
  padding: 0 4px;
  font-size: 12px;
}
.global-overlay .courseware-upload-panel {
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
  margin-top: 12px;
  overflow: hidden;
}
.global-overlay .courseware-subtabs {
  display: flex;
  flex-shrink: 0;
  gap: 26px;
  margin-top: 12px;
  padding: 4px 2px 0;
  overflow-x: auto;
}
.global-overlay .courseware-subtabs button {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 0 8px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #555555;
  cursor: pointer;
  white-space: nowrap;
  font-size: 15px;
  font-weight: 600;
}
.global-overlay .courseware-subtabs button.active {
  color: #08aaff;
}
.global-overlay .courseware-subtabs button.active::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  border-radius: 999px;
  background: #08aaff;
  content: "";
}
.global-overlay .courseware-subtabs button .courseware-subtab-label {
  position: relative;
  display: inline-block;
}
.global-overlay .courseware-subtabs button .courseware-subtab-badge {
  position: absolute;
  top: -8px;
  left: 100%;
  z-index: 1;
  margin-left: -5px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  background: #ff4260;
  color: #ffffff;
  font-size: 12px;
  line-height: 18px;
  text-align: center;
  box-sizing: border-box;
  pointer-events: none;
}
.global-overlay .courseware-search {
  position: relative;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
}
.global-overlay .courseware-search input {
  flex: 1;
  min-width: 0;
  height: 44px;
  padding: 0 44px 0 14px;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  outline: none;
  background: #f8f8f8;
  color: #111111;
  font-size: 15px;
  box-sizing: border-box;
}
.global-overlay .courseware-search input:focus {
  border-color: #08aaff;
  background: #ffffff;
}
.global-overlay .courseware-search .courseware-search-clear {
  position: absolute;
  right: 54px;
  top: 50%;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #999999;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  transform: translateY(-50%);
}
.global-overlay .courseware-search .courseware-search-submit {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: #08aaff;
  cursor: pointer;
}
.global-overlay .courseware-search .courseware-search-submit img {
  width: 18px;
  height: 18px;
  filter: brightness(0) invert(1);
}
.global-overlay .courseware-list {
  flex: 1 1 auto;
  min-height: 0;
  margin-top: 12px;
  padding-right: 0;
}
.global-overlay .courseware-list .n-scrollbar-container {
  min-height: 100%;
}
.global-overlay .courseware-list .n-scrollbar-content {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-bottom: 12px;
}
.global-overlay .courseware-button-reset {
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  color: inherit;
  line-height: normal;
  outline: none;
}
.global-overlay .courseware-folder-card {
  border: 0;
  border-radius: 8px;
  background: #f8f8f8;
  overflow: hidden;
}
.global-overlay .courseware-folder-card--hidden-head {
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
.global-overlay .courseware-folder-head,
.global-overlay .courseware-row {
  display: flex;
  width: 100%;
  min-height: 56px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 18px;
  border: 0;
  border-radius: 8px;
  background: #f8f8f8;
  cursor: pointer;
  text-align: left;
  box-sizing: border-box;
}
.global-overlay .courseware-folder-head.active,
.global-overlay .courseware-row.active {
  background: #eaf6ff;
}
.global-overlay .courseware-folder-head.courseware-row--scroll-hit,
.global-overlay .courseware-row.courseware-row--scroll-hit {
  animation: courseware-scroll-hit 0.9s ease;
}
@keyframes courseware-scroll-hit {
0% {
    background: #d7efff;
}
100% {
    background: #f8f8f8;
}
}
.global-overlay .courseware-folder-head {
  min-height: 58px;
  border: 0;
  border-radius: 8px;
  background: #f8f8f8;
}
.global-overlay .courseware-folder-body {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0 12px 10px;
  background: #f8f8f8;
}
.global-overlay .courseware-folder-card--hidden-head .courseware-folder-body {
  padding: 0;
  background: transparent;
}
.global-overlay .courseware-children {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding-top: 0;
  padding-left: 18px;
}
.global-overlay .courseware-row-main,
.global-overlay .courseware-folder-title {
  display: flex;
  min-width: 0;
  flex: 1;
  align-items: center;
  gap: 12px;
}
.global-overlay .courseware-row-end,
.global-overlay .courseware-folder-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-shrink: 0;
}
.global-overlay .courseware-row-end {
  width: 122px;
}
.global-overlay .courseware-list .folder-icon,
.global-overlay .courseware-list .file-icon {
  display: block;
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  object-fit: contain;
}
.global-overlay .courseware-list .file-name-wrap {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 6px;
}
.global-overlay .courseware-list .file-name-row {
  display: flex;
  min-width: 0;
  flex: 1;
  align-items: center;
  gap: 6px;
  overflow: visible;
}
.global-overlay .courseware-list .file-name,
.global-overlay .courseware-list .bk-folder-title,
.global-overlay .courseware-list .courseware-folder-title span {
  overflow: visible;
  color: #333333;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  text-overflow: clip;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.global-overlay .courseware-list .pdf-status {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(255, 152, 0, 0.14);
  color: #ff9800;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.35;
  white-space: nowrap;
}
.global-overlay .courseware-list .courseware-page-badge {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  box-sizing: border-box;
}
.global-overlay .courseware-list .courseware-page-badge--folder {
  background: rgba(27, 167, 255, 0.14);
  color: #08aaff;
}
.global-overlay .courseware-list .courseware-page-badge--leaf {
  background: rgba(255, 152, 0, 0.14);
  color: #ff9800;
}
.global-overlay .courseware-list .row-tags {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.global-overlay .courseware-list .row-tag {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 4px;
  background: #02cb98;
  color: #ffffff;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.35;
}
.global-overlay .courseware-list .row-progress {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.global-overlay .courseware-list .row-progress-track {
  width: 72px;
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: #e6edf5;
}
.global-overlay .courseware-list .row-progress-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #4ec3ff, #08aaff);
}
.global-overlay .courseware-list .row-progress-value {
  color: #08aaff;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
.global-overlay .courseware-list .count-badge {
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  background: #ff4260;
  color: #ffffff;
  font-size: 12px;
  line-height: 18px;
  text-align: center;
  box-sizing: border-box;
}
.global-overlay .courseware-list .caret {
  width: 18px;
  color: #333333;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  transition: transform 0.2s ease;
}
.global-overlay .courseware-list .caret.open {
  transform: rotate(-90deg);
}
.global-overlay .courseware-list .check-mark {
  display: inline-flex;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border: 1.5px solid #d8d8d8;
  border-radius: 50%;
  background: #ffffff;
  color: transparent;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  box-sizing: border-box;
  cursor: pointer;
}
.global-overlay .courseware-list .check-mark:hover {
  border-color: #08aaff;
}
.global-overlay .courseware-list .courseware-row.active .check-mark {
  border-color: #08aaff;
  background: #08aaff;
  color: #ffffff;
}
.global-overlay .courseware-list .mini-loading {
  color: #8b909a;
  font-size: 12px;
  white-space: nowrap;
}
.global-overlay .courseware-state {
  display: flex;
  min-height: 220px;
  align-items: center;
  justify-content: center;
  color: #999999;
  font-size: 15px;
}
.global-overlay .courseware-state--inner {
  min-height: 72px;
}
.global-overlay .courseware-tree-row {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.global-overlay .courseware-row--drill,
.global-overlay .courseware-row--leaf {
  background: #f9fbfd;
}
.global-overlay .courseware-row--leaf {
  min-height: 52px;
}
.global-overlay .courseware-picker--learned .courseware-row--drill {
  align-items: center;
  padding: 10px 12px;
}
.global-overlay .courseware-picker--learned .courseware-row--drill > .courseware-row-main > .file-icon {
  width: 68px;
  height: 68px;
  border-radius: 8px;
  object-fit: cover;
}
.global-overlay .courseware-picker--learned .courseware-row--leaf {
  padding: 10px 12px;
}
.global-overlay .courseware-picker--learned .courseware-row--leaf > .courseware-row-main > .file-icon {
  width: 20px;
  height: 20px;
  border-radius: 0;
  object-fit: contain;
}
.global-overlay .courseware-picker--learned .courseware-row--leaf .file-name-row,
.global-overlay .courseware-picker--learned .courseware-row--leaf .file-name-wrap {
  min-width: 0;
}
.global-overlay .courseware-picker--learned .courseware-row--leaf .file-name {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.global-overlay .courseware-picker--category .courseware-row-end,
.global-overlay .courseware-picker--mine .courseware-row-end,
.global-overlay .courseware-picker--learned .courseware-row-end {
  width: auto;
  min-width: 104px;
}
.global-overlay .courseware-picker--mine .courseware-row .file-name,
.global-overlay .courseware-picker--learned .courseware-row .file-name {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* Align with iPad search levels: 2 bare folder bar / 3 cover / 4 pdf */
.global-overlay .courseware-row--search-l2 {
  min-height: 48px;
  background: #ffffff;
  border: 1px solid #eef1f5;
}
.global-overlay .courseware-row--search-l2 .file-name {
  font-weight: 700;
  color: #111111;
}
.global-overlay .courseware-row--search-l3 {
  min-height: 64px;
  background: #f9fbfd;
}
.global-overlay .courseware-row--search-l3 .file-icon {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  object-fit: cover;
}
.global-overlay .courseware-row--search-l4 {
  min-height: 52px;
}
.global-overlay .courseware-list-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 0 4px;
  color: #8b909a;
  font-size: 13px;
  text-align: center;
  box-sizing: border-box;
}
.global-overlay .courseware-list-footer--loading {
  min-height: 36px;
}
.global-overlay .courseware-picker-footer {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 0 -22px;
  padding: 14px 22px 18px;
  border-top: 1px solid #eef1f5;
  background: #ffffff;
}
.global-overlay .courseware-picker-footer > span {
  display: none;
}
.global-overlay .courseware-picker-footer > div {
  display: flex;
  width: 100%;
  gap: 12px;
}
.global-overlay .courseware-picker-footer button {
  flex: 1;
  min-width: 0;
  height: 44px;
  padding: 0 20px;
  border: 0;
  border-radius: 999px;
  background: #08aaff;
  color: #ffffff;
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
}
.global-overlay .courseware-picker-footer button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.global-overlay .courseware-picker-footer button.ghost {
  flex: 0 0 112px;
  border: 1px solid #08aaff;
  background: #ffffff;
  color: #08aaff;
}

/* 课件选择：桌面端沿用平板弹窗的内容层级，使用统一的居中卡片和主题色。 */
.global-overlay.courseware-picker-overlay {
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
}

/* 覆盖旧 drawer 标记：弹层以桌面窗口而不是预约内容列为定位基准。 */
.global-overlay.courseware-picker-overlay.courseware-picker-overlay--drawer {
  position: fixed !important;
  inset: 0 !important;
  display: flex !important;
  width: 100vw !important;
  height: 100vh !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding: 24px 20px !important;
}
.global-overlay .global-overlay__panel.courseware-picker-panel {
  width: min(600px, 100vw - 40px) !important;
  max-width: 600px !important;
  height: min(780px, 100vh - 48px) !important;
  max-height: calc(100vh - 48px) !important;
  margin: 0 0 0 auto !important;
  border-radius: 20px 0 0 20px !important;
}
.global-overlay .global-overlay__panel.courseware-picker-panel {
  width: min(720px, 100vw - 48px) !important;
  max-width: min(720px, 100vw - 48px) !important;
  height: min(780px, 100vh - 48px) !important;
  max-height: min(780px, 100vh - 48px) !important;
  margin: 0 0 0 auto !important;
  border: 2px solid #ffffff !important;
  border-radius: 20px !important;
  background: #f3f3f3 !important;
  box-shadow: 0 18px 52px rgba(27, 35, 54, 0.3) !important;
}
.global-overlay .global-overlay__panel.courseware-picker-panel.global-overlay-panel-enter-from,
.global-overlay .global-overlay__panel.courseware-picker-panel.global-overlay-panel-leave-to {
  transform: translateY(18px) scale(0.98) !important;
}
.global-overlay .courseware-picker-dialog {
  padding: 18px 20px 0;
}
.global-overlay .courseware-close-btn {
  top: 18px;
  right: 20px;
  width: 34px;
  height: 34px;
  border: 2px solid #ffffff;
  background: rgba(255, 255, 255, 0.74);
  color: #3d4df5;
  font-size: 24px;
  font-weight: 400;
  box-shadow: 0 3px 10px rgba(49, 62, 82, 0.08);
}
.global-overlay .courseware-primary-tabs {
  /* 关闭按钮移除后，不再为它预留右侧位置。 */
  margin-right: 0;
  padding: 4px;
  border: 2px solid #ffffff;
  background: rgba(255, 255, 255, 0.7);
}
.global-overlay .courseware-primary-tabs button {
  color: #555b70;
}
.global-overlay .courseware-primary-tabs button.active {
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  box-shadow: 0 4px 12px rgba(61, 77, 245, 0.22);
}
.global-overlay .courseware-subtabs {
  gap: 24px;
  margin-top: 14px;
}
.global-overlay .courseware-subtabs button {
  color: #666b78;
}
.global-overlay .courseware-subtabs button.active {
  color: #3d4df5;
}
.global-overlay .courseware-subtabs button.active::after {
  background: #3d4df5;
}
.global-overlay .courseware-search input {
  border: 2px solid #ffffff;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
}
.global-overlay .courseware-search input:focus {
  border-color: #d7dbff;
  background: #ffffff;
}
.global-overlay .courseware-search .courseware-search-submit {
  border-radius: 12px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
}
.global-overlay .courseware-list {
  margin-top: 14px;
}
.global-overlay .courseware-list .n-scrollbar-content {
  gap: 12px;
  padding-bottom: 14px;
}
.global-overlay .courseware-folder-card,
.global-overlay .courseware-folder-head,
.global-overlay .courseware-row {
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 2px 8px rgba(49, 62, 82, 0.04);
}
.global-overlay .courseware-folder-head,
.global-overlay .courseware-row {
  min-height: 58px;
  padding: 0 16px;
}
.global-overlay .courseware-folder-head.active,
.global-overlay .courseware-row.active {
  border-color: #d7dbff;
  background: #f4f5ff;
}
.global-overlay .courseware-folder-card {
  overflow: hidden;
}
.global-overlay .courseware-folder-body {
  padding: 0 12px 10px;
  background: rgba(255, 255, 255, 0.42);
}
.global-overlay .courseware-row--drill,
.global-overlay .courseware-row--leaf {
  background: rgba(255, 255, 255, 0.68);
}
.global-overlay .courseware-list .courseware-row.active .check-mark {
  border-color: #3d4df5;
  background: #3d4df5;
}
.global-overlay .courseware-list .check-mark:hover {
  border-color: #3d4df5;
}
.global-overlay .courseware-picker-footer {
  margin: 0 -20px;
  padding: 12px 20px 16px;
  border-top: 2px solid #ffffff;
  background: rgba(255, 255, 255, 0.82);
}
.global-overlay .courseware-picker-footer button {
  height: 44px;
  border-radius: 22px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  box-shadow: 0 4px 12px rgba(61, 77, 245, 0.2);
}
.global-overlay .courseware-picker-footer button.ghost {
  border-color: #d7dbff;
  background: #ffffff;
  color: #3d4df5;
  box-shadow: none;
}
.global-overlay .global-overlay__panel.class-method-panel {
  width: 560px !important;
  max-width: calc(100vw - 64px) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
}
.global-overlay .class-method-dialog {
  padding: 24px;
}
.global-overlay .class-method-dialog > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.global-overlay .class-method-dialog > header h2 {
  margin: 0;
  color: #111111;
  font-size: 22px;
  font-weight: 800;
}
.global-overlay .class-method-dialog > header button {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: #f5f5f5;
  color: #333333;
  font-size: 22px;
  cursor: pointer;
}
.global-overlay .class-method-dialog > section {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-top: 20px;
}
.global-overlay .class-method-dialog > section > button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
  padding: 0 16px;
  border: 1.5px solid #eaeaea;
  border-radius: 14px;
  background: #ffffff;
  text-align: left;
  cursor: pointer;
  transition: all 0.22s ease;
}
.global-overlay .class-method-dialog > section > button:hover {
  border-color: #08aaff;
}
.global-overlay .class-method-dialog > section > button.active {
  border-color: #08aaff;
  background: #f4faff;
}
.global-overlay .class-method-dialog > section > button.active .class-method-option-check {
  color: #08aaff;
}
.global-overlay .class-method-dialog .class-method-option-main {
  display: flex;
  align-items: center;
  gap: 10px;
}
.global-overlay .class-method-dialog .class-method-option-icon {
  width: 38px;
  height: 38px;
  flex-shrink: 0;
  object-fit: contain;
}
.global-overlay .class-method-dialog .class-method-option-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
}
.global-overlay .class-method-dialog .class-method-option-copy span {
  color: #111111;
  font-size: 15px;
  font-weight: 700;
}
.global-overlay .class-method-dialog .class-method-option-copy small {
  color: #888888;
  font-size: 11px;
}
.global-overlay .class-method-dialog .class-method-option-check {
  color: transparent;
  font-size: 18px;
  font-weight: bold;
}
.global-overlay .class-method-dialog > p {
  margin: 18px 0 0;
  color: #999999;
  font-size: 13px;
  line-height: 1.5;
}
.global-overlay .class-method-dialog > p.class-method-login-hint {
  color: #ff4d4f;
  font-weight: 500;
}
.global-overlay .class-method-dialog > footer {
  display: flex;
  gap: 12px;
  margin-top: 24px;
}
.global-overlay .class-method-dialog > footer button {
  flex: 1;
  height: 46px;
  border: 0;
  border-radius: 10px;
  background: #08aaff;
  color: #ffffff;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
}
.global-overlay .class-method-dialog > footer button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.global-overlay .class-method-dialog > footer button.ghost {
  border: 1px solid #d8d8d8;
  background: #ffffff;
  color: #333333;
}

/* 上课方式：保持现有弹窗位置和表单行为，仅统一到桌面端平板视觉规范。 */
.global-overlay .global-overlay__panel.class-method-panel {
  border: 2px solid #ffffff !important;
  border-radius: 20px !important;
  background: #f3f3f3 !important;
  box-shadow: 0 18px 52px rgba(27, 35, 54, 0.3) !important;
}
.global-overlay .class-method-dialog {
  padding: 20px;
}
.global-overlay .class-method-dialog > header {
  padding-bottom: 14px;
  border-bottom: 2px solid #ffffff;
}
.global-overlay .class-method-dialog > header h2 {
  color: #111111;
  font-size: 18px;
  font-weight: 500;
}
.global-overlay .class-method-dialog > header button {
  border: 2px solid #ffffff;
  background: rgba(255, 255, 255, 0.72);
  color: #3d4df5;
  box-shadow: 0 3px 10px rgba(49, 62, 82, 0.08);
}
.global-overlay .class-method-dialog > section {
  gap: 12px;
  margin-top: 16px;
}
.global-overlay .class-method-dialog > section > button {
  height: 76px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 2px 8px rgba(49, 62, 82, 0.04);
}
.global-overlay .class-method-dialog > section > button:hover {
  border-color: #d7dbff;
  background: rgba(255, 255, 255, 0.9);
}
.global-overlay .class-method-dialog > section > button.active {
  border-color: #d7dbff;
  background: #f4f5ff;
}
.global-overlay .class-method-dialog > section > button.active .class-method-option-check {
  color: #3d4df5;
}
.global-overlay .class-method-dialog .class-method-option-copy span {
  color: #222222;
}
.global-overlay .class-method-dialog > p {
  margin-top: 16px;
  color: #858b9a;
}
.global-overlay .class-method-dialog > footer {
  margin-top: 18px;
}
.global-overlay .class-method-dialog > footer button {
  height: 42px;
  border-radius: 21px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  box-shadow: 0 4px 12px rgba(61, 77, 245, 0.2);
}
.global-overlay .class-method-dialog > footer button.ghost {
  border-color: #d7dbff;
  background: #ffffff;
  color: #3d4df5;
  box-shadow: none;
}

/* 与「选择课件」采用同一右侧抽屉外框；内容仍保持上课方式自身的两列选项。 */
.global-overlay.class-method-overlay {
  position: fixed !important;
  inset: 0 !important;
  display: flex !important;
  width: 100vw !important;
  height: 100vh !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding: 0 !important;
  box-sizing: border-box;
}
.global-overlay.class-method-overlay > .global-overlay__panel.class-method-panel {
  display: flex !important;
  flex-direction: column !important;
  width: min(600px, 100vw - 40px) !important;
  max-width: 600px !important;
  height: min(780px, 100vh - 48px) !important;
  max-height: calc(100vh - 48px) !important;
  /* 不依赖遮罩层的内边距：面板自身始终保留上下与右侧距离。 */
  margin: 24px 20px 24px auto !important;
  border: 2px solid #ffffff !important;
  border-radius: 20px !important;
  background: #f3f3f3 !important;
  box-shadow: -10px 14px 42px rgba(27, 35, 54, 0.24) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.global-overlay.class-method-overlay > .global-overlay__panel.class-method-panel > .global-overlay__body {
  display: flex;
  width: 100%;
  flex: 1 1 0;
  min-height: 0;
  height: 0;
}
.global-overlay.class-method-overlay .class-method-dialog {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
  flex-direction: column;
  padding: 24px 20px 20px;
  background: #f3f3f3;
  box-sizing: border-box;
}
.global-overlay.class-method-overlay .class-method-dialog > header {
  flex-shrink: 0;
  justify-content: center;
  border-bottom: 0;
}
.global-overlay.class-method-overlay .class-method-dialog > section {
  flex-shrink: 0;
}
.global-overlay.class-method-overlay .class-method-dialog > footer {
  margin-top: auto;
  padding-top: 18px;
}.profile-edit-pane[data-v-ea93485b] {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  padding: 24px 20px 20px;
  background: #f3f3f3;
  box-sizing: border-box;
}
.profile-edit-title[data-v-ea93485b] {
  flex: 0 0 auto;
  margin: 0 0 20px;
  color: #111;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
}
.profile-edit-scroll[data-v-ea93485b] {
  min-height: 0;
  flex: 1;
}
.profile-edit-content[data-v-ea93485b] {
  padding: 0 0 16px;
}
.pcs-card[data-v-ea93485b] {
  margin-bottom: 14px;
  overflow: hidden;
  border: 0;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.72);
  box-sizing: border-box;
}
.pcs-row[data-v-ea93485b] {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  padding: 13px 16px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
}
.pcs-row--switch[data-v-ea93485b] {
  justify-content: space-between;
}
.pcs-row--no-border[data-v-ea93485b] {
  border-bottom: none;
}
.pcs-row--last[data-v-ea93485b],
.pcs-card .pcs-row[data-v-ea93485b]:last-child {
  border-bottom: 0;
}
.pcs-row--with-hint[data-v-ea93485b] {
  border-bottom: 0;
}
.pcs-record-feature-block[data-v-ea93485b] {
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
}
.pcs-transcription-feature-block[data-v-ea93485b] {
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
}
.pcs-bookmark-feature-block[data-v-ea93485b] {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
}
.pcs-bookmark-feature-block--last[data-v-ea93485b] {
  border-bottom: 0;
}
.pcs-lab[data-v-ea93485b] {
  flex-shrink: 0;
  margin-right: 12px;
  color: #000;
  font-size: 16px;
}
.pcs-pick[data-v-ea93485b] {
  display: flex;
  min-width: 0;
  flex: 1;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
}
.pcs-pick-ico[data-v-ea93485b] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  object-fit: contain;
}
.pcs-class-in-hint[data-v-ea93485b] {
  margin: 0;
  padding: 0 16px 12px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
}
.pcs-class-in-hint-text[data-v-ea93485b],
.pcs-bookmark-feature-hint-text[data-v-ea93485b],
.pcs-transcription-feature-hint-text[data-v-ea93485b] {
  display: block;
  color: #888;
  font-size: 14px;
  line-height: 1.55;
}
.pcs-bookmark-feature-hint[data-v-ea93485b] {
  margin: 0;
  padding: 0 16px 12px;
}
.pcs-transcription-feature-hint[data-v-ea93485b] {
  margin: 0;
  padding: 0 16px 12px;
}
.pcs-switch[data-v-ea93485b] {
  position: relative;
  width: 48px;
  height: 28px;
  border: 0;
  border-radius: 14px;
  background: #e5e5e5;
  box-sizing: border-box;
  cursor: pointer;
  flex-shrink: 0;
  transition: background-color 0.2s;
}
.pcs-switch--on[data-v-ea93485b] {
  background: #08aaff;
}
.pcs-switch-dot[data-v-ea93485b] {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
  box-sizing: border-box;
  transition: left 0.2s;
}
.pcs-switch--on .pcs-switch-dot[data-v-ea93485b] {
  left: 22px;
}
.pbs-root[data-v-ea93485b] {
  padding-bottom: 12px;
  box-sizing: border-box;
}
.pbs-header[data-v-ea93485b] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 12px 8px;
  box-sizing: border-box;
  cursor: pointer;
}
.pbs-lab[data-v-ea93485b] {
  color: #000000;
  font-size: 16px;
}
.pbs-ar[data-v-ea93485b] {
  color: #c8c8c8;
  font-size: 16px;
  line-height: 1;
}
.pbs-body[data-v-ea93485b] {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 12px;
  box-sizing: border-box;
}
.pbs-left[data-v-ea93485b] {
  display: flex;
  min-width: 0;
  flex: 1;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.pbs-pdf-ico[data-v-ea93485b] {
  display: flex;
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
}
.pbs-pdf-img[data-v-ea93485b] {
  display: block;
  width: 28px;
  height: 28px;
  object-fit: contain;
}
.pbs-cw-name[data-v-ea93485b] {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  color: #999;
  font-size: 13px;
  line-height: 28px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pbs-cw-name.is-filled[data-v-ea93485b] {
  color: #333;
}
.pbs-right[data-v-ea93485b] {
  display: flex;
  height: 28px;
  flex-shrink: 0;
  align-items: center;
  gap: 4px;
}
.pbs-page-select[data-v-ea93485b] {
  width: 62px;
  flex-shrink: 0;
}
.pbs-page-select[data-v-ea93485b] .n-base-selection {
  min-height: 28px;
  border-radius: 6px;
}
.pbs-page-select[data-v-ea93485b] .n-base-selection-label {
  height: 28px;
}
.pbs-page-select[data-v-ea93485b] .n-base-selection-input,
.pbs-page-select[data-v-ea93485b] .n-base-selection-input__content {
  text-align: center;
}
.pbs-page-unit[data-v-ea93485b] {
  color: #666;
  font-size: 13px;
  line-height: 28px;
}
.profile-edit-actions[data-v-ea93485b] {
  flex-shrink: 0;
  padding: 16px 0 0;
}
.profile-edit-submit-btn[data-v-ea93485b] {
  width: 100%;
  height: 44px;
  border: 0;
  border-radius: 22px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  color: #ffffff;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}
.profile-edit-submit-btn.loading[data-v-ea93485b] {
  opacity: 0.7;
}
.bookmark-guide-layer[data-v-ea93485b] {
  position: fixed;
  inset: 0;
  z-index: 11000;
  pointer-events: auto;
}
.bookmark-guide-spotlight[data-v-ea93485b] {
  position: fixed;
  z-index: 1;
  border: 2px solid #12a8f4;
  border-radius: 8px;
  box-shadow: 0 0 0 9999px rgba(19, 30, 43, 0.68);
  pointer-events: none;
}
.bookmark-guide-tooltip[data-v-ea93485b] {
  position: fixed;
  z-index: 2;
  box-sizing: border-box;
  padding: 16px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}
.bookmark-guide-tooltip p[data-v-ea93485b] {
  margin: 0 0 14px;
  color: #303133;
  font-size: 16px;
  line-height: 1.5;
}
.bookmark-guide-tooltip button[data-v-ea93485b] {
  display: block;
  min-width: 92px;
  margin-left: auto;
  padding: 10px 16px;
  border: 0;
  border-radius: 8px;
  color: #fff;
  font-size: 16px;
  background: #12a8f4;
  cursor: pointer;
}.pcs-select.profile-edit-select {
  display: block;
  min-width: 0;
  flex: 1;
  width: auto;
}
.pcs-select.profile-edit-select .n-base-selection {
  --n-height: 40px !important;
  --n-border: 0 !important;
  --n-border-hover: 0 !important;
  --n-border-focus: 0 !important;
  --n-border-active: 0 !important;
  --n-box-shadow-focus: none !important;
  --n-box-shadow-active: none !important;
  --n-color: transparent !important;
  --n-color-active: transparent !important;
  --n-placeholder-color: #bdbdbd !important;
  --n-text-color: #333 !important;
  --n-font-size: 16px !important;
  --n-arrow-color: #c8c8c8 !important;
  padding: 0 !important;
}
.pcs-select.profile-edit-select .n-base-selection-label,
.pcs-select.profile-edit-select .n-base-selection-placeholder {
  padding: 0 !important;
  justify-content: flex-end !important;
  text-align: right !important;
}
.pcs-select.profile-edit-select .n-base-selection-label {
  color: #333 !important;
}
.pcs-select.profile-edit-select .n-base-selection-placeholder {
  color: #bdbdbd !important;
}
.pcs-select.profile-edit-select .n-base-selection-placeholder__inner,
.pcs-select.profile-edit-select .n-base-selection-input,
.pcs-select.profile-edit-select .n-base-selection-input__content {
  width: 100% !important;
  color: inherit !important;
  text-align: right !important;
}
.pcs-select.profile-edit-select .n-base-selection__arrow {
  display: flex !important;
  align-items: center;
  margin-left: 6px;
  color: #c8c8c8 !important;
}.global-overlay.class-settings-overlay {
  position: fixed !important;
  inset: 0 !important;
  display: flex !important;
  width: 100vw !important;
  height: 100vh !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding: 0 !important;
  box-sizing: border-box;
}
.global-overlay.class-settings-overlay > .global-overlay__panel.class-settings-panel {
  display: flex !important;
  flex-direction: column !important;
  width: min(600px, 100vw - 40px) !important;
  max-width: 600px !important;
  height: min(780px, 100vh - 48px) !important;
  max-height: calc(100vh - 48px) !important;
  margin: 24px 20px 24px auto !important;
  border: 2px solid #ffffff !important;
  border-radius: 20px !important;
  background: #f3f3f3 !important;
  box-shadow: -10px 14px 42px rgba(27, 35, 54, 0.24) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.global-overlay.class-settings-overlay > .global-overlay__panel.class-settings-panel > .global-overlay__body {
  display: flex !important;
  flex: 1 1 0 !important;
  min-height: 0 !important;
  height: 0 !important;
}
.global-overlay .global-overlay__panel.class-settings-panel.global-overlay-panel-enter-active {
  transition: opacity 0.26s ease, transform 0.26s cubic-bezier(0.22, 0.8, 0.2, 1) !important;
}
.global-overlay .global-overlay__panel.class-settings-panel.global-overlay-panel-leave-active {
  transition: opacity 0.2s ease, transform 0.2s ease !important;
}
.global-overlay .global-overlay__panel.class-settings-panel.global-overlay-panel-enter-from,
.global-overlay .global-overlay__panel.class-settings-panel.global-overlay-panel-leave-to {
  opacity: 0 !important;
  transform: translateX(24px) !important;
}
.global-overlay .class-settings-dialog {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  background: #f3f3f3;
}
.global-overlay .class-settings-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 3;
  display: flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: #f3f5f7;
  color: #333333;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.global-overlay .class-settings-pane {
  flex: 1;
  min-height: 0;
  height: 100%;
}
.booking-confirm-panel[data-v-6f1d357e] {
  display: flex;
  flex: 1 1 0%;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  background: #ffffff;
}
.panel-header[data-v-6f1d357e] {
  display: flex;
  height: 52px;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  border-bottom: 0;
  background: #ffffff;
  flex-shrink: 0;
}
.panel-header h2[data-v-6f1d357e] {
  margin: 0;
  color: #111111;
  font-size: 18px;
  font-weight: 500;
}
.panel-back[data-v-6f1d357e],
.panel-placeholder[data-v-6f1d357e] {
  display: flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
}
.panel-back[data-v-6f1d357e] {
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 22px;
}
.panel-body[data-v-6f1d357e] {
  flex: 1;
  min-height: 0;
  background: #ffffff;
}
.panel-body-inner[data-v-6f1d357e] {
  padding: 18px 24px 36px;
  box-sizing: border-box;
}
.teacher-section[data-v-6f1d357e] {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 5px 0 12px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  box-sizing: border-box;
}
.teacher-avatar[data-v-6f1d357e] {
  width: 70px;
  height: 70px;
  border-radius: 8px;
  object-fit: cover;
}
.teacher-info[data-v-6f1d357e] {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
}
.teacher-name-row[data-v-6f1d357e] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.teacher-name[data-v-6f1d357e] {
  overflow: hidden;
  color: #000000;
  font-size: 18px;
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.teacher-badge[data-v-6f1d357e] {
  width: 18px;
  height: 18px;
}
.teacher-level-badge[src*=icon-vip-tf][data-v-6f1d357e] {
  width: 34px;
  height: 18px;
}
.teacher-flag[data-v-6f1d357e] {
  width: 22px;
  height: 15px;
  border-radius: 2px;
  object-fit: cover;
  flex-shrink: 0;
}
.teacher-title[data-v-6f1d357e],
.teacher-subtitle[data-v-6f1d357e] {
  color: #8398ac;
  font-size: 13px;
  line-height: 1.4;
}
.teacher-subtitle[data-v-6f1d357e] {
  color: #000000;
}
.section-block[data-v-6f1d357e] {
  margin-top: 18px;
}
.section-block h3[data-v-6f1d357e] {
  margin: 0 0 12px;
  color: #111111;
  font-size: 14px;
  font-weight: 600;
}
.course-info-card[data-v-6f1d357e] {
  display: flex;
  gap: 14px;
  align-items: center;
  min-height: 0;
  padding: 14px 18px 14px 0;
  margin-bottom: 12px;
  border-radius: 10px;
  background: #ffffff;
  box-sizing: border-box;
}
.date-badge[data-v-6f1d357e] {
  display: flex;
  width: 56px;
  height: 56px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: linear-gradient(180deg, #ff6b81, #ff3b5c);
  color: #ffffff;
}
.date-badge strong[data-v-6f1d357e] {
  font-size: 15px;
}
.date-badge span[data-v-6f1d357e] {
  margin-top: 4px;
  font-size: 12px;
}
.course-time-main[data-v-6f1d357e] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.course-time-main strong[data-v-6f1d357e] {
  color: #333333;
  font-size: 14px;
  font-weight: 400;
}
.course-time-main .course-time-line[data-v-6f1d357e] {
  display: flex;
  flex-direction: column;
  gap: 0;
  line-height: 1.2;
}
.course-time-main .course-time-line span[data-v-6f1d357e] {
  color: inherit;
  font-size: inherit;
  line-height: 1.2;
}
.course-time-main .course-duration[data-v-6f1d357e] {
  color: #777777;
  font-size: 13px;
  line-height: 1.2;
}
.countdown-warn-row[data-v-6f1d357e] {
  display: grid;
  grid-template-columns: minmax(180px, 0.9fr) minmax(220px, 1.35fr);
  align-items: stretch;
  gap: 14px;
  margin-top: 0;
  margin-bottom: 12px;
  padding: 14px 18px 16px;
  border-radius: 14px;
  background: #f6f7f9;
  box-sizing: border-box;
}
.countdown-card[data-v-6f1d357e] {
  flex: 1 1 0;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  text-align: center;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.countdown-title[data-v-6f1d357e] {
  display: block;
  margin-bottom: 12px;
  color: #333333;
  font-size: 14px;
  font-weight: 600;
}
.countdown-time[data-v-6f1d357e] {
  display: grid;
  grid-template-columns: minmax(38px, 54px) minmax(10px, 18px) minmax(38px, 54px) minmax(10px, 18px) minmax(38px, 54px);
  align-items: center;
  justify-items: center;
  gap: 0;
  margin-top: 0;
  width: 100%;
  max-width: 198px;
}
.countdown-time strong[data-v-6f1d357e] {
  display: flex;
  width: clamp(38px, 5.2vw, 54px);
  max-width: 54px;
  height: clamp(38px, 4.7vw, 48px);
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  background: #eaf2f6;
  color: #2f3438;
  font-size: clamp(18px, 2.2vw, 24px);
  font-weight: 500;
}
.countdown-time em[data-v-6f1d357e] {
  color: #2f3438;
  font-style: normal;
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
}
.countdown-unit[data-v-6f1d357e] {
  display: grid;
  grid-template-columns: minmax(38px, 54px) minmax(10px, 18px) minmax(38px, 54px) minmax(10px, 18px) minmax(38px, 54px);
  justify-content: start;
  gap: 0;
  margin-top: 8px;
  width: 100%;
  max-width: 198px;
  color: #8f959e;
  font-size: 12px;
}
.countdown-unit span[data-v-6f1d357e] {
  text-align: center;
}
.countdown-unit span[data-v-6f1d357e]:nth-child(1) {
  grid-column: 1;
}
.countdown-unit span[data-v-6f1d357e]:nth-child(2) {
  grid-column: 3;
}
.countdown-unit span[data-v-6f1d357e]:nth-child(3) {
  grid-column: 5;
}
.warn-banner[data-v-6f1d357e] {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: 10px;
  min-height: 70px;
  margin-top: 0;
  padding: 14px 18px;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffb54a 0%, #ffa533 100%);
  box-sizing: border-box;
}
.warn-banner > div[data-v-6f1d357e] {
  min-width: 0;
}
.warn-icon[data-v-6f1d357e] {
  display: flex;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #ffffff;
  color: #ffaf38;
  font-size: 14px;
  font-weight: 700;
  margin-top: 3px;
  flex-shrink: 0;
}
.warn-banner strong[data-v-6f1d357e],
.warn-banner small[data-v-6f1d357e] {
  display: block;
}
.warn-banner strong[data-v-6f1d357e] {
  overflow-wrap: anywhere;
  color: #ffffff;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
}
.warn-banner small[data-v-6f1d357e] {
  overflow-wrap: anywhere;
  margin-top: 4px;
  color: #ffffff;
  opacity: 0.95;
  font-size: 11px;
  line-height: 1.45;
}
@media (max-width: 760px) {
.countdown-warn-row[data-v-6f1d357e] {
    grid-template-columns: 1fr;
}
.countdown-card[data-v-6f1d357e] {
    align-items: flex-start;
    text-align: left;
}
.warn-banner[data-v-6f1d357e] {
    min-height: 0;
}
}
.tool-list-card[data-v-6f1d357e] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  min-height: 0;
  padding: 0 18px 14px 0;
  border-radius: 0;
  background: transparent;
  box-sizing: border-box;
}
.tool-tag[data-v-6f1d357e] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 30px;
  padding: 0 10px;
  border-radius: 15px;
  background: #f1f3fa;
  color: #000000;
  font-size: 13px;
}
.tool-tag img[data-v-6f1d357e] {
  width: 16px;
  height: 16px;
  object-fit: contain;
}
.option-group[data-v-6f1d357e] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 18px;
  margin-bottom: 18px;
}
.option-card[data-v-6f1d357e] {
  display: flex;
  width: 100%;
  min-height: 58px;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  background: #f8f9fb;
  box-sizing: border-box;
  color: #111111;
  text-align: left;
  cursor: pointer;
}
.option-card .option-label[data-v-6f1d357e] {
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 600;
}
.option-card strong[data-v-6f1d357e] {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  color: #111111;
  font-size: 14px;
  font-weight: 500;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.option-card strong.placeholder[data-v-6f1d357e] {
  color: #c8c9cc;
}
.option-card i[data-v-6f1d357e] {
  flex-shrink: 0;
  color: #999999;
  font-style: normal;
  font-size: 20px;
}
.option-card.highlight strong.placeholder[data-v-6f1d357e] {
  color: #1890ff;
}
.option-label-wrap[data-v-6f1d357e] {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.option-label-ico[data-v-6f1d357e] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  object-fit: contain;
}
.option-card--stack[data-v-6f1d357e] {
  min-height: 74px;
  align-items: center;
}
.option-card--stack small[data-v-6f1d357e] {
  display: block;
  margin-top: 8px;
  color: #999999;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.45;
  text-align: left;
}
.option-left-stack[data-v-6f1d357e] {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
}
.option-card--stack > strong[data-v-6f1d357e] {
  flex: 0 1 auto;
  max-width: 45%;
}
.bookmark-card[data-v-6f1d357e] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  padding: 14px 18px;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  background: #f8f9fb;
  color: inherit;
  cursor: pointer;
  text-align: left;
  box-sizing: border-box;
}
.bookmark-card[data-v-6f1d357e]:hover {
  background: #f2f7fb;
}
.bookmark-card[data-v-6f1d357e]:focus-visible {
  outline: 2px solid #12a8f4;
  outline-offset: 2px;
}
.bookmark-head[data-v-6f1d357e] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.bookmark-head .option-label[data-v-6f1d357e] {
  color: #333333;
  font-size: 14px;
  font-weight: 600;
}
.bookmark-head > i[data-v-6f1d357e] {
  margin-left: auto;
  color: #c0c4cc;
  font-style: normal;
  font-size: 18px;
  line-height: 1;
}
.bookmark-body[data-v-6f1d357e] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-top: 0;
}
.bookmark-courseware[data-v-6f1d357e] {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}
.bookmark-courseware span[data-v-6f1d357e] {
  min-width: 0;
  overflow: hidden;
  color: #333333;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bookmark-courseware span.placeholder[data-v-6f1d357e] {
  color: #c8c9cc;
}
.bookmark-file-icon[data-v-6f1d357e] {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  object-fit: contain;
}
.bookmark-courseware em[data-v-6f1d357e] {
  flex-shrink: 0;
  padding: 2px 8px;
  border-radius: 4px;
  background: rgba(27, 167, 255, 0.12);
  color: #1ba7ff;
  font-size: 11px;
  font-style: normal;
  line-height: 16px;
}
.bookmark-page[data-v-6f1d357e] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.bookmark-page strong[data-v-6f1d357e] {
  min-width: 72px;
  padding: 6px 10px;
  border-radius: 6px;
  background: #ffffff;
  color: #333333;
  font-size: 13px;
  font-weight: 500;
  text-align: center;
}
.bookmark-page strong.placeholder[data-v-6f1d357e] {
  color: #c8c9cc;
}
.bookmark-page span[data-v-6f1d357e] {
  color: #666666;
  font-size: 13px;
}
.bookmark-status-hint[data-v-6f1d357e] {
  display: block;
  margin-top: -2px;
  color: #999999;
  font-size: 14px;
  line-height: 1.45;
}
.class-method-card[data-v-6f1d357e] {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}
.class-method-row[data-v-6f1d357e] {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.class-method-row i[data-v-6f1d357e] {
  flex-shrink: 0;
  color: #999999;
  font-style: normal;
  font-size: 20px;
}
.class-method-value[data-v-6f1d357e] {
  display: inline-flex;
  flex: 1;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  color: #111111;
  font-size: 14px;
  font-weight: 500;
  text-align: right;
}
.class-method-value span[data-v-6f1d357e] {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.class-method-value-icon[data-v-6f1d357e] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  object-fit: contain;
}
.class-method-hint[data-v-6f1d357e] {
  margin: 0;
  color: #999999;
  font-size: 14px;
  line-height: 1.5;
}
.class-in-login-hint[data-v-6f1d357e] {
  margin: 0;
  color: #999999;
  font-size: 14px;
  line-height: 1.5;
}
.message-card[data-v-6f1d357e] {
  margin-top: 0;
  padding: 14px 18px;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  background: #f8f9fb;
  box-sizing: border-box;
}
.message-label[data-v-6f1d357e] {
  margin: 0 0 8px;
  color: #333333;
  font-size: 14px;
  font-weight: 600;
  line-height: 18px;
}
.message-label-wrap[data-v-6f1d357e] {
  gap: 10px;
  margin: 0;
}
textarea[data-v-6f1d357e] {
  width: 100%;
  min-height: 120px;
  padding: 0;
  border: 0;
  border-radius: 0;
  outline: none;
  resize: none;
  box-sizing: border-box;
  background: transparent;
  color: #333333;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
}
textarea[data-v-6f1d357e]::placeholder {
  color: #999999;
  font-size: 13px;
  font-weight: 400;
  opacity: 1;
}
.panel-footer[data-v-6f1d357e] {
  flex-shrink: 0;
  padding: 12px 24px 16px;
  border-top: 0;
  background: #ffffff;
}
.submit-btn[data-v-6f1d357e] {
  width: 100%;
  height: 48px;
  display: block;
  border: 0;
  border-radius: 999px;
  background: #08aaff;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}
.submit-btn.loading[data-v-6f1d357e] {
  opacity: 0.7;
  pointer-events: none;
}

/* iPad 确认课程页：页面、信息模块和固定操作区使用同一组卡片层级。 */
.booking-confirm-panel[data-v-6f1d357e] {
  --confirm-page-gutter: 20px;
  background: #f3f3f3;
}
.panel-header[data-v-6f1d357e] {
  height: 52px;
  padding: 0 var(--confirm-page-gutter);
  background: #f3f3f3;
}
.panel-header h2[data-v-6f1d357e] {
  color: #000000;
  font-size: 18px;
  font-weight: 400;
}
.panel-back[data-v-6f1d357e] {
  width: 48px;
  height: 20px;
  margin: 0;
  padding: 0;
  color: #3d4df5;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  outline: none;
}
.panel-placeholder[data-v-6f1d357e] {
  width: 48px;
  height: 20px;
}
.panel-back[data-v-6f1d357e]:focus-visible,
.option-card[data-v-6f1d357e]:focus-visible,
.bookmark-card[data-v-6f1d357e]:focus-visible,
.class-method-row[data-v-6f1d357e]:focus-visible,
.submit-btn[data-v-6f1d357e]:focus-visible {
  outline: 2px solid #3d4df5;
  outline-offset: 2px;
}
.panel-body[data-v-6f1d357e] {
  height: 0;
  flex: 1 1 0%;
  min-height: 0;
  background: #f3f3f3;
}
.panel-body-inner[data-v-6f1d357e] {
  max-width: none;
  margin: 0;
  padding: 16px var(--confirm-page-gutter) 24px;
}
.teacher-section[data-v-6f1d357e],
.course-info-card[data-v-6f1d357e],
.tool-list-card[data-v-6f1d357e],
.option-card[data-v-6f1d357e],
.bookmark-card[data-v-6f1d357e],
.message-card[data-v-6f1d357e],
.countdown-warn-row[data-v-6f1d357e] {
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 2px 8px rgba(49, 62, 82, 0.05);
}
.teacher-section[data-v-6f1d357e] {
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 14px;
  padding: 14px 16px;
}
.teacher-avatar[data-v-6f1d357e] {
  width: 70px;
  height: 70px;
  border-radius: 12px;
}
.teacher-info[data-v-6f1d357e] {
  margin-top: 4px;
  gap: 1px;
}
.teacher-name-row[data-v-6f1d357e] {
  gap: 4px;
  margin-bottom: 2px;
}
.teacher-name[data-v-6f1d357e] {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
}
.teacher-title[data-v-6f1d357e],
.teacher-subtitle[data-v-6f1d357e] {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
}
.section-block[data-v-6f1d357e] {
  margin-top: 14px;
}
.section-block h3[data-v-6f1d357e] {
  margin: 0 0 8px;
  color: #333333;
  font-size: 14px;
  font-weight: 600;
}
.tool-list-card[data-v-6f1d357e] {
  min-height: 44px;
  margin: 0;
  padding: 0 16px;
}
.tool-tag[data-v-6f1d357e] {
  height: auto;
  padding: 6px 12px;
  border-radius: 13px;
  background: #f1f3fa;
  font-size: 13px;
}
.course-info-card[data-v-6f1d357e] {
  gap: 14px;
  margin: 0 0 14px;
  padding: 14px 16px;
}
.date-badge[data-v-6f1d357e] {
  width: 56px;
  height: 56px;
  border-radius: 10px;
}
.date-badge strong[data-v-6f1d357e] {
  font-size: 16px;
}
.countdown-warn-row[data-v-6f1d357e] {
  grid-template-columns: minmax(198px, 248px) minmax(0, 1fr);
  align-items: start;
  gap: 22px;
  margin: 0 0 14px;
  padding: 14px 16px 16px;
}
.countdown-card[data-v-6f1d357e] {
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
}
.countdown-title[data-v-6f1d357e] {
  margin-bottom: 12px;
}
.countdown-time[data-v-6f1d357e],
.countdown-unit[data-v-6f1d357e] {
  max-width: 198px;
}
.countdown-time strong[data-v-6f1d357e] {
  width: 54px;
  height: 48px;
  border-radius: 10px;
  font-size: 24px;
}
.warn-banner[data-v-6f1d357e] {
  min-height: 70px;
  margin-top: 20px;
  padding: 14px 18px;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffb54a 0%, #ffa533 100%);
}
.option-group[data-v-6f1d357e] {
  gap: 10px;
  margin: 0 0 14px;
}
.option-card[data-v-6f1d357e],
.bookmark-card[data-v-6f1d357e],
.message-card[data-v-6f1d357e] {
  border-color: #ffffff;
  background: rgba(255, 255, 255, 0.7);
}
.option-card[data-v-6f1d357e] {
  min-height: 58px;
  padding: 13px 16px;
}
.option-card.highlight strong.placeholder[data-v-6f1d357e] {
  color: #3d4df5;
}
.bookmark-card[data-v-6f1d357e] {
  padding: 13px 16px;
}
.bookmark-card[data-v-6f1d357e]:hover {
  background: rgba(255, 255, 255, 0.88);
}
.message-card[data-v-6f1d357e] {
  margin: 0;
  padding: 14px 16px;
}
.panel-footer[data-v-6f1d357e] {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 10px var(--confirm-page-gutter) 14px;
  border: 0;
  background: #f3f3f3;
  box-sizing: border-box;
}
.submit-btn[data-v-6f1d357e] {
  height: 40px;
  border-radius: 20px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  box-shadow: 0 4px 10px rgba(61, 77, 245, 0.18);
  font-size: 16px;
}
.submit-btn[data-v-6f1d357e]:hover,
.submit-btn[data-v-6f1d357e]:active {
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
}
@media (max-width: 760px) {
.countdown-warn-row[data-v-6f1d357e] {
    grid-template-columns: 1fr;
    gap: 18px;
}
.warn-banner[data-v-6f1d357e] {
    width: 100%;
    margin-top: 0;
}
}
.global-overlay.booking-card-picker-overlay {
  align-items: stretch;
  justify-content: flex-end;
  padding: 20px;
  box-sizing: border-box;
}
.global-overlay .global-overlay__panel.booking-card-picker-panel {
  display: flex;
  width: min(380px, 100vw - 40px);
  max-width: min(380px, 100vw - 40px);
  height: calc(100vh - 40px);
  max-height: calc(100vh - 40px);
  margin-left: auto;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}
.global-overlay .global-overlay__panel.booking-card-picker-panel .global-overlay__body {
  display: flex;
  width: 100%;
  min-height: 0;
}
.card-picker[data-v-6f1d357e] {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  background: #ffffff;
}
.card-picker-header[data-v-6f1d357e] {
  position: relative;
  display: flex;
  flex-shrink: 0;
  height: 56px;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  border-bottom: 1px solid #f0f0f0;
  box-sizing: border-box;
}
.card-picker-title[data-v-6f1d357e] {
  margin: 0;
  color: #333333;
  font-size: 17px;
  font-weight: 600;
}
.card-picker-close[data-v-6f1d357e] {
  position: absolute;
  top: 50%;
  right: 12px;
  display: flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: #999999;
  font-size: 22px;
  line-height: 1;
  transform: translateY(-50%);
  cursor: pointer;
}
.card-picker-list[data-v-6f1d357e] {
  flex: 1;
  min-height: 0;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.card-picker-list-inner[data-v-6f1d357e] {
  padding: 16px 20px;
  box-sizing: border-box;
}
.picker-state[data-v-6f1d357e] {
  padding: 44px 0;
  color: #999999;
  font-size: 14px;
  text-align: center;
}
.card-picker-item[data-v-6f1d357e] {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 100px;
  margin: 0 0 12px;
  padding: 0;
  align-items: stretch;
  overflow: hidden;
  border: 0;
  border-radius: 12px;
  background: #f8f8f8;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.08);
  box-sizing: border-box;
  cursor: pointer;
  text-align: left;
}
.card-picker-item-body[data-v-6f1d357e] {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: row;
  align-items: stretch;
}
.card-picker-item .profile-cards-left[data-v-6f1d357e] {
  position: relative;
  display: flex;
  flex: 0 0 100px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 14px 10px;
  border-right: 1px dashed #e3eef8;
  box-sizing: border-box;
}
.card-picker-item .profile-cards-notch[data-v-6f1d357e] {
  position: absolute;
  right: -10px;
  z-index: 1;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #ffffff;
}
.card-picker-item .profile-cards-notch--top[data-v-6f1d357e] {
  top: -10px;
}
.card-picker-item .profile-cards-notch--bottom[data-v-6f1d357e] {
  bottom: -10px;
}
.card-picker-item .profile-cards-mode-tag[data-v-6f1d357e] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
  padding: 3px 6px;
  border-radius: 4px;
  background: rgba(250, 173, 20, 0.15);
}
.card-picker-item .profile-cards-mode-tag-text[data-v-6f1d357e] {
  color: #d48806;
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
}
.card-picker-item .profile-cards-mode-tag.is-1v2[data-v-6f1d357e] {
  background: rgba(255, 172, 70, 0.2);
}
.card-picker-item .profile-cards-mode-tag.is-1v2 .profile-cards-mode-tag-text[data-v-6f1d357e] {
  color: #ffac47;
}
.card-picker-item .profile-cards-mode-tag.is-fixed[data-v-6f1d357e] {
  background: #d7f4ff;
}
.card-picker-item .profile-cards-mode-tag.is-fixed .profile-cards-mode-tag-text[data-v-6f1d357e] {
  color: #08aaff;
}
.card-picker-item .profile-cards-number[data-v-6f1d357e] {
  color: #2f9fe8;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.1;
}
.card-picker-item .profile-cards-unit[data-v-6f1d357e] {
  margin-top: 6px;
  padding: 4px 10px;
  border-radius: 10px;
  background: #f7f7f7;
  color: #666666;
  font-size: 13px;
  text-align: center;
}
.card-picker-item .profile-cards-right[data-v-6f1d357e] {
  flex: 1;
  min-width: 0;
  padding: 14px 12px 14px 18px;
  box-sizing: border-box;
}
.card-picker-item .profile-cards-name[data-v-6f1d357e] {
  display: block;
  margin-bottom: 8px;
  color: #222222;
  font-size: 15px;
  font-weight: 700;
}
.card-picker-item .profile-cards-line[data-v-6f1d357e] {
  display: block;
  color: #777777;
  font-size: 13px;
  line-height: 1.7;
}
.card-picker-item .profile-cards-line--level[data-v-6f1d357e] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 5px;
  margin-bottom: 2px;
}
.card-picker-item .profile-cards-line-label[data-v-6f1d357e] {
  flex-shrink: 0;
  color: #777777;
  font-size: 13px;
}
.card-picker-item .profile-cards-level-badges[data-v-6f1d357e] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-height: 20px;
}
.card-picker-item .profile-cards-level-badge[data-v-6f1d357e] {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  object-fit: contain;
}
.card-picker-item .profile-cards-level-badge--v0[data-v-6f1d357e] {
  width: 34px;
  height: 18px;
}
.card-picker-item .profile-cards-line--yuekebao[data-v-6f1d357e] {
  color: #08aaff;
}
.card-picker-radio[data-v-6f1d357e] {
  position: relative;
  display: flex;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  margin: 0 12px 0 6px;
  align-items: center;
  align-self: center;
  justify-content: center;
  border: 2px solid #dddddd;
  border-radius: 50%;
  box-sizing: border-box;
}
.card-picker-radio.selected[data-v-6f1d357e] {
  border-color: transparent;
  background: #1ba7ff;
}
.card-picker-radio-check[data-v-6f1d357e] {
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}
.booking-guide-layer[data-v-6f1d357e] {
  position: fixed;
  inset: 0;
  z-index: 11000;
  pointer-events: auto;
}
.booking-guide-spotlight[data-v-6f1d357e] {
  position: fixed;
  z-index: 1;
  border: 2px solid #12a8f4;
  border-radius: 8px;
  box-shadow: 0 0 0 9999px rgba(19, 30, 43, 0.68);
  pointer-events: none;
}
.booking-guide-tooltip[data-v-6f1d357e] {
  position: fixed;
  z-index: 2;
  padding: 16px;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(17, 34, 51, 0.2);
  box-sizing: border-box;
}
.booking-guide-tooltip p[data-v-6f1d357e] {
  margin: 0;
  color: #2b3543;
  font-size: 14px;
  line-height: 1.6;
}
.booking-guide-tooltip button[data-v-6f1d357e] {
  display: block;
  min-width: 72px;
  height: 34px;
  margin: 14px 0 0 auto;
  padding: 0 14px;
  border: 0;
  border-radius: 6px;
  background: #12a8f4;
  color: #ffffff;
  font-size: 14px;
  cursor: pointer;
}
.card-picker-confirm[data-v-6f1d357e] {
  display: flex;
  flex-shrink: 0;
  width: auto;
  height: 38px;
  margin: 12px 20px 16px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 24px;
  background: #08aaff;
  color: #ffffff;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}
.card-picker-confirm.disabled[data-v-6f1d357e] {
  background: #e0e0e0;
  color: #999999;
  cursor: not-allowed;
}

/* 课时卡选择弹层：仅更新视觉，保留原有抽屉定位、关闭和选择流程。 */
.card-picker[data-v-6f1d357e] {
  background: #f3f3f3;
}
.card-picker-header[data-v-6f1d357e] {
  border-bottom: 2px solid #ffffff;
  background: rgba(255, 255, 255, 0.82);
}
.card-picker-title[data-v-6f1d357e] {
  color: #111111;
  font-size: 18px;
  font-weight: 500;
}
.card-picker-close[data-v-6f1d357e] {
  border-radius: 50%;
  color: #3d4df5;
}
.card-picker-list-inner[data-v-6f1d357e] {
  padding: 16px 16px;
}
.card-picker-item[data-v-6f1d357e] {
  margin-bottom: 12px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 2px 8px rgba(49, 62, 82, 0.05);
}
.card-picker-item[data-v-6f1d357e]:hover {
  background: rgba(255, 255, 255, 0.88);
}
.card-picker-item[data-v-6f1d357e]:has(.card-picker-radio.selected) {
  border-color: #d7dbff;
  background: #f4f5ff;
}
.card-picker-item .profile-cards-left[data-v-6f1d357e] {
  border-right-color: #d7dbff;
}
.card-picker-item .profile-cards-number[data-v-6f1d357e] {
  color: #3d4df5;
}
.card-picker-item .profile-cards-line--yuekebao[data-v-6f1d357e] {
  color: #3d4df5;
}
.card-picker-radio.selected[data-v-6f1d357e] {
  background: #3d4df5;
}
.card-picker-confirm[data-v-6f1d357e] {
  height: 42px;
  margin: 12px 16px 16px;
  border-radius: 21px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  box-shadow: 0 4px 12px rgba(61, 77, 245, 0.2);
}
.card-picker-confirm[data-v-6f1d357e]:hover:not(.disabled),
.card-picker-confirm[data-v-6f1d357e]:active:not(.disabled) {
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
}.booking-submit-confirm-panel {
  width: 420px;
  overflow: hidden;
  border: 2px solid #ffffff !important;
  border-radius: 20px !important;
  background: #f3f3f3 !important;
  box-shadow: 0 18px 52px rgba(27, 35, 54, 0.3) !important;
}
.booking-submit-confirm-panel .global-overlay__header {
  min-height: 56px !important;
  justify-content: center !important;
  padding: 0 20px !important;
  border-bottom-color: rgba(0, 0, 0, 0.06) !important;
}
.booking-submit-confirm-panel .global-overlay__title {
  color: #111111 !important;
  font-size: 18px !important;
  font-weight: 500 !important;
}
.booking-submit-confirm-panel .global-overlay__actions {
  gap: 12px !important;
  padding: 16px 20px 20px !important;
  border-top: 0 !important;
}
.booking-submit-confirm-panel .global-overlay__btn {
  height: 42px !important;
  border-radius: 21px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}
.booking-submit-confirm-panel .global-overlay__btn--cancel {
  border-color: #d7dbff !important;
  color: #3d4df5 !important;
}
.booking-submit-confirm-panel .global-overlay__btn--confirm {
  border: 0 !important;
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%) !important;
  box-shadow: 0 4px 12px rgba(61, 77, 245, 0.2) !important;
}
.booking-submit-confirm-copy {
  margin: 0;
  padding: 22px 20px 6px;
  color: #333333;
  font-size: 16px;
  line-height: 1.6;
}.booking-success-panel[data-v-907bd760] {
  display: flex;
  flex: 1;
  min-height: 0;
  align-items: center;
  justify-content: center;
  background: #ffffff;
}
.success-body[data-v-907bd760] {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(440px, 100%);
  padding: 42px 44px 36px;
  border: 1px solid #ffffff;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: none;
  box-sizing: border-box;
  text-align: center;
}
.success-body .success-icon[data-v-907bd760] {
  display: flex;
  width: 64px;
  height: 64px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #3d4df5, #bf62fd);
  color: #ffffff;
  font-size: 32px;
  line-height: 1;
  font-weight: 700;
  margin-bottom: 18px;
}
.success-body h2[data-v-907bd760] {
  margin: 0 0 10px;
  color: #222222;
  font-size: 20px;
  font-weight: 800;
}
.success-body p[data-v-907bd760] {
  min-height: 0;
  margin: 0 0 28px;
  color: #666666;
  font-size: 14px;
  line-height: 1.65;
}
.success-actions[data-v-907bd760] {
  display: flex;
  gap: 12px;
  width: 100%;
  margin-top: 0;
}
.success-actions button[data-v-907bd760] {
  flex: 1;
  height: 40px;
  border: 1px solid #3d4df5;
  border-radius: 20px;
  background: #f4f5ff;
  color: #3d4df5;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}
.success-actions button.primary[data-v-907bd760] {
  border: 0;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  color: #ffffff;
  box-shadow: 0 5px 12px rgba(61, 77, 245, 0.18);
}
.teacher-schedule-panel[data-v-8c333228] {
  display: flex;
  flex: 1 1 0%;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  background: #ffffff;
}
.teacher-schedule-panel .panel-header[data-v-8c333228] {
  display: flex;
  height: 52px;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  border-bottom: 1px solid #f0f0f0;
  flex-shrink: 0;
}
.teacher-schedule-panel .panel-back[data-v-8c333228],
.teacher-schedule-panel .panel-placeholder[data-v-8c333228] {
  display: flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.teacher-schedule-panel .panel-back[data-v-8c333228] {
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 22px;
}
.teacher-schedule-panel .panel-title[data-v-8c333228] {
  margin: 0;
  font-size: 18px;
  font-weight: 500;
  color: #111111;
}
.teacher-schedule-panel .panel-body[data-v-8c333228] {
  flex: 1;
  width: 100%;
  min-width: 0;
  min-height: 0;
}
.teacher-schedule-panel .panel-body[data-v-8c333228] .n-scrollbar-rail {
  right: 2px;
  width: 4px;
}
.teacher-schedule-panel .panel-body[data-v-8c333228] .n-scrollbar-rail__scrollbar {
  width: 4px;
  border-radius: 999px;
  background: #d5d5d5;
}
.teacher-schedule-panel .panel-body-inner[data-v-8c333228] {
  width: 100%;
  min-width: 0;
  padding: 18px 18px 24px;
  box-sizing: border-box;
}
.teacher-schedule-panel .teacher-section[data-v-8c333228] {
  margin-bottom: 18px;
}
.teacher-schedule-panel .teacher-row[data-v-8c333228] {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.teacher-schedule-panel .teacher-avatar[data-v-8c333228] {
  width: 88px;
  height: 88px;
  border-radius: 10px;
  object-fit: cover;
  flex-shrink: 0;
}
.teacher-schedule-panel .teacher-meta[data-v-8c333228] {
  flex: 1;
  min-width: 0;
  padding-top: 4px;
}
.teacher-schedule-panel .teacher-name-row[data-v-8c333228],
.teacher-schedule-panel .teacher-detail-row[data-v-8c333228] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.teacher-schedule-panel .teacher-name-row[data-v-8c333228] {
  margin-bottom: 6px;
}
.teacher-schedule-panel .teacher-name[data-v-8c333228] {
  font-size: 20px;
  font-weight: 600;
  color: #111111;
}
.teacher-schedule-panel .teacher-badge[data-v-8c333228] {
  width: 18px;
  height: 18px;
}
.teacher-schedule-panel .teacher-level-badge[src*=icon-vip-tf][data-v-8c333228] {
  width: 34px;
  height: 18px;
}
.teacher-schedule-panel .teacher-flag[data-v-8c333228] {
  width: 22px;
  height: 15px;
  border-radius: 2px;
  object-fit: cover;
  flex-shrink: 0;
}
.teacher-schedule-panel .teacher-detail-row[data-v-8c333228] {
  color: #8398ac;
  font-size: 13px;
}
.teacher-schedule-panel .teacher-detail-row--muted[data-v-8c333228] {
  margin-top: 4px;
  color: #666666;
}
.teacher-schedule-panel .resume-entry[data-v-8c333228] {
  height: 30px;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  background: #08aaff;
  color: #ffffff;
  cursor: pointer;
  flex-shrink: 0;
  font-size: 0;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(8, 170, 255, 0.24);
  transition: background-color 0.2s, box-shadow 0.2s;
}
.teacher-schedule-panel .resume-entry[data-v-8c333228]:hover {
  background: #1ba7ff;
  box-shadow: 0 4px 16px rgba(8, 170, 255, 0.35);
}
.teacher-schedule-panel .resume-entry[data-v-8c333228]:active {
  background: #007dbe;
}
.teacher-schedule-panel .resume-entry[data-v-8c333228]::after {
  content: "简介";
  font-size: 13px;
}
.teacher-schedule-panel .schedule-section + .schedule-section[data-v-8c333228] {
  margin-top: 20px;
}
.teacher-schedule-panel .section-header[data-v-8c333228] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.teacher-schedule-panel .section-header h3[data-v-8c333228] {
  margin: 0;
  color: #111111;
  font-size: 16px;
  font-weight: 500;
  line-height: 20px;
}
.teacher-schedule-panel .section-header .section-timezone[data-v-8c333228] {
  color: #999999;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}
.teacher-schedule-panel .duration-tabs[data-v-8c333228] {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.teacher-schedule-panel .duration-tab[data-v-8c333228],
.teacher-schedule-panel .date-column--label[data-v-8c333228],
.teacher-schedule-panel .time-slot[data-v-8c333228],
.teacher-schedule-panel .date-nav-btn[data-v-8c333228] {
  border: 0;
  cursor: pointer;
}
.teacher-schedule-panel .duration-tab[data-v-8c333228] {
  min-width: 92px;
  height: 36px;
  padding: 0 14px;
  border-radius: 8px;
  background: #f1f3fa;
  color: #000000;
  font-size: 14px;
  font-weight: 700;
}
.teacher-schedule-panel .duration-tab.active[data-v-8c333228] {
  background: #08aaff;
  color: #ffffff;
}
.teacher-schedule-panel .date-nav-row[data-v-8c333228],
.teacher-schedule-panel .date-slots-row[data-v-8c333228] {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 28px;
  gap: 8px;
}
.teacher-schedule-panel .date-nav-row--labels[data-v-8c333228] {
  position: sticky;
  top: 0;
  z-index: 4;
  padding: 10px 0 8px;
  margin: -10px 0 0;
  background: #ffffff;
}
.teacher-schedule-panel .date-slots-row[data-v-8c333228] {
  margin-top: 10px;
}
.teacher-schedule-panel .schedule-empty-wrap[data-v-8c333228] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 18px 24px 28px;
  background: #ffffff;
  box-sizing: border-box;
}
.teacher-schedule-panel .schedule-empty-img[data-v-8c333228] {
  width: 110px;
  height: 110px;
  flex-shrink: 0;
  margin-bottom: 16px;
  object-fit: contain;
}
.teacher-schedule-panel .schedule-empty-text[data-v-8c333228] {
  margin: 0 0 24px;
  font-size: 14px;
  line-height: 1.6;
  color: #888888;
  text-align: center;
}
.teacher-schedule-panel .schedule-empty-btn[data-v-8c333228] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 32px;
  border: 0;
  border-radius: 999px;
  background: #09aaff;
  box-shadow: 0 4px 12px rgba(9, 170, 255, 0.35);
  color: #ffffff;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.3s;
}
.teacher-schedule-panel .schedule-empty-btn[data-v-8c333228]:hover {
  background: #008fd9;
}
.teacher-schedule-panel .schedule-empty-btn[data-v-8c333228]:active {
  background: #007dbe;
}
.teacher-schedule-panel .date-list[data-v-8c333228] {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}
.teacher-schedule-panel .date-nav-btn[data-v-8c333228],
.teacher-schedule-panel .date-side-spacer[data-v-8c333228] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.teacher-schedule-panel .date-nav-btn[data-v-8c333228] {
  height: 48px;
  border-radius: 8px;
  background: #f5f6fa;
  color: #333333;
}
.teacher-schedule-panel .date-nav-btn[data-v-8c333228]:disabled {
  color: #cccccc;
  cursor: not-allowed;
}
.teacher-schedule-panel .date-column--label[data-v-8c333228] {
  display: flex;
  height: 48px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #f5f6fa;
}
.teacher-schedule-panel .date-column--label.active[data-v-8c333228] {
  background: #eaf6ff;
}
.teacher-schedule-panel .date-label[data-v-8c333228] {
  color: #333333;
  font-size: 13px;
}
.teacher-schedule-panel .date-week[data-v-8c333228] {
  color: #999999;
  font-size: 12px;
  margin-top: 2px;
}
.teacher-schedule-panel .col-slots[data-v-8c333228] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.teacher-schedule-panel .time-slot[data-v-8c333228],
.teacher-schedule-panel .col-loading[data-v-8c333228],
.teacher-schedule-panel .empty-slots[data-v-8c333228] {
  display: flex;
  min-height: 54px;
  padding: 8px 4px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #f8f9fb;
  text-align: center;
}
.teacher-schedule-panel .time-slot[data-v-8c333228] {
  box-sizing: border-box;
  border: 1px solid #e8e8e8;
  background: #ffffff;
  color: #333333;
}
.teacher-schedule-panel .time-slot.active[data-v-8c333228] {
  border-color: #08aaff;
  background: #08aaff;
  color: #ffffff;
}
.teacher-schedule-panel .time-slot.active .time-text[data-v-8c333228] {
  color: #ffffff;
}
.teacher-schedule-panel .time-slot.active .time-period[data-v-8c333228] {
  color: rgba(255, 255, 255, 0.8);
}
.teacher-schedule-panel .time-slot.booked-by-self[data-v-8c333228] {
  border: 1px solid #ffdc8b;
  color: #ffa332;
  background: #fff3d7;
}
.teacher-schedule-panel .time-slot.booked-by-self .time-text[data-v-8c333228],
.teacher-schedule-panel .time-slot.booked-by-self .time-period[data-v-8c333228] {
  color: #ffa332;
}
.teacher-schedule-panel .time-slot.booked-by-other[data-v-8c333228], .teacher-schedule-panel .time-slot.is-busy[data-v-8c333228] {
  cursor: not-allowed;
  border-color: #dadada;
  color: #999999;
  background: #f3f3f3;
}
.teacher-schedule-panel .time-slot.booked-by-other .time-text[data-v-8c333228],
.teacher-schedule-panel .time-slot.booked-by-other .time-period[data-v-8c333228], .teacher-schedule-panel .time-slot.is-busy .time-text[data-v-8c333228],
.teacher-schedule-panel .time-slot.is-busy .time-period[data-v-8c333228] {
  color: #999999;
}
.teacher-schedule-panel .time-slot.booked-by-self.is-busy[data-v-8c333228] {
  border-color: #ffdc8b;
  color: #ffa332;
  background: #fff3d7;
}
.teacher-schedule-panel .time-slot.booked-by-self.is-busy .time-text[data-v-8c333228],
.teacher-schedule-panel .time-slot.booked-by-self.is-busy .time-period[data-v-8c333228] {
  color: #ffa332;
}
.teacher-schedule-panel .time-text[data-v-8c333228] {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  color: #333333;
}
.teacher-schedule-panel .time-period[data-v-8c333228] {
  margin-top: 3px;
  font-size: 11px;
  line-height: 1.2;
  color: #000000;
}
.teacher-schedule-panel .col-loading[data-v-8c333228],
.teacher-schedule-panel .empty-slots[data-v-8c333228] {
  color: #999999;
  font-size: 12px;
}
.teacher-schedule-panel .panel-footer[data-v-8c333228] {
  padding: 14px 18px 18px;
  border-top: 1px solid #f0f0f0;
  background: #ffffff;
  flex-shrink: 0;
}
.teacher-schedule-panel .confirm-btn[data-v-8c333228] {
  width: 100%;
  height: 44px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: #08aaff;
  color: #ffffff;
  font-size: 15px;
  font-weight: 500;
}
.teacher-schedule-panel .confirm-btn.disabled[data-v-8c333228] {
  border-color: #d8dee6;
  background: #f5f7fa;
  color: #a5afba;
  cursor: not-allowed;
}
.schedule-guide-layer[data-v-8c333228] {
  position: fixed;
  inset: 0;
  z-index: 11000;
  pointer-events: auto;
}
.schedule-guide-spotlight[data-v-8c333228] {
  position: fixed;
  z-index: 1;
  border: 2px solid #12a8f4;
  border-radius: 8px;
  box-shadow: 0 0 0 9999px rgba(19, 30, 43, 0.68);
  pointer-events: none;
}
.schedule-guide-tooltip[data-v-8c333228] {
  position: fixed;
  z-index: 2;
  box-sizing: border-box;
  padding: 16px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}
.schedule-guide-tooltip p[data-v-8c333228] {
  margin: 0 0 14px;
  color: #303133;
  font-size: 16px;
  line-height: 1.5;
}
.schedule-guide-tooltip button[data-v-8c333228] {
  display: block;
  min-width: 92px;
  margin-left: auto;
  padding: 10px 16px;
  border: 0;
  border-radius: 8px;
  color: #fff;
  font-size: 16px;
  background: #12a8f4;
  cursor: pointer;
}
/* iPad 预约排课面板：三段式高度链，滚动仅归中间时段区。 */
.teacher-schedule-panel[data-v-8c333228] {
  background: #f3f3f3;
}
.teacher-schedule-panel .panel-header[data-v-8c333228] {
  position: relative;
  height: 58px;
  padding: 0 24px;
  border: 0;
  background: transparent;
}
.teacher-schedule-panel .panel-header .panel-back[data-v-8c333228],
.teacher-schedule-panel .panel-header .panel-placeholder[data-v-8c333228] {
  width: 48px;
  height: 20px;
}
.teacher-schedule-panel .panel-header .panel-back[data-v-8c333228] {
  justify-content: flex-start;
  color: #3d4df5;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
}
.teacher-schedule-panel .panel-header .panel-title[data-v-8c333228] {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  color: #111;
  font-size: 18px;
  font-weight: 400;
  line-height: 24px;
}
.teacher-schedule-panel .panel-body[data-v-8c333228] {
  height: 0;
  flex: 1 1 0;
  min-height: 0;
}
.teacher-schedule-panel .panel-body[data-v-8c333228] .n-scrollbar-rail {
  display: none;
}
.teacher-schedule-panel .panel-body-inner[data-v-8c333228] {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  gap: 14px;
  padding: 0 16px 20px;
}
.teacher-schedule-panel .teacher-section[data-v-8c333228],
.teacher-schedule-panel .schedule-section[data-v-8c333228] {
  margin: 0;
  padding: 14px 16px 16px;
  border: 2px solid #fff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
}
.teacher-schedule-panel .teacher-section[data-v-8c333228] {
  padding: 14px 16px;
}
.teacher-schedule-panel .teacher-section .teacher-row[data-v-8c333228] {
  gap: 0;
  align-items: center;
}
.teacher-schedule-panel .teacher-section .teacher-avatar[data-v-8c333228] {
  width: 70px;
  height: 70px;
  border-radius: 8px;
}
.teacher-schedule-panel .teacher-section .teacher-meta[data-v-8c333228] {
  margin-left: 14px;
  padding-top: 0;
}
.teacher-schedule-panel .teacher-section .teacher-name-row[data-v-8c333228] {
  gap: 4px;
  margin-bottom: 2px;
}
.teacher-schedule-panel .teacher-section .teacher-name[data-v-8c333228] {
  color: #000;
  font-size: 18px;
  font-weight: 400;
}
.teacher-schedule-panel .teacher-section .teacher-flag[data-v-8c333228] {
  width: 22px;
  height: 18px;
}
.teacher-schedule-panel .teacher-section .teacher-badge[data-v-8c333228] {
  width: 18px;
  height: 18px;
}
.teacher-schedule-panel .teacher-section .teacher-detail-row[data-v-8c333228] {
  gap: 6px;
  color: #8398ac;
  font-size: 13px;
  line-height: 1.5;
}
.teacher-schedule-panel .teacher-section .teacher-detail-row--muted[data-v-8c333228] {
  margin-top: 2px;
  color: #000;
}
.teacher-schedule-panel .teacher-section .resume-entry[data-v-8c333228] {
  height: 36px;
  margin-left: 12px;
  padding: 0 18px;
  border-radius: 999px;
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
  box-shadow: 0 4px 12px rgba(61, 77, 245, 0.24);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}
.teacher-schedule-panel .teacher-section .resume-entry[data-v-8c333228]::after {
  display: none;
}
.teacher-schedule-panel .teacher-section .resume-entry[data-v-8c333228]:hover, .teacher-schedule-panel .teacher-section .resume-entry[data-v-8c333228]:active {
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
}
.teacher-schedule-panel .section-header[data-v-8c333228] {
  gap: 6px;
  margin-bottom: 12px;
}
.teacher-schedule-panel .section-header .schedule-section-icon[data-v-8c333228] {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  object-fit: contain;
}
.teacher-schedule-panel .section-header h3[data-v-8c333228] {
  color: #333;
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
}
.teacher-schedule-panel .section-header .section-timezone[data-v-8c333228] {
  color: #999;
  font-size: 14px;
  line-height: 20px;
}
.teacher-schedule-panel .duration-tabs[data-v-8c333228] {
  flex-wrap: nowrap;
  gap: 4px;
  overflow-x: auto;
}
.teacher-schedule-panel .duration-tab[data-v-8c333228] {
  min-width: 0;
  height: auto;
  padding: 7px 12px;
  border-radius: 999px;
  background: #f4f5ff;
  color: #333;
  font-size: 13px;
}
.teacher-schedule-panel .duration-tab.active[data-v-8c333228] {
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
  color: #fff;
}
.teacher-schedule-panel .date-nav-row--labels[data-v-8c333228] {
  margin: 0;
  padding: 8px 0;
  background: #fff;
}
.teacher-schedule-panel[data-v-8c333228] {
  /* 时间卡片：标题保留 16px 内边距，吸顶日期栏必须横向铺满卡片。 */
}
.teacher-schedule-panel .schedule-section + .schedule-section[data-v-8c333228] {
  padding: 0;
}
.teacher-schedule-panel .schedule-section + .schedule-section .section-header[data-v-8c333228] {
  margin: 0;
  padding: 14px 16px 10px;
}
.teacher-schedule-panel .date-nav-btn[data-v-8c333228] {
  height: auto;
  border-radius: 0;
  background: transparent;
}
.teacher-schedule-panel .date-column--label[data-v-8c333228] {
  height: auto;
  padding: 0 2px;
  border-radius: 0;
  background: transparent;
}
.teacher-schedule-panel .date-column--label.active[data-v-8c333228] {
  background: transparent;
}
.teacher-schedule-panel .date-label[data-v-8c333228] {
  color: #666;
  font-size: 13px;
}
.teacher-schedule-panel .date-week[data-v-8c333228] {
  color: #333;
  font-size: 13px;
  font-weight: 600;
  margin-top: 4px;
}
.teacher-schedule-panel .date-slots-row[data-v-8c333228] {
  margin-top: 0;
}
.teacher-schedule-panel .col-slots[data-v-8c333228] {
  gap: 8px;
}
.teacher-schedule-panel .time-slot[data-v-8c333228] {
  min-height: 44px;
  height: 44px;
  padding: 6px 0;
  border-color: #dedede;
  border-radius: 6px;
}
.teacher-schedule-panel .time-slot.active[data-v-8c333228] {
  border-color: #3d4df5;
  background: #3d4df5;
}
.teacher-schedule-panel .time-text[data-v-8c333228] {
  font-size: 13px;
  line-height: 1.2;
}
.teacher-schedule-panel .time-period[data-v-8c333228] {
  height: 12px;
  min-height: 12px;
  margin-top: 1px;
  font-size: 11px;
  line-height: 1.1;
}
.teacher-schedule-panel .panel-footer[data-v-8c333228] {
  padding: 10px 15px;
  border: 0;
  background: #f3f3f3;
}
.teacher-schedule-panel .confirm-btn[data-v-8c333228] {
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
  font-size: 14px;
  font-weight: 800;
}
.teacher-schedule-panel .confirm-btn.disabled[data-v-8c333228] {
  border: 0;
  background: #d8dbe4;
  color: #999;
}
.teacher-resume-panel[data-v-eea9ac5b] {
  display: flex;
  flex: 1 1 0%;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  background: #ffffff;
}
.teacher-resume-panel .panel-header[data-v-eea9ac5b] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 52px;
  padding: 0 18px;
  border-bottom: 1px solid #f0f0f0;
  flex-shrink: 0;
}
.teacher-resume-panel .panel-header .panel-back[data-v-eea9ac5b],
.teacher-resume-panel .panel-header .panel-header-placeholder[data-v-eea9ac5b] {
  display: flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.teacher-resume-panel .panel-header .panel-back[data-v-eea9ac5b] {
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.teacher-resume-panel .panel-header .panel-back-arrow[data-v-eea9ac5b] {
  color: #111111;
  font-size: 22px;
  line-height: 1;
}
.teacher-resume-panel .panel-header .panel-title[data-v-eea9ac5b] {
  margin: 0;
  color: #111111;
  font-size: 18px;
  font-weight: 500;
}
.teacher-resume-panel .panel-state[data-v-eea9ac5b] {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #999999;
  font-size: 14px;
}
.teacher-resume-panel .panel-retry[data-v-eea9ac5b] {
  border: 0;
  background: transparent;
  color: #08aaff;
  cursor: pointer;
}
.teacher-resume-panel .panel-body[data-v-eea9ac5b] {
  flex: 1;
  min-height: 0;
}
.teacher-resume-panel .panel-body[data-v-eea9ac5b] .n-scrollbar-rail {
  right: 2px;
  width: 4px;
}
.teacher-resume-panel .panel-body[data-v-eea9ac5b] .n-scrollbar-rail__scrollbar {
  width: 4px;
  border-radius: 999px;
  background: #d5d5d5;
}
.teacher-resume-panel .panel-body .panel-body-inner[data-v-eea9ac5b] {
  padding: 18px 18px 24px;
}
.teacher-resume-panel .teacher-section .teacher-row[data-v-eea9ac5b] {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.teacher-resume-panel .teacher-section .teacher-avatar[data-v-eea9ac5b] {
  display: block;
  flex-shrink: 0;
  width: 92px;
  height: 92px;
  border-radius: 10px;
  object-fit: cover;
}
.teacher-resume-panel .teacher-section .play-btn[data-v-eea9ac5b] {
  position: relative;
  flex-shrink: 0;
  display: flex;
  width: 52px;
  height: 52px;
  align-items: center;
  justify-content: center;
  align-self: center;
  margin-top: 0;
  margin-left: auto;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(135deg, #3d4df5 0%, #bf62fd 100%);
  box-shadow: 0 8px 18px rgba(88, 76, 245, 0.24);
  cursor: pointer;
}
.teacher-resume-panel .teacher-section .play-btn[data-v-eea9ac5b]::before {
  width: 0;
  height: 0;
  margin-left: 3px;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 14px solid #ffffff;
  content: "";
}
.teacher-resume-panel .teacher-section .play-btn.is-disabled[data-v-eea9ac5b] {
  opacity: 0.45;
  cursor: not-allowed;
}
.teacher-resume-panel .teacher-section .play-icon[data-v-eea9ac5b] {
  display: none;
}
.teacher-resume-panel .teacher-section .teacher-meta[data-v-eea9ac5b] {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 8px;
  padding-top: 4px;
}
.teacher-resume-panel .teacher-section .teacher-name[data-v-eea9ac5b] {
  color: #111111;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
}
.teacher-resume-panel .teacher-section .teacher-score-row[data-v-eea9ac5b] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.teacher-resume-panel .teacher-section .teacher-stars[data-v-eea9ac5b] {
  display: flex;
  gap: 2px;
}
.teacher-resume-panel .teacher-section .teacher-star[data-v-eea9ac5b] {
  color: #d8d8d8;
  font-size: 14px;
  line-height: 1;
}
.teacher-resume-panel .teacher-section .teacher-star.active[data-v-eea9ac5b] {
  color: #ffb400;
}
.teacher-resume-panel .teacher-section .teacher-score-text[data-v-eea9ac5b] {
  color: #666666;
  font-size: 13px;
}
.teacher-resume-panel .teacher-section .verified-badge[data-v-eea9ac5b] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  height: 24px;
  padding: 0 10px;
  border-radius: 4px;
  background: #02cb98;
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
}
.teacher-resume-panel .teacher-section .teacher-divider[data-v-eea9ac5b] {
  height: 1px;
  margin: 16px 0;
  background: #f1f1f1;
}
.teacher-resume-panel .teacher-section .teacher-tags[data-v-eea9ac5b] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  min-height: 34px;
}
.teacher-resume-panel .teacher-section .tag-pill[data-v-eea9ac5b] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  height: 32px;
  padding: 0 14px;
  border-radius: 6px;
  background: rgba(8, 170, 255, 0.12);
  color: #08aaff;
  font-size: 13px;
  font-weight: 600;
}
.teacher-resume-panel .content-section[data-v-eea9ac5b] {
  margin-top: 18px;
}
.teacher-resume-panel .content-section .section-header[data-v-eea9ac5b] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.teacher-resume-panel .content-section .section-header h3[data-v-eea9ac5b] {
  margin: 0;
  color: #111111;
  font-size: 16px;
  font-weight: 500;
}
.teacher-resume-panel .content-section .lang-btn[data-v-eea9ac5b] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.teacher-resume-panel .content-section .lang-btn .translate-icon[data-v-eea9ac5b] {
  display: block;
  width: 24px;
  height: 24px;
  object-fit: contain;
  transition: opacity 0.2s;
}
.teacher-resume-panel .content-section .lang-btn:hover .translate-icon[data-v-eea9ac5b] {
  opacity: 0.75;
}
.teacher-resume-panel .content-section .lang-btn:active .translate-icon[data-v-eea9ac5b] {
  opacity: 0.5;
}
.teacher-resume-panel .cert-scroll[data-v-eea9ac5b] {
  width: 100%;
}
.teacher-resume-panel .cert-scroll[data-v-eea9ac5b] .n-scrollbar-container {
  overflow: auto hidden;
}
.teacher-resume-panel .cert-scroll .cert-list[data-v-eea9ac5b] {
  display: inline-flex;
  min-width: 100%;
  gap: 12px;
  padding-bottom: 4px;
}
.teacher-resume-panel .cert-image[data-v-eea9ac5b],
.teacher-resume-panel .empty-box[data-v-eea9ac5b] {
  width: 124px;
  height: 164px;
  border-radius: 10px;
  background: #f5f6fa;
  flex-shrink: 0;
}
.teacher-resume-panel .cert-image[data-v-eea9ac5b] {
  display: block;
  object-fit: cover;
}
.teacher-resume-panel .empty-box[data-v-eea9ac5b] {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999999;
  font-size: 13px;
}
.teacher-resume-panel .intro-card[data-v-eea9ac5b] {
  border-radius: 10px;
  background: #f8f8fa;
  padding: 16px;
}
.teacher-resume-panel .intro-text[data-v-eea9ac5b] {
  margin: 0;
  color: #333333;
  font-size: 14px;
  line-height: 1.75;
  white-space: pre-wrap;
  word-break: break-word;
}
.teacher-resume-panel .panel-footer[data-v-eea9ac5b] {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px 18px;
  border-top: 1px solid #f0f0f0;
  background: #ffffff;
  flex-shrink: 0;
}
.teacher-resume-panel .like-btn[data-v-eea9ac5b] {
  display: flex;
  width: 74px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.teacher-resume-panel .like-icon[data-v-eea9ac5b] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  color: #cccccc;
  transition: color 0.2s, transform 0.2s;
}
.teacher-resume-panel .like-icon.active[data-v-eea9ac5b] {
  color: #ff4260;
  animation: heart-pop-eea9ac5b 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.teacher-resume-panel .like-icon .like-icon-svg[data-v-eea9ac5b] {
  display: block;
  width: 100%;
  height: 100%;
}
.teacher-resume-panel .like-text[data-v-eea9ac5b] {
  color: #999999;
  font-size: 12px;
}
.teacher-resume-panel .like-text.active[data-v-eea9ac5b] {
  color: #ff4260;
}
.teacher-resume-panel .book-btn[data-v-eea9ac5b] {
  height: 44px;
  flex: 1;
  border: 0;
  border-radius: 999px;
  background: #08aaff;
  color: #ffffff;
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  transition: background-color 0.2s;
}
.teacher-resume-panel .book-btn[data-v-eea9ac5b]:hover {
  background: #1ba7ff;
}
.teacher-resume-panel .book-btn[data-v-eea9ac5b]:active {
  background: #007dbe;
}
.teacher-video-dialog[data-v-eea9ac5b] {
  position: relative;
  width: min(760px, 86vw);
  max-height: 78vh;
  padding: 0;
  border-radius: 12px;
  background: #000000;
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.28);
  overflow: hidden;
}
.teacher-video-close[data-v-eea9ac5b] {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 1;
  display: flex;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  color: #ffffff;
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
}
.teacher-video[data-v-eea9ac5b] {
  display: block;
  width: 100%;
  max-height: 78vh;
  background: #000000;
}
@keyframes heart-pop-eea9ac5b {
0% {
    transform: scale(1);
}
50% {
    transform: scale(1.35);
}
100% {
    transform: scale(1);
}
}
/* iPad 老师简历：信息区为独立半透明卡片，底栏固定在面板内。 */
.teacher-resume-panel[data-v-eea9ac5b] {
  background: #f3f3f3;
}
.teacher-resume-panel .panel-header[data-v-eea9ac5b] {
  position: relative;
  height: 56px;
  padding: 0 24px;
  border: 0;
  background: transparent;
}
.teacher-resume-panel .panel-header .panel-back[data-v-eea9ac5b],
.teacher-resume-panel .panel-header .panel-header-placeholder[data-v-eea9ac5b] {
  width: 48px;
  height: 28px;
}
.teacher-resume-panel .panel-header .panel-back[data-v-eea9ac5b] {
  justify-content: flex-start;
}
.teacher-resume-panel .panel-header .panel-back-label[data-v-eea9ac5b] {
  color: #3d4df5;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
}
.teacher-resume-panel .panel-header .panel-title[data-v-eea9ac5b] {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  color: #000;
  font-size: 18px;
  font-weight: 400;
  line-height: 24px;
}
.teacher-resume-panel .panel-body[data-v-eea9ac5b] {
  height: 0;
  flex: 1 1 0;
  min-height: 0;
}
.teacher-resume-panel .panel-body .panel-body-inner[data-v-eea9ac5b] {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 0 16px 16px;
}
.teacher-resume-panel .teacher-section[data-v-eea9ac5b],
.teacher-resume-panel .content-section[data-v-eea9ac5b] {
  box-sizing: border-box;
  margin: 0;
  padding: 14px;
  border: 2px solid #fff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
}
.teacher-resume-panel .teacher-section .teacher-row[data-v-eea9ac5b] {
  gap: 0;
}
.teacher-resume-panel .teacher-section .teacher-avatar[data-v-eea9ac5b] {
  width: 70px;
  height: 70px;
  border-radius: 12px;
}
.teacher-resume-panel .teacher-section .teacher-meta[data-v-eea9ac5b] {
  gap: 4px;
  margin-left: 16px;
  padding-top: 2px;
}
.teacher-resume-panel .teacher-section .teacher-name[data-v-eea9ac5b] {
  font-size: 16px;
  font-weight: 400;
  line-height: 21px;
}
.teacher-resume-panel .teacher-section .teacher-score-row[data-v-eea9ac5b] {
  min-height: 18px;
}
.teacher-resume-panel .teacher-section .teacher-stars[data-v-eea9ac5b] {
  gap: 3px;
}
.teacher-resume-panel .teacher-section .teacher-star[data-v-eea9ac5b] {
  display: block;
  width: 18px;
  height: 18px;
  object-fit: contain;
}
.teacher-resume-panel .teacher-section .verified-badge[data-v-eea9ac5b] {
  min-width: 0;
  height: 20px;
  padding: 0 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
}
.teacher-resume-panel .teacher-section .play-btn[data-v-eea9ac5b] {
  margin: 0 0 0 12px;
}
.teacher-resume-panel .teacher-section .play-icon[data-v-eea9ac5b] {
  width: 52px;
  height: 52px;
}
.teacher-resume-panel .teacher-section .teacher-divider[data-v-eea9ac5b] {
  margin: 16px 0;
  background: #eef0f3;
}
.teacher-resume-panel .teacher-section .teacher-tags[data-v-eea9ac5b] {
  min-height: 24px;
  gap: 10px;
}
.teacher-resume-panel .teacher-section .tag-pill[data-v-eea9ac5b] {
  min-width: 46px;
  height: 24px;
  padding: 0 10px;
  border: 1px solid #d7dbff;
  border-radius: 4px;
  background: #f4f5ff;
  color: #3d4df5;
  font-size: 12px;
  font-weight: 700;
}
.teacher-resume-panel .content-section .section-header[data-v-eea9ac5b] {
  margin-bottom: 14px;
}
.teacher-resume-panel .content-section .section-header h3[data-v-eea9ac5b] {
  color: #222;
  font-size: 17px;
  font-weight: 400;
  line-height: 22px;
}
.teacher-resume-panel .content-section .lang-btn[data-v-eea9ac5b] {
  width: 36px;
  height: 36px;
}
.teacher-resume-panel .content-section .lang-btn .translate-icon[data-v-eea9ac5b] {
  width: 24px;
  height: 24px;
}
.teacher-resume-panel .cert-image[data-v-eea9ac5b],
.teacher-resume-panel .empty-box[data-v-eea9ac5b] {
  width: 110px;
  height: 140px;
  border-radius: 8px;
}
.teacher-resume-panel .intro-card[data-v-eea9ac5b] {
  padding: 16px;
  border: 1px solid #d7dbff;
  border-radius: 10px;
  background: #f4f5ff;
}
.teacher-resume-panel .intro-text[data-v-eea9ac5b] {
  color: #555;
  font-size: 14px;
  line-height: 1.2;
}
.teacher-resume-panel .panel-footer[data-v-eea9ac5b] {
  gap: 16px;
  padding: 12px 24px;
  border: 0;
  background: #f3f3f3;
}
.teacher-resume-panel .like-btn[data-v-eea9ac5b] {
  width: auto;
  flex-direction: row;
  gap: 4px;
}
.teacher-resume-panel .like-text[data-v-eea9ac5b] {
  font-size: 14px;
}
.teacher-resume-panel .book-btn[data-v-eea9ac5b] {
  height: 38px;
  border-radius: 22px;
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
  font-size: 16px;
  font-weight: 700;
}
.teacher-resume-panel .book-btn[data-v-eea9ac5b]:hover, .teacher-resume-panel .book-btn[data-v-eea9ac5b]:active {
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
}.teacher-video-panel {
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}.booking-page[data-v-1fad8fe1] {
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  background: #f5f6fa;
}
.booking-page .booking-tablet-layout[data-v-1fad8fe1] {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  background: #f5f6fa;
}
.booking-page .booking-tablet-layout .booking-tablet-main[data-v-1fad8fe1] {
  position: relative;
  flex: 0 0 375px;
  width: 375px;
  max-width: 375px;
  min-width: 0;
  overflow: hidden;
  background: #f8f8f8;
  box-sizing: border-box;
  z-index: 1;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll[data-v-1fad8fe1] {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll[data-v-1fad8fe1] .n-scrollbar-rail {
  right: 2px;
  width: 4px;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll[data-v-1fad8fe1] .n-scrollbar-rail__scrollbar {
  width: 4px;
  border-radius: 999px;
  background: #d5d5d5;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner[data-v-1fad8fe1] {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 0 24px;
  box-sizing: border-box;
  font-size: 16px;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .banner-section[data-v-1fad8fe1] {
  position: relative;
  width: 375px;
  height: 215px;
  margin-left: 0;
  overflow: visible;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .banner-section .banner-bg[data-v-1fad8fe1] {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .banner-section .banner-content[data-v-1fad8fe1] {
  position: absolute;
  left: 0;
  top: 0;
  padding: 120px 0 0;
  margin-left: -9.5px;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .banner-section .banner-content .banner-btn[data-v-1fad8fe1] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 110px;
  height: 34px;
  margin-top: 20px;
  margin-left: 22.5px;
  border: 0;
  border-radius: 8px;
  background: #08aaff;
  cursor: pointer;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .banner-section .banner-content .banner-btn .banner-btn-text[data-v-1fad8fe1] {
  color: #ffffff;
  font-size: 13px;
  letter-spacing: 1px;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap[data-v-1fad8fe1] {
  position: sticky;
  top: 0;
  z-index: 999;
  margin-top: -21px;
  padding: 0 10px;
  transition: all 0.2s ease;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap.is-sticky[data-v-1fad8fe1] {
  padding: 0;
  background: #ffffff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap.is-sticky .search-bar[data-v-1fad8fe1] {
  width: calc(100% - 20px);
  margin: 0 10px;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap.is-sticky .search-bar-bottom[data-v-1fad8fe1] {
  width: calc(100% - 20px);
  margin: 0 10px;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar[data-v-1fad8fe1] {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  height: 40px;
  margin: 0;
  border-radius: 8px 8px 0 0;
  background: #ffffff;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar .search-left[data-v-1fad8fe1] {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar .search-left .search-icon[data-v-1fad8fe1] {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar .search-left .search-input[data-v-1fad8fe1] {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: 0;
  color: #333333;
  font-size: 14px;
  font-weight: 500;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar .search-left .search-input[data-v-1fad8fe1]::placeholder {
  color: #c0c0c0;
  font-size: 14px;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar .search-left .clear-btn[data-v-1fad8fe1] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar .search-left .clear-btn .clear-icon[data-v-1fad8fe1] {
  width: 12px;
  height: 12px;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar .search-divider[data-v-1fad8fe1] {
  width: 1px;
  height: 20px;
  flex-shrink: 0;
  background: #e5e5e5;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar .search-right[data-v-1fad8fe1] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar .search-right .filter-icon[data-v-1fad8fe1] {
  width: 16px;
  height: 16px;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar .search-right .filter-text[data-v-1fad8fe1] {
  color: #333333;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.5px;
  text-align: center;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar .search-right .filter-count-badge[data-v-1fad8fe1] {
  display: inline-flex;
  flex: 0 0 20px;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  box-sizing: border-box;
  border-radius: 50%;
  background: #08AAFF;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar-bottom[data-v-1fad8fe1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 8px;
  width: 100%;
  padding: 8px 12px;
  box-sizing: border-box;
  border-radius: 0 0 8px 8px;
  background: #ffffff;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar-bottom .search-bar-bottom-left[data-v-1fad8fe1] {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-wrap: nowrap;
  align-items: center;
  gap: 5px;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar-bottom .search-bar-bottom-left .nat-pill[data-v-1fad8fe1] {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: #f5f5f5;
  box-sizing: border-box;
  cursor: pointer;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar-bottom .search-bar-bottom-left .nat-pill.active[data-v-1fad8fe1] {
  background: #007dbe;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar-bottom .search-bar-bottom-left .nat-pill.active .nat-pill-text[data-v-1fad8fe1] {
  color: #ffffff;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar-bottom .search-bar-bottom-left .nat-pill .nat-pill-text[data-v-1fad8fe1] {
  color: #333333;
  font-size: 13px;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar-bottom .search-bar-bottom-time[data-v-1fad8fe1] {
  display: flex;
  flex: 0.7;
  min-width: 0;
  max-width: 50%;
  min-height: 32px;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0;
  padding: 0;
  border: 1px solid #e8e8e8;
  border-radius: 6px;
  background: #ffffff;
  box-sizing: border-box;
  overflow: hidden;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar-bottom .search-bar-bottom-time .search-bar-bottom-time-inner[data-v-1fad8fe1] {
  display: flex;
  flex: 1;
  min-width: 0;
  min-height: 0;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  padding: 0 10px;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar-bottom .search-bar-bottom-time .search-bar-bottom-time-inner .search-bar-bottom-time-text[data-v-1fad8fe1] {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  color: #333333;
  font-size: 11px;
  line-height: 1;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar-bottom .search-bar-bottom-time .search-bar-bottom-time-inner .search-bar-bottom-time-text--placeholder[data-v-1fad8fe1] {
  color: #999999;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar-bottom .search-bar-bottom-time .search-bar-bottom-time-inner .search-bar-bottom-chevron[data-v-1fad8fe1] {
  flex-shrink: 0;
  margin-left: auto;
  color: #cccccc;
  font-size: 14px;
  line-height: 1;
  font-weight: 300;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar-bottom .search-bar-bottom-time .search-bar-bottom-time-clear[data-v-1fad8fe1] {
  display: flex;
  flex-shrink: 0;
  width: 28px;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  padding: 0;
  border: 0;
  background: #08aaff;
  cursor: pointer;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .search-bar-wrap .search-bar-bottom .search-bar-bottom-time .search-bar-bottom-time-clear .search-bar-bottom-time-clear-img[data-v-1fad8fe1] {
  display: block;
  width: 12px;
  height: 12px;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .teacher-list[data-v-1fad8fe1] {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  padding: 12px 10px 0;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .teacher-list .teacher-list-state[data-v-1fad8fe1] {
  display: flex;
  min-height: 220px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .teacher-list .teacher-list-state .teacher-list-state-text[data-v-1fad8fe1] {
  color: #999999;
  font-size: 14px;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .teacher-list .teacher-list-state .teacher-list-retry[data-v-1fad8fe1] {
  height: 32px;
  padding: 0 18px;
  border: 1px solid #08aaff;
  border-radius: 999px;
  background: #ffffff;
  color: #08aaff;
  font-size: 13px;
  cursor: pointer;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .teacher-list .teacher-list-footer--more[data-v-1fad8fe1],
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .teacher-list .no-more[data-v-1fad8fe1] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 0;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .teacher-list .teacher-list-footer--more .teacher-list__loading-text[data-v-1fad8fe1],
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .teacher-list .teacher-list-footer--more .no-more-text[data-v-1fad8fe1],
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .teacher-list .no-more .teacher-list__loading-text[data-v-1fad8fe1],
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .teacher-list .no-more .no-more-text[data-v-1fad8fe1] {
  color: #999999;
  font-size: 14px;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .teacher-list .tablet-empty[data-v-1fad8fe1] {
  display: flex;
  min-height: 420px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 36px 0 18px;
  color: #9aa3ad;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .teacher-list .tablet-empty .tablet-empty-illus[data-v-1fad8fe1] {
  width: 240px;
  height: auto;
  opacity: 0.95;
}
.booking-page .booking-tablet-layout .booking-tablet-main .booking-tablet-main-scroll .booking-inner .teacher-list .tablet-empty .tablet-empty-text[data-v-1fad8fe1] {
  margin-top: 12px;
  color: #999999;
  font-size: 14px;
}
.booking-page .booking-tablet-layout .booking-tablet-aside[data-v-1fad8fe1] {
  position: relative;
  z-index: 2;
  display: flex;
  flex: 1 1 0%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border-radius: 0 15px 15px 0;
  background: #ffffff;
  box-sizing: border-box;
}
.booking-page .booking-tablet-layout .booking-tablet-aside[data-v-1fad8fe1] > * {
  flex: 1 1 0%;
  width: 100%;
  min-width: 0;
  min-height: 0;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host[data-v-1fad8fe1] {
  display: flex;
  position: relative;
  width: 100%;
  min-width: 0;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  overflow: hidden;
  box-sizing: border-box;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-header[data-v-1fad8fe1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 58px;
  padding: 0 24px;
  border-bottom: 1px solid #f0f0f0;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-header h2[data-v-1fad8fe1] {
  margin: 0;
  color: #111111;
  font-size: 18px;
  font-weight: 400;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-header button[data-v-1fad8fe1] {
  border: 0;
  background: transparent;
  color: #999999;
  font-size: 14px;
  cursor: pointer;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body[data-v-1fad8fe1] {
  flex: 1;
  min-height: 0;
  padding: 0;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .aside-body-inner[data-v-1fad8fe1] {
  padding: 24px;
  box-sizing: border-box;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body[data-v-1fad8fe1] .n-scrollbar-rail {
  right: 2px;
  width: 4px;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body[data-v-1fad8fe1] .n-scrollbar-rail__scrollbar {
  width: 4px;
  border-radius: 999px;
  background: #d5d5d5;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group[data-v-1fad8fe1] {
  margin-bottom: 28px;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group h3[data-v-1fad8fe1] {
  margin: 0 0 14px;
  color: #333333;
  font-size: 15px;
  font-weight: 500;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .filter-group-header[data-v-1fad8fe1] {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .filter-group-header h3[data-v-1fad8fe1] {
  margin: 0;
  color: #333333;
  font-size: 15px;
  font-weight: 500;
  flex-shrink: 0;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .filter-group-header .section-count-badge[data-v-1fad8fe1] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 10px;
  background: #08aaff;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  flex-shrink: 0;
  margin-left: auto;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .filter-group-header .filter-group-summary[data-v-1fad8fe1] {
  color: #08aaff;
  font-size: 13px;
  font-weight: 500;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .slider-container[data-v-1fad8fe1] {
  padding: 4px 10px 10px;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .time-slot-grid[data-v-1fad8fe1] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .time-slot-grid .time-slot-item[data-v-1fad8fe1] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10px 4px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: #f8f9fa;
  cursor: pointer;
  transition: all 0.2s ease;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .time-slot-grid .time-slot-item[data-v-1fad8fe1]:hover {
  background: #f0f2f5;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .time-slot-grid .time-slot-item.active[data-v-1fad8fe1] {
  background: #e3f2fd;
  border-color: #90caf9;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .time-slot-grid .time-slot-item.active .time-slot-label-primary[data-v-1fad8fe1] {
  color: #1976d2;
  font-weight: 500;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .time-slot-grid .time-slot-item.active .time-slot-label-secondary[data-v-1fad8fe1] {
  color: #1976d2;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .time-slot-grid .time-slot-item .time-slot-icon[data-v-1fad8fe1] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  margin-bottom: 6px;
  background: #ffffff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .time-slot-grid .time-slot-item .time-slot-label-primary[data-v-1fad8fe1] {
  color: #333333;
  font-size: 11px;
  line-height: 1.2;
  margin-top: 2px;
  text-align: center;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .time-slot-grid .time-slot-item .time-slot-label-secondary[data-v-1fad8fe1] {
  color: #999999;
  font-size: 11px;
  line-height: 1.2;
  margin-top: 1px;
  text-align: center;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .filter-options[data-v-1fad8fe1] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .filter-options .filter-option[data-v-1fad8fe1] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 34px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: #f5f5f5;
  color: #333333;
  font-size: 14px;
  cursor: pointer;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .filter-options .filter-option.active[data-v-1fad8fe1] {
  background: #eaf6ff;
  color: #08aaff;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .filter-options .filter-option .filter-option-icon[data-v-1fad8fe1] {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  object-fit: cover;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .filter-options .filter-option .filter-option-icon--v0[data-v-1fad8fe1] {
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 18px !important;
  border-radius: 0;
  object-fit: contain;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .filter-options .filter-option .filter-option-flag[data-v-1fad8fe1] {
  width: 20px;
  height: 15px;
  border-radius: 2px;
  object-fit: cover;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .filter-time-grid[data-v-1fad8fe1] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 10px;
  border-radius: 8px;
  background: #f8f8f8;
  box-sizing: border-box;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .filter-time-grid .filter-time-box[data-v-1fad8fe1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  height: 68px;
  padding: 12px 14px;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  background: #ffffff;
  box-sizing: border-box;
  cursor: pointer;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .filter-time-grid .filter-time-box .filter-time-box-inner[data-v-1fad8fe1] {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .filter-time-grid .filter-time-box .filter-time-box-inner .filter-time-box-label[data-v-1fad8fe1] {
  color: #999999;
  font-size: 12px;
  line-height: 1;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .filter-time-grid .filter-time-box .filter-time-box-inner .filter-time-box-value[data-v-1fad8fe1] {
  max-width: 100%;
  overflow: hidden;
  color: #111111;
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .filter-time-grid .filter-time-box i[data-v-1fad8fe1] {
  flex-shrink: 0;
  margin-left: 12px;
  color: #bbbbbb;
  font-size: 18px;
  font-style: normal;
  font-weight: 300;
  line-height: 1;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-body .filter-group .filter-time-grid .filter-time-box.active[data-v-1fad8fe1] {
  border-color: #e8e8e8;
  background: #ffffff;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-actions[data-v-1fad8fe1] {
  display: flex;
  gap: 12px;
  padding: 16px 24px 20px;
  border-top: 1px solid #f0f0f0;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-actions .aside-btn[data-v-1fad8fe1] {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  height: 40px;
  border-radius: 10px;
  font-size: 14px;
  cursor: pointer;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-actions .aside-btn--ghost[data-v-1fad8fe1] {
  border: 1px solid #d8d8d8;
  background: #ffffff;
  color: #333333;
}
.booking-page .booking-tablet-layout .booking-tablet-aside .booking-tablet-aside-filter-host .aside-actions .aside-btn--primary[data-v-1fad8fe1] {
  border: 1px solid #08aaff;
  background: #08aaff;
  color: #ffffff;
}
.booking-page[data-v-1fad8fe1],
.booking-page .booking-tablet-layout[data-v-1fad8fe1] {
  background: transparent;
}
.booking-page .booking-tablet-main[data-v-1fad8fe1] {
  position: relative;
  margin: 15px 0;
  background-color: #f3f3f3;
  background-image: url("https://cdnfile-1340238457.cos.ap-guangzhou.myqcloud.com/newfiles/phone/page-bg.png");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% 426px;
}
.booking-page .booking-tablet-titlebar[data-v-1fad8fe1] {
  position: absolute;
  top: -38px;
  right: 0;
  left: 0;
  z-index: 4;
  display: flex;
  height: 44px;
  align-items: center;
  justify-content: center;
  background: transparent;
}
.booking-page .booking-tablet-titlebar h1[data-v-1fad8fe1] {
  margin: 0;
  color: #111111;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
}
.booking-page .booking-tablet-main-scroll[data-v-1fad8fe1] {
  position: relative;
  z-index: 1;
}
.booking-page .booking-tablet-main-scroll .booking-inner[data-v-1fad8fe1] {
  min-height: 100%;
  padding: 44px 15px 32px;
  font-size: 16px;
}
.booking-page .banner-section[data-v-1fad8fe1] {
  display: none;
}
.booking-page .booking-tablet-main-scroll .search-bar-wrap[data-v-1fad8fe1] {
  margin: 0;
  padding: 7px;
  border: 1px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: none;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.booking-page .booking-tablet-main-scroll .search-bar-wrap.is-sticky[data-v-1fad8fe1] {
  padding: 7px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 8px 20px rgba(74, 92, 150, 0.1);
}
.booking-page .booking-tablet-main-scroll .search-bar-wrap .search-bar[data-v-1fad8fe1] {
  height: 30px;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.booking-page .booking-tablet-main-scroll .search-bar-wrap .search-left[data-v-1fad8fe1] {
  height: 30px;
  padding: 0 12px;
  gap: 6px;
  border: 1px solid #f4f4f4;
  border-radius: 28px;
  background: #ffffff;
}
.booking-page .search-bar .search-icon[data-v-1fad8fe1] {
  width: 20px;
  height: 20px;
}
.booking-page .search-bar .search-input[data-v-1fad8fe1] {
  color: #000000;
  font-size: 13px;
}
.booking-page .search-bar .search-right[data-v-1fad8fe1] {
  width: auto;
  min-width: 0;
  height: 30px;
  padding: 0 16px;
  border-radius: 38px;
  background: #000000;
}
.booking-page .search-bar .filter-icon[data-v-1fad8fe1],
.booking-page .search-bar .search-divider[data-v-1fad8fe1] {
  display: none;
}
.booking-page .search-bar .filter-text[data-v-1fad8fe1] {
  color: #ffffff;
  font-size: 12px;
  font-weight: 400;
}
.booking-page .search-bar-bottom[data-v-1fad8fe1] {
  margin-top: 10px;
  padding: 0;
  gap: 5px;
  background: transparent;
}
.booking-page .search-bar-bottom-left[data-v-1fad8fe1] {
  flex-wrap: nowrap;
  gap: 5px;
  overflow: hidden;
}
.booking-page .nat-pill[data-v-1fad8fe1] {
  min-height: 28px;
  height: 28px;
  padding: 5px 8px;
  border: 0;
  border-radius: 8px;
  background: #f3f3f3;
}
.booking-page .nat-pill.active[data-v-1fad8fe1] {
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
}
.booking-page .nat-pill-text[data-v-1fad8fe1] {
  color: #333333;
  font-size: 12px;
}
.booking-page .nat-pill.active .nat-pill-text[data-v-1fad8fe1] {
  color: #ffffff;
}
.booking-page .search-bar-bottom-time[data-v-1fad8fe1] {
  flex: 0 0 38%;
  max-width: 38%;
  min-width: 0;
  min-height: 28px;
  height: 28px;
  padding: 0 0 0 2px;
  border: 1px solid #e8e8e8;
  border-radius: 6px;
  background: #ffffff;
}
.booking-page .search-bar-bottom-time-text[data-v-1fad8fe1] {
  padding-right: 24px;
  color: #333333;
  font-size: 12px;
  text-align: left;
}
.booking-page .booking-tablet-aside[data-v-1fad8fe1] {
  margin: 15px 15px 15px 0;
  border-radius: 0 15px 15px 0;
  background: #ffffff;
}
.booking-page .booking-tablet-aside-filter-host[data-v-1fad8fe1] {
  background: #f3f3f3;
}
.booking-page .booking-tablet-aside-filter-host .aside-header[data-v-1fad8fe1],
.booking-page .booking-tablet-aside-filter-host .aside-actions[data-v-1fad8fe1] {
  background: rgba(255, 255, 255, 0.7);
}
.booking-page .booking-tablet-aside-filter-host .filter-group[data-v-1fad8fe1] {
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
}

/* iPad 的显示顺序：扣卡次数 → 上课时段 → 课程类型 → 老师国籍 → 老师级别。 */
.booking-page .booking-tablet-aside-filter-host .filter-group[data-v-1fad8fe1]:nth-child(1) {
  order: 3;
}
.booking-page .booking-tablet-aside-filter-host .filter-group[data-v-1fad8fe1]:nth-child(2) {
  order: 2;
}
.booking-page .booking-tablet-aside-filter-host .filter-group[data-v-1fad8fe1]:nth-child(3) {
  order: 4;
}
.booking-page .booking-tablet-aside-filter-host .filter-group[data-v-1fad8fe1]:nth-child(4) {
  order: 5;
}
.booking-page .booking-tablet-aside-filter-host .filter-group[data-v-1fad8fe1]:nth-child(5) {
  order: 1;
}
.booking-page .booking-tablet-aside-filter-host .filter-option.active[data-v-1fad8fe1],
.booking-page .booking-tablet-aside-filter-host .time-slot-item.active[data-v-1fad8fe1],
.booking-page .booking-tablet-aside-filter-host .filter-time-box.active[data-v-1fad8fe1] {
  border-color: #d7dbff;
  background: #f4f5ff;
  color: #3d4df5;
}
.booking-page .booking-tablet-aside-filter-host .aside-btn--primary[data-v-1fad8fe1] {
  border: 0;
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
}
.booking-page .teacher-list[data-v-1fad8fe1] {
  gap: 14px;
}

/* iPad booking shell: keep the page height chain intact.  The title and
 * translucent filter card deliberately retain the same visual treatment as
 * the tablet source above; only the scrolling ownership lives here. */
.booking-page .booking-tablet-main[data-v-1fad8fe1] {
  display: flex;
  height: calc(100vh - 30px);
  max-height: calc(100vh - 30px);
  min-height: 0;
  flex-direction: column;
  isolation: isolate;
  background-color: #f3f3f3 !important;
  background-image: url("https://cdnfile-1340238457.cos.ap-guangzhou.myqcloud.com/newfiles/phone/page-bg.png") !important;
  background-position: top center !important;
  background-repeat: no-repeat !important;
  background-size: 100% 426px !important;
}
.booking-page .booking-tablet-main[data-v-1fad8fe1]::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: url("https://cdnfile-1340238457.cos.ap-guangzhou.myqcloud.com/newfiles/phone/page-bg.png") top center/100% 426px no-repeat;
  content: "";
  pointer-events: none;
}
.booking-page .booking-tablet-titlebar[data-v-1fad8fe1] {
  position: relative;
  top: auto;
  z-index: 4;
  height: 44px;
  flex: 0 0 44px;
}
.booking-page .booking-tablet-fixed-header[data-v-1fad8fe1] {
  position: relative;
  z-index: 3;
  flex: 0 0 auto;
  width: 100%;
}
.booking-page .booking-tablet-fixed-header.is-sticky[data-v-1fad8fe1] {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 4;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.5), rgba(233, 241, 255, 0.34));
  border-bottom: 1px solid rgba(255, 255, 255, 0.56);
  box-shadow: 0 8px 20px rgba(74, 92, 150, 0.1);
  backdrop-filter: blur(24px) saturate(145%);
  -webkit-backdrop-filter: blur(24px) saturate(145%);
}
.booking-page .booking-tablet-titlebar h1[data-v-1fad8fe1] {
  margin: 0;
  color: #111111;
  font-size: 16px;
  font-weight: 600;
  line-height: 44px;
}
.booking-page .booking-tablet-main-scroll[data-v-1fad8fe1] {
  position: relative;
  z-index: 1;
  height: 0;
  min-height: 0;
  flex: 1 1 0;
}
.booking-page .booking-tablet-main-scroll .booking-inner[data-v-1fad8fe1] {
  min-height: 100%;
  padding-bottom: 32px;
}

/* Same hierarchy as the iPad page: a non-scrolling filter layer followed by
   one flexible, scrolling teacher-result area. */
.booking-page .booking-tablet-top-layer[data-v-1fad8fe1] {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  padding: 0 15px 14px;
  box-sizing: border-box;
}
.booking-page .booking-tablet-top-layer .booking-inner[data-v-1fad8fe1] {
  width: 100%;
  padding: 0;
  box-sizing: border-box;
}
.booking-page .booking-tablet-top-layer .banner-section[data-v-1fad8fe1] {
  display: none;
}
.booking-page .booking-tablet-top-layer .search-bar-wrap[data-v-1fad8fe1] {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 7px;
  border: 1px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.booking-page .booking-tablet-top-layer .search-bar[data-v-1fad8fe1] {
  display: flex;
  align-items: center;
  height: 30px;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.booking-page .booking-tablet-top-layer .search-left[data-v-1fad8fe1] {
  display: flex;
  min-width: 0;
  flex: 1 1 0;
  align-items: center;
  height: 30px;
  padding: 0 12px;
  gap: 6px;
  border: 1px solid #f4f4f4;
  border-radius: 28px;
  background: #ffffff;
}
.booking-page .booking-tablet-top-layer .search-icon[data-v-1fad8fe1] {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
}
.booking-page .booking-tablet-top-layer .search-input[data-v-1fad8fe1] {
  width: 0;
  min-width: 0;
  flex: 1 1 0;
  border: 0;
  outline: 0;
  color: #000000;
  font-size: 13px;
  font-weight: 400;
}

/* 与平板端一致：清除仅显示 12px 的圆形图标，不保留浏览器按钮外框。 */
.booking-page .booking-tablet-top-layer .clear-btn[data-v-1fad8fe1] {
  display: flex;
  width: 12px;
  height: 12px;
  flex: 0 0 12px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0 !important;
  border-radius: 50%;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.booking-page .booking-tablet-top-layer .clear-btn .clear-icon[data-v-1fad8fe1] {
  display: block;
  width: 12px;
  height: 12px;
}
.booking-page .booking-tablet-top-layer .search-right[data-v-1fad8fe1] {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  height: 30px;
  margin-left: 7px;
  padding: 0 16px;
  gap: 5px;
  border: 0;
  border-radius: 38px;
  background: #000000;
  cursor: pointer;
}
.booking-page .booking-tablet-top-layer .search-divider[data-v-1fad8fe1],
.booking-page .booking-tablet-top-layer .filter-icon[data-v-1fad8fe1] {
  display: none;
}
.booking-page .booking-tablet-top-layer .filter-text[data-v-1fad8fe1] {
  color: #ffffff;
  font-size: 12px;
  font-weight: 400;
}

/* iPad「更多筛选」已选数量徽标：红色胶囊，不使用桌面端默认蓝色圆点。 */
.booking-page .booking-tablet-top-layer .search-right .filter-count-badge[data-v-1fad8fe1] {
  display: inline-flex;
  width: 16px;
  min-width: 16px;
  height: 16px;
  flex: 0 0 16px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 50%;
  background: #ff4d4f;
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  box-sizing: border-box;
}
.booking-page .booking-tablet-top-layer .search-bar-bottom[data-v-1fad8fe1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
  padding: 0;
  gap: 5px;
  border-radius: 0;
  background: transparent;
}
.booking-page .booking-tablet-top-layer .search-bar-bottom-left[data-v-1fad8fe1] {
  display: flex;
  min-width: 0;
  flex: 1 1 0;
  align-items: center;
  gap: 5px;
  overflow: hidden;
}
.booking-page .booking-tablet-top-layer .search-bar-bottom-time[data-v-1fad8fe1] {
  display: flex;
  min-width: 0;
  flex: 0 0 38%;
  align-items: stretch;
}
.booking-page .booking-tablet-top-layer .search-bar-bottom-time-inner[data-v-1fad8fe1] {
  position: relative;
  display: flex;
  min-width: 0;
  flex: 1 1 0;
  align-items: center;
  padding: 0 10px;
  border: 0;
  background: transparent;
}
.booking-page .booking-tablet-top-layer .search-bar-bottom-time-text[data-v-1fad8fe1] {
  min-width: 0;
  flex: 1 1 0;
  padding-right: 24px;
  overflow: hidden;
  color: #333333;
  font-size: 12px;
  line-height: 1;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.booking-page .booking-tablet-top-layer .search-bar-bottom-chevron[data-v-1fad8fe1] {
  position: absolute;
  right: 10px;
  top: 50%;
  width: 12px;
  height: 28px;
  margin: 0;
  color: #333333;
  font-size: 18px;
  line-height: 28px;
  text-align: center;
  transform: translateY(-50%);
}
.booking-page .booking-tablet-top-layer .search-bar-bottom-time-clear[data-v-1fad8fe1] {
  display: flex;
  flex: 0 0 18px;
  width: 18px;
  align-self: stretch;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #08aaff;
  cursor: pointer;
}
.booking-page .booking-tablet-top-layer .search-bar-bottom-time-clear-img[data-v-1fad8fe1] {
  display: block;
  width: 12px;
  height: 12px;
  object-fit: contain;
}
.booking-page .booking-tablet-main-scroll .booking-inner--teacher-list[data-v-1fad8fe1] {
  padding: 0 0 32px;
}
.booking-page .booking-tablet-main-scroll.has-sticky-filter .booking-inner--teacher-list[data-v-1fad8fe1] {
  padding-top: 138px;
}
.booking-page .booking-tablet-aside[data-v-1fad8fe1] {
  display: flex;
  height: calc(100vh - 30px);
  max-height: calc(100vh - 30px);
  min-height: 0;
  flex: 1 1 0;
  flex-direction: column;
  overflow: hidden;
}
.booking-page .booking-tablet-aside-filter-host[data-v-1fad8fe1],
.booking-page .booking-tablet-aside-schedule-host[data-v-1fad8fe1],
.booking-page .booking-tablet-aside-resume-host[data-v-1fad8fe1] {
  min-height: 0;
  flex: 1 1 0;
}
/* iPad 筛选面板：顶部操作栏 + 单一滚动内容列；不保留旧桌面端底部双按钮。 */
.booking-page .booking-tablet-aside-filter-host[data-v-1fad8fe1] {
  background: #f3f3f3;
}
.booking-page .booking-tablet-aside-filter-host .aside-header[data-v-1fad8fe1] {
  position: relative;
  height: 58px;
  min-height: 58px;
  padding: 0 18px;
  border: 0;
  background: transparent;
}
.booking-page .booking-tablet-aside-filter-host .aside-header h2[data-v-1fad8fe1] {
  position: absolute;
  left: 50%;
  margin: 0;
  transform: translateX(-50%);
  color: #111;
  font-size: 16px;
  font-weight: 600;
  line-height: 20px;
  white-space: nowrap;
  pointer-events: none;
}
.booking-page .booking-tablet-aside-filter-host .aside-header-btn[data-v-1fad8fe1] {
  position: relative;
  z-index: 1;
  display: flex;
  width: 58px;
  height: 28px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
  color: #fff;
  font-size: 13px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
}
.booking-page .booking-tablet-aside-filter-host .aside-body[data-v-1fad8fe1] {
  height: 0;
  flex: 1 1 0;
  min-height: 0;
}
.booking-page .booking-tablet-aside-filter-host .aside-body-inner[data-v-1fad8fe1] {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 0 15px 24px;
  box-sizing: border-box;
}
.booking-page .booking-tablet-aside-filter-host .filter-group[data-v-1fad8fe1] {
  width: 100%;
  margin: 0;
  padding: 14px;
  border: 1px solid #fff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
}
.booking-page .booking-tablet-aside-filter-host .filter-group-header[data-v-1fad8fe1] {
  min-height: 22px;
  margin-bottom: 10px;
}
.booking-page .booking-tablet-aside-filter-host .filter-group-header h3[data-v-1fad8fe1] {
  color: #000;
  font-size: 16px;
  font-weight: 700;
  line-height: 22px;
}
.booking-page .booking-tablet-aside-filter-host .filter-options[data-v-1fad8fe1] {
  gap: 7px;
}

/* 课程类型是 iPad 的三列图文卡，而不是旧桌面端的小胶囊。 */
.booking-page .booking-tablet-aside-filter-host .filter-group:nth-child(1) .filter-option[data-v-1fad8fe1] {
  width: calc((100% - 14px) / 3);
  height: 70px;
  min-height: 70px;
  padding: 0;
  flex: 0 0 calc((100% - 14px) / 3);
  flex-direction: column;
  justify-content: center;
  gap: 2px;
}
.booking-page .booking-tablet-aside-filter-host .filter-group:nth-child(1) .filter-option-icon[data-v-1fad8fe1] {
  width: 32px;
  height: 32px;
  margin: 0;
}
.booking-page .booking-tablet-aside-filter-host .filter-group:nth-child(1) .filter-option span[data-v-1fad8fe1] {
  font-size: 12px;
  line-height: 1.2;
}

/* 筛选项默认、选中与键盘聚焦状态均与 iPad 保持同一紫色体系。 */
.booking-page .booking-tablet-aside-filter-host .filter-option[data-v-1fad8fe1] {
  height: 36px;
  padding: 0 8px;
  border: 1px solid #d7dbff !important;
  border-radius: 10px;
  outline: 0;
  background: #f4f5ff !important;
  box-shadow: none !important;
  color: #333 !important;
}
.booking-page .booking-tablet-aside-filter-host .filter-option[data-v-1fad8fe1]:hover,
.booking-page .booking-tablet-aside-filter-host .filter-option[data-v-1fad8fe1]:focus,
.booking-page .booking-tablet-aside-filter-host .filter-option[data-v-1fad8fe1]:focus-visible {
  outline: 0;
  background: #f4f5ff !important;
  box-shadow: none !important;
}
.booking-page .booking-tablet-aside-filter-host .filter-option.active[data-v-1fad8fe1],
.booking-page .booking-tablet-aside-filter-host .filter-option.active[data-v-1fad8fe1]:hover,
.booking-page .booking-tablet-aside-filter-host .filter-option.active[data-v-1fad8fe1]:focus,
.booking-page .booking-tablet-aside-filter-host .filter-option.active[data-v-1fad8fe1]:focus-visible {
  border-color: #3d4df5 !important;
  outline: 0;
  background: #e0e4ff !important;
  box-shadow: none !important;
  color: #3d4df5 !important;
}
.booking-page .booking-tablet-aside-filter-host .filter-option.active span[data-v-1fad8fe1] {
  color: #3d4df5 !important;
}
.booking-page .booking-tablet-aside-filter-host .filter-time-box[data-v-1fad8fe1],
.booking-page .booking-tablet-aside-filter-host .time-slot-item[data-v-1fad8fe1] {
  border-color: #d7dbff !important;
  outline: 0;
  background: #f4f5ff !important;
  box-shadow: none !important;
}
.booking-page .booking-tablet-aside-filter-host .filter-time-box.active[data-v-1fad8fe1],
.booking-page .booking-tablet-aside-filter-host .time-slot-item.active[data-v-1fad8fe1] {
  border-color: #3d4df5 !important;
  background: #e0e4ff !important;
  box-shadow: none !important;
}
.booking-page .booking-tablet-aside-filter-host .filter-time-box.active strong[data-v-1fad8fe1],
.booking-page .booking-tablet-aside-filter-host .time-slot-item.active .time-slot-label-primary[data-v-1fad8fe1],
.booking-page .booking-tablet-aside-filter-host .time-slot-item.active .time-slot-label-secondary[data-v-1fad8fe1] {
  color: #3d4df5 !important;
}
.booking-page .booking-tablet-aside-filter-host .filter-time-grid[data-v-1fad8fe1] {
  gap: 10px;
  padding: 14px;
  border: 1px solid #d7dbff;
  border-radius: 10px;
  background: #f4f5ff;
}
.booking-page .booking-tablet-aside-filter-host .time-slot-grid[data-v-1fad8fe1] {
  gap: 7px;
  margin-top: 10px;
  padding: 14px;
  border: 1px solid #d7dbff;
  border-radius: 10px;
  background: #f4f5ff;
}.booking-picker-overlay {
  background: rgba(0, 0, 0, 0.5) !important;
}
.booking-picker-overlay .global-overlay__panel.picker-panel {
  width: 520px;
  max-width: calc(100vw - 40px);
  border: 0;
  border-radius: 14px;
  box-shadow: none;
}
.booking-picker-overlay .global-overlay__panel.picker-panel--date {
  width: min(340px, 100vw - 32px) !important;
  max-width: calc(100vw - 32px);
  overflow: hidden;
  background: #ffffff;
  box-sizing: border-box;
}
.booking-picker-overlay .global-overlay__panel.picker-panel--date .global-overlay__body,
.booking-picker-overlay .global-overlay__panel.picker-panel--date .date-panel,
.booking-picker-overlay .global-overlay__panel.picker-panel--date .n-date-picker {
  width: 100% !important;
  box-sizing: border-box;
}
.booking-picker-overlay .global-overlay__panel.picker-panel--date .date-panel,
.booking-picker-overlay .global-overlay__panel.picker-panel--date .n-date-panel {
  background: #ffffff;
}
.booking-picker-overlay .global-overlay__panel.picker-panel--date .n-date-picker {
  justify-content: center;
}
.booking-picker-overlay .global-overlay__panel.picker-panel--date .n-date-panel,
.booking-picker-overlay .global-overlay__panel.picker-panel--date .n-date-panel-calendar {
  width: fit-content !important;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.booking-picker-overlay .global-overlay__header {
  min-height: 68px;
  padding: 10px 18px 8px;
  border-bottom: 0;
}
.booking-picker-overlay .picker-panel__header {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
}
.booking-picker-overlay .picker-panel__title {
  color: #111111;
  font-size: 20px;
  font-weight: 600;
  line-height: 28px;
}
.booking-picker-overlay .picker-panel__subtitle {
  margin-top: 6px;
  color: #999999;
  font-size: 15px;
  line-height: 20px;
}
.booking-picker-overlay .global-overlay__actions {
  gap: 14px;
  padding: 12px 18px 14px;
  border-top: 0;
}
.booking-picker-overlay .global-overlay__btn {
  height: 40px;
  border-radius: 18px;
  font-size: 16px;
  font-weight: 700;
}
.booking-picker-overlay .global-overlay__btn--cancel {
  border: 1px solid #d7dbff !important;
  background: #ffffff !important;
  color: #3d4df5 !important;
}
.booking-picker-overlay .global-overlay__btn--confirm {
  border: 0 !important;
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%) !important;
  color: #ffffff !important;
}
.booking-picker-overlay .date-panel {
  padding: 14px 16px 18px;
  box-sizing: border-box;
}
.booking-picker-overlay .date-panel .n-date-picker {
  display: flex;
  width: 100%;
  justify-content: center;
}
.booking-picker-overlay .date-panel .n-date-panel {
  --n-item-size: 32px !important;
  --n-item-cell-width: 38px !important;
  --n-item-cell-height: 38px !important;
  --n-item-border-radius: 6px !important;
  --n-item-color-active: #3d4df5 !important;
  --n-item-color-hover: rgba(61, 77, 245, 0.12) !important;
  --n-item-text-color-active: #ffffff !important;
  --n-arrow-color: #3d4df5 !important;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.booking-picker-overlay .date-panel .n-date-panel-calendar {
  padding: 0;
}
.booking-picker-overlay .date-panel .n-date-panel-month {
  height: 40px;
  margin-bottom: 8px;
}
.booking-picker-overlay .date-panel .n-date-panel-month__prev,
.booking-picker-overlay .date-panel .n-date-panel-month__next,
.booking-picker-overlay .date-panel .n-date-panel-month__fast-prev,
.booking-picker-overlay .date-panel .n-date-panel-month__fast-next {
  color: #1890ff;
}
.booking-picker-overlay .date-panel .n-date-panel-weekdays {
  height: 32px;
  border-bottom: 0;
}
.booking-picker-overlay .date-panel .n-date-panel-weekdays__day {
  color: #999999;
  font-size: 13px;
}
.booking-picker-overlay .date-panel .n-date-panel-dates {
  row-gap: 6px;
}
.booking-picker-overlay .booking-cal-time-block {
  position: relative;
  margin-top: 14px;
  padding: 0 2px;
}
.booking-picker-overlay .booking-cal-time-row {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.booking-picker-overlay .booking-cal-time-label {
  color: #000;
  font-size: 20px;
  font-weight: 600;
}
.booking-picker-overlay .booking-cal-time-pill {
  min-width: 88px;
  padding: 8px 16px;
  border-radius: 8px;
  background: rgba(118, 118, 128, 0.12);
  color: #333;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.booking-picker-overlay .picker-options {
  flex: 1;
  min-height: 0;
  max-height: 486px;
  box-sizing: border-box;
}
.booking-picker-overlay .picker-options .picker-options-inner {
  padding: 14px 18px 28px;
  box-sizing: border-box;
}
.booking-picker-overlay .picker-options .n-scrollbar-rail {
  right: 4px;
  width: 4px;
}
.booking-picker-overlay .picker-options .n-scrollbar-rail__scrollbar {
  width: 4px;
  border-radius: 999px;
  background: #d5d5d5;
}
.booking-picker-overlay .picker-options .picker-grid {
  display: grid;
  gap: 10px;
}
.booking-picker-overlay .picker-options .picker-option {
  appearance: none;
  min-width: 0;
  height: 44px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: #f7f8fa;
  color: #333333;
  font-size: 14px;
  cursor: pointer;
  outline: none;
}
.booking-picker-overlay .picker-options .picker-option.active {
  border-color: #1890ff;
  background: #edf8ff;
  color: #1890ff;
  font-weight: 500;
}
.booking-picker-overlay .picker-options--time .picker-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.booking-picker-overlay .global-overlay__panel.picker-panel--time {
  width: 720px;
  max-width: calc(100vw - 48px);
}
.nat-pill--special.active {
  background: #08AAFF;
  color: #fff;
}
.nat-pill--special.active .nat-pill-text {
  color: #fff;
}.global-overlay.course-message-overlay {
  position: fixed !important;
  inset: 0 !important;
  display: flex !important;
  width: 100vw !important;
  height: 100vh !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding: 0 !important;
  box-sizing: border-box;
}
.global-overlay.course-message-overlay > .global-overlay__panel.course-message-panel {
  display: flex !important;
  flex-direction: column !important;
  width: min(600px, 100vw - 40px) !important;
  max-width: 600px !important;
  height: min(780px, 100vh - 48px) !important;
  max-height: calc(100vh - 48px) !important;
  margin: 24px 20px 24px auto !important;
  border: 2px solid #ffffff !important;
  border-radius: 20px !important;
  background: #f3f3f3 !important;
  box-shadow: -10px 14px 42px rgba(27, 35, 54, 0.24) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.global-overlay.course-message-overlay > .global-overlay__panel.course-message-panel > .global-overlay__body {
  display: flex !important;
  flex: 1 1 0 !important;
  min-height: 0 !important;
  height: 0 !important;
}
.global-overlay .global-overlay__panel.course-message-panel.global-overlay-panel-enter-active {
  transition: opacity 0.26s ease, transform 0.26s cubic-bezier(0.22, 0.8, 0.2, 1) !important;
}
.global-overlay .global-overlay__panel.course-message-panel.global-overlay-panel-leave-active {
  transition: opacity 0.2s ease, transform 0.2s ease !important;
}
.global-overlay .global-overlay__panel.course-message-panel.global-overlay-panel-enter-from,
.global-overlay .global-overlay__panel.course-message-panel.global-overlay-panel-leave-to {
  opacity: 0 !important;
  transform: translateX(24px) !important;
}
.global-overlay .course-message-dialog {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  padding: 24px 20px 20px;
  background: #f3f3f3;
  box-sizing: border-box;
}
.global-overlay .course-message-dialog > header {
  position: relative;
  display: flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
}
.global-overlay .course-message-dialog > header h2 {
  margin: 0;
  color: #111111;
  font-size: 18px;
  font-weight: 500;
}
.global-overlay .course-message-dialog > header button {
  position: absolute;
  top: 0;
  right: 0;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: #f3f5f7;
  color: #333333;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.global-overlay .course-message-dialog > section {
  position: relative;
  margin-top: 20px;
}
.global-overlay .course-message-dialog > section textarea {
  display: block;
  width: 100%;
  height: 200px;
  padding: 16px;
  border: 2px solid #ffffff;
  border-radius: 12px;
  outline: none;
  resize: none;
  background: rgba(255, 255, 255, 0.72);
  color: #111111;
  font-size: 15px;
  line-height: 1.6;
  box-sizing: border-box;
}
.global-overlay .course-message-dialog > section textarea:focus {
  border-color: #bfc5ff;
  background: #ffffff;
}
.global-overlay .course-message-dialog > section textarea::placeholder {
  color: #b8b8b8;
}
.global-overlay .course-message-dialog > section .message-counter {
  position: absolute;
  right: 16px;
  bottom: 14px;
  color: #9aa0aa;
  font-size: 13px;
}
.global-overlay .course-message-dialog .message-hint-box {
  margin: 16px 0 0;
  padding: 16px;
  border: 2px solid #ffffff;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
}
.global-overlay .course-message-dialog .message-hint-box strong {
  display: block;
  margin-bottom: 8px;
  color: #111111;
  font-size: 15px;
  font-weight: 600;
}
.global-overlay .course-message-dialog .message-hint-box p {
  margin: 0;
  color: #6f7684;
  font-size: 14px;
  line-height: 1.55;
}
.global-overlay .course-message-dialog > footer {
  display: flex;
  gap: 12px;
  margin-top: auto;
  padding-top: 20px;
}
.global-overlay .course-message-dialog > footer button {
  flex: 1;
  height: 44px;
  border: 0;
  border-radius: 22px;
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
  color: #ffffff;
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
  box-shadow: 0 8px 22px rgba(61, 77, 245, 0.2);
}
.global-overlay .course-message-dialog > footer button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.global-overlay .course-message-dialog > footer button.ghost {
  border: 1px solid #d7dbff;
  background: #ffffff;
  color: #3d4df5;
  box-shadow: none;
}.global-overlay.course-feedback-overlay {
  position: fixed !important;
  inset: 0 !important;
  display: flex !important;
  width: 100vw !important;
  height: 100vh !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding: 0 !important;
  box-sizing: border-box;
}
.global-overlay.course-feedback-overlay .global-overlay__panel.course-feedback-panel.global-overlay-panel-enter-from,
.global-overlay.course-feedback-overlay .global-overlay__panel.course-feedback-panel.global-overlay-panel-leave-to {
  opacity: 0 !important;
  transform: translateX(24px) !important;
}
.global-overlay.course-feedback-overlay .global-overlay__panel.course-feedback-panel.global-overlay-panel-enter-active,
.global-overlay.course-feedback-overlay .global-overlay__panel.course-feedback-panel.global-overlay-panel-leave-active {
  transition: opacity 0.26s ease, transform 0.26s cubic-bezier(0.22, 0.8, 0.2, 1) !important;
}
.global-overlay.course-feedback-overlay > .global-overlay__panel.course-feedback-panel {
  display: flex !important;
  flex-direction: column !important;
  width: min(600px, 100vw - 40px) !important;
  max-width: 600px !important;
  height: min(780px, 100vh - 48px) !important;
  max-height: calc(100vh - 48px) !important;
  margin: 24px 20px 24px auto !important;
  border: 2px solid #ffffff !important;
  border-radius: 20px !important;
  background: #f3f3f3 !important;
  box-shadow: -10px 14px 42px rgba(27, 35, 54, 0.24) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.global-overlay.course-feedback-overlay > .global-overlay__panel.course-feedback-panel > .global-overlay__body {
  display: flex !important;
  flex: 1 1 0 !important;
  flex-direction: column !important;
  height: 0 !important;
  min-height: 0 !important;
}
.global-overlay .course-feedback-dialog {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 20px;
  box-sizing: border-box;
  background: #f3f3f3;
}
.global-overlay .course-feedback-dialog .feedback-header {
  position: relative;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0;
  box-sizing: border-box;
}
.global-overlay .course-feedback-dialog .feedback-back,
.global-overlay .course-feedback-dialog .feedback-header-placeholder {
  width: 48px;
  height: 34px;
}
.global-overlay .course-feedback-dialog .feedback-back {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border: 0;
  background: transparent;
  cursor: pointer;
  padding: 0;
  color: #3d4df5;
  font-size: 15px;
  line-height: 34px;
}
.global-overlay .course-feedback-dialog .feedback-title {
  flex: 1;
  margin: 0;
  color: #111111;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
}
.global-overlay .course-feedback-dialog .feedback-body-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 20px 0 12px;
  box-sizing: border-box;
  background: transparent;
  scrollbar-width: none;
}
.global-overlay .course-feedback-dialog .feedback-body-scroll::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.global-overlay .course-feedback-dialog .feedback-loading {
  padding: 80px 0;
  color: #999999;
  font-size: 14px;
  text-align: center;
}
.global-overlay .course-feedback-dialog .feedback-course-header {
  padding: 16px;
  margin-bottom: 14px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.72);
}
.global-overlay .course-feedback-dialog .feedback-course-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.global-overlay .course-feedback-dialog .feedback-teacher-avatar {
  width: 70px;
  height: 70px;
  flex-shrink: 0;
  border-radius: 12px;
  object-fit: cover;
  background: #f3f3f3;
}
.global-overlay .course-feedback-dialog .feedback-course-meta {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 2px;
}
.global-overlay .course-feedback-dialog .feedback-course-title {
  color: #111111;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.25;
}
.global-overlay .course-feedback-dialog .feedback-course-time {
  color: #8398ac;
  font-size: 12px;
  font-weight: normal;
  line-height: 1.4;
}
.global-overlay .course-feedback-dialog .feedback-course-duration {
  color: #08aaff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}
.global-overlay .course-feedback-dialog .feedback-section-card {
  margin-bottom: 14px;
  padding: 16px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.72);
}
.global-overlay .course-feedback-dialog .feedback-section-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.global-overlay .course-feedback-dialog .feedback-section-icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.global-overlay .course-feedback-dialog .feedback-section-title {
  margin: 0;
  color: #333333;
  font-size: 16px;
  font-weight: 500;
}
.global-overlay .course-feedback-dialog .feedback-empty-block {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 0 10px;
}
.global-overlay .course-feedback-dialog .feedback-empty-block img {
  width: 160px;
  height: auto;
  object-fit: contain;
}
.global-overlay .course-feedback-dialog .feedback-courseware-list {
  padding: 8px 16px;
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: 10px;
  background: rgba(248, 250, 253, 0.9);
}
.global-overlay .course-feedback-dialog .feedback-courseware-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 12px 0;
  border: 0;
  border-top: 1px solid #ebebeb;
  background: transparent;
  cursor: pointer;
  box-sizing: border-box;
}
.global-overlay .course-feedback-dialog .feedback-courseware-item:first-child {
  border-top: none;
}
.global-overlay .course-feedback-dialog .feedback-courseware-left {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}
.global-overlay .course-feedback-dialog .feedback-courseware-file-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  object-fit: contain;
}
.global-overlay .course-feedback-dialog .feedback-courseware-name {
  overflow: hidden;
  color: #333333;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.global-overlay .course-feedback-dialog .feedback-courseware-action {
  color: #00a6ce;
  font-size: 14px;
  white-space: nowrap;
}
.global-overlay .course-feedback-dialog .feedback-content-block {
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: 10px;
  background: rgba(248, 250, 253, 0.9);
}
.global-overlay .course-feedback-dialog .feedback-content-text {
  margin: 0 0 8px;
  color: #333333;
  font-size: 14px;
  line-height: 1.8;
  white-space: pre-wrap;
  word-break: break-word;
}
.global-overlay .course-feedback-dialog .feedback-content-text:last-child {
  margin-bottom: 0;
}
.global-overlay .course-feedback-dialog .feedback-bottom-bar {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  height: 54px;
  padding: 0;
  box-sizing: border-box;
  background: transparent;
}
.global-overlay .course-feedback-dialog .feedback-primary-btn {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  height: 42px;
  margin: 0;
  border: 0;
  border-radius: 22px;
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
  color: #ffffff;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
}
.global-overlay .course-feedback-dialog .feedback-primary-btn:hover {
  background: linear-gradient(90deg, #3444e8 0%, #ae54ed 100%);
}.profile-complaint-pane[data-v-ab1754e8] {
  display: flex;
  flex: 1 1 0%;
  min-height: 0;
  flex-direction: column;
  padding: 0 20px 12px;
  background: #f3f3f3;
  box-sizing: border-box;
}
.profile-complaint-header[data-v-ab1754e8] {
  flex-shrink: 0;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 52px;
}
.profile-complaint-header h2[data-v-ab1754e8] {
  margin: 0;
  color: #111111;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
}
.profile-my-complaints-link[data-v-ab1754e8] {
  border: 0;
  padding: 0;
  color: #3d4df5;
  background: transparent;
  font-size: 14px;
  line-height: 22px;
  cursor: pointer;
}
.profile-my-complaints-link[data-v-ab1754e8]:hover,
.profile-my-complaints-link[data-v-ab1754e8]:active {
  color: #3d4df5;
  background: transparent;
  opacity: 1;
}
.profile-complaint-scroll[data-v-ab1754e8] {
  flex: 1;
  min-height: 0;
}
.cs-section[data-v-ab1754e8] {
  margin-top: 14px;
  padding: 14px 12px 16px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
}
.cs-section[data-v-ab1754e8]:first-child {
  margin-top: 0;
}
.cs-section-title-row[data-v-ab1754e8] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.cs-section-title[data-v-ab1754e8] {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 22px;
  color: #333333;
}
.cs-section-desc[data-v-ab1754e8] {
  margin: 6px 0 0;
  font-size: 14px;
  line-height: 22px;
  color: #777777;
}
.cs-required[data-v-ab1754e8] {
  color: #ff4d4f;
  margin-right: 4px;
}
.cs-course-select[data-v-ab1754e8] {
  width: 100%;
  height: 48px;
  margin-top: 10px;
  padding: 0 14px;
  border: 1px solid #d7dbff;
  border-radius: 10px;
  outline: none;
  color: #333;
  background: #f4f5ff;
  font-size: 14px;
}
.cs-course-select[data-v-ab1754e8]:disabled {
  color: #999;
}
.cs-type-card[data-v-ab1754e8] {
  margin-top: 10px;
  padding: 20px 14px;
  border: 1px solid #d7dbff;
  background: #f4f5ff;
  border-radius: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  box-sizing: border-box;
}
.cs-type-chip[data-v-ab1754e8] {
  display: flex;
  width: calc((100% - 20px) / 3);
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 12px;
  border: 1px solid #d9d9d9;
  border-radius: 50px;
  background: #fff;
  cursor: pointer;
  box-sizing: border-box;
}
.cs-type-chip.active[data-v-ab1754e8] {
  border-color: #3d4df5;
  background: #e0e4ff;
}
.cs-type-icon[data-v-ab1754e8] {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}
.cs-type-text[data-v-ab1754e8] {
  font-size: 13px;
  font-weight: 500;
  color: #333;
  white-space: nowrap;
}
.cs-type-chip.active .cs-type-text[data-v-ab1754e8] {
  color: #3d4df5;
}
.cs-textarea-wrap[data-v-ab1754e8] {
  position: relative;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #d7dbff;
  background: #f4f5ff;
  border-radius: 10px;
  box-sizing: border-box;
}
.cs-textarea[data-v-ab1754e8] {
  display: block;
  width: 100%;
  height: 140px;
  border: 0;
  outline: none;
  resize: none;
  background: transparent;
  font-size: 14px;
  line-height: 1.6;
  color: #333;
  box-sizing: border-box;
}
.cs-count[data-v-ab1754e8] {
  position: absolute;
  right: 12px;
  bottom: 8px;
  font-size: 12px;
  color: #9a9ea6;
}
.cs-input-wrap[data-v-ab1754e8] {
  margin-top: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  height: 48px;
  padding: 0 12px;
  border: 1px solid #d7dbff;
  background: #f4f5ff;
  border-radius: 10px;
  box-sizing: border-box;
}
.cs-input-icon[data-v-ab1754e8] {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.cs-input[data-v-ab1754e8] {
  flex: 1;
  min-width: 0;
  height: 100%;
  border: 0;
  outline: none;
  background: transparent;
  font-size: 14px;
  color: #333;
}
.cs-bottom-bar[data-v-ab1754e8] {
  flex-shrink: 0;
  padding: 16px 0 8px;
}
.cs-submit-btn[data-v-ab1754e8] {
  width: 100%;
  height: 44px;
  border: 0;
  border-radius: 22px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}
.cs-submit-btn.loading[data-v-ab1754e8] {
  opacity: 0.7;
}
.cs-submit-btn.disabled[data-v-ab1754e8]:not(.loading) {
  background: #e0e0e0;
  color: #999;
  cursor: default;
}.profile-my-complaints-pane[data-v-41e09006] {
  display: flex;
  flex: 1 1 0%;
  min-height: 0;
  flex-direction: column;
  background: #f3f3f3;
}
.profile-my-complaints-header[data-v-41e09006] {
  flex: 0 0 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  background: transparent;
}
.profile-my-complaints-header h2[data-v-41e09006] {
  margin: 0;
  color: #20243a;
  font-size: 18px;
  font-weight: 600;
}
.profile-my-complaints-back[data-v-41e09006], .profile-my-complaints-header-spacer[data-v-41e09006] {
  width: 32px;
}
.profile-my-complaints-back[data-v-41e09006] {
  border: 0;
  padding: 0;
  color: #222;
  background: transparent;
  font-size: 34px;
  line-height: 34px;
  cursor: pointer;
}
.profile-my-complaints-scroll[data-v-41e09006] {
  flex: 1;
  min-height: 0;
}
.profile-my-complaints-list[data-v-41e09006] {
  padding: 16px 24px;
}
.complaint-card[data-v-41e09006] {
  margin-bottom: 14px;
  padding: 18px 20px 16px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(50, 75, 100, 0.06);
}
.complaint-card-header[data-v-41e09006] {
  display: flex;
  align-items: center;
  gap: 16px;
}
.complaint-card-header strong[data-v-41e09006] {
  flex-shrink: 0;
  color: #111;
  font-size: 18px;
  line-height: 26px;
}
.complaint-time[data-v-41e09006] {
  min-width: 0;
  flex: 1;
  color: #555;
  font-size: 14px;
  white-space: nowrap;
}
.complaint-status[data-v-41e09006] {
  flex-shrink: 0;
  padding: 6px 16px;
  border-radius: 999px;
  color: #fff;
  font-size: 14px;
  line-height: 20px;
}
.complaint-status.is-pending[data-v-41e09006] {
  background: #ff8614;
}
.complaint-status.is-confirmed[data-v-41e09006] {
  background: #16b968;
}
.complaint-status.is-rejected[data-v-41e09006] {
  background: #999;
}
.complaint-divider[data-v-41e09006] {
  height: 1px;
  margin: 16px 0;
  background: #e5e5e5;
}
.complaint-content[data-v-41e09006] {
  margin: 0;
  color: #111;
  font-size: 15px;
  line-height: 26px;
}
.complaint-reply[data-v-41e09006], .complaint-reject-reason[data-v-41e09006] {
  margin-top: 14px;
  padding: 12px 16px;
  border-radius: 14px;
  font-size: 14px;
  line-height: 22px;
}
.complaint-reply[data-v-41e09006] {
  color: #159448;
  background: #e9faef;
}
.complaint-reject-reason[data-v-41e09006] {
  color: #d9534f;
  background: #fff3f1;
}
.complaint-footer[data-v-41e09006], .profile-my-complaints-state[data-v-41e09006] {
  color: #999;
  text-align: center;
  font-size: 12px;
  line-height: 18px;
}
.complaint-footer[data-v-41e09006] {
  padding: 0 0 24px;
}
.profile-my-complaints-state[data-v-41e09006] {
  display: flex;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.profile-my-complaints-state img[data-v-41e09006] {
  width: 180px;
  margin-bottom: 12px;
}.global-overlay.course-complaint-overlay {
  position: fixed !important;
  inset: 0 !important;
  display: flex !important;
  width: 100vw !important;
  height: 100vh !important;
  justify-content: flex-end !important;
  align-items: center !important;
  padding: 0 !important;
  box-sizing: border-box;
}
.global-overlay.course-complaint-overlay .global-overlay__panel.course-complaint-panel.global-overlay-panel-enter-from,
.global-overlay.course-complaint-overlay .global-overlay__panel.course-complaint-panel.global-overlay-panel-leave-to {
  opacity: 0 !important;
  transform: translateX(24px) !important;
}
.global-overlay.course-complaint-overlay .global-overlay__panel.course-complaint-panel.global-overlay-panel-enter-active,
.global-overlay.course-complaint-overlay .global-overlay__panel.course-complaint-panel.global-overlay-panel-leave-active {
  transition: opacity 0.26s ease, transform 0.26s cubic-bezier(0.22, 0.8, 0.2, 1) !important;
}
.global-overlay.course-complaint-overlay > .global-overlay__panel.course-complaint-panel {
  display: flex !important;
  flex-direction: column !important;
  width: min(600px, 100vw - 40px) !important;
  max-width: 600px !important;
  height: min(780px, 100vh - 48px) !important;
  max-height: calc(100vh - 48px) !important;
  margin: 24px 20px 24px auto !important;
  border: 2px solid #ffffff !important;
  border-radius: 20px !important;
  background: #f3f3f3 !important;
  box-shadow: -10px 14px 42px rgba(27, 35, 54, 0.24) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.global-overlay.course-complaint-overlay > .global-overlay__panel.course-complaint-panel > .global-overlay__body {
  display: flex !important;
  flex: 1 1 0 !important;
  flex-direction: column !important;
  height: 0 !important;
  min-height: 0 !important;
}
.global-overlay .course-complaint-dialog {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  background: #f3f3f3;
  box-sizing: border-box;
}
.global-overlay .course-complaint-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: #f3f5f7;
  color: #333333;
  font-size: 22px;
  cursor: pointer;
}.global-overlay.course-evaluate-overlay {
  position: fixed !important;
  inset: 0 !important;
  display: flex !important;
  width: 100vw !important;
  height: 100vh !important;
  justify-content: flex-end !important;
  align-items: center !important;
  padding: 0 !important;
  box-sizing: border-box;
}
.global-overlay.course-evaluate-overlay .global-overlay__panel.course-evaluate-panel.global-overlay-panel-enter-from,
.global-overlay.course-evaluate-overlay .global-overlay__panel.course-evaluate-panel.global-overlay-panel-leave-to {
  opacity: 0 !important;
  transform: translateX(24px) !important;
}
.global-overlay.course-evaluate-overlay .global-overlay__panel.course-evaluate-panel.global-overlay-panel-enter-active,
.global-overlay.course-evaluate-overlay .global-overlay__panel.course-evaluate-panel.global-overlay-panel-leave-active {
  transition: opacity 0.26s ease, transform 0.26s cubic-bezier(0.22, 0.8, 0.2, 1) !important;
}
.global-overlay.course-evaluate-overlay > .global-overlay__panel.course-evaluate-panel {
  display: flex !important;
  flex-direction: column !important;
  width: min(600px, 100vw - 40px) !important;
  max-width: 600px !important;
  height: min(780px, 100vh - 48px) !important;
  max-height: calc(100vh - 48px) !important;
  margin: 24px 20px 24px auto !important;
  border: 2px solid #ffffff !important;
  border-radius: 20px !important;
  background: #f3f3f3 !important;
  box-shadow: -10px 14px 42px rgba(27, 35, 54, 0.24) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.global-overlay.course-evaluate-overlay > .global-overlay__panel.course-evaluate-panel > .global-overlay__body {
  display: flex !important;
  flex: 1 1 0 !important;
  flex-direction: column !important;
  height: 0 !important;
  min-height: 0 !important;
}
.global-overlay .course-evaluate-dialog {
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
  padding: 24px 20px 20px;
  background: #f3f3f3;
}
.global-overlay .course-evaluate-dialog header {
  position: relative;
  display: flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
}
.global-overlay .course-evaluate-dialog header h2 {
  margin: 0;
  color: #111111;
  font-size: 18px;
  font-weight: 500;
}
.global-overlay .course-evaluate-dialog header button {
  position: absolute;
  top: 0;
  right: 0;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: #f3f5f7;
  color: #333333;
  font-size: 22px;
  cursor: pointer;
}
.global-overlay .course-evaluate-dialog .evaluate-body-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 20px 0 0;
}
.global-overlay .course-evaluate-dialog .evaluate-dim-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.global-overlay .course-evaluate-dialog .evaluate-dim-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border: 2px solid #ffffff;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
  box-sizing: border-box;
}
.global-overlay .course-evaluate-dialog .evaluate-dim-row .evaluate-dim-left {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  width: 120px;
}
.global-overlay .course-evaluate-dialog .evaluate-dim-row .evaluate-dim-left .evaluate-dim-icon {
  width: 24px;
  height: 24px;
  object-fit: contain;
}
.global-overlay .course-evaluate-dialog .evaluate-dim-row .evaluate-dim-left .evaluate-dim-name {
  color: #333333;
  font-size: 15px;
  font-weight: 600;
}
.global-overlay .course-evaluate-dialog .evaluate-dim-row .evaluate-stars {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 1;
  justify-content: center;
}
.global-overlay .course-evaluate-dialog .evaluate-dim-row .evaluate-stars .evaluate-star-btn {
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  outline: none;
}
.global-overlay .course-evaluate-dialog .evaluate-dim-row .evaluate-stars .evaluate-star-btn .evaluate-star-icon {
  color: #d9d9d9;
  font-size: 26px;
  transition: color 0.2s;
}
.global-overlay .course-evaluate-dialog .evaluate-dim-row .evaluate-stars .evaluate-star-btn .evaluate-star-icon.active {
  color: #ffac47;
}
.global-overlay .course-evaluate-dialog .evaluate-dim-row .evaluate-score-text {
  width: 60px;
  text-align: right;
  color: #888888;
  font-size: 14px;
  font-weight: 500;
}
.global-overlay .course-evaluate-dialog .evaluate-comment-section {
  margin-top: 16px;
}
.global-overlay .course-evaluate-dialog .evaluate-comment-section .evaluate-comment-title {
  margin: 0 0 12px;
  color: #333333;
  font-size: 16px;
  font-weight: 700;
}
.global-overlay .course-evaluate-dialog .evaluate-comment-section .evaluate-textarea-wrap {
  position: relative;
  width: 100%;
}
.global-overlay .course-evaluate-dialog .evaluate-comment-section .evaluate-textarea {
  width: 100%;
  min-height: 140px;
  padding: 14px;
  border: 2px solid #ffffff;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
  color: #333333;
  font-size: 14px;
  line-height: 1.6;
  box-sizing: border-box;
  resize: none;
  outline: none;
  transition: border-color 0.2s;
}
.global-overlay .course-evaluate-dialog .evaluate-comment-section .evaluate-textarea:focus {
  border-color: #bfc5ff;
  background: #ffffff;
}
.global-overlay .course-evaluate-dialog .evaluate-comment-section .evaluate-char-count {
  position: absolute;
  right: 14px;
  bottom: 12px;
  font-size: 12px;
  color: #c0c0c0;
}
.global-overlay .course-evaluate-dialog .evaluate-footer {
  display: flex;
  justify-content: stretch;
  gap: 12px;
  padding: 20px 0 0;
  border-top: 0;
  flex-shrink: 0;
}
.global-overlay .course-evaluate-dialog .evaluate-footer button {
  flex: 1;
  min-width: 0;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 22px;
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
  color: #ffffff;
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  transition: opacity 0.2s;
}
.global-overlay .course-evaluate-dialog .evaluate-footer button:disabled {
  background: #e0e0e0;
  color: #999999;
  cursor: not-allowed;
}
.global-overlay .course-evaluate-dialog .evaluate-footer button.ghost {
  border: 1px solid #d7dbff;
  background: #ffffff;
  color: #3d4df5;
}.global-overlay.course-cancel-overlay {
  position: fixed !important;
  inset: 0 !important;
  display: flex !important;
  width: 100vw !important;
  height: 100vh !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding: 0 !important;
  box-sizing: border-box;
}
.global-overlay.course-cancel-overlay > .global-overlay__panel.course-cancel-panel {
  display: flex !important;
  flex-direction: column !important;
  width: min(600px, 100vw - 40px) !important;
  max-width: 600px !important;
  height: min(780px, 100vh - 48px) !important;
  max-height: calc(100vh - 48px) !important;
  margin: 24px 20px 24px auto !important;
  border: 2px solid #ffffff !important;
  border-radius: 20px !important;
  background: #f3f3f3 !important;
  box-shadow: -10px 14px 42px rgba(27, 35, 54, 0.24) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.global-overlay.course-cancel-overlay > .global-overlay__panel.course-cancel-panel > .global-overlay__body {
  display: flex !important;
  flex: 1 1 0 !important;
  min-height: 0 !important;
  height: 0 !important;
}
.global-overlay .global-overlay__panel.course-cancel-panel.global-overlay-panel-enter-active {
  transition: opacity 0.26s ease, transform 0.26s cubic-bezier(0.22, 0.8, 0.2, 1) !important;
}
.global-overlay .global-overlay__panel.course-cancel-panel.global-overlay-panel-leave-active {
  transition: opacity 0.2s ease, transform 0.2s ease !important;
}
.global-overlay .global-overlay__panel.course-cancel-panel.global-overlay-panel-enter-from,
.global-overlay .global-overlay__panel.course-cancel-panel.global-overlay-panel-leave-to {
  opacity: 0 !important;
  transform: translateX(24px) !important;
}
.global-overlay .course-cancel-dialog {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  padding: 24px 20px 20px;
  background: #f3f3f3;
  box-sizing: border-box;
}
.global-overlay .course-cancel-dialog header {
  position: relative;
  display: flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
}
.global-overlay .course-cancel-dialog header h2 {
  margin: 0;
  color: #111111;
  font-size: 18px;
  font-weight: 500;
}
.global-overlay .course-cancel-dialog header button {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  background: #f3f5f7;
  color: #333333;
  font-size: 22px;
  cursor: pointer;
  line-height: 1;
  transition: background-color 0.2s, color 0.2s;
}
.global-overlay .course-cancel-dialog header button:hover {
  background: #e8ebef;
  color: #111111;
}
.global-overlay .course-cancel-dialog .cancel-subtitle {
  display: block;
  margin: 16px 0 0;
  text-align: center;
  color: #333333;
  font-size: 15px;
  font-weight: 600 !important;
  line-height: 1.5;
}
.global-overlay .course-cancel-dialog .cancel-countdown {
  display: flex;
  align-items: center;
  flex-direction: column;
  margin-top: 16px;
  padding: 16px 20px;
  border-radius: 12px;
  border: 2px solid #ffffff;
  background: rgba(255, 255, 255, 0.72);
}
.global-overlay .course-cancel-dialog .cancel-countdown span {
  color: #9a9a9a;
  font-size: 13px;
  font-weight: 700 !important;
}
.global-overlay .course-cancel-dialog .cancel-countdown div {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
}
.global-overlay .course-cancel-dialog .cancel-countdown div b {
  min-width: 52px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #eaf2f7;
  color: #333333;
  font-size: 26px;
  font-weight: 900 !important;
}
.global-overlay .course-cancel-dialog .cancel-countdown div em {
  color: #333333;
  font-style: normal;
  font-size: 20px;
  font-weight: 900 !important;
}
.global-overlay .course-cancel-dialog .cancel-countdown small {
  margin-top: 8px;
  color: #9a9a9a;
  font-size: 11px;
  font-weight: 700 !important;
}
.global-overlay .course-cancel-dialog .cancel-banner {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 16px;
  padding: 16px 20px;
  border-radius: 12px;
  border: 2px solid #ffffff;
  background: #f4f5ff;
}
.global-overlay .course-cancel-dialog .cancel-banner .cancel-banner-icon {
  display: inline-flex;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  color: #3d4df5;
  font-size: 14px;
  font-weight: 900 !important;
  margin-top: 2px;
}
.global-overlay .course-cancel-dialog .cancel-banner .cancel-banner-copy {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 4px;
}
.global-overlay .course-cancel-dialog .cancel-banner strong {
  color: #3d4df5;
  font-size: 13px;
  font-weight: 800 !important;
}
.global-overlay .course-cancel-dialog .cancel-banner span {
  color: #667085;
  font-size: 11px;
  font-weight: 600 !important;
  line-height: 1.5;
}
.global-overlay .course-cancel-dialog .cancel-banner.danger {
  background: #ffb25a;
  border-color: #ffb25a;
}
.global-overlay .course-cancel-dialog .cancel-banner.danger .cancel-banner-icon {
  color: #ffb25a;
}
.global-overlay .course-cancel-dialog .cancel-banner.danger strong {
  color: #ffffff;
}
.global-overlay .course-cancel-dialog .cancel-banner.danger span {
  color: rgba(255, 255, 255, 0.96);
}
.global-overlay .course-cancel-dialog .cancel-reasons {
  margin-top: 20px;
}
.global-overlay .course-cancel-dialog .cancel-reasons h3 {
  margin: 0;
  color: #111111;
  font-size: 15px;
  font-weight: 600 !important;
}
.global-overlay .course-cancel-dialog .cancel-reasons p {
  margin: 6px 0 14px;
  color: #9a9a9a;
  font-size: 13px;
  line-height: 1.5;
}
.global-overlay .course-cancel-dialog .cancel-reasons div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.global-overlay .course-cancel-dialog .cancel-reasons button {
  height: 38px;
  border: 2px solid #ffffff;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
  color: #222222;
  font-size: 13px;
  font-weight: 700 !important;
  cursor: pointer;
  transition: all 0.2s ease;
}
.global-overlay .course-cancel-dialog .cancel-reasons button:hover {
  background: #ffffff;
}
.global-overlay .course-cancel-dialog .cancel-reasons button.active {
  background: #3d4df5;
  border-color: #3d4df5;
  color: #ffffff;
  font-weight: 700 !important;
}
.global-overlay .course-cancel-dialog footer {
  display: flex;
  gap: 12px;
  margin-top: auto;
  padding-top: 20px;
}
.global-overlay .course-cancel-dialog footer button {
  flex: 1;
  height: 44px;
  border: 0;
  border-radius: 22px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.global-overlay .course-cancel-dialog footer button.ghost {
  border: 1px solid #d7dbff !important;
  background: #ffffff !important;
  color: #3d4df5 !important;
  box-shadow: none !important;
}
.global-overlay .course-cancel-dialog footer button.ghost:hover {
  background: #f7f7ff !important;
}
.global-overlay .course-cancel-dialog footer button:not(.ghost) {
  background: #d7d7d8 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}
.global-overlay .course-cancel-dialog footer button:not(.ghost):not(:disabled) {
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%) !important;
  box-shadow: 0 8px 22px rgba(61, 77, 245, 0.2) !important;
}
.global-overlay .course-cancel-dialog footer button:not(.ghost):not(:disabled):hover {
  background: linear-gradient(90deg, #4c5bff 0%, #c875ff 100%) !important;
}
.global-overlay .course-cancel-dialog footer button:not(.ghost):disabled {
  opacity: 0.7 !important;
  cursor: not-allowed !important;
}
.global-overlay .course-cancel-dialog {
  /* Danger state alignments */
}
.global-overlay .course-cancel-dialog.is-danger .cancel-reasons button.active {
  background: #ffb25a;
  border-color: #ffb25a;
  color: #ffffff;
}.detail-scroll[data-v-8f18c22e] {
  flex: 1;
  min-height: 0;
}
.detail-scroll[data-v-8f18c22e] .n-scrollbar-container {
  background: #f3f3f3;
}
.detail-inner[data-v-8f18c22e] {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px 20px;
  box-sizing: border-box;
}
.teacher-section[data-v-8f18c22e] {
  margin-bottom: 14px;
  padding: 14px 16px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
}
.teacher-row[data-v-8f18c22e] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.detail-avatar[data-v-8f18c22e] {
  width: 60px;
  height: 60px;
  flex-shrink: 0;
  border-radius: 10px;
  object-fit: cover;
  background: #f0f0f0;
}
.teacher-meta[data-v-8f18c22e] {
  min-width: 0;
  flex: 1;
}
.teacher-name-row[data-v-8f18c22e],
.teacher-detail-row[data-v-8f18c22e] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.teacher-name-row[data-v-8f18c22e] {
  margin-bottom: 8px;
}
.detail-teacher-name[data-v-8f18c22e] {
  color: #111111;
  font-size: 16px;
  font-weight: 500;
}
.teacher-flag[data-v-8f18c22e] {
  width: 24px;
  height: 18px;
  border-radius: 2px;
  object-fit: cover;
}
.teacher-badge[data-v-8f18c22e] {
  width: 20px;
  height: 20px;
}
.teacher-level-badge[src*=icon-vip-tf][data-v-8f18c22e] {
  width: 34px;
  height: 18px;
}
.teacher-detail-row[data-v-8f18c22e] {
  color: #8398ac;
  font-size: 12px;
}
.teacher-detail-row--muted[data-v-8f18c22e] {
  margin-top: 6px;
  color: #666666;
}
.resume-entry[data-v-8f18c22e] {
  height: 32px;
  padding: 0 14px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  color: #ffffff;
  font-weight: 600;
  cursor: pointer;
  font-size: 13px;
  box-shadow: none;
  transition: background-color 0.2s, box-shadow 0.2s;
}
.resume-entry[data-v-8f18c22e]:hover {
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  opacity: 0.9;
}
.resume-entry[data-v-8f18c22e]:active {
  opacity: 0.8;
}
.detail-section[data-v-8f18c22e] {
  margin: 0 0 14px;
  padding: 14px 16px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
}
.detail-section h3[data-v-8f18c22e] {
  margin: 0 0 10px;
  color: #1a1a1a;
  font-size: 15px;
  font-weight: 800;
}
.detail-section--tools[data-v-8f18c22e] {
  padding: 14px 16px;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.supported-tools-card[data-v-8f18c22e] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.supported-tool-tag[data-v-8f18c22e] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 13px;
  background: #f1f3fa;
  color: #333333;
  font-size: 13px;
}
.supported-tool-icon[data-v-8f18c22e] {
  width: 16px;
  height: 16px;
  object-fit: contain;
}
.detail-grid-card[data-v-8f18c22e],
.detail-action-stack[data-v-8f18c22e] {
  border-radius: 12px;
}
.detail-grid-card[data-v-8f18c22e] {
  overflow: hidden;
  background: #f4f5ff;
}
.detail-grid-row[data-v-8f18c22e] {
  display: flex;
  border-bottom: 1px solid #eeeeee;
}
.detail-grid-row[data-v-8f18c22e]:last-child {
  border-bottom: 0;
}
.detail-grid-item[data-v-8f18c22e] {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  min-height: 44px;
  padding: 13px 12px;
}
.detail-grid-label[data-v-8f18c22e] {
  color: #888888;
  font-size: 14px;
  width: auto;
  flex-shrink: 0;
}
.detail-grid-value[data-v-8f18c22e] {
  overflow: hidden;
  color: #333333;
  font-size: 14px;
  font-weight: 400;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}
.detail-action-stack[data-v-8f18c22e] {
  display: grid;
  gap: 12px;
  padding: 0;
  background: transparent;
}
.detail-action-card[data-v-8f18c22e] {
  display: flex;
  width: 100%;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 0;
  border-radius: 12px;
  background: #f4f5ff;
  color: #333333;
  cursor: pointer;
  font-size: 15px;
  text-align: left;
  box-sizing: border-box;
}
.detail-action-card--primary[data-v-8f18c22e] {
  background: #eaf6ff;
  color: #08aaff;
}
.detail-action-card--readonly[data-v-8f18c22e] {
  cursor: default;
}
.detail-action-card--bookmark[data-v-8f18c22e] {
  display: block;
  cursor: pointer;
}
.detail-action-left[data-v-8f18c22e],
.detail-action-left-col[data-v-8f18c22e],
.detail-action-right-col[data-v-8f18c22e] {
  display: flex;
  min-width: 0;
}
.detail-action-left[data-v-8f18c22e] {
  align-items: center;
  gap: 10px;
  flex: 1;
}
.detail-action-left > span[data-v-8f18c22e] {
  font-weight: 600 !important;
  color: #222222 !important;
}
.detail-action-left-col[data-v-8f18c22e] {
  flex: 1;
  flex-direction: column;
  gap: 6px;
}
.detail-action-right-col[data-v-8f18c22e] {
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.detail-action-icon[data-v-8f18c22e] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  object-fit: contain;
}
.detail-action-extra[data-v-8f18c22e] {
  color: #999999;
  font-size: 13px;
  white-space: nowrap;
}
.detail-action-hint[data-v-8f18c22e] {
  color: #888888;
  font-size: 12px;
  line-height: 1.5;
}
.detail-action-hint--bookmark[data-v-8f18c22e] {
  display: block;
  margin: 10px 0 0;
}
.detail-action-hint--classin[data-v-8f18c22e] {
  color: #888888;
  line-height: 1.55;
}
.detail-action-note[data-v-8f18c22e] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #b1b1b1;
  font-size: 13px;
  font-weight: 500;
}
.detail-action-note--active[data-v-8f18c22e] {
  color: #333333 !important;
  font-weight: 600 !important;
}
.detail-action-note--method[data-v-8f18c22e] {
  max-width: 180px;
}
.detail-action-note-icon[data-v-8f18c22e] {
  width: 16px;
  height: 16px;
  object-fit: contain;
}
.detail-action-arrow[data-v-8f18c22e] {
  color: #bbbbbb;
  font-size: 18px;
  line-height: 1;
}
.detail-message-badge[data-v-8f18c22e] {
  padding: 3px 8px;
  border-radius: 6px;
  background: #eaf6ff;
  color: #08aaff;
  font-size: 12px;
  white-space: nowrap;
}
.bookmark-card-head[data-v-8f18c22e] {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #222222 !important;
  font-size: 15px;
  font-weight: 600 !important;
}
.bookmark-card-head .detail-action-arrow[data-v-8f18c22e] {
  margin-left: auto;
}
.bookmark-card-body[data-v-8f18c22e] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
}
.bookmark-card-left[data-v-8f18c22e] {
  display: flex;
  min-width: 0;
  flex: 1;
  align-items: center;
  gap: 8px;
}
.bookmark-card-file-icon[data-v-8f18c22e] {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  object-fit: contain;
}
.bookmark-card-name[data-v-8f18c22e] {
  overflow: hidden;
  color: #333333;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bookmark-card-name--empty[data-v-8f18c22e] {
  color: #999999;
}
.bookmark-card-page[data-v-8f18c22e] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #666666;
  font-size: 13px;
  white-space: nowrap;
}
.bookmark-card-page-value--empty[data-v-8f18c22e] {
  color: #bbbbbb;
}
.right-empty[data-v-8f18c22e] {
  display: flex;
  position: absolute;
  inset: 0;
  min-height: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.right-empty-image[data-v-8f18c22e] {
  width: 117px;
  height: 117px;
}
.right-empty-text[data-v-8f18c22e] {
  color: #999999;
  font-size: 12px;
}
.detail-scroll[data-v-8f18c22e] {
  position: relative;
  height: 0;
  min-height: 0;
  flex: 1 1 0;
}.courses-left-pane[data-v-5f493298] {
  display: flex;
  flex: 0 0 420px;
  width: 420px;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  background: #f8f8f8;
  border-right: 1px solid #f0f0f0;
}
.pane-header[data-v-5f493298] {
  display: flex;
  height: 58px;
  align-items: center;
  padding: 0 18px;
  flex-shrink: 0;
  background: #fff;
}
h1[data-v-5f493298] {
  margin: 0;
  color: #111;
  font-size: 22px;
  font-weight: 600;
}
.courses-left-scroll[data-v-5f493298] {
  position: relative;
  height: 0;
  flex: 1 1 0;
  min-height: 0;
}
.courses-left-inner[data-v-5f493298] {
  padding: 12px 12px 24px;
}
.top-cards-wrap[data-v-5f493298] {
  display: grid;
  gap: 10px;
}
.banner-card[data-v-5f493298] {
  height: 146px;
  overflow: hidden;
  border-radius: 8px;
  background: #eaf6ff;
}
.banner-image[data-v-5f493298] {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.module-card[data-v-5f493298] {
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04);
}
.action-card[data-v-5f493298] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 12px 8px;
}
.action-item[data-v-5f493298] {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.action-icon[data-v-5f493298] {
  display: flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #f1f8ff;
}
.action-icon-image[data-v-5f493298] {
  width: 24px;
  height: 24px;
  object-fit: contain;
}
.action-text[data-v-5f493298] {
  color: #333;
  font-size: 13px;
}
.section-header[data-v-5f493298] {
  margin: 16px 0 10px;
}
.section-header h2[data-v-5f493298] {
  margin: 0;
  color: #111;
  font-size: 18px;
  font-weight: 600;
}
.course-list[data-v-5f493298] {
  display: grid;
  gap: 12px;
}
.list-state[data-v-5f493298],
.empty-wrap[data-v-5f493298],
.list-footer[data-v-5f493298] {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  font-size: 14px;
}
.list-state[data-v-5f493298] {
  min-height: 220px;
}
.empty-wrap[data-v-5f493298] {
  min-height: 300px;
  flex-direction: column;
  gap: 12px;
}
.empty-image[data-v-5f493298] {
  width: 150px;
  height: auto;
}
.list-footer[data-v-5f493298] {
  padding: 12px 0;
}
.course-card[data-v-5f493298] {
  display: block;
  width: 100%;
  padding: 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04);
  box-sizing: border-box;
  cursor: pointer;
  text-align: left;
}
.course-card.active[data-v-5f493298] {
  border-color: #cdefff;
  background: #f2fbff;
}
.course-card-top[data-v-5f493298],
.teacher-meta-row[data-v-5f493298] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.course-date[data-v-5f493298] {
  color: #111;
  font-size: 14px;
  font-weight: 500;
}
.status-tag[data-v-5f493298] {
  display: inline-flex;
  height: 28px;
  min-width: 66px;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}
.status-tag.status-tag--upcoming[data-v-5f493298] {
  background: #eaf6ff;
  color: #3aa9ff;
}
.status-tag.status-tag--join[data-v-5f493298] {
  background: #eaf6ff;
  color: #3aa9ff;
}
.status-tag.status-tag--done[data-v-5f493298] {
  background: #ebf8ee;
  color: #57b97d;
}
.status-tag.status-tag--cancel[data-v-5f493298] {
  background: #f3f3f3;
  color: #a7a7a7;
}
.course-card-body[data-v-5f493298] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
}
.teacher-avatar[data-v-5f493298] {
  width: 66px;
  height: 66px;
  flex-shrink: 0;
  border-radius: 8px;
  object-fit: cover;
}
.teacher-info[data-v-5f493298] {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 8px;
}
.teacher-name[data-v-5f493298] {
  overflow: hidden;
  color: #111;
  font-size: 17px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.teacher-meta-row[data-v-5f493298] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}
.course-method[data-v-5f493298] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  flex: 1;
}
.course-method .course-method-icon[data-v-5f493298] {
  width: 18px;
  height: 18px;
  object-fit: contain;
  flex-shrink: 0;
}
.course-method .course-method-text[data-v-5f493298] {
  font-size: 13px;
  color: #111111;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.duration-tag[data-v-5f493298] {
  display: inline-flex;
  height: 22px;
  align-items: center;
  padding: 0 8px;
  border-radius: 6px;
  background: #eaf6ff;
  color: #08aaff;
  font-size: 12px;
}
.course-card-footer[data-v-5f493298] {
  margin-top: 12px;
}
.join-btn[data-v-5f493298] {
  display: flex;
  height: 36px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #08aaff;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
}
.courses-left-pane[data-v-5f493298] {
  flex-basis: 375px;
  width: 375px;
  margin: 15px 0;
  height: calc(100vh - 30px);
  max-height: calc(100vh - 30px);
  border-right: 0;
  background-color: #f3f3f3;
  background-image: url("https://cdnfile-1340238457.cos.ap-guangzhou.myqcloud.com/newfiles/phone/page-bg.png");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% 426px;
}
.pane-header[data-v-5f493298] {
  height: 58px;
  justify-content: center;
  padding: 0 16px;
  background: transparent;
}
h1[data-v-5f493298] {
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 1px;
}
.courses-left-inner[data-v-5f493298] {
  padding: 0 8px 16px 16px;
}
.top-cards-wrap[data-v-5f493298] {
  width: 100%;
  padding: 0;
  box-sizing: border-box;
}
.banner-card[data-v-5f493298] {
  display: none;
}
.module-card[data-v-5f493298] {
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: none;
}
.action-card[data-v-5f493298] {
  display: flex;
  padding: 10px 5px 11px;
  justify-content: space-around;
}
.action-icon[data-v-5f493298] {
  width: 44px;
  height: 44px;
  margin: 0 0 2px;
  border-radius: 0;
  background: transparent;
}
.action-icon-image[data-v-5f493298] {
  width: 44px;
  height: 44px;
}
.action-text[data-v-5f493298] {
  color: #000;
  font-size: 14px;
  line-height: 20px;
}
.section-header[data-v-5f493298] {
  flex: 0 0 auto;
  margin: 14px 8px 12px 19px;
}
.section-header h2[data-v-5f493298] {
  font-size: 16px;
  font-weight: 600;
}
.course-list[data-v-5f493298] {
  gap: 14px;
}
.course-card[data-v-5f493298] {
  padding: 12px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: none;
}
.course-card.active[data-v-5f493298] {
  border-color: #3d4df5;
  background: #f4f5ff;
  box-shadow: 0 0 0 1px rgba(61, 77, 245, 0.16);
}

/* 选中态覆盖整张课程卡，不只强调外边框。 */
.course-card.active .teacher-avatar[data-v-5f493298] {
  outline: 2px solid rgba(61, 77, 245, 0.18);
  outline-offset: 1px;
}
.course-card.active .status-tag.status-tag--upcoming[data-v-5f493298],
.course-card.active .status-tag.status-tag--join[data-v-5f493298],
.course-card.active .duration-tag[data-v-5f493298] {
  background: #e8eaff;
  color: #3d4df5;
}
.course-card.active .course-card-footer .join-btn[data-v-5f493298] {
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
}
.status-tag.status-tag--upcoming[data-v-5f493298],
.status-tag.status-tag--join[data-v-5f493298] {
  background: #f4f5ff;
  color: #3d4df5;
}
.course-card-footer .join-btn[data-v-5f493298] {
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
}
.empty-wrap[data-v-5f493298] {
  min-height: 100%;
  height: 100%;
  padding: 0;
  box-sizing: border-box;
}
.empty-image[data-v-5f493298] {
  width: 117px;
  height: 117px;
}
.courses-left-scroll[data-v-5f493298] .n-scrollbar-container > .n-scrollbar-content {
  display: flex;
  height: 100% !important;
  min-height: 100% !important;
  flex-direction: column;
}
.courses-left-scroll[data-v-5f493298] .n-scrollbar-container {
  height: 100%;
}
.courses-left-inner[data-v-5f493298] {
  display: flex;
  height: 100% !important;
  min-height: 100% !important;
  flex: 1 1 auto;
  flex-direction: column;
}
.course-list[data-v-5f493298] {
  display: flex;
  height: 100% !important;
  min-height: 100% !important;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 14px;
}
.course-list .empty-wrap[data-v-5f493298] {
  position: absolute;
  inset: 0;
  min-height: 0;
  height: auto;
}

/* Keep both panes usable when the desktop window is narrower than an iPad canvas. */
@media (max-width: 760px) {
.courses-left-pane[data-v-5f493298] {
    flex: 0 0 56%;
    width: 56%;
}
}.detail-scroll[data-v-79d25740] {
  flex: 1;
  min-height: 0;
  height: 0;
}
.detail-scroll[data-v-79d25740] .n-scrollbar-container {
  background: #f3f3f3;
}
.side-list[data-v-79d25740] {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  min-height: 100%;
  padding: 0 16px 20px;
  box-sizing: border-box;
  background: transparent;
}
.side-state[data-v-79d25740] {
  padding: 60px 0;
  color: #999999;
  font-size: 14px;
  text-align: center;
}
.feedback-module[data-v-79d25740] {
  margin-bottom: 14px;
  overflow: hidden;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
  text-align: left;
}
.feedback-top-bar[data-v-79d25740] {
  display: flex;
  height: 44px;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  box-sizing: border-box;
}
.feedback-top-title[data-v-79d25740] {
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
}
.feedback-top-action[data-v-79d25740] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border: 0;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.18);
  cursor: pointer;
}
.feedback-top-action[data-v-79d25740]:hover {
  background: rgba(255, 255, 255, 0.28);
}
.feedback-top-action-text[data-v-79d25740] {
  color: rgba(255, 255, 255, 0.95);
  font-size: 12px;
  font-weight: 700;
}
.feedback-module-body[data-v-79d25740] {
  background: transparent;
  cursor: pointer;
}
.feedback-course-item[data-v-79d25740] {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  box-sizing: border-box;
}
.feedback-course-avatar[data-v-79d25740] {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  border-radius: 12px;
  object-fit: cover;
  background: #f3f3f3;
}
.feedback-course-info[data-v-79d25740] {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 4px;
}
.feedback-course-info strong[data-v-79d25740] {
  overflow: hidden;
  color: #222222;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.feedback-course-info span[data-v-79d25740] {
  overflow: hidden;
  color: #6f6f6f;
  font-size: 12px;
  font-weight: normal;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.feedback-duration[data-v-79d25740] {
  display: block;
  overflow: hidden;
  color: #6f6f6f;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.right-empty[data-v-79d25740] {
  display: flex;
  min-height: 420px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #999999;
  font-size: 14px;
}
.right-empty-image[data-v-79d25740] {
  width: 160px;
  height: auto;
}
.side-list-footer[data-v-79d25740] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 0 4px;
}
.side-list-footer-text[data-v-79d25740] {
  color: #999999;
  font-size: 13px;
  text-align: center;
}.detail-scroll[data-v-a6627826] {
  flex: 1;
  min-height: 0;
  height: 0;
}
.detail-scroll[data-v-a6627826] .n-scrollbar-container {
  background: #f3f3f3;
}
.side-list[data-v-a6627826] {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 1200px;
  min-height: 100%;
  margin: 0 auto;
  padding: 0 16px 20px;
  background: transparent;
  box-sizing: border-box;
}
.side-state[data-v-a6627826] {
  padding: 60px 0;
  color: #999;
  font-size: 14px;
  text-align: center;
}
.replay-card[data-v-a6627826] {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 0;
  margin-bottom: 14px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
  cursor: pointer;
  overflow: hidden;
  text-align: left;
}
.replay-card[data-v-a6627826]:focus {
  outline: none;
}
.replay-card-top[data-v-a6627826] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 16px 12px;
}
.replay-card-date[data-v-a6627826] {
  color: #333;
  font-size: 16px;
  font-weight: 500;
  white-space: nowrap;
}
.replay-card-status[data-v-a6627826] {
  display: flex;
  min-width: 60px;
  height: 24px;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border-radius: 999px;
  background: #f0f0f0;
  color: #999;
  font-size: 12px;
  font-weight: 700;
  box-sizing: border-box;
}
.replay-card-status.ready[data-v-a6627826] {
  background: #edeefe;
  color: #5e6bfb;
}
.replay-card-divider[data-v-a6627826] {
  height: 1px;
  margin: 0 16px;
  background: rgba(0, 0, 0, 0.05);
}
.replay-card-bottom[data-v-a6627826] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 16px 16px;
}
.replay-card-avatar[data-v-a6627826] {
  width: 68px;
  height: 68px;
  flex-shrink: 0;
  border-radius: 12px;
  object-fit: cover;
  background: #f3f3f3;
}
.replay-card-teacher[data-v-a6627826] {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  min-height: 68px;
  margin-left: 0;
}
.replay-card-teacher strong[data-v-a6627826] {
  overflow: hidden;
  color: #1a1a1a;
  font-size: 16px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.replay-card-meta-row[data-v-a6627826] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 6px 8px;
  min-height: 20px;
  margin-top: 5px;
}
.replay-card-meta-item[data-v-a6627826] {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
  color: #666;
  font-size: 13px;
}
.replay-card-meta-item span[data-v-a6627826] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.replay-card-meta-icon[data-v-a6627826] {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  object-fit: contain;
}
.replay-card-duration[data-v-a6627826] {
  display: inline-block;
  flex-shrink: 0;
  padding: 2px 8px;
  border-radius: 999px;
  background: #edeefe;
  color: #5e6bfb;
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
}
.right-empty[data-v-a6627826] {
  display: flex;
  min-height: 420px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #999;
}
.right-empty-image[data-v-a6627826] {
  width: 160px;
  height: auto;
}
.side-list-footer[data-v-a6627826] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px 0;
}
.side-list-footer-text[data-v-a6627826] {
  color: #999999;
  font-size: 13px;
  text-align: center;
}.profile-completed-pane[data-v-e3500c8d] {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  padding-bottom: 16px;
  background: #f3f3f3;
  box-sizing: border-box;
}
.profile-completed-header[data-v-e3500c8d] {
  display: flex;
  height: 54px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  line-height: 54px;
  text-align: center;
}
.profile-completed-title[data-v-e3500c8d] {
  margin: 0;
  color: #1a1a1a;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
}
.profile-completed-body[data-v-e3500c8d] {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  padding-bottom: 0;
  overflow: hidden;
  box-sizing: border-box;
}
.profile-completed-scroll[data-v-e3500c8d] {
  flex: 1 1 0%;
  min-height: 0;
  height: 100%;
}
.profile-completed-scroll[data-v-e3500c8d] .n-scrollbar-rail {
  right: 2px;
  width: 4px;
}
.profile-completed-scroll[data-v-e3500c8d] .n-scrollbar-rail__scrollbar {
  width: 4px;
  border-radius: 999px;
  background: #d5d5d5;
  opacity: 1;
}
.profile-pane-loading[data-v-e3500c8d],
.profile-pane-empty[data-v-e3500c8d] {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #999999;
  font-size: 14px;
  text-align: center;
}
.profile-pane-empty-image[data-v-e3500c8d] {
  width: 160px;
  height: 160px;
  margin-bottom: 12px;
  object-fit: contain;
}
.profile-pane-empty-text[data-v-e3500c8d] {
  color: #999999;
  font-size: 14px;
}
.profile-completed-list[data-v-e3500c8d] {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 14px 16px 20px;
  box-sizing: border-box;
}
.profile-completed-list-footer[data-v-e3500c8d] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 0 8px;
}
.profile-completed-list-footer-text[data-v-e3500c8d] {
  color: #999999;
  font-size: 13px;
  text-align: center;
}
.profile-completed-card[data-v-e3500c8d] {
  position: relative;
  margin-bottom: 14px;
  padding: 13px 12px 11px;
  overflow: hidden;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: none;
  cursor: pointer;
}
.profile-completed-main[data-v-e3500c8d] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.profile-completed-date[data-v-e3500c8d] {
  color: #333333;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
}
.profile-completed-status[data-v-e3500c8d] {
  display: flex;
  height: 20px;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
  border-radius: 999px;
  background: #f3f3f3;
}
.profile-completed-status.upcoming[data-v-e3500c8d] {
  background: #e2f4ff;
}
.profile-completed-status.upcoming .profile-completed-status-text[data-v-e3500c8d] {
  color: #1fa5ff;
}
.profile-completed-status.completed[data-v-e3500c8d] {
  background-color: #ebf8ee;
}
.profile-completed-status.completed .profile-completed-status-text[data-v-e3500c8d] {
  color: #57b97d;
}
.profile-completed-status.cancelled .profile-completed-status-text[data-v-e3500c8d] {
  color: #a7a7a7;
}
.profile-completed-status-text[data-v-e3500c8d] {
  font-size: 11px;
  font-weight: 500;
}
.profile-completed-footer[data-v-e3500c8d] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 12px;
}
.profile-completed-join-btn[data-v-e3500c8d] {
  display: inline-flex;
  height: 28px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  box-shadow: 0 2px 7px rgba(61, 77, 245, 0.25);
  color: #ffffff;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
}
.profile-completed-arrow[data-v-e3500c8d] {
  position: absolute;
  top: 50%;
  right: 12px;
  color: #3a3a3a;
  font-size: 24px;
  font-weight: 500;
  line-height: 20px;
  transform: translateY(-50%);
}
.profile-completed-avatar[data-v-e3500c8d] {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  border-radius: 9px;
  object-fit: cover;
  background: #f3f3f3;
}
.profile-completed-teacher[data-v-e3500c8d] {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  justify-content: center;
}
.teacher-name-row[data-v-e3500c8d] {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
}
.profile-completed-teacher-name[data-v-e3500c8d] {
  color: #1a1a1a;
  font-size: 16px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.teacher-meta-row[data-v-e3500c8d] {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  margin-top: 6px;
}
.course-method[data-v-e3500c8d] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  flex: 1;
}
.course-method .course-method-icon[data-v-e3500c8d] {
  width: 16px;
  height: 16px;
  object-fit: contain;
  flex-shrink: 0;
}
.course-method .course-method-text[data-v-e3500c8d] {
  font-size: 12px;
  color: #111111;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.profile-completed-duration[data-v-e3500c8d] {
  display: inline-flex;
  height: 20px;
  align-items: center;
  padding: 0 8px;
  border-radius: 999px;
  background: #edeefe;
  color: #5e6bfb;
  font-size: 11px;
  white-space: nowrap;
  flex-shrink: 0;
}.profile-completed-pane[data-v-3a9eaa60] {
  display: flex;
  flex: 1 1 0%;
  width: 100%;
  min-height: 0;
  flex-direction: column;
  background: #f3f3f3;
  box-sizing: border-box;
}
.profile-completed-header[data-v-3a9eaa60] {
  display: flex;
  height: 54px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  line-height: 54px;
  text-align: center;
  box-sizing: border-box;
}
.profile-completed-title[data-v-3a9eaa60] {
  margin: 0;
  color: #1a1a1a;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0;
  text-align: center;
}
.profile-msg-tabs[data-v-3a9eaa60] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: calc(100% - 32px);
  max-width: 1200px;
  margin: 0 auto 14px;
  padding: 4px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
}
.profile-msg-tab[data-v-3a9eaa60] {
  flex: 1;
  min-width: 0;
  height: 36px;
  padding: 0 10px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #555555;
  font-size: 14px;
  text-align: center;
  cursor: pointer;
}
.profile-msg-tab.active[data-v-3a9eaa60] {
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  color: #ffffff;
}
.profile-completed-body[data-v-3a9eaa60] {
  display: flex;
  flex: 1 1 0%;
  min-height: 0;
  flex-direction: column;
  padding-bottom: 0;
  overflow: hidden;
  box-sizing: border-box;
}
.profile-pane-loading[data-v-3a9eaa60],
.profile-pane-empty[data-v-3a9eaa60] {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #999999;
  font-size: 14px;
  text-align: center;
}
.profile-pane-empty-image[data-v-3a9eaa60] {
  width: 160px;
  height: 160px;
  margin-bottom: 12px;
  object-fit: contain;
}
.profile-pane-empty-text[data-v-3a9eaa60] {
  color: #999999;
  font-size: 14px;
}
.profile-completed-scroll[data-v-3a9eaa60] {
  flex: 1 1 0%;
  min-height: 0;
  height: 100%;
}
.profile-completed-scroll[data-v-3a9eaa60] .n-scrollbar-rail {
  right: 2px;
  width: 4px;
}
.profile-completed-scroll[data-v-3a9eaa60] .n-scrollbar-rail__scrollbar {
  width: 4px;
  border-radius: 999px;
  background: #d5d5d5;
  opacity: 1;
}
.profile-completed-list[data-v-3a9eaa60] {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px 20px;
  box-sizing: border-box;
}
.profile-completed-card[data-v-3a9eaa60] {
  margin-bottom: 14px;
  overflow: hidden;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: none;
  cursor: pointer;
}
.profile-completed-card[data-v-3a9eaa60]:last-child {
  margin-bottom: 0;
}
.profile-completed-top[data-v-3a9eaa60] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 12px 8px;
}
.profile-completed-date[data-v-3a9eaa60] {
  color: #2a2a2a;
  font-size: 15px;
  font-weight: 400;
  white-space: nowrap;
}
.profile-completed-status[data-v-3a9eaa60] {
  display: flex;
  min-width: 64px;
  height: 22px;
  align-items: center;
  justify-content: center;
  padding: 0 9px;
  border-radius: 5px;
  background: #eaf6ff;
}
.profile-completed-status.upcoming[data-v-3a9eaa60] {
  background: #eaf6ff;
}
.profile-completed-status.upcoming .profile-completed-status-text[data-v-3a9eaa60] {
  color: #08aaff;
}
.profile-completed-status--action[data-v-3a9eaa60] {
  background: linear-gradient(90deg, #3d4df5, #bf62fd) !important;
}
.profile-completed-status--action .profile-completed-status-text[data-v-3a9eaa60] {
  color: #ffffff !important;
}
.profile-completed-status.completed[data-v-3a9eaa60] {
  background-color: #f3f3f3;
}
.profile-completed-status.completed .profile-completed-status-text[data-v-3a9eaa60] {
  color: #a7a7a7;
}
.profile-completed-pane--history .profile-completed-status.completed[data-v-3a9eaa60] {
  background-color: #f3f3f3;
}
.profile-completed-pane--history .profile-completed-status.completed .profile-completed-status-text[data-v-3a9eaa60] {
  color: #a7a7a7;
}
.profile-completed-status.cancelled[data-v-3a9eaa60] {
  background: #f3f3f3;
}
.profile-completed-status.cancelled .profile-completed-status-text[data-v-3a9eaa60] {
  color: #a7a7a7;
}
.profile-completed-status-text[data-v-3a9eaa60] {
  font-size: 12px;
  font-weight: 500;
}
.profile-completed-divider[data-v-3a9eaa60] {
  height: 1px;
  margin: 0 12px;
  background: #efefef;
}
.profile-completed-bottom[data-v-3a9eaa60] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px 12px;
}
.profile-completed-avatar[data-v-3a9eaa60] {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  border-radius: 8px;
  object-fit: cover;
  background: #f3f3f3;
}
.profile-completed-teacher[data-v-3a9eaa60] {
  display: flex;
  flex: 1;
  min-width: 0;
  min-height: 48px;
  flex-direction: column;
  justify-content: center;
  margin-left: 0;
}
.profile-completed-teacher-name[data-v-3a9eaa60] {
  margin: 0;
  color: #1a1a1a;
  font-size: 15px;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-completed-meta-row[data-v-3a9eaa60] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  width: 100%;
  min-height: 20px;
  margin-top: 5px;
}
.course-method[data-v-3a9eaa60] {
  display: flex;
  align-items: center;
  align-self: center;
  flex: 1;
  min-width: 0;
  height: 20px;
  gap: 4px;
  line-height: 1;
}
.course-method .course-method-icon[data-v-3a9eaa60] {
  display: block;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  object-fit: contain;
}
.course-method .course-method-text[data-v-3a9eaa60] {
  overflow: hidden;
  color: #000000;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-completed-duration[data-v-3a9eaa60] {
  flex-shrink: 0;
  margin: 0;
  padding: 3px;
  border-radius: 5px;
  background: #eaf6ff;
  color: #08aaff;
  font-size: 12px;
  font-weight: 400;
  white-space: nowrap;
}
.profile-completed-list-footer[data-v-3a9eaa60] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 0 8px;
}
.profile-completed-list-footer-text[data-v-3a9eaa60] {
  color: #999999;
  font-size: 13px;
  text-align: center;
}.courses-page[data-v-2b7511d1] {
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  background: #f8f8f8;
}
.courses-page .courses-layout[data-v-2b7511d1] {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  background: #ffffff;
}
.courses-page .courses-layout .courses-right-pane[data-v-2b7511d1] {
  display: flex;
  flex: 1 1 0%;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  background: #ffffff;
}
.courses-page .courses-layout .courses-right-pane .pane-header[data-v-2b7511d1] {
  display: flex;
  height: 58px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-bottom: 1px solid #f0f0f0;
}
.courses-page .courses-layout .courses-right-pane .pane-header h2[data-v-2b7511d1] {
  margin: 0;
  color: #111111;
  font-size: 18px;
  font-weight: 600;
}
.courses-page .courses-layout .courses-right-pane .pane-header.pane-header--with-back[data-v-2b7511d1] {
  justify-content: space-between;
}
.courses-page .courses-layout .courses-right-pane .pane-header.pane-header--with-back h2[data-v-2b7511d1] {
  flex: 1;
  text-align: center;
}
.courses-page .courses-layout .courses-right-pane .pane-back-btn[data-v-2b7511d1] {
  display: flex;
  width: 58px;
  height: 58px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.courses-page .courses-layout .courses-right-pane .pane-back-arrow[data-v-2b7511d1] {
  color: #333333;
  font-size: 32px;
  font-weight: 200;
  line-height: 1;
}
.courses-page .courses-layout .courses-right-pane .pane-header-placeholder[data-v-2b7511d1] {
  width: 58px;
  flex-shrink: 0;
}
.courses-page .courses-layout .courses-right-pane .courses-resume-panel[data-v-2b7511d1] {
  flex: 1 1 0%;
  min-height: 0;
}
.courses-page .courses-layout .courses-right-pane[data-v-2b7511d1] .profile-completed-pane {
  flex: 1 1 0%;
  min-height: 0;
}.courses-page[data-v-2b7511d1],
.courses-page .courses-layout[data-v-2b7511d1] {
  background: transparent;
}
.courses-page .courses-right-pane[data-v-2b7511d1] {
  height: calc(100vh - 30px);
  max-height: calc(100vh - 30px);
  min-width: 0;
  width: 0;
  flex: 1 1 0;
  margin: 15px 15px 15px 0;
  border-radius: 0 15px 15px 0;
  background: #ffffff;
}
.courses-page .courses-right-pane .pane-header[data-v-2b7511d1] {
  height: 58px;
  border-bottom: 0;
}
.courses-page .courses-right-pane .pane-header h2[data-v-2b7511d1] {
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 1px;
}
.courses-page .courses-right-pane--course-collection[data-v-2b7511d1],
.courses-page .courses-right-pane--course-collection .pane-header[data-v-2b7511d1] {
  background: #f3f3f3;
}
.courses-page .courses-right-pane .pane-back-btn[data-v-2b7511d1] {
  width: 48px;
  height: 20px;
  margin-left: 23px;
  color: #08aaff;
  font-size: 14px;
  line-height: 20px;
}
@media (max-width: 760px) {
.courses-page .courses-right-pane[data-v-2b7511d1] {
    margin-right: 8px;
}
}.global-overlay.classroom-overlay-mask {
  padding: 0 !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  background: #000000 !important;
}
.global-overlay .global-overlay__panel.classroom-overlay-panel {
  display: flex !important;
  flex-direction: column !important;
  width: 100vw !important;
  max-width: 100vw !important;
  height: 100vh !important;
  max-height: 100vh !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: #000000 !important;
  box-shadow: none !important;
  overflow: hidden;
}
.global-overlay .global-overlay__panel.classroom-overlay-panel .global-overlay__body {
  flex: 1 !important;
  height: 100% !important;
  min-height: 0 !important;
}
.global-overlay .classroom-container {
  position: relative;
  width: 100%;
  height: 100%;
  background: #000000;
}
.global-overlay .classroom-container .classroom-iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #000000;
}
.global-overlay .classroom-container .classroom-exit-btn {
  position: absolute;
  top: 5px;
  right: 5px;
  z-index: 2;
  height: 36px;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.65);
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}.courseware-page[data-v-68b57382] {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  height: 100%;
  padding: 24px 28px;
  box-sizing: border-box;
  background: #f5f6fa;
}
.courseware-page .page-head[data-v-68b57382] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 18px;
}
.courseware-page .page-head .head-main h1[data-v-68b57382] {
  margin: 0 0 8px;
  color: #111111;
  font-size: 28px;
  font-weight: 700;
}
.courseware-page .page-head .head-main p[data-v-68b57382] {
  margin: 0;
  color: #7b7f86;
  font-size: 14px;
  line-height: 1.6;
}
.courseware-page .page-head .head-actions[data-v-68b57382] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 6px;
}
.courseware-page .ghost-btn[data-v-68b57382],
.courseware-page .primary-btn[data-v-68b57382],
.courseware-page .crumb[data-v-68b57382],
.courseware-page .clear-btn[data-v-68b57382] {
  border: 0;
  cursor: pointer;
}
.courseware-page .ghost-btn[data-v-68b57382] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 14px;
  border-radius: 18px;
  background: #ffffff;
  color: #222222;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.courseware-page .ghost-btn .btn-icon[data-v-68b57382] {
  font-size: 16px;
  line-height: 1;
}
.courseware-page .search-bar[data-v-68b57382] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.courseware-page .search-bar .search-input-wrap[data-v-68b57382] {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  height: 42px;
  padding: 0 14px;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid #e7e9ee;
}
.courseware-page .search-bar .search-input-wrap .search-icon[data-v-68b57382] {
  margin-right: 10px;
  color: #a5a9b3;
  font-size: 18px;
}
.courseware-page .search-bar .search-input-wrap .search-input[data-v-68b57382] {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: none;
  background: transparent;
  color: #111111;
  font-size: 14px;
}
.courseware-page .search-bar .search-input-wrap .clear-btn[data-v-68b57382] {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #f0f2f5;
  color: #7b7f86;
  font-size: 16px;
  line-height: 1;
}
.courseware-page .search-bar .primary-btn[data-v-68b57382] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 92px;
  height: 42px;
  border-radius: 12px;
  background: #08aaff;
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
}
.courseware-page .search-bar .primary-btn[data-v-68b57382]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.courseware-page .crumbs[data-v-68b57382] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-bottom: 14px;
}
.courseware-page .crumbs .crumb[data-v-68b57382] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  background: transparent;
  color: #08aaff;
  font-size: 13px;
}
.courseware-page .crumbs .crumb.active[data-v-68b57382] {
  color: #111111;
  cursor: default;
}
.courseware-page .crumbs .crumb-sep[data-v-68b57382] {
  color: #c5c9d1;
}
.courseware-page .list-shell[data-v-68b57382] {
  flex: 1;
  min-height: 0;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  overflow: hidden;
}
.courseware-page .courseware-scroll[data-v-68b57382] {
  height: 100%;
}
.courseware-page .list-inner[data-v-68b57382] {
  padding: 8px 0;
}
.courseware-page .state-box[data-v-68b57382],
.courseware-page .empty-box[data-v-68b57382] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 320px;
  color: #8b909a;
}
.courseware-page .empty-box[data-v-68b57382] {
  gap: 12px;
}
.courseware-page .empty-box .empty-image[data-v-68b57382] {
  width: 140px;
  height: 140px;
  object-fit: contain;
}
.courseware-page .empty-box .empty-text[data-v-68b57382] {
  font-size: 14px;
}
.courseware-page .courseware-row[data-v-68b57382] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: calc(100% - 20px);
  margin: 0 10px 8px;
  padding: 14px 16px;
  border: 1px solid #eceef2;
  border-radius: 12px;
  background: #ffffff;
  text-align: left;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.courseware-page .courseware-row[data-v-68b57382]:hover {
  border-color: #dbe7f8;
  box-shadow: 0 2px 10px rgba(8, 170, 255, 0.08);
}
.courseware-page .row-left[data-v-68b57382] {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 14px;
}
.courseware-page .file-icon[data-v-68b57382] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #eef3ff;
  font-size: 18px;
}
.courseware-page .file-icon.folder[data-v-68b57382] {
  background: #fff7e8;
}
.courseware-page .row-text[data-v-68b57382] {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.courseware-page .row-title[data-v-68b57382] {
  overflow: hidden;
  color: #111111;
  font-size: 15px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.courseware-page .row-subtitle[data-v-68b57382] {
  margin-top: 4px;
  color: #8b909a;
  font-size: 12px;
}
.courseware-page .row-arrow[data-v-68b57382] {
  color: #b7bcc7;
  font-size: 22px;
  line-height: 1;
  flex-shrink: 0;
}.profile-static-pane[data-v-00638b54] {
  display: flex;
  flex: 1 1 0%;
  min-height: 0;
  flex-direction: column;
  padding: 0 24px 24px;
  background: #f3f3f3;
  box-sizing: border-box;
}
.profile-static-title[data-v-00638b54] {
  flex-shrink: 0;
  height: 58px;
  margin: 0;
  color: #20243a;
  font-size: 18px;
  font-weight: 600;
  line-height: 58px;
  text-align: center;
}
.profile-static-body[data-v-00638b54] {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  padding-top: 14px;
}
.profile-about-center[data-v-00638b54] {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: min(760px, 100%);
  margin: 0 auto;
  gap: 18px;
}
.profile-about-logo-wrap[data-v-00638b54] {
  display: flex;
  width: 88px;
  height: 88px;
  align-items: center;
  justify-content: center;
}
.profile-about-logo[data-v-00638b54] {
  width: 88px;
  height: 88px;
  border-radius: 15px;
  object-fit: contain;
}
.profile-static-card[data-v-00638b54] {
  width: 100%;
  padding: 20px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.72);
  box-sizing: border-box;
}
.profile-static-text[data-v-00638b54] {
  margin: 0;
  color: #4c5364;
  font-size: 14px;
  line-height: 1.7;
}
.profile-static-footer[data-v-00638b54] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding-top: 20px;
}
.profile-static-footer-text[data-v-00638b54] {
  margin: 0;
  color: #9aa0af;
  font-size: 12px;
  text-align: center;
}.profile-device-detect-pane[data-v-c1a4965e] {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  padding: 0 15px 15px;
  box-sizing: border-box;
  background-color: #f3f3f3;
}
.profile-device-detect-header[data-v-c1a4965e] {
  position: relative;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  height: 56px;
}
.profile-device-detect-header h2[data-v-c1a4965e] {
  margin: 0;
  color: #20243a;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
}
.profile-device-detect-back[data-v-c1a4965e] {
  position: absolute;
  left: 8px;
  z-index: 2;
  display: flex;
  width: 48px;
  height: 20px;
  align-items: center;
  justify-content: flex-start;
  border: 0;
  background: transparent;
  color: #3d4df5;
  font-size: 14px;
  line-height: 20px;
  white-space: nowrap;
  cursor: pointer;
}
.profile-device-detect-scroll[data-v-c1a4965e] {
  flex: 1 1 0%;
  min-height: 0;
  height: 0;
  background: transparent;
}
.profile-device-detect-scroll[data-v-c1a4965e] .n-scrollbar-rail {
  display: none;
}
.pdd-prepare[data-v-c1a4965e] {
  max-width: 620px;
  margin: 0 auto;
  padding: 0 0 12px;
}
.hero-art[data-v-c1a4965e] {
  width: 160px;
  height: 160px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
.hero-art .illustration-img[data-v-c1a4965e] {
  width: 160px;
  height: 160px;
}
.header-subtitle[data-v-c1a4965e] {
  margin: 8px auto 20px;
  font-size: 13px;
  line-height: 1.5;
  color: #656b7b;
  text-align: center;
}
.section-title[data-v-c1a4965e] {
  margin-top: 2px;
  color: #20243a;
  font-size: 14px;
  font-weight: 600;
}
.permission-card[data-v-c1a4965e] {
  border: 2px solid #fff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  padding: 16px 14px;
  margin-top: 12px;
  display: flex;
  align-items: center;
}
.permission-icon-wrap[data-v-c1a4965e] {
  width: 48px;
  height: 48px;
  margin-right: 12px;
  flex: none;
}
.permission-check-icon[data-v-c1a4965e],
.help-icon[data-v-c1a4965e] {
  width: 100%;
  height: 100%;
}
.card-content[data-v-c1a4965e] {
  flex: 1;
  min-width: 0;
}
.card-title-row[data-v-c1a4965e] {
  display: flex;
  align-items: center;
}
.card-title[data-v-c1a4965e] {
  font-weight: 600;
  font-size: 15px;
  color: #20243a;
  white-space: nowrap;
}
.badge[data-v-c1a4965e] {
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 6px;
  font-weight: 700;
  font-size: 11px;
  color: #fff;
  white-space: nowrap;
}
.badge.orange[data-v-c1a4965e] {
  background: #ffac47;
}
.badge.green[data-v-c1a4965e] {
  background: #02cb98;
}
.card-desc[data-v-c1a4965e] {
  margin: 4px 0 0;
  font-size: 12px;
  line-height: 1.5;
  color: #737889;
}
.help-button[data-v-c1a4965e] {
  width: 24px;
  height: 24px;
  margin-left: 10px;
  flex: none;
}
.footer-button-container[data-v-c1a4965e] {
  padding: 18px 0 8px;
}
.primary-btn[data-v-c1a4965e] {
  width: 100%;
  height: 40px;
  border: 0;
  border-radius: 20px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  box-shadow: 0 6px 14px rgba(86, 80, 246, 0.18);
  font-weight: 600;
  font-size: 14px;
  color: #fff;
  cursor: pointer;
}
.primary-btn[data-v-c1a4965e]:disabled {
  opacity: 0.7;
  cursor: default;
}
.pdd-testing[data-v-c1a4965e] {
  display: flex;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  flex-direction: column;
  gap: 14px;
  padding: 12px 0 18px;
  box-sizing: border-box;
}
.test-card[data-v-c1a4965e] {
  padding: 14px;
  border: 2px solid #fff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
}
.test-card-header[data-v-c1a4965e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.test-header-left[data-v-c1a4965e] {
  display: flex;
  align-items: center;
}
.passed-icon[data-v-c1a4965e] {
  width: 32px;
  height: 32px;
  margin-right: 8px;
}
.test-card-title[data-v-c1a4965e] {
  font-size: 16px;
  font-weight: 700;
  color: #1e293b;
}
.status-badge[data-v-c1a4965e] {
  min-width: 68px;
  height: 26px;
  padding: 0 8px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
}
.status-badge.status-idle[data-v-c1a4965e] {
  color: #64748b;
  background: #f1f5f9;
}
.status-badge.status-starting[data-v-c1a4965e] {
  color: #3d4df5;
  background: #f4f5ff;
}
.status-badge.status-success[data-v-c1a4965e] {
  color: #02cb98;
  background: rgba(2, 203, 152, 0.1);
}
.status-badge.status-error[data-v-c1a4965e] {
  color: #ff4260;
  background: rgba(255, 66, 96, 0.1);
}
.status-icon[data-v-c1a4965e] {
  width: 14px;
  height: 14px;
}
.camera-preview-container[data-v-c1a4965e] {
  position: relative;
  height: 200px;
  border-radius: 10px;
  overflow: hidden;
  background: #1e293b;
}
.real-camera-view[data-v-c1a4965e] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scaleX(-1);
}
.camera-loading-overlay[data-v-c1a4965e] {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #94a3b8;
  font-size: 13px;
  background: #1e293b;
}
.spinner-large[data-v-c1a4965e] {
  width: 36px;
  height: 36px;
  box-sizing: border-box;
  border: 3px solid rgba(148, 163, 184, 0.28);
  border-top-color: #94a3b8;
  border-radius: 50%;
  animation: spinner-rotate-c1a4965e 0.8s linear infinite;
}
.test-card-desc[data-v-c1a4965e] {
  margin: 10px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: #737889;
}
.camera-error-content[data-v-c1a4965e],
.mic-error-content[data-v-c1a4965e] {
  margin-top: 0;
}
.error-panel[data-v-c1a4965e] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 140px;
  padding: 20px 16px;
  border: 1px solid #d7dbff;
  border-radius: 12px;
  background: #f4f5ff;
  color: #4d5363;
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
}
.error-panel-icon[data-v-c1a4965e] {
  width: 48px;
  height: 48px;
  flex: none;
}
.retry-actions[data-v-c1a4965e] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 12px;
}
.retry-btn[data-v-c1a4965e] {
  display: block;
  width: 100%;
  height: 36px;
  margin: 0;
  border: 0;
  border-radius: 18px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.retry-btn.ghost[data-v-c1a4965e] {
  background: #fff;
  color: #3d4df5;
  border: 1px solid #3d4df5;
}
.audio-meter[data-v-c1a4965e] {
  margin-top: 12px;
  padding: 12px 16px;
  border: 1px solid #d7dbff;
  border-radius: 12px;
  background: #f4f5ff;
}
.mic-player[data-v-c1a4965e] {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}
.vol-row[data-v-c1a4965e] {
  margin-top: 12px;
}
.vol-label[data-v-c1a4965e] {
  display: block;
  margin-bottom: 6px;
  font-size: 12px;
  color: #666;
}
.vol-slider[data-v-c1a4965e] {
  width: 100%;
  height: 4px;
  accent-color: #3d4df5;
  cursor: pointer;
}
.meter-header[data-v-c1a4965e] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.meter-name[data-v-c1a4965e] {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #20243a;
  font-size: 15px;
  font-weight: 700;
}
.meter-mic-icon[data-v-c1a4965e] {
  width: 16px;
  height: 16px;
}
.sound-percent[data-v-c1a4965e] {
  font-size: 13px;
  color: #3d4df5;
  font-weight: 600;
}
.meter-bars[data-v-c1a4965e] {
  height: 32px;
  margin-top: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3px;
}
.meter-bar[data-v-c1a4965e] {
  flex: 1;
  max-width: 8px;
  min-width: 4px;
  border-radius: 999px;
  background: #dfe3ff;
  opacity: 0.78;
}
.meter-bar.meter-bar-active[data-v-c1a4965e] {
  background: linear-gradient(180deg, #bf62fd, #3d4df5);
  opacity: 1;
  box-shadow: 0 2px 6px rgba(86, 80, 246, 0.28);
  animation: meterLive-c1a4965e 0.38s ease-in-out infinite alternate;
}
.meter-bars-idle .meter-bar[data-v-c1a4965e] {
  animation: meterIdle-c1a4965e 1.15s ease-in-out infinite alternate;
}
.mic-footer[data-v-c1a4965e] {
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 500;
  color: #02a978;
}
.pulse-dot[data-v-c1a4965e] {
  width: 6px;
  height: 6px;
  margin-right: 8px;
  border-radius: 50%;
  background: #02cb98;
  animation: pulse-c1a4965e 1.7s ease-in-out infinite;
}
.pdd-success-dialog[data-v-c1a4965e] {
  width: min(360px, 100vw - 48px);
  max-width: 360px;
  padding: 24px 20px 16px;
  border: 2px solid #fff;
  border-radius: 15px;
  background: #fff;
  box-sizing: border-box;
}
.pdd-success-title[data-v-c1a4965e] {
  padding: 0;
  color: #20243a;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
}
.pdd-success-content[data-v-c1a4965e] {
  padding: 10px 0 0;
  color: #737889;
  font-size: 14px;
  line-height: 1.45;
  text-align: center;
}
.pdd-success-ft[data-v-c1a4965e] {
  display: flex;
  gap: 12px;
  margin-top: 20px;
}
.pdd-success-btn[data-v-c1a4965e] {
  flex: 1;
  height: 44px;
  border: 1px solid #d7dbff;
  border-radius: 10px;
  background: #fff;
  color: #3d4df5;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}
.pdd-success-btn--primary[data-v-c1a4965e] {
  border: 0;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  color: #fff;
}
@keyframes spinner-rotate-c1a4965e {
to {
    transform: rotate(360deg);
}
}
@keyframes meterLive-c1a4965e {
from {
    transform: scaleY(0.72);
}
to {
    transform: scaleY(1);
}
}
@keyframes meterIdle-c1a4965e {
from {
    opacity: 0.45;
}
to {
    opacity: 0.85;
}
}
@keyframes pulse-c1a4965e {
0%, 100% {
    opacity: 0.35;
    transform: scale(0.85);
}
50% {
    opacity: 1;
    transform: scale(1.15);
}
}.profile-static-pane[data-v-1d718438] {
  display: flex;
  flex: 1 1 0%;
  min-height: 0;
  flex-direction: column;
  padding: 0 24px 24px;
  background: #f3f3f3;
  box-sizing: border-box;
}
.profile-static-title[data-v-1d718438] {
  flex-shrink: 0;
  height: 58px;
  margin: 0;
  color: #20243a;
  font-size: 18px;
  font-weight: 600;
  line-height: 58px;
  text-align: center;
}
.profile-static-body[data-v-1d718438] {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  padding-top: 14px;
}
.profile-contact-cards[data-v-1d718438] {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
.profile-contact-card[data-v-1d718438] {
  width: min(390px, 48%);
  padding: 20px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: none;
  box-sizing: border-box;
}
.profile-contact-header[data-v-1d718438] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 14px;
  line-height: 1.4;
  white-space: nowrap;
}
.profile-contact-label[data-v-1d718438] {
  flex-shrink: 0;
  color: #20243a;
  font-weight: 600;
}
.profile-contact-value[data-v-1d718438] {
  flex-shrink: 0;
  color: #535b70;
}
.profile-contact-divider[data-v-1d718438] {
  height: 1px;
  margin: 14px 0 18px;
  background: rgba(61, 77, 245, 0.1);
}
.profile-contact-qr[data-v-1d718438] {
  display: block;
  width: 220px;
  height: 220px;
  margin: 0 auto;
  object-fit: contain;
}
.profile-contact-caption[data-v-1d718438] {
  margin-top: 14px;
  color: #20243a;
  font-size: 14px;
  line-height: 1.4;
  white-space: nowrap;
  text-align: center;
}
@media (max-width: 900px) {
.profile-contact-cards[data-v-1d718438] {
    flex-direction: column;
    align-items: center;
    overflow-y: auto;
    padding: 16px 0;
}
.profile-contact-card[data-v-1d718438] {
    width: min(420px, 100%);
}
}
.profile-static-footer[data-v-1d718438] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding-top: 20px;
}
.profile-static-footer-text[data-v-1d718438] {
  margin: 0;
  color: #9aa0af;
  font-size: 12px;
  text-align: center;
}.profile-edit-pane[data-v-1ffa3a11] {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  padding: 0 24px;
  background: #f3f3f3;
  box-sizing: border-box;
}
.profile-edit-header[data-v-1ffa3a11] {
  position: relative;
  flex: 0 0 56px;
}
.profile-edit-title[data-v-1ffa3a11] {
  margin: 0;
  color: #20243a;
  font-size: 18px;
  font-weight: 600;
  line-height: 56px;
  text-align: center;
}
.profile-edit-back[data-v-1ffa3a11] {
  position: absolute;
  top: 18px;
  left: 0;
  z-index: 1;
  height: 20px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #3d4df5;
  cursor: pointer;
  font-size: 16px;
  line-height: 20px;
}
.profile-edit-scroll[data-v-1ffa3a11] {
  min-height: 0;
  height: 0;
  flex: 1 1 0;
}
.profile-edit-content[data-v-1ffa3a11] {
  padding: 0 0 16px;
}
.profile-edit-card[data-v-1ffa3a11] {
  margin-bottom: 14px;
  overflow: hidden;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.72);
  box-sizing: border-box;
}
.profile-edit-avatar-row[data-v-1ffa3a11],
.profile-edit-item[data-v-1ffa3a11] {
  display: flex;
  min-height: 54px;
  align-items: center;
  gap: 12px;
  padding: 0 18px;
  border-bottom: 1px solid rgba(61, 77, 245, 0.1);
  box-sizing: border-box;
}
.profile-edit-avatar-row[data-v-1ffa3a11] {
  min-height: 76px;
}
.profile-edit-item[data-v-1ffa3a11]:last-child {
  border-bottom: 0;
}
.profile-edit-label[data-v-1ffa3a11] {
  flex: 0 0 88px;
  color: #20243a;
  font-size: 15px;
  font-weight: 500;
}
.profile-edit-avatar-control[data-v-1ffa3a11] {
  position: relative;
  display: flex;
  width: 54px;
  height: 54px;
  min-width: 54px;
  margin-left: auto;
  align-items: center;
  justify-content: center;
}
.profile-edit-avatar-image[data-v-1ffa3a11] {
  width: 52px;
  height: 52px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: #eef2f4;
  box-shadow: 0 3px 10px rgba(43, 67, 83, 0.13);
  object-fit: cover;
}
.profile-edit-avatar-camera[data-v-1ffa3a11] {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 18px;
  height: 18px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: contain !important;
  pointer-events: none;
  z-index: 1;
}
.profile-edit-avatar-control button[data-v-1ffa3a11] {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: transparent;
  cursor: pointer;
}
.profile-edit-avatar-control button[data-v-1ffa3a11]:disabled {
  cursor: default;
  opacity: 0.62;
}
.profile-edit-avatar-control input[data-v-1ffa3a11] {
  display: none;
}
.profile-edit-readonly[data-v-1ffa3a11] {
  min-width: 0;
  flex: 1;
  color: #6f7687;
  font-size: 15px;
  text-align: right;
}
.profile-edit-field[data-v-1ffa3a11],
.profile-edit-picker[data-v-1ffa3a11] {
  display: flex;
  min-width: 0;
  flex: 1;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
}
.profile-edit-field img[data-v-1ffa3a11] {
  width: 14px;
  height: 14px;
  opacity: 0.62;
}
.profile-edit-input[data-v-1ffa3a11] {
  min-width: 0;
  flex: 1;
  height: 36px;
  border: 0;
  background: transparent;
  color: #20243a;
  font-size: 15px;
  text-align: right;
  outline: 0;
}
.profile-edit-input[data-v-1ffa3a11]::placeholder,
.profile-edit-picker select[data-v-1ffa3a11]:invalid {
  color: #aeb4c5;
}
.profile-edit-picker[data-v-1ffa3a11] {
  position: relative;
}
.profile-edit-picker select[data-v-1ffa3a11] {
  width: 100%;
  height: 36px;
  padding: 0 20px 0 0;
  appearance: none;
  border: 0;
  background: transparent;
  color: #20243a;
  font-size: 15px;
  text-align: right;
  text-align-last: right;
  outline: 0;
}
.profile-edit-picker select[data-v-1ffa3a11]:disabled {
  color: #aeb4c5;
}
.profile-edit-arrow[data-v-1ffa3a11] {
  position: absolute;
  right: 0;
  color: #aeb4c5;
  font-size: 22px;
  font-style: normal;
  line-height: 1;
  pointer-events: none;
}
.profile-edit-card--textarea[data-v-1ffa3a11] {
  display: flex;
  flex-direction: column;
  padding: 14px 18px;
}
.profile-edit-label--stack[data-v-1ffa3a11] {
  flex: none;
  width: 100%;
  margin-bottom: 8px;
}
.profile-edit-textarea[data-v-1ffa3a11] {
  width: 100%;
  min-height: 96px;
  resize: vertical;
  padding: 10px 12px;
  border: 1px solid #d7dbff;
  border-radius: 10px;
  background: rgba(244, 245, 255, 0.72);
  color: #20243a;
  font-size: 15px;
  line-height: 1.55;
  font-family: inherit;
  box-sizing: border-box;
  outline: 0;
}
.profile-edit-textarea[data-v-1ffa3a11]::placeholder {
  color: #aeb4c5;
}
.profile-edit-count[data-v-1ffa3a11] {
  align-self: flex-end;
  margin-top: 6px;
  color: #8c93a5;
  font-size: 12px;
}
.profile-edit-actions[data-v-1ffa3a11] {
  flex: 0 0 auto;
  padding: 12px 0 20px;
  background: #f3f3f3;
}
.profile-edit-submit-btn[data-v-1ffa3a11] {
  width: 100%;
  height: 48px;
  border: 0;
  border-radius: 24px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  color: #ffffff;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  box-shadow: 0 8px 18px rgba(92, 79, 246, 0.2);
}
.profile-edit-submit-btn.loading[data-v-1ffa3a11] {
  opacity: 0.7;
}.profile-edit-pane .profile-edit-card:has(.profile-edit-picker) {
  display: none;
}
.profile-edit-pane .profile-edit-picker {
  display: flex;
  min-width: 0;
  flex: 1;
  align-items: center;
  justify-content: flex-end;
}
.profile-edit-pane .profile-edit-select {
  display: block;
  min-width: 0;
  flex: 1;
  width: auto;
}
.profile-edit-pane .profile-edit-select .n-base-selection {
  --n-height: 40px !important;
  --n-border: 0 !important;
  --n-border-hover: 0 !important;
  --n-border-focus: 0 !important;
  --n-border-active: 0 !important;
  --n-box-shadow-focus: none !important;
  --n-box-shadow-active: none !important;
  --n-color: transparent !important;
  --n-color-active: transparent !important;
  --n-placeholder-color: #aeb4c5 !important;
  --n-text-color: #20243a !important;
  --n-font-size: 15px !important;
  --n-arrow-color: #aeb4c5 !important;
  padding: 0 !important;
}
.profile-edit-pane .profile-edit-select .n-base-selection-label, .profile-edit-pane .profile-edit-select .n-base-selection-placeholder {
  padding: 0 !important;
  justify-content: flex-end !important;
  text-align: right !important;
}
.profile-edit-pane .profile-edit-select .n-base-selection-label {
  color: #20243a !important;
}
.profile-edit-pane .profile-edit-select .n-base-selection-placeholder {
  color: #aeb4c5 !important;
}
.profile-edit-pane .profile-edit-select .n-base-selection-placeholder__inner, .profile-edit-pane .profile-edit-select .n-base-selection-input, .profile-edit-pane .profile-edit-select .n-base-selection-input__content {
  width: 100% !important;
  color: inherit !important;
  text-align: right !important;
}
.profile-edit-pane .profile-edit-select .n-base-selection__arrow {
  margin-left: 6px !important;
}
.profile-edit-pane .profile-edit-card--selects .profile-edit-label {
  font-size: 15px !important;
  line-height: 1.4;
}
.profile-edit-pane .profile-edit-item.is-disabled .profile-edit-select {
  opacity: 0.72;
}
.v-binder-follower-container.n-select {
  z-index: 20000 !important;
}
.v-binder-follower-container.n-select .v-binder-follower-content {
  z-index: 20000 !important;
}
.profile-edit-pane .profile-edit-date-field {
  position: relative;
}
.profile-edit-pane .profile-edit-date-picker {
  min-width: 0;
  flex: 1;
  width: auto;
}
.profile-edit-pane .profile-edit-date-picker .n-input {
  --n-height: 36px !important;
  --n-border: 0 !important;
  --n-border-hover: 0 !important;
  --n-border-focus: 0 !important;
  --n-box-shadow-focus: none !important;
  --n-color: transparent !important;
  --n-text-color: #20243a !important;
  --n-placeholder-color: #aeb4c5 !important;
  --n-font-size: 15px !important;
  padding: 0 !important;
}
.profile-edit-pane .profile-edit-date-picker .n-input__input-el, .profile-edit-pane .profile-edit-date-picker .n-input__placeholder {
  padding: 0 !important;
  text-align: right !important;
}
.profile-edit-pane .profile-edit-date-picker .n-input__input-el {
  color: #20243a !important;
}
.profile-edit-pane .profile-edit-date-picker .n-input__placeholder {
  color: #aeb4c5 !important;
}
.profile-edit-pane .profile-edit-date-picker .n-input__suffix {
  color: #aeb4c5 !important;
}.profile-feedback-pane[data-v-90c0e4e4] {
  display: flex;
  flex: 1 1 0%;
  width: 100%;
  min-height: 0;
  flex-direction: column;
  background: #f3f3f3;
  box-sizing: border-box;
}
.profile-feedback-header[data-v-90c0e4e4] {
  display: flex;
  height: 54px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  line-height: 54px;
  text-align: center;
  box-sizing: border-box;
}
.profile-feedback-title[data-v-90c0e4e4] {
  margin: 0;
  color: #1a1a1a;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0;
  text-align: center;
}
.profile-feedback-body[data-v-90c0e4e4] {
  display: flex;
  flex: 1 1 0%;
  min-height: 0;
  flex-direction: column;
  padding-bottom: 0;
  overflow: hidden;
  box-sizing: border-box;
}
.profile-pane-loading[data-v-90c0e4e4],
.profile-pane-empty[data-v-90c0e4e4] {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #999999;
  font-size: 14px;
  text-align: center;
}
.profile-pane-empty-image[data-v-90c0e4e4] {
  width: 160px;
  height: 160px;
  margin-bottom: 12px;
  object-fit: contain;
}
.profile-pane-empty-text[data-v-90c0e4e4] {
  color: #999999;
  font-size: 14px;
}
.profile-feedback-scroll[data-v-90c0e4e4] {
  flex: 1 1 0%;
  min-height: 0;
  height: 100%;
}
.profile-feedback-scroll[data-v-90c0e4e4] .n-scrollbar-rail {
  right: 2px;
  width: 4px;
}
.profile-feedback-scroll[data-v-90c0e4e4] .n-scrollbar-rail__scrollbar {
  width: 4px;
  border-radius: 999px;
  background: #d5d5d5;
  opacity: 1;
}
.profile-feedback-list[data-v-90c0e4e4] {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px 20px;
  box-sizing: border-box;
}
.profile-feedback-card[data-v-90c0e4e4] {
  margin-bottom: 14px;
  overflow: hidden;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
  text-align: left;
}
.profile-feedback-card[data-v-90c0e4e4]:last-child {
  margin-bottom: 0;
}
.profile-feedback-card-top[data-v-90c0e4e4] {
  display: flex;
  height: 44px;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
}
.profile-feedback-card-status[data-v-90c0e4e4] {
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
}
.profile-feedback-card-action[data-v-90c0e4e4] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border: 0;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.18);
  cursor: pointer;
  outline: none;
}
.profile-feedback-card-action[data-v-90c0e4e4]:hover {
  background: rgba(255, 255, 255, 0.28);
}
.profile-feedback-card-action-text[data-v-90c0e4e4] {
  color: rgba(255, 255, 255, 0.95);
  font-size: 12px;
  font-weight: 700;
}
.profile-feedback-card-body[data-v-90c0e4e4] {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  box-sizing: border-box;
  cursor: pointer;
}
.profile-feedback-avatar[data-v-90c0e4e4] {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  border-radius: 12px;
  object-fit: cover;
  background: #f3f3f3;
}
.profile-feedback-info[data-v-90c0e4e4] {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 4px;
}
.profile-feedback-name[data-v-90c0e4e4] {
  overflow: hidden;
  color: #222222;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-feedback-time[data-v-90c0e4e4] {
  overflow: hidden;
  color: #6f6f6f;
  font-size: 12px;
  font-weight: normal;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-feedback-duration[data-v-90c0e4e4] {
  display: block;
  overflow: hidden;
  color: #6f6f6f;
  font-size: 12px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-feedback-list-footer[data-v-90c0e4e4] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 0 8px;
}
.profile-feedback-list-footer-text[data-v-90c0e4e4] {
  color: #999999;
  font-size: 13px;
  text-align: center;
}.trs-row[data-v-61071f22] {
  --trs-size: 14px;
  --trs-gap: 2px;
  display: flex;
  flex-direction: row;
  align-items: center;
}
.trs-row.trs-row--compact[data-v-61071f22] {
  --trs-size: 12px;
  --trs-gap: 2px;
}
.trs-slot[data-v-61071f22] {
  position: relative;
  width: var(--trs-size);
  height: var(--trs-size);
  flex-shrink: 0;
  margin-right: var(--trs-gap);
}
.trs-slot[data-v-61071f22]:last-child {
  margin-right: 0;
}
.trs-star-base[data-v-61071f22],
.trs-star-overlay[data-v-61071f22] {
  width: var(--trs-size);
  height: var(--trs-size);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.trs-star-base[data-v-61071f22] {
  position: relative;
  z-index: 0;
}
.trs-clip[data-v-61071f22] {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  overflow: hidden;
  z-index: 1;
  pointer-events: none;
  box-sizing: border-box;
}
.trs-star-overlay[data-v-61071f22] {
  position: absolute;
  left: 0;
  top: 0;
  max-width: none;
}.profile-favorite-pane[data-v-18ddb4e5] {
  display: flex;
  flex: 1 1 0%;
  width: 100%;
  min-height: 0;
  flex-direction: column;
  background: #f3f3f3;
  box-sizing: border-box;
}
.profile-favorite-header[data-v-18ddb4e5] {
  display: flex;
  height: 56px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  box-sizing: border-box;
}
.profile-favorite-title[data-v-18ddb4e5] {
  margin: 0;
  color: #20243a;
  font-size: 18px;
  font-weight: 600;
}
.profile-favorite-body[data-v-18ddb4e5] {
  display: flex;
  flex: 1 1 0%;
  min-height: 0;
  flex-direction: column;
  padding-bottom: 15px;
  overflow: hidden;
  box-sizing: border-box;
}
.profile-pane-loading[data-v-18ddb4e5],
.profile-pane-empty[data-v-18ddb4e5] {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #999999;
  font-size: 14px;
  text-align: center;
}
.profile-pane-empty-image[data-v-18ddb4e5] {
  width: 160px;
  height: 160px;
  margin-bottom: 12px;
  object-fit: contain;
}
.profile-pane-empty-text[data-v-18ddb4e5] {
  color: #999999;
  font-size: 14px;
}
.profile-favorite-scroll[data-v-18ddb4e5] {
  flex: 1 1 0%;
  min-height: 0;
  height: 0;
}
.profile-favorite-scroll[data-v-18ddb4e5] .n-scrollbar-rail {
  right: 5px;
  width: 3px;
}
.profile-favorite-scroll[data-v-18ddb4e5] .n-scrollbar-rail__scrollbar {
  width: 3px;
  border-radius: 999px;
  background: #c7c7c7;
  opacity: 1;
}
.profile-favorite-list[data-v-18ddb4e5] {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 0 15px 18px;
  box-sizing: border-box;
}
.profile-favorite-row[data-v-18ddb4e5] {
  display: flex;
  align-items: center;
  min-height: 98px;
  padding: 14px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
}
.profile-favorite-avatar[data-v-18ddb4e5] {
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  border-radius: 12px;
  object-fit: cover;
  background: #f3f3f3;
}
.profile-favorite-info[data-v-18ddb4e5] {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  margin-left: 14px;
}
.profile-favorite-name[data-v-18ddb4e5] {
  margin: 0 0 1px;
  color: #20243a;
  font-size: 15px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-favorite-stars[data-v-18ddb4e5] {
  display: flex;
  align-items: center;
  margin-bottom: 5px;
}
.profile-favorite-tags[data-v-18ddb4e5] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.profile-favorite-tag[data-v-18ddb4e5] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 7px;
  border-radius: 6px;
  background: #f4f5ff;
  color: #3d4df5;
  font-size: 11px;
}
.profile-favorite-action[data-v-18ddb4e5] {
  margin-left: 14px;
  flex-shrink: 0;
}
.profile-favorite-book-btn[data-v-18ddb4e5] {
  width: 88px;
  height: 34px;
  border: 0;
  border-radius: 16px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  color: #ffffff;
  font-size: 13px;
  font-weight: 600;
  box-shadow: 0 6px 14px rgba(86, 80, 246, 0.18);
  cursor: pointer;
}
.profile-favorite-footer[data-v-18ddb4e5] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px 0 10px;
}
.profile-favorite-footer-text[data-v-18ddb4e5] {
  color: #999999;
  font-size: 13px;
  text-align: center;
}.learning-duration-pane[data-v-4daf4db4] {
  position: relative;
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  overflow: hidden;
  background: #f3f3f3;
}
.learning-duration-header[data-v-4daf4db4] {
  flex: 0 0 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
  padding: 0 32px;
  box-sizing: border-box;
}
.learning-duration-header h2[data-v-4daf4db4] {
  margin: 0;
  color: #111111;
  font-size: 18px;
  font-weight: 400;
}
.learning-duration-scroll[data-v-4daf4db4] {
  flex: 1 1 0;
  min-height: 0;
  height: 0;
  width: 100%;
  margin: 0;
  padding: 0 15px 20px;
  overflow: auto;
  box-sizing: border-box;
}
.learning-duration-scroll[data-v-4daf4db4]::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
.learning-duration-summary[data-v-4daf4db4] {
  padding: 16px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
}
.learning-duration-summary-label[data-v-4daf4db4],
.learning-duration-chart-title-row[data-v-4daf4db4] {
  color: #333333;
  font-size: 14px;
  font-weight: 600;
}
.learning-duration-chart-title-row[data-v-4daf4db4] {
  font-weight: 400;
}
.learning-duration-total[data-v-4daf4db4] {
  display: block;
  margin: 0;
  color: #3d4df5;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: -1px;
}
.learning-duration-chart-title-row[data-v-4daf4db4] {
  margin: 16px 0 12px;
  font-size: 14px;
}
.learning-duration-chart-card[data-v-4daf4db4] {
  padding: 14px 12px 10px;
  border: 1px solid #ffffff;
  border-radius: 12px;
  background: #f4f5ff;
}
.learning-duration-chart-heading[data-v-4daf4db4] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #333333;
  font-size: 16px;
}
.learning-duration-chart-heading span[data-v-4daf4db4] {
  color: #4b4e55;
  font-size: 14px;
  font-weight: 400;
}
.learning-duration-chart-heading strong[data-v-4daf4db4] {
  font-weight: 400;
}
.learning-duration-chart[data-v-4daf4db4] {
  width: 100%;
  height: 190px;
}
.learning-duration-section-title[data-v-4daf4db4] {
  margin: 18px 0 10px;
  color: #33373d;
  font-size: 14px;
  font-weight: 600;
}
.learning-duration-record-list[data-v-4daf4db4] {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.learning-duration-record[data-v-4daf4db4] {
  display: flex;
  min-height: 90px;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: none;
  box-sizing: border-box;
}
.learning-duration-teacher-avatar[data-v-4daf4db4] {
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  overflow: hidden;
  border-radius: 10px;
  background: #dcebf3;
}
.learning-duration-teacher-avatar img[data-v-4daf4db4] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.learning-duration-record-main[data-v-4daf4db4] {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 7px;
  color: #777b82;
  font-size: 14px;
}
.learning-duration-record-main strong[data-v-4daf4db4] {
  color: #30343a;
  font-size: 15px;
}
.learning-duration-record-title-row[data-v-4daf4db4] {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}
.learning-duration-record-title-row strong[data-v-4daf4db4] {
  min-width: 0;
}
.learning-duration-record-category-tag[data-v-4daf4db4] {
  flex-shrink: 0;
  padding: 3px 7px;
  border-radius: 5px;
  background: #e8f6ff;
  color: #08aaff;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
}
.learning-duration-record-side[data-v-4daf4db4] {
  display: flex;
  flex: 0 0 116px;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  color: #777b82;
  font-size: 12px;
}
.learning-duration-record-side button[data-v-4daf4db4] {
  padding: 7px 12px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  color: #fff;
  font-size: 12px;
  cursor: pointer;
  transition: transform 160ms ease, background 160ms ease;
}
.learning-duration-record-side button[data-v-4daf4db4]:hover {
  background: linear-gradient(90deg, #3444e8, #ae54ed);
  transform: translateY(-1px);
}
@media (max-width: 720px) {
.learning-duration-scroll[data-v-4daf4db4] {
    padding-right: 16px;
    padding-left: 16px;
}
.learning-duration-summary[data-v-4daf4db4] {
    padding: 22px 18px;
}
.learning-duration-record[data-v-4daf4db4] {
    align-items: flex-start;
}
.learning-duration-record-side[data-v-4daf4db4] {
    flex-basis: auto;
    gap: 12px;
}
}.profile-msg-pane[data-v-ca80a553] {
  display: flex;
  flex: 1 1 0%;
  width: 100%;
  min-height: 0;
  flex-direction: column;
  background: #ffffff;
  box-sizing: border-box;
}
.profile-msg-header[data-v-ca80a553] {
  display: flex;
  height: 58px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  padding: 0 32px;
  box-sizing: border-box;
}
.profile-msg-title[data-v-ca80a553] {
  margin: 0;
  color: #111111;
  font-size: 18px;
  font-weight: 400;
}
.profile-msg-tabs[data-v-ca80a553] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin: 0 auto 16px;
  padding: 4px;
  border-radius: 999px;
  background: #f5f7fa;
}
.profile-msg-tab[data-v-ca80a553] {
  min-width: 80px;
  padding: 7px 20px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #666666;
  font-size: 14px;
  text-align: center;
  cursor: pointer;
}
.profile-msg-tab.active[data-v-ca80a553] {
  background: #1ba7ff;
  color: #ffffff;
}
.profile-msg-body[data-v-ca80a553] {
  display: flex;
  flex: 1 1 0%;
  min-height: 0;
  flex-direction: column;
  padding: 0 0 32px;
  overflow: hidden;
  box-sizing: border-box;
}
.profile-msg-loading[data-v-ca80a553],
.profile-msg-empty[data-v-ca80a553] {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #999999;
  font-size: 14px;
  text-align: center;
}
.profile-msg-empty-image[data-v-ca80a553] {
  width: 160px;
  height: 160px;
  margin-bottom: 12px;
  object-fit: contain;
}
.profile-msg-empty-text[data-v-ca80a553] {
  color: #b7b7b7;
  font-size: 14px;
}
.profile-msg-scroll[data-v-ca80a553] {
  flex: 1 1 0%;
  min-height: 0;
  height: 100%;
}
.profile-msg-scroll[data-v-ca80a553] .n-scrollbar-rail {
  right: 2px;
  width: 4px;
}
.profile-msg-scroll[data-v-ca80a553] .n-scrollbar-rail__scrollbar {
  width: 4px;
  border-radius: 999px;
  background: #d5d5d5;
  opacity: 1;
}
.profile-msg-list[data-v-ca80a553] {
  padding: 0 32px 0 32px;
  box-sizing: border-box;
}
.profile-msg-item[data-v-ca80a553] {
  margin-bottom: 16px;
  padding: 14px 16px 12px;
  border: 1px solid #eeeeee;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
  box-sizing: border-box;
  cursor: pointer;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}
.profile-msg-item[data-v-ca80a553]:last-child {
  margin-bottom: 4px;
}
.profile-msg-item[data-v-ca80a553]:hover {
  border-color: #e5e5e5;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.profile-msg-item-top[data-v-ca80a553] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.profile-msg-item-title[data-v-ca80a553] {
  flex: 1;
  min-width: 0;
  margin: 0;
  color: #333333;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.profile-msg-unread-dot[data-v-ca80a553] {
  width: 8px;
  height: 8px;
  flex-shrink: 0;
  margin-top: 6px;
  border-radius: 50%;
  background: #ff4d4f;
}
.profile-msg-item-content[data-v-ca80a553] {
  margin: 0;
  color: #999999;
  font-size: 14px;
  line-height: 1.55;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}
.profile-msg-item-footer[data-v-ca80a553] {
  margin-top: 12px;
}
.profile-msg-item-divider[data-v-ca80a553] {
  height: 1px;
  margin-bottom: 10px;
  background: #efefef;
}
.profile-msg-item-meta[data-v-ca80a553] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.profile-msg-item-time[data-v-ca80a553] {
  flex-shrink: 0;
  color: #999999;
  font-size: 12px;
}
.profile-msg-item-action[data-v-ca80a553] {
  display: flex;
  align-items: center;
  gap: 2px;
}
.profile-msg-item-action-text[data-v-ca80a553] {
  color: #999999;
  font-size: 12px;
}
.profile-msg-item-action-chevron[data-v-ca80a553] {
  margin-top: -1px;
  color: #bbbbbb;
  font-size: 14px;
  line-height: 1;
}.official-account-pane[data-v-49b005ec] {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  background: #f3f3f3;
}
.official-account-pane__header[data-v-49b005ec] {
  display: flex;
  height: 56px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
}
.official-account-pane__header h2[data-v-49b005ec] {
  margin: 0;
  color: #20243a;
  font-size: 18px;
  font-weight: 600;
}
.official-account-pane__body[data-v-49b005ec] {
  display: flex;
  min-height: 0;
  flex: 1;
  align-items: center;
  justify-content: center;
  padding: 15px 15px 28px;
  color: #20243a;
  box-sizing: border-box;
}
.official-account-pane__card[data-v-49b005ec] {
  display: flex;
  width: min(100%, 400px);
  min-height: 390px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 28px;
  border: 2px solid #fff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
}
.official-account-pane__card strong[data-v-49b005ec] {
  margin-top: 18px;
  color: #20243a;
  font-size: 16px;
  font-weight: 600;
}
.official-account-pane__qr[data-v-49b005ec] {
  width: 220px;
  height: 220px;
  border-radius: 10px;
  background: #fff;
  object-fit: contain;
}
.official-account-pane__tip[data-v-49b005ec] {
  margin-top: 10px;
  color: #85899a;
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
}
.official-account-pane__tip--secondary[data-v-49b005ec] {
  margin-top: 4px;
  color: #a1a5b3;
  font-size: 12px;
}
.official-account-pane__refresh[data-v-49b005ec],
.official-account-pane__retry[data-v-49b005ec] {
  height: 36px;
  margin-top: 20px;
  padding: 0 22px;
  border: 0;
  border-radius: 18px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  box-shadow: 0 6px 14px rgba(86, 80, 246, 0.18);
  color: #fff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
}
.official-account-pane__success[data-v-49b005ec] {
  display: flex;
  width: 64px;
  height: 64px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #3d4df5, #bf62fd);
  color: #fff;
  font-size: 36px;
}.profile-password-pane[data-v-5c3e77e8] {
  display: flex;
  flex: 1 1 0%;
  min-height: 0;
  flex-direction: column;
  padding: 0 24px 20px;
  background: #f3f3f3;
  box-sizing: border-box;
}
.profile-password-title[data-v-5c3e77e8] {
  flex-shrink: 0;
  height: 56px;
  margin: 0;
  color: #20243a;
  font-size: 18px;
  font-weight: 600;
  line-height: 56px;
  text-align: center;
}
.profile-password-card[data-v-5c3e77e8] {
  margin-bottom: auto;
  overflow: hidden;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.72);
  box-sizing: border-box;
}
.profile-password-item[data-v-5c3e77e8] {
  display: flex;
  min-height: 54px;
  align-items: center;
  gap: 12px;
  padding: 0 18px;
  border-bottom: 1px solid rgba(61, 77, 245, 0.1);
  box-sizing: border-box;
}
.profile-password-item[data-v-5c3e77e8]:last-child {
  border-bottom: 0;
}
.profile-password-label[data-v-5c3e77e8] {
  flex: 0 0 auto;
  min-width: 6.5em;
  color: #20243a;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
}
.profile-password-input[data-v-5c3e77e8] {
  flex: 1;
  min-width: 0;
  height: 38px;
  border: 0;
  background: transparent;
  color: #20243a;
  font-size: 15px;
  text-align: right;
  outline: none;
}
.profile-password-input[data-v-5c3e77e8]::placeholder {
  color: #aeb4c5;
}
.profile-password-submit[data-v-5c3e77e8] {
  flex-shrink: 0;
  width: 100%;
  height: 48px;
  margin-top: 12px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  color: #ffffff;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(92, 79, 246, 0.2);
}
.profile-password-submit.loading[data-v-5c3e77e8] {
  opacity: 0.7;
}.profile-privacy-pane[data-v-d3c130a8] {
  display: flex;
  flex: 1 1 0%;
  min-height: 0;
  flex-direction: column;
  padding: 0 24px 24px;
  background: #f3f3f3;
  box-sizing: border-box;
}
.profile-privacy-title[data-v-d3c130a8] {
  flex-shrink: 0;
  height: 56px;
  margin: 0;
  color: #20243a;
  font-size: 18px;
  font-weight: 600;
  line-height: 56px;
  text-align: center;
}
.profile-privacy-card[data-v-d3c130a8] {
  margin-top: 8px;
  overflow: hidden;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.72);
}
.profile-privacy-cell[data-v-d3c130a8] {
  display: flex;
  width: 100%;
  height: 54px;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  border: 0;
  background: transparent;
  cursor: pointer;
  box-sizing: border-box;
}
.profile-privacy-cell[data-v-d3c130a8]:hover {
  background: #f4f5ff;
}
.profile-privacy-label[data-v-d3c130a8] {
  color: #20243a;
  font-size: 15px;
  font-weight: 500;
}
.profile-privacy-right[data-v-d3c130a8] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.profile-privacy-status[data-v-d3c130a8] {
  color: #8c93a5;
  font-size: 14px;
}
.profile-privacy-chevron[data-v-d3c130a8] {
  color: #aeb4c5;
  font-size: 22px;
  line-height: 1;
}.profile-replay-pane[data-v-797a771c] {
  display: flex;
  flex: 1 1 0%;
  width: 100%;
  min-height: 0;
  flex-direction: column;
  background: #ffffff;
  box-sizing: border-box;
}
.profile-replay-header[data-v-797a771c] {
  display: flex;
  height: 58px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  padding: 0 32px;
  line-height: 58px;
  text-align: center;
  box-sizing: border-box;
}
.profile-replay-title[data-v-797a771c] {
  margin: 0;
  color: #111111;
  font-size: 18px;
  font-weight: 400;
  text-align: center;
}
.profile-replay-body[data-v-797a771c] {
  display: flex;
  flex: 1 1 0%;
  min-height: 0;
  flex-direction: column;
  padding-bottom: 32px;
  overflow: hidden;
  box-sizing: border-box;
}
.profile-pane-loading[data-v-797a771c],
.profile-pane-empty[data-v-797a771c] {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #999999;
  font-size: 14px;
  text-align: center;
}
.profile-pane-empty-image[data-v-797a771c] {
  width: 160px;
  height: 160px;
  margin-bottom: 12px;
  object-fit: contain;
}
.profile-pane-empty-text[data-v-797a771c] {
  color: #999999;
  font-size: 14px;
}
.profile-replay-scroll[data-v-797a771c] {
  flex: 1 1 0%;
  min-height: 0;
  height: 100%;
}
.profile-replay-scroll[data-v-797a771c] .n-scrollbar-rail {
  right: 2px;
  width: 4px;
}
.profile-replay-scroll[data-v-797a771c] .n-scrollbar-rail__scrollbar {
  width: 4px;
  border-radius: 999px;
  background: #d5d5d5;
  opacity: 1;
}
.profile-replay-list[data-v-797a771c] {
  padding: 0 32px;
  box-sizing: border-box;
}
.profile-replay-card[data-v-797a771c] {
  margin-bottom: 14px;
  overflow: hidden;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.05);
  cursor: pointer;
  text-align: left;
}
.profile-replay-card[data-v-797a771c]:last-child {
  margin-bottom: 0;
}
.profile-replay-top[data-v-797a771c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 12px 8px;
}
.profile-replay-date[data-v-797a771c] {
  color: #2a2a2a;
  font-size: 15px;
  font-weight: 400;
  white-space: nowrap;
}
.replay-card-status[data-v-797a771c] {
  display: flex;
  min-width: 66px;
  height: 28px;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border-radius: 10px;
  background: #f0f0f0;
  color: #999;
  font-size: 12px;
  font-weight: 700;
  box-sizing: border-box;
}
.replay-card-status.ready[data-v-797a771c] {
  background: #eaf6ff;
  color: #08aaff;
}
.profile-replay-divider[data-v-797a771c] {
  height: 1px;
  margin: 0 12px;
  background: #efefef;
}
.profile-replay-bottom[data-v-797a771c] {
  display: flex;
  align-items: center;
  padding: 14px 16px 16px;
}
.profile-replay-avatar[data-v-797a771c] {
  width: 68px;
  height: 68px;
  flex-shrink: 0;
  border-radius: 12px;
  object-fit: cover;
  background: #f3f3f3;
}
.profile-replay-teacher[data-v-797a771c] {
  display: flex;
  height: 68px;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  margin-left: 16px;
  justify-content: space-between;
}
.profile-replay-teacher-name[data-v-797a771c] {
  overflow: hidden;
  color: #1a1a1a;
  font-size: 16px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.teacher-meta-row[data-v-797a771c] {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.course-method[data-v-797a771c] {
  display: inline-flex;
  min-width: 0;
  flex: 1;
  align-items: center;
  gap: 6px;
}
.course-method-icon[data-v-797a771c] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  object-fit: contain;
}
.course-method-text[data-v-797a771c] {
  overflow: hidden;
  color: #111111;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-replay-duration[data-v-797a771c] {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  padding: 5px 10px;
  border-radius: 10px;
  background: #eaf6ff;
  color: #08aaff;
  font-size: 12px;
  white-space: nowrap;
}
.profile-replay-list-footer[data-v-797a771c] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 0 8px;
}
.profile-replay-list-footer-text[data-v-797a771c] {
  color: #999999;
  font-size: 13px;
  text-align: center;
}.profile-course-detail-pane[data-v-a37ff406] {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  background: #ffffff;
}
.profile-detail-header[data-v-a37ff406] {
  display: flex;
  height: 58px;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #f0f0f0;
  box-sizing: border-box;
}
.profile-detail-back[data-v-a37ff406] {
  display: flex;
  width: 48px;
  height: 20px;
  margin-left: 23px;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: #08aaff;
  cursor: pointer;
  font-size: 14px;
  line-height: 20px;
}
.profile-detail-title[data-v-a37ff406] {
  flex: 1;
  margin: 0;
  color: #111111;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
}
.profile-detail-header-placeholder[data-v-a37ff406] {
  width: 48px;
  height: 20px;
  flex-shrink: 0;
}
.profile-pane-loading[data-v-a37ff406] {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #999999;
  font-size: 14px;
  text-align: center;
}.profile-faq-pane[data-v-fde09996] {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  padding: 0 32px 32px;
  box-sizing: border-box;
  background: #f5f6f8;
}
.profile-faq-header[data-v-fde09996] {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  height: 58px;
}
.profile-faq-header h2[data-v-fde09996] {
  margin: 0;
  color: #111111;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
}
.profile-faq-scroll[data-v-fde09996] {
  flex: 1;
  min-height: 0;
  padding: 0;
  box-sizing: border-box;
}
.profile-faq-list[data-v-fde09996] {
  padding-bottom: 4px;
}
.profile-faq-state[data-v-fde09996] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 180px;
  color: #999999;
  font-size: 14px;
}
.profile-faq-card[data-v-fde09996] {
  margin-bottom: 12px;
  overflow: hidden;
  border: 1px solid #eceef2;
  border-radius: 12px;
  background: #ffffff;
  box-sizing: border-box;
}
.profile-faq-question[data-v-fde09996] {
  display: flex;
  width: 100%;
  align-items: flex-start;
  gap: 10px;
  padding: 16px 14px;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  text-align: left;
  box-sizing: border-box;
}
.profile-faq-badge[data-v-fde09996] {
  display: inline-flex;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
  border-radius: 50%;
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}
.profile-faq-badge--q[data-v-fde09996] {
  background: #ff8a3d;
}
.profile-faq-badge--a[data-v-fde09996] {
  background: #3b82f6;
}
.profile-faq-question-text[data-v-fde09996] {
  flex: 1;
  min-width: 0;
  color: #2b2b2b;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
}
.profile-faq-arrow[data-v-fde09996] {
  flex: 0 0 auto;
  margin-top: 1px;
  padding-left: 4px;
  color: #b0b4bb;
  font-size: 12px;
  line-height: 22px;
}
.profile-faq-answer[data-v-fde09996] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 0 14px 16px;
  box-sizing: border-box;
}
.profile-faq-answer .profile-faq-answer-content[data-v-fde09996] {
  flex: 1;
  min-width: 0;
  margin: 0;
  color: #666666;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
}
.profile-faq-answer .profile-faq-answer-content[data-v-fde09996] p {
  margin: 0 0 8px;
}
.profile-faq-answer .profile-faq-answer-content[data-v-fde09996] p:last-child {
  margin-bottom: 0;
}
.profile-faq-answer .profile-faq-answer-content[data-v-fde09996] table {
  max-width: 100%;
  border-collapse: collapse;
}
.profile-faq-answer .profile-faq-answer-content[data-v-fde09996] img {
  max-width: 100%;
  height: auto;
}/*
.pmc-pane{display:flex;min-height:0;flex:1;flex-direction:column;background:#fff}.pmc-header{height:58px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #f0f0f0}.pmc-header h2{margin:0;color:#111;font-size:18px;font-weight:500}.pmc-primary-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:8px 12px 0;padding:3px;border:0;border-radius:500px;background:#f8f8f8}.pmc-primary-tabs button{min-width:0;height:auto;min-height:34px;padding:9px 4px;border:0;border-radius:500px;background:transparent;color:#555;cursor:pointer;font-size:12px}.pmc-primary-tabs button.active{background:#1ba7ff;color:#fff;font-weight:600}.pmc-category-tabs{display:flex;min-height:44px;align-items:flex-end;gap:20px;overflow-x:auto;margin-bottom:8px;padding:6px 12px 0;border:0;white-space:nowrap;scrollbar-width:none}.pmc-category-tabs::-webkit-scrollbar{display:none}.pmc-category-tabs button{height:auto;min-height:38px;flex:0 0 auto;padding:4px 2px 9px;border:0;border-bottom:3px solid transparent;background:transparent;color:#666;cursor:pointer;font-size:14px}.pmc-category-tabs button.active{border-color:#1ba7ff;color:#1ba7ff;font-weight:600}.pmc-search-panel,.pmc-flex-panel{display:flex;min-height:0;flex:1;flex-direction:column}.pmc-search-bar{display:flex;height:40px;align-items:center;gap:4px;margin:6px 12px 8px;padding:0 4px 0 10px;border-radius:6px;background:#f8f8f8}.pmc-search-bar input{min-width:0;height:40px;flex:1;padding:0;border:0;background:transparent;font-size:14px;outline:none}.pmc-search-clear,.pmc-search-submit{display:flex;width:32px;height:32px;align-items:center;justify-content:center;border:0;cursor:pointer}.pmc-search-clear{padding:0;background:transparent;color:#999;font-size:18px}.pmc-search-submit{margin-right:0;border-radius:5px;background:#08aaff;color:#fff;font-size:16px}.pmc-search-empty{display:flex;min-height:230px;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#999;font-size:13px}.pmc-search-empty img{width:120px;height:auto;object-fit:contain}.pmc-scroll{min-height:0;flex:1}.pmc-state{padding:24px;color:#999;font-size:13px;text-align:center}.pmc-state--inline{padding:16px}.pmc-tree-list,.pmc-card-list{padding:0 12px 16px}.pmc-card-list{display:flex;flex-direction:column;gap:10px}.pmc-card{display:flex;align-items:center;gap:10px;padding:10px;border:0;border-radius:8px;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.04);cursor:pointer;text-align:left}.pmc-card img{width:60px;height:60px;flex:0 0 auto;border-radius:6px;background:#eceff1;object-fit:cover}.pmc-card span{min-width:0;flex:1;overflow:hidden;color:#111;font-size:14px;font-weight:500;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.pmc-folder{margin-bottom:12px;overflow:hidden;border-radius:8px;background:#f8f8f8}.pmc-folder-head,.pmc-row{display:flex;width:100%;align-items:center;gap:8px;border:0;background:transparent;cursor:pointer;text-align:left}.pmc-folder-head{min-height:54px;padding:12px}.pmc-folder-head span{min-width:0;flex:1;overflow:hidden;color:#111;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.pmc-folder-head i{width:0;height:0;border-right:5px solid transparent;border-bottom:6px solid #b0b0b0;border-left:5px solid transparent;font-size:0;transition:transform .2s}.pmc-folder-head i.open{transform:rotate(180deg)}.pmc-folder-head--cover img,.pmc-row img{width:60px;height:60px;flex:0 0 auto;border-radius:6px;background:#eceff1;object-fit:cover}.pmc-folder-body{padding:0 8px 8px}.pmc-row{min-height:60px;margin-bottom:8px;padding:8px 4px;border-radius:6px;background:#fff}.pmc-row--nested{padding-left:10px;box-shadow:0 1px 6px rgba(0,0,0,.05)}.pmc-row>span:not(.pmc-row-copy){min-width:0;flex:1;overflow:hidden;color:#111;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.pmc-row-copy{min-width:0;flex:1}.pmc-row-copy strong{display:block;overflow:hidden;color:#111;font-size:14px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.pmc-row-copy small{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.pmc-row-copy em{padding2px 8px;border-radius:500px;background:rgba(67,160,71,.12);color:#43a047;font-size:11px;font-style:normal}.pmc-row-copy em+em{background:rgba(27,167,255,.12);color:#1ba7ff}.pmc-progress{position:relative;display:block;height:8px;margin-top:10px;overflow:visible;border-radius:500px;background:#ddd}.pmc-progress i{position:absolute;top:0;bottom:0;left:0;border-radius:500px;background:#1ba7ff}.pmc-progress b{position:absolute;top:-4px;left:0;min-width:40px;padding:2px 6px;border-radius:500px;background:#1ba7ff;color:#fff;font-size:10px;font-weight:400;text-align:center;transform:translateY(-100%)}.pmc-foot{padding:14px;color:#999;font-size:12px;text-align:center}
.pmc-row-copy em{padding:2px 8px}
*/
.pmc-pane[data-v-abd1072c], .pmc-search-panel[data-v-abd1072c], .pmc-flex-panel[data-v-abd1072c] {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
}
.pmc-pane[data-v-abd1072c] {
  background: #fff;
}
.pmc-header[data-v-abd1072c] {
  display: flex;
  height: 58px;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid #f0f0f0;
}
.pmc-header h2[data-v-abd1072c] {
  margin: 0;
  color: #111;
  font-size: 18px;
  font-weight: 500;
}
.pmc-primary-tabs[data-v-abd1072c] {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4px;
  margin: 8px 12px 0;
  padding: 3px;
  border-radius: 500px;
  background: #f8f8f8;
}
.pmc-primary-tabs button[data-v-abd1072c] {
  min-width: 0;
  min-height: 34px;
  padding: 9px 4px;
  border: 0;
  border-radius: 500px;
  background: transparent;
  color: #555;
  cursor: pointer;
  font-size: 12px;
}
.pmc-primary-tabs button.active[data-v-abd1072c] {
  background: #1ba7ff;
  color: #fff;
  font-weight: 600;
}
.pmc-category-tabs[data-v-abd1072c] {
  display: flex;
  min-height: 44px;
  align-items: flex-end;
  gap: 20px;
  overflow-x: auto;
  margin-bottom: 8px;
  padding: 6px 12px 0;
  white-space: nowrap;
  scrollbar-width: none;
}
.pmc-category-tabs[data-v-abd1072c]::-webkit-scrollbar {
  display: none;
}
.pmc-category-tabs button[data-v-abd1072c] {
  min-height: 38px;
  flex: 0 0 auto;
  padding: 4px 2px 9px;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: #666;
  cursor: pointer;
  font-size: 14px;
}
.pmc-category-tabs button.active[data-v-abd1072c] {
  border-bottom-color: #1ba7ff;
  color: #1ba7ff;
  font-weight: 600;
}
.pmc-search-bar[data-v-abd1072c] {
  display: flex;
  height: 40px;
  align-items: center;
  gap: 4px;
  margin: 6px 12px 8px;
  padding: 0 4px 0 10px;
  border-radius: 6px;
  background: #f8f8f8;
}
.pmc-search-bar input[data-v-abd1072c] {
  min-width: 0;
  height: 40px;
  flex: 1;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 14px;
  outline: none;
}
.pmc-search-clear[data-v-abd1072c], .pmc-search-submit[data-v-abd1072c] {
  display: flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border: 0;
  cursor: pointer;
}
.pmc-search-clear[data-v-abd1072c] {
  background: transparent;
  color: #999;
  font-size: 18px;
}
.pmc-search-submit[data-v-abd1072c] {
  border-radius: 5px;
  background: #08aaff;
  color: #fff;
  font-size: 16px;
}
.pmc-scroll[data-v-abd1072c] {
  min-height: 0;
  flex: 1;
}
.pmc-state[data-v-abd1072c], .pmc-foot[data-v-abd1072c] {
  padding: 24px;
  color: #999;
  font-size: 13px;
  text-align: center;
}
.pmc-state--inline[data-v-abd1072c] {
  padding: 16px;
}
.pmc-search-empty[data-v-abd1072c] {
  display: flex;
  min-height: 230px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #999;
  font-size: 13px;
}
.pmc-search-empty img[data-v-abd1072c] {
  width: 120px;
  height: auto;
}
.pmc-tree-list[data-v-abd1072c], .pmc-card-list[data-v-abd1072c] {
  padding: 0 12px 16px;
}
.pmc-card-list[data-v-abd1072c] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pmc-card[data-v-abd1072c], .pmc-row[data-v-abd1072c], .pmc-folder-head[data-v-abd1072c] {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 10px;
  border: 0;
  cursor: pointer;
  text-align: left;
}
.pmc-card[data-v-abd1072c] {
  padding: 10px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.04);
}
.pmc-card img[data-v-abd1072c], .pmc-folder-head--cover img[data-v-abd1072c], .pmc-row img[data-v-abd1072c] {
  width: 60px;
  height: 60px;
  flex: 0 0 auto;
  border-radius: 6px;
  background: #eceff1;
  object-fit: cover;
}
.pmc-card span[data-v-abd1072c], .pmc-row > span[data-v-abd1072c]:not(.pmc-row-copy), .pmc-folder-head span[data-v-abd1072c] {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  color: #111;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pmc-folder[data-v-abd1072c] {
  margin-bottom: 12px;
  overflow: hidden;
  border-radius: 8px;
  background: #f8f8f8;
}
.pmc-folder-head[data-v-abd1072c] {
  min-height: 54px;
  padding: 12px;
  background: transparent;
}
.pmc-folder-head span[data-v-abd1072c] {
  font-weight: 600;
}
.pmc-folder-head i[data-v-abd1072c] {
  width: 0;
  height: 0;
  border-right: 5px solid transparent;
  border-bottom: 6px solid #b0b0b0;
  border-left: 5px solid transparent;
  font-size: 0;
  transition: transform 0.2s;
}
.pmc-folder-head i.open[data-v-abd1072c] {
  transform: rotate(180deg);
}
.pmc-folder-body[data-v-abd1072c] {
  padding: 0 8px 8px;
}
.pmc-row[data-v-abd1072c] {
  min-height: 60px;
  margin-bottom: 8px;
  padding: 8px 4px;
  border-radius: 6px;
  background: #fff;
}
.pmc-row--nested[data-v-abd1072c] {
  padding-left: 10px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.05);
}
.pmc-row-copy[data-v-abd1072c] {
  min-width: 0;
  flex: 1;
}
.pmc-row-copy strong[data-v-abd1072c] {
  display: block;
  overflow: hidden;
  color: #111;
  font-size: 14px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pmc-row-copy small[data-v-abd1072c] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}
.pmc-row-copy em[data-v-abd1072c] {
  padding: 2px 8px;
  border-radius: 500px;
  background: rgba(67, 160, 71, 0.12);
  color: #43a047;
  font-size: 11px;
  font-style: normal;
}
.pmc-row-copy em + em[data-v-abd1072c] {
  background: rgba(27, 167, 255, 0.12);
  color: #1ba7ff;
}
.pmc-progress[data-v-abd1072c] {
  position: relative;
  display: block;
  height: 8px;
  margin-top: 10px;
  border-radius: 500px;
  background: #ddd;
}
.pmc-progress i[data-v-abd1072c] {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  border-radius: 500px;
  background: #1ba7ff;
}
.pmc-progress b[data-v-abd1072c] {
  position: absolute;
  top: -4px;
  left: 0;
  min-width: 40px;
  padding: 2px 6px;
  border-radius: 500px;
  background: #1ba7ff;
  color: #fff;
  font-size: 10px;
  font-weight: 400;
  text-align: center;
  transform: translateY(-100%);
}
.pmc-foot[data-v-abd1072c] {
  padding: 14px;
}
.pmc-folder--search-l2[data-v-abd1072c] {
  background: #f8f8f8;
}
.pmc-row--search-cover img[data-v-abd1072c] {
  width: 60px;
  height: 60px;
  object-fit: cover;
}
.pmc-search-list .pmc-folder[data-v-abd1072c] {
  margin-bottom: 10px;
}
.pmc-search-pdf[data-v-abd1072c] {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
  padding: 8px 12px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  cursor: pointer;
  text-align: left;
}
.pmc-search-pdf[data-v-abd1072c]:hover {
  background: #f5f8fb;
}
.pmc-search-pdf-ico[data-v-abd1072c] {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  display: block;
  object-fit: contain;
}
.pmc-search-pdf-name[data-v-abd1072c] {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  color: #111;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pmc-folder--hidden-head[data-v-abd1072c] {
  margin-bottom: 0;
  background: transparent;
}
.pmc-folder--hidden-head .pmc-folder-body[data-v-abd1072c] {
  padding: 0;
}

/* 个人中心课件页：与平板端信息卡层级、主题选中态统一。 */
.pmc-pane[data-v-abd1072c] {
  background: #f3f3f3;
}
.pmc-header[data-v-abd1072c] {
  height: 56px;
  flex: 0 0 56px;
  border-bottom: 0;
  background: transparent;
}
.pmc-header h2[data-v-abd1072c] {
  color: #20243a;
  font-size: 18px;
  font-weight: 600;
}
.pmc-primary-tabs[data-v-abd1072c] {
  margin: 12px 16px 0;
  padding: 4px;
  background: rgba(255, 255, 255, 0.72);
  border: 2px solid #ffffff;
  border-radius: 15px;
  gap: 4px;
}
.pmc-primary-tabs button[data-v-abd1072c] {
  min-height: 38px;
  padding: 8px 4px;
  color: #69708a;
  border-radius: 11px;
  font-size: 13px;
}
.pmc-primary-tabs button.active[data-v-abd1072c] {
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
  color: #ffffff;
  box-shadow: 0 6px 14px rgba(61, 77, 245, 0.18);
}
.pmc-category-tabs[data-v-abd1072c] {
  min-height: 48px;
  margin: 6px 0 0;
  padding: 6px 16px 0;
  gap: 22px;
  background: transparent;
}
.pmc-category-tabs button[data-v-abd1072c] {
  min-height: 42px;
  padding-bottom: 10px;
  color: #73798d;
  font-size: 14px;
}
.pmc-category-tabs button.active[data-v-abd1072c] {
  border-bottom-color: #3d4df5;
  color: #3d4df5;
}
.pmc-tree-list[data-v-abd1072c] {
  padding: 10px 16px 24px;
}
.pmc-folder[data-v-abd1072c] {
  margin-bottom: 14px;
  overflow: hidden;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: none;
}
.pmc-folder-head[data-v-abd1072c] {
  min-height: 58px;
  padding: 14px 16px;
}
.pmc-folder-head span[data-v-abd1072c] {
  color: #20243a;
  font-size: 15px;
  font-weight: 600;
}
.pmc-folder-head i[data-v-abd1072c] {
  border-top: 6px solid #aeb4c5;
  border-right: 5px solid transparent;
  border-bottom: 0;
  border-left: 5px solid transparent;
}
.pmc-folder-body[data-v-abd1072c] {
  padding: 0 10px 10px;
}
.pmc-row[data-v-abd1072c] {
  min-height: 62px;
  margin-bottom: 8px;
  padding: 8px 10px;
  border: 1px solid rgba(61, 77, 245, 0.08);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.9);
}
.pmc-row--nested[data-v-abd1072c] {
  padding-left: 12px;
  box-shadow: none;
}
.pmc-row > span[data-v-abd1072c]:not(.pmc-row-copy),
.pmc-row-copy strong[data-v-abd1072c] {
  color: #20243a;
}
.pmc-search-bar[data-v-abd1072c] {
  height: 42px;
  margin: 10px 16px 8px;
  padding-left: 14px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.78);
}
.pmc-search-submit[data-v-abd1072c] {
  border-radius: 11px;
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
}
.pmc-state[data-v-abd1072c],
.pmc-foot[data-v-abd1072c] {
  color: #9298a8;
}.pmc-tree-list--learned[data-v-abd1072c] {
  overflow: hidden;
}
.pmc-swipe-row[data-v-abd1072c] {
  position: relative;
  overflow: hidden;
  margin-bottom: 8px;
  border-radius: 8px;
}
.pmc-swipe-delete[data-v-abd1072c] {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 80px;
  border: 0;
  border-radius: 0 8px 8px 0;
  background: #ff5d5d;
  color: #fff;
  cursor: pointer;
  font-size: 14px;
}
.pmc-swipe-content[data-v-abd1072c] {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border-radius: 8px;
  touch-action: pan-y;
}
.pmc-swipe-content .pmc-row[data-v-abd1072c] {
  margin-bottom: 0;
  border-radius: 8px;
}
.pmc-swipe-content .pmc-progress[data-v-abd1072c] {
  margin-top: 10px;
}
.pmc-row-copy--learned[data-v-abd1072c] {
  display: flex;
  align-self: stretch;
  flex-direction: column;
  justify-content: center;
}.pcd-pane[data-v-2f619919] {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  background: #f7f7f7;
}
.pcd-header[data-v-2f619919] {
  display: grid;
  height: 58px;
  flex: 0 0 auto;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  padding: 0 12px;
  background: #fff;
}
.pcd-header h2[data-v-2f619919] {
  margin: 0;
  color: #111;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
}
.pcd-back[data-v-2f619919] {
  display: flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #333;
  cursor: pointer;
  font-size: 22px;
}
.pcd-scroll[data-v-2f619919] {
  min-height: 0;
  flex: 1;
}
.pcd-book[data-v-2f619919] {
  padding: 18px 20px 14px;
  background: #fff;
  text-align: center;
}
.pcd-book > img[data-v-2f619919] {
  width: 90px;
  height: 90px;
  border-radius: 8px;
  background: #eef1f3;
  object-fit: cover;
}
.pcd-book h3[data-v-2f619919] {
  margin: 10px 0 14px;
  color: #111;
  font-size: 16px;
  font-weight: 600;
}
.pcd-actions[data-v-2f619919] {
  display: flex;
  align-items: flex-start;
  justify-content: space-around;
}
.pcd-actions button[data-v-2f619919], .pcd-actions > span[data-v-2f619919] {
  display: flex;
  min-width: 72px;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  border: 0;
  background: transparent;
  color: #555;
  font-size: 11px;
  cursor: pointer;
}
.pcd-actions[data-v-2f619919] .n-icon {
  display: flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #eff7ff;
  color: #1ba7ff;
  font-size: 17px;
}
.pcd-actions > span[data-v-2f619919] .n-icon {
  background: #f1f1f1;
  color: #777;
}
.pcd-actions small[data-v-2f619919] {
  font-size: 11px;
}
.pcd-progress[data-v-2f619919] {
  margin: 12px;
  border-radius: 8px;
  background: #fff;
  padding: 14px;
}
.pcd-progress > div[data-v-2f619919]:first-child {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 16px;
}
.pcd-progress strong[data-v-2f619919] {
  color: #333;
  font-size: 14px;
}
.pcd-progress span[data-v-2f619919] {
  color: #999;
  font-size: 11px;
}
.pcd-progress-bar[data-v-2f619919] {
  position: relative;
  height: 8px;
  border-radius: 6px;
  background: #e5e5e5;
}
.pcd-progress-bar i[data-v-2f619919] {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  border-radius: 6px;
  background: #1ba7ff;
}
.pcd-progress-bar b[data-v-2f619919] {
  position: absolute;
  top: -24px;
  min-width: 34px;
  padding: 2px 4px;
  border-radius: 8px;
  background: #1ba7ff;
  color: #fff;
  font-size: 10px;
  font-weight: 400;
  text-align: center;
  transform: translateX(-50%);
}
.pcd-pane h4[data-v-2f619919] {
  margin: 18px 16px 10px;
  color: #333;
  font-size: 14px;
}
.pcd-list[data-v-2f619919] {
  margin: 0 12px 16px;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}
.pcd-list-title[data-v-2f619919] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px;
  color: #333;
  font-size: 14px;
  font-weight: 600;
}
.pcd-list-title i[data-v-2f619919] {
  width: 3px;
  height: 16px;
  border-radius: 2px;
  background: #1ba7ff;
}
.pcd-row[data-v-2f619919] {
  display: flex;
  min-height: 58px;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-top: 1px solid #f1f1f1;
}
.pcd-row img[data-v-2f619919] {
  width: 24px;
  height: 24px;
  object-fit: contain;
}
.pcd-row > div[data-v-2f619919] {
  min-width: 0;
  flex: 1;
}
.pcd-row strong[data-v-2f619919] {
  display: block;
  overflow: hidden;
  color: #333;
  font-size: 13px;
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pcd-row small[data-v-2f619919] {
  display: inline-block;
  margin-top: 4px;
  padding: 1px 6px;
  border-radius: 8px;
  background: #f2f2f2;
  color: #999;
  font-size: 10px;
}
.pcd-row small.is-done[data-v-2f619919] {
  background: #e9f8ec;
  color: #37a14a;
}
.pcd-row small.is-learning[data-v-2f619919] {
  background: #e5f5ff;
  color: #1ba7ff;
}
.pcd-row button[data-v-2f619919] {
  border: 0;
  background: transparent;
  color: #1ba7ff;
  cursor: pointer;
  font-size: 13px;
}
.pcd-state[data-v-2f619919] {
  padding: 34px;
  color: #999;
  font-size: 13px;
  text-align: center;
}.pcd-pane[data-v-2f619919] {
  background: #fff;
}
.pcd-header[data-v-2f619919] {
  height: 52px;
  padding: 0 8px;
  background: #fff;
}
.pcd-back[data-v-2f619919] {
  width: 48px;
  height: 20px;
  margin-left: 23px;
  border-radius: 0;
  color: #08aaff;
  font-size: 14px;
  line-height: 20px;
  white-space: nowrap;
}
.pcd-header h2[data-v-2f619919] {
  font-size: 17px;
  font-weight: 600;
}
.pcd-book[data-v-2f619919] {
  margin: 8px 12px 0;
  padding: 20px 20px 24px;
  border-radius: 12px;
  background: #fff;
}
.pcd-book > img[data-v-2f619919] {
  width: 120px;
  height: 120px;
  border-radius: 12px;
}
.pcd-book h3[data-v-2f619919] {
  margin: 12px 0 0;
  font-size: 18px;
}
.pcd-actions[data-v-2f619919] {
  margin-top: 18px;
  padding: 0 4px;
}
.pcd-actions button[data-v-2f619919], .pcd-actions > span[data-v-2f619919] {
  width: 30%;
  min-width: 0;
  gap: 6px;
  color: #666;
  font-size: 12px;
}
.pcd-action-ico[data-v-2f619919] {
  display: flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid #e0e0e0;
  border-radius: 50%;
  box-sizing: border-box;
  color: #666;
  font-size: 20px;
  font-style: normal;
  line-height: 1;
}
.pcd-action-ico--check[data-v-2f619919] {
  border-color: #08aaff;
  background: rgba(46, 184, 114, 0.08);
  color: #08aaff;
}
.pcd-action-ico--learning[data-v-2f619919] {
  border: 0;
  background: transparent;
  padding: 6px;
}
.pcd-action-ico--learning img[data-v-2f619919] {
  width: 32px;
  height: 32px;
  object-fit: contain;
}
.pcd-actions small[data-v-2f619919] {
  font-size: 12px;
}
.pcd-progress[data-v-2f619919] {
  margin: 16px 12px 0;
  padding: 16px 18px;
  border-radius: 12px;
  background: #f8f8f8;
}
.pcd-progress > div[data-v-2f619919]:first-child {
  margin-bottom: 12px;
}
.pcd-progress strong[data-v-2f619919] {
  color: #111;
  font-size: 15px;
  font-weight: 600;
}
.pcd-progress span[data-v-2f619919] {
  color: #666;
  font-size: 13px;
}
.pcd-progress-bar[data-v-2f619919] {
  height: 8px;
  border-radius: 999px;
  background: #d0d4d8;
}
.pcd-progress b[data-v-2f619919] {
  top: -6px;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
}
.pcd-pane h4[data-v-2f619919] {
  margin: 0;
  padding: 20px 16px 12px;
  color: #111;
  font-size: 16px;
  font-weight: 700;
}
.pcd-list[data-v-2f619919] {
  margin: 0 12px 32px;
  padding: 12px 14px 18px;
  border-radius: 12px;
  background: #f8f8f8;
}
.pcd-list-title[data-v-2f619919] {
  gap: 6px;
  margin-bottom: 4px;
  padding: 0;
  color: #111;
  font-size: 15px;
}
.pcd-list-title i[data-v-2f619919] {
  width: 3px;
  height: 14px;
  border-radius: 2px;
}
.pcd-row[data-v-2f619919] {
  min-height: 0;
  gap: 10px;
  padding: 12px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}
.pcd-row img[data-v-2f619919] {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: #eceff1;
}
.pcd-row strong[data-v-2f619919] {
  display: inline;
  color: #111;
  font-size: 14px;
  line-height: 1.45;
  white-space: normal;
}
.pcd-row small[data-v-2f619919] {
  margin: 0 0 0 8px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #46b1e5;
  font-size: 12px;
}
.pcd-row small.is-done[data-v-2f619919] {
  background: transparent;
  color: #2eb872;
}
.pcd-row small.is-learning[data-v-2f619919] {
  background: transparent;
  color: #e8982a;
}
.pcd-row button[data-v-2f619919] {
  font-size: 14px;
}
.pcd-state[data-v-2f619919] {
  padding: 40px;
  font-size: 14px;
}.pcd-list-title-text[data-v-2f619919] {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pcd-page-progress[data-v-2f619919] {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  min-width: 78px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(255, 152, 0, 0.14);
  color: #ff9800;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  box-sizing: border-box;
}
.pcd-page-progress--summary[data-v-2f619919] {
  background: rgba(8, 170, 255, 0.14);
  color: #08aaff;
}.pcd-guide-layer[data-v-2f619919] {
  position: fixed;
  inset: 0;
  z-index: 10080;
  pointer-events: auto;
}
.pcd-guide-mask[data-v-2f619919] {
  position: fixed;
  background: rgba(0, 0, 0, 0.55);
}
.pcd-guide-mask-top[data-v-2f619919] {
  top: 0;
  left: 0;
  right: 0;
}
.pcd-guide-mask-left[data-v-2f619919] {
  left: 0;
}
.pcd-guide-mask-right[data-v-2f619919] {
  right: 0;
}
.pcd-guide-mask-bottom[data-v-2f619919] {
  left: 0;
  right: 0;
  bottom: 0;
}
.pcd-guide-frame[data-v-2f619919] {
  position: fixed;
  border: 2px solid rgba(255, 255, 255, 0.92);
  border-radius: 999px;
  box-shadow: 0 0 0 1px rgba(8, 170, 255, 0.5);
  box-sizing: border-box;
  pointer-events: none;
}
.pcd-guide-tooltip[data-v-2f619919] {
  position: fixed;
  min-height: 86px;
  padding: 18px 20px 18px;
  border-radius: 14px;
  background: linear-gradient(135deg, #3aa7f5, #21c5d4);
  color: #fff;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.18);
  box-sizing: border-box;
}
.pcd-guide-tooltip-arrow[data-v-2f619919] {
  position: absolute;
  top: -10px;
  width: 0;
  height: 0;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #38abf1;
  border-left: 10px solid transparent;
  transform: translateX(-50%);
}
.pcd-guide-tooltip-text[data-v-2f619919] {
  display: block;
  padding-right: 92px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
}
.pcd-guide-next[data-v-2f619919] {
  position: absolute;
  right: 18px;
  bottom: 14px;
  min-width: 82px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: #08aaff;
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
}
/* 课件详情：复用平板端的详情卡片层级，保留原有查看与收藏行为。 */
.pcd-pane[data-v-2f619919] {
  background: #f3f3f3;
}
.pcd-header[data-v-2f619919] {
  height: 56px;
  flex: 0 0 56px;
  padding: 0 16px;
  background: transparent;
}
.pcd-header h2[data-v-2f619919] {
  color: #20243a;
  font-size: 18px;
  font-weight: 600;
}
.pcd-back[data-v-2f619919] {
  width: 48px;
  height: 56px;
  margin-left: 0;
  color: #3d4df5;
  font-size: 14px;
}
.pcd-scroll[data-v-2f619919] {
  flex: 1 1 0;
  min-height: 0;
  height: 0;
  padding: 14px 16px 20px;
  box-sizing: border-box;
}
.pcd-book[data-v-2f619919] {
  margin: 0 0 14px;
  padding: 20px 20px 16px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.72);
}
.pcd-book > img[data-v-2f619919] {
  width: 120px;
  height: 120px;
  border-radius: 12px;
}
.pcd-book h3[data-v-2f619919] {
  margin: 12px 0 16px;
  color: #20243a;
  font-size: 18px;
}
.pcd-actions[data-v-2f619919] {
  margin-top: 0;
  padding: 0;
  gap: 12px;
  align-items: stretch;
  justify-content: space-between;
}
.pcd-actions button[data-v-2f619919],
.pcd-actions > span[data-v-2f619919] {
  width: auto;
  min-width: 0;
  flex: 1;
  gap: 8px;
  padding: 10px 8px;
  border: 1px solid #d7dbff;
  border-radius: 15px;
  background: #f4f5ff;
  color: #333;
  font-size: 13px;
  box-sizing: border-box;
}
.pcd-action-ico[data-v-2f619919] {
  width: 44px;
  height: 44px;
  border: 0;
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
  color: #ffffff;
}
.pcd-action-ico--check[data-v-2f619919] {
  border: 0;
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
  color: #ffffff;
}
.pcd-action-ico--learning[data-v-2f619919] {
  padding: 6px;
  background: transparent;
}
.pcd-actions small[data-v-2f619919] {
  color: #333;
  font-size: 13px;
}
.pcd-progress[data-v-2f619919] {
  margin: 0 0 14px;
  padding: 16px 18px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.72);
}
.pcd-progress strong[data-v-2f619919],
.pcd-pane h4[data-v-2f619919] {
  color: #20243a;
}
.pcd-progress-bar[data-v-2f619919] {
  background: #e0e4ef;
}
.pcd-progress-bar i[data-v-2f619919],
.pcd-progress-bar b[data-v-2f619919] {
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
}
.pcd-pane h4[data-v-2f619919] {
  margin: 0;
  padding: 4px 4px 12px;
  font-size: 16px;
}
.pcd-list[data-v-2f619919] {
  margin: 0 0 20px;
  padding: 12px 14px 18px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.72);
}
.pcd-list-title[data-v-2f619919] {
  margin-bottom: 8px;
  padding: 0;
  color: #20243a;
}
.pcd-list-title i[data-v-2f619919] {
  width: 4px;
  height: 30px;
  border-radius: 999px;
  background: linear-gradient(180deg, #3d4df5 0%, #bf62fd 100%);
}
.pcd-row[data-v-2f619919] {
  padding: 12px 0;
  border-top-color: rgba(61, 77, 245, 0.1);
}
.pcd-row strong[data-v-2f619919] {
  color: #20243a;
}
.pcd-row button[data-v-2f619919] {
  color: #3d4df5;
  font-weight: 600;
}
.pcd-page-progress[data-v-2f619919],
.pcd-page-progress--summary[data-v-2f619919] {
  background: #f4f5ff;
  color: #3d4df5;
}.profile-settings-pane[data-v-836b8160] {
  display: flex;
  flex: 1 1 0%;
  width: 100%;
  min-height: 0;
  flex-direction: column;
  padding: 0 24px 24px;
  background: #f3f3f3;
  box-sizing: border-box;
}
.profile-settings-title[data-v-836b8160] {
  flex-shrink: 0;
  height: 56px;
  margin: 0;
  color: #20243a;
  font-size: 18px;
  font-weight: 600;
  line-height: 56px;
  text-align: center;
}
.profile-settings-section[data-v-836b8160] {
  margin-bottom: 14px;
  overflow: hidden;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.72);
}
.profile-settings-cell[data-v-836b8160] {
  display: flex;
  width: 100%;
  height: 54px;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  border: 0;
  background: transparent;
  box-sizing: border-box;
  cursor: pointer;
  text-align: left;
}
.profile-settings-cell--static[data-v-836b8160] {
  cursor: default;
}
.profile-settings-cell + .profile-settings-cell[data-v-836b8160] {
  border-top: 1px solid rgba(61, 77, 245, 0.1);
}
.profile-settings-cell[data-v-836b8160]:not(.profile-settings-cell--static):hover {
  background: #f4f5ff;
}
.profile-settings-label[data-v-836b8160] {
  color: #20243a;
  font-size: 15px;
  font-weight: 500;
}
.profile-settings-chevron[data-v-836b8160] {
  color: #aeb4c5;
  font-size: 22px;
  line-height: 1;
}
.profile-settings-version[data-v-836b8160] {
  display: flex;
  align-items: center;
}
.profile-settings-version-text[data-v-836b8160] {
  color: #8c93a5;
  font-size: 13px;
  line-height: 1.4;
}
.profile-settings-logout[data-v-836b8160] {
  display: flex;
  height: 48px;
  align-items: center;
  justify-content: center;
  margin: 10px 16px auto;
  border: 1px solid #d7dbff;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.85);
  cursor: pointer;
}
.profile-settings-logout-text[data-v-836b8160] {
  color: #3d4df5;
  font-size: 16px;
  font-weight: 600;
}.association-pane[data-v-f78bf1e7] {
  position: relative;
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  overflow: hidden;
  background: #f3f3f3;
}
.association-pane__header[data-v-f78bf1e7] {
  display: flex;
  height: 56px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
}
.association-pane__header h2[data-v-f78bf1e7] {
  margin: 0;
  color: #20243a;
  font-size: 18px;
  font-weight: 600;
}
.association-pane__body[data-v-f78bf1e7] {
  display: flex;
  min-height: 0;
  flex: 1 1 0%;
  flex-direction: column;
  align-items: center;
  overflow: auto;
  padding: 0 15px 15px;
  color: #20243a;
  box-sizing: border-box;
}
.association-pane__body[data-v-f78bf1e7]::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
.association-pane__state[data-v-f78bf1e7], .association-pane__empty[data-v-f78bf1e7] {
  display: flex;
  flex: 1;
  width: 100%;
  min-height: 260px;
  align-items: center;
  justify-content: center;
  color: #85899a;
}
.association-pane__state[data-v-f78bf1e7] {
  flex-direction: column;
  gap: 14px;
}
.association-pane__state button[data-v-f78bf1e7] {
  border: 0;
  border-radius: 20px;
  padding: 9px 24px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  color: #fff;
  cursor: pointer;
}
.association-pane__empty[data-v-f78bf1e7] {
  flex-direction: column;
  gap: 18px;
  font-size: 16px;
}
.association-pane__empty img[data-v-f78bf1e7] {
  width: 220px;
  height: 220px;
  object-fit: contain;
}
.association-grid[data-v-f78bf1e7] {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding-top: 12px;
  box-sizing: border-box;
}
.student-card[data-v-f78bf1e7] {
  display: flex;
  min-height: 208px;
  align-items: center;
  flex-direction: column;
  padding: 16px 12px 14px;
  border: 2px solid #fff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
}
.student-card__avatar[data-v-f78bf1e7] {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  object-fit: cover;
  background: #dfe2e5;
}
.student-card__name[data-v-f78bf1e7] {
  margin-top: 10px;
  color: #20243a;
  font-size: 16px;
  font-weight: 700;
}
.student-card__phone[data-v-f78bf1e7] {
  margin-top: 5px;
  color: #85899a;
  font-size: 13px;
}
.student-card__unbind[data-v-f78bf1e7] {
  margin-top: 14px;
  border: 0;
  border-radius: 18px;
  padding: 8px 24px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  box-shadow: 0 6px 14px rgba(86, 80, 246, 0.16);
  color: #fff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
}
.student-card__unbind[data-v-f78bf1e7]:disabled {
  cursor: default;
  opacity: 0.55;
}
.student-card__unbind--current[data-v-f78bf1e7] {
  background: #c8cdd3;
}
.unbind-mask[data-v-f78bf1e7] {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 48px;
  background: rgba(0, 0, 0, 0.5);
  box-sizing: border-box;
}
.unbind-dialog[data-v-f78bf1e7] {
  width: min(360px, 100%);
  padding: 24px 20px 16px;
  border: 0;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.18);
  box-sizing: border-box;
  text-align: center;
}
.unbind-dialog h3[data-v-f78bf1e7] {
  margin: 0;
  color: #20243a;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}
.unbind-dialog__content[data-v-f78bf1e7] {
  margin: 10px 0 0;
  color: #4d5363;
  font-size: 15px;
  line-height: 1.55;
  word-break: break-word;
}
.unbind-dialog__actions[data-v-f78bf1e7] {
  display: flex;
  gap: 12px;
  margin-top: 20px;
}
.unbind-dialog__actions button[data-v-f78bf1e7] {
  flex: 1;
  height: 44px;
  border-radius: 10px;
  cursor: pointer;
  font-size: 16px;
}
.unbind-dialog__cancel[data-v-f78bf1e7] {
  border: 1px solid #d7dbff;
  background: #fff;
  color: #3d4df5;
}
.unbind-dialog__confirm[data-v-f78bf1e7] {
  border: 0;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  color: #fff;
}
.unbind-dialog__confirm[data-v-f78bf1e7]:disabled {
  cursor: default;
  opacity: 0.55;
}
.association-pane__footer[data-v-f78bf1e7] {
  flex-shrink: 0;
  padding: 0 15px 15px;
  background: #f3f3f3;
  box-sizing: border-box;
}
.association-pane__add[data-v-f78bf1e7] {
  width: 100%;
  height: 38px;
  border: 0;
  border-radius: 19px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  box-shadow: 0 6px 14px rgba(86, 80, 246, 0.16);
  color: #fff;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
}
.binding-mask[data-v-f78bf1e7] {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.5);
}
.binding-dialog[data-v-f78bf1e7] {
  width: 520px;
  padding: 28px 30px 26px;
  border-radius: 18px;
  background: #fff;
  box-sizing: border-box;
}
.binding-dialog__header[data-v-f78bf1e7] {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
}
.binding-dialog__header h3[data-v-f78bf1e7] {
  margin: 0;
  font-size: 24px;
}
.binding-dialog__close[data-v-f78bf1e7] {
  position: absolute;
  top: -10px;
  right: -4px;
  border: 0;
  background: transparent;
  color: #999;
  cursor: pointer;
  font-size: 36px;
  line-height: 1;
}
.login-tabs[data-v-f78bf1e7] {
  width: 254px;
  height: 36px;
  display: flex;
  margin: 0 auto 22px;
  overflow: hidden;
  border-radius: 50px;
  background: #f8f8f8;
}
.login-tabs button[data-v-f78bf1e7] {
  flex: 1;
  border: 0;
  background: transparent;
  color: #333;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
}
.login-tabs button.active[data-v-f78bf1e7] {
  border-radius: 50px;
  background: #08aaff;
  color: #fff;
}
.form-label[data-v-f78bf1e7] {
  display: block;
  margin-bottom: 8px;
  color: #333;
  font-size: 16px;
  font-weight: 600;
}
.form-label--credential[data-v-f78bf1e7] {
  margin-top: 18px;
}
.form-input[data-v-f78bf1e7] {
  width: 100%;
  height: 48px;
  border: 1px solid #f0f2f8;
  border-radius: 12px;
  padding: 0 16px;
  outline: none;
  background: #f8f9fb;
  box-sizing: border-box;
  color: #333;
  font-size: 16px;
}
.code-row[data-v-f78bf1e7] {
  display: flex;
  gap: 10px;
}
.code-row .form-input[data-v-f78bf1e7] {
  min-width: 0;
  flex: 1;
}
.send-code[data-v-f78bf1e7] {
  width: 128px;
  border: 0;
  border-radius: 12px;
  background: #08aaff;
  color: #fff;
  cursor: pointer;
  font-size: 14px;
}
.send-code[data-v-f78bf1e7]:disabled {
  cursor: default;
  opacity: 0.55;
}
.binding-actions[data-v-f78bf1e7] {
  display: flex;
  gap: 16px;
  margin-top: 24px;
}
.binding-actions button[data-v-f78bf1e7] {
  flex: 1;
  height: 44px;
  border-radius: 24px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
}
.binding-actions__cancel[data-v-f78bf1e7] {
  border: 1px solid #ddd;
  background: #fff;
  color: #333;
}
.binding-actions__confirm[data-v-f78bf1e7] {
  border: 0;
  background: #08aaff;
  color: #fff;
}
.binding-actions button[data-v-f78bf1e7]:disabled {
  cursor: default;
  opacity: 0.55;
}.global-overlay.profile-replay-overlay-mask {
  align-items: stretch !important;
  justify-content: stretch !important;
  padding: 0 !important;
  background: #000000 !important;
}
.global-overlay .global-overlay__panel.profile-replay-overlay-panel {
  display: flex !important;
  flex-direction: column !important;
  width: 100vw !important;
  max-width: 100vw !important;
  height: 100vh !important;
  max-height: 100vh !important;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 0 !important;
  background: #000000 !important;
  box-shadow: none !important;
}
.global-overlay .global-overlay__panel.profile-replay-overlay-panel .global-overlay__body {
  flex: 1 !important;
  height: 100% !important;
  min-height: 0 !important;
}
.global-overlay .profile-replay-container {
  position: relative;
  width: 100%;
  height: 100%;
  background: #000000;
}
.global-overlay .profile-replay-iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #000000;
}
.global-overlay .profile-replay-exit-btn {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  height: 36px;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.65);
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}.profile-page[data-v-f612be3c] {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  background: #f3f3f3;
}
.profile-pad-pane[data-v-f612be3c] {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  background: transparent;
  box-sizing: border-box;
}

/* Match the tablet rail exactly: its outer card is 15px from the top and
   15px from the bottom. Keep both profile panes on the same vertical edges. */
.profile-page > .profile-pad-pane--left[data-v-f612be3c] {
  margin: 15px 0 !important;
}
.profile-page > .profile-pad-pane--right[data-v-f612be3c] {
  margin: 15px 15px 15px 0 !important;
}

/* Keep the profile header and shortcut card fixed; only the service list owns
   vertical scrolling in the desktop tablet layout. */
.profile-pad-pane--left[data-v-f612be3c] {
  display: flex;
  flex-direction: column;
}
.profile-pad-pane--left > .profile-header[data-v-f612be3c],
.profile-pad-pane--left > .action-card[data-v-f612be3c],
.profile-pad-pane--left > .footer[data-v-f612be3c] {
  flex: 0 0 auto;
}
.profile-pad-pane--left > .quick-entry-card[data-v-f612be3c] {
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
  overflow: hidden;
}
.profile-pad-pane--left > .quick-entry-card > .quick-grid[data-v-f612be3c] {
  height: 0 !important;
  min-height: 0;
  flex: 1 1 auto;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
}
.profile-pad-pane--left > .quick-entry-card > .quick-grid[data-v-f612be3c]::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
.profile-pad-pane--left > .quick-entry-card > .quick-grid > .footer--tablet-profile[data-v-f612be3c] {
  width: 100%;
  flex: 0 0 auto;
  margin-top: 20px;
  padding-bottom: 16px;
}
.profile-pad-pane--left[data-v-f612be3c] {
  position: relative;
  z-index: 1;
  flex: 0 0 420px;
  max-width: 420px;
  margin: 0;
  border-radius: 0;
  overflow: hidden;
}
.profile-pad-pane--right[data-v-f612be3c] {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  margin: 0;
  border-radius: 0;
  background: #ffffff;
  overflow: hidden;
}
.profile-pad-pane--right[data-v-f612be3c] > * {
  flex: 1 1 0%;
  min-height: 0;
  min-width: 0;
}
.profile-pad-pane--right--over-backdrop[data-v-f612be3c] {
  position: relative;
  z-index: 10000;
  width: auto;
  height: auto;
  overflow: hidden;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
}
.profile-settings-underlay[data-v-f612be3c] {
  position: static !important;
  display: flex !important;
  width: 100% !important;
  height: 100%;
  min-width: 0;
  min-height: 0;
  flex: 1 1 0% !important;
  overflow: hidden;
}
.profile-global-settings-overlay[data-v-f612be3c] {
  position: fixed;
  inset: 0;
  z-index: 10002;
  pointer-events: none;
}
.profile-global-settings-overlay .profile-settings-overlay-pane[data-v-f612be3c] {
  left: auto !important;
  width: calc(100vw - clamp(520px, 44vw, 900px)) !important;
  pointer-events: auto;
}
.profile-global-settings-overlay .profile-drawer-close[data-v-f612be3c] {
  pointer-events: auto;
}
.profile-settings-overlay-pane[data-v-f612be3c] {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 24% !important;
  z-index: 2 !important;
  width: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: 16px 0 0 16px !important;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
}
.profile-drawer-close[data-v-f612be3c] {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 3;
  display: flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: #f3f5f7;
  color: #657181;
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
}
.profile-drawer-close[data-v-f612be3c]:hover {
  background: #e8edf2;
  color: #283646;
}
.profile-settings-backdrop[data-v-f612be3c] {
  position: fixed;
  inset: 0;
  z-index: 10001;
  background: transparent;
}
.profile-header[data-v-f612be3c] {
  position: relative;
  z-index: 0;
  flex-shrink: 0;
  min-height: 164px;
  padding: 0 15px 0;
  background: transparent;
  box-sizing: border-box;
}
.profile-header-bg[data-v-f612be3c] {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 0;
  width: 420px;
  height: 240px;
  transform: translateX(-50%);
  object-fit: cover;
  opacity: 0.95;
  pointer-events: none;
}
.profile-header-pad-top[data-v-f612be3c] {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 54px;
  box-sizing: border-box;
}
.user-info[data-v-f612be3c] {
  display: flex;
  flex: 1;
  min-width: 0;
  align-items: center;
  gap: 9px;
  padding: 0 12px 0 0;
  box-sizing: border-box;
}
.user-avatar-wrap[data-v-f612be3c] {
  position: relative;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  cursor: pointer;
}
.user-avatar[data-v-f612be3c] {
  width: 48px;
  height: 48px;
  display: block;
  border-radius: 50%;
  object-fit: cover;
}
.user-avatar-edit-badge[data-v-f612be3c] {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 16px;
  height: 16px;
  object-fit: contain;
  pointer-events: none;
}
.user-meta[data-v-f612be3c] {
  display: flex;
  min-width: 0;
  flex-direction: column;
  cursor: pointer;
}
.user-name-row[data-v-f612be3c] {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 5px;
  margin-bottom: 3px;
}
.user-name[data-v-f612be3c] {
  margin-bottom: 0;
  overflow: hidden;
  color: #111111;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.student-switch-icon[data-v-f612be3c] {
  width: 19px;
  height: 19px;
  flex-shrink: 0;
  object-fit: contain;
  cursor: pointer;
}
.user-role[data-v-f612be3c] {
  color: #757575;
  font-size: 15px;
  line-height: 1.2;
}
.profile-header-pad-right[data-v-f612be3c] {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 10px;
}
.header-actions[data-v-f612be3c] {
  position: relative;
  z-index: 2;
  display: flex;
  gap: 12px;
}
.stats-row[data-v-f612be3c] {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  margin-top: 24px;
}
.stat-item[data-v-f612be3c] {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: center;
  cursor: pointer;
}
.stat-value[data-v-f612be3c] {
  color: #111111;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.15;
}
.stat-label[data-v-f612be3c] {
  margin-top: 0;
  color: #676767;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
}
.stat-item--learning-duration .stat-value[data-v-f612be3c] {
  color: #111111;
}
.stat-item--learning-duration .learning-duration-unit[data-v-f612be3c] {
  color: #676767;
  margin-left: 3px;
  font-size: 14px;
  font-weight: 400;
}
.module-card[data-v-f612be3c] {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  margin: 9px 10px 0;
  overflow: hidden;
  border-radius: 11px;
  background: #ffffff;
}
.action-card[data-v-f612be3c] {
  display: flex;
  padding: 10px 5px 11px;
}
.action-item[data-v-f612be3c],
.quick-item[data-v-f612be3c] {
  border: 0;
  background: transparent;
  cursor: pointer;
}
.action-item[data-v-f612be3c] {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  padding: 0;
}
.action-icon[data-v-f612be3c] {
  display: flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  margin: 5px 0 6px;
  overflow: hidden;
  border-radius: 8px;
}
.action-icon img[data-v-f612be3c] {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.action-text[data-v-f612be3c] {
  color: #676767;
  font-size: 12px;
  line-height: 1.2;
}
.quick-title-wrap[data-v-f612be3c] {
  display: flex;
  height: 45px;
  align-items: center;
  padding: 0 12px;
  border-bottom: 1px solid #efefef;
  box-sizing: border-box;
}
.quick-title[data-v-f612be3c] {
  margin: 0;
  color: #202020;
  font-size: 16px;
  font-weight: 700;
}
.quick-grid[data-v-f612be3c] {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  height: auto;
  padding: 0 10px 11px;
}
.quick-item[data-v-f612be3c] {
  display: flex;
  width: 25%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 8px 0;
}
.quick-icon-wrap[data-v-f612be3c] {
  display: flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  margin-bottom: 5px;
}
.quick-icon-image[data-v-f612be3c] {
  width: 32px;
  height: 32px;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.quick-icon-wrap--settings .quick-icon-image[data-v-f612be3c] {
  transform: rotate(90deg);
}
.quick-label[data-v-f612be3c] {
  padding: 0 3px;
  color: #676767;
  font-size: 11px;
  line-height: 1.35;
  text-align: center;
}
.footer--tablet-profile[data-v-f612be3c] {
  position: relative;
  z-index: 1;
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: center;
  margin-top: auto;
  padding-bottom: 32px;
  box-sizing: border-box;
}
.footer-brand[data-v-f612be3c] {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  opacity: 1;
}
.footer-logo[data-v-f612be3c] {
  width: 100px;
  height: 34px;
  object-fit: contain;
}
.footer-copyright[data-v-f612be3c] {
  color: #c4c4c4;
  font-size: 11px;
}
.profile-empty-wrap[data-v-f612be3c] {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #999999;
  text-align: center;
}
.profile-empty-image[data-v-f612be3c] {
  width: 160px;
  height: 160px;
  margin-bottom: 16px;
  object-fit: contain;
}
.profile-empty-title[data-v-f612be3c] {
  display: block;
  margin-bottom: 8px;
  color: #666666;
  font-size: 18px;
  font-weight: 400;
}
.profile-empty-tip[data-v-f612be3c] {
  display: inline-flex;
  align-items: center;
  margin-top: 6px;
  padding: 8px 20px;
  border-radius: 999px;
  background: #1ba7ff;
  color: #ffffff;
  font-size: 14px;
}
.profile-empty-tip-arrow[data-v-f612be3c] {
  margin-right: 6px;
  font-size: 16px;
}
.profile-cards-pane[data-v-f612be3c] {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  padding: 0 15px 15px;
  background: #f3f3f3;
  box-sizing: border-box;
}
.profile-cards-header[data-v-f612be3c] {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.profile-cards-title[data-v-f612be3c] {
  margin: 0;
  color: #111111;
  font-size: 18px;
  font-weight: 400;
  line-height: 58px;
  text-align: center;
}
.profile-cards-tabs[data-v-f612be3c] {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  border: 2px solid #ffffff;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
}
.profile-cards-tab[data-v-f612be3c] {
  min-width: 80px;
  height: 30px;
  padding: 0 20px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #666666;
  font-size: 14px;
  line-height: 30px;
  text-align: center;
  cursor: pointer;
}
.profile-cards-tab.active[data-v-f612be3c] {
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  color: #ffffff;
}
.profile-cards-body[data-v-f612be3c] {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
}
.profile-pane-loading[data-v-f612be3c],
.profile-pane-empty[data-v-f612be3c] {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #999999;
  font-size: 14px;
  text-align: center;
}
.profile-pane-empty-image[data-v-f612be3c] {
  width: 160px;
  height: 160px;
  margin-bottom: 12px;
  object-fit: contain;
}
.profile-pane-empty-text[data-v-f612be3c] {
  color: #999999;
  font-size: 14px;
}
.profile-cards-scroll[data-v-f612be3c] {
  flex: 1 1 0%;
  min-height: 0;
  height: 0;
}
.profile-cards-scroll[data-v-f612be3c] .n-scrollbar-rail {
  display: none;
}
.profile-cards-scroll[data-v-f612be3c] .n-scrollbar-rail__scrollbar {
  display: none;
}
.profile-cards-list[data-v-f612be3c] {
  padding-bottom: 20px;
  box-sizing: border-box;
}
.profile-cards-item[data-v-f612be3c] {
  position: relative;
  display: flex;
  align-items: stretch;
  margin-bottom: 14px;
  overflow: hidden;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
}
.profile-cards-item.disabled[data-v-f612be3c] {
  opacity: 0.55;
}
.profile-cards-left[data-v-f612be3c] {
  position: relative;
  display: flex;
  flex: 0 0 132px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 14px 10px;
  border-right: 1px dashed #e3eef8;
}
.profile-cards-notch[data-v-f612be3c] {
  position: absolute;
  right: -10px;
  z-index: 1;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #f3f3f3;
}
.profile-cards-notch--top[data-v-f612be3c] {
  top: -10px;
}
.profile-cards-notch--bottom[data-v-f612be3c] {
  bottom: -10px;
}
.profile-cards-mode-tag[data-v-f612be3c] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
  padding: 3px 6px;
  border-radius: 4px;
  background: rgba(250, 173, 20, 0.15);
}
.profile-cards-mode-tag-text[data-v-f612be3c] {
  color: #d48806;
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
}
.profile-cards-mode-tag.is-1v2[data-v-f612be3c] {
  background: rgba(255, 172, 70, 0.2);
}
.profile-cards-mode-tag.is-1v2 .profile-cards-mode-tag-text[data-v-f612be3c] {
  color: #ffac47;
}
.profile-cards-mode-tag.is-fixed[data-v-f612be3c] {
  background: #d7f4ff;
}
.profile-cards-mode-tag.is-fixed .profile-cards-mode-tag-text[data-v-f612be3c] {
  color: #08aaff;
}
.profile-cards-number[data-v-f612be3c] {
  color: #2f9fe8;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.1;
}
.profile-cards-unit[data-v-f612be3c] {
  margin-top: 6px;
  padding: 4px 10px;
  border-radius: 10px;
  background: rgba(248, 250, 253, 0.9);
  color: #666666;
  font-size: 14px;
}
.profile-cards-right[data-v-f612be3c] {
  flex: 1;
  min-width: 0;
  padding: 14px 18px;
}
.profile-cards-name[data-v-f612be3c] {
  display: block;
  margin: 0 0 10px;
  color: #222222;
  font-size: 16px;
  font-weight: 700;
}
.profile-cards-line[data-v-f612be3c] {
  display: block;
  margin: 0;
  color: #777777;
  font-size: 14px;
  line-height: 1.7;
}
.profile-cards-line--accent[data-v-f612be3c] {
  color: #08aaff;
}
.profile-cards-line--level[data-v-f612be3c] {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 5px;
  margin-bottom: 2px;
}
.profile-cards-line-label[data-v-f612be3c] {
  flex-shrink: 0;
  color: #777777;
  font-size: 14px;
}
.profile-cards-level-badges[data-v-f612be3c] {
  display: flex;
  min-height: 20px;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.profile-cards-level-badge[data-v-f612be3c] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.profile-cards-level-badge--v0[data-v-f612be3c] {
  width: 34px;
  height: 18px;
}
.profile-cards-record[data-v-f612be3c] {
  position: absolute;
  top: 20%;
  right: 14px;
  display: flex;
  height: 32px;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  transform: translateY(-50%);
  border: 1px solid #d7dbff;
  border-radius: 999px;
  background: #ffffff;
  cursor: pointer;
}
.profile-cards-record-text[data-v-f612be3c] {
  color: #3d4df5;
  font-size: 14px;
}
.profile-cards-end-wrap[data-v-f612be3c] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-top: 12px;
}
.profile-cards-end-line[data-v-f612be3c] {
  width: 60px;
  height: 1px;
  background: #dddddd;
}
.profile-cards-end-text[data-v-f612be3c] {
  color: #a9a9a9;
  font-size: 12px;
}
.profile-course-resume-pane[data-v-f612be3c] {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  background: #ffffff;
}
@keyframes profile-card-record-mask-in-f612be3c {
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}
@keyframes profile-card-record-mask-out-f612be3c {
from {
    opacity: 1;
}
to {
    opacity: 0;
}
}
@keyframes profile-card-record-panel-in-f612be3c {
from {
    transform: translate3d(105vw, 0, 0);
}
to {
    transform: translate3d(0, 0, 0);
}
}
@keyframes profile-card-record-panel-out-f612be3c {
from {
    transform: translate3d(0, 0, 0);
}
to {
    transform: translate3d(105vw, 0, 0);
}
}
.profile-msg-detail-modal-mask[data-v-f612be3c] {
  position: fixed;
  top: 0;
  bottom: 0;
  left: -115px;
  z-index: 10051;
  width: calc(100vw + 115px);
  padding: 0;
  background: rgba(0, 0, 0, 0.5);
  box-sizing: border-box;
  animation: profile-card-record-mask-in-f612be3c 0.2s ease-out both;
}
.profile-msg-detail-modal-mask--leave[data-v-f612be3c] {
  animation: profile-card-record-mask-out-f612be3c 0.68s ease-in forwards;
  pointer-events: none;
}
.profile-msg-detail-modal-box[data-v-f612be3c] {
  position: fixed;
  top: 15px;
  right: 0;
  bottom: 15px;
  left: auto;
  display: flex;
  width: auto;
  height: auto;
  max-width: none;
  flex-direction: column;
  overflow: hidden;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
  transform: translateZ(0);
  animation: profile-card-record-panel-in-f612be3c 0.9s cubic-bezier(0.12, 0.88, 0.28, 1) both;
}
.profile-msg-detail-modal-mask--leave .profile-msg-detail-modal-box[data-v-f612be3c] {
  animation: profile-card-record-panel-out-f612be3c 0.68s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.profile-msg-detail-modal-header[data-v-f612be3c] {
  display: flex;
  height: 56px;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  padding: 0 8px;
  border-bottom: 1px solid #f0f0f0;
  box-sizing: border-box;
}
.profile-msg-detail-modal-back[data-v-f612be3c] {
  display: flex;
  width: 44px;
  height: 56px;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.profile-msg-detail-modal-back-arrow[data-v-f612be3c] {
  color: #333333;
  font-size: 30px;
  font-weight: 200;
  line-height: 1;
}
.profile-msg-detail-modal-title[data-v-f612be3c] {
  flex: 1;
  margin: 0;
  color: #333333;
  font-size: 17px;
  font-weight: 600;
  text-align: center;
}
.profile-msg-detail-modal-header-placeholder[data-v-f612be3c] {
  width: 44px;
  height: 56px;
  flex-shrink: 0;
}
.profile-msg-detail-modal-scroll[data-v-f612be3c] {
  flex: 1;
  min-height: 0;
  height: 100%;
  padding-bottom: 32px;
  box-sizing: border-box;
}
.profile-msg-detail-modal-scroll[data-v-f612be3c] .n-scrollbar-rail {
  right: 2px;
  width: 4px;
}
.profile-msg-detail-modal-scroll[data-v-f612be3c] .n-scrollbar-rail__scrollbar {
  width: 4px;
  border-radius: 999px;
  background: #d5d5d5;
  opacity: 1;
}
.profile-msg-detail-modal-loading[data-v-f612be3c] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 32px;
  color: #999999;
  font-size: 14px;
}
.profile-msg-detail-modal-inner[data-v-f612be3c] {
  padding: 14px 16px 28px;
  box-sizing: border-box;
}
.profile-msg-detail-modal-h1[data-v-f612be3c] {
  margin: 0;
  color: #222222;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.35;
}
.profile-msg-detail-modal-meta[data-v-f612be3c] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin-top: 9px;
}
.profile-msg-detail-modal-time[data-v-f612be3c] {
  color: #999999;
  font-size: 13px;
}
.profile-msg-detail-modal-tag[data-v-f612be3c] {
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(27, 167, 255, 0.12);
  color: #1ba7ff;
  font-size: 11px;
}
.profile-msg-detail-modal-tag--unread[data-v-f612be3c] {
  background: rgba(255, 149, 0, 0.12);
  color: #ff9500;
}
.profile-msg-detail-modal-body[data-v-f612be3c] {
  margin: 13px 0 0;
  color: #444444;
  font-size: 15px;
  line-height: 1.75;
  white-space: pre-wrap;
}
.profile-card-record-mask[data-v-f612be3c] {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0;
  background: rgba(0, 0, 0, 0.5);
  box-sizing: border-box;
  animation: profile-card-record-mask-in-f612be3c 0.2s ease-out both;
}
.profile-card-record-mask--leave[data-v-f612be3c] {
  animation: profile-card-record-mask-out-f612be3c 0.68s ease-in forwards;
  pointer-events: none;
}
.profile-card-record-box[data-v-f612be3c] {
  position: relative;
  display: flex;
  width: min(600px, 100vw - 40px);
  height: min(780px, 100vh - 48px);
  max-width: 600px;
  max-height: calc(100vh - 48px);
  margin: 24px 20px 24px auto;
  flex-direction: column;
  overflow: hidden;
  border: 2px solid #ffffff;
  border-radius: 20px;
  background: #f3f3f3;
  box-shadow: -10px 14px 42px rgba(27, 35, 54, 0.24);
  box-sizing: border-box;
  transform: translateZ(0);
  animation: profile-card-record-panel-in-f612be3c 0.9s cubic-bezier(0.12, 0.88, 0.28, 1) both;
}
.profile-card-record-mask--leave .profile-card-record-box[data-v-f612be3c] {
  animation: profile-card-record-panel-out-f612be3c 0.68s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.profile-card-record-header[data-v-f612be3c] {
  position: relative;
  display: flex;
  height: 58px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border-bottom: 0;
  box-sizing: border-box;
}
.profile-card-record-back[data-v-f612be3c] {
  position: absolute;
  top: 50%;
  right: 16px;
  display: flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border: 0;
  transform: translateY(-50%);
  border-radius: 50%;
  background: #f3f5f7;
  cursor: pointer;
}
.profile-card-record-back-arrow[data-v-f612be3c] {
  color: #333333;
  font-size: 28px;
  font-weight: 500;
  line-height: 1;
}
.profile-card-record-title[data-v-f612be3c] {
  margin: 0;
  color: #111111;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
}
.profile-card-record-header-placeholder[data-v-f612be3c] {
  width: 44px;
  height: 56px;
  flex-shrink: 0;
}
.profile-card-record-scroll[data-v-f612be3c] {
  flex: 1 1 0%;
  min-height: 0;
  height: 0;
  padding: 0 0 20px;
  box-sizing: border-box;
}
.profile-card-record-scroll[data-v-f612be3c] .n-scrollbar-rail {
  display: none;
}
.profile-card-record-scroll[data-v-f612be3c] .n-scrollbar-rail__scrollbar {
  display: none;
}
.profile-card-record-loading[data-v-f612be3c],
.profile-card-record-empty[data-v-f612be3c] {
  margin-right: 0;
  margin-left: 0;
  padding: 48px 0;
  color: #999999;
  font-size: 14px;
  text-align: center;
}
.profile-card-record-empty-text[data-v-f612be3c] {
  color: #999999;
  font-size: 14px;
}
.profile-card-record-item[data-v-f612be3c] {
  display: flex;
  align-items: center;
  /* Card spacing lives on the cards, so the scrollbar stays at the original edge. */
  margin: 0 24px 12px;
  padding: 14px 16px;
  border: 2px solid #ffffff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.72);
  box-sizing: border-box;
}
.profile-card-record-icon-wrap[data-v-f612be3c] {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  margin-right: 12px;
  overflow: hidden;
  border-radius: 50%;
  background: #f5f5f5;
}
.profile-card-record-icon-img[data-v-f612be3c] {
  width: 44px;
  height: 44px;
}
.profile-card-record-mid[data-v-f612be3c] {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}
.profile-card-record-item-title[data-v-f612be3c] {
  color: #000000;
  font-size: 15px;
  font-weight: 400;
}
.profile-card-record-item-time[data-v-f612be3c] {
  color: #999999;
  font-size: 12px;
}
.profile-card-record-r[data-v-f612be3c] {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}
.profile-card-record-change[data-v-f612be3c] {
  font-size: 14px;
  font-weight: 600;
}
.profile-card-record-change--minus[data-v-f612be3c] {
  color: #1cbfa3;
}
.profile-card-record-change--plus[data-v-f612be3c] {
  color: #ff5d6c;
}
.profile-card-record-balance[data-v-f612be3c] {
  color: #999999;
  font-size: 12px;
}
.profile-card-record-footer[data-v-f612be3c] {
  margin-right: 0;
  margin-left: 0;
  padding: 12px 0 8px;
  text-align: center;
}
.profile-card-record-footer-text[data-v-f612be3c] {
  color: #999999;
  font-size: 12px;
}
/* Personal-center transient actions use the same right drawer shell as the courseware picker. */
.global-overlay.class-method-overlay,
.global-overlay.course-message-overlay,
.global-overlay.course-cancel-overlay,
.global-overlay.profile-confirm-overlay {
  align-items: stretch !important;
  justify-content: flex-end !important;
  padding: 0 !important;
}
.global-overlay .global-overlay__panel.class-method-panel,
.global-overlay .global-overlay__panel.course-message-panel,
.global-overlay .global-overlay__panel.course-cancel-panel,
.global-overlay .global-overlay__panel.profile-confirm-drawer {
  display: flex !important;
  width: min(600px, 100vw - 48px) !important;
  max-width: 600px !important;
  height: 100vh !important;
  max-height: 100vh !important;
  margin: 0 !important;
  flex-direction: column !important;
  border-radius: 0 !important;
  box-shadow: -8px 0 24px rgba(0, 0, 0, 0.12) !important;
}
.global-overlay .global-overlay__panel.class-method-panel .global-overlay__body,
.global-overlay .global-overlay__panel.course-message-panel .global-overlay__body,
.global-overlay .global-overlay__panel.course-cancel-panel .global-overlay__body,
.global-overlay .global-overlay__panel.profile-confirm-drawer .global-overlay__body {
  display: flex !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
}
.global-overlay .class-method-dialog,
.global-overlay .course-message-dialog,
.global-overlay .course-cancel-dialog {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  overflow: auto;
  box-sizing: border-box;
}
.global-overlay .global-overlay__panel.class-method-panel.global-overlay-panel-enter-from,
.global-overlay .global-overlay__panel.class-method-panel.global-overlay-panel-leave-to,
.global-overlay .global-overlay__panel.course-message-panel.global-overlay-panel-enter-from,
.global-overlay .global-overlay__panel.course-message-panel.global-overlay-panel-leave-to,
.global-overlay .global-overlay__panel.course-cancel-panel.global-overlay-panel-enter-from,
.global-overlay .global-overlay__panel.course-cancel-panel.global-overlay-panel-leave-to,
.global-overlay .global-overlay__panel.profile-confirm-drawer.global-overlay-panel-enter-from,
.global-overlay .global-overlay__panel.profile-confirm-drawer.global-overlay-panel-leave-to {
  transform: translateX(56px) !important;
}
.profile-confirm-drawer-copy {
  margin: 0;
  padding: 28px 24px;
  color: #2b3543;
  font-size: 15px;
  line-height: 1.7;
}
.global-overlay .global-overlay__panel.student-switch-drawer {
  width: min(440px, 100vw - 48px) !important;
  max-width: 440px !important;
  border-radius: 18px !important;
}
.student-switch-drawer__body {
  padding: 18px 22px 22px;
}
.student-switch-drawer__hint {
  margin: 0 0 14px;
  color: #8a94a6;
  font-size: 14px;
}
.student-switch-drawer__list {
  display: flex;
  max-height: min(360px, 45vh);
  flex-direction: column;
  gap: 10px;
  overflow-y: auto;
}
.student-switch-drawer__item {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  padding: 13px 14px;
  border: 1px solid #e7ebf1;
  border-radius: 12px;
  background: #ffffff;
  color: #253247;
  cursor: pointer;
  text-align: left;
}
.student-switch-drawer__item.selected {
  border-color: #1ba9ef;
  background: #eef9ff;
}
.student-switch-drawer__identity {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}
.student-switch-drawer__identity b {
  overflow: hidden;
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.student-switch-drawer__identity small {
  color: #8a94a6;
  font-size: 13px;
}
.student-switch-drawer__check {
  display: flex;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  margin-left: 14px;
  border: 1px solid #cfd6df;
  border-radius: 50%;
  color: transparent;
  font-size: 12px;
}
.student-switch-drawer__item.selected .student-switch-drawer__check {
  border-color: #1ba9ef;
  background: #1ba9ef;
  color: #ffffff;
}
.student-switch-drawer__actions {
  display: flex;
  gap: 12px;
  margin-top: 20px;
}
.student-switch-drawer__actions button {
  height: 40px;
  flex: 1;
  border: 1px solid #dbe1e8;
  border-radius: 9px;
  background: #ffffff;
  color: #657084;
  cursor: pointer;
  font-size: 15px;
}
.student-switch-drawer__actions button.primary {
  border-color: #1ba9ef;
  background: #1ba9ef;
  color: #ffffff;
}
.student-switch-drawer__actions button:disabled,
.student-switch-drawer__item:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

/* 授权确认使用居中弹窗，不使用右侧抽屉布局。 */
.global-overlay.profile-confirm-overlay {
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
}
.global-overlay .global-overlay__panel.profile-confirm-drawer {
  width: min(440px, 100vw - 48px) !important;
  max-width: 440px !important;
  height: auto !important;
  max-height: min(360px, 100vh - 48px) !important;
  border-radius: 16px !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18) !important;
}
.global-overlay .global-overlay__panel.profile-confirm-drawer .global-overlay__body {
  flex: 0 0 auto !important;
}
.global-overlay .global-overlay__panel.profile-confirm-drawer.global-overlay-panel-enter-from,
.global-overlay .global-overlay__panel.profile-confirm-drawer.global-overlay-panel-leave-to {
  transform: translateY(14px) !important;
}
.global-overlay.course-signup-overlay {
  align-items: center !important;
  justify-content: center !important;
}
.global-overlay .global-overlay__panel.course-signup-panel {
  width: min(360px, 100vw - 48px) !important;
  max-width: 360px !important;
  border-radius: 15px !important;
  background: rgba(255, 255, 255, 0.96) !important;
}
.course-signup-dialog {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.course-signup-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 16px 0 0;
}
.course-signup-body img {
  display: block;
  width: 312px;
  height: 312px;
  object-fit: contain;
  border-radius: 6px;
}
.course-signup-state {
  min-height: 312px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  font-size: 15px;
  text-align: center;
}
.course-signup-tip {
  margin-top: 12px;
  color: #666;
  font-size: 13px;
  font-weight: 600;
}
.course-signup-dialog footer {
  padding: 20px 24px;
}
.course-signup-dialog footer button {
  display: block;
  width: 312px;
  max-width: 100%;
  height: 44px;
  margin: 0 auto;
  border: 0;
  border-radius: 22px;
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
}
.course-signup-dialog footer button:active {
  opacity: 0.9;
  transform: scale(0.98);
}
.student-association-auth-modal {
  position: fixed;
  inset: 0;
  z-index: 20000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: #fff;
}
.student-association-auth-modal__close {
  position: absolute;
  top: 18px;
  right: 22px;
  z-index: 2;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: #475569;
  font-size: 32px;
  font-weight: 300;
  line-height: 38px;
  cursor: pointer;
  box-shadow: 0 3px 14px rgba(15, 23, 42, 0.12);
}
.student-association-auth-modal__frame {
  display: block;
  width: min(100%, 600px);
  height: min(100%, 420px);
  border: 0;
  border-radius: 12px;
  background: #fff;
}
.profile-msg-detail-modal-mask,
.profile-card-record-mask {
  justify-content: flex-end !important;
}
.profile-msg-detail-modal-box,
.profile-card-record-box {
  width: min(600px, 100vw - 48px) !important;
}
.profile-msg-detail-modal-box {
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 100vh !important;
  max-height: 100vh !important;
  border-radius: 0 !important;
  left: auto !important;
}
.profile-card-record-box {
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: min(600px, 100vw - 40px) !important;
  height: min(780px, 100vh - 48px) !important;
  max-height: calc(100vh - 48px) !important;
  margin: 24px 20px 24px auto !important;
  border-radius: 20px !important;
}

/* Force Naive UI dropdown popups to render above the teleported settings overlay drawer (z-index: 10001) */
.v-binder-follower-container {
  z-index: 20000 !important;
}

/* iPad profile visual layer — business state and pane routing stay unchanged. */
.profile-page {
  background: #f3f3f3;
}
.profile-pad-pane--left {
  flex: 0 0 375px;
  max-width: 375px;
  margin: 15px 0;
  overflow-y: auto;
  background: transparent;
}
.profile-pad-pane--left::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
.profile-pad-pane--right {
  margin: 15px 15px 15px 0;
  border-radius: 0 15px 15px 0;
}
.profile-header {
  min-height: 240px;
  padding: 0 15px 15px;
}
.profile-header-bg {
  width: 375px;
  height: 240px;
  opacity: 0.95;
}
.profile-header-pad-top {
  padding-top: 56px;
}
.user-info {
  gap: 12px;
}
.user-avatar-wrap,
.user-avatar {
  width: 68px;
  height: 68px;
}
.user-avatar-edit-badge {
  width: 22px;
  height: 22px;
}
.user-name {
  font-size: 21px;
}
.user-role {
  margin-top: 5px;
  font-size: 14px;
}
.student-switch-icon {
  width: 24px;
  height: 24px;
}
.stats-row {
  margin-top: 32px;
}
.stat-value {
  font-size: 20px;
}
.stat-label {
  font-size: 14px;
}
.module-card {
  margin: 14px 15px 0;
  border: 2px solid #fff;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: none;
}
.action-card {
  flex-wrap: wrap;
  padding: 15px 12px 16px;
}
.action-card-title {
  display: flex;
  width: 100%;
  flex: 0 0 100%;
  align-items: center;
  margin-bottom: 14px;
}
.module-title-accent {
  width: 3px;
  height: 17px;
  flex-shrink: 0;
  margin-right: 8px;
  border-radius: 999px;
  background: linear-gradient(180deg, #3d4df5, #bf62fd);
}
.module-title-text,
.quick-title {
  color: #202020;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
}
.action-item {
  width: 25%;
  flex: 0 0 25%;
}
.action-icon,
.action-icon img {
  width: 44px;
  height: 44px;
}
.action-icon {
  margin: 0 0 7px;
  border-radius: 10px;
}
.action-text {
  color: #3f3f3f;
  font-size: 13px;
}
.quick-title-wrap {
  height: 46px;
  padding: 0 14px;
  border-bottom-color: #eee;
}
.quick-title-wrap .module-title-accent {
  margin-right: 8px;
}
.quick-grid {
  flex-direction: column;
  flex-wrap: nowrap;
  padding: 0 14px 10px;
}
.quick-item {
  width: 100%;
  min-height: 58px;
  flex: 0 0 58px;
  flex-direction: row;
  justify-content: flex-start;
  padding: 0;
}
.quick-icon-wrap,
.quick-icon-image {
  width: 36px;
  height: 36px;
}
.quick-icon-wrap {
  flex-shrink: 0;
  margin: 0 10px 0 0;
}
.quick-label {
  flex: 1;
  padding: 0;
  color: #202020;
  font-size: 15px;
  text-align: left;
}
.quick-arrow {
  display: flex;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
}
.quick-arrow-image {
  display: block;
  width: 24px;
  height: 24px;
  object-fit: contain;
}
.profile-empty-image {
  width: 150px;
  height: 150px;
}
.profile-pad-pane--right .profile-empty-wrap {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  background: #fff;
  text-align: center;
}
.profile-pad-pane--right .profile-empty-image {
  width: 150px;
  height: 150px;
  margin-bottom: 16px;
}
.profile-pad-pane--right .profile-empty-title {
  margin-bottom: 8px;
  color: #666;
  font-size: 18px;
}
.profile-pad-pane--right .profile-empty-tip {
  margin-top: 6px;
  padding: 8px 20px;
  border-radius: 999px;
  background: linear-gradient(90deg, #3d4df5, #bf62fd);
  color: #fff;
  font-size: 14px;
}
.footer--tablet-profile {
  margin-top: 20px;
  padding-bottom: 16px;
}

/* The legacy desktop selectors are intentionally overridden at the pane level.
   These rules keep the iPad cards from falling back to a multi-column phone grid. */
.profile-pad-pane--left .action-card {
  display: flex !important;
  flex-wrap: wrap !important;
}
.profile-pad-pane--left .action-card > .action-card-title {
  display: flex !important;
  width: 100% !important;
  flex: 0 0 100% !important;
}
.profile-pad-pane--left .action-card > .action-item {
  display: flex !important;
  width: 25% !important;
  min-width: 0 !important;
  flex: 0 0 25% !important;
  flex-direction: column !important;
  align-items: center !important;
  box-sizing: border-box !important;
}
.profile-pad-pane--left .quick-entry-card .quick-grid {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-content: stretch !important;
}
.profile-pad-pane--left .quick-entry-card .quick-grid > .quick-item {
  display: flex !important;
  width: 100% !important;
  height: 58px !important;
  min-height: 58px !important;
  flex: 0 0 58px !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
.profile-pad-pane--left .quick-entry-card .quick-grid > .quick-item > .quick-label {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
.profile-pad-pane--left {
  height: calc(100vh - 30px);
  max-height: calc(100vh - 30px);
  min-height: 0 !important;
  align-self: flex-start;
  overflow: hidden !important;
}
.profile-pad-pane--right {
  height: calc(100vh - 30px);
  max-height: calc(100vh - 30px);
  min-height: 0;
  min-width: 0 !important;
  width: 0;
  flex: 1 1 0 !important;
  align-self: flex-start;
}
.profile-pad-left-scroll {
  width: 100%;
  height: 0;
  min-height: 0;
  flex: 1 1 auto;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
}
.profile-pad-left-scroll::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

/* Keep the profile surface inside the space immediately to the right of the
   15px + 71px tablet tab rail; no child pane may widen the page. */
.profile-page {
  width: calc(100vw - 86px);
  max-width: calc(100vw - 86px);
  height: 100vh;
  max-height: 100vh;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  box-sizing: border-box;
}
.app-update-bootstrap[data-v-56b0e240] {
  display: none;
}
/* All Naive UI programmatic dialogs share the tablet dialog treatment. */
.n-dialog-container .n-dialog {
  border: 2px solid #ffffff;
  border-radius: 20px;
  background: #f3f3f3;
  box-shadow: 0 18px 52px rgba(27, 35, 54, 0.3);
}
.n-dialog-container .n-dialog__action {
  gap: 14px;
}
.n-dialog-container .n-dialog__action .n-button {
  min-width: 110px;
  height: 42px;
  border-radius: 21px;
  font-size: 16px;
  font-weight: 700;
}
.n-dialog-container .n-dialog__action .n-button--primary-type {
  border: 0;
  background: linear-gradient(90deg, #3d4df5 0%, #bf62fd 100%);
}
.n-dialog-container .n-dialog__action .n-button--default-type {
  border-color: #d7dbff;
  background: #ffffff;
  color: #3d4df5;
}* {
  box-sizing: border-box;
}

html,
body,
#app {
  width: 100%;
  min-width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0;
}

body {
  overflow: hidden;
  color: #333333;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  background: #f5f5f5;
}

a {
  color: inherit;
  text-decoration: none;
}

.n-card {
  border-radius: 12px;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.05);
}

.n-menu {
  background: transparent;
}

.n-data-table {
  min-height: 360px;
}

body.ct-overlay-open .app-tab-bar {
  z-index: 1 !important;
}

/* Keep Naive UI confirmation dialogs above the teleported profile settings drawer (10001). */
.n-dialog-container,
.n-modal-container {
  z-index: 10020 !important;
}
