/* Конструктор занятий: модалка подбора, список занятий, страница занятия. */

/* ---------------------------------------------------------------- модалка */
.lm-backdrop {
  position: fixed; inset: 0; z-index: 40; background: rgba(20, 28, 38, .45);
  display: flex; align-items: flex-start; justify-content: center; padding: 3vh 1rem;
  overflow-y: auto;
}
.lm-backdrop[hidden] { display: none; }
.lm-dialog {
  background: var(--card); border-radius: 14px; border: 1px solid var(--line);
  width: min(720px, 100%); box-shadow: 0 18px 50px rgba(15, 23, 32, .28);
  display: flex; flex-direction: column; max-height: 94vh;
}
.lm-head { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.25rem .6rem; border-bottom: 1px solid var(--line); }
.lm-head h2 { margin: 0; font-size: 1.1rem; }
.lm-close { margin-left: auto; border: 0; background: none; font-size: 1.6rem; line-height: 1; color: var(--muted); padding: 0 .3rem; cursor: pointer; }
.lm-close:hover { color: var(--ink); }
.lm-body { display: flex; flex-direction: column; gap: .8rem; padding: 1rem 1.25rem 1.25rem; overflow-y: auto; }
.lm-title-field { display: grid; gap: .3rem; font-size: .9rem; color: var(--muted); }
.lm-title-field input { font: inherit; padding: .5rem .7rem; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); }
.lm-hint { margin: 0; }

.lm-grid { display: grid; gap: .25rem; }
.lm-row {
  display: grid; grid-template-columns: 3.2rem 1fr auto; align-items: center; gap: .6rem;
  padding: .25rem .4rem; border-radius: 8px;
}
.lm-row:nth-child(odd) { background: #fafbfc; }
.lm-row.picked { background: var(--accent-soft); }
.lm-num { font-weight: 650; text-align: center; font-variant-numeric: tabular-nums; }
.lm-name { font-size: .88rem; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lm-count { display: flex; align-items: center; gap: .25rem; }
.lm-step {
  width: 1.9rem; height: 1.9rem; padding: 0; border-radius: 6px; line-height: 1;
  font-size: 1rem; display: flex; align-items: center; justify-content: center;
}
.lm-input {
  width: 3.2rem; text-align: center; font: inherit; padding: .3rem .2rem;
  border: 1px solid var(--line); border-radius: 6px; background: var(--card); color: var(--ink);
  font-variant-numeric: tabular-nums; -moz-appearance: textfield;
}
.lm-input::-webkit-outer-spin-button, .lm-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.lm-check { display: flex; align-items: center; gap: .5rem; font-size: .92rem; }
.lm-hw-count { display: flex; align-items: center; gap: .5rem; font-size: .9rem; color: var(--muted); padding-left: 1.6rem; }
.lm-hw-count input { width: 4.5rem; font: inherit; padding: .3rem .4rem; border: 1px solid var(--line); border-radius: 6px; text-align: center; }
.lm-hw-count[hidden] { display: none; }

.lm-foot {
  display: flex; align-items: center; gap: .6rem; flex-wrap: wrap;
  position: sticky; bottom: 0; background: var(--card); border-top: 1px solid var(--line);
  margin: 0 -1.25rem -1.25rem; padding: .7rem 1.25rem .9rem;
}
.lm-foot .lm-total { margin-left: auto; }
.lm-status.err { color: #991b1b; }

/* ---------------------------------------------------------------- список занятий */
.lesson-list { list-style: none; padding: 0; margin: 1rem 0 0; display: grid; gap: .7rem; }
.lesson-item {
  display: flex; gap: 1rem; align-items: center; flex-wrap: wrap;
  background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: .8rem 1.1rem;
}
.lesson-main { flex: 1; min-width: 15rem; }
.lesson-title { font-weight: 600; color: var(--ink); font-size: 1.02rem; }
.lesson-links { display: flex; gap: .4rem; flex-wrap: wrap; }
.lesson-compose { display: flex; gap: .35rem; flex-wrap: wrap; align-items: center; margin: .5rem 0; }
.lesson-compose .chip.kim { font-size: .78rem; }

/* ---------------------------------------------------------------- страница занятия */
.lesson-exports { display: flex; gap: .45rem; flex-wrap: wrap; margin: .8rem 0 1rem; }
.lesson-add {
  display: flex; gap: .5rem; align-items: center; flex-wrap: wrap;
  background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: .7rem 1rem;
  font-size: .9rem; color: var(--muted);
}
.lesson-add select { font: inherit; padding: .35rem .5rem; border: 1px solid var(--line); border-radius: 8px; background: var(--card); margin-left: .3rem; max-width: 22rem; }
.lesson-task { position: relative; }
.lesson-task.busy { opacity: .5; pointer-events: none; }
.lesson-task .task { margin-bottom: .3rem; }
.lesson-task-actions { display: flex; gap: .4rem; align-items: center; flex-wrap: wrap; margin: 0 0 1.1rem .3rem; }
.lesson-task-actions .lesson-status.err { color: #991b1b; }
.lesson-page h2 { border-bottom: 1px solid var(--line); padding-bottom: .3rem; }
