.lecturer-site{background:var(--bg)}
.lecturer-site .header-inner{max-width:1440px;justify-content:space-between;gap:30px}
.lecturer-site .header-inner nav{align-items:center;gap:28px}
.lecturer-site nav a:after{display:none}
.lecturer-logout{padding:9px 15px;border:1px solid #a4b7bd;border-radius:8px;background:white;font-size:.875rem;color:#304e59}
.lecturer-logout:hover{background:var(--soft);border-color:var(--accent)}
.lecturer-layout{max-width:1440px;display:grid;grid-template-columns:245px minmax(0,1fr);gap:55px;padding-top:42px;align-items:start}
.lecturer-sidebar{position:sticky;top:28px}
.lecturer-sidebar>label{display:block;font-size:.8125rem;font-weight:600;margin-bottom:9px;color:#526570}
.lecturer-sidebar select{max-width:100%;width:100%;padding:12px 9px;border:1px solid #849e9f;border-radius:8px;background:white;color:var(--text);font-size:.875rem}
.lecturer-sidebar nav{display:flex;flex-direction:column;gap:5px;margin-top:20px}
.lecturer-sidebar nav a{padding:11px 13px;border-radius:8px;border:1px solid transparent;font-size:.875rem;line-height:1.45}
.lecturer-sidebar nav a span{display:block;color:var(--text);font-weight:600}
.lecturer-sidebar nav a small{display:block;font-size:.8125rem;margin-top:3px;color:#526570}
.lecturer-sidebar nav a[aria-current=page]{background:var(--soft);border-color:#cdd8e9}
.lecturer-sidebar nav a[aria-current=page] span{color:var(--accent)}
.lecturer-sidebar nav a:hover{background:white;border-color:#d2dfe2}
.lecturer-heading h1{font-size:clamp(2.1rem,3.4vw,3.1rem);margin:12px 0 15px;line-height:1.14}
.lecturer-heading>p{font-size:.9375rem;margin-bottom:26px}
.course-update{border-left:3px solid #a88436;background:#f5f0e3;border-radius:0 9px 9px 0;padding:16px 20px;margin-bottom:25px}
.course-update strong{font-size:.9375rem;color:#624d23}
.course-update p{font-size:.9375rem;line-height:1.7;margin:5px 0 0;color:#574f3e}
.handbook-outline{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:30px}
.handbook-outline a{display:flex;align-items:center;justify-content:space-between;gap:12px;background:white;border:1px solid var(--line);border-radius:8px;padding:11px 14px;font-size:.8125rem;text-transform:capitalize;line-height:1.5}
.handbook-outline a span{color:#657983;font-family:Consolas,monospace}
.handbook-outline a:hover{border-color:#90b5b0}
.handbook-page{background:white;border:1px solid var(--line);border-radius:16px;padding:32px 36px;margin-bottom:28px;scroll-margin-top:28px}
.handbook-page-source{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:25px;font-size:.75rem;color:#627782}
.handbook-page-source>span{font-family:Consolas,monospace;letter-spacing:.07em}
.handbook-page-source a{color:var(--accent);font-size:.8125rem}
.handbook-page .handbook-kicker{font-size:.75rem;line-height:1.6;letter-spacing:.06em;color:var(--accent);margin-bottom:10px}
.handbook-page h2{font-size:1.85rem;line-height:1.2;margin:0 0 25px}
.handbook-page h2 strong,.handbook-page h3 strong,.handbook-page h4 strong{font-weight:inherit}
.handbook-page h3{font-size:1.18rem;font-weight:650;color:var(--accent);line-height:1.5;letter-spacing:-.015em;margin:29px 0 12px;scroll-margin-top:25px}
.handbook-page h4{font-size:.8125rem;line-height:1.6;letter-spacing:.055em;color:var(--accent);background:var(--soft);padding:10px 13px;margin:25px 0 12px;border-radius:5px}
.handbook-page p{font-size:1rem;line-height:1.8;color:#344b57;margin:0 0 16px;overflow-wrap:break-word}
.handbook-page p strong{font-weight:650;color:#223c48}
.handbook-page p a,.handbook-table a{color:var(--accent);text-decoration:underline;text-decoration-color:#afc8c3;text-underline-offset:3px}
.handbook-page .handbook-note{font-size:.875rem;line-height:1.75;color:#60737e}
.handbook-table{margin:22px 0 29px;border:1px solid #d9e3e7;border-radius:9px;overflow:hidden}
.handbook-table table{border-collapse:collapse;width:100%;font-size:.9375rem;line-height:1.65;text-align:left}
.handbook-table th{background:#e8f0f1;color:#264550;padding:13px 14px;font-size:.75rem;letter-spacing:.04em;vertical-align:top;font-weight:600}
.handbook-table td{padding:13px 14px;border-top:1px solid #e1e8ec;color:#344b57;vertical-align:top}
.handbook-table tbody tr:nth-child(even){background:#f7f9fa}
.handbook-table td:first-child{font-weight:500;min-width:85px}
.handbook-top{display:inline-block;font-size:.875rem;color:var(--accent);padding:5px 0}
.lecturer-footer{max-width:1344px;margin:0 auto;padding:27px 36px;border-top:1px solid var(--line);display:flex;align-items:center;gap:32px;color:var(--muted);font-size:.8125rem}
.lecturer-footer img{display:block;object-fit:contain}
.lecturer-login{padding:70px 24px 100px;max-width:640px;min-height:75vh}
.login-card{padding:38px;background:white;border:1px solid #d9e3e7;border-radius:18px;box-shadow:0 15px 50px #18364608}
.login-card h1{font-size:2.3rem;line-height:1.14;margin:15px 0 18px}
.login-card>p{font-size:1rem;line-height:1.75;margin-bottom:28px}
.login-card form{display:flex;flex-direction:column}
.login-card label{font-size:.9375rem;font-weight:600;margin-bottom:9px}
.login-card input[type=password]{background:#fbfcfd;color:var(--text);border:1px solid #859e9f;border-radius:8px;padding:12px 13px;font-size:1rem;min-width:0;width:100%}
.login-card input[aria-invalid=true]{border-color:#ad4646}
.login-card .button{margin-top:20px}
.login-error{font-size:.875rem;line-height:1.65;margin:10px 0 0;color:#9a3030}
.login-return{display:inline-block;margin-top:24px;font-size:.875rem;color:var(--accent)}
@media(max-width:1050px){.lecturer-layout{grid-template-columns:215px minmax(0,1fr);gap:28px}.handbook-page{padding:26px}.handbook-outline{grid-template-columns:1fr}}
@media(max-width:800px){.lecturer-layout{display:block;padding-top:28px}.lecturer-sidebar{position:static;margin-bottom:28px}.lecturer-sidebar nav{display:none}.lecturer-sidebar select{font-size:1rem}.lecturer-site .header-inner{flex-wrap:wrap;gap:20px}.lecturer-site .header-inner nav{gap:22px;width:auto}.handbook-page{padding:25px}.lecturer-footer{margin:0 24px;padding:26px 0}.handbook-outline{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.handbook-table table,.handbook-table tbody,.handbook-table tr,.handbook-table td{display:block;width:100%}.handbook-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.handbook-table tr{padding:8px 0;border-bottom:1px solid #d9e3e7}.handbook-table tr:last-child{border-bottom:0}.handbook-table td{border:0;padding:7px 14px;font-size:.9375rem}.handbook-table td:before{content:attr(data-label);display:block;font-size:.75rem;letter-spacing:.035em;color:#5b737d;font-weight:600;margin-bottom:3px}.lecturer-site .header-inner{padding:20px 20px 12px}.lecturer-site .header-inner nav{width:100%;justify-content:space-between;gap:13px}.lecturer-site .header-inner nav a{padding:8px 0}.lecturer-logout{font-size:.8125rem;padding:8px 12px}.lecturer-layout{padding:26px 18px 45px}.lecturer-heading h1{font-size:2.1rem}.handbook-outline{grid-template-columns:1fr}.handbook-page{padding:22px 18px;border-radius:12px}.handbook-page h2{font-size:1.55rem}.handbook-page-source{gap:10px}.handbook-page-source>span{font-size:.6875rem;letter-spacing:.02em}.handbook-page-source a{font-size:.75rem}.course-update{padding:15px}.lecturer-footer{flex-wrap:wrap;gap:18px;margin:0 20px}.lecturer-login{padding:35px 18px 65px}.login-card{padding:28px 23px}.login-card h1{font-size:2rem}}
@media print{.lecturer-site .site-header,.lecturer-sidebar,.handbook-outline,.lecturer-footer,.handbook-page-source a,.handbook-top{display:none!important}.lecturer-layout{display:block;max-width:none;padding:0}.handbook-page{box-shadow:none;border:0;padding:0;break-before:page}.handbook-page p{font-size:11pt;line-height:1.6}.handbook-page h2{font-size:20pt}.handbook-table{break-inside:avoid}.handbook-table table{font-size:10pt}.handbook-table thead{position:static;clip:auto;width:auto;height:auto}.handbook-table table{display:table}.handbook-table tbody{display:table-row-group}.handbook-table tr{display:table-row}.handbook-table td{display:table-cell}.handbook-table td:before{display:none}.login-card{box-shadow:none}}

.lecturer-sidebar nav a[data-session] {border-left:3px solid var(--lesson-color,transparent)}
.lecturer-sidebar nav a[aria-current=page]{border-left-color:var(--lesson-color,var(--accent));background:var(--soft)}
.handbook-table th{background:var(--soft);color:var(--navy)}
.login-card{border-top:4px solid var(--gold)}
