.instructor-page{background:var(--canvas);color:var(--ink)}
.instructor-hero{padding-bottom:58px}.instructor-access-callout{height:100%;box-sizing:border-box}.instructor-access-callout h2{font-size:clamp(24px,3vw,34px);margin-bottom:10px}.instructor-access-callout p{max-width:520px}
.instructor-login-section{background:var(--canvas);padding-top:56px}.instructor-login-card,.password-card{max-width:820px;margin:0 auto;padding:34px 38px;display:grid;grid-template-columns:1fr minmax(280px,360px);gap:34px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.password-card{display:block;max-width:660px}.instructor-login-card h2,.password-card h2{margin-bottom:10px}.login-card-copy p:not(.eyebrow),.password-card>p:not(.eyebrow){color:var(--muted)}.instructor-login-form{display:grid;gap:9px}.instructor-login-form label,.access-form label,.access-form legend{font-weight:700;color:var(--ink-soft)}.instructor-login-form input,.access-form input,.access-form textarea,.access-form select{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;padding:11px 12px}.instructor-login-form input:focus,.access-form input:focus,.access-form textarea:focus,.access-form select:focus{outline:3px solid rgba(49,212,207,.28);border-color:var(--blue)}.instructor-login-form button{justify-self:start;margin-top:8px}.password-form{max-width:390px;margin-top:24px}.password-rules{margin:0 0 8px;color:var(--muted);font-size:13px;line-height:1.5}.form-alert,.field-error{margin:0;color:#9b2727;font-size:14px}.form-alert{padding:12px 14px;border-left:4px solid #c54242;background:#fff0f0;border-radius:5px}.logged-in-bar{background:#12353c;color:#fff}.logged-in-bar .container{display:flex;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px}.logged-in-bar a{color:var(--turquoise);font-weight:700}.account-controls{padding-bottom:0}.account-controls-card{padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.account-controls-card h2{margin-bottom:4px}.account-controls-card>div>p:not(.eyebrow){color:var(--muted)}.account-list{margin-top:20px;border-top:1px solid var(--line)}.account-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.account-row strong,.account-row small{display:block}.account-row small{color:var(--muted);margin-top:3px}.account-status{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.account-status.active{color:#147a57}.account-status.revoked{color:#a33a3a}.account-row form{margin:0}.request-hero{padding-bottom:42px}.request-form-section{background:var(--canvas)}.form-intro{max-width:760px;margin:0 auto 26px}.form-intro p:not(.eyebrow){color:var(--muted)}.access-form{max-width:800px;margin:0 auto;padding:34px 38px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);display:grid;gap:20px}.form-field{display:grid;gap:7px}.form-field small{color:var(--muted);font-size:13px}.form-field.has-error input,.form-field.has-error textarea,.form-field.has-error select{border-color:#c54242}.form-field fieldset{border:0;padding:0;margin:0;display:grid;gap:10px}.form-field legend{padding:0;margin-bottom:4px}.radio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.radio-grid label{font-weight:400;display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--paper-2);border:1px solid var(--line);border-radius:7px}.radio-grid input{width:auto}.other-source{margin-top:4px}.form-submit{justify-self:start;margin-top:4px}.thank-you-card{max-width:740px;margin:0 auto;padding:44px 48px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.thank-you-card h2{max-width:620px}.thank-you-card p{color:var(--muted);font-size:18px;line-height:1.7}.thank-you-card a{color:var(--blue)}.thank-you-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:18px;background:var(--turquoise);color:#062126;border-radius:50%;font-size:22px}.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:760px){.instructor-login-card{grid-template-columns:1fr;padding:26px}.access-form,.thank-you-card{padding:26px}.account-row{grid-template-columns:1fr auto}.account-row form{grid-column:1 / -1}.radio-grid{grid-template-columns:1fr}}
.admin-request-list{display:grid;gap:20px;max-width:980px;margin:0 auto}.admin-request-card{padding:28px}.admin-request-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:18px}.admin-request-head h2{margin-bottom:5px}.muted{color:var(--muted)}.account-status.pending{color:#9a6a00}.account-status.approved{color:#147a57}.account-status.rejected{color:#a33a3a}.request-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 20px}.request-details div{padding:12px;background:var(--paper-2);border-radius:7px}.request-details dt{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin-bottom:4px}.request-details dd{margin:0;color:var(--ink)}.request-long-answers{display:grid;grid-template-columns:1fr 1fr;gap:18px;color:var(--muted)}.request-long-answers p{margin:0}.credential-box{margin-top:20px;padding:15px 17px;border:1px solid rgba(49,212,207,.65);background:rgba(49,212,207,.1);border-radius:8px;color:var(--ink)}.credential-box code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--blue)}.credential-box small{display:block;margin-top:8px;color:var(--muted)}.admin-actions{margin-top:20px}.admin-actions form{display:flex;gap:10px;flex-wrap:wrap}.form-success{padding:12px 14px;border-left:4px solid #147a57;background:#edf9f2;color:#145b3d;border-radius:5px}.account-controls-card>div>p{margin-top:10px}@media(max-width:700px){.admin-request-head,.request-long-answers{display:block}.request-long-answers p+p{margin-top:16px}.request-details{grid-template-columns:1fr}.admin-request-card{padding:22px}}
/* Dark-mode form surfaces: keep labels, headings, and controls readable together. */
body.page-dark .instructor-login-card,
body.page-dark .password-card,
body.page-dark .access-form,
body.page-dark .account-controls-card,
body.page-dark .admin-request-card,
body.page-dark .card:has(form){background:var(--dark-2);color:#fff;border-color:var(--line-dark)}
body.page-dark .instructor-login-card h2,
body.page-dark .password-card h2,
body.page-dark .access-form h2,
body.page-dark .admin-request-card h2{color:#fff}
body.page-dark .login-card-copy p:not(.eyebrow),
body.page-dark .password-card>p:not(.eyebrow),
body.page-dark .form-intro p:not(.eyebrow),
body.page-dark .admin-request-card .muted{color:rgba(255,255,255,.72)}
body.page-dark .instructor-login-form label,
body.page-dark .access-form label,
body.page-dark .access-form legend,
body.page-dark .request-details dt{color:rgba(255,255,255,.84)}
body.page-dark .instructor-login-form input,
body.page-dark .access-form input,
body.page-dark .access-form textarea,
body.page-dark .access-form select{background:#101820;color:#fff;border-color:var(--line-dark)}
body.page-dark .radio-grid label{background:rgba(255,255,255,.06);border-color:var(--line-dark);color:#fff}
body.page-dark .request-details div{background:rgba(255,255,255,.06)}
body.page-dark .request-details dd,
body.page-dark .credential-box{color:#fff}
body.page-dark form input::placeholder,
body.page-dark form textarea::placeholder{color:rgba(255,255,255,.55)}
body.light-mode .instructor-login-card,
body.light-mode .password-card,
body.light-mode .access-form,
body.light-mode .account-controls-card,
body.light-mode .admin-request-card{background:var(--paper);color:var(--ink);border-color:var(--line)}

body.page-dark .thank-you-card{background:var(--dark-2);color:#fff;border-color:var(--line-dark);box-shadow:0 18px 44px rgba(0,0,0,.28)}
body.page-dark .thank-you-card h2{color:#fff}
body.page-dark .thank-you-card p{color:rgba(255,255,255,.74)}
body.page-dark .thank-you-card a{color:var(--turquoise)}
body.light-mode .thank-you-card{background:var(--paper);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-soft)}
body.light-mode .thank-you-card h2{color:var(--ink)}
body.light-mode .thank-you-card p{color:var(--muted)}

.syllabus-library{background:var(--canvas);scroll-margin-top:90px}.syllabus-library .section-head{max-width:820px}.syllabus-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.syllabus-library-card{display:flex;flex-direction:column;min-height:300px;padding:26px;background:rgba(255,255,255,.06);border:1px solid var(--line-dark);border-radius:var(--radius);box-shadow:none;color:#fff}.syllabus-card-top{display:flex;align-items:center;gap:10px;margin-bottom:18px}.syllabus-card-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:rgba(49,212,207,.14);color:var(--turquoise)}.syllabus-card-label{font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--gold)}.syllabus-library-card h3{color:#fff;margin-bottom:9px}.syllabus-library-card p{color:rgba(255,255,255,.74);max-width:560px}.syllabus-card-meta{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0;color:rgba(255,255,255,.72);font-size:13px}.syllabus-card-meta span{padding:5px 9px;border:1px solid var(--line-dark);border-radius:999px}.syllabus-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}.syllabus-library-note{display:flex;gap:9px;align-items:flex-start;margin:20px 0 0;color:rgba(255,255,255,.7);font-size:14px}.syllabus-library-note i{color:var(--turquoise);margin-top:3px}@media(max-width:760px){.syllabus-library-grid{grid-template-columns:1fr}.syllabus-library-card{min-height:0;padding:22px}.syllabus-card-actions .btn{width:100%;text-align:center;box-sizing:border-box}}
body.light-mode .syllabus-library-card{background:var(--paper);border-color:var(--line);box-shadow:var(--shadow-soft);color:var(--ink)}body.light-mode .syllabus-library-card h3{color:var(--ink)}body.light-mode .syllabus-library-card p,body.light-mode .syllabus-library-note{color:var(--muted)}body.light-mode .syllabus-card-meta{color:var(--muted)}body.light-mode .syllabus-card-meta span{border-color:var(--line)}

.supplemental-lab-library{background:var(--canvas);scroll-margin-top:78px}.supplemental-lab-filter-bar{align-items:end}.supplemental-lab-filter-bar label{display:grid;gap:6px}.supplemental-lab-filter-bar input,.supplemental-lab-filter-bar select{min-width:190px}.supplemental-lab-count{margin-left:auto;align-self:center;color:var(--muted);font-size:14px;font-weight:700}.supplemental-lab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.supplemental-lab-card{display:flex;flex-direction:column;min-height:205px;padding:20px;background:rgba(255,255,255,.06);border:1px solid var(--line-dark);border-radius:var(--radius);box-shadow:none;color:#fff}.supplemental-lab-card[hidden]{display:none}.supplemental-lab-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px}.supplemental-lab-mark{display:inline-flex;padding:5px 9px;border-radius:999px;background:rgba(49,212,207,.15);border:1px solid rgba(49,212,207,.45);color:var(--turquoise);font-size:12px;font-weight:800;letter-spacing:.06em}.supplemental-lab-chapter{color:rgba(255,255,255,.62);font-size:12px;font-weight:700}.supplemental-lab-card h3{color:#fff;font-size:20px;line-height:1.2;margin-bottom:8px}.supplemental-lab-card p{color:rgba(255,255,255,.7);font-size:14px}.supplemental-lab-card .btn{align-self:flex-start;margin-top:auto}.supplemental-lab-empty{padding:22px;text-align:center;color:var(--muted);border:1px dashed var(--line-dark);border-radius:var(--radius)}body.light-mode .supplemental-lab-card{background:var(--paper);border-color:var(--line);box-shadow:var(--shadow-soft);color:var(--ink)}body.light-mode .supplemental-lab-card h3{color:var(--ink)}body.light-mode .supplemental-lab-card p{color:var(--muted)}body.light-mode .supplemental-lab-chapter{color:var(--muted)}body.light-mode .supplemental-lab-empty{border-color:var(--line)}@media(max-width:980px){.supplemental-lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.supplemental-lab-grid{grid-template-columns:1fr}.supplemental-lab-count{margin-left:0}.supplemental-lab-filter-bar input,.supplemental-lab-filter-bar select{width:100%;min-width:0}.supplemental-lab-card .btn{width:100%;box-sizing:border-box;text-align:center}}
.instructor-benefits-intro{max-width:720px;margin:20px 0 10px;color:rgba(255,255,255,.82);font-size:17px}.instructor-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 22px;max-width:850px;margin:0;padding:0;list-style:none}.instructor-benefits li{display:flex;gap:9px;align-items:flex-start;color:rgba(255,255,255,.78);font-size:14px;line-height:1.4}.instructor-benefits li i{width:17px;margin-top:3px;color:var(--turquoise);text-align:center}.instructor-benefits li:last-child i,.instructor-benefits li:nth-last-child(2) i{color:var(--gold)}body.light-mode .instructor-benefits-intro{color:var(--ink-soft)}body.light-mode .instructor-benefits li{color:var(--muted)}@media(max-width:760px){.instructor-benefits{grid-template-columns:1fr}.instructor-benefits-intro{font-size:16px}}
.supplemental-lab-featured{border-color:rgba(240,200,95,.5)}.supplemental-lab-card-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:auto}.supplemental-lab-card-actions .btn{margin-top:0}.supplemental-lab-card-actions .btn-ghost{color:var(--turquoise);border-color:rgba(49,212,207,.5)}body.light-mode .supplemental-lab-featured{border-color:rgba(180,130,30,.45)}@media(max-width:640px){.supplemental-lab-card-actions{display:grid}.supplemental-lab-card-actions .btn{width:100%;box-sizing:border-box;text-align:center}}