:root{font-family:Inter,system-ui,sans-serif;color:#1f2937;background:#f3f4f6;line-height:1.5}*{box-sizing:border-box}body{margin:0}.topbar{display:flex;justify-content:space-between;align-items:center;padding:1rem max(1rem,calc((100% - 1180px)/2));background:#17324d;color:#fff}.brand{font-size:1.2rem;font-weight:700;color:#fff;text-decoration:none}.account{display:flex;gap:1rem;align-items:center}.account form{margin:0}.link-button{border:0;background:none;color:#fff;text-decoration:underline;cursor:pointer}.container{max-width:1180px;margin:2rem auto;padding:0 1rem}.card{background:#fff;border:1px solid #dbe1e8;border-radius:.75rem;padding:1.5rem;box-shadow:0 2px 8px #0000000a}.narrow{max-width:440px;margin:4rem auto}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.page-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:1rem}h1,h2{line-height:1.2}h1{margin:.2rem 0}h2{margin:.6rem 0}.muted,small{color:#64748b}.badge{display:inline-block;background:#e0f2fe;color:#075985;padding:.2rem .55rem;border-radius:999px;font-size:.8rem}.button{display:inline-block;border:0;border-radius:.45rem;background:#0f6b50;color:#fff;padding:.65rem 1rem;text-decoration:none;font-weight:650;cursor:pointer}.form-grid{display:grid;gap:1rem}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label{display:grid;gap:.3rem;font-weight:600}.form-grid input,.form-grid select,.form-grid textarea,.filters input,.filters select{width:100%;border:1px solid #94a3b8;border-radius:.4rem;padding:.6rem;background:#fff;font:inherit}.form-grid textarea{min-height:7rem;resize:vertical}.full{grid-column:1/-1}.actions{display:flex;justify-content:flex-end;align-items:center;gap:1rem}.filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:.75rem;background:#fff;padding:1rem;border-radius:.6rem;margin-bottom:1rem}.filters label{display:grid;gap:.25rem}.table-wrap{overflow:auto;background:#fff;border-radius:.6rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.75rem;border-bottom:1px solid #e2e8f0;vertical-align:top}th{background:#e8eef4}.warning{color:#a33b10;font-weight:700}.ok{color:#14734d}.alert{padding:1rem;border-radius:.5rem;margin-bottom:1rem}.alert.success{background:#dcfce7}.alert.error{background:#fee2e2}.breadcrumbs{color:#64748b;margin-bottom:1rem}.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.tabs>*{padding:.6rem .8rem;background:#fff;border-radius:.4rem}.tabs .active{background:#17324d;color:#fff}.pagination{margin-top:1rem}.pagination svg{width:1.1rem}.pagination nav>div{display:flex;gap:.5rem}.section-gap{margin-top:1rem}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem}.check-grid label,.checkbox{display:flex!important;align-items:center;gap:.5rem!important;font-weight:500!important}.check-grid input,.checkbox input{width:auto!important}.team-member{border:1px solid #dbe1e8;border-radius:.5rem;margin:.75rem 0;background:#f8fafc}.team-member summary{cursor:pointer;padding:1rem}.inner-form{padding:1rem;border-top:1px solid #dbe1e8}.inactive{background:#e2e8f0;color:#475569}.danger-row{padding:0 1rem 1rem;text-align:right}.button.secondary{background:#64748b}.inline-form{display:flex;gap:.75rem;align-items:end}.inline-form select{min-width:280px;border:1px solid #94a3b8;border-radius:.4rem;padding:.6rem;background:#fff;font:inherit}fieldset{border:1px solid #cbd5e1;border-radius:.5rem;padding:1rem}legend{font-weight:700}.role-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;gap:.75rem;align-items:center;padding:.5rem 0}.role-row input[type=text],.role-row>input{border:1px solid #94a3b8;border-radius:.4rem;padding:.6rem;font:inherit}.role-row label{white-space:nowrap}.add-role{margin-top:.75rem;border-top:1px solid #e2e8f0;padding-top:1rem}@media(max-width:700px){.two-columns,.filters{grid-template-columns:1fr}.full{grid-column:auto}.account span{display:none}.inline-form{align-items:stretch;flex-direction:column}.inline-form select{min-width:0}.role-row{grid-template-columns:1fr}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.materials-heading{align-items:center}.materials-table-wrap{border:1px solid #dbe1e8}.materials-table{font-size:.92rem}.materials-table th,.materials-table td{padding:.62rem .7rem;vertical-align:middle}.materials-table th:nth-child(1){width:21%}.materials-table th:nth-child(2){width:39%}.materials-table th:nth-child(3){width:12%}.materials-table th:nth-child(4){width:17%;white-space:nowrap}.materials-table th:last-child{width:64px}.material-description{color:#475569}.material-static-label{display:block;margin-top:.12rem;font-size:.7rem}.material-download{font-weight:700}.material-action-cell{position:relative;white-space:nowrap;text-align:center}.material-generate{display:inline-grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:#e0ecf7;color:#17324d;font-size:1.05rem;font-weight:800;cursor:pointer}.material-generate:hover{background:#bfdbfe}.material-generate:disabled{cursor:wait;opacity:.8}.material-warning{margin-right:.25rem;color:#b45309}.material-ready{color:#14734d;font-weight:900}.material-spinner{width:15px;height:15px;border:2px solid #93a8bd;border-top-color:#0f6b50;border-radius:50%;animation:material-spin .7s linear infinite}.material-error{position:absolute;right:.3rem;top:100%;z-index:5;width:220px;padding:.35rem .45rem;border-radius:.3rem;background:#7f1d1d;color:#fff;white-space:normal;text-align:left}.materials-note{margin:.6rem 0 0}@keyframes material-spin{to{transform:rotate(360deg)}}@media(max-width:760px){.materials-heading{align-items:stretch}.materials-heading .button{width:100%}.materials-table th:nth-child(2),.materials-table td:nth-child(2){min-width:240px}}
.validation-error{color:#b42318!important;font-weight:700}

.course-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1rem 0}.course-stats article{display:grid;gap:.1rem;padding:1rem 1.1rem;border:1px solid #dbe1e8;border-radius:.65rem;background:#fff}.course-stats strong{font-size:1.65rem;color:#17324d}.course-stats span{color:#64748b}.course-stats .has-warning strong{color:#b45309}.course-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.course-overview div{display:grid;gap:.18rem}.course-overview strong{font-size:1.05rem}@media(max-width:700px){.course-stats,.course-overview{grid-template-columns:1fr 1fr}}@media(max-width:440px){.course-stats,.course-overview{grid-template-columns:1fr}}

.material-remove-form{margin:.15rem 0 0}.text-danger-button{border:0;background:none;color:#b42318;padding:0;text-decoration:underline;font:inherit;font-size:.78rem;cursor:pointer}.material-configuration{padding:0;overflow:hidden}.material-configuration>summary,.new-template-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;cursor:pointer;list-style:none}.material-configuration>summary::-webkit-details-marker,.new-template-panel>summary::-webkit-details-marker{display:none}.material-configuration>summary span{color:#64748b;font-size:.9rem;font-weight:400}.material-configuration-body{display:grid;gap:1rem;padding:0 1.2rem 1.2rem;border-top:1px solid #e2e8f0}.template-library h2{font-size:1.1rem;margin-top:1rem}.template-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.7rem}.template-card{display:grid;gap:.5rem;padding:.8rem;border:1px solid #dbe1e8;border-radius:.55rem;background:#f8fafc}.template-card>div{display:grid}.template-card small{font-size:.75rem}.template-attach-form{display:flex;gap:.4rem}.template-attach-form select{min-width:0;width:100%;border:1px solid #94a3b8;border-radius:.4rem;padding:.45rem;background:#fff}.template-attach-form .button{white-space:nowrap;padding:.45rem .65rem}.new-template-panel{border:1px solid #cbd5e1;border-radius:.6rem;background:#fff}.new-template-panel>summary{padding:.8rem 1rem}.material-template-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 1rem 1rem}.template-fields-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #e2e8f0;padding-top:1rem}.template-fields-heading p{margin:.2rem 0}.template-fields{display:grid;gap:.65rem}.template-field{display:grid;grid-template-columns:1.5fr repeat(7,minmax(70px,1fr));gap:.5rem;align-items:end;padding:.7rem;border:1px solid #dbe1e8;border-radius:.5rem;background:#f8fafc}.template-field label{display:grid;gap:.2rem;font-size:.78rem;font-weight:650}.template-field input,.template-field select{width:100%;min-width:0;border:1px solid #94a3b8;border-radius:.35rem;padding:.42rem;background:#fff;font:inherit}.template-field .compact-check{display:flex;align-items:center;gap:.3rem;white-space:nowrap}.template-field .compact-check input{width:auto}.template-field-remove{align-self:center}.material-template-form input[type=file]{padding:.45rem;border:1px solid #94a3b8;border-radius:.4rem}@media(max-width:1050px){.template-field{grid-template-columns:repeat(4,minmax(100px,1fr))}}@media(max-width:700px){.material-configuration>summary{align-items:flex-start;flex-direction:column}.material-template-form{grid-template-columns:1fr}.template-fields-heading,.template-attach-form{align-items:stretch;flex-direction:column}.template-field{grid-template-columns:repeat(2,minmax(0,1fr))}}

.materials-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}.materials-table.is-configuring th:last-child{min-width:178px}.material-config-cell{white-space:nowrap}.material-config-actions{display:flex;align-items:center;justify-content:flex-end;gap:.3rem}.material-config-actions form{margin:0}.material-config-icon{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #cbd5e1;border-radius:.4rem;background:#f8fafc;color:#17324d;text-decoration:none;font:700 1rem/1 system-ui;cursor:pointer}.material-config-icon:hover{background:#e0ecf7;border-color:#93a8bd}.material-config-icon:disabled{cursor:not-allowed;opacity:.35}.material-config-icon.danger{color:#b42318}.material-config-icon.danger:hover{background:#fee2e2;border-color:#fca5a5}@media(max-width:760px){.materials-heading-actions{align-items:stretch;flex-direction:column}.materials-heading-actions .button{width:100%;text-align:center}.materials-table.is-configuring th:last-child{min-width:168px}}

.material-template-form [hidden]{display:none!important}.current-material-file{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border:1px solid #bfdbfe;border-radius:.55rem;background:#eff6ff}.current-material-file>div{display:grid;gap:.08rem}.current-material-file span{font-weight:650;overflow-wrap:anywhere}.current-material-file .button{white-space:nowrap}@media(max-width:700px){.current-material-file{align-items:stretch;flex-direction:column}.current-material-file .button{text-align:center}}

.material-static-choice{align-self:center;padding:.4rem .55rem;border-radius:.35rem;background:#e2e8f0;color:#475569;font-size:.82rem;font-weight:650}
