:root{--navy:#102a43;--navy-2:#0b1f33;--teal:#0e7c71;--teal-dark:#0a5f56;--teal-bright:#12a594;--ink:#1b2a3a;--muted:#647587;--bg:#f4f7fa;--line:#e2e8f0;--radius:10px;--gold:#0e7c71;--gold-soft:#5ec4b6}
body{font-size:15px}h1{font-size:2.1rem;letter-spacing:-.05rem}h2{font-size:1.2rem}h3{font-size:1rem}.main{padding-top:34px;min-height:calc(100vh - 140px)}.sidebar{width:254px;padding:28px 22px;background:linear-gradient(165deg,#123350,#0b1f33);border-top:5px solid var(--teal)}.main,.app-footer{margin-left:254px}.university-brand{gap:11px;font-family:Georgia,serif;font-size:1.18rem;letter-spacing:0;line-height:1.25}.university-brand small{display:block;font-family:"Segoe UI",Arial,sans-serif;font-size:.58rem;font-weight:500;letter-spacing:.14em;margin-top:6px;opacity:.8}.brand-mark{background:transparent;border:1px solid #2f8f83;color:#7fd3c6;width:42px;height:46px;border-radius:4px;font:600 1.2rem Georgia,serif;flex-shrink:0}.workspace-label{margin:40px 10px 14px;font-size:.62rem;letter-spacing:.15em}.sidebar nav{gap:6px}.sidebar nav a{font-size:.92rem;padding:12px 13px;gap:11px;border-left:3px solid transparent;border-radius:7px;font-weight:500}.sidebar nav a.active{background:var(--teal);border-left-color:#8fe6da;color:#fff;font-weight:600;box-shadow:0 5px 14px rgba(14,124,113,.35)}.sidebar nav a.active>span{color:#fff}.sidebar nav a:hover:not(.active){background:#ffffff1a;color:#fff}.sidebar nav a>span{font-size:1.1rem}.sidebar nav a .nav-count{margin-left:auto;width:auto;background:#5ec4b6;color:#0b2e29;padding:3px 6px;border-radius:4px;font-size:.68rem;font-weight:700}.sidebar-note{font-size:.75rem;padding:24px 10px}.sidebar-note strong{color:#7fd3c6}.profile{padding-top:18px}.portal-topbar{height:68px;margin-left:254px;background:#f2f8f7;border-bottom:1px solid #d9e7e3;padding:0 44px;display:flex;align-items:center;justify-content:space-between;font-size:.68rem;font-weight:600;letter-spacing:.12em}.topbar-location{color:#85909c;margin-left:10px}.notification-link{font-size:.8rem;letter-spacing:0;display:flex;align-items:center;gap:9px;color:var(--ink)}.notification-count{display:inline-grid;place-items:center;min-width:24px;height:24px;background:#e6f4f1;color:#0a5f56;border-radius:20px;font-weight:700}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nav-toggle{display:none}.page-kicker{font-size:.65rem;letter-spacing:.16em;color:#5f7d78}.page-top{margin-bottom:26px}.page-top .muted{font-size:.92rem}.button{border-radius:6px;font-size:.82rem;padding:11px 16px}.button.secondary{background:#fff}.stat{padding:22px;border-top:3px solid var(--teal);background:#eef6f4;text-decoration:none!important}.stat strong{font-size:1.95rem;color:var(--navy)}.stat span{color:#4d6b66}.stat.accent{background:var(--navy);border-top-color:#12a594;border-color:#1f6f66}.stat.accent strong{color:#fff}.stat.accent span{color:#bfe3dd}.stat.accent:hover{color:white}.stat:hover{color:inherit}.stat .text-stat{font-size:1.05rem;line-height:1.5;letter-spacing:0}.learning-banner{padding:26px 30px;background:#e7f2f0;border:1px solid #cfe5e0;border-left:4px solid var(--teal);border-radius:var(--radius);margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.learning-banner .eyebrow{display:block;font-size:.62rem;letter-spacing:.14em;margin-bottom:9px}.learning-banner h2{font-size:1.35rem;margin-bottom:8px}.learning-banner p{margin:0;font-size:.88rem;color:#48645f}.learning-banner .button{flex-shrink:0}.filter-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:0 0 22px;overflow:auto}.filter-tabs a{padding:11px 17px;color:var(--muted);font-size:.82rem;white-space:nowrap;border-bottom:3px solid transparent}.filter-tabs .active{border-color:var(--teal);color:var(--teal);font-weight:600}.assignment-grid{grid-template-columns:repeat(auto-fit,minmax(285px,1fr))}.assignment-card{padding:23px}.card-eyebrow{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.61rem;letter-spacing:.07em;color:#788794}.card-eyebrow .badge{font-size:.65rem;letter-spacing:0}.assignment-card h3{font-size:1.14rem;line-height:1.4;margin-top:18px}.assignment-card h3 a{color:var(--navy)}.assignment-card .assignment-owner{font-size:.8rem;line-height:1.7;margin-bottom:24px}.assignment-owner span{font-size:.74rem;color:#87909a}.progress-copy{display:flex;align-items:center;justify-content:space-between;font-size:.74rem;gap:10px}.progress-copy span{color:var(--muted)}progress{width:100%;height:7px;appearance:none;border:0;border-radius:10px;overflow:hidden;margin:11px 0;background:#e8edf1}progress::-webkit-progress-bar{background:#e8edf1}progress::-webkit-progress-value{background:var(--teal)}progress::-moz-progress-bar{background:var(--teal)}.assignment-card .remaining-copy{font-size:.78rem;color:#465d69;margin:3px 0 22px;min-height:35px}.remaining-copy small{display:block;font-size:.72rem;color:var(--muted);margin-top:5px}.class-meta{font-size:.71rem;gap:12px;align-items:center}.class-meta a{font-weight:600;flex-shrink:0}.deadline-warning{color:#b23a2b}.teacher-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.teacher-card-stats strong{font-size:1.4rem;display:block}.teacher-card-stats small{font-size:.68rem;color:var(--muted)}.updates-panel{padding-bottom:8px}.update-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--line)}.update-row strong{font-size:.85rem}.update-row small{display:block;color:var(--muted);font-size:.7rem;margin-top:5px}.update-row .button{flex-shrink:0}.assignment-brief .instructions{white-space:pre-wrap;font-size:.92rem;line-height:1.75}.requirement-documents{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.document-link{display:flex;align-items:center;gap:13px;padding:13px 15px;border:1px solid var(--line);border-radius:7px;margin-top:9px;font-size:.85rem;overflow-wrap:anywhere}.document-link>span:nth-child(2){flex:1;min-width:0}.document-link small{display:block;color:var(--muted);font-size:.68rem;margin-top:3px}.file-type{background:#edf1f7;color:#465b77;padding:7px;border-radius:4px;font-size:.62rem;font-weight:700}.brief-classes{padding-top:24px;display:grid;gap:10px}.document-edit{display:flex;gap:16px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:12px 0;font-size:.8rem}.document-edit a{overflow-wrap:anywhere;min-width:0}.document-edit label{flex-shrink:0;font-size:.72rem}.align-start{justify-self:start}.feedback-panel{border-left:4px solid var(--teal)}.grade-value{font-size:2rem;font-weight:600;color:var(--navy);margin:12px 0 20px}.history-version{padding:24px;border:1px dashed #cbd4de;border-radius:8px;margin-bottom:20px;background:#ffffff88}.history-version h2{font-size:1rem}.notification-list{padding:8px 24px}.notification-item{display:grid;grid-template-columns:10px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid var(--line)}.notification-item:last-child{border:0}.notification-dot{height:8px;width:8px;border-radius:50%;background:#dde2e7;margin-top:7px}.unread .notification-dot{background:var(--teal-bright)}.notification-item h2{font-size:1rem;margin:10px 0}.notification-item p{font-size:.86rem;color:var(--muted);white-space:pre-wrap}.notification-item .card-eyebrow{font-size:.69rem;letter-spacing:0}.discussion-panel{max-width:1050px}.message-list{max-height:520px;min-height:180px;overflow:auto;display:flex;flex-direction:column;gap:16px;padding:20px 0;scroll-behavior:smooth}.message{max-width:88%;background:#f1f4f7;padding:16px 19px;border:1px solid #e3e8ee;border-radius:0 12px 12px 12px;align-self:flex-start;min-width:230px}.message.own-message{align-self:flex-end;background:#e6f4f1;border-color:#cfe5e0;border-radius:12px 0 12px 12px}.message-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:.7rem}.message-meta span{background:#ffffffb0;padding:2px 6px;border-radius:3px;font-size:.59rem}.message-meta time{color:var(--muted);font-size:.62rem;margin-left:auto}.message p{font-size:.88rem;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0}.discussion-composer{border-top:1px solid var(--line);padding-top:20px}.discussion-composer .button-row{justify-content:space-between;margin-top:14px}.discussion-composer textarea{background:#fafbfc}.auth-shell{border-radius:12px;box-shadow:0 20px 60px #162d4210}.auth-story{background:linear-gradient(155deg,#123350,#0b1f33);border-top:5px solid var(--teal)}.auth-story h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04rem;line-height:1.16}.auth-story .eyebrow{color:#5ec4b6}.auth-story .workflow li>span{color:#7fd3c6;background:#ffffff06;border-color:#ffffff25}.auth-story .brand-mark{background:transparent}.auth-form h2{font-size:1.65rem}.story-footer{color:#7fa8a0}.signup-wrap .university-brand{color:var(--navy)}.signup-wrap .brand-mark{color:var(--navy)}.form-grid{gap:22px}.app-footer{border-top:1px solid var(--line);margin-top:20px;font-size:.7rem}.instructions{overflow-wrap:anywhere;white-space:pre-wrap}
@media(min-width:1600px){.assignment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.main{padding-left:48px;padding-right:48px}}
@media(max-width:1150px){.sidebar{width:230px;padding:25px 16px}.main,.app-footer,.portal-topbar{margin-left:230px}.portal-topbar{padding:0 25px}.university-brand{font-size:1.05rem}.learning-banner{padding:23px;align-items:flex-start}.learning-banner h2{font-size:1.15rem}.learning-banner .button{font-size:.75rem}.stats{gap:12px}.stat{padding:19px 15px}}
@media(max-width:760px){.sidebar{position:static;width:100%;padding:18px 20px;border-top-width:4px}.sidebar .brand{font-size:1.12rem;max-width:240px}.sidebar>form{right:20px;top:25px}.sidebar nav{display:grid;grid-template-columns:1fr 1fr;margin-top:15px}.sidebar nav a{font-size:.79rem}.sidebar nav a .nav-count{display:inline-block;font-size:.65rem}.nav-toggle{display:block;background:transparent;border:1px solid #6f8298;color:#e8edf3;border-radius:5px;font-size:.75rem;padding:5px 11px;position:absolute;right:20px;top:52px}.js-nav .sidebar nav:not(.is-open){display:none}.portal-topbar{height:52px;margin:0;padding:0 18px;font-size:.57rem}.topbar-location{display:none}.main,.app-footer{margin-left:0}.main{padding:24px 18px}.learning-banner{display:block;padding:22px}.learning-banner .button{margin-top:18px}.learning-banner p{font-size:.81rem}.page-top{gap:15px}h1{font-size:1.75rem}.stats{grid-template-columns:repeat(2,1fr);gap:12px}.stat strong{font-size:1.8rem}.assignment-grid{grid-template-columns:1fr}.assignment-card{padding:22px}.class-meta{font-size:.7rem}.card-eyebrow{font-size:.6rem}.update-row{align-items:flex-start}.update-row strong{font-size:.8rem}.update-row .button{font-size:.7rem;padding:6px 8px}.document-edit{flex-wrap:wrap}.notification-item .card-eyebrow{flex-wrap:wrap;gap:5px}.message{max-width:94%;min-width:0;padding:13px}.message-list{max-height:450px}.message-meta time{margin-left:0}.discussion-composer .button-row{align-items:flex-start}.discussion-composer .small{max-width:180px;font-size:.7rem}.auth-story h1{font-size:2.05rem}.auth-story .brand{max-width:none}.auth-story h1 br{display:initial}.auth-story .story-content{padding-top:26px}.auth-form h2{font-size:1.45rem}.app-footer{padding:20px 18px}.document-link{font-size:.77rem;gap:9px}}
@media(prefers-reduced-motion:reduce){.message-list{scroll-behavior:auto}}

.sidebar{overflow-y:auto}.teacher-card-stats a{color:inherit}.assignment-owner a{color:inherit}.assignment-card h3,.breadcrumb{overflow-wrap:anywhere}@media(max-width:760px){.sidebar{overflow:visible}}

@media(min-width:761px) and (max-height:820px){.sidebar{padding-top:22px;padding-bottom:20px}.workspace-label{margin-top:25px;margin-bottom:10px}.sidebar nav a{padding-top:9px;padding-bottom:9px}.sidebar-note{display:none}.profile{margin-top:auto;padding-top:16px}.university-brand{font-size:1.12rem}}
@media(prefers-reduced-motion:no-preference){.stat,.assignment-card,.class-card,.metric-card,.manager-actions>a,.document-link{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.stat:hover,.assignment-card:hover,.class-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(16,42,67,.09);border-color:#cdd8e4}.stat.accent:hover{box-shadow:0 10px 24px rgba(16,42,67,.22)}.document-link:hover{border-color:var(--teal);background:#f3f9f8}}
.assignment-card h3 a:hover,.assignment-owner a:hover{color:var(--teal);text-decoration:none}.filter-tabs a:hover{color:var(--teal)}.notification-link:hover{color:var(--teal);text-decoration:none}
/* readability + colour pass: less bare white, clearer sections */
.main h1,.manager-heading h1{color:var(--navy)}
.section-heading{border-bottom:2px solid #dcebe7;padding-bottom:12px}
.section-heading h2,.panel-header h2{color:var(--navy)}
.panel-header{background:#f1f7f6}
.assignment-card,.class-card{border-top:3px solid var(--teal)}
.card-eyebrow{color:#5d7a74}
th{background:#eef5f4;color:#41585f}
tbody tr{transition:background .12s ease}
tbody tr:hover td{background:#f2f9f7}
.breadcrumb a{color:var(--teal);font-weight:600}
.class-card h3 a,.exam-name strong{color:var(--navy)}
.tabs a.active{color:var(--teal);border-bottom-color:var(--teal)}
.notice{background:#eaf3fb;border-color:#c6dcef}
