:root{color:#101828;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#c3c3c3;font-family:IBM Plex Sans,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}#root{width:min(1320px,100% - 32px);margin:0 auto;padding:24px 0 40px}h1,h2,p{margin:0}h1,h2{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-weight:600;line-height:1.08}h1{letter-spacing:-.03em;margin-top:8px;font-size:clamp(2.6rem,4.4vw,4.3rem)}h2{font-size:clamp(1.25rem,2vw,1.8rem)}p,label,button,input,select,textarea{letter-spacing:-.01em}@media (width<=640px){#root{width:min(100% - 20px,1320px);padding-top:20px}}.app-shell{flex-direction:column;gap:14px;display:flex}.hero-panel,.panel,.auth-panel{background:#ffffffe6;border:1px solid #1823341a;box-shadow:0 18px 45px #0f172a0a}.hero-panel{justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;display:flex;position:relative;overflow:visible}.hero-panel:after{content:"";pointer-events:none;background:linear-gradient(120deg,#99aac40f,#0000 38%),linear-gradient(#10182805,#0000);position:absolute;inset:0}.hero-copy-block{z-index:1;gap:6px;max-width:52rem;display:grid;position:relative}.brand-lockup{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.eyebrow,.panel-label,.session-label,.meta-label{text-transform:uppercase;letter-spacing:.18em;color:#667085;font-size:.7rem}.hero-copy{color:#475467;max-width:34rem;font-size:.95rem}.hero-actions{z-index:1;align-items:center;gap:12px;display:flex;position:relative}.language-toggle{align-items:center;gap:6px;display:inline-flex}.account-menu{z-index:1;position:relative}.account-trigger{color:#101828;cursor:pointer;min-width:240px;font:inherit;background:#f8fafcf2;border:1px solid #0f172a14;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.account-meta{text-align:left;gap:2px;display:grid}.account-meta strong{color:#101828;font-size:.96rem}.account-meta span,.account-caret{color:#475467;font-size:.88rem}.account-dropdown{background:#fff;border:1px solid #d0d5dd;border-radius:6px;gap:4px;min-width:220px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 32px #0f172a1a}.menu-item{text-align:left;cursor:pointer;color:#344054;width:100%;font:inherit;background:0 0;border:none;border-radius:4px;padding:10px 12px}.menu-item:hover:enabled{background:#f8fafc}.menu-item:disabled{color:#98a2b3;cursor:not-allowed}.auth-panel{padding:28px}.auth-workspace{grid-template-columns:minmax(0,1.15fr) minmax(360px,420px);align-items:stretch;gap:18px;display:grid}.auth-intro-panel,.auth-form-panel{min-height:100%}.auth-intro-panel{background:linear-gradient(135deg,#1d4f910f,#1d4f9100),#ffffffeb;align-content:start;gap:18px;padding:34px;display:grid}.auth-intro-panel h2{color:#101828;max-width:12ch;font-size:2rem;line-height:1.08}.auth-lead{color:#475467;max-width:34rem;font-size:1rem;line-height:1.7}.auth-feature-list{gap:12px;display:grid}.auth-feature-card{background:#f8fafcd1;border:1px solid #18233414;border-radius:0;gap:6px;padding:16px 18px;display:grid}.auth-feature-card strong{color:#344054;font-size:.98rem;line-height:1.5}.auth-form-panel{align-content:start;justify-self:end;gap:18px;max-width:420px;display:grid}.auth-form-header{gap:6px;display:grid}.auth-form{gap:16px}.auth-tabs{background:#f2f4f7;border-radius:6px;grid-template-columns:repeat(2,1fr);padding:3px;display:grid}.auth-tabs button,.course-card,.thread-card,.primary-button,.secondary-button{font:inherit;border:none}.auth-tabs button{color:#475467;cursor:pointer;background:0 0;border-radius:4px;padding:10px 18px}.auth-tabs button.active{color:#101828;background:#fff;box-shadow:0 1px 2px #10182814}.workspace{grid-template-columns:300px minmax(0,1fr);align-items:stretch;gap:16px;height:calc(100vh - 190px);min-height:620px;display:grid}.workspace.sidebar-collapsed{grid-template-columns:96px minmax(0,1fr)}.admin-workspace{grid-template-columns:minmax(0,1fr);display:grid}.sidebar,.content{min-width:0;min-height:0}.sidebar{overflow:visible}.sidebar .panel{flex-direction:column;height:100%;display:flex;position:relative;overflow:visible}.panel{padding:20px}.course-summary-panel{width:100%;min-height:170px;max-height:170px;position:relative;overflow:hidden}.course-summary-panel-student{min-height:90px;max-height:90px}.panel-heading{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:16px;display:flex}.thread-layout{flex:1;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:16px;min-height:0;display:grid}.thread-column,.message-panel{min-height:0}.thread-column{grid-template-rows:160px minmax(0,1fr);gap:16px;height:100%;display:grid}.thread-column-student{grid-template-rows:90px minmax(0,1fr)}.thread-column>.panel,.message-panel{box-sizing:border-box;flex-direction:column;min-height:0;display:flex;overflow:hidden}.stack{gap:14px;display:grid}.content{gap:16px;display:grid}label{gap:8px;display:grid}input,select,textarea{box-sizing:border-box;color:#101828;width:100%;font:inherit;background:#fff;border:1px solid #d0d5dd;border-radius:6px;padding:11px 13px}textarea{resize:none;min-height:110px}input:focus,select:focus,textarea:focus{border-color:#1f6feb66;outline:2px solid #1f6feb24}.primary-button,.secondary-button{cursor:pointer;border-radius:6px;padding:11px 15px;font-weight:500;transition:background-color .12s,border-color .12s,color .12s}.primary-button{color:#f8fbff;box-shadow:none;background:#1d4f91}.secondary-button{color:#344054;background:#f8fafc;border:1px solid #d0d5dd}.compact-button{padding:6px 10px;font-size:.85rem;line-height:1.1}.view-toggle{align-items:center;gap:6px;display:inline-flex}.toggle-chip{color:#667085;font:inherit;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:999px;padding:5px 10px;font-size:.82rem}.toggle-chip.active{color:#f8fbff;background:#1d4f91;border-color:#1d4f91}.danger-button{color:#b42318;background:#fef3f2;border-color:#fecdca}.primary-button:hover,.secondary-button:hover,.course-card:hover,.thread-card:hover{transform:none}.primary-button:disabled,.secondary-button:disabled{cursor:wait;opacity:.65;transform:none}.course-list,.thread-list,.message-list,.user-list{align-content:start;gap:10px;margin-top:18px;display:grid}.course-list,.thread-list,.message-list{min-height:0;padding-right:6px;overflow-y:auto}.course-list{flex:1}.message-list{flex:1;min-height:0}.thread-list{flex:1}.thread-list-row,.course-list-row{position:relative}.danger-text{color:#b42318}.sidebar-title-row{align-items:center;gap:8px;display:flex}.course-manage-menu{position:relative}.course-manage-trigger{min-width:40px;padding-inline:0}.course-manage-dropdown{z-index:4;background:#fff;border:1px solid #d0d5dd;border-radius:8px;gap:4px;min-width:180px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 14px 32px #0f172a1a}.course-menu-item{text-align:left;color:#344054;cursor:pointer;width:100%;font:inherit;background:0 0;border:none;border-radius:6px;padding:10px 12px}.course-menu-item:hover:enabled,.active-course-menu-item{background:#f8fafc}.thread-actions{position:relative}.thread-menu-trigger{min-width:40px;padding-inline:0}.thread-menu{z-index:4;background:#fff;border:1px solid #d0d5dd;border-radius:8px;gap:4px;min-width:180px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 32px #0f172a1a}.thread-card-pinned{background:#f8fbff;border-color:#bfd2f3}.thread-card-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.thread-card-main{align-items:center;gap:10px;min-width:0;display:flex}.thread-card-main strong{min-width:0}.thread-pin-badge{letter-spacing:.04em;text-transform:uppercase;background:#1d4f91;border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:.72rem;color:#fff!important}.message-panel>form{flex-shrink:0;margin-top:18px}.archived-note{color:#475467;background:#f8fafc;border:1px solid #d0d5dd;border-radius:10px;margin-top:18px;padding:14px 16px}.message-composer{gap:0}.message-composer-surface{background:linear-gradient(#fff 0%,#fbfcfe 100%);border:1px solid #d0d5dd;border-radius:16px;gap:8px;padding:10px;display:grid;box-shadow:0 8px 20px #0f172a0a}.message-composer-input{background:0 0;border:none;min-height:0;padding:0}.message-composer-input:focus{border-color:#0000;outline:none}.course-card,.thread-card{text-align:left;cursor:pointer;color:#101828;background:#fff;border:1px solid #e4e7ec;border-radius:0;gap:6px;width:100%;padding:15px 16px;display:grid}.course-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.course-card-copy{gap:6px;min-width:0;display:grid}.course-card-copy strong{display:block}.course-card-indicator{border-radius:999px;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:.82rem;font-weight:700;display:grid;position:relative}.course-card-delete-mode{color:#8f1d1d;background:#fff5f5;border-color:#f4b4b4}.course-card-archive-mode{background:#f4f8ff;border-color:#b9cdf5}.danger-indicator{background:linear-gradient(#fda29b 0%,#f97066 100%);box-shadow:inset 0 0 0 1px #ffffff47}.danger-indicator:before,.danger-indicator:after{content:"";background:#fff;border-radius:999px;width:12px;height:2px;position:absolute}.danger-indicator:before{transform:rotate(45deg)}.danger-indicator:after{transform:rotate(-45deg)}.archive-indicator{color:#fff;background:#1d4f91}.course-card-compact{letter-spacing:.04em;place-items:center;min-height:40px;font-size:.9rem;display:grid}.course-card span,.thread-card span,.message-meta,.empty-state{color:#667085}.selected{background:#f8fbff;border-color:#98a2b3;box-shadow:inset 3px 0 #1d4f91}.sidebar-collapsed .sidebar .panel{padding:14px 12px}.sidebar-collapsed .sidebar .panel-heading{gap:10px}.sidebar-collapsed .sidebar .panel-heading>div{display:none}.sidebar-collapsed .sidebar .panel-heading .secondary-button{width:100%;padding-inline:10px}.sidebar-toggle{color:#344054;width:28px;height:56px;font:inherit;cursor:pointer;z-index:2;background:#fff;border:1px solid #d0d5dd;border-radius:999px;place-items:center;font-size:1rem;line-height:1;display:grid;position:absolute;top:50%;right:-14px;transform:translateY(-50%);box-shadow:0 8px 18px #0f172a14}.sidebar-toggle:hover{background:#f8fafc}.sidebar-collapsed .course-list{margin-top:12px}.sidebar-collapsed .course-card{place-items:center;padding:10px 8px}.sidebar-collapsed .course-list-row{grid-template-columns:1fr}.meta-strip{border-top:1px solid #eaecf0;flex-wrap:wrap;gap:28px;margin-top:14px;padding-top:14px;display:flex}.meta-strip div{gap:4px;display:grid}.message-card{background:#fff;border:1px solid #eaecf0;border-radius:0;gap:10px;max-width:min(78%,640px);padding:16px 18px;display:grid}.message-card-own{background:#f7faff;border-color:#bfd2f3;justify-self:end}.message-card-other{justify-self:start}.message-meta-row{justify-content:space-between;align-items:center;gap:12px;min-height:32px;display:flex}.message-block{gap:10px;display:grid}.message-separator{color:#667085;justify-self:center;font-size:.82rem;line-height:1}.message-image{object-fit:cover;border:1px solid #d0d5dd;border-radius:10px;max-width:min(100%,420px);max-height:320px;display:block}.admin-summary{border-top:1px solid #eaecf0;border-bottom:1px solid #eaecf0;flex-wrap:wrap;gap:28px;margin-top:14px;padding:14px 0 18px;display:flex}.admin-summary div{gap:4px;display:grid}.admin-search{margin-top:18px}.user-card{background:#fff;border:1px solid #e4e7ec;border-radius:0;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;display:flex}.user-details{gap:4px;display:grid}.user-details strong{color:#101828;font-size:.98rem}.user-details span{color:#667085;font-size:.9rem}.user-controls{gap:10px;min-width:220px;display:grid}.user-controls select{min-width:220px}.message-meta{text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;min-width:0;font-size:.84rem;display:flex}.message-card-own .message-meta{color:#1d4f91}.message-author{justify-self:start}.message-meta-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.checkbox-row{align-items:center;gap:10px;display:flex}.checkbox-row input{width:auto}.composer-actions{justify-content:flex-start;display:flex}.compact-composer-actions{justify-content:space-between;align-items:center;padding-top:2px}.composer-tools{position:relative}.composer-icon-button{width:44px;height:44px;box-shadow:none;border-radius:999px;place-items:center;padding:0;font-size:1.5rem;line-height:1;display:grid}.composer-popover{z-index:3;background:#fff;border:1px solid #d0d5dd;border-radius:12px;gap:10px;min-width:240px;padding:10px;display:grid;position:absolute;bottom:calc(100% + 12px);left:0;box-shadow:0 14px 30px #0f172a1f}.composer-popover-section{display:grid}.composer-popover-divider{background:#eaecf0;height:1px}.composer-menu-button{color:#101828;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:4px 2px}.composer-menu-button:hover{color:#1d4f91}.composer-toggle-row{color:#344054;justify-content:space-between;align-items:center;gap:16px;display:flex;position:relative}.composer-toggle-row input{opacity:0;pointer-events:none;position:absolute}.composer-toggle-ui{background:#d0d5dd;border-radius:999px;flex-shrink:0;width:40px;height:24px;transition:background-color .12s;position:relative}.composer-toggle-ui:after{content:"";background:#fff;border-radius:999px;width:18px;height:18px;transition:transform .12s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #1018282e}.composer-toggle-row input:checked+.composer-toggle-ui{background:#1d4f91}.composer-toggle-row input:checked+.composer-toggle-ui:after{transform:translate(16px)}.message-image-preview{background:#f8fafc;border:1px solid #e4e7ec;border-radius:8px;gap:10px;padding:12px;display:grid}.message-image-preview img{object-fit:cover;border-radius:8px;max-width:min(100%,260px);max-height:200px;display:block}.message-image-preview-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.message-image-preview-meta span{color:#475467;font-size:.9rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.error-text,.error-banner{color:#b42318}.auth-note{color:#667085;font-size:.92rem}@media (width<=980px){.auth-workspace{grid-template-columns:minmax(0,1fr)}.auth-form-panel{justify-self:stretch;max-width:none}.auth-intro-panel h2{max-width:none}}.error-banner{background:#fef3f2;border:1px solid #fecdca;border-radius:6px;margin-bottom:18px;padding:14px 16px}.modal-backdrop{z-index:20;background:#0f172a3d;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-panel{background:#fffffffa;border:1px solid #1823341a;border-radius:12px;gap:12px;width:min(100%,420px);padding:22px;display:grid;box-shadow:0 24px 60px #0f172a2e}.modal-copy{color:#475467}.modal-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.empty-panel{text-align:center;place-content:center;gap:8px;min-height:180px;display:grid}.empty-panel p,.empty-state,label span{color:#667085}.panel h2,.hero-panel h1{color:#101828}.panel h2{font-size:1.45rem}.hero-panel h1{letter-spacing:-.02em;margin:0;font-size:1.65rem}@media (width<=980px){.hero-panel,.workspace,.thread-layout{grid-template-columns:1fr}.hero-panel{flex-direction:column;align-items:flex-start;padding:16px}.account-trigger,.account-dropdown{width:100%;min-width:0}.brand-lockup{flex-direction:column;align-items:flex-start;gap:6px}.user-card{flex-direction:column;align-items:stretch}.user-controls,.user-controls select{width:100%;min-width:0}.workspace{height:auto;min-height:0}.content,.thread-layout,.sidebar .panel,.thread-layout>.panel,.course-list,.thread-list,.message-list{min-height:unset;height:auto;overflow:visible}.sidebar-toggle{width:56px;height:28px;top:auto;bottom:-14px;right:50%;transform:translate(50%)}}
