.office-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.office-heading .text-link { white-space:nowrap; font-size:14px; }
.office-heading h1 { margin-bottom:0; }
.office-heading .eyebrow { margin-bottom:10px; }
.office-heading p { margin-bottom:0; }
.teacher-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:-12px 0 28px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.teacher-tabs a { padding:9px 16px; border-radius:4px; font-size:15px; color:var(--muted); text-decoration:none; }
.teacher-tabs a.active { background:var(--green-soft); color:var(--ink); }
.teacher-tabs a:hover { background:var(--paper); color:var(--ink); }
.muted, .field-help { color:var(--muted); }
.field-help { font-size:14px; margin:0; }
.office-panel { border:1px solid var(--line); background:var(--paper); border-radius:5px; padding:28px; margin-bottom:28px; }
.office-panel h2 { font-size:23px; }
.narrow-panel { max-width:560px; }
.office-field { display:grid; gap:7px; min-width:0; font-size:14px; color:var(--muted); }
.office-field input, .office-field select, .office-field textarea, .share-url { width:100%; min-width:0; min-height:44px; border:1px solid #cbd0c5; border-radius:4px; padding:10px 12px; background:white; color:var(--ink); font:inherit; font-size:16px; }
.office-field textarea { resize:vertical; }
.office-field input[readonly] { background:var(--paper); }
.inline-form { display:flex; align-items:flex-end; gap:12px; }
.grow { flex:1; }
.form-stack { display:grid; gap:18px; }
.form-stack > button { justify-self:start; }
.office-message { padding:14px 18px; background:var(--green-soft); border-left:3px solid var(--green); margin:18px 0; font-size:15px; overflow-wrap:anywhere; }
.office-message.error { background:#f6eee9; color:#773f31; border-color:#9a5c48; }
.office-message:empty { display:none; }
.preserve-lines { white-space:pre-wrap; overflow-wrap:anywhere; }
.assignment-heading { margin:0 0 26px; }
.assignment-heading h2 { overflow-wrap:anywhere; }
.identity-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px 24px; }
.identity-fields .field-help { grid-column:1/-1; }
.answer-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px 24px; }
.answer-row { margin:0; min-width:0; padding:16px 18px 18px; border:1px solid var(--line); border-radius:4px; }
.answer-row legend { padding:0 6px; font-size:16px; }
.answer-row legend span { color:var(--muted); margin-left:10px; font-size:14px; }
.answer-row.is-missing { border-color:#9a5c48; background:#fcf7f4; }
.answer-choices { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.answer-choice { display:flex; align-items:center; justify-content:center; gap:5px; min-height:44px; border:1px solid #d6d9d1; border-radius:4px; cursor:pointer; background:white; }
.answer-choice:has(input:checked) { background:var(--green-soft); border-color:var(--green); color:#3e5238; }
.answer-choice input { width:16px; height:16px; accent-color:var(--green); margin:0; }
.answer-submit-bar { position:sticky; bottom:0; display:flex; justify-content:space-between; align-items:center; gap:18px; background:rgba(255,255,255,.98); border-top:1px solid var(--line); margin-top:28px; padding:18px 0; z-index:5; }
.answer-submit-bar p { margin:0; color:var(--muted); font-size:15px; }
button:disabled { opacity:.55; cursor:wait; }
.success-panel { margin-top:24px; background:var(--green-soft); }
.success-panel .field-help { margin-top:20px; }
.receipt { font-size:15px; letter-spacing:.04em; overflow-wrap:anywhere; }
.office-disclosure { margin:0 0 28px; padding:0; background:white; border:1px solid var(--line); }
.office-disclosure > summary { padding:18px 22px; font-size:18px; }
.office-disclosure[open] > summary { border-bottom:1px solid var(--line); }
.office-disclosure > .field-help { margin:16px 22px 0; }
.office-disclosure > .share-actions { margin:16px 22px 22px; align-items:end; }
.office-disclosure > .share-actions .office-field { flex:1 1 240px; }
.office-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 24px; padding:24px; }
.full-width { grid-column:1/-1; }
.office-workspace { display:grid; grid-template-columns:290px minmax(0,1fr); gap:32px; align-items:start; }
.assignment-sidebar { min-width:0; }
.office-row { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.office-row h2 { font-size:21px; margin:0; }
.assignment-sidebar .office-field { margin:20px 0; }
.text-button { border:0; padding:8px 0; background:none; color:var(--green); text-decoration:underline; text-underline-offset:4px; font-size:14px; }
.assignment-list { display:grid; gap:8px; }
.assignment-item { width:100%; text-align:left; padding:17px 18px; border:1px solid var(--line); border-radius:4px; background:white; overflow-wrap:anywhere; }
.assignment-item[aria-pressed="true"] { background:var(--green-soft); border-color:#a9b69f; }
.assignment-item strong { display:block; font-weight:500; font-size:16px; }
.assignment-item small { display:block; margin-top:5px; color:var(--muted); font-size:14px; }
.assignment-detail { min-width:0; border-top:2px solid var(--yellow); padding-top:24px; }
.assignment-detail h2 { font-size:26px; overflow-wrap:anywhere; }
.detail-meta { color:var(--muted); font-size:14px; }
.share-box { padding:20px; background:var(--paper); border:1px solid var(--line); border-radius:4px; margin:22px 0; }
.share-box label { display:block; font-size:14px; margin-bottom:6px; color:var(--muted); }
.share-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.share-box p { margin:14px 0 0; font-size:15px; }
.share-url { font-size:14px; }
.submissions-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:28px 0 16px; flex-wrap:wrap; }
.submissions-toolbar h3 { font-size:18px; margin:0; }
.submission-table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:4px; }
.submission-table { width:100%; border-collapse:collapse; text-align:left; font-size:14px; }
.submission-table th, .submission-table td { padding:13px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
.submission-table th { background:var(--paper); font-weight:500; white-space:nowrap; }
.submission-table tr:last-child td { border-bottom:0; }
.submission-table td { overflow-wrap:anywhere; }
.submission-table details { padding:0; margin:0; background:none; min-width:110px; }
.submission-table details p { margin:12px 0 0; line-height:1.8; }
.answer-history { white-space:pre-wrap; min-width:240px; }
.submission-updated { margin-bottom:20px; }
.answer-distribution { margin-bottom:24px; }
.answer-distribution > .field-help { padding:16px 20px; line-height:1.7; }
.answer-distribution-scroll { max-height:440px; border-width:1px 0 0; border-radius:0; }
.answer-distribution-table { min-width:480px; }
.answer-distribution-table thead th { position:sticky; top:0; z-index:1; }
.answer-distribution-table th[scope="row"] { background:white; font-size:13px; }
.answer-distribution-table td { white-space:nowrap; font-size:13px; }
.distribution-question-type { display:block; margin-top:4px; color:var(--muted); font-size:12px; }
.distribution-track { display:block; height:5px; margin-top:8px; background:var(--paper); border-radius:2px; overflow:hidden; }
.distribution-track > span { display:block; height:100%; background:var(--green); }
.account-settings { margin-top:40px; }
.account-settings form, .collection-settings form { padding:22px; }
.note-panel { max-width:690px; }
.note-length-error { color:#773f31; }
.notes-toolbar { display:flex; justify-content:space-between; align-items:end; gap:18px; flex-wrap:wrap; margin:24px 0; }
.notes-toolbar p { margin:0; }
.notes-filters { display:flex; align-items:end; flex-wrap:wrap; gap:12px; }
.notes-filters .office-field { min-width:155px; }
.notes-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.question-note-card { margin:0; min-width:0; }
.note-card-heading { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.note-card-meta { font-size:14px; color:var(--muted); margin:12px 0; }
.note-card-question { margin:16px 0; line-height:1.8; }
.question-note-card .button { margin-top:16px; }
#notes-more { margin-top:24px; }
#account-bar { display:flex; align-items:center; gap:14px; font-size:14px; }
#assignment-code { text-transform:uppercase; letter-spacing:.1em; }
@media(max-width:900px) { .office-workspace { grid-template-columns:230px minmax(0,1fr); gap:22px; } .answer-grid { grid-template-columns:1fr; } }
@media(max-width:700px) { .office-heading { align-items:flex-start; flex-direction:column; gap:14px; } .office-panel { padding:22px; } .office-workspace,.notes-list { grid-template-columns:1fr; } .assignment-list { max-height:340px; overflow-y:auto; } .office-form-grid { padding:20px; grid-template-columns:1fr; } .identity-fields { grid-template-columns:1fr; } .inline-form { align-items:stretch; flex-direction:column; } .answer-row { padding:12px 12px 16px; } .answer-choice { font-size:15px; gap:4px; } .share-actions .button { padding:9px 12px; } }
