.nav-item { display:block; text-decoration:none; }
.back-button { display:inline-block; text-decoration:none; }
.learning-option { text-decoration:none; }
.login-brand { margin-bottom:28px !important; }
.login-card form { margin-top:0; }
.students-panel { margin-top:30px; }
.protocol-form-panel,.history-panel { margin-top:20px; }
.protocol-add-action { display:flex; justify-content:flex-end; margin-top:20px; }
tr[data-student-href] { cursor:pointer; }
tr[data-student-href]:hover td { background:#f7fbf9; }
tr[data-student-href]:focus { outline:3px solid rgba(20,107,75,.22); outline-offset:-3px; }
.student-link,.student-link:visited,.student-link:hover,.student-link:focus,.student-link:focus-visible { text-decoration:none; }
.student-link:visited { color:var(--ink); }
.student-link:hover { color:var(--green); }
.danger-soft { border:0; border-radius:12px; padding:12px 18px; color:#922f2f; background:#fff0f0; font-weight:700; }
.danger-soft:hover { background:#ffe2e2; }
.small-button { margin-top:8px; padding:7px 10px; font-size:11px; }
.student-status-actions { display:flex; align-items:center; gap:12px; }
.split-actions { align-items:center; }
.action-spacer { flex:1; }
@media (max-width:650px) { .diagnostic-form .dialog-actions { align-items:stretch; flex-direction:column-reverse; } }
@media (max-width:650px) { .student-status-actions { align-items:flex-end; flex-direction:column; } .split-actions { align-items:stretch; flex-direction:column; } .action-spacer { display:none; } }
.performance-student-picker { margin-top:30px; }
.protocol-overview .incidents-actions { margin-top:6px; }
.protocol-overview .incidents-actions .primary { padding-top:9px; padding-bottom:9px; }
.category-actions .single-option { grid-column:1/-1; }
.text-reference { margin:12px 25px 0; padding:12px 15px; border-radius:12px; background:#f3f8f5; }
.text-reference span { display:block; margin-top:4px; color:var(--muted); font-size:12px; }
.questionnaire { margin-top:24px; padding-top:22px; border-top:1px solid var(--line); }
.questionnaire h3 { margin:0 0 5px; }
.question-card { margin:18px 0 0; padding:16px; border:1px solid var(--line); border-radius:14px; }
.question-card legend { padding:0 5px; font-weight:750; line-height:1.45; }
.answer-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:10px; }
.answer-option { display:flex; align-items:flex-start; gap:9px; padding:11px 12px; border:1px solid #dce4df; border-radius:10px; background:#fbfdfc; cursor:pointer; }
.answer-option:has(input:checked) { border-color:var(--green); background:var(--green-soft); }
.answer-option input { width:auto; margin-top:2px; accent-color:var(--green); }
@media(max-width:650px){.answer-options{grid-template-columns:1fr}}
.protocol-questions { margin-top:24px; padding-top:22px; border-top:1px solid var(--line); }
.protocol-questions .panel-head.compact { padding:0 0 4px; }
.protocol-questions .panel-head.compact h3 { margin:0; }
.protocol-question { margin:16px 0 0; padding:16px; border:1px solid var(--line); border-radius:14px; }
.protocol-question legend { max-width:100%; padding:0 6px; font-weight:750; line-height:1.45; }
.protocol-question legend span,.protocol-question legend small { display:block; }
.protocol-question legend small { margin-top:4px; color:var(--muted); font-size:12px; font-weight:500; }
.answer-option-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:10px; }
.entry-answers { margin-top:8px; font-size:12px; }
.entry-answers summary { color:var(--green); cursor:pointer; font-weight:750; }
.entry-answers ul { display:grid; gap:7px; margin:8px 0 0; padding:0; list-style:none; }
.entry-answers li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:8px 10px; border-radius:9px; background:#f5f9f7; }
.entry-answers li strong { text-align:right; }
.legacy-note { margin-top:8px !important; color:#735b18; background:#fff6d9; }
.performance-answer-list { min-width:260px; margin:0; padding-left:17px; }
.performance-answer-list li { margin:4px 0; }
.answer-distribution { margin:10px 0; color:var(--muted); font-size:12px; }
.home-practice-field { align-self:stretch; margin:0; padding:10px 13px; border:1px solid var(--line); border-radius:12px; }
.home-practice-field legend { padding:0 5px; font-size:12px; font-weight:750; }
.binary-options { display:flex; gap:10px; }
.binary-options label { display:flex; flex:1; flex-direction:row; align-items:center; gap:7px; padding:8px 10px; border:1px solid #dce4df; border-radius:9px; cursor:pointer; }
.binary-options label:has(input:checked) { border-color:var(--green); background:var(--green-soft); }
.binary-options input { width:auto; margin:0; accent-color:var(--green); }
.home-practice-badge { display:inline-flex; width:max-content; margin-top:4px; padding:4px 8px; border-radius:999px; color:var(--green); background:var(--green-soft); font-size:11px; font-weight:750; }
.home-practice-badge.legacy { color:#735b18; background:#fff6d9; }
.feedback-note { margin:10px 0; padding:10px 12px; border-radius:10px; color:#4c6659; background:#f0f7f3; font-size:12px; }
.documentation-entry { grid-column:1/-1; }
.selected-entry-summary { grid-column:1/-1; padding:18px; border:1px solid var(--line); border-radius:14px; background:#f5f9f7; }
.selected-entry-summary h3 { margin:0 0 14px; font-size:16px; }
.measurement-summary-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin:0; }
.measurement-summary-grid>div { padding:12px; border-radius:12px; background:#fff; overflow-wrap:anywhere; }
.measurement-summary-grid dt { color:var(--muted); font-size:12px; }
.measurement-summary-grid dd { margin:6px 0 0; font-size:16px; font-weight:750; }
.intraact-form { padding-bottom:25px; }
.intraact-symbol-option,.intraact-completion { display:flex; align-items:center; gap:9px; padding:12px; border:1px solid var(--line); border-radius:12px; }
.intraact-symbol-option { font-size:18px; font-weight:750; }
.intraact-symbol-option input,.intraact-completion input,.intraact-saved-page input[type=checkbox] { width:18px; min-height:0; height:18px; margin:0; accent-color:var(--green); }
.intraact-letter { margin:15px 0; padding:15px; border:1px solid var(--line); border-radius:14px; }
.intraact-letter h4 { font-size:22px; margin:0; }
.intraact-round { margin-top:16px; padding-top:12px; border-top:1px solid var(--line); }
.intraact-round-pages { list-style:none; margin:10px 0 0; padding:0; }
.intraact-saved-page { display:grid; grid-template-columns:80px auto minmax(160px,1fr) auto; gap:12px; align-items:center; padding:12px; margin-top:8px; border-radius:12px; background:#f5f9f7; }
.intraact-saved-page>label:not(.intraact-date) { display:flex; align-items:center; gap:8px; }
.intraact-saved-page.completed { background:var(--green-soft); }
.intraact-date { display:flex; flex-direction:column; gap:5px; font-size:12px; }
.intraact-date input { width:100%; }
.intraact-page-form { display:grid; grid-template-columns:1fr auto 1fr auto; align-items:end; gap:14px; }
.intraact-delete-actions { display:flex; flex-wrap:wrap; gap:8px; }
@media(max-width:900px) { .intraact-saved-page,.intraact-page-form { grid-template-columns:1fr 1fr; } }
@media(max-width:650px) { .intraact-saved-page,.intraact-page-form { grid-template-columns:1fr; } .intraact-letter>.intraact-book-head { align-items:flex-start; flex-direction:column; } }
.intraact-book-picker { display:flex; flex-direction:column; gap:8px; max-width:300px; }
.intraact-selection-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.intraact-selection-row { padding:12px; border-radius:12px; background:#f5f9f7; }
.intraact-selection-row>label:first-child { display:flex; align-items:center; gap:8px; font-size:18px; font-weight:750; }
.intraact-selection-row input[type=checkbox],.intraact-saved-entry input { width:18px; height:18px; min-height:0; margin:0; accent-color:var(--green); }
.intraact-pages { display:flex; flex-direction:column; gap:6px; margin-top:10px; font-size:12px; }
.intraact-pages input { width:100%; }
.intraact-book { padding-bottom:20px; border-bottom:1px solid var(--line); }
.intraact-book:last-child { border-bottom:0; }
.intraact-book-head { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.intraact-book-head h3 { margin:0; }
.intraact-saved-entries { list-style:none; margin:0; padding:0 25px; }
.intraact-saved-entry { display:grid; grid-template-columns:60px minmax(0,1fr) auto; gap:12px; align-items:center; margin-top:8px; padding:13px; border:1px solid var(--line); border-radius:12px; }
.intraact-saved-entry>strong { font-size:18px; }
.intraact-saved-entry>span { overflow-wrap:anywhere; }
.intraact-saved-entry>label { display:flex; align-items:center; gap:8px; }
.intraact-saved-entry.completed { background:var(--green-soft); }
@media(max-width:650px) { .intraact-selection-grid { grid-template-columns:1fr; } .intraact-saved-entry { grid-template-columns:45px minmax(0,1fr); } .intraact-saved-entry>label { grid-column:2; } }
.documentation-note-field { margin:22px 0 0; }
.teacher-period-options { display:flex; flex-wrap:wrap; gap:12px 24px; margin-bottom:12px; }
.teacher-period-options label { display:flex; align-items:center; gap:8px; }
.teacher-period-options input { width:auto; margin:0; accent-color:var(--green); }
.teacher-general-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.teacher-remarks { display:flex; flex-direction:column; gap:8px; margin-top:28px; }
.teacher-remarks textarea { display:block; width:100%; min-height:150px; padding:13px; font:inherit; line-height:1.5; color:var(--ink); background:#fff; border:1px solid #d7dfda; border-radius:12px; resize:vertical; }
.teacher-remarks textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(20,107,75,.15); outline:none; }
@media(max-width:850px) { .teacher-general-grid { grid-template-columns:1fr; gap:0; } }
.documentation-note { white-space:pre-wrap; overflow-wrap:anywhere; background:#f5f9f7; line-height:1.6; }
.documentation-item { grid-template-columns:1fr; }
@media(max-width:650px){.answer-option-grid{grid-template-columns:1fr}.entry-answers li{grid-template-columns:1fr}.entry-answers li strong{text-align:left}}
.text-search { display:grid; grid-template-columns:1fr auto; gap:8px 15px; padding:0 25px 20px; }
.text-search label { grid-column:1/-1; }
.text-search input { min-width:0; }
.text-search .muted { align-self:center; font-size:12px; }
.text-protocol-list { display:grid; gap:8px; padding:0 25px 25px; }
.text-protocol-card { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:13px; padding:13px 15px; border:1px solid var(--line); border-radius:12px; color:var(--ink); text-decoration:none; }
.text-protocol-card:hover,.text-protocol-card:focus-visible { border-color:var(--green); background:#f6faf8; }
.text-protocol-card small { display:block; margin-top:3px; color:var(--muted); }
.text-code { display:grid; place-items:center; width:42px; height:42px; border-radius:11px; color:var(--green); background:var(--green-soft); font-weight:850; }
.text60-performance { margin-top:20px; }
.text60-performance-groups { display:grid; gap:16px; padding:0 25px 25px; }
.text60-group { padding:17px; border:1px solid var(--line); border-radius:14px; background:#fbfdfc; }
.text60-group h3 { margin:0; }
.text60-group .muted { margin:4px 0 12px; }
.text60-group-metrics { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.text60-group-metrics span { padding:7px 10px; border-radius:9px; background:#fff; font-size:12px; }
.mini-rate-chart { width:100%; height:90px; margin-bottom:10px; }
@media(max-width:650px){.text-search{grid-template-columns:1fr}.text-search .muted{justify-self:start}}
.picker-form { display:grid; grid-template-columns:minmax(220px,1fr) auto; align-items:end; gap:12px; padding:5px 25px 20px; }
.picker-form label { grid-column:1/-1; margin-bottom:-5px; }
.picker-form select { width:100%; }
.picker-error { margin:0 25px 15px; }
.selected-performance-head { margin:32px 0 15px; }
.selected-performance-head h2 { margin:0; font-size:25px; }
.area-tabs { display:flex; gap:7px; overflow-x:auto; margin-bottom:20px; padding:4px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.area-tab { flex:0 0 auto; padding:10px 16px; border-radius:10px; color:var(--muted); text-decoration:none; font-size:13px; font-weight:750; }
.area-tab:hover { color:var(--green); background:#f3f8f5; }
.area-tab.active { color:#fff; background:var(--green); }
.overview-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; padding:5px 25px 25px; }
.overview-card { display:flex; flex-direction:column; gap:7px; min-height:125px; padding:19px; border:1px solid var(--line); border-radius:15px; color:var(--ink); text-decoration:none; background:#fff; }
.overview-card:hover { border-color:#9fc5b3; box-shadow:0 8px 22px rgba(34,62,49,.07); }
.overview-card span { color:var(--green); font-size:12px; font-weight:800; text-transform:uppercase; }
.overview-card small { color:var(--muted); }
.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; margin-bottom:20px; }
.metric-card { display:flex; flex-direction:column; gap:8px; min-height:112px; padding:18px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.metric-card small { color:var(--muted); }
.metric-card strong { font-size:20px; line-height:1.3; }
.chart-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.chart-panel { overflow:hidden; }
.line-chart { display:block; width:100%; height:auto; min-height:230px; padding:0 12px 12px; }
.chart-grid-line { stroke:#e3eae6; stroke-width:1; }
.chart-line { fill:none; stroke:var(--green); stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.chart-dot { fill:#fff; stroke:var(--green); stroke-width:4; }
.chart-axis-label { fill:#728078; font:11px "Segoe UI",sans-serif; }
.measurement-table-panel { margin-top:20px; }
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.chart-grid{grid-template-columns:1fr}}
@media(max-width:700px){.picker-form{grid-template-columns:1fr}.overview-card-grid,.metric-grid{grid-template-columns:1fr}.area-tabs{border-radius:12px}.metric-card{min-height:auto}.line-chart{min-width:580px}.chart-panel{overflow-x:auto}}
