/* November teacher/student quality-of-life controls */
.q3-fullscreen{display:inline-flex;align-items:center;justify-content:center;flex:none;width:35px;height:35px;border:1px solid #d5e5de;border-radius:10px;background:#fff;color:#25574d;font-size:19px;font-weight:850;cursor:pointer;box-shadow:0 1px 5px #1d463512}
.q3-fullscreen:hover,.q3-side-toggle:hover{background:#e8f5ee;border-color:#a6d1bc}
.q3-fullscreen:focus-visible,.q3-side-toggle:focus-visible,.q3-nav-dashboard:focus-visible{outline:3px solid #71c4a4;outline-offset:2px}
.q3-student-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.lesson-topline .q3-fullscreen{width:34px;height:34px;border-radius:9px;font-size:18px}
.teacher-area{position:relative}
.q3-teacher-action{position:absolute;top:15px;right:17px;z-index:4}
.teacher-mobilebar .q3-fullscreen{margin-left:auto}
@media(min-width:901px){.teacher-area:has(.q3-teacher-action) main .topbar{padding-right:55px}.teacher-area:has(.q3-teacher-action) main .head{padding-right:55px}}
.q3-side-toggle{position:absolute;right:11px;top:15px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;width:30px;height:30px;border:1px solid #d5e5de;border-radius:9px;background:#fff;color:#315d57;font-size:17px;z-index:2}
.teacher-side-header{position:relative;padding-right:49px!important}
.q3-nav-dashboard{display:flex;align-items:center;gap:10px;min-height:40px;padding:10px 13px;margin:0 0 7px;border-radius:10px;color:#47626a;text-decoration:none;font-weight:850;font-size:.88rem}
.q3-nav-dashboard:hover{background:#edf8f2;color:#146951}
.q3-nav-dashboard[aria-current=page]{background:#dff2e9;color:#116b50}
.q3-nav-dashboard .q3-icon{width:24px;display:flex;align-items:center;justify-content:center;font-size:20px}
@media(min-width:901px){
 html.q3-side-collapsed .teacher-sidebar{width:70px!important;transition:width .17s ease}
 html.q3-side-collapsed .teacher-area{margin-left:70px!important;transition:margin-left .17s ease}
 html.q3-side-collapsed .teacher-side-header{padding:11px!important;min-height:65px}
 html.q3-side-collapsed .teacher-side-header strong,html.q3-side-collapsed .teacher-side-header small{display:none!important}
 html.q3-side-collapsed .teacher-mark{width:29px;height:29px;margin:2px 0 0 4px!important}
 html.q3-side-collapsed .q3-side-toggle{top:17px;right:5px;width:19px;height:25px;border:0;padding:0;background:transparent;font-size:13px}
 html.q3-side-collapsed .teacher-side-nav{padding:10px 8px!important}
 html.q3-side-collapsed .teacher-menu{overflow:visible;border:0;background:transparent}
 html.q3-side-collapsed .teacher-menu summary{padding:10px!important;min-height:43px;justify-content:center}
 html.q3-side-collapsed .teacher-menu summary>*:not(.teacher-menu-icon){display:none!important}
 html.q3-side-collapsed .teacher-menu summary .teacher-menu-icon{width:auto;margin:0;font-size:21px}
 html.q3-side-collapsed .teacher-menu-items{display:none!important}
 html.q3-side-collapsed .q3-nav-dashboard{padding:9px 0;justify-content:center;font-size:0}
 html.q3-side-collapsed .q3-nav-dashboard .q3-icon{font-size:21px}
 html.q3-side-collapsed .teacher-side-bottom{padding:11px 6px!important}
 html.q3-side-collapsed .teacher-account,html.q3-side-collapsed .teacher-side-logout .label{display:none!important}
 html.q3-side-collapsed .teacher-side-logout{font-size:0;min-height:39px}
 html.q3-side-collapsed .teacher-side-logout:before{content:'⇥';font-size:21px}
}
@media(max-width:900px){.q3-side-toggle{display:none}.q3-teacher-action{display:none}.teacher-mobilebar .q3-fullscreen{display:inline-flex}}
.q3-content-root{color:#173d43;padding-top:5px}
.q3-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
.q3-head h1{font-size:clamp(1.6rem,3vw,2.15rem);line-height:1.2;margin:0 0 4px}
.q3-sub{font-size:.87rem;color:#69807e;line-height:1.45;margin:0}
.q3-eyebrow{color:#24725a;font-weight:850;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;margin-bottom:6px}
.q3-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:15px 0}
.q3-stat{border:1px solid #e2eae7;border-radius:14px;background:#fff;padding:18px 17px;min-width:0;box-shadow:0 2px 10px #1b42400a}
.q3-stat strong{font-size:clamp(1.45rem,2.6vw,2rem);display:block;font-weight:900;color:#1a5d4d;line-height:1.15}
.q3-stat span{display:block;color:#607a75;font-size:.82rem;font-weight:700;margin-top:7px}
.q3-section{border:1px solid #e0ebe6;border-radius:15px;background:white;padding:19px;margin:14px 0}
.q3-section h2{font-size:1.08rem;margin:0 0 12px;color:#214c44}
.q3-pill{font-size:.7rem;font-weight:850;padding:4px 8px;border:1px solid #d3e7de;border-radius:999px;background:#f0f9f4;color:#1d7657}
.q3-grade-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.q3-grade-card{padding:16px;border:1px solid #e0ebe6;border-radius:13px;background:#fbfdfc}
.q3-grade-card h3{font-size:1rem;margin:0 0 10px;color:#224c43}
.q3-grade-card .q3-mini{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:.83rem;color:#57756d}
.q3-grade-card .q3-mini strong{color:#214e44}
.q3-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.q3-link{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f5fbf7;color:#22684e;border:1px solid #dcece3;border-radius:11px;padding:12px 14px;font-size:.84rem;font-weight:800;text-decoration:none}
.q3-link:hover{background:#e6f6ec;border-color:#a7d0b9}
.q3-link small{display:block;color:#739185;font-size:.7rem;font-weight:650;margin-top:3px}
.q3-link .q3-arrow{font-size:1.2rem;flex:none}
.q3-toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:13px}
.q3-filter{display:flex;gap:4px;padding:4px;background:#edf5f1;border:1px solid #d9e8e0;border-radius:10px}
.q3-filter button{background:transparent;border:0;padding:8px 12px;color:#52756a;font-weight:850;border-radius:7px;cursor:pointer}
.q3-filter button[aria-pressed=true]{background:#fff;box-shadow:0 1px 3px #234b4821;color:#176e52}
.q3-unit-table{width:100%;border-collapse:collapse;font-size:.85rem}
.q3-unit-table th{text-align:left;background:#f5f8f6;color:#547168;font-size:.75rem;font-weight:850;padding:12px}
.q3-unit-table td{padding:12px;border-bottom:1px solid #e7efeb;vertical-align:middle}
.q3-unit-table tr:last-child td{border-bottom:0}
.q3-unit-table td strong{color:#234c43}
.q3-unit-table small{display:block;color:#718b82;margin-top:4px}
.q3-unit-table .q3-bar{display:block;width:100%;height:7px;border-radius:999px;background:#e4eee9;margin-top:6px;overflow:hidden}
.q3-unit-table .q3-bar i{display:block;background:#32a178;height:100%;border-radius:inherit}
.q3-table-scroll{overflow-x:auto}
.q3-note{font-size:.75rem;color:#718681;line-height:1.55;margin-top:10px}
.q3-state{font-size:.84rem;padding:14px;border:1px dashed #c8ded1;border-radius:12px;color:#61786e}
.q3-action-button{border:1px solid #cbded5;border-radius:9px;padding:8px 13px;background:white;color:#256451;cursor:pointer;font-weight:850;font-size:.8rem}
.q3-action-button:hover{background:#eaf6ef}
@media(max-width:1050px){.q3-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.q3-stats{gap:9px}.q3-stat{padding:13px}.q3-grade-cards,.q3-links{grid-template-columns:1fr}.q3-section{padding:13px}.q3-head{padding-right:43px}.q3-unit-table{min-width:570px}}
html.q3-class-mode .admin-main>.card,html.q3-class-mode #summary-stats,html.q3-class-mode #results,html.q3-class-mode .admin-main>.topbar>.refresh{display:none!important}

/* Compact teacher and guest navigation: every destination stays accessible. */
.q4-compact-nav{display:none}
.q4-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:1}
.q4-icon svg{display:block;width:20px;height:20px}
@media(min-width:901px){
 html.q3-side-collapsed .teacher-sidebar .teacher-menu,html.q3-side-collapsed .teacher-side-nav > .q3-nav-dashboard{display:none!important}
 html.q3-side-collapsed .teacher-sidebar .q4-compact-nav{display:flex!important;flex-direction:column;gap:6px;padding:3px 0 10px}
 html.q3-side-collapsed .q4-compact-nav>a,html.q3-side-collapsed .q4-compact-link{display:flex;align-items:center;justify-content:center;min-height:36px;width:100%;border-radius:10px;color:#59766f;text-decoration:none;outline-offset:2px}
 html.q3-side-collapsed .q4-compact-nav>a:hover,html.q3-side-collapsed .q4-compact-link:hover,html.q3-side-collapsed .q4-compact-nav>a:focus-visible,html.q3-side-collapsed .q4-compact-link:focus-visible{background:#e8f4ec;color:#135e4b}
 html.q3-side-collapsed .q4-compact-nav>a.active,html.q3-side-collapsed .q4-compact-link.active{background:#dff2e9;color:#146951}
 html.q3-side-collapsed .q4-compact-group{display:flex;flex-direction:column;gap:1px;padding:6px 2px 0;border-top:1px solid #dfeae5}
 html.q3-side-collapsed .q4-grade-icon{min-width:27px;min-height:26px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:#edf5f3;color:#256b58;font-size:11px;font-weight:900}
 html.q3-side-collapsed .q4-compact-link:hover .q4-grade-icon,html.q3-side-collapsed .q4-compact-link.active .q4-grade-icon{background:#d0e8da}
 html.q3-side-collapsed .teacher-side-nav{overflow-y:auto!important;scrollbar-width:thin}
}
/* Fullscreen affordance within lesson, homework, review and preview content. */
.q4-fullscreen-header{position:relative!important;padding-right:70px!important}
.q4-content-fullscreen{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:12px;right:13px;width:36px;height:36px;border:1px solid #d5e2e6;border-radius:11px;background:#fff;color:#235c76;box-shadow:0 2px 10px #102c3a20;cursor:pointer;z-index:100;font:inherit}
.q4-content-fullscreen:hover{background:#eef8ff;border-color:#a4c3db}
.q4-content-fullscreen:focus-visible{outline:3px solid #4e9bb9;outline-offset:3px}
.q4-content-fullscreen .q4-icon svg{width:19px;height:19px}
.q4-content-fullscreen.q4-floating-fullscreen{position:fixed;top:12px;right:12px}
.q4-content-fullscreen.q4-fullscreen-error{background:#fff1d9;color:#926119}
@media(max-width:560px){.q4-fullscreen-header{padding-right:58px!important}.q4-content-fullscreen{top:10px;right:10px;width:34px;height:34px}}
