:root{--navy:#142d43;--teal:#087f78;color:#193448;background:#f4f7f9;font-family:'Segoe UI',Arial,sans-serif}.app-sidebar{position:fixed;inset:0 auto 0 0;width:246px;background:#fff;border-right:1px solid #e3e9ec;padding:30px 20px;display:flex;flex-direction:column;overflow-y:auto}.app-brand{display:flex;align-items:center;gap:10px;font-size:27px;font-weight:750;letter-spacing:-1px;color:var(--navy)}.app-brand>span{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:var(--teal);color:white}.app-school{margin:26px 0 20px;padding:18px 10px;border-block:1px solid #e3e9ec;display:grid;gap:6px}.app-school small{font-size:11px;letter-spacing:1.3px}.app-school>span{font-size:12px;color:#667887}.app-sidebar nav{display:grid;gap:5px}.app-nav{background:transparent;color:#526773;text-align:left;font-size:15px;padding:11px 14px}.app-nav:hover{background:#f0f7f5}.app-nav.active{background:#def5ee;color:#087f78}.app-sidefoot{margin-top:auto;padding-top:24px;font-size:13px;color:#667887}.app-shell{margin-left:246px;min-width:0}.app-header{min-height:85px;padding:16px 36px;gap:15px;color:#667887;font-size:14px}.app-user{display:grid;color:#193448;text-align:right}.app-user small{font-size:12px}.app-main{max-width:1440px;margin:0 auto;padding:30px 36px}.app-title{margin-bottom:24px}.app-title h1{margin-bottom:0}.app-feature{padding:28px 32px;background:#142d43;color:white;border-radius:16px;margin-bottom:24px}.app-feature .eyebrow{color:#8ce3cf}.app-feature h2{font-size:27px;margin:12px 0}.app-feature p{color:#d1e1ea}.app-feature button{background:#def5ee;color:#145b56}.app-overview{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px}.app-event{display:grid;gap:5px;width:100%;padding:19px 0;border-radius:0;border-bottom:1px solid #e3e9ec;background:white;color:#193448;text-align:left}.app-event:hover{background:#f3faf8}.app-event span{font-size:14px;font-weight:400;color:#526773}.app-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere}.app-footer{padding:20px 36px;color:#667887;font-size:12px}.app-loading{margin:40px}.app-skip{position:fixed;top:-100px;left:20px;z-index:50;background:white;padding:10px}.app-skip:focus{top:10px}#account>.auth{margin:8vh auto;padding:32px;max-width:560px}.app-main .cohort-picker{padding:16px 22px}.app-main .panel{box-shadow:0 2px 5px #142d4303}.app-main .panel h2{margin-bottom:14px}.app-main #cohort-content{scroll-margin-top:20px;min-width:0}.app-main .app-overview h2{font-size:19px}
@media(max-width:1100px){.app-sidebar{width:210px;padding:24px 14px}.app-shell{margin-left:210px}.app-main{padding:24px}.app-header{padding:16px 24px}.app-overview{grid-template-columns:1fr}}
@media(max-width:760px){.app-sidebar{position:static;width:auto;padding:16px;overflow:visible}.app-brand{font-size:24px}.app-school,.app-sidefoot{display:none}.app-sidebar nav{display:flex;overflow-x:auto;margin-top:14px;gap:6px;padding:3px}.app-nav{flex:none;padding:10px 13px}.app-shell{margin-left:0}.app-header{padding:12px 18px;min-height:64px}.app-main{padding:22px 14px}.app-feature{padding:24px}.app-feature h2{font-size:23px}.app-footer{padding:20px}.app-user{max-width:165px}.app-header>.row{gap:10px}.app-header button{padding:9px;font-size:12px}#account>.auth{margin:24px 14px;padding:24px}.app-title h1{font-size:28px}}

.app-nav{display:flex;align-items:center;gap:12px}.app-icon{width:20px;height:20px;flex:none}
.subject-materials{padding:0;overflow:hidden}.subject-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px;border-left:6px solid;margin:0}.subject-heading>span:first-child{font-size:19px}.subject-heading>span:first-child::before{content:'▸';margin-right:10px}.subject-materials[open]>.subject-heading>span:first-child::before{content:'▾'}.subject-heading small{flex-shrink:0;color:inherit;font-weight:400}.subject-content{padding:24px}.subject-calendar-link{margin-bottom:20px}.subject-calendar-link p{margin:0}.material-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.material-columns>section{min-width:0;border:1px solid #e3e9ec;border-radius:12px;padding:20px}.material-file{padding:16px 0;border-top:1px solid #e3e9ec;display:grid;gap:8px;overflow-wrap:anywhere}.material-file button{font-size:12px;padding:8px 10px}.material-download{font-weight:650;text-decoration:underline}.material-upload{border:2px dashed #a4c8c1;border-radius:12px;background:#f8fcfb;margin-top:24px;padding:24px}.material-upload.is-dragover{background:#def5ee;border-color:#087f78}.material-upload label{max-width:430px}.material-file-input{display:none}.material-help,.material-status{font-size:13px;overflow-wrap:anywhere}.material-status:not(:empty){padding:12px;border-radius:8px;background:#eaf5f3}.material-upload[aria-busy=true]{opacity:.7}.material-upload details{margin-top:20px}.app-main .subject-materials{padding:0}.app-main .subject-heading{margin-bottom:0}
@media(max-width:1000px){.material-columns{grid-template-columns:1fr}.subject-heading{align-items:flex-start;flex-direction:column;gap:6px}.subject-content{padding:18px}.material-upload{padding:18px}}

.subject-stats{display:grid;gap:4px;font-weight:400}.subject-stats small{white-space:normal}.subject-stats small:first-child{font-weight:650}

.subject-kind{display:block;margin-top:6px;font-size:14px}.subject-heading .subject-kind{font-weight:650}

.study-context{display:flex;align-items:center;justify-content:space-between;gap:16px}.study-context-top{margin-bottom:24px;padding:14px 18px;background:#fff;border:1px solid #dce5e8;border-radius:12px}.study-context-top label{flex:1;min-width:0}.study-context-bottom{margin-top:30px;padding-top:18px;border-top:1px solid #dce5e8;font-size:13px;color:#617783}.study-context-bottom button{font-size:13px;flex-shrink:0}.study-hint{font-size:14px;color:#526773}.study-hint button{font-size:13px;margin-left:8px}@media(max-width:760px){.study-context{align-items:stretch;flex-direction:column;gap:10px}.study-context-bottom button{align-self:flex-start}.study-context-top{padding:12px}.study-hint button{margin:8px 0 0}}
.app-main #cohort-content:focus{outline:none}

.mobile-bottom-nav{display:none}.mobile-more-dialog{width:min(460px,calc(100vw - 24px));border:1px solid #dce5e8;border-radius:18px;padding:20px;color:#193448}.mobile-more-dialog::backdrop{background:#142d4366}.mobile-more-dialog nav{display:grid;gap:10px;margin-top:16px}.mobile-more-dialog nav button{min-height:48px;text-align:left}
@media(max-width:760px){
 .app-sidebar nav{display:none}.app-sidebar{padding:12px 18px}.app-shell{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 .mobile-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:40;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dce5e8;box-shadow:0 -3px 16px #142d4308}
 .mobile-bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:54px;padding:4px 1px;background:transparent;color:#526773;border-radius:10px;font-size:11px;line-height:1.25}
 .mobile-bottom-nav .app-icon{width:24px;height:24px;margin:0}.mobile-bottom-nav [aria-current=page],.mobile-bottom-nav .is-current{color:#087f78;background:#e8f5f0}
 .chat-mobile-open .mobile-bottom-nav{display:none}
 .mobile-more-dialog{margin:auto 12px calc(80px + env(safe-area-inset-bottom));max-height:calc(100dvh - 110px);overflow:auto}
 #message{bottom:calc(86px + env(safe-area-inset-bottom))}.import-publish-bar{bottom:calc(80px + env(safe-area-inset-bottom))}
}

/* Small section accents keep navigation recognisable without colouring whole pages. */
.app-shell,[data-view]{--section-ink:#087f78;--section-soft:#e8f5f0;--section-line:#9bc9bb}
[data-section=chats],[data-view=chats],[data-section=notices],[data-view=notices],[data-section=members],[data-view=members]{--section-ink:#32658c;--section-soft:#e8f1f8;--section-line:#a6c5dd}
[data-section=subjects],[data-view=subjects],[data-section=studies],[data-view=studies]{--section-ink:#71538f;--section-soft:#f0eaf7;--section-line:#c4b1db}
[data-section=grades],[data-view=grades],[data-section=polls],[data-view=polls]{--section-ink:#8a601e;--section-soft:#fbf0db;--section-line:#dec184}
.app-title{border-left:4px solid var(--section-line);padding-left:14px}.app-title>.eyebrow{color:var(--section-ink)}
.app-nav .app-icon,.mobile-bottom-nav [data-view] .app-icon{color:var(--section-ink)}
.app-nav.active,.mobile-bottom-nav [data-view][aria-current=page]{background:var(--section-soft);color:var(--section-ink)}
.app-nav:hover{background:var(--section-soft)}
.mobile-more-dialog [data-view]{border-left:3px solid var(--section-line);color:var(--section-ink);background:#f7f9fa}
.mobile-more-dialog [data-view][aria-current=page]{background:var(--section-soft)}
.app-main .chat-panel{border-top-color:#a6c5dd}.chat-panel>.chat-overview-heading h2{color:#32658c}
[data-section=grades] .grade-value{background:#fbf0db;color:#8a601e}[data-section=grades] .grade-value:hover{background:#f3e3bd}

/* Astrudy: the accent letters spell study. */
.astrudy-brand.app-brand{display:inline-flex;flex-direction:column;align-items:flex-start;gap:5px;width:max-content;max-width:100%;color:var(--navy);text-decoration:none;letter-spacing:normal}
.astrudy-brand>.astrudy-wordmark{display:block;width:auto;height:auto;border-radius:0;background:transparent;color:var(--navy);font-size:36px;line-height:1.1;font-weight:800;letter-spacing:-1.5px;white-space:nowrap}
.astrudy-wordmark .astrudy-accent{color:var(--teal)}
.astrudy-brand .astrudy-tagline{display:block;color:var(--navy);font-size:12px;line-height:1.4;font-weight:400;letter-spacing:.3px;white-space:nowrap}
#account>.auth>.astrudy-brand{margin-bottom:24px}
@media(max-width:760px){.astrudy-brand>.astrudy-wordmark{font-size:30px}.astrudy-brand .astrudy-tagline{font-size:11px}}
