/* Task controls shared by Original and Ceria. */
.workspace-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:16px 0;margin:0 0 12px}.workspace-tabs .btn{margin:0!important;min-height:44px;font-size:13px;display:inline-flex;align-items:center;gap:8px}.workspace-tabs .filter-count{border-radius:20px;padding:2px 7px;background:#64748b15;font-size:11px}.workspace-tabs .primary .filter-count{background:#ffffff30}.billing-quick-filters{padding:18px 20px 0}.workspace-more{position:relative}.workspace-more>summary{padding:12px 16px;cursor:pointer;border:1px solid #94a3b840;border-radius:12px;font-weight:600;font-size:13px}.workspace-more>div{position:absolute;right:0;z-index:12;background:var(--surface,#fff);color:var(--text,inherit);border:1px solid #94a3b840;border-radius:14px;box-shadow:0 8px 24px #0002;padding:12px;min-width:200px;display:grid;gap:8px}.workspace-more .btn{margin:0!important}.student-workspace> .page-heading h1{font-size:24px;overflow-wrap:anywhere}.student-workspace> .page-heading p{font-size:13px;color:var(--muted,#64748b)}.workspace-summary,.workspace-filter{padding:22px}.workspace-summary dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.workspace-summary dl>div{min-width:0}.workspace-summary dt{font-size:12px;color:var(--muted,#64748b)}.workspace-summary dd{margin:6px 0;overflow-wrap:anywhere;font-weight:600}.workspace-summary p{font-size:13px;color:var(--muted,#64748b)}.student-workspace .billing-history-table~.page-heading,.student-workspace> .page-heading~.page-heading{display:none}.student-workspace [hidden]{display:none!important}.attendance-tools,.attendance-quick form{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.attendance-tools label{flex:1;min-width:150px;margin:0}.attendance-tools input{margin:5px 0 0}.attendance-tools .btn{margin:0}.attendance-quick{padding:22px}.attendance-quick h2{font-size:18px}.attendance-quick label{flex:1;min-width:180px}.attendance-quick .btn{margin:0}.attendance-card-section>.session-counts{position:sticky;top:0;z-index:3;background:var(--surface,#fff);padding:12px;border-radius:12px}.learning-focus-tools{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:0 20px 16px}.learning-focus-tools label{display:flex;gap:10px;align-items:center;font-size:12px;margin:0}.learning-focus-tools select{width:auto;margin:0;font-size:13px}.learning-focus-nav{display:flex;gap:10px;align-items:center}.learning-focus-nav .btn{margin:0!important}.learning-focus-nav span{font-size:12px}.learning-workspace .learning-focus-hidden{display:none!important}.learning-results.focus-single .learning-student{content-visibility:visible!important}.learning-results.focus-single .learning-expand{display:none!important}.learning-results.focus-single .learning-cell{display:table-cell!important}.learning-results.focus-single .learning-matrix{max-height:none}.student-workspace .workspace-tabs{position:sticky;top:0;background:var(--canvas,#f2f2f7);z-index:8}.report-tabs{padding:0 0 16px}.report-tabs~[data-report-section][hidden]{display:none!important}
@media(max-width:700px){.workspace-tabs{gap:6px}.workspace-tabs .btn{padding:10px 12px;font-size:12px}.workspace-more>div{position:static;margin-top:8px;min-width:0}.page-heading .heading-actions{align-items:start}.workspace-summary dl{grid-template-columns:1fr;gap:10px}.workspace-summary,.workspace-filter,.attendance-quick{padding:16px}.learning-focus-tools{padding:0 0 14px;display:grid;gap:12px}.learning-focus-tools label{justify-content:space-between}.learning-focus-nav{justify-content:space-between}.learning-results.focus-single .learning-cell{display:block!important}.learning-results.focus-single .learning-mobile-label{display:block}.student-workspace .page-heading{gap:12px}.student-workspace .page-heading .heading-actions{margin-top:8px}.billing-quick-filters{padding:14px 14px 0}.attendance-tools{display:grid;grid-template-columns:1fr}.attendance-tools .btn{width:100%}.attendance-card-section>.session-counts{font-size:12px}.student-workspace .workspace-tabs{position:static}.workspace-tabs.billing-quick-filters{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:10px}.billing-quick-filters .btn{flex-shrink:0;white-space:nowrap}.learning-focus-tools select{max-width:65%}}
@media print{.workspace-tabs,.workspace-more,.learning-focus-tools,.attendance-tools{display:none!important}}

.learning-workspace{--card:var(--surface);--muted:var(--subtle)}.record-list .student-list-identity a{color:var(--text);font-weight:600;text-decoration:none;overflow-wrap:anywhere}.record-list .student-list-identity a:hover{text-decoration:underline}.billing-filter-status[hidden]{display:none!important}.billing-quick-filters [data-billing-filter]:not([data-billing-filter=""]):before{content:"";width:8px;height:8px;border-radius:50%;background:#64748b;flex-shrink:0}.billing-quick-filters [data-billing-filter=unpaid]:before{background:#dc3545}.billing-quick-filters [data-billing-filter=partial]:before{background:#d19b00}.billing-quick-filters [data-billing-filter=paid]:before{background:#169451}.workspace-more>div{background:var(--surface,#fff)}

.workspace-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-stats .stat strong{font-size:24px}.workspace-stats .action-link{display:inline-block;margin-top:10px;font-size:12px;color:var(--text)}

.learning-overview{margin:18px 0}.learning-overview>summary{padding:12px 16px;border:1px solid var(--stroke,#dce4ee);border-radius:12px;font-size:13px;cursor:pointer}.learning-overview .learning-stats{margin:14px 0}.learning-focus-tools{position:sticky;top:0;z-index:6;background:var(--canvas,#f2f2f7);border-radius:12px;padding-top:12px}.learning-focus-tools .learning-focus-nav{background:var(--surface,#fff);border:1px solid var(--stroke,#dce4ee);padding:8px;border-radius:12px}.learning-focus-nav .btn{padding:10px 12px;font-size:13px}html[data-appearance=dark] .learning-exam-fields input{background:var(--surface);color:var(--text);border-color:var(--stroke)}

.learning-results{overflow:visible}.learning-results .learning-student{scroll-margin-top:140px}.learning-matrix{border-radius:0 0 16px 16px}

.learning-focused-name{padding:18px 20px 6px;margin:0;font-size:14px}.learning-focused-name strong{display:block;margin-top:6px;font-size:18px}.focus-single .learning-savebar{padding-top:12px}

/* A record opened from a pupil report uses subject/skill cards, not a class matrix. */
.learning-workspace[data-learning-student]:not([data-learning-student="0"]) .learning-matrix{overflow:visible;max-height:none;padding:0 18px 18px}
.learning-workspace[data-learning-student]:not([data-learning-student="0"]) .learning-matrix table,.learning-workspace[data-learning-student]:not([data-learning-student="0"]) .learning-matrix tbody{display:block;width:100%}
.learning-workspace[data-learning-student]:not([data-learning-student="0"]) .learning-matrix thead{display:none}
.learning-workspace[data-learning-student]:not([data-learning-student="0"]) .learning-student{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;border:0;background:transparent;overflow:visible}
.learning-workspace[data-learning-student]:not([data-learning-student="0"]) .learning-matrix tr>th:first-child{grid-column:1/-1;display:block;position:static;width:auto;min-width:0;max-width:none;background:var(--surface);border:0;padding:12px 0}
.learning-workspace[data-learning-student]:not([data-learning-student="0"]) .learning-cell{display:block!important;min-width:0;padding:16px;border:1px solid var(--stroke,#dce4ee);border-radius:14px;background:var(--surface)}
.learning-workspace[data-learning-student]:not([data-learning-student="0"]) .learning-mobile-label{display:block;font-weight:600;margin-bottom:12px}
.learning-workspace[data-learning-student]:not([data-learning-student="0"]) .learning-exam-fields{min-width:0}
.learning-workspace[data-learning-student]:not([data-learning-student="0"]) .learning-focused-name{display:none}
@media(max-width:700px){.learning-workspace[data-learning-student]:not([data-learning-student="0"]) .learning-student{grid-template-columns:minmax(0,1fr)}.learning-workspace[data-learning-student]:not([data-learning-student="0"]) .learning-matrix{padding:0 0 16px}}

.learning-workspace[data-learning-student]:not([data-learning-student="0"]) .learning-identity{width:auto}

@media(max-width:700px){body[data-page=billing] .page-heading .heading-actions{display:flex!important;flex-wrap:nowrap;align-items:stretch;gap:10px;width:100%}body[data-page=billing] .page-heading .heading-actions>.primary{order:1;flex:1;min-width:0;margin:0!important;display:flex;align-items:center;justify-content:center;min-height:46px;grid-column:auto}body[data-page=billing] .page-heading .heading-actions>.workspace-more{order:2;flex:0 0 auto;margin:0;align-self:stretch}body[data-page=billing] .page-heading .heading-actions>.workspace-more>summary{display:flex;align-items:center;justify-content:center;gap:6px;min-height:46px;height:100%;padding:10px 16px;margin:0;white-space:nowrap}body[data-page=billing] .page-heading .heading-actions>.workspace-more>div{position:absolute;right:0;top:calc(100% + 8px);width:min(260px,calc(100vw - 48px));min-width:0;margin:0;z-index:20}body[data-page=billing] .page-heading .heading-actions>.workspace-more>div .btn{width:100%;text-align:left;min-height:44px}}

.billing-month-status{display:flex;flex-wrap:wrap;gap:10px;overflow:visible;padding:0 0 8px;margin:0 0 12px}.billing-month-status .btn{display:inline-flex;align-items:center;gap:7px;margin:0;white-space:nowrap}.month-status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#777}.dot-unpaid{background:#c72b41}.dot-partial{background:#c28b00}.dot-paid{background:#00856b}.billing-month-selection,.billing-month-note{font-size:12px!important;color:var(--muted,#786783)}@media(max-width:600px){.billing-month-status .btn{flex:1 0 auto;font-size:11px;padding:10px 12px}.billing-month-list{padding:18px!important}}

@media(max-width:600px){.billing-month-filter form{display:flex!important;flex-direction:column;align-items:stretch!important}.billing-month-filter form>label{width:100%!important}.billing-month-filter form>button{align-self:flex-start;margin-top:4px}}
