.access-page{background:#f2f6fa;color:#233040}.access-page main{padding-top:50px}.access-eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#6385a8}.login-panel{max-width:470px;margin:8vh auto;padding:32px!important;background:#fff;border:1px solid #d8e0e9;border-radius:20px}.login-panel h1{font-size:34px;margin:18px 0}.login-panel p{line-height:1.6;color:#62778f}.login-panel form{display:grid;gap:12px;margin-top:26px}.login-panel label{font-size:14px;font-weight:700}.login-panel input:not([type=checkbox]){width:100%;border:1px solid #b3c7df;background:#f9fbfe;border-radius:10px;padding:14px;font-size:18px}.show-code{display:flex;gap:8px;align-items:center;font-weight:400!important}.login-panel .access-note{font-size:12px;margin-top:26px}.teacher-link{display:inline-block;margin-top:10px;color:#40638d;font-size:13px}#loginMessage{color:#a33434}.account-bar{display:flex;justify-content:flex-end;align-items:center;gap:15px;margin:0 0 12px;font-size:13px}.account-bar a{color:#40638d}.account-bar button{font-size:13px}.admin-main{max-width:1120px}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:28px}.admin-header h1{font-size:34px;margin:8px 0}.admin-header a{color:#40638d}.admin-intro{color:#62778f;line-height:1.7;margin-bottom:24px}.admin-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:18px;background:#fff;border:1px solid #d8e0e9;border-radius:12px}.admin-toolbar input{width:70px;padding:9px;border:1px solid #b3c7df;border-radius:7px}.admin-toolbar label{font-size:14px}.admin-summary{font-size:14px;color:#62778f;margin:20px 0}.code-card{background:#fff;border:1px solid #d8e0e9;border-radius:12px;margin:12px 0;padding:16px 20px}.code-card>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;flex-wrap:wrap}.code-title{font-weight:800;font-size:19px}.code-status{padding:4px 10px;border-radius:20px;font-size:12px;background:#e7f4e9;color:#226b40}.code-status.blocked{background:#fce8e8;color:#a33434}.code-meta{font-size:12px;color:#62778f;margin:10px 0 18px}.secret-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.secret-row input{flex:1;min-width:200px;font-family:monospace;border:1px solid #d8e0e9;padding:10px;border-radius:8px}.code-label{display:grid;gap:6px;margin:18px 0;font-size:13px}.code-label input{border:1px solid #d8e0e9;padding:10px;border-radius:8px;font-size:16px}.permissions{display:grid;grid-template-columns:1fr 1fr;gap:20px}.permissions fieldset{border:1px solid #d8e0e9;border-radius:10px;padding:12px}.permissions legend{font-size:14px;font-weight:800}.permissions .section-control{display:flex;align-items:center;gap:8px;margin:2px 0 12px;font-size:14px}.permission-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.permission-levels label{font-size:13px;display:flex;align-items:center;gap:5px}.code-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.danger{color:#a33434;border-color:#e4a5a5}.code-notice{font-size:13px;color:#226b40;margin-bottom:0}.admin-error{color:#a33434}.empty-access{max-width:600px;margin:60px auto;text-align:center;padding:30px;background:#fff;border-radius:15px}button:disabled{opacity:.5}@media(max-width:600px){.permissions{grid-template-columns:1fr}.login-panel{margin:30px 15px}.admin-main{padding:25px 15px!important}.code-card{padding:15px}.admin-header h1{font-size:28px}}

.new-code-names{display:flex;flex-direction:column;gap:6px;flex:1 1 280px}.new-code-names textarea{font:inherit;padding:10px 12px;border:1px solid #cbd9e8;border-radius:10px;resize:vertical;min-width:220px;background:white;color:#173757}.new-code-names small{font-weight:400;max-width:440px;color:#63788d;line-height:1.5}.report-order{white-space:nowrap}.report-order button{padding:7px 10px;margin-right:4px}.report-order button:disabled{opacity:.35;cursor:default}

.permission-groups{display:grid;gap:8px;margin:12px 0}.permission-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:#f2f6fb;border-radius:10px;padding:10px}.permission-group strong{font-size:13px}.permission-group .quiet{font-size:12px;padding:6px 10px}.group-status{font-size:11px;color:#60758b;margin-right:auto}.permission-status{font-size:12px;color:#60758b}.individual-levels{margin-top:12px}.individual-levels summary{font-size:13px;font-weight:700;cursor:pointer;margin-bottom:10px}.french-permissions fieldset{margin-top:12px}.section-control input{width:18px;height:18px;accent-color:#246ac2}

.report-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin:20px 0;flex-wrap:wrap}.drag-handle{cursor:grab;background:#e7eff8;border-radius:7px;color:#476580;font-size:24px;padding:3px 9px;touch-action:none}.drag-handle:active{cursor:grabbing}.report-order{white-space:nowrap}.report-order span{margin-left:8px}.report-table tr.dragging{opacity:.5}.report-table tr.drop-target{outline:2px solid #679bce;background:#edf5fc}.report-pagination button:disabled{opacity:.4}

.student-level-detail{min-width:180px}.student-level-detail summary{cursor:pointer;color:#2866a2;font-weight:800}.student-level-detail>div{min-width:260px;padding:12px;margin-top:10px;background:#edf4fc;border-radius:10px}.student-level-detail p{font-size:12px;margin:7px 0}
.admin-header-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.admin-header .content-editor-link{padding:11px 16px;background:#e0ecfa;border:1px solid #bfd3ed;border-radius:10px;color:#2c66a3}

.account-panel h2{margin:12px 0 2px;font-size:22px}.account-panel small{font-size:12px;color:#62778f;line-height:1.5}.account-panel input[readonly]{background:#e9edf2!important;color:#6b7c8d;cursor:default}.account-language{margin-top:25px;display:flex;justify-content:flex-end}.login-panel .ui-language-options{right:0}.new-user-field{display:grid;gap:6px;flex:1 1 200px}.admin-toolbar .new-user-field input{width:100%;font-size:15px}.previous-users{background:#fff;border:1px solid #d8e0e9;border-radius:14px;padding:18px;margin-top:25px}.previous-users>summary{cursor:pointer;color:#40638d;font-weight:800}.student-identity{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:180px}.student-settings-link{color:#2866a2;font-weight:800;text-decoration:none}.student-settings-link:hover{text-decoration:underline}.student-identity>small{flex-basis:100%;color:#6e8093;font-size:11px}.student-identity .student-level-detail{min-width:0;position:relative}.student-level-detail>summary{list-style:none;border:1px solid #c8d8e8;border-radius:6px;padding:0 8px;font-size:21px;line-height:26px}.student-level-detail>summary::-webkit-details-marker{display:none}.student-level-detail[open]>summary{background:#e1edfa}.student-identity .student-level-detail>div{position:relative;min-width:230px;margin-top:8px}.student-level-detail[open]{flex-basis:100%}.admin-main>h1{margin-top:12px}.account-panel #accountMessage{font-size:14px;color:#356b9e}.code-card input:focus{outline:2px solid #78a6d3;outline-offset:1px}

.coverage-toggle{border:1px solid #c8d8e8;border-radius:6px;padding:0 8px;font-size:21px;line-height:26px;color:#2866a2;background:#eef5fc}.coverage-toggle[aria-expanded=true]{background:#dceafb}.student-coverage{flex-basis:100%;min-width:230px;padding:12px;background:#edf4fc;border-radius:10px}.student-coverage p{font-size:12px;margin:7px 0}.student-coverage[hidden]{display:none}

.simple-user-create>label{display:grid;gap:9px;flex:1 1 100%;font-weight:700}.simple-user-create textarea{width:100%;font:inherit;font-size:17px;border:1px solid #b3c7df;border-radius:9px;padding:12px;resize:vertical}.simple-user-create small{font-weight:400;font-size:12px;color:#62778f}.created-users{background:white;border:1px solid #c4dfd1;border-radius:13px;margin-top:18px;padding:18px}.created-users h2{font-size:20px;margin:0 0 10px}.generated-password{font-family:ui-monospace,monospace;font-size:18px;letter-spacing:2px;color:#245d46}.user-export{margin-top:15px}

/* Compact account editor and progressively disclosed course permissions. */
.user-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start;margin-top:22px}.user-editor-layout h2{font-size:16px;color:#344d69;margin:0 0 16px}.user-account-fields{min-width:0}.user-account-fields .code-label:first-of-type{margin-top:0}.user-account-fields input{width:100%;min-width:0;box-sizing:border-box}.user-account-fields .secret-row{gap:6px}.user-account-fields .secret-row input{flex:1 1 100%}.user-account-fields .quiet{font-size:12px;padding:7px 11px}.user-account-fields .code-label>button{justify-self:start}.user-editor-layout .permissions{display:block;min-width:0;padding-left:26px;border-left:1px solid #e6edf4}.permission-language{border:1px solid #d8e3ed;border-radius:12px;margin:10px 0;background:#f8fbfe;overflow:hidden}.permission-language>summary,.permission-section>summary{display:flex;align-items:center;gap:10px;padding:14px;cursor:pointer;list-style:none}.permission-language>summary::-webkit-details-marker,.permission-section>summary::-webkit-details-marker{display:none}.permission-language>summary:after,.permission-section>summary:after{content:'›';font-size:22px;line-height:18px;color:#7190af}.permission-language[open]>summary:after,.permission-section[open]>summary:after{rotate:90deg}.permission-language summary input{width:18px;height:18px;margin:0;accent-color:#46b77b;cursor:pointer;flex-shrink:0}.permission-title{font-size:14px;font-weight:800}.permission-language .permission-status{margin-left:auto;font-size:11px;white-space:nowrap}.permission-section{margin:0 10px 10px;border:1px solid #dfe7ee;border-radius:9px;background:white}.permission-section>summary{padding:11px}.permission-section .permission-title{font-size:13px}.permission-range{display:flex;align-items:flex-end;gap:7px;flex-wrap:wrap;padding:1px 12px 8px}.permission-range label{display:grid;gap:5px;font-size:11px;color:#62778f;flex:1 1 75px}.permission-range input{width:100%;min-width:0;max-width:110px;box-sizing:border-box;border:1px solid #c9d9e8;border-radius:7px;padding:8px;font:inherit;font-size:14px}.permission-range button{font-size:12px;padding:9px 11px}.allowed-levels,.range-status{font-size:11px;color:#62778f;padding:0 12px;margin:3px 0 11px;line-height:1.5}.range-status:empty{display:none}.code-actions{padding-top:18px;border-top:1px solid #e6edf4}@media(max-width:760px){.user-editor-layout{grid-template-columns:1fr;gap:24px}.user-editor-layout .permissions{padding-left:0;border-left:0;border-top:1px solid #e6edf4;padding-top:22px}}

.report-column-toggle{border:0;background:none;padding:8px 4px;font:inherit;color:inherit;text-align:left;cursor:pointer;line-height:1.25}.report-column-toggle:hover{color:#68409b;background:#eee6f7;border-radius:5px}.report-table th{vertical-align:bottom;white-space:normal;min-width:90px}.report-table .collapsed-report-column{min-width:30px;width:30px;max-width:30px;padding:4px;text-align:center;background:#f1edf6}.collapsed-report-column .report-column-toggle{text-align:center;width:24px;font-weight:900;color:#795b98}.report-definitions{margin:12px 0;color:#68778e}.report-definitions summary{cursor:pointer;font-size:13px}.report-definitions p{font-size:13px;line-height:1.5}

.report-table .collapsed-report-column{position:sticky;z-index:2;box-shadow:-1px 0 0 #ddd4e7}.report-table th.collapsed-report-column{z-index:3;background:#eae2f3}

.split-account{display:inline-flex!important;flex-direction:row;align-items:stretch;border:1px solid #b5c9df!important;border-radius:10px;padding:0!important;overflow:hidden;text-decoration:none}.split-account>span{padding:8px 18px}.split-account>small{display:block;border-left:1px solid #b5c9df;background:#edf3fb;padding:8px 14px;font-size:11px;align-content:center;text-align:center;box-sizing:border-box}.locked-level,.locked-course{opacity:.48;filter:grayscale(1);cursor:default}.locked-level{background:#edf0f3!important;pointer-events:none}.extra-access{outline:2px solid #bf9ee9;background:#f7f2ff!important}.extra-access-label{color:#7953a5;font-size:12px;font-weight:700}.password-warning{padding:12px;background:#fff5de;border-radius:10px;font-size:14px;line-height:1.5}
.group-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,2fr);gap:24px;align-items:start}.group-layout>.code-card{padding:24px}.group-tree-button,.group-student{display:block;margin:8px 0;padding:10px;text-align:left}.membership-fields{display:grid;gap:12px;margin:20px 0}.membership-fields label{display:grid;gap:6px;font-size:13px}.membership-fields select,.code-label select{padding:10px;border:1px solid #b9ccdd;border-radius:8px;background:white;max-width:100%}#groupPermissions details{padding:14px;margin:10px 0;background:#f1f6fc;border-radius:10px}#groupPermissions summary{cursor:pointer;font-weight:700}#groupPermissions input[type=checkbox]{margin-right:8px}#groupPermissions p{font-size:12px;overflow-wrap:anywhere}.group-filter{display:flex;gap:10px;align-items:center;margin:20px 0;flex-wrap:wrap}.group-filter select{padding:10px;border:1px solid #c4d3e3;border-radius:10px;max-width:100%}@media(max-width:700px){.group-layout{grid-template-columns:1fr}}

.split-account[hidden]{display:none!important}.teacher-dashboard-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;box-sizing:border-box;padding:9px 14px!important;border:1px solid #afc5dd!important;border-radius:10px;background:#edf3fb;text-decoration:none!important;color:#365d84;font-size:13px;font-weight:700;white-space:nowrap}.teacher-dashboard-button[hidden]{display:none!important}

#accountFavorites{background:#fff7cf;border:2px solid #ffe47a;color:#514f45}

.account-top-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.account-top-actions a{margin:0;min-height:40px;display:inline-flex;align-items:center;justify-content:center}.account-top-actions #accountFavorites{margin-left:auto;padding:9px 14px;border-radius:9px;text-decoration:none}

.account-learned-button{display:flex;justify-content:center;margin-top:24px;padding:12px 16px;border:2px solid #46D180;border-radius:10px;background:#e7f4e9;color:#297748;text-decoration:none;font-weight:700}

.group-notice:not(:empty){padding:14px 18px;background:#e7f4e9;border:1px solid #46D180;border-radius:10px;color:#287346;font-weight:700}.group-editor-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.group-editor-heading h2{margin:0 0 12px}.group-editor-heading>div{display:flex;gap:8px}.group-access-panel{margin:16px 0 22px}.group-roster-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e1e8ef}.group-roster-row small{display:block;color:#7c8c9c;font-size:12px;margin-top:3px}.group-help{font-size:12px;color:#6c8093}.code-label textarea{font:inherit;padding:11px;border:1px solid #bdd0e3;border-radius:9px;resize:vertical}#groupCreatedUsers{white-space:pre-wrap;background:#f3f7fc;padding:14px;border-radius:9px}.group-tree-button[aria-pressed=true]{background:#e7f4e9;border-color:#46D180}.group-tree-button{width:100%;text-align:left;margin-bottom:7px}.group-layout .code-card{min-width:0}#reportResults[hidden]{display:none!important}

.ungrouped-students{margin:20px 0;padding:14px;border:1px solid #c9d9e8;border-radius:10px}.ungrouped-students summary{cursor:pointer;font-weight:700}.ungrouped-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.ungrouped-list label{display:flex;align-items:center;gap:8px;overflow-wrap:anywhere}.ungrouped-list input{width:18px;height:18px;flex-shrink:0}#groupsLoading{color:#63788d}#groupForm[hidden]{display:none!important}@media(max-width:600px){.ungrouped-list{grid-template-columns:1fr}}

.users-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin:20px 0}.simple-user-card .user-editor-layout{grid-template-columns:1fr}.simple-user-card .user-account-fields{max-width:650px}.advanced-user-link{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid #afc5dd;border-radius:9px;background:#edf3fb;color:#365d84}.code-card.extra-access{border:3px solid #8254bb;outline:0}.code-actions{flex-wrap:wrap}

.user-archive-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:28px}.user-archive-links a{display:inline-flex;align-items:center;padding:11px 16px;background:#edf3fb;border:1px solid #afc5dd;border-radius:10px;color:#365d84;text-decoration:none;font-weight:700}

.profile-stats{display:grid;grid-template-columns:minmax(0,1fr) 135px;gap:12px;margin-top:24px;align-items:stretch}.profile-word-totals{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;background:white;border:1px solid #dce7f2;border-radius:13px;align-items:center}.profile-word-totals a{color:inherit;text-decoration:none}.profile-word-totals>div{border-left:1px solid #e1eaf2;padding-left:12px}.profile-stats strong{display:block;font-size:24px;font-weight:900}.profile-stats span{font-size:12px;color:#63788d}.profile-stats #profilePointsBox{height:96px;margin:0;padding:12px;background:#246ac2;color:white;border:1px solid #246ac2;border-radius:13px;font:inherit;cursor:pointer}.profile-stats #profilePointsBox strong{font-size:29px}.profile-stats #profilePointsBox span{color:white}.profile-stats p{grid-column:1/-1;margin:0}.profile-stats p:empty{display:none}@media(max-width:480px){.profile-word-totals{grid-template-columns:1fr;padding:12px;gap:8px}.profile-word-totals>div{border-left:0;border-top:1px solid #e1eaf2;padding:8px 0 0}}

.profile-word-totals{background:transparent;border:0;padding:0;gap:12px;align-items:stretch}.profile-word-totals>a,.profile-word-totals>div{display:flex;flex-direction:column;justify-content:center;padding:14px;border:2px solid #6b9fd4;border-radius:13px;background:white}.profile-word-totals>div{border-left:2px solid #6b9fd4}@media(max-width:480px){.profile-word-totals{padding:0}.profile-word-totals>div{border:2px solid #6b9fd4;padding:14px}}

.user-group-filters{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.user-group-filters[hidden]{display:none}.user-group-filters button{padding:9px 13px;border:1px solid #afc5dd;border-radius:10px;background:#edf3fb;color:#365d84;text-align:left;max-width:100%;overflow-wrap:anywhere}.user-group-filters button[aria-pressed=true]{background:#d5f3df;border:2px solid #46D180;color:#297748;font-weight:800}.user-group-filters button:focus-visible{outline:3px solid #46D180;outline-offset:3px}

.student-detail-status{padding:14px 2px;color:#63788d;font-size:14px}.student-detail-status button{margin-left:8px}

.report-sort{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;border:1px solid #afc4d8;border-radius:6px;background:#edf4fc;color:#365e83;font-size:18px;font-weight:900;padding:0;vertical-align:middle;margin-left:4px;cursor:pointer}.report-sort:hover{background:#dcebf7}.report-sort.is-active{background:#def3e5;border-color:#56ac77;color:#24673b}.report-sort:focus-visible{outline:2px solid #32915b;outline-offset:2px}.report-table th:has(.report-sort) .report-column-toggle{max-width:calc(100% - 34px);vertical-align:middle}
