/* Teacher page: the same notebook, laid out as a desk of sheets. */
.page.teacher { padding: 24px 28px 48px; background: var(--desk); }
.page.teacher > * { max-width: none; }
.t-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.t-grid > * { min-width: 0; }
.t-sec { margin-bottom: 20px; }
.t-sec h2 { font-size: 21px; margin: 0 0 12px; color: var(--ink); }
.t-sec h3 { font-size: 17px; margin: 20px 0 8px; }
table { width: 100%; border-collapse: collapse; background: var(--paper); }
th, td { text-align: left; padding: 10px; border-bottom: 2px solid var(--grid); vertical-align: top; }
th { font-size: 15px; color: var(--muted); font-weight: 700; }
td .btn { margin: 2px 4px 2px 0; }
.chip { display: inline-block; padding: 2px 10px; border-radius: 999px; border: 2px solid var(--line);
  font-size: 14px; margin: 2px 4px 2px 0; }
.chip.master { background: var(--ok-soft); border-color: #9cc9a8; }
.dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: #8d96a8; margin-right: 6px; }
.dot.on { background: #2f8a50; }
.linkbox { word-break: break-all; background: var(--hl); padding: 10px 12px; border-radius: var(--r-s); margin-top: 8px; }
.row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 8px 0; }
.t-sec select, .t-sec > input { margin-top: 6px; }
@media (max-width: 1100px) { .t-grid { grid-template-columns: 1fr; } }
@media (max-width: 860px) { .page.teacher { padding: 14px; } .row2 { grid-template-columns: 1fr; } }
