/* Simply MBBS — v24. The log, the chores, and the spacing.

   TWO LAYOUT FAULTS he reported, both mine.

   The line of the day was drifting left on a desktop. .smcc-sch__lineT sets
   `margin: 0` and then `margin-inline: auto` — correct in isolation, and
   beaten by any theme rule with more specificity on `p`. Centring is now
   done by the container with flex, which nothing can override by accident.

   The blocks had a one-pixel gap and hairline separators, which reads as a
   dense list rather than a day. On a phone the label and the advice ran into
   each other with nothing between them. Both get real spacing now: rows are
   separate cards, and the text inside them breathes. */

/* ---------- centring that cannot be overridden ---------- */

.smcc-sch__line {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center;
}
.smcc-sch__lineT { max-width: 46ch; margin: 0 auto; }
.smcc-sch__lineW { margin: 12px auto 0; }

/* ---------- the day, with room to breathe ---------- */

.smcc-sch__blocks {
  display: grid; gap: 8px;
  background: none; border-radius: 0; overflow: visible;
}
.smcc-sch__blockWrap {
  border: 1px solid var(--smcc-line); border-radius: 14px;
  overflow: hidden; background: var(--smcc-card);
}
.smcc-sch__block {
  display: flex; gap: 16px; align-items: flex-start;
  padding: 14px 16px; min-height: 62px;
}
.smcc-sch__bw { flex: 0 0 66px; display: grid; gap: 2px; padding-top: 2px; }
.smcc-sch__bb { display: grid; gap: 5px; }
.smcc-sch__bt { line-height: 1.3; }
.smcc-sch__ba { line-height: 1.5; }
.smcc-sch__blockWrap:has(.is-live) { border-color: var(--smcc-deep); border-width: 2px; }

/* Mode colour as a left edge, so the shape of the day is legible at a
   glance without reading a single word. */
.smcc-sch__block { border-left: 3px solid transparent; }
.smcc-sch__block.is-deep    { border-left-color: var(--smcc-deep); }
.smcc-sch__block.is-cards   { border-left-color: var(--smcc-clinical); }
.smcc-sch__block.is-lecture { border-left-color: var(--smcc-violet); }
.smcc-sch__block.is-mcq     { border-left-color: var(--smcc-alert); }
.smcc-sch__block.is-chores  { border-left-color: var(--smcc-muted); }
.smcc-sch__block.is-audio   { border-left-color: var(--smcc-violet); }
.smcc-sch__block.is-off     { border-left-color: var(--smcc-line); }

@media (max-width: 520px) {
  .smcc-sch__block { flex-direction: column; gap: 8px; }
  .smcc-sch__bw { flex: none; display: flex; gap: 10px; align-items: baseline; }
}

/* ---------- chores ---------- */

.smcc-sch__todo { display: grid; gap: 7px; }
.smcc-sch__job {
  display: flex; align-items: center; gap: 12px; width: 100%;
  font: inherit; text-align: left; cursor: pointer; min-height: 48px;
  background: var(--smcc-wash); border: 1px solid var(--smcc-line);
  border-radius: 12px; padding: 11px 14px; color: var(--smcc-text);
}
.smcc-sch__job:hover { border-color: var(--smcc-violet); }
.smcc-sch__jobBox {
  flex: 0 0 22px; height: 22px; border-radius: 7px;
  border: 2px solid var(--smcc-line); display: grid; place-items: center;
  font-size: 13px; font-weight: 700; color: transparent;
}
.smcc-sch__job.is-done .smcc-sch__jobBox {
  background: var(--smcc-clinical); border-color: var(--smcc-clinical); color: #fff;
}
.smcc-sch__job.is-done .smcc-sch__jobT { text-decoration: line-through; color: var(--smcc-muted); }
.smcc-sch__jobT { font-size: 14.5px; }

/* ---------- the log ---------- */

.smcc-sch__logPanel { border-left: 3px solid var(--smcc-clinical); }
.smcc-sch__form { display: grid; gap: 10px; margin-top: 14px; }
.smcc-sch__frow { display: flex; gap: 8px; flex-wrap: wrap; }
.smcc-sch__field { display: grid; gap: 4px; flex: 1 1 150px; }
.smcc-sch__flab { font-size: 12px; color: var(--smcc-muted); }
.smcc-sch__inp {
  flex: 1 1 180px; font: inherit; font-size: 16px; padding: 12px 14px;
  border: 1px solid var(--smcc-line); border-radius: 11px;
  background: var(--smcc-paper); color: var(--smcc-text); min-height: 46px;
}
.smcc-sch__inp--sm { flex: 0 0 84px; }
.smcc-sch__inp:focus, .smcc-sch__note2:focus { outline: 2px solid var(--smcc-violet); outline-offset: 1px; }
.smcc-sch__add {
  flex: 0 0 auto; font: inherit; font-weight: 600; cursor: pointer; min-height: 46px;
  background: var(--smcc-deep); color: #fff; border: 0; border-radius: 11px; padding: 12px 20px;
}
.smcc-sch__note2 {
  width: 100%; font: inherit; font-size: 15px; padding: 12px 14px;
  border: 1px solid var(--smcc-line); border-radius: 11px;
  background: var(--smcc-paper); color: var(--smcc-text); resize: vertical;
}
.smcc-sch__lects { display: grid; gap: 6px; margin: 12px 0 0; }
.smcc-sch__lect {
  display: flex; justify-content: space-between; gap: 12px; align-items: baseline;
  background: color-mix(in srgb, var(--smcc-clinical) 10%, transparent);
  border-radius: 10px; padding: 10px 13px;
}
.smcc-sch__lectT { font-size: 14px; font-weight: 600; color: var(--smcc-text); }
.smcc-sch__lectM { font-family: var(--smcc-mono); font-size: 11.5px; color: var(--smcc-clinical); }
.smcc-sch__saved { font-family: var(--smcc-mono); font-size: 11px; color: var(--smcc-muted); margin: 12px 0 0; }

/* ---------- general spacing pass on the page ---------- */

.smcc-sch__panel { padding: clamp(18px, 3.4vw, 24px); }
.smcc-sch__panel > .smcc-sch__k { margin-bottom: 14px; }
.smcc-sch__posts { margin-top: 14px; }
.smcc-sch__week { margin-top: 4px; }
.smcc-sch__nums { margin-top: 4px; }
.smcc-sch__notList li { line-height: 1.6; }
.smcc-sch__moment .smcc-sch__chips { margin-top: 4px; }

/* Night mode for the new pieces. */
html[data-smcc-theme="night"] .smcc-sch__job { background: rgba(237,238,246,.05); }
html[data-smcc-theme="night"] .smcc-sch__blockWrap { background: var(--smcc-card); }
html[data-smcc-theme="night"] .smcc-sch__add { background: #BFB4FB; color: #0F1119; }
