.crumb { margin: 0 0 0.5rem; font-weight: 600; }
.crumb a { text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
.crumb { margin-top: -0.6rem; }
.foot a { display: inline-block; padding: 0.6rem 0; }
.field-stack { display: grid; gap: 0.9rem; align-content: start; }
.field-stack h2 { margin: 0; }
.share { display: grid; gap: 1rem; }
.copy-row { display: flex; gap: 0.5rem; min-width: 0; }
.copy-row input { flex: 1; min-width: 0; }
.grid-4 { display: grid; gap: 0.9rem; grid-template-columns: minmax(0, 1fr); margin-bottom: 1rem; }
.day { margin-bottom: 1.25rem; }
.day h3 { font-size: 1rem; margin: 0 0 0.5rem; color: var(--muted); font-weight: 600; }
.slots { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; grid-template-columns: minmax(0, 1fr); }
.slot { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 0.85rem 1rem; display: grid; gap: 0.5rem; min-width: 0; }
.slot-top { display: flex; justify-content: space-between; gap: 0.75rem; align-items: baseline; flex-wrap: wrap; }
.time { font-weight: 700; font-variant-numeric: tabular-nums; }
.mentor { font-weight: 600; }
.topic { color: var(--muted); font-size: 0.92rem; margin: 0; }
.slot.taken { background: var(--bg); }
.who { font-size: 0.92rem; margin: 0; overflow-wrap: anywhere; }
.slot .actions .btn { min-height: 44px; padding: 0.4rem 0.8rem; }
.dot { display: inline-block; width: 0.55rem; height: 0.55rem; border-radius: 50%; background: var(--accent); margin-right: 0.4rem; vertical-align: 0.05em; }
.taken .dot { background: var(--muted); }
dialog { width: min(32rem, calc(100vw - 2rem)); border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); color: var(--ink); padding: 1.25rem; }
dialog::backdrop { background: rgb(0 0 0 / 0.45); }
dialog form, dialog { display: grid; gap: 0.85rem; }
dialog:not([open]) { display: none; }
dialog h2 { margin: 0; }
.empty { color: var(--muted); }
@media (min-width: 720px) {
  .share { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-4 { grid-template-columns: 1.3fr 1.3fr 1fr 0.8fr 0.8fr; }
  .slots { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
}
