*{box-sizing:border-box}body{margin:0;font-family:"Microsoft YaHei",system-ui,sans-serif;color:#253b41}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.loading,.notice{padding:24px;color:#697c80}.error{padding:12px;color:#a63732;background:#fff0ed}.studio-top{height:64px;border-bottom:1px solid #dfe7e3;display:flex;align-items:center;gap:20px;padding:0 clamp(18px,4vw,64px);background:#fff;color:#6a7c80;font-size:12px}.studio-top>a:last-child{margin-left:auto;color:#266b65}.studio-brand,.child-brand{display:flex;align-items:center;gap:9px;color:#20373d;font-size:15px}.studio-brand span,.child-brand span{display:grid;place-items:center;width:32px;height:32px;border-radius:6px;background:#3973ec;color:#fff;font-weight:800}.learning-admin{background:#f3f6f8}.studio-page{max-width:1440px;margin:auto;padding:28px clamp(16px,3vw,42px)}.studio-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.studio-head h1{font-size:24px;margin:0 0 6px}.studio-head p{margin:0;color:#728287;font-size:12px}.studio-head button,.studio-actions button,.studio-row button,.studio-form button,.studio-filter button,.child-action,.child-tabs button,.quiz button,.child-login button,.child-top button{border:1px solid #cbded8;background:#fff;color:#235d58;border-radius:6px;padding:9px 12px}.studio-head button.primary,.studio-actions button.primary,.studio-form button.primary,.child-action.primary,.quiz button.primary,.child-login button.primary{background:#3771e8;border-color:#3771e8;color:#fff}.studio-layout{display:grid;grid-template-columns:minmax(240px,310px) minmax(0,1fr);gap:20px}.studio-catalog{min-width:0;border-right:1px solid #d7e2df;padding-right:18px}.studio-catalog h2,.studio-detail h2{font-size:16px;margin:0 0 13px}.studio-pick{width:100%;display:grid;grid-template-columns:74px minmax(0,1fr);gap:10px;text-align:left;align-items:center;padding:8px;background:#fff;border:1px solid #dae4e0;border-radius:6px;margin:0 0 8px}.studio-pick.active{border-color:#2e8c7c;background:#edf8f3}.studio-pick b,.studio-pick small{display:block;overflow-wrap:anywhere}.studio-pick b{font-size:12px}.studio-pick small{margin-top:5px;color:#74858a;font-size:10px}.learning-cover{aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;background:#dcebe6;border-radius:5px}.learning-cover img{width:100%;height:100%;object-fit:cover}.learning-cover span{font-size:24px;font-weight:800;color:#2b6b63}.studio-pick .learning-cover{aspect-ratio:1.15}.studio-detail{min-width:0}.studio-overview{display:grid;grid-template-columns:minmax(170px,30%) 1fr;gap:18px;align-items:center}.studio-overview .learning-cover{width:100%}.studio-overview h2{font-size:21px;margin:6px 0}.studio-overview p{line-height:1.6;font-size:12px;color:#63777b}.studio-overview small,.studio-row small{color:#748589}.studio-actions,.studio-row-actions{display:flex;gap:8px;flex-wrap:wrap}.studio-actions{margin:16px 0 24px}.studio-section{background:#fff;border:1px solid #dbe7e3;border-radius:6px;margin:14px 0}.studio-section>header{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#f5f9f7;padding:12px 15px}.studio-section h3{font-size:14px;margin:0}.studio-section p{color:#728589;font-size:11px;margin:5px 0 0}.studio-row{display:flex;justify-content:space-between;gap:12px;padding:13px 15px;border-top:1px solid #ebf0ed;font-size:12px}.studio-row b,.studio-row small{display:block}.studio-add{margin:12px 15px}.studio-filter{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.studio-filter select,.studio-filter input,.studio-form input,.studio-form select,.studio-form textarea,.child-login input{border:1px solid #cddbd6;border-radius:6px;padding:10px;background:#fff;min-width:0}.studio-filter input{flex:1;min-width:180px}.studio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.studio-card{border:1px solid #e0e7e4;background:#fff;border-radius:7px;overflow:hidden;text-align:left;padding:0}.studio-card .learning-cover{border-radius:0}.studio-card>div:last-child{padding:14px}.studio-card b,.studio-card small{display:block}.studio-card b{font-size:14px;margin:6px 0}.studio-card small{color:#708286;font-size:11px}.studio-enroll{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,380px);gap:18px}.studio-panel{background:#fff;border:1px solid #e0e8e4;padding:20px;border-radius:6px}.studio-panel h2{font-size:17px;margin:0 0 15px}.studio-form{display:grid;gap:12px}.studio-form label{display:grid;gap:5px;font-size:12px;font-weight:700}.studio-form label small{font-weight:400;color:#708286}.studio-roster{display:grid;gap:8px}.studio-roster article{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #e7ede9;padding:10px 0;font-size:12px}.studio-roster small{display:block;color:#728287;margin-top:5px}.studio-modal{position:fixed;z-index:50;inset:0;background:#172d36a8;display:grid;place-items:center;padding:12px}.studio-dialog{background:#fff;border-radius:7px;padding:22px;width:min(620px,100%);max-height:92vh;overflow:auto}.studio-dialog.wide{width:min(960px,100%)}.studio-dialog>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.studio-dialog h2{margin:0;font-size:18px}.studio-dialog .video-js,.studio-dialog video{width:100%;aspect-ratio:16/9;background:#111}.studio-dialog footer{display:flex;justify-content:flex-end;gap:8px}.studio-upload{display:inline-flex;position:relative;align-items:center;border:1px solid #cbded8;border-radius:6px;padding:9px 12px;font-size:11px;color:#235d58;background:#fff;cursor:pointer}.studio-upload input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.studio-status{color:#2b8175;font-size:11px}.studio-form textarea{min-height:80px;resize:vertical}
.learning-child{background:#f9fbf6;color:#27393c}.child-top{height:70px;background:#fff;border-bottom:1px solid #e7ede4;display:flex;gap:20px;align-items:center;padding:0 clamp(16px,4vw,60px)}.child-brand{font-size:17px}.child-brand span{background:#eb6557;border-radius:8px}.child-top nav{display:flex;gap:7px;margin-left:auto}.child-top button{font-size:12px}.child-top [data-child-name]{font-size:12px;color:#637679}.child-page{max-width:1260px;margin:auto;padding:26px clamp(16px,4vw,48px) 70px}.child-intro{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}.child-intro h1{font-size:26px;margin:0 0 5px}.child-intro p{font-size:13px;color:#718083;margin:0}.child-filter{display:flex;gap:8px;overflow-x:auto;padding:0 0 14px}.child-filter button{white-space:nowrap;border:1px solid #d4e4dc;background:#fff;padding:9px 14px;border-radius:20px;color:#52736c}.child-filter button.active{background:#2f8c7c;color:white}.child-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.child-card{background:#fff;border:1px solid #e3e9e2;border-radius:8px;overflow:hidden;box-shadow:0 3px 14px #194f3a0a;text-align:left;padding:0}.child-card .learning-cover{border-radius:0}.child-card-body{padding:16px}.child-card small{color:#60837b;font-size:11px}.child-card h2{font-size:17px;margin:8px 0}.child-card p{font-size:12px;color:#738284;min-height:36px}.child-card footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e8efea;padding-top:12px;color:#e56858;font-size:12px}.child-card footer b{color:#2e8c7c}.child-progress{height:7px;border-radius:6px;background:#e8f1eb;overflow:hidden}.child-progress i{display:block;height:100%;background:#f2aa48}.child-detail-head{display:flex;gap:18px;align-items:center;margin:12px 0 24px}.child-detail-head .learning-cover{width:min(270px,36%);flex:none}.child-detail-head h1{font-size:24px;margin:5px 0}.child-detail-head p{color:#708083;font-size:13px}.child-layout{display:grid;grid-template-columns:minmax(210px,270px) minmax(0,1fr);gap:20px}.child-chapters{background:#fff;border:1px solid #e2eae3;border-radius:7px;padding:12px}.child-chapters h3{font-size:13px;margin:8px}.child-chapters button{display:block;width:100%;border:0;background:#fff;text-align:left;padding:10px;border-radius:5px;font-size:12px;color:#375251}.child-chapters button.active{background:#e9f7f1}.child-chapters small{display:block;color:#82928e;margin-top:4px}.child-player{min-width:0}.child-player .video-js,.child-player video{width:100%;aspect-ratio:16/9;background:#101b1d}.child-player h2{font-size:19px}.child-player p{font-size:12px;color:#718184;line-height:1.6}.quiz{padding:16px 0;border-top:1px solid #e0ebe4}.quiz h3{font-size:15px}.quiz-options{display:grid;gap:8px}.quiz-options button{text-align:left;background:white}.quiz-options button.selected{border-color:#2e8c7c;background:#e9f8f2}.quiz-feedback{margin-top:12px;padding:12px;background:#fff7e6;border-radius:5px;font-size:12px}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.report-card{background:white;border:1px solid #e1e9e2;border-radius:7px;padding:17px}.report-card h2{font-size:16px}.report-card b{font-size:24px;color:#2e8c7c}.child-login{max-width:460px;margin:8vh auto;background:white;border:1px solid #dfebe4;border-radius:8px;padding:28px}.child-login h1{font-size:23px}.child-login label{display:grid;gap:5px;margin:14px 0;font-size:13px}.child-login input{width:100%}.child-login .buttons{display:flex;gap:8px}.child-login button{flex:1}.child-back{border:0;background:transparent;color:#267e71;padding:0;margin:0 0 18px}
.studio-course-choices{min-width:0;border:1px solid #dbe7e3;border-radius:6px;padding:10px 12px;max-height:180px;overflow:auto}.studio-course-choices legend{font-size:12px;font-weight:700}.studio-course-choices label{display:flex;align-items:center;gap:9px;padding:6px 0}.studio-course-choices input{width:16px;height:16px;flex:none}
@media(max-width:980px){.studio-grid,.child-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-enroll{grid-template-columns:1fr}}
@media(max-width:650px){.studio-top{gap:8px}.studio-top>span{display:none}.studio-page{padding:16px}.studio-head{align-items:flex-start}.studio-head h1{font-size:20px}.studio-layout,.child-layout{grid-template-columns:minmax(0,1fr)}.studio-catalog{border:0;padding:0}.studio-overview{grid-template-columns:94px 1fr;gap:10px}.studio-overview h2{font-size:16px}.studio-grid,.child-grid,.report-grid{grid-template-columns:1fr}.studio-row{display:block}.studio-row-actions{margin-top:10px}.child-top{padding:0 12px;gap:7px}.child-brand b{font-size:13px}.child-top button{padding:7px;font-size:10px}.child-top [data-child-name]{display:none}.child-page{padding:20px 15px 55px}.child-intro h1{font-size:22px}.child-detail-head{align-items:flex-start}.child-detail-head .learning-cover{width:96px;aspect-ratio:1}.child-detail-head h1{font-size:19px}.child-player{order:-1}}

/* The online-course studio is part of CourseOS, not a separate microsite. */
.learning-admin {
  min-height: 100vh;
  background: var(--cos-canvas);
}

.learning-app {
  display: grid;
  grid-template-columns: 244px minmax(0, 1fr);
  min-height: 100vh;
  align-items: stretch;
}

.learning-app .sidebar {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  height: 100vh;
  max-height: 100vh;
  position: sticky;
  top: 0;
  overflow-y: auto;
}

.learning-app .side-bottom {
  flex: none;
  margin-top: auto;
  padding: 16px 10px 0;
  border-top: 1px solid var(--cos-line);
}

.learning-app .profile {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: var(--cos-ink-soft);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.learning-app .profile .avatar {
  display: grid;
  place-items: center;
  flex: none;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--cos-primary-soft);
  color: var(--cos-primary);
  font-size: 12px;
  font-weight: 800;
}

.learning-app .profile span {
  color: var(--cos-muted);
  font-size: 11px;
  font-weight: 400;
}

.learning-app .main {
  min-width: 0;
  min-height: 100vh;
}

.learning-app .nav a {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 40px;
  padding: 9px 12px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--cos-ink-soft);
  text-decoration: none;
  transition: background .16s ease, border-color .16s ease, color .16s ease,
    box-shadow .16s ease;
}

.learning-app .nav a:hover {
  background: var(--cos-primary-soft);
  border-color: #d9e5ff;
  color: var(--cos-primary);
}

.learning-app .nav a.active {
  background: var(--cos-primary);
  border-color: var(--cos-primary);
  color: #fff;
  font-weight: 700;
  box-shadow: 0 7px 16px rgba(63, 123, 243, .18);
}

.learning-app .nav a .icon {
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  flex: none;
}

.learning-app .preview-institution {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 40px;
  padding: 9px 10px;
  border: 1px solid #d9e5ff;
  border-radius: 10px;
  background: var(--cos-primary-soft);
  color: var(--cos-primary);
  text-decoration: none;
  font-size: 11px;
  font-weight: 700;
}

.learning-app .preview-institution:hover {
  background: var(--cos-primary);
  color: #fff;
}

.learning-content {
  width: min(100%, 1560px);
  max-width: 1560px;
  padding: 30px 34px 56px;
}

.learning-back-link {
  display: grid;
  place-items: center;
  text-decoration: none;
}

.learning-content #learningStudio {
  min-width: 0;
}

.learning-mobile-menu,
.learning-mobile-scrim {
  display: none;
}

.learning-app .topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:0 32px;border-bottom:1px solid var(--cos-line);background:var(--cos-surface)}
.learning-app .crumb{display:flex;align-items:center;gap:7px;min-width:0;height:auto;color:var(--cos-muted);font-size:12px;white-space:nowrap}
.learning-app .crumb strong{overflow:hidden;color:var(--cos-ink);font-weight:700;text-overflow:ellipsis}
.learning-app .top-actions{display:flex;align-items:center;gap:10px;height:auto;margin-left:auto}
.learning-app .learning-back-link{width:32px;height:32px;border:1px solid var(--cos-line);border-radius:8px;background:#fff;color:var(--cos-ink-soft)}
.learning-app .user-pill{display:flex;align-items:center;gap:8px;width:auto;height:auto;color:var(--cos-ink-soft);font-size:12px;white-space:nowrap}
.learning-app .user-pill .avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--cos-primary-soft);color:var(--cos-primary);font-size:12px;font-weight:800}

.learning-content .studio-head {
  margin-bottom: 24px;
}

.learning-content .studio-head h1 {
  color: var(--cos-ink);
  letter-spacing: 0;
}

.learning-content .studio-head p {
  color: var(--cos-muted);
}

.learning-content .studio-layout {
  grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
  gap: 18px;
}

.learning-content .studio-catalog {
  border-right: 0;
  padding: 16px;
  border: 1px solid var(--cos-line);
  border-radius: var(--cos-radius);
  background: var(--cos-surface);
  box-shadow: var(--cos-shadow-sm);
}

.learning-content .studio-catalog h2,
.learning-content .studio-detail h2 {
  color: var(--cos-ink);
}

.learning-content .studio-pick,
.learning-content .studio-section,
.learning-content .studio-panel,
.learning-content .studio-card {
  border-color: var(--cos-line);
  border-radius: var(--cos-radius-sm);
  box-shadow: none;
}

.learning-content .studio-pick.active {
  border-color: #b9d2ff;
  background: var(--cos-primary-soft);
}

.learning-content .studio-section > header {
  background: var(--cos-surface-soft);
  border-color: var(--cos-line);
}

.learning-content .studio-head button.primary,
.learning-content .studio-actions button.primary,
.learning-content .studio-form button.primary {
  background: var(--cos-primary);
  border-color: var(--cos-primary);
}

.learning-content .studio-head-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.learning-content .studio-empty {
  min-height: 420px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  padding: 38px;
  border: 1px dashed var(--cos-line);
  border-radius: var(--cos-radius);
  background: var(--cos-surface);
  text-align: center;
}

.learning-content .studio-empty h2,
.learning-content .studio-empty p {
  margin: 0;
}

.learning-content .studio-empty p {
  max-width: 420px;
  color: var(--cos-muted);
  font-size: 13px;
}

.learning-content .studio-empty-mark {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: var(--cos-primary-soft);
  color: var(--cos-primary);
  font-size: 24px;
  font-weight: 800;
}

.learning-content .studio-empty-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 8px;
}

.learning-content-preview,
.child-reading {
  padding: 28px;
  border: 1px solid var(--cos-line);
  border-radius: var(--cos-radius-sm);
  background: linear-gradient(180deg, #f8fbff 0%, #fff 100%);
}

.learning-content-preview h3 {
  margin: 8px 0 18px;
  color: var(--cos-ink);
  font-size: 22px;
}

.learning-content-preview p,
.child-reading p {
  margin: 0 0 12px;
  color: var(--cos-ink-soft);
  font-size: 14px;
  line-height: 1.8;
  white-space: pre-wrap;
}

.learning-content-preview-kicker {
  color: var(--cos-primary);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
}

.child-reading {
  margin-bottom: 18px;
}

.learning-content .studio-head button.primary:hover,
.learning-content .studio-actions button.primary:hover,
.learning-content .studio-form button.primary:hover {
  background: var(--cos-primary-strong);
  border-color: var(--cos-primary-strong);
}

@media (max-width: 860px) {
  .learning-app {
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .learning-app .sidebar {
    padding: 20px 10px;
  }

  .learning-app .brand {
    padding: 0 9px 30px;
  }

  .learning-app .brand > div:not(.brand-mark),
  .learning-app .nav a span:last-child,
  .learning-app .section-label,
  .learning-app .side-bottom {
    display: none;
  }

  .learning-app .nav a {
    justify-content: center;
  }

  .learning-app .preview-institution {
    justify-content: center;
    padding: 9px 6px;
    font-size: 0;
  }

  .learning-app .preview-institution::first-letter {
    font-size: 16px;
  }
}

@media (max-width: 680px) {
  .learning-app {
    grid-template-columns: 1fr;
  }

  .learning-app .sidebar {
    display: flex;
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 80;
    width: min(284px, 86vw);
    min-height: 100vh;
    transform: translateX(-105%);
    transition: transform .2s ease;
    box-shadow: 18px 0 36px rgba(27, 45, 56, .14);
  }

  .learning-admin.learning-nav-open .sidebar {
    transform: translateX(0);
  }

  .learning-mobile-menu {
    display: grid;
    place-items: center;
    flex: none;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid var(--cos-line);
    border-radius: 8px;
    background: #fff;
    color: var(--cos-ink);
    font-size: 16px;
  }

  .learning-mobile-scrim {
    position: fixed;
    inset: 0;
    z-index: 79;
    display: block;
    background: rgba(27, 45, 56, .28);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
  }

  .learning-admin.learning-nav-open .learning-mobile-scrim {
    opacity: 1;
    pointer-events: auto;
  }

  .learning-content {
    padding: 24px 16px 44px;
  }

  .learning-content .studio-layout {
    grid-template-columns: 1fr;
  }

  .learning-content .studio-catalog {
    max-height: 290px;
    overflow: auto;
  }

  .learning-content .studio-head-actions {
    width: 100%;
  }

  .learning-content .studio-head-actions button {
    flex: 1;
  }
}

/* 课程内容工作台：平台生产与机构使用采用同一套 CourseOS 表面语言，但职责分区明确。 */
.studio-kicker{display:block;color:var(--cos-primary);font-size:10px;font-weight:800;letter-spacing:.08em;margin-bottom:8px}
.platform-workspace,.institution-workspace{max-width:1500px;margin:0 auto}
.platform-workspace-head,.institution-workspace-head{align-items:flex-end;margin-bottom:20px}
.platform-workspace-head h1,.institution-workspace-head h1{font-size:30px;letter-spacing:0;margin:0 0 7px}
.platform-workspace-head p,.institution-workspace-head p{max-width:680px;line-height:1.7}
.button-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbded8;border-radius:8px;padding:10px 14px;color:#235d58;font-size:12px;font-weight:700;background:#fff}
.button-link.primary{background:var(--cos-primary);border-color:var(--cos-primary);color:#fff}
.studio-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}
.studio-kpi-grid>div{min-height:100px;padding:17px 18px;border:1px solid var(--cos-line);border-radius:12px;background:var(--cos-surface);box-shadow:var(--cos-shadow-sm)}
.studio-kpi-grid span,.studio-kpi-grid small{display:block;color:var(--cos-muted);font-size:11px}
.studio-kpi-grid b{display:block;color:var(--cos-ink);font-size:26px;line-height:1;margin:13px 0 7px}
.course-directory-section,.course-editor-section,.institution-catalog-section,.institution-student-section{border:1px solid var(--cos-line);border-radius:14px;background:var(--cos-surface);box-shadow:var(--cos-shadow-sm)}
.course-directory-section{padding:20px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}
.institution-catalog-section .section-heading{display:grid;grid-template-columns:minmax(126px,1fr) minmax(250px,1.45fr);align-items:end}
.institution-catalog-section .section-heading>div:first-child{min-width:126px}
.section-heading h2{margin:0 0 5px;font-size:18px;color:var(--cos-ink)}
.section-heading h3{margin:0 0 5px;font-size:16px;color:var(--cos-ink)}
.section-heading p{margin:0;color:var(--cos-muted);font-size:11px;line-height:1.6}
.directory-tools{display:flex;gap:8px;min-width:min(470px,100%)}
.directory-tools input,.directory-tools select{min-width:0;border:1px solid var(--cos-line);border-radius:8px;padding:10px 11px;background:#fff;color:var(--cos-ink-soft);font-size:11px}
.directory-tools input{flex:1}
.course-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.course-directory-card{min-width:0;border:1px solid var(--cos-line);border-radius:12px;background:#fff;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.course-directory-card:hover,.course-directory-card.selected{border-color:#9cbcff;box-shadow:0 10px 24px rgba(57,115,236,.10);transform:translateY(-1px)}
.course-directory-card-main{display:grid;grid-template-columns:112px minmax(0,1fr);gap:13px;width:100%;padding:12px;text-align:left;border:0;background:transparent;color:inherit}
.course-directory-card-main .learning-cover{width:112px;aspect-ratio:1.18;border-radius:9px}
.course-directory-card-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding-top:2px}
.course-directory-card-copy>b{display:block;overflow:hidden;width:100%;color:var(--cos-ink);font-size:14px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
.course-directory-card-copy>small{display:block;overflow:hidden;max-width:100%;color:var(--cos-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.course-card-topline{display:flex;align-items:center;gap:7px;width:100%}
.course-card-topline em{font-style:normal;color:#2c7b67;background:#e6f5ef;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:800}
.course-card-topline em:empty{display:none}
.course-card-topline small{margin-left:auto;overflow:hidden;color:var(--cos-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.course-card-metrics{display:flex;gap:7px;flex-wrap:wrap;color:#7b8b8e;font-size:10px}
.course-card-metrics i{font-style:normal}
.course-directory-card-actions{display:flex;gap:7px;border-top:1px solid #edf1ef;padding:9px 12px;background:#fbfcfc}
.course-directory-card-actions button{border:1px solid var(--cos-line);border-radius:7px;padding:7px 9px;background:#fff;color:#316d67;font-size:10px}
.course-directory-card-actions button:first-child{font-weight:700}
.course-editor-section{margin-top:20px;padding:20px}
.editor-selected-note{align-self:center;padding:8px 10px;border-radius:8px;background:var(--cos-primary-soft);color:var(--cos-primary);font-size:10px;font-weight:700}
.course-editor{min-width:0}
.course-editor-hero{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;padding-bottom:18px;border-bottom:1px solid var(--cos-line)}
.course-editor-cover .learning-cover{width:100%;aspect-ratio:16/9;border-radius:10px}
.course-editor-copy{min-width:0;padding-top:2px}
.course-editor-meta{display:flex;align-items:center;gap:9px;color:var(--cos-muted);font-size:10px}
.course-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:800}
.course-status.published{color:#2c7b67;background:#e6f5ef}.course-status.draft{color:#997229;background:#fff4d9}
.course-editor-copy h3{margin:10px 0 7px;color:var(--cos-ink);font-size:22px}
.course-editor-copy p{max-width:720px;margin:0;color:var(--cos-muted);font-size:12px;line-height:1.7}
.course-editor-counts{display:flex;gap:20px;margin-top:15px;color:var(--cos-muted);font-size:10px}
.course-editor-counts b{margin-right:4px;color:var(--cos-ink);font-size:16px}
.editor-actions{align-items:center;margin:16px 0 22px}
.editor-more{position:relative;margin-left:auto}.editor-more summary{cursor:pointer;list-style:none;border:1px solid var(--cos-line);border-radius:8px;padding:9px 12px;color:var(--cos-muted);font-size:11px}.editor-more summary::-webkit-details-marker{display:none}.editor-more[open] summary{color:var(--cos-primary);border-color:#b9d2ff}.editor-more button{position:absolute;right:0;top:42px;z-index:3;white-space:nowrap;background:#fff!important;color:#a34b43!important}
.editor-content-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}
.editor-content-heading h3{margin:0 0 5px;color:var(--cos-ink);font-size:16px}.editor-content-heading p{margin:0;color:var(--cos-muted);font-size:11px}
.section-body{background:#fff}.section-body[hidden]{display:none}
.studio-section{overflow:hidden;border-radius:10px;margin:12px 0;background:#fff}
.studio-section>header{align-items:center;padding:15px 17px;background:#f7f9fb}
.studio-section>header h3{margin:4px 0 3px;font-size:14px}.studio-section>header p{margin:0;max-width:650px;line-height:1.5}
.section-index{color:var(--cos-primary);font-size:9px;font-weight:800;letter-spacing:.04em}
.lesson-list{border-top:1px solid var(--cos-line)}
.lesson-list .studio-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;padding:12px 17px}
.lesson-index{color:#9aa8aa;font-size:11px;font-variant-numeric:tabular-nums}.lesson-copy{min-width:0}.lesson-copy b{overflow:hidden;color:var(--cos-ink);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.lesson-copy small{margin-top:4px;font-size:10px}
.studio-add{margin:11px 17px 14px;border:1px dashed #afc9c1;border-radius:8px;padding:8px 11px;background:#fbfefd;color:#2d786c;font-size:11px}
.editor-empty{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;min-height:180px;border:1px dashed var(--cos-line);border-radius:10px;color:var(--cos-muted);font-size:11px}.editor-empty b{color:var(--cos-ink);font-size:14px}
.institution-scope-note{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin-bottom:18px;border:1px solid #cfe8dc;border-radius:10px;background:#f0faf5}.scope-lock{flex:none;padding:5px 8px;border-radius:999px;background:#d9f1e7;color:#28775f;font-size:9px;font-weight:800}.institution-scope-note b{display:block;color:#1f6455;font-size:12px}.institution-scope-note p{margin:5px 0 0;color:#5f7e75;font-size:11px;line-height:1.6}
.institution-workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.institution-catalog-section,.institution-student-section{padding:18px}.institution-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.institution-course-card{position:relative}.institution-course-card>div:last-child{padding:12px}.institution-course-card .learning-cover{border-radius:0}.institution-course-card b{margin:5px 0}.institution-card-status{display:inline-block;margin-bottom:4px;color:#2c7b67;font-size:9px;font-weight:800}.institution-card-action{display:block;margin-top:11px;color:#2f74df;font-size:10px;font-weight:700}.student-count{color:var(--cos-primary);font-size:12px;font-weight:800}.institution-student-section .studio-roster{margin-top:20px}.institution-student-section .studio-roster article{align-items:flex-start;display:block}.institution-student-section .studio-row-actions{margin-top:8px}
[hidden]{display:none!important}
@media(max-width:1100px){.course-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.institution-workspace-grid{grid-template-columns:1fr}.institution-student-section{order:-1}.studio-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.platform-workspace-head,.institution-workspace-head,.section-heading,.editor-content-heading{display:block}.platform-workspace-head .studio-head-actions,.institution-workspace-head .studio-head-actions{margin-top:16px}.platform-workspace-head .studio-head-actions>*{width:100%}.studio-kpi-grid{gap:8px}.studio-kpi-grid>div{min-height:86px;padding:13px}.studio-kpi-grid b{font-size:22px}.course-directory-section,.course-editor-section,.institution-catalog-section,.institution-student-section{padding:14px}.directory-tools{display:grid;grid-template-columns:1fr;margin-top:12px;min-width:0}.institution-catalog-section .section-heading{display:block}.institution-catalog-section .section-heading>div:first-child{min-width:0}.course-directory-grid,.institution-course-grid{grid-template-columns:1fr}.course-directory-card-main{grid-template-columns:92px minmax(0,1fr);gap:10px;padding:10px}.course-directory-card-main .learning-cover{width:92px}.course-editor-hero{grid-template-columns:112px minmax(0,1fr);gap:12px}.course-editor-copy h3{font-size:17px}.course-editor-copy p{font-size:11px}.course-editor-counts{gap:10px;flex-wrap:wrap;margin-top:10px}.course-editor-counts b{font-size:14px}.editor-actions{gap:6px}.editor-actions>button,.editor-actions>.studio-upload{flex:1;text-align:center;padding:8px 7px;font-size:10px}.editor-more{margin-left:0}.lesson-list .studio-row{grid-template-columns:24px minmax(0,1fr);gap:7px}.lesson-list .studio-row-actions{grid-column:2;justify-content:flex-start;margin-top:8px}.studio-section>header{display:block}.studio-section>header .studio-row-actions{margin-top:10px}.editor-selected-note{display:inline-block;margin-top:12px}.institution-workspace-head .button-link{width:100%}}

@media(max-width:680px){.learning-app .topbar{min-height:60px;padding:0 16px}.learning-app .crumb{font-size:10px}.learning-app .top-actions{gap:6px}.learning-app .user-pill span{display:none}.learning-app .learning-back-link{width:30px;height:30px}}

@media(max-width:680px){
  .learning-app .sidebar{flex-direction:column;align-items:stretch;overflow-y:auto;overflow-x:hidden}
  .learning-admin.learning-nav-open .learning-app .brand > div:not(.brand-mark),
  .learning-admin.learning-nav-open .learning-app .nav a span:last-child,
  .learning-admin.learning-nav-open .learning-app .section-label,
  .learning-admin.learning-nav-open .learning-app .side-bottom{display:block}
  .learning-admin.learning-nav-open .learning-app .brand{padding:0 9px 30px}
  .learning-admin.learning-nav-open .learning-app .nav a{justify-content:flex-start}
  .learning-admin.learning-nav-open .learning-app .preview-institution{justify-content:flex-start;padding:9px 10px;font-size:11px}
  .institution-student-section{order:0}
}

.institution-workspace-grid.catalog-only{grid-template-columns:minmax(0,1fr)}
.studio-form footer .button-link{display:inline-flex;align-items:center;justify-content:center}
.studio-section .studio-row-actions button,.studio-section .studio-add{border:1px solid #cbded8;border-radius:6px;background:#fff;color:#235d58;padding:8px 10px}.studio-section .studio-row-actions button:hover,.studio-section .studio-add:hover{border-color:#3771e8;color:#245cc7;background:#f5f8ff}.studio-section .studio-row-actions button:focus-visible,.studio-section .studio-add:focus-visible{outline:3px solid #b9ccff;outline-offset:2px}
.learning-directory-trail{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:12px;color:var(--cos-muted,#66777b);flex-wrap:wrap}
.learning-directory-trail button{border:0;background:transparent;padding:3px 0;color:var(--cos-primary,#326fe6);font-size:12px}
.learning-directory-trail strong{color:var(--cos-ink,#243940)}
.learning-hierarchy-grid,.child-hierarchy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.learning-hierarchy-card{min-width:0;overflow:hidden;border:1px solid var(--cos-line,#dce5e4);border-radius:10px;background:var(--cos-surface,#fff);color:var(--cos-ink,#243940);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.learning-hierarchy-card:hover{border-color:var(--cos-primary,#326fe6);box-shadow:0 9px 22px rgba(50,111,230,.10);transform:translateY(-1px)}
.learning-hierarchy-card-main{display:grid;grid-template-rows:auto 1fr;width:100%;padding:0;border:0;background:transparent;text-align:left;color:inherit}
.learning-hierarchy-card-main:disabled{opacity:.55;cursor:not-allowed}
.learning-hierarchy-card-main>.learning-cover,.learning-hierarchy-card-main>img,.learning-hierarchy-card-main>.learning-hierarchy-placeholder{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:0}
.learning-hierarchy-card-main>span:last-child{display:grid;gap:6px;padding:13px}
.learning-hierarchy-card-main small{font-size:10px;color:var(--cos-muted,#66777b)}
.learning-hierarchy-card-main b{font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.learning-hierarchy-card-main em{font-size:11px;line-height:1.5;color:var(--cos-muted,#66777b);font-style:normal;overflow-wrap:anywhere}
.learning-hierarchy-card-main strong{font-size:11px;color:var(--cos-primary,#326fe6)}
.learning-hierarchy-placeholder{display:grid;place-items:center;background:#e9f1ef;color:#34766f;font-size:25px;font-weight:700}
.learning-hierarchy-card-actions{display:flex;gap:7px;padding:9px 12px;border-top:1px solid var(--cos-line,#edf1ef);background:#fbfcfc}
.learning-hierarchy-card-actions button{border:1px solid var(--cos-line,#dce5e4);border-radius:7px;padding:7px 9px;background:#fff;color:#316d67;font-size:10px}
.learning-hierarchy-card-actions button:first-child{font-weight:700}
.child-directory-trail{display:flex;align-items:center;gap:8px;margin:0 0 18px;font-size:12px;color:#6d817d;flex-wrap:wrap}
.child-directory-trail button{border:0;background:transparent;padding:3px 0;color:#2f8c7c;font-size:12px}
.child-directory-trail strong{color:#2b403f}
.child-hierarchy-grid{margin-top:8px}
.child-hierarchy-progress{font-style:normal;font-size:10px;color:#e56858}
.hierarchy-detail-head{margin-bottom:18px}
.hierarchy-detail-head .learning-cover{width:min(220px,32%)}
.learning-folder-card{display:block;min-width:0;width:100%;padding:0;text-align:left;border:1px solid var(--cos-line,#dce5e4);border-radius:6px;background:var(--cos-surface,#fff);overflow:hidden;color:var(--cos-ink,#243940)}
.learning-folder-card:hover,.learning-folder-card:focus-visible,.learning-path-card:hover,.learning-path-card:focus-visible{border-color:var(--cos-primary,#326fe6);outline:2px solid transparent;box-shadow:0 0 0 2px #cbdafa}
.learning-folder-card .learning-cover{border-radius:0;aspect-ratio:16/9}
.learning-folder-card>span{display:grid;gap:6px;padding:14px}
.learning-folder-card small,.learning-folder-card em{font-size:11px;color:var(--cos-muted,#66777b);font-style:normal}
.learning-folder-card b{font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.learning-folder-card em{color:var(--cos-primary,#326fe6)}
.learning-path-dialog{width:min(1060px,100%);padding:22px}
.learning-path-dialog>header{position:sticky;top:-22px;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;padding:0 0 14px;border-bottom:1px solid var(--cos-line,#e3e8e7)}
.learning-path-dialog>header>div{display:flex;align-items:center;gap:10px;min-width:0}
.learning-path-dialog>header h2{overflow-wrap:anywhere;font-size:18px}
.learning-path-dialog>header button{flex:none;width:32px;height:32px;border:1px solid var(--cos-line,#dbe4e2);border-radius:6px;background:#fff;color:var(--cos-ink,#243940)}
.learning-path-meta{font-size:12px;color:var(--cos-muted,#66777b);padding:13px 0}
.learning-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.learning-path-card{min-width:0;display:grid;grid-template-rows:auto 1fr;padding:0;border:1px solid var(--cos-line,#dce5e4);border-radius:6px;background:#fff;text-align:left;overflow:hidden;color:var(--cos-ink,#243940)}
.learning-path-card:disabled{opacity:.58;cursor:not-allowed}
.learning-path-card img,.learning-path-placeholder{width:100%;aspect-ratio:16/9;object-fit:cover;background:#e9f1ef}
.learning-path-placeholder{display:grid;place-items:center;font-size:25px;color:#34766f;font-weight:700}
.learning-path-card>span:last-child{display:grid;gap:6px;padding:12px}
.learning-path-card small{font-size:11px;color:var(--cos-muted,#66777b)}
.learning-path-card b{font-size:13px;line-height:1.4;overflow-wrap:anywhere}
@media(max-width:850px){.learning-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.learning-path-grid{grid-template-columns:minmax(0,1fr)}.learning-path-dialog{padding:14px}.learning-path-dialog>header{top:-14px}}
@media(max-width:980px){.learning-hierarchy-grid,.child-hierarchy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.learning-hierarchy-grid,.child-hierarchy-grid{grid-template-columns:minmax(0,1fr)}.hierarchy-detail-head .learning-cover{width:96px}}
.courseos-app>.studio-modal{z-index:1000}
.learning-cover{position:relative}.learning-cover .learning-cover-fallback{font-size:24px;font-weight:800;color:#2b6b63}.learning-cover .learning-cover-play{position:absolute;left:12px;bottom:12px;display:grid;place-items:center;width:32px;height:32px;border:2px solid rgba(255,255,255,.92);border-radius:50%;background:rgba(22,44,48,.72);color:#fff;font-size:13px;line-height:1;box-shadow:0 4px 12px rgba(14,35,38,.22)}.learning-cover .learning-cover-type{position:absolute;right:10px;bottom:10px;padding:4px 7px;border:1px solid rgba(255,255,255,.68);border-radius:999px;background:rgba(22,44,48,.72);color:#fff;font-size:10px;font-weight:700;line-height:1}

button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(55,113,232,.22);outline-offset:2px}.studio-form button:disabled,.child-login button:disabled{cursor:wait;opacity:.62}.studio-page,.child-page,.studio-detail{min-width:0;overflow-wrap:anywhere}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.child-video-playlist{margin:12px 0 18px;padding:12px 14px;border:1px solid #e0ebe4;border-radius:7px;background:#fff}.child-video-playlist strong,.child-lesson-resources strong{display:block;color:#315e59;font-size:12px;margin-bottom:8px}.child-video-playlist>div{display:flex;gap:7px;flex-wrap:wrap}.child-video-playlist button{border:1px solid #cbded8;background:#fff;color:#36635d;border-radius:5px;padding:7px 9px;font-size:11px;text-align:left}.child-video-playlist button.active{border-color:#2e8c7c;background:#e9f7f1;color:#236b60}.child-lesson-resources{display:flex;gap:9px;align-items:flex-start;margin:14px 0;padding:12px 14px;border-left:3px solid #f2aa48;background:#fffaf0;color:#718184;font-size:11px;line-height:1.6}.child-lesson-resources strong{flex:none;margin:0;color:#6d5830}.child-lesson-resources span{overflow-wrap:anywhere}
