.module-metrics{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:10px;margin-bottom:18px}.module-metrics button{background:#fff;border:1px solid #dfe5ec;border-radius:8px;padding:14px;text-align:left;box-shadow:0 2px 7px rgba(24,45,71,.04)}.module-metrics strong{display:block;color:#12345b;font-size:24px}.module-metrics span{color:#6e7f91;font-size:11px;font-weight:700}.filter-bar{display:grid;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(130px,1fr)) auto;gap:10px;padding:15px;border-bottom:1px solid #e7ebf0}.filter-search{position:relative}.filter-search i{position:absolute;left:12px;top:10px;color:#8a99a8}.filter-search input{padding-left:34px}.app-table td small{display:block;color:#7a8998;margin-top:3px}.app-table .actions{white-space:nowrap;text-align:right}.pagination-bar{display:flex;align-items:center;justify-content:center;gap:14px;padding:14px;border-top:1px solid #e7ebf0}.module-drawer{position:fixed;z-index:1060;inset:0;background:rgba(8,24,42,.58);display:flex;align-items:flex-start;justify-content:flex-end;padding:20px;overflow:auto}.drawer-card{width:min(520px,100%);min-height:160px;background:#fff;border-radius:10px;padding:22px;box-shadow:0 18px 60px rgba(0,0,0,.25)}.drawer-card.wide{width:min(820px,100%)}.drawer-card.xwide{width:min(1060px,100%)}.drawer-heading{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #e4e9ef;margin:-4px -2px 20px;padding:0 2px 14px}.drawer-heading h3{margin:0;color:#15365b}.drawer-heading h3 small{display:block;margin-top:4px}.drawer-heading>button{border:0;background:transparent;color:#718092;font-size:28px;line-height:1}.drawer-card label{display:block;color:#394c61;font-size:12px;font-weight:700;margin-bottom:14px}.drawer-card label .form-control{margin-top:5px;font-weight:400}.drawer-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;border-top:1px solid #e4e9ef;margin-top:16px;padding-top:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.five{grid-template-columns:repeat(5,minmax(130px,1fr))}.field-error{color:#bd2634}.stepper{display:flex;gap:6px;margin-top:10px}.stepper span{background:#e8edf3;color:#6d7c8c;border-radius:15px;padding:5px 10px;font-size:11px}.stepper span.active{background:#2068b4;color:#fff}.assignment-context{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:#edf5fd;border-radius:7px;padding:13px 15px;margin-bottom:14px}.assignment-context span{border-left:1px solid #c7d9eb;padding-left:12px}.expected-set{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.expected-set span{background:#f0f2f5;border-radius:14px;padding:5px 9px;font-size:12px}.inventory-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-height:430px;overflow:auto;padding:2px}.inventory-picker button{background:#fff;border:1px solid #dbe2e9;border-radius:7px;padding:11px;text-align:left;position:relative}.inventory-picker button.selected{border-color:#1d73c9;background:#eef7ff;box-shadow:inset 0 0 0 1px #1d73c9}.inventory-picker button i{position:absolute;right:10px;top:10px;color:#1d73c9}.inventory-picker button strong,.inventory-picker button span,.inventory-picker button small{display:block}.inventory-picker button small{color:#778797}.inventory-picker button em{display:inline-block;background:#dff1e5;color:#267344;border-radius:10px;padding:2px 6px;margin-left:6px;font-style:normal}.review-card{background:#f7f9fb;border:1px solid #e1e6ec;border-radius:7px;padding:14px;margin-bottom:15px}.review-card h4{margin-top:0}.review-card div{padding:4px}.module-tabs{margin-bottom:15px}.tab-panel{border-top-left-radius:0}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.template-card{border:1px solid #dfe5eb;padding:17px;text-align:left;position:relative}.template-card strong,.template-card small{display:block}.template-card p{margin:12px 0 0;color:#657586}.status-dot{position:absolute;right:14px;top:14px;width:9px;height:9px;border-radius:50%;background:#2f9d5d}.status-dot.off{background:#aeb7c1}.code-field{font-family:Menlo,Consolas,monospace;font-size:12px}.wrap-cell{max-width:330px;white-space:normal;word-break:break-word}.report-controls{padding:16px}.report-controls button{margin-top:5px}.report-output .panel-heading{display:flex;justify-content:space-between}.report-output .panel-heading h3{margin-bottom:3px}.report-output .panel-heading p{margin:0}.app-table.compact{font-size:12px}.lookup-toolbar{display:flex;gap:10px;margin-bottom:12px}.lookup-toolbar select{max-width:260px}.check-label{display:flex!important;align-items:center;gap:8px;padding-top:10px}.check-label input{margin:0!important}.text-success{color:#28975a}@media(max-width:1100px){.module-metrics{grid-template-columns:repeat(4,1fr)}.inventory-picker{grid-template-columns:repeat(2,1fr)}.form-grid.five{grid-template-columns:repeat(3,1fr)}}@media(max-width:767px){.module-metrics{grid-template-columns:repeat(2,1fr)}.filter-bar,.form-grid,.form-grid.three,.form-grid.five{grid-template-columns:1fr}.inventory-picker,.template-grid{grid-template-columns:1fr}.module-drawer{padding:8px}.drawer-card,.drawer-card.wide,.drawer-card.xwide{width:100%}.assignment-context span{border:0;padding-left:0}.stepper{flex-direction:column}.lookup-toolbar{flex-direction:column}}@media print{.sidebar,.topbar,.page-heading .quick-actions,.report-controls,.module-tabs{display:none!important}.main-content{margin:0!important}.page-content{padding:0!important}.report-output{border:0;box-shadow:none}.app-table{font-size:10px}}
.branding-upload{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.branding-preview{width:180px;min-height:90px;border:1px dashed #cbd5e1;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:12px;color:#64748b;background:#f8fafc}.branding-preview img{max-width:100%;max-height:100px;object-fit:contain}.branding-panel{border-bottom:1px solid #e2e8f0}
.simple-assignment-card{max-width:980px}.simple-assignment-student{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,1fr);gap:18px;align-items:end}.simple-student-summary{display:flex;flex-direction:column;padding:10px 14px;border:1px solid #dbe4f0;border-radius:7px;background:#f8fafc}.simple-student-summary span,.simple-pending-row span,.simple-pending-row small{display:block;color:#64748b}.simple-item-picker{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin-top:18px}.simple-item-picker>div{display:grid;grid-template-columns:2fr 1fr;gap:12px}.simple-team-lock{display:flex;gap:8px;align-items:center;margin-top:18px}.simple-team-lock span{color:#526273}.simple-pending{margin-top:24px;border-top:1px solid #e2e8f0;padding-top:18px}.simple-pending-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #edf2f7}.simple-pending-row>div{min-width:0}.simple-pending-row strong{color:#172033}@media(max-width:767px){.simple-assignment-student,.simple-item-picker,.simple-item-picker>div{grid-template-columns:1fr}.simple-item-picker .btn{width:100%}.simple-team-lock{display:block}.simple-pending-row{align-items:flex-start}}
.report-label-heading{grid-template-columns:minmax(240px,420px)}.report-label-filters{display:grid;grid-template-columns:minmax(230px,1fr) minmax(300px,2fr);gap:14px;margin:0 0 15px}.report-label-filters fieldset{min-width:0;border:1px solid #dfe5ec;border-radius:7px;padding:13px 15px}.report-label-filters legend{width:auto;margin:0;padding:0 6px;color:#15365b;font-size:14px;font-weight:700}.report-label-filters p{color:#687887;font-size:12px}.report-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.report-check-grid label,.report-team-checks label{display:flex;align-items:flex-start;gap:7px;margin:0;font-weight:400}.report-check-grid input,.report-team-checks input{margin-top:2px}.report-team-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;max-height:230px;overflow:auto}.report-team-checks label{display:grid;grid-template-columns:auto 1fr}.report-team-checks label>strong,.report-team-checks label>small{display:block}.report-team-checks label>small{grid-column:2;color:#7a8998}@media(max-width:767px){.report-label-filters,.report-team-checks{grid-template-columns:1fr}}
