@charset "UTF-8";
.writing-field{min-width:0}.writing-tools{margin:-10px 0 17px;color:var(--muted);font-size:.8125rem}.writing-tools summary{cursor:pointer;width:fit-content;color:var(--teal)}.writing-tools summary:focus-visible{outline:3px solid #2b9dd5;outline-offset:3px;border-radius:3px}.writing-tools p{margin:8px 0}.writing-characters{display:flex;flex-wrap:wrap;gap:6px}.writing-characters button{min-width:36px;min-height:36px;padding:5px 9px;border:1px solid var(--border);border-radius:5px;background:#fff;color:var(--navy)}.writing-characters button:hover,.writing-characters button[aria-pressed="true"]{background:#e2f3ed;border-color:var(--teal)}
:root{font-family:"Segoe UI",system-ui,-apple-system,sans-serif;color:#17283c;background:#f3f6f9;font-synthesis:none;font-size:16px;line-height:1.5;--navy:#102c43;--teal:#087d78;--muted:#617182;--border:#dce4eb;--shadow:0 5px 22px #183b5605}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #2b9dd5;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.8rem,3vw,2.55rem);line-height:1.15;font-weight:650;letter-spacing:-.045em;margin-bottom:12px}h2{font-size:1.12rem;line-height:1.35;letter-spacing:-.015em;margin-bottom:0}h3{font-size:1rem;line-height:1.4;margin-bottom:6px}p{margin-bottom:0}svg{flex-shrink:0}small{font-size:.8125rem}.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy);color:#d5e1eb;display:flex;flex-direction:column;padding:36px 22px 24px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;color:white;font-size:1.5rem;font-weight:650;letter-spacing:-.04em;margin-bottom:52px}.brand small{display:block;font-weight:400;letter-spacing:0;color:#a9bdcd;font-size:.75rem;margin-top:1px}.monogram{display:flex;align-items:center;justify-content:center;background:#f0f7f9;color:var(--navy);width:43px;height:43px;border-radius:11px;font-size:1.25rem;font-weight:750}.nav-label{font-size:.75rem;letter-spacing:.12em;color:#a9bdcd;margin:0 12px 12px}nav{display:grid;gap:6px}nav a{display:flex;align-items:center;gap:14px;padding:13px 14px;border-radius:8px;font-size:.9375rem}nav a:hover{background:#ffffff09}nav a[aria-current]{color:#fff;background:#ffffff16;box-shadow:inset 3px 0 #65d5c3}nav a[aria-current] svg{color:#74dfcd}.sidebar-note{margin-top:auto;padding:60px 14px 36px}.sidebar-note .eyebrow{color:#9fbdce;font-size:.6875rem}.sidebar-note p{font-size:1.16rem;line-height:1.55;color:#f0f6fc;margin:10px 0 20px}.journey-line{display:flex;align-items:center;gap:22px}.journey-line i{width:7px;height:7px;background:#71c6c1;border-radius:50%;position:relative}.journey-line i:not(:last-child):after{content:"";height:1px;width:22px;position:absolute;left:7px;top:3px;background:#426478}.profile{border-top:1px solid #ffffff20;display:flex;gap:10px;padding:22px 6px 0;font-size:.875rem}.profile small{display:block;color:#9eb2c4;font-size:.6875rem}.avatar{background:#ffffff14;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;font-size:.75rem}.workspace{min-width:0}.topbar{height:72px;border-bottom:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 44px;font-size:.875rem;color:var(--muted)}.local-badge{font-size:.75rem;color:#36576d;border:1px solid #d6e2e9;padding:4px 10px;border-radius:5px;background:#f6f9fb}.notice{padding:10px 44px;display:flex;justify-content:space-between;gap:12px;font-size:.8125rem;background:#e8f2f4;color:#335864;border-bottom:1px solid #d7e8ea}.text-button{border:0;background:none;padding:0;color:#075f5b;font-size:.8125rem;font-weight:650;text-decoration:underline;text-underline-offset:3px}main{padding:40px 44px 48px;max-width:1660px;margin:auto;outline:0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.eyebrow{font-size:.75rem;letter-spacing:.105em;font-weight:650;text-transform:uppercase;color:var(--teal);margin-bottom:12px}.subtitle{color:var(--muted);font-size:.9375rem;max-width:760px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--teal);background:var(--teal);color:white;padding:11px 16px;border-radius:7px;font-weight:600;font-size:.875rem;line-height:1.3;min-height:44px;flex-shrink:0}.button:hover{background:#096a66}.button.secondary{border-color:#cedae3;background:#fff;color:#274658}.button.secondary:hover{background:#edf4f7}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:30px}.stat{border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;background:#fff;padding:22px 24px;box-shadow:var(--shadow);min-width:0}.stat>span{font-size:.875rem;color:#516577}.stat strong{font-size:2.25rem;letter-spacing:-.045em;font-weight:600;line-height:1.3;margin:8px 0}.stat .money-stat{font-size:clamp(1.1rem,1.9vw,2rem);padding-top:3px;padding-bottom:2px}.stat small{color:var(--muted);font-size:.75rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:24px}.panel{background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);overflow:hidden;min-width:0;margin-bottom:24px}.section-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:23px 24px;border-bottom:1px solid #edf1f4}.section-heading.outside{padding:12px 0 20px;border:0}.text-link{display:inline-flex;align-items:center;gap:6px;color:var(--teal);font-size:.8125rem;font-weight:650}.text-link svg{width:16px}.text-link:hover{text-decoration:underline}.session-row{display:flex;align-items:center;gap:18px;padding:23px 24px;border-bottom:1px solid #edf1f4}.session-row:last-child{border-bottom:0}.session-time{border-right:2px solid #d9eceb;padding-right:17px;align-self:flex-start;min-width:70px}.session-time strong{display:block;font-size:1.12rem;font-variant-numeric:tabular-nums}.session-time span{display:block;font-size:.75rem;color:var(--muted);margin-top:4px}.session-info{flex:1;min-width:0}.session-info .eyebrow{font-size:.6875rem;margin-bottom:5px;color:var(--muted)}.session-info p:not(.eyebrow){font-size:.8125rem;color:var(--muted);margin:6px 0 9px}.session-actions{display:flex;flex-direction:column;gap:7px}.session-actions .button{font-size:.75rem;padding:8px 10px;min-height:36px}.badge{display:inline-block;padding:4px 9px;border-radius:5px;background:#eef2f6;color:#4f6476;font-size:.75rem;line-height:1.3;font-weight:600}.badge.teal{background:#e2f3ed;color:#136948}.badge.amber{background:#fff0d8;color:#875917}.panel-foot{padding:13px 24px;font-size:.75rem;color:var(--muted);background:#f9fbfc;border-top:1px solid #edf1f4}.count{display:grid;place-items:center;border-radius:5px;padding:3px 8px;background:#eef3f7;font-size:.8125rem;color:#4d6275}.attention-panel .section-heading{border-bottom:0}.pending-row{display:flex;gap:12px;padding:15px 24px;align-items:center}.pending-row:hover{background:#f5f9fa}.pending-icon{display:grid;place-items:center;align-self:flex-start;background:#f2f5f7;border-radius:7px;width:35px;height:35px;color:#4b6d84;flex-shrink:0}.pending-row>span:nth-child(2){flex:1;min-width:0}.pending-row strong,.pending-row small,.pending-row em{display:block}.pending-row strong{font-size:.875rem;font-weight:600}.pending-row small{color:var(--muted);margin-top:2px}.pending-row em{font-style:normal;color:#677582;font-size:.75rem;margin-top:4px}.pending-row>svg{width:15px;color:#61798b}.cohort-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.cohort-card{background:white;border:1px solid var(--border);padding:22px 24px;border-radius:10px;box-shadow:var(--shadow);min-width:0}.cohort-card.archived{border-style:dashed}.card-top{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.card-code{font-size:.75rem;color:var(--muted)}.cohort-card h3{font-size:1.12rem;letter-spacing:-.015em;margin-bottom:7px;overflow-wrap:anywhere}.cohort-card h3 a:hover{color:var(--teal)}.cohort-card>p{font-size:.8125rem;color:var(--muted)}.card-session{display:flex;align-items:center;gap:8px;font-size:.8125rem;margin:22px 0;color:#3f5c70}.card-session svg{width:16px}.progress-label{display:flex;justify-content:space-between;gap:8px;font-size:.75rem;color:var(--muted);margin-bottom:8px}.progress-label strong{font-weight:600;color:#335263}progress{appearance:none;display:block;width:100%;height:5px;border:0;border-radius:5px;overflow:hidden;background:#edf2f5}progress::-webkit-progress-bar{background:#edf2f5}progress::-webkit-progress-value{background:#238d84;border-radius:5px}progress::-moz-progress-bar{background:#238d84}.card-bottom{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #edf1f4;margin-top:23px;padding-top:16px}.card-bottom>span{font-size:.75rem;color:var(--muted)}.empty-state{padding:60px 24px;text-align:center;background:#fff;border:1px dashed #bfceda;border-radius:10px}.empty-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:16px;background:#e7f2f2;color:var(--teal);margin:0 auto 22px}.empty-icon svg{width:27px;height:27px}.empty-state h2{font-size:1.4rem}.empty-state p{color:var(--muted);max-width:540px;margin:12px auto 24px;font-size:.9375rem}.quiet-empty{padding:35px 24px;color:var(--muted);font-size:.9375rem}.info-note{padding:15px 20px;border-left:3px solid #338792;background:#e8f2f4;color:#335864;font-size:.875rem;margin-bottom:25px}.back-link{color:var(--muted);font-size:.875rem;display:inline-block;margin-bottom:24px}.group-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:-10px 0 27px}.group-status>span:last-child{color:var(--muted);font-size:.8125rem}.group-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(285px,1fr);gap:24px}.group-layout .session-row{flex-wrap:wrap}.group-layout .session-actions{flex-direction:row;width:100%;padding-left:85px;flex-wrap:wrap}.panel-description{padding:16px 24px 3px;color:var(--muted);font-size:.875rem}.checklist{padding:12px 24px 20px}.checklist-row{display:flex;gap:13px;align-items:center;padding:14px 0;border-bottom:1px solid #edf1f4;cursor:pointer}.checklist-row:last-child{border-bottom:0}.checklist-row input{width:19px;height:19px;accent-color:var(--teal);flex-shrink:0}.checklist-row strong{display:block;font-size:.875rem;font-weight:600}.checklist-row small{display:block;margin-top:3px;color:var(--muted);font-size:.75rem}.payment-detail{padding:24px}.payment-detail .section-heading{padding:0 0 18px;border:0}.payment-totals{margin:25px 0}.payment-totals>div{display:flex;justify-content:space-between;gap:12px;font-size:.875rem;margin:12px 0}.payment-totals dt{color:var(--muted)}dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}.payment-totals .total{border-top:1px solid var(--border);padding-top:17px;margin-top:17px;flex-wrap:wrap}.payment-totals .total dd{font-size:1.45rem}.payment-detail>.button{width:100%}.payment-history{margin-top:24px;font-size:.875rem}.payment-history>p{color:var(--muted)}.payment-history>div{padding:12px 0;border-bottom:1px solid var(--border)}.payment-history>div>span{float:right;color:var(--muted);font-size:.8125rem}.payment-history p{clear:both;color:var(--muted);font-size:.8125rem;overflow-wrap:anywhere}.small-note{font-size:.75rem;color:var(--muted);margin-top:20px}.archive-box{padding:0 8px}.archive-box p{font-size:.875rem;color:var(--muted);margin:8px 0 16px}.payment-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px;border-bottom:1px solid var(--border)}.payment-row:last-child{border:0}.payment-row>div{flex:1}.payment-row p{font-size:.8125rem;color:var(--muted);margin-bottom:8px}.payment-row dl{display:flex;gap:25px;margin:0}.payment-row dt{color:var(--muted);font-size:.75rem;margin-bottom:8px}.payment-row dd{font-size:.9375rem}footer{padding:0 44px 25px;color:#6a7d8c;display:flex;justify-content:space-between;gap:16px;font-size:.75rem}dialog{border:1px solid var(--border);border-radius:14px;padding:28px;width:min(530px,calc(100vw - 32px));max-height:90dvh;box-shadow:0 24px 80px #0a203b33;color:#17283c}dialog::backdrop{background:#0e253c88;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}.dialog-heading h2{font-size:1.3rem}.icon-button{border:0;background:#edf3f6;color:#526a7c;border-radius:6px;width:34px;height:34px;font-size:1.4rem;line-height:1}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px;font-size:.875rem;font-weight:600}.field input,.field select{border:1px solid #c6d3dd;border-radius:6px;padding:11px 12px;font-size:1rem;min-width:0;width:100%;font-weight:400;background:#fff;color:#203549}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-help{font-size:.8125rem;color:var(--muted);margin:-4px 0 17px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.form-error{color:#a8313a;font-size:.875rem}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:5;max-width:calc(100vw - 32px);padding:14px 20px;border-radius:8px;background:#14364b;color:#fff;box-shadow:0 6px 25px #0003;font-size:.875rem}.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-150%);z-index:10;background:#fff;padding:12px}.skip-link:focus{transform:translateY(0)}
@media(min-width:1600px){.stats{gap:24px}.stat{padding:26px}.cohort-grid{gap:24px}}
@media(max-width:1250px){.shell{grid-template-columns:208px minmax(0,1fr)}.sidebar{padding:28px 14px}.topbar{padding:0 28px}.notice{padding:10px 28px}main{padding:32px 28px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.cohort-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.session-row>.text-link{white-space:nowrap}.group-layout{grid-template-columns:minmax(0,1fr)}.payment-row{flex-wrap:wrap}.payment-row dl{flex-wrap:wrap}.sidebar-note{padding:40px 14px 30px}footer{padding-left:28px;padding-right:28px}}
@media(max-width:760px){.shell{display:block}.sidebar{height:auto;position:static;padding:17px 18px 0}.brand{margin:0 0 18px;font-size:1.25rem}.brand small{font-size:.75rem}.monogram{width:36px;height:36px}.nav-label,.sidebar-note,.profile{display:none}nav{display:flex;gap:3px;overflow-x:auto;padding-bottom:10px}nav a{padding:10px;gap:7px;flex-shrink:0;font-size:.8125rem}nav a svg{width:17px;height:17px}nav a[aria-current]{box-shadow:inset 0 -2px #65d5c3}.topbar{height:50px;padding:0 20px;font-size:.8125rem}.notice{padding:10px 20px;flex-wrap:wrap;font-size:.75rem}main{padding:28px 20px}.page-heading{align-items:flex-start;flex-direction:column;gap:20px}.page-heading .button{align-self:flex-start}.stats{gap:10px;margin-bottom:22px}.stat{padding:18px 14px}.stat>span{font-size:.8125rem}.stat strong{font-size:1.8rem}.stat .money-stat{font-size:1.25rem}.stat small{font-size:.75rem}.cohort-grid{grid-template-columns:minmax(0,1fr)}.session-row{padding:20px 16px;gap:13px;flex-wrap:wrap}.session-time{padding-right:10px;min-width:60px}.session-info{flex-basis:calc(100% - 78px)}.session-row>.text-link{margin-left:74px}.session-actions{padding-left:74px;flex-direction:row;flex-wrap:wrap}.group-layout .session-actions{padding-left:74px}.section-heading{padding:20px 16px;flex-wrap:wrap}.section-heading .button{font-size:.8125rem}.pending-row{padding:15px 16px}.payment-row{padding:22px 20px;gap:20px}.payment-row>div{flex-basis:100%}.payment-row dl{gap:23px}.payment-row>.text-link{margin-left:auto}.payment-detail{padding:22px 20px}.panel-description{padding:16px}.checklist{padding:10px 16px 16px}.group-status{align-items:flex-start}.group-status>span:last-child{flex-basis:100%}.empty-state{padding:38px 18px}footer{padding:0 20px 25px;flex-direction:column;gap:4px}.field-pair{grid-template-columns:minmax(0,1fr)}dialog{padding:22px}.toast{bottom:16px;width:max-content}.topbar>span:first-child{max-width:55%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.calendar-panel{margin-bottom:28px}.calendar-connection{padding:0 26px 22px}.calendar-connection>p{color:var(--muted);line-height:1.6;max-width:780px}.calendar-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.calendar-controls .button:disabled{opacity:.55;cursor:wait}.calendar-event .session-time{min-width:125px}.calendar-event .session-time strong{font-size:1rem}.calendar-history>summary,.local-session-drafts>summary{padding:20px 24px;cursor:pointer;font-weight:600}.calendar-history{border-top:1px solid var(--border)}.local-session-drafts{margin-top:28px}.local-session-drafts .info-note{margin-top:10px}.calendar-panel .panel-foot .text-link{font-size:inherit}.calendar-connection .form-error{margin-top:18px}
@media(max-width:760px){.calendar-connection{padding:0 16px 20px}.calendar-event .session-time{min-width:100%;border-right:0}.calendar-event .session-info{flex-basis:100%}.calendar-event>.text-link{margin-left:0}.calendar-controls .button{font-size:.8125rem}}

/* Account access and projects share the existing typography, colors and panels. */
[hidden]{display:none!important}
#account-controls{display:flex;align-items:center;gap:20px;min-width:0}
.account-email{font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}
.profile>div{min-width:0;overflow-wrap:anywhere}
.login-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,440px);gap:60px;align-items:center;min-height:72vh;max-width:1180px;margin:auto}
.login-intro h1{font-size:clamp(2.3rem,3.7vw,3.7rem);line-height:1.13;letter-spacing:-.045em;margin:22px 0}
.login-intro>p:not(.eyebrow){font-size:1rem;line-height:1.8;max-width:480px;color:var(--muted)}
.login-intro>p.instructor-affiliation{display:inline-block;color:var(--teal);font-weight:600;font-size:.875rem;background:#e3f1ee;border:1px solid #cbe5de;border-radius:6px;padding:5px 12px;margin:0 0 24px}
.login-benefits{display:grid;gap:19px;margin-top:38px}
.login-benefits>span{display:flex;gap:20px;color:var(--teal);font-size:.8rem;align-items:center}
.login-benefits strong{font-size:.9375rem;color:#335263;font-weight:500}
.login-card{background:white;border:1px solid var(--border);border-radius:16px;padding:34px;box-shadow:0 16px 50px #233d5210}
.login-card .monogram{margin-bottom:25px}
.login-card h2{font-size:1.3rem;margin-bottom:10px}
.login-card>p{font-size:.9rem;color:var(--muted);line-height:1.7}
.login-card .form-error{color:#a8313a}
.google-button{display:flex;justify-content:center;gap:14px;width:100%;margin:26px 0 12px;min-height:47px}
.google-button>span{font-weight:700;font-size:1.2rem}
.button:disabled{opacity:.55;cursor:not-allowed}
.login-pending{margin-top:0!important}
.demo-access{border-top:1px solid var(--border);margin-top:22px;padding-top:22px}
.demo-access summary{font-size:.875rem;font-weight:600;cursor:pointer}
.demo-access p{font-size:.8rem;line-height:1.6;color:var(--muted);margin:14px 0}
.demo-buttons{display:grid;gap:9px}
.demo-buttons .button{font-size:.8125rem;justify-content:flex-start}
.login-retry{margin-top:20px}
.login-card .login-privacy{font-size:.75rem;margin-top:22px}
.project-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 23px;color:var(--muted);font-size:.875rem}
.project-toolbar strong{color:#23485b}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.project-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:var(--shadow)}
.project-card h2{font-size:1.15rem;line-height:1.4;overflow-wrap:anywhere}
.project-card h2 a:hover{color:var(--teal)}
.project-description{font-size:.875rem;color:var(--muted);line-height:1.7;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:13px 0 18px}
.project-course{align-self:flex-start;background:#f0f5f7;border-radius:5px;padding:5px 9px;font-size:.75rem;color:#406072;margin-bottom:22px;overflow-wrap:anywhere;max-width:100%}
.project-owner{display:flex;gap:12px;align-items:center;margin-top:auto;padding-top:8px}
.project-owner .avatar,.project-author .avatar{background:#e3f1ee;color:#207c71;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}
.project-owner>div{min-width:0}
.project-owner strong{display:block;font-size:.8125rem;font-weight:600;overflow-wrap:anywhere}
.project-owner small{display:block;color:var(--muted);font-size:.75rem;margin-top:4px;overflow-wrap:anywhere}
.project-card .card-bottom{font-size:.75rem;align-items:center;flex-wrap:wrap;margin-top:20px}
.project-card .card-bottom>span{font-size:.7rem}
.project-empty-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 24px;font-size:2rem;color:var(--teal);background:#e6f2ef;border-radius:18px}
.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:30px;font-size:.8125rem;color:var(--muted)}
.project-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;align-items:start;max-width:1150px}
.project-form-panel{padding:28px}
.field textarea{font:inherit;font-weight:400;line-height:1.7;border:1px solid #c6d3dd;border-radius:6px;padding:11px 12px;resize:vertical;min-height:140px;width:100%;color:#203549;background:#fff}
.project-form-panel [readonly],.project-form-panel select:disabled{background:#f6f8f9;color:#354e60;opacity:1}
.project-author{padding:26px;overflow-wrap:anywhere}
.project-author .avatar{width:54px;height:54px;font-size:1.35rem;margin:24px 0 18px}
.project-author h2{font-size:1.1rem;margin-bottom:8px}
.project-author>p:not(.eyebrow){font-size:.875rem;color:var(--muted);line-height:1.7}
.project-author dl{border-top:1px solid var(--border);padding-top:20px;margin:22px 0;font-size:.8125rem}
.project-author dt{color:var(--muted);margin-bottom:7px}
.project-author dd{margin-bottom:17px}
.project-author .info-note{margin-top:24px;margin-bottom:0;font-size:.8125rem}
.project-author .button{width:100%;justify-content:center;font-size:.8125rem}
@media(max-width:1250px){.login-layout{gap:30px;grid-template-columns:minmax(0,1fr) minmax(320px,380px)}.login-card{padding:26px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail-layout{grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:1000px){.login-layout{grid-template-columns:minmax(0,1fr);max-width:560px}.login-intro h1 br{display:none}.login-benefits{display:none}.login-intro>p:not(.eyebrow){max-width:none}.login-intro h1{margin:16px 0}.project-detail-layout{grid-template-columns:minmax(0,1fr)}.project-author{order:-1}.project-author .avatar{display:none}.project-author h2{margin-top:16px}.project-author dl{display:flex;gap:12px;flex-wrap:wrap}.project-author .small-note{margin-top:12px}}
@media(max-width:760px){.project-grid{grid-template-columns:minmax(0,1fr)}.account-email{display:none}#account-controls{gap:8px}.login-layout{min-height:0;gap:24px}.login-card{padding:24px}.login-intro h1{font-size:2.15rem}.login-intro>p:not(.eyebrow){font-size:.9rem}.project-card{padding:22px}.project-form-panel,.project-author{padding:20px}.project-detail-layout{gap:18px}.pagination{gap:12px}.pagination .button{font-size:.75rem;padding:9px 11px}.project-toolbar{font-size:.8125rem}}

/* Academic server views */
.academic-actions { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:1rem; }
.academic-text { white-space:pre-wrap; overflow-wrap:anywhere; }
.academic-member { border-top:1px solid var(--line,#ddd); padding:1.25rem 0; }
.academic-invitation { display:flex; gap:1rem; align-items:center; justify-content:space-between; flex-wrap:wrap; padding:.7rem 0; overflow-wrap:anywhere; }
[data-academic-form] { max-width:760px; }

.academic-content .panel { padding:24px; margin-bottom:24px; }
.academic-content > h1 { margin-bottom:24px; }
.academic-content .panel > h2 { margin-bottom:16px; }
.academic-content .panel > p { margin-bottom:12px; }
@media (max-width:600px) { .academic-content .panel { padding:18px; } }

/* Private materials, immutable receipts and bounded upload forms. */
.work-items { padding-left: 1.3rem; display: grid; gap: 1rem; }
.work-items small { display: block; margin-top: .5rem; }
.work-hash, .work-items a { overflow-wrap: anywhere; word-break: break-word; }
.work-receipt, .work-revision, .work-editor { margin-block: 1.3rem; }
.work-feedback { border-left: 3px solid var(--accent, #287d75); padding: .6rem 1rem; margin-block: 1rem; }
.work-counter, .work-progress { font-size: .875rem; min-height: 1.5em; overflow-wrap: anywhere; }
.work-editor summary { cursor: pointer; font-weight: 600; padding: .5rem 0; }
.work-receipt details { margin-block: 1rem; }
[data-work-form] { display: grid; gap: .8rem; }
[data-work-form] input[type=file] { max-width: 100%; width: 100%; min-width: 0; }
.work-receipt h2, .work-revision h2 { overflow-wrap: anywhere; }
/* Home reads only persisted academic data; cards remain usable on narrow screens. */
.home-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
.home-stats .panel { display: grid; gap: 8px; padding: 24px; }
.home-stats strong { font-size: 2rem; }
.home-columns { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 24px; }
.home-columns > .panel > .home-list { padding: 0 24px; }
.home-columns > .panel > .field-help { margin: 16px 24px; }
.home-columns > .panel > .text-link, .home-columns > .panel > .button { display: inline-block; margin: 0 24px 24px; }
.home-list { list-style: none; padding: 0; margin: 0; }
.home-list li { display: flex; justify-content: space-between; align-items: start; gap: 16px; padding: 18px 0; border-bottom: 1px solid #e6e9e7; }
.home-list li > div { min-width: 0; overflow-wrap: anywhere; }
.home-list .button { flex-shrink: 0; }
.home-list p { margin: 6px 0; }
@media (max-width: 760px) { .home-columns { grid-template-columns: 1fr; } .home-stats { gap: 8px; } .home-stats .panel { padding: 14px; } }
@media (max-width: 420px) { .home-stats { grid-template-columns: 1fr; } .home-list li { flex-direction: column; } }
/* Classroom instruments and private conversations. */
.classroom-form{display:grid;gap:20px}.classroom-question{border:1px solid #d6e0d9;border-radius:8px;padding:20px;margin:20px 0;min-width:0}.classroom-question legend{padding:0 8px;font-weight:600;overflow-wrap:anywhere}.classroom-question .field{margin:12px 0}.answer-option{display:flex;align-items:start;gap:10px;margin:12px 0}.answer-option input{margin-top:6px;accent-color:#357366}.classroom-list{margin-top:24px}.classroom-list article{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid #dce4de}.classroom-list h2{font-size:20px;margin:10px 0}.classroom-table{border-collapse:collapse;width:100%;font-size:14px}.classroom-table td,.classroom-table th{text-align:left;vertical-align:top;border-bottom:1px solid #dce4de;padding:16px 12px}.classroom-table small{display:block;color:#63716b}.table-scroll{overflow:auto}.classroom-message{padding:18px;border-radius:8px;background:#f1f4f0;margin:16px 0;max-width:780px}.classroom-message.mine{border-left:3px solid #377361}.classroom-message small{color:#63716b}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.classroom-receipt{padding:20px;background:#e8f3e9;border-radius:8px;overflow-wrap:anywhere}.response-detail{padding:18px 0;border-bottom:1px solid #dce4de}.response-detail summary{cursor:pointer;font-weight:600}.classroom-form .field textarea{min-height:90px}
