/* I Will Pass NCLEX — Phase 8: live classes, office hours, assignments, questions to instructors, team area. */
.lc-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.6rem; }
.lc-item { display: flex; gap: 1rem; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 0.85rem 1rem; }
.lc-item.is-live { border-color: var(--ok); box-shadow: inset 4px 0 0 var(--ok); }
.lc-date { flex: none; width: 3.6rem; height: 3.6rem; border-radius: 12px; background: var(--mist); color: var(--teal-dark); display: grid; place-items: center; text-align: center; font-weight: 700; font-size: 0.9rem; line-height: 1.1; padding: 0.2rem; }
.lc-main { flex: 1; min-width: 0; }
.lc-title { font-weight: 700; color: var(--ink); text-decoration: none; font-size: 1.05rem; overflow-wrap: anywhere; }
.lc-title:hover, .lc-title:focus { text-decoration: underline; }
.lc-act { flex: none; }
.lc-box .btn-lg { min-height: 52px; }
.live-next { border-color: var(--teal); }
.oh-day { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; padding: 0.55rem 0; border-top: 1px solid var(--line); align-items: flex-start; }
.oh-day:first-of-type { border-top: 0; }
.oh-day-label { width: 8.5rem; flex: none; font-weight: 600; padding-top: 0.4rem; }
.oh-times { display: flex; flex-wrap: wrap; gap: 0.4rem; flex: 1; }
.oh-slot > summary { list-style: none; cursor: pointer; border: 1px solid var(--teal); color: var(--teal-dark); border-radius: 99px; padding: 0.35rem 0.85rem; font-weight: 600; min-height: 38px; display: inline-flex; align-items: center; }
.oh-slot > summary::-webkit-details-marker { display: none; }
.oh-slot[open] { flex-basis: 100%; }
.oh-slot[open] > summary { background: var(--teal); color: #fff; }
.oh-book { background: var(--paper); border: 1px solid var(--line); border-radius: 10px; padding: 0.75rem; margin-top: 0.4rem; max-width: 30rem; }
.oh-mine { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; justify-content: space-between; align-items: center; }
.oh-list .oh-row { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; justify-content: space-between; align-items: center; padding: 0.65rem 0; border-top: 1px solid var(--line); }
.oh-list .oh-row:first-child { border-top: 0; padding-top: 0; }
.oh-list .oh-row.is-booked { background: linear-gradient(90deg, var(--ok-soft), transparent 60%); }
.as-row { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; justify-content: space-between; align-items: center; margin: 0; }
.as-score { font-family: var(--font-display); font-size: 2rem; margin: 0 0 0.5rem; }
.as-grade { border-color: var(--ok); }
.teach-answer { background: var(--mist); border-left: 4px solid var(--teal); border-radius: 0 10px 10px 0; padding: 0.6rem 0.85rem; }
.teach-sub { background: var(--paper); border-radius: 10px; padding: 0.75rem 1rem; max-height: 22rem; overflow: auto; }
.ask-q { padding: 0.75rem 0; border-top: 1px solid var(--line); }
.ask-q:first-of-type { border-top: 0; padding-top: 0; }
.teach-tile { display: flex; gap: 0.6rem; align-items: center; padding: 0.85rem 1rem; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--ink); text-decoration: none; font-weight: 600; }
.teach-tile:hover, .teach-tile:focus { border-color: var(--teal); }
.stat.is-warn .stat-value { color: #A66A00; }
@media (max-width: 575.98px) {
  .lc-item { flex-wrap: wrap; }
  .lc-act { width: 100%; }
  .oh-day-label { width: 100%; padding-top: 0; }
}
