.teacher-welcome,.teacher-create,.teacher-session{padding:26px}
.teacher-welcome h2{font-size:27px;line-height:1.4;margin-top:8px;letter-spacing:-.6px}
.teacher-welcome>p{font-size:16px;line-height:1.8;color:var(--muted);margin:14px 0 24px}
.teacher-access-form label,.teacher-code-setup label{display:block;font-size:14px;margin:16px 0 8px}
.teacher-access-form input,.teacher-code-setup input{width:100%;padding:12px 13px;background:#fffcff;border:1px solid #ccb5dd;color:var(--text);font-size:16px;border-radius:9px;min-width:0}
.teacher-access-row{display:flex;align-items:center;gap:12px}.teacher-access-row input{flex:1}.teacher-access-row button{flex-shrink:0;font-size:14px}
.teacher-code-setup{border-top:1px solid var(--line);margin-top:25px;padding-top:19px;font-size:16px;line-height:1.7}.teacher-code-setup summary{cursor:pointer;color:#754394}.teacher-code-setup .secondary-button{margin-top:15px;font-size:14px}
.teacher-private-code{padding:24px;margin-bottom:22px;background:linear-gradient(120deg,#f1e4fa,#fae9f2)}.teacher-private-code h3{font-size:20px;margin-top:9px}.teacher-private-code p{font-size:16px;line-height:1.8;color:var(--muted);margin:14px 0}
.teacher-private-code-row{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:17px}.teacher-private-code code{font-size:16px;line-height:1.8;overflow-wrap:anywhere;user-select:all;color:#65347e}.teacher-private-code button{font-size:14px}
.teacher-account{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;color:var(--muted);margin-bottom:19px;overflow-wrap:anywhere}
.teacher-account button{flex-shrink:0;font-size:14px}
.teacher-create label,.teacher-message-form label,.classroom-dialog label{display:block;font-size:14px;margin:15px 0 8px}
.teacher-create input,.teacher-message-form input,.classroom-dialog input{width:100%;padding:12px 13px;background:#fffcff;border:1px solid #ccb5dd;color:var(--text);font-size:16px;border-radius:9px;min-width:0}
.teacher-duration{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:21px 0;color:var(--muted);font-size:14px}
.teacher-duration label{margin:0}.teacher-duration input{width:85px}
.teacher-recent{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:23px 0;font-size:14px;color:var(--muted)}
.teacher-recent select{padding:10px;background:#fff9;border:1px solid #ccb5dd;border-radius:9px;min-width:0;max-width:100%;color:var(--text);flex:1}
.teacher-code-box{display:flex;align-items:center;justify-content:space-between;gap:15px;background:linear-gradient(120deg,#efe0fa,#f9e4ef);padding:20px;border:1px solid #dec6e9;border-radius:13px}
.teacher-code-box strong{display:block;font-family:ui-monospace,monospace;font-size:35px;line-height:1.5;letter-spacing:4px;color:#754394;margin-top:5px}
.teacher-code-box .secondary-button{font-size:13px;flex-shrink:0}
.teacher-code-help{font-size:13px;line-height:1.8;color:var(--muted);margin:14px 0}
.teacher-timer{text-align:center;margin:25px 0 18px}
.teacher-timer strong{display:block;font-size:54px;font-weight:500;letter-spacing:-2px;color:#6d4584;font-variant-numeric:tabular-nums}
.teacher-timer span{font-size:14px;color:var(--muted)}
.teacher-timer-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px}
.teacher-timer-actions button{font-size:14px}
.teacher-announcement-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:23px;margin-top:23px;border-top:1px solid var(--line)}
.teacher-announcement-actions button{justify-content:center;line-height:1.6;font-size:14px;padding:12px;white-space:normal}
.teacher-announcement-actions svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7}
.teacher-message-form>div{display:flex;align-items:center;gap:10px}.teacher-message-form button{font-size:14px}
.teacher-roster-heading{margin-top:29px}.teacher-roster-heading h3{font-size:18px}
.teacher-roster{list-style:none;padding:0;margin:14px 0;display:grid;gap:8px}
.teacher-roster li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border:1px solid #e3d3ec;border-radius:10px;background:#fff8}
.teacher-roster strong{font-size:15px;font-weight:550;overflow-wrap:anywhere}
.teacher-roster span{font-size:12px;color:var(--muted);text-align:right;flex-shrink:0}
.teacher-empty,.teacher-notice{font-size:14px;line-height:1.8;color:var(--muted)}
.teacher-notice{margin-top:17px}.teacher-history{font-size:13px;line-height:1.8;color:var(--muted);border-top:1px solid var(--line);padding-top:13px;margin-top:20px}
.teacher-history p+p{margin-top:9px}
.test-session-banner{display:flex;align-items:center;flex-wrap:wrap;gap:18px;background:#ede0f7;border:1px solid #d6bfe5;border-radius:14px;padding:18px 20px;margin-bottom:25px;color:#633d7c}
.test-session-banner>div:first-child{flex:1;min-width:160px}.test-session-banner strong{display:block;font-size:18px;line-height:1.6;overflow-wrap:anywhere}.test-session-banner>div:first-child>span:last-child{font-size:13px;line-height:1.8}.student-test-time{text-align:right}.student-test-time strong{font-size:28px;font-variant-numeric:tabular-nums;font-weight:550}.student-test-time span{font-size:12px}.test-session-banner>p{width:100%;font-size:14px;line-height:1.8}.test-session-banner>p:empty{display:none}.test-session-banner button{font-size:13px}
.classroom-dialog{position:relative;border:1px solid #cfb6df;border-radius:21px;background:#fff8fe;color:var(--text);width:min(470px,calc(100% - 30px));padding:33px;max-height:calc(100% - 30px)}
.classroom-dialog::backdrop{background:#55316477;backdrop-filter:blur(6px)}
.classroom-dialog h2{font-size:25px;line-height:1.45;letter-spacing:-.4px;margin-top:9px}.classroom-dialog>p{font-size:15px;line-height:1.8;color:var(--muted);margin-top:13px}.classroom-dialog .primary-button{width:100%;justify-content:center;margin-top:23px}.classroom-close{position:absolute;right:11px;top:11px}.student-code-input{text-transform:uppercase;letter-spacing:3px;font-family:ui-monospace,monospace}.attention-dialog{text-align:center}.attention-symbol{display:grid;place-items:center;margin:0 auto 20px;width:62px;height:62px;background:#eedcf7;border-radius:50%;color:#8652b2}.attention-symbol svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7}
@media(max-width:560px){.sidebar nav{gap:1px}.nav-item .nav-mobile{font-size:11px}.teacher-welcome,.teacher-create,.teacher-session{padding:22px 18px}.teacher-code-box{padding:16px;flex-wrap:wrap}.teacher-code-box strong{font-size:31px}.teacher-announcement-actions{grid-template-columns:1fr}.teacher-message-form>div{flex-wrap:wrap}.teacher-message-form button{width:100%;justify-content:center}.classroom-dialog{padding:30px 22px}.test-session-banner{padding:17px}.teacher-account{font-size:12px}}
@media(max-width:700px){.teacher-access-row{flex-wrap:wrap}.teacher-access-row input,.teacher-access-row button{width:100%}.teacher-access-row input{flex-basis:100%}.teacher-access-row button{justify-content:center}.teacher-private-code{padding:22px 18px}}
