.extra-tutoring-workspace {
  margin: 24px 0;
  padding: 24px;
  border: 1px solid #e0e4ee;
  border-radius: 22px;
  background: #fff;
}
.extra-tutoring-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}

.extra-tutoring-catalog-title {
  margin: 28px 0 12px;
  padding-top: 22px;
  border-top: 1px solid #e7eaf1;
  color: #1d2939;
  font-size: 1.05rem;
}
.extra-tutoring-heading span {
  color: #5b45eb;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.extra-tutoring-heading h2 {
  margin: 5px 0 6px;
}
.extra-tutoring-heading p {
  margin: 0;
  color: #667085;
}
.extra-tutoring-fields {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}
.extra-tutoring-fields label {
  display: grid;
  gap: 7px;
  color: #344054;
  font-size: 0.82rem;
  font-weight: 700;
}
.extra-tutoring-fields select,
.extra-tutoring-fields textarea,
.extra-tutoring-admin-row input,
.extra-tutoring-admin-row select,
.extra-course-create input {
  width: 100%;
  min-height: 46px;
  border: 1px solid #d7dcea;
  border-radius: 12px;
  background: #fff;
  padding: 10px 12px;
  font: inherit;
}
.extra-tutoring-fields textarea {
  min-height: 82px;
  resize: vertical;
}
.extra-tutoring-fields .extra-wide {
  grid-column: span 2;
}
.extra-tutoring-list {
  display: grid;
  gap: 12px;
}
.extra-tutoring-card,
.extra-tutoring-admin-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px;
  border: 1px solid #e3e6ef;
  border-radius: 16px;
  background: #fafbff;
}
.extra-tutoring-card h3 {
  margin: 5px 0;
}
.extra-tutoring-card p,
.extra-tutoring-card small,
.extra-tutoring-admin-row span,
.extra-tutoring-admin-row small {
  display: block;
  margin: 4px 0;
  color: #667085;
}
.extra-tutoring-balance {
  text-align: right;
}
.extra-tutoring-balance > strong {
  display: block;
  color: #4d3be2;
  font-size: 1.65rem;
}
.extra-tutoring-admin-row form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(210px, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  max-width: 850px;
}
.extra-tutoring-admin-row form label {
  font-size: 0.78rem;
  color: #475467;
}
.extra-tutoring-admin-row form label input {
  width: auto;
  min-height: 0;
}
.extra-subscription-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.live-extra-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.live-extra-course-card{display:flex;min-width:0;overflow:hidden;flex-direction:column;align-items:stretch;padding:0;cursor:pointer;transition:transform 160ms ease,box-shadow 160ms ease,border-color 160ms ease}.live-extra-course-card:hover,.live-extra-course-card:focus-visible{border-color:#c9c4ff;box-shadow:0 14px 34px rgba(56,48,139,.12);transform:translateY(-3px)}.live-extra-course-image,.live-extra-course-placeholder{width:100%;aspect-ratio:16/8;object-fit:cover}.live-extra-course-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#e8ddff,#d9f2ee);color:#5d5273;font-weight:800}.live-extra-course-copy{padding:18px}.live-extra-course-copy>span{color:#6746dc;font-size:11px;font-weight:800}.live-extra-course-copy h2{margin:6px 0}.live-extra-course-copy p,.live-extra-course-copy small{color:#667085}.live-extra-course-actions{display:flex;gap:10px;margin-top:auto;padding:0 18px 18px}.live-extra-session-list{display:grid;gap:12px;margin-top:24px}.live-extra-session-card{display:flex;justify-content:space-between}.live-extra-session-card h3{margin:5px 0}.live-course-detail-hero{display:grid;grid-template-columns:minmax(220px,360px) 1fr auto;align-items:center;gap:24px}.live-course-detail-hero>img,.live-course-detail-hero>.live-extra-course-placeholder{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px}.live-course-detail-hero h1{margin:6px 0}.live-course-detail-hero>div>span{color:#6746dc;font-size:11px;font-weight:800}@media(max-width:1050px){.live-extra-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.live-course-detail-hero{grid-template-columns:220px 1fr}.live-course-detail-hero>button{grid-column:1/-1;justify-self:start}}@media(max-width:680px){.live-extra-course-grid{grid-template-columns:1fr}.live-extra-course-actions{flex-wrap:wrap}.live-course-detail-hero{grid-template-columns:1fr}.live-extra-session-card{align-items:flex-start;flex-direction:column;gap:12px}}
.live-extra-session-list{gap:14px}.live-extra-session-card{align-items:center;gap:18px;padding:20px 22px;border:1px solid #e3e6ef;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(41,35,75,.05)}.live-extra-session-card>div:first-child{display:grid;gap:5px}.live-extra-session-card span{width:max-content;padding:5px 9px;border-radius:999px;background:#f0ecff;color:#6044cc;font-size:10px;font-weight:800;letter-spacing:.05em}.live-extra-session-card h3{margin:0;font-size:18px}.live-extra-session-card p{margin:0;color:#667085;font-size:13px}
.live-extra-session-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.extra-course-create {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(220px, 2fr) auto;
  gap: 10px;
  margin-top: 12px;
}
@media (max-width: 900px) {
  .extra-tutoring-fields {
    grid-template-columns: 1fr 1fr;
  }
  .extra-tutoring-admin-row form,
  .extra-course-create {
    grid-template-columns: 1fr;
  }
  .extra-tutoring-card,
  .extra-tutoring-admin-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .extra-tutoring-balance {
    text-align: left;
  }
}
@media (max-width: 560px) {
  .extra-tutoring-fields {
    grid-template-columns: 1fr;
  }
  .extra-tutoring-fields .extra-wide {
    grid-column: auto;
  }
  .extra-tutoring-heading {
    flex-direction: column;
  }
}

.session-access-root {
  margin: 0;
  padding: clamp(18px, 3vw, 30px);
  border: 1px solid #dfe3ef;
  border-radius: 22px;
  background: linear-gradient(145deg, #fff 0%, #fafaff 100%);
}

.session-access-tabs {
  display: inline-flex;
  gap: 6px;
  margin-bottom: 20px;
  padding: 5px;
  border: 1px solid #e2e5ef;
  border-radius: 14px;
  background: #f7f8fc;
}

.session-access-tab {
  min-height: 40px;
  padding: 0 17px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #667085;
  cursor: pointer;
  font: inherit;
  font-size: 0.85rem;
  font-weight: 750;
}

.session-access-tab:hover {
  color: #4d3be2;
}

.session-access-tab.is-active {
  background: #fff;
  box-shadow: 0 2px 7px rgba(16, 24, 40, 0.1);
  color: #4d3be2;
}
.session-access-summary {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 20px;
  padding: 16px 18px;
  border: 1px solid #ddd8ff;
  border-radius: 16px;
  background: #f7f5ff;
}
.session-access-summary > div {
  display: grid;
  gap: 1px;
  min-width: 95px;
}
.session-access-summary strong {
  color: #4d3be2;
  font-size: 1.65rem;
  line-height: 1;
}
.session-access-summary span {
  color: #5b45eb;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}
.session-access-summary p {
  margin: 0;
  color: #5c6170;
  line-height: 1.5;
}
.student-credit-display {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px;
  margin-left: auto;
  color: #5c6170;
  font-size: 0.85rem;
  line-height: 1.5;
}
.student-credit-display strong {
  color: #4d3be2;
  font-size: 1.25rem;
}
.session-access-filters {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(200px, 1.4fr) minmax(200px, 1.2fr);
  gap: 1rem;
  align-items: end;
  margin-bottom: 20px;
  padding: 16px 18px;
  border: 1px solid #e1e5ee;
  border-radius: 16px;
  background: #fbfbfe;
}
.session-access-filters label {
  display: grid;
  gap: 6px;
  color: #475467;
  font-size: 0.78rem;
  font-weight: 750;
}
.session-access-filters input,
.session-access-filters select {
  min-height: 44px;
  width: 100%;
  padding: 0 12px;
  border: 1px solid #d8ddea;
  border-radius: 10px;
  background: #fff;
  color: #101828;
}
.session-access-filters input:focus,
.session-access-filters select:focus {
  border-color: #6957f5;
  box-shadow: 0 0 0 3px rgba(105, 87, 245, 0.12);
  outline: none;
}
.session-access-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.session-access-card {
  display: flex;
  flex-direction: column;
  min-height: 310px;
  padding: 20px;
  border: 1px solid #e1e5ee;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(16, 24, 40, 0.035);
}
.session-access-card.is-locked {
  background: linear-gradient(160deg, #fff 0%, #fcfcff 100%);
}
.session-access-card.is-unlocked {
  border-color: #b9ead0;
  background: linear-gradient(160deg, #fff 0%, #f4fff8 100%);
}
.session-access-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.session-access-kind,
.session-access-state,
.session-access-locked-label {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}
.session-access-kind {
  color: #5541de;
  background: #f0edff;
}
.session-access-state {
  color: #9a6700;
  background: #fff4d6;
}
.is-unlocked .session-access-state {
  color: #087443;
  background: #e8f7ef;
}
.session-access-card h2 {
  margin: 16px 0 7px;
  color: #172033;
  font-size: 1.15rem;
}
.session-access-path {
  min-height: 38px;
  margin: 0;
  color: #667085;
  font-size: 0.82rem;
  line-height: 1.45;
}
.session-access-card dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 18px 0;
}
.session-access-card dt {
  margin-bottom: 4px;
  color: #98a2b3;
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.session-access-card dd {
  margin: 0;
  color: #344054;
  font-size: 0.83rem;
  font-weight: 650;
  line-height: 1.4;
}
.session-access-credit {
  display: flex;
  align-items: baseline;
  gap: 7px;
  padding-top: 12px;
  border-top: 1px solid #edf0f4;
}
.session-access-credit strong {
  color: #4938d2;
  font-size: 1.35rem;
}
.session-access-credit span {
  color: #667085;
  font-size: 0.78rem;
}
.session-access-message {
  margin: 12px 0;
  color: #667085;
  font-size: 0.84rem;
  line-height: 1.45;
}
.session-access-actions {
  margin-top: auto;
  padding-top: 6px;
}
.session-access-actions .button {
  width: 100%;
  justify-content: center;
}
.session-access-locked-label {
  color: #667085;
  background: #f2f4f7;
}
.session-access-empty {
  padding: 42px 20px;
  text-align: center;
}
.session-access-empty strong {
  display: block;
  margin-bottom: 7px;
  color: #344054;
  font-size: 1.1rem;
}
.session-access-empty p {
  margin: 0;
  color: #667085;
}
.session-access-root > span,
.session-access-root > h2,
.session-access-root > p:not(.empty-state),
.session-access-root > strong {
  display: none !important;
}
@media (max-width: 820px) {
  .session-access-grid {
    grid-template-columns: 1fr;
  }
  .session-access-summary {
    align-items: flex-start;
    flex-direction: column;
  }
  .session-access-card dl {
    grid-template-columns: 1fr;
  }

  .session-access-tabs {
    display: flex;
  }

  .session-access-tab {
    flex: 1;
    padding: 0 10px;
  }
  .session-access-filters {
    grid-template-columns: 1fr;
  }
}
.extra-teacher-header{padding:1.35rem;border:1px solid #ddd7ff;border-radius:20px;background:linear-gradient(135deg,#fff,#f5f2ff)}.extra-teacher-header span,.teacher-extra-card span,.teacher-extra-detail-head span{color:#6554db;font-size:.72rem;font-weight:800;letter-spacing:.08em}.teacher-extra-tabs{display:inline-flex;gap:.35rem;margin:1rem 0;padding:.3rem;border:1px solid #dde1eb;border-radius:12px;background:#f7f8fc}.teacher-extra-tabs button{min-height:40px;padding:0 1rem;border:0;border-radius:9px;background:transparent;font-weight:700;cursor:pointer}.teacher-extra-tabs button.is-active{color:#fff;background:#6554db}.teacher-extra-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.teacher-extra-card{overflow:hidden;padding:0;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.teacher-extra-card:hover,.teacher-extra-card:focus{transform:translateY(-3px);box-shadow:0 14px 34px rgba(50,40,120,.14)}.teacher-extra-card>img,.teacher-extra-placeholder{width:100%;aspect-ratio:16/9;object-fit:cover}.teacher-extra-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#ece7ff,#e2f5f4);color:#5145a5;font-weight:800}.teacher-extra-card>div{display:grid;gap:.55rem;padding:1rem}.teacher-extra-card h2,.teacher-extra-card p{margin:0}.teacher-extra-card p,.teacher-extra-card small{color:#667085}.teacher-extra-detail{margin-top:1rem;padding:1.25rem}.teacher-extra-detail-head{display:grid;grid-template-columns:240px 1fr auto;gap:1.25rem;align-items:center}.teacher-extra-detail-head>img,.teacher-extra-detail-head>.teacher-extra-placeholder{width:240px;aspect-ratio:16/9;border-radius:14px;object-fit:cover}.teacher-extra-detail-head h2{margin:.3rem 0}.teacher-extra-shortcuts,.teacher-extra-session>div:last-child{display:flex;flex-wrap:wrap;gap:.5rem}.teacher-extra-session-list{display:grid;gap:.75rem;margin-top:1.25rem}.teacher-extra-session{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid #e1e5ef;border-radius:14px;background:#fafbff}.teacher-extra-session h3,.teacher-extra-session p{margin:.2rem 0}@media(max-width:1050px){.teacher-extra-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-extra-detail-head{grid-template-columns:180px 1fr}.teacher-extra-detail-head>img,.teacher-extra-detail-head>.teacher-extra-placeholder{width:180px}.teacher-extra-detail-head>button{grid-column:1/-1}}@media(max-width:650px){.teacher-extra-grid{grid-template-columns:1fr}.teacher-extra-detail-head{grid-template-columns:1fr}.teacher-extra-detail-head>img,.teacher-extra-detail-head>.teacher-extra-placeholder{width:100%}.teacher-extra-session{align-items:stretch;flex-direction:column}}
