.module-grid,.workspace-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:1.5rem}.module-card{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;background:#fff;border:1px solid var(--line);border-radius:1rem;color:var(--ink);text-decoration:none}.module-card:hover,.module-card:focus-visible{border-color:var(--blue);box-shadow:0 8px 24px #1d4ed814}.module-card strong{font-size:1.6rem;color:var(--blue)}.record-list{display:grid;gap:.65rem}.record-list>div{padding:.8rem;border:1px solid var(--line);border-radius:.65rem;overflow-wrap:anywhere}.record-list small{display:block;color:var(--muted)}.stack-form p{display:grid;gap:.3rem}.stack-form input,.stack-form select,.stack-form textarea{width:100%;padding:.7rem;border:1px solid var(--line);border-radius:.5rem;background:#fff}.empty{color:var(--muted)}@media(max-width:600px){.topbar{align-items:flex-start}.topbar nav{gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.workspace-grid{grid-template-columns:1fr}main{padding-top:2rem}}
.metric-row{display:grid;grid-template-columns:minmax(8rem,1fr) 3fr 4rem;gap:1rem;align-items:center;margin:1rem 0}.meter{height:.75rem;background:#e5e7eb;border-radius:1rem;overflow:hidden}.meter i{display:block;height:100%;background:var(--brand,#1d4ed8);border-radius:inherit}@media(max-width:640px){.metric-row{grid-template-columns:1fr 3rem}.metric-row .meter{grid-row:2;grid-column:1/-1}}
.payment-review-panel{padding:0;overflow:hidden}.table-wrap{width:100%;overflow-x:auto}.payment-review-table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;table-layout:fixed}.payment-review-table col.payment-learner{width:28%}.payment-review-table col.payment-reference{width:19%}.payment-review-table col.payment-amount{width:14%}.payment-review-table col.payment-submitted{width:17%}.payment-review-table col.payment-status{width:11%}.payment-review-table col.payment-action{width:11%}.payment-review-table th,.payment-review-table td{padding:1rem 1.1rem;text-align:left;vertical-align:middle;border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow-wrap:anywhere}.payment-review-table th:last-child,.payment-review-table td:last-child{border-right:0}.payment-review-table tbody tr:last-child td{border-bottom:0}.payment-review-table thead th{background:var(--pale);color:var(--ink);font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.payment-review-table tbody tr:nth-child(even){background:#f8fafc}.payment-review-table tbody tr:hover{background:#f3f6ff}.payment-review-table td strong{font-weight:700}.payment-review-table .numeric,.payment-review-table .date-cell,.payment-review-table .action-cell{white-space:nowrap}.status-pill,.processed-label{display:inline-flex;align-items:center;min-height:2rem;padding:.3rem .65rem;border-radius:999px;font-size:.82rem;font-weight:700;white-space:nowrap}.status-submitted{background:#eef4ff;color:var(--blue)}.status-verified{background:#dcfce7;color:#166534}.status-rejected{background:#fee2e2;color:#991b1b}.processed-label{padding-left:0;color:var(--muted)}
.attention-list{display:grid;gap:.6rem}.attention-list a,.balance{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;border-radius:.65rem;background:var(--pale);color:var(--ink);text-decoration:none}.attention-list a:focus-visible,.attention-list a:hover{outline:2px solid var(--blue);outline-offset:2px}.balance{margin-bottom:0}.balance strong{white-space:nowrap}
.table-wrap{margin-top:1rem;border:1px solid var(--line);border-radius:1rem;background:#fff}.table-wrap>table:not(.payment-review-table){width:100%;min-width:640px;border-collapse:separate;border-spacing:0;table-layout:auto}.table-wrap>table:not(.payment-review-table) th,.table-wrap>table:not(.payment-review-table) td{padding:.9rem 1rem;text-align:left;vertical-align:middle;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.table-wrap>table:not(.payment-review-table) th:last-child,.table-wrap>table:not(.payment-review-table) td:last-child{border-right:0}.table-wrap>table:not(.payment-review-table) tbody tr:last-child td{border-bottom:0}.table-wrap>table:not(.payment-review-table) thead th{background:var(--pale);font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.table-wrap>table:not(.payment-review-table) tbody tr:nth-child(even){background:#f8fafc}.table-wrap>table:not(.payment-review-table) tbody tr:hover{background:#f3f6ff}.table-wrap input,.table-wrap select{width:100%;min-width:7rem;padding:.55rem;border:1px solid var(--line);border-radius:.45rem;background:#fff;font:inherit}.table-submit{margin-top:1rem}.payment-review-panel .table-wrap{margin-top:0;border:0;border-radius:0}
.report-filters{display:grid;grid-template-columns:repeat(5,minmax(9rem,1fr));gap:1rem;align-items:end;margin-top:1.5rem;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:1rem}.report-filters>div{display:grid;gap:.35rem}.report-filters label{font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.report-filters input,.report-filters select{width:100%;min-height:2.8rem;padding:.6rem;border:1px solid var(--line);border-radius:.5rem;background:#fff;font:inherit}.report-filters .filter-actions{display:flex;align-items:center;gap:.8rem;grid-column:1/-1}.result-summary{margin:1rem 0 0;color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.25rem}.pagination a{padding:.55rem .85rem;border:1px solid var(--line);border-radius:.5rem;background:#fff;color:var(--blue);text-decoration:none}@media(max-width:900px){.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.report-filters{grid-template-columns:1fr}}
.filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem;align-items:end;margin:1rem 0 1.5rem}.filter-bar label{display:grid;gap:.35rem;font-size:.82rem;font-weight:700}.filter-bar input,.filter-bar select{width:100%;min-height:2.75rem;padding:.6rem .7rem;border:1px solid var(--line);border-radius:.5rem;background:#fff;font:inherit}.filter-bar>.button{min-height:2.75rem;justify-self:start}.filter-bar>a{align-self:center;padding:.65rem .25rem}@media(max-width:560px){.filter-bar{grid-template-columns:1fr}.filter-bar>.button,.filter-bar>a{justify-self:stretch;text-align:center}}
.notification-list{padding:0;overflow:hidden}.notification-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:center;padding:1.25rem 1.5rem}.notification-item+.notification-item{border-top:1px solid var(--line)}.notification-item.is-unread{border-left:4px solid var(--blue);background:var(--pale)}.notification-item h2{margin:.2rem 0;font-size:1.2rem}.notification-item p{margin:.35rem 0}.notification-meta,.read-status,.notification-range{color:var(--muted);font-size:.85rem}.notification-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.notification-actions form{margin:0}.notification-range{margin:0;padding:1rem 1.5rem 0;border-top:1px solid var(--line);text-align:center}.notification-list>.pagination{margin:0;padding:1rem 1.5rem 1.5rem}.button-secondary{background:#fff!important;color:var(--blue)!important;border:1px solid var(--blue)!important}.notification-detail-head h1{max-width:52rem}.notification-detail{max-width:52rem}.notification-detail>p{font-size:1.1rem;white-space:normal}.notification-detail .notification-actions{margin-top:2rem}@media(max-width:700px){.notification-item{grid-template-columns:1fr}.notification-actions .button,.notification-actions form,.notification-actions form .button{width:100%;text-align:center}}
.announcement-list{padding:0;overflow:hidden}.list-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;padding:1.5rem}.list-heading h2,.list-heading p{margin:0}.list-heading p,.list-heading span{color:var(--muted);font-size:.88rem}.announcement-item{padding:1.1rem 1.5rem;border-top:1px solid var(--line)}.announcement-item h3{margin:0 0 .25rem}.announcement-item p{margin:.25rem 0 .5rem}.announcement-item small{color:var(--muted)}.announcement-list>.pagination{margin:0;padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--line)}@media(max-width:560px){.list-heading{align-items:start;flex-direction:column}}
.record-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem 1rem;align-items:center;padding:1rem;color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:.7rem;background:#fff}.record-list-item+.record-list-item{margin-top:.7rem}.record-list-item strong,.record-list-item small{min-width:0;overflow-wrap:anywhere}.record-list-item small{color:var(--muted)}.record-list-item span{grid-column:2;grid-row:1/3;color:var(--blue);font-size:1.25rem}.record-list-item:hover,.record-list-item:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px #1d4ed81a}.record-detail-grid{align-items:start}.record-details{display:grid;gap:0;margin:0}.record-details>div{display:grid;grid-template-columns:minmax(9rem,.7fr) 1.3fr;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.record-details>div:last-child{border-bottom:0}.record-details dt{font-weight:750}.record-details dd{margin:0;overflow-wrap:anywhere}@media(max-width:620px){.record-details>div{grid-template-columns:1fr;gap:.2rem}}
.mark-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.mark-card{display:flex;flex-direction:column;min-width:0;padding:1.1rem;border:1px solid var(--line);border-radius:.85rem;background:#fff;color:var(--ink);text-decoration:none}.mark-card:hover,.mark-card:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px #1d4ed81a}.mark-card-head,.mark-score{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.mark-card-head{color:var(--muted);font-size:.8rem;font-weight:750}.mark-subject{color:var(--blue)}.mark-card h3{margin:.8rem 0 .25rem}.mark-learner,.mark-comment{margin:.2rem 0;color:var(--muted);font-size:.88rem}.mark-score{margin:1rem 0 .6rem;padding:.8rem;border-radius:.65rem;background:var(--pale)}.mark-score strong{font-size:1.45rem}.mark-score span{font-weight:800;color:var(--blue)}.mark-comment{padding-top:.6rem;border-top:1px solid var(--line)}.mark-open{margin-top:auto;padding-top:.8rem;color:var(--blue);font-size:.85rem;font-weight:750}@media(max-width:560px){.mark-card-grid{grid-template-columns:1fr}}
.record-details>.report-snapshot{grid-template-columns:1fr}.record-details>.report-snapshot .table-wrap{margin-top:.25rem}
.setup-groups{display:grid;gap:.8rem;margin-top:1.5rem}.setup-group{border:1px solid var(--line);border-radius:.9rem;background:#fff;overflow:hidden}.setup-group>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;cursor:pointer;list-style:none}.setup-group>summary::-webkit-details-marker{display:none}.setup-group>summary span:first-child{display:grid;gap:.15rem}.setup-group>summary strong{font-size:1.05rem}.setup-group>summary small{color:var(--muted)}.setup-group>summary span:last-child{font-size:1.5rem;color:var(--blue);transition:transform .2s}.setup-group[open]>summary{border-bottom:1px solid var(--line);background:#f8fafc}.setup-group[open]>summary span:last-child{transform:rotate(45deg)}.setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem}.setup-grid-single{grid-template-columns:minmax(0,46rem)}.setup-grid .panel{margin:0}.setup-records{max-height:12rem;overflow:auto;margin-top:1rem;padding-right:.35rem;border-top:1px solid var(--line)}.setup-records p{margin:.65rem 0;padding-bottom:.65rem;border-bottom:1px solid var(--line)}.setup-records p:last-child{border-bottom:0}@media(max-width:760px){.setup-grid{grid-template-columns:1fr}.setup-group>summary{align-items:flex-start}}
.people-search{grid-template-columns:minmax(18rem,26rem) auto auto;justify-content:start}.list-stack{display:grid;gap:.55rem}.list-stack>a{display:block;padding:.7rem .8rem;border:1px solid var(--line);border-radius:.55rem;background:#f8fafc;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}.list-stack>a:hover,.list-stack>a:focus-visible{border-color:var(--blue);background:var(--pale);color:var(--blue)}@media(max-width:560px){.people-search{grid-template-columns:1fr}}
.stack-form,.form-card form,.auth form,.panel>form:not(.filter-bar):not(.inline-form),.page-head>form{display:grid;gap:1rem;max-width:46rem}.stack-form>p,.form-card form>p,.auth form>p,.panel>form:not(.filter-bar):not(.inline-form)>p,.page-head>form>p,.form-grid>p{display:grid;gap:.4rem;margin:0}.stack-form label,.form-card form label,.auth form label,.panel>form:not(.filter-bar):not(.inline-form) label,.page-head>form label,.form-grid label{font-size:.84rem;font-weight:750;color:var(--ink)}.stack-form input,.stack-form select,.stack-form textarea,.form-card form input,.form-card form select,.form-card form textarea,.auth form input,.auth form select,.auth form textarea,.panel>form:not(.filter-bar):not(.inline-form) input,.panel>form:not(.filter-bar):not(.inline-form) select,.panel>form:not(.filter-bar):not(.inline-form) textarea,.page-head>form input,.page-head>form select,.page-head>form textarea,.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:2.8rem;padding:.65rem .75rem;border:1px solid var(--line);border-radius:.55rem;background:#fff;color:var(--ink);font:inherit}.stack-form textarea,.form-card form textarea,.auth form textarea,.panel>form:not(.filter-bar):not(.inline-form) textarea,.page-head>form textarea,.form-grid textarea{min-height:7rem;resize:vertical}.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus,.form-card form input:focus,.form-card form select:focus,.form-card form textarea:focus,.auth form input:focus,.auth form select:focus,.auth form textarea:focus,.panel>form:not(.filter-bar):not(.inline-form) input:focus,.panel>form:not(.filter-bar):not(.inline-form) select:focus,.panel>form:not(.filter-bar):not(.inline-form) textarea:focus,.page-head>form input:focus,.page-head>form select:focus,.page-head>form textarea:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:3px solid #1d4ed826;border-color:var(--blue)}.stack-form input[type=checkbox],.stack-form input[type=radio],.form-card form input[type=checkbox],.form-card form input[type=radio],.auth form input[type=checkbox],.auth form input[type=radio],.panel>form:not(.filter-bar):not(.inline-form) input[type=checkbox],.panel>form:not(.filter-bar):not(.inline-form) input[type=radio],.page-head>form input[type=checkbox],.page-head>form input[type=radio],.form-grid input[type=checkbox],.form-grid input[type=radio]{width:auto;min-height:auto}.stack-form input[type=file],.form-card form input[type=file],.auth form input[type=file],.panel>form:not(.filter-bar):not(.inline-form) input[type=file],.page-head>form input[type=file],.form-grid input[type=file]{padding:.45rem;background:#f8fafc}.stack-form .helptext,.form-card form .helptext,.auth form .helptext,.panel>form:not(.filter-bar):not(.inline-form) .helptext,.page-head>form .helptext,.form-grid small{font-size:.82rem;color:var(--muted)}.errorlist{margin:.2rem 0;padding:.65rem .85rem;list-style:none;border-radius:.5rem;background:#fee2e2;color:#991b1b;font-size:.85rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem;margin:1.25rem 0}.form-grid>[data-record-field=description],.form-grid>[data-record-field=attachment]{grid-column:1/-1}.form-grid>[data-record-field=confidentiality]{padding:1rem;border:1px solid #f5d88a;border-radius:.65rem;background:#fffbeb}.form-grid>[hidden]{display:none}.stack-form>.button,.form-card form>.button,.auth form>.button,.panel>form:not(.filter-bar):not(.inline-form)>.button,.page-head>form>.button{justify-self:start}.form-actions{display:flex;align-items:center;gap:.75rem;margin-top:.25rem}@media(max-width:640px){.form-grid{grid-template-columns:1fr}.form-grid>*{grid-column:1!important}.stack-form>.button,.form-card form>.button,.auth form>.button,.panel>form:not(.filter-bar):not(.inline-form)>.button,.page-head>form>.button,.form-actions>.button{width:100%;text-align:center}}
.form-field{display:grid;gap:.4rem;margin:0}.required-marker{color:#c62828;font-size:1.05em}.optional-label{color:var(--muted);font-size:.78rem;font-weight:600}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.human-check{padding:1rem;border:1px solid #b9cdf8;border-radius:.7rem;background:var(--pale)}.human-check input{max-width:12rem}
input[type=checkbox]{justify-self:start;margin-left:0}
.material-form{max-width:none!important}.material-picker{margin:0;padding:0;border:0}.material-picker legend{font-size:.9rem;font-weight:800}.material-picker>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:.75rem}.material-picker>div>div{position:relative}.material-picker label{display:flex!important;align-items:center;justify-content:center;min-height:4rem;padding:.7rem;border:1px solid var(--line);border-radius:.7rem;background:#fff;text-align:center;cursor:pointer}.material-picker input{position:absolute;opacity:0;pointer-events:none}.material-picker label:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 3px #1d4ed81a;background:var(--pale);color:var(--blue)}.material-picker label:has(input:focus-visible){outline:3px solid #1d4ed826;outline-offset:2px}.material-fields{display:grid;gap:1rem;padding-top:.25rem}.material-context select{width:100%}.material-file-panel{gap:1rem;padding:1rem;border:1px dashed #b9c6db;border-radius:.75rem;background:#f8fafc}.material-or{display:flex;align-items:center;gap:.6rem;margin:0;color:var(--muted);font-size:.78rem;text-transform:uppercase}.material-or:before,.material-or:after{content:"";height:1px;flex:1;background:var(--line)}.material-form [data-material-panel]{display:none}.material-form:has(input[value="youtube"]:checked) [data-material-panel="url"],.material-form:has(input[value="link"]:checked) [data-material-panel="url"]{display:block}.material-form:has(input[value="pdf"]:checked) [data-material-panel="file"],.material-form:has(input[value="image"]:checked) [data-material-panel="file"],.material-form:has(input[value="document"]:checked) [data-material-panel="file"]{display:grid}@media(max-width:640px){.material-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
.learner-resource-preview{display:grid;gap:1rem;max-width:48rem;padding:.5rem 0}.learner-resource-preview>p{margin:0;font-size:1.05rem}.resource-kind{justify-self:start;padding:.4rem .75rem;border-radius:999px;background:var(--pale);color:var(--blue);font-size:.82rem;font-weight:800}.learner-resource-preview .button{justify-self:start}.learner-resource-preview iframe{width:100%;aspect-ratio:16/9;height:auto}
