/* First-login review, shared student documents and a stable online classroom layout. */
.student-import-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:16px 18px;margin:0 0 18px;border:1px solid #c7d7e3;border-radius:14px;background:#f3f7fa;color:#263e54}
.student-import-review strong,.student-import-review small{grid-column:1/-1}.student-import-review strong{font-size:15px}.student-import-review span{font-size:13px;font-weight:700;overflow-wrap:anywhere}.student-import-review small{font-size:12px;line-height:1.55;color:#527087}
.student-review-confirm{display:flex!important;align-items:flex-start;gap:10px;padding:14px 16px;border:1px solid #c7d7e3;border-radius:12px;background:#f3f7fa;margin:18px 0 8px;font-size:14px;font-weight:700;line-height:1.5}
.student-review-confirm input{flex:0 0 19px;width:19px;height:19px;margin:2px 0 0;accent-color:var(--bbs-blue)}
.student-own-profile{margin:18px 0;padding:24px;min-width:0}.student-own-profile form{display:grid;gap:18px}.student-own-profile .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.student-own-profile label{display:grid;gap:7px;min-width:0;color:var(--muted);font-size:12px;font-weight:700}.student-own-profile input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit}.student-own-profile input[readonly]{background:#f1f5f8;color:#637a8c}.student-own-profile form>button{justify-self:start}.student-document-panel{min-width:0;padding:24px}.student-document-panel .document-upload-grid{margin-top:18px}.student-document-panel .document-upload-card{background:#fff;min-width:0}.student-document-panel .document-upload-button{background:var(--bbs-blue-pale);color:#27445b;border-color:var(--bbs-blue)}
#onlineClass,#onlineClass .online-layout,#onlineClass .online-list-panel,#onlineClass .online-detail,#onlineClass .online-panels,#onlineClass .online-panels>.panel{min-width:0;max-width:100%}
#onlineClass .page-heading{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px 24px}
#onlineClass .page-heading>div:first-child{min-width:0;flex:1 1 350px}#onlineClass .heading-note{max-width:65ch}
#onlineClass .online-page-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px;max-width:100%;min-width:0}
#onlineClass .online-page-actions button{white-space:normal;text-align:center;min-height:44px}
#onlineClass .online-layout{display:grid;grid-template-columns:minmax(220px,275px) minmax(0,1fr);align-items:start;gap:18px}
#onlineClass .online-list-panel{position:sticky;top:18px;box-sizing:border-box}#onlineClass .online-class-list{min-width:0}
#onlineClass .online-hero{box-sizing:border-box;overflow:visible;padding:24px}#onlineClass .online-hero>div:first-child{min-width:0}
#onlineClass .online-hero-actions{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:17px}
#onlineClass .online-hero-actions>[data-online-join]{flex:0 1 auto;min-width:180px;max-width:100%;white-space:normal}
#onlineClass .online-more{min-width:0}#onlineClass .online-more-menu{max-width:min(270px,calc(100vw - 40px))}
#onlineClass .online-connection{box-sizing:border-box;padding:22px}#onlineClass .online-connection-form{display:grid;grid-template-columns:minmax(130px,165px) minmax(0,1fr);gap:12px;align-items:end}
#onlineClass .online-connection-form label,#onlineClass .online-connection-form input{min-width:0;max-width:100%;box-sizing:border-box}
#onlineClass .online-connection-form>button{grid-column:1/-1;justify-self:start;min-height:44px}
#onlineClass .online-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#onlineClass .online-panels>.panel{box-sizing:border-box;padding:21px;overflow:visible}#onlineClass .online-recordings{grid-column:1/-1}
#onlineClass .online-file-row{min-width:0;flex-wrap:wrap;overflow-wrap:anywhere}#onlineClass .online-file-row>div{min-width:0}#onlineClass .online-file-row>div:first-child{flex:1 1 140px}#onlineClass .online-file-row>div:last-child{display:flex;flex:0 1 auto;flex-wrap:wrap}
#onlineClass .online-invite-form{grid-template-columns:repeat(2,minmax(0,1fr))}#onlineClass .online-invite-form>*{min-width:0}
#onlineClass .table-wrap{max-width:100%;overflow:auto}
@media(max-width:1200px){#onlineClass .online-layout{grid-template-columns:minmax(0,1fr)}#onlineClass .online-list-panel{position:static;max-height:310px}#onlineClass .online-class-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))}}
@media(max-width:760px){.student-own-profile .form-grid,.student-import-review{grid-template-columns:minmax(0,1fr)}#onlineClass .online-panels,#onlineClass .online-invite-form,#onlineClass .online-connection-form{grid-template-columns:minmax(0,1fr)}#onlineClass .online-recordings,#onlineClass .online-connection-form>button{grid-column:auto}#onlineClass .online-list-panel{max-height:280px}#onlineClass .online-hero{padding:20px}#onlineClass .online-file-row>div:last-child{width:100%}#onlineClass .online-hero-actions>[data-online-join]{width:100%}#onlineClass .online-page-actions{width:100%}}
@media(max-width:440px){.student-own-profile,.student-document-panel{padding:16px}#onlineClass .online-page-actions button{flex:1 1 145px}#onlineClass .online-panels>.panel,#onlineClass .online-connection{padding:16px}#onlineClass .online-hero h2{font-size:20px}}

/* An instructor works from the full-width portal; quick links stay in the top bar. */
body.teacher-no-sidebar .app-shell{grid-template-columns:minmax(0,1fr)}
body.teacher-no-sidebar .sidebar,body.teacher-no-sidebar #mobileMenu{display:none!important}
body.teacher-no-sidebar .main{grid-column:1;width:100%}
.teacher-top-nav{display:flex;align-items:center;gap:5px;min-width:0;white-space:nowrap}
.teacher-top-nav[hidden],.teacher-top-nav button[hidden]{display:none!important}
.teacher-top-nav button{border:1px solid transparent;border-radius:10px;background:transparent;padding:9px 12px;color:#27445b;font-size:13px;font-weight:700}
.teacher-top-nav button.active{background:#e8eef5;border-color:#c6d5e5;color:#19365a}
.student-document-preview{display:flex;align-items:end;gap:16px;flex-wrap:wrap;padding:16px;border:1px solid #c6d5e5;border-radius:14px;background:#f4f8fc}
.student-document-preview[hidden]{display:none!important}
.student-document-preview label{display:grid;gap:6px;min-width:min(300px,100%);font-weight:700;font-size:13px;color:#27445b}
.student-document-preview select{width:100%;min-height:44px;padding:8px 11px;border:1px solid #b7cadc;border-radius:10px;background:#fff;color:#172b45}
.student-document-preview p{flex:1 1 230px;margin:0;color:#52677c;font-size:13px}
.student-document-panel>.document-upload-grid>.empty-editor-note{grid-column:1/-1}
@media(max-width:920px){body.teacher-no-sidebar .topbar{height:auto;min-height:70px;flex-wrap:wrap;padding-block:10px}body.teacher-no-sidebar .search-box{display:none}body.teacher-no-sidebar .teacher-top-nav{order:2;flex:1 1 100%}.teacher-top-nav button{font-size:12px;padding:8px}.student-document-preview label{min-width:100%}}
.admin-existing-hint{margin:14px 0;padding:12px 14px;border:1px solid #b7cadc;border-radius:11px;background:#f1f6fb;color:#284762;font-size:13px;line-height:1.5}
.admin-existing-hint[hidden],#studentDualRoleNote[hidden]{display:none!important}
.admin-student-link{margin:18px 0;padding:16px;border:1px solid #c6d5e5;border-radius:14px;background:#f4f8fc}
.admin-student-link label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#284762}
.admin-student-link select{width:100%;min-height:44px;min-width:0;padding:10px;border:1px solid #b7cadc;border-radius:10px;background:#fff;color:#172b45}
.admin-student-link p{margin:10px 0 0;font-size:12px;line-height:1.6;color:#52677c}
#adminOpenExisting[hidden]{display:none!important}

/* Actual uploads, separate from the administrator's received checkbox. */
.student-upload-notice{margin:0 0 22px;padding:22px 24px;border:1px solid #e3c7aa;border-left:4px solid #bb8758;border-radius:16px;background:#fffaf4;color:#4e453b}.student-upload-notice[hidden]{display:none!important}.student-upload-notice-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.student-upload-notice h3{margin:5px 0 7px;font-size:19px;line-height:1.35}.student-upload-notice p{font-size:13px;line-height:1.6;margin:6px 0;color:#7e7164}.student-upload-notice .eyebrow{font-size:10px;color:#96704e}.student-upload-missing-number{display:grid;place-items:center;flex:none;width:48px;height:48px;border:1px solid #e7d2bb;border-radius:14px;background:#fff;font-size:22px;color:#9d7048}.student-upload-missing-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.student-upload-missing-list button{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #e4d3bf;border-radius:9px;background:white;font:inherit;font-size:12px;line-height:1.5;color:#705a44;text-align:left;cursor:pointer}.student-upload-missing-list button:hover,.student-upload-missing-list button:focus-visible{border-color:#6e8ea8;background:#edf3f8;outline:2px solid #6e8ea840;outline-offset:2px}.student-upload-missing-list button span{color:#6e8ea8;font-size:16px}.student-upload-notice.complete{border-color:#cbdce9;border-left-color:#6e8ea8;background:#f0f5f9;color:#3f617c}.student-upload-notice.complete p{color:#667e91}.student-document-nav-count{margin-left:auto;min-width:23px;padding:3px 6px;border-radius:7px;background:#f4e4d1;color:#876141;text-align:center;font-size:11px;font-weight:800}.document-state{white-space:normal}.student-document-panel .document-upload-card.missing{border-left:3px solid #c29a72}
@media(max-width:600px){.student-upload-notice{padding:17px}.student-upload-notice h3{font-size:17px}.student-upload-missing-list{display:grid;grid-template-columns:1fr}.student-upload-missing-number{width:38px;height:38px;font-size:19px}.student-upload-notice-head{align-items:start}}

#onlineClass .online-connection-form{grid-template-columns:minmax(0,1fr) auto}#onlineClass .online-connection-form>button{grid-column:auto;white-space:nowrap}#onlineClass .online-connection-form input[type=url]{font-size:16px;min-height:46px}@media(max-width:760px){#onlineClass .online-connection-form{grid-template-columns:minmax(0,1fr)}#onlineClass .online-connection-form>button{width:100%}}
