/* TESTDD246: compact progress and monthly absence lists only. */
#learningInline244 .learningGrid244 caption { text-align:left; padding:6px 8px; font-size:14px; color:var(--text,#172033); }
#learningInline244 .learningGrid244 :is(th,td) { padding:6px 8px; vertical-align:middle; font-size:15px; }
#learningInline244 .learningGrid244 tr > :nth-child(2) { width:240px; min-width:240px; max-width:240px; }
#learningInline244 .learningGrid244 thead button { border:0; border-radius:0; padding:4px 8px; background:transparent; }
#learningInline244 .learningGrid244 :is(textarea,input) { border:1px solid transparent; border-radius:4px; padding:6px; min-height:44px; background:transparent; box-shadow:none; }
#learningInline244 .learningGrid244 textarea { height:44px; min-height:44px; resize:vertical; }
#learningInline244 .learningGrid244 :is(textarea,input)[readonly] { background:transparent; cursor:default; }
#learningInline244 .learningGrid244 :is(textarea,input):focus { border-color:var(--primary,#087f8c); background:var(--surface,#fff); }
#learningInline244 .learningGrid244 [aria-invalid=true] { border:2px solid #b42336; }
#learningInline244 .learningGrid244 input[type=number] { width:100%; font-variant-numeric:tabular-nums; }
#learningInline244 .learningStudent246 { display:flex; align-items:center; gap:8px; font-weight:600; }
#learningInline244 .learningStudent246 img { border-radius:6px; object-fit:cover; flex-shrink:0; }
#learningInline244 .learningStudent246 span { min-width:0; overflow-wrap:anywhere; }
#learningInline244 .learningResult246 { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
#learningInline244 .learningResult246 button { padding:4px 10px; min-height:44px; background:transparent; border-color:transparent; color:var(--text,#334155); font-size:14px; }
#learningInline244 .learningResult246 button[aria-pressed=true][data-progress-result=pass] { color:#14532d; background:#dcfce7; border-color:#86b99a; }
#learningInline244 .learningResult246 button[aria-pressed=true][data-progress-result=fail] { color:#7f1d1d; background:#fee2e2; border-color:#d9a0a0; }
#learningInline244 .learningResult246 button:disabled { opacity:.75; }
#learningInline244 #learningSummary244 { min-height:44px; padding:4px 10px; margin-right:8px; border:0; color:var(--primary,#087f8c); }
#absenceList246 { --absence-border:#d7e2ea; --absence-surface:var(--surface,#fff); min-width:0; }
#absenceList246 > p { margin:10px 0; font-size:14px; }
#absenceList246 .absenceArea246 { margin:16px 0; }
#absenceList246 .absenceArea246 h3 { margin:8px 0; font-size:18px; }
#absenceList246 .absenceClassGrid246 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:start; }
#absenceList246 .absenceClass246 { min-width:0; border:1px solid var(--absence-border); border-radius:8px; overflow:hidden; background:var(--absence-surface); }
#absenceList246 .absenceClass246 h4 { margin:0; padding:10px 12px; color:var(--text,#172033); background:var(--accent-soft,#edf4f8); font-size:16px; }
#absenceList246 .absenceClass246 small { display:block; font-size:12px; font-weight:400; }
#absenceList246 .absenceClass246 h4 small { display:inline; font-size:13px; }
#absenceList246 .absenceTableWrap246 { overflow:auto; max-height:60vh; }
#absenceList246 table { width:100%; min-width:400px; border-collapse:separate; border-spacing:0; }
#absenceList246 :is(th,td) { text-align:left; padding:8px; border-bottom:1px solid var(--absence-border); border-right:1px solid var(--absence-border); vertical-align:top; font-size:14px; overflow-wrap:anywhere; }
#absenceList246 :is(th,td):last-child { border-right:0; }
#absenceList246 thead th { border-top:1px solid var(--absence-border); }
#workspace[data-report-tab="absence-list"] .reportFilters { justify-content:flex-start; }
#workspace[data-report-tab="absence-list"] .reportFilters label { flex:0 1 180px; min-width:150px; }
#workspace[data-report-tab="absence-list"] .reportFilters .mobileFilterToggle { display:none!important; }
.reportVisibility251 { max-width:900px; padding:20px; }
.reportVisibility251 h3 { margin:0 0 8px; }
.reportVisibility251 p { line-height:1.5; }
.reportVisibility251 fieldset { margin:18px 0; padding:12px; border:1px solid var(--line,#d7e2ea); border-radius:8px; }
#reportVisibilityChoices251 { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:8px 16px; }
#reportVisibilityChoices251 label { display:flex; align-items:center; justify-content:flex-start; gap:10px; min-height:44px; padding:6px 8px; }
html body #reportVisibilityChoices251 input[type=checkbox] { width:20px!important; height:20px!important; min-width:20px!important; max-width:20px!important; min-height:20px!important; flex:0 0 20px; margin:0; padding:0; }
.reportVisibility251 footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; }
#absenceList246 thead th { position:sticky; top:0; z-index:1; background:var(--accent-soft,#edf4f8); }
#absenceList246 tbody th { font-weight:600; min-width:120px; }
#absenceList246 .absenceDates246 { display:flex; flex-wrap:wrap; gap:6px; }
#absenceList246 .absenceDate246 { display:inline-block; padding:4px 8px; border:1px solid transparent; border-radius:999px; font-size:13px; white-space:nowrap; font-variant-numeric:tabular-nums; }
#absenceList246 .absenceCP246 { background:#fef3c7; color:#78350f; border-color:#d5bb7f; }
#absenceList246 .absenceKP246 { background:#fee2e2; color:#7f1d1d; border-color:#d9a0a0; }
#absenceList246 button { min-height:44px; padding:8px 12px; }
.visuallyHidden246 { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:920px) {
  #learningInline244 .learningGrid244 tr > :nth-child(2) { width:150px; min-width:150px; max-width:150px; }
  #learningInline244 .learningGrid244 { min-width:820px; }
  #absenceList246 .absenceClassGrid246 { grid-template-columns:minmax(0,1fr); }
  #absenceList246 :is(th,td) { font-size:16px; }
}

/* Independent columns avoid empty grid rows when adjacent classes differ in size. */
html body #absenceList246 .absenceClassGrid246 { display:block; columns:2; column-gap:14px; }
html body #absenceList246 .absenceClass246 { break-inside:avoid; margin:0 0 14px; }
html body #absenceList246 table { table-layout:fixed; }
html body #absenceList246 :is(th,td):nth-child(1) { width:7%; }
html body #absenceList246 :is(th,td):nth-child(2) { width:16%; }
html body #absenceList246 :is(th,td):nth-child(3) { width:32%; min-width:0; }
html body #absenceList246 :is(th,td):nth-child(4) { width:45%; }
@media(max-width:920px) { html body #absenceList246 .absenceClassGrid246 { columns:1; } }
