/* Page 17 · Create assignment (/teach/assign). Form controls, range card and sheet come from drill-new.css. */

.asg-page { padding-top: 4px; padding-bottom: 24px; }
.asg-main > .field-label:first-of-type { margin-top: 6px; }
.banner { margin-top: 8px; padding: 10px 12px; border-radius: 12px; background: var(--accent-soft); color: var(--accent-ink); font-size: 0.86rem; }
.banner b { font-weight: 800; }
.who-seg { margin-top: 8px; }
.pick { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.pick label { position: relative; }
.pick input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.pick span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: #efeae1; color: var(--muted); font-weight: 800; }
.pick input:checked + span { background: var(--accent); color: #fff; }
.pick input:focus-visible + span { outline: 3px solid var(--ink); outline-offset: 2px; }
.pick span.weak::after { content: ""; position: absolute; top: 1px; right: 1px; width: 9px; height: 9px; border-radius: 50%; background: #d64545; border: 2px solid var(--paper); }
.legend { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin-top: 6px; font-size: 0.78rem; color: var(--muted); }
.legend .dot { width: 9px; height: 9px; border-radius: 50%; margin-left: 6px; }
.legend .dot:first-child { margin-left: 0; }
.dot.red { background: #d64545; } .dot.amber { background: #e2a33a; } .dot.ok { background: #2e9e5b; }
.goal { margin-top: 8px; }
.hint { margin-top: 6px; font-size: 0.8rem; color: var(--muted); }
.date-input { margin-top: 8px; max-width: 240px; }

.sum-card { margin-top: 18px; padding: 14px; border-radius: var(--radius); background: var(--card); border: 1px solid var(--line); }
.sum-title { font-weight: 800; font-size: 0.92rem; }
.sum-card .summary { margin-top: 6px; }
.err { margin-top: 8px; color: var(--bad); font-weight: 700; font-size: 0.88rem; }
.sent-hint { margin-top: 12px; padding: 10px 12px; border-radius: 10px; background: var(--paper); font-size: 0.85rem; color: var(--ink-2); }
.another { color: var(--accent-ink); }
#link-box .qr { width: 180px; height: 180px; }

@media (min-width: 900px) {
  .asg-page { padding-top: 24px; max-width: 1040px; }
  .asg-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 32px; align-items: start; }
  .asg-side { position: sticky; top: 90px; }
  .sum-card { margin-top: 6px; }
}

/* Real classes (signed-in teacher) */
.asg-page.loading .asg-grid { visibility: hidden; }
.pick.named span { width: auto; height: 38px; padding: 0 12px; border-radius: 999px; font-size: 0.88rem; }
.pick.named span::before { content: ""; }
.pick.named input:checked + span::before { content: "✓ "; white-space: pre; }
.note-input { width: 100%; min-height: 64px; resize: vertical; font: inherit; }
.no-students { margin-top: 24px; padding: 20px; text-align: center; box-shadow: none; }
.no-students h2 { font-size: 1.15rem; }
.no-students p { margin: 6px 0 14px; color: var(--ink-2); }
