:root{--green:#143d35;--green2:#28574b;--ink:#233732;--muted:#68736f;--line:#dde2da;--paper:#f5f6f1;--gold:#bca16a;--white:#fff;--radius:9px}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea{font:inherit}a{color:var(--green)}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b89446;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.25}h1{font:36px/1.2 Georgia,serif;letter-spacing:-.8px;margin-bottom:10px}h2{font-size:19px;font-weight:600;margin-bottom:18px}h3{font-size:16px}p{margin-bottom:16px}.muted,small{color:var(--muted)}small{font-size:12px}.eyebrow{text-transform:uppercase;letter-spacing:1.6px;font-size:11px;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 19px;border:1px solid var(--green);border-radius:5px;background:var(--green);color:white;font-size:14px;font-weight:600;line-height:1.4;text-decoration:none}.btn:hover{background:var(--green2);text-decoration:none}.btn.secondary{background:white;color:var(--green);border-color:#cbd4cb}.btn.secondary:hover{background:#eef2eb}.btn:disabled{opacity:.45;cursor:not-allowed}.text-btn{border:0;padding:0;background:none;color:var(--green);text-decoration:underline;font-size:13px}.badge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:4px 9px;font-size:11px;font-weight:650;background:#eef1eb;border-radius:4px;color:#53614f}.badge.amber{color:#84601b;background:#f7edce}.badge.green{background:#e4efe6;color:#2a6842}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor}.brand{display:flex;align-items:center;gap:12px}.brand img{width:41px;height:48px}.brand-name{font-family:Georgia,serif;font-size:21px;line-height:1.2}.brand-name span{display:block;font:9px/2 -apple-system,sans-serif;letter-spacing:3.4px}.login{min-height:100vh;display:grid;grid-template-columns:1.08fr 1fr}.login-story{background:var(--green);color:#fff;padding:54px 10%;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-story:after{content:"";position:absolute;width:560px;height:560px;border:1px solid #ffffff12;border-radius:50%;bottom:-320px;right:-200px;box-shadow:0 0 0 55px #ffffff04,0 0 0 110px #ffffff03}.login-story h1{font-size:52px;max-width:440px;margin:30px 0 24px}.login-story p{color:#c8d5ce;max-width:360px;font-size:16px}.login-story .eyebrow{color:#d5bd83}.login-story footer{font-size:11px;color:#a9bfb3}.login-main{display:grid;place-items:center;padding:50px 32px}.login-card{width:100%;max-width:365px}.login-card h2{font:31px Georgia,serif;margin:12px 0}.login-card .btn{width:100%;margin-top:14px}.login-card label,.form-label{display:block;font-weight:600;font-size:13px;margin:23px 0 7px}input[type=text],input[type=password],textarea{display:block;width:100%;border:1px solid #cbd2cb;border-radius:5px;padding:12px;background:#fff;color:var(--ink)}.login-note{border-top:1px solid var(--line);padding-top:22px;margin-top:30px;font-size:12px;color:var(--muted)}.error{color:#a03030;font-size:13px;margin-top:12px}.layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--green);color:white;position:fixed;inset:0 auto 0 0;width:240px;padding:30px 22px;display:flex;flex-direction:column;z-index:5}.sidebar .brand{padding:0 7px 34px;border-bottom:1px solid #ffffff20}.sidebar .brand-name{font-size:19px}.sidebar .brand img{width:35px}.sidebar .eyebrow{color:#a4bbb0;margin:29px 13px 12px;font-size:10px}.nav{display:flex;flex-direction:column;gap:6px}.nav a{display:flex;gap:13px;align-items:center;padding:12px 14px;color:#d3dfd7;font-size:14px;border-radius:5px}.nav a:hover{background:#ffffff0a;text-decoration:none}.nav a.active{background:#ffffff13;color:white;box-shadow:inset 3px 0 #d0b679}.icon{width:19px;height:19px;display:inline-block;flex-shrink:0;vertical-align:middle}.nav-count{margin-left:auto;font-size:10px;background:#c7ac71;color:#18392d;border-radius:4px;padding:1px 6px}.sidebar-bottom{margin-top:auto;padding-top:28px;color:#b8cbbf}.term-box{border:1px solid #ffffff21;border-radius:6px;padding:15px;margin-bottom:23px;font-size:12px}.term-box strong{display:block;color:#edf1eb;margin:3px 0 8px}.term-line{height:3px;background:#ffffff20;border-radius:5px}.term-line div{width:62%;height:3px;background:#c6b27c}.sidebar-bottom small{color:#a4bbb0;font-size:10px}.workspace{grid-column:2;min-width:0}.topbar{height:80px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px}.topbar-title{font-size:12px;color:var(--muted)}.topbar-title strong{color:var(--ink);font-weight:500}.profile{display:flex;align-items:center;gap:12px}.avatar{border-radius:50%;background:#e9eee5;color:var(--green);font-size:11px;font-weight:700;width:35px;height:35px;display:grid;place-items:center}.profile-name{font-size:12px;line-height:1.5}.profile-name small{font-size:10px;display:block}.logout{border:0;border-left:1px solid var(--line);padding:7px 0 7px 15px;background:none;color:var(--muted);font-size:12px;margin-left:8px}.content{max-width:1340px;margin:auto;padding:38px 42px 24px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.page-head p{color:var(--muted);margin:0;font-size:14px}.term-label{color:#667464;font-size:11px;border:1px solid #d4dccf;padding:7px 11px;border-radius:5px;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:30px}.stat{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:21px 23px;display:flex;justify-content:space-between;align-items:center}.stat .number{font-size:28px;font-weight:500;line-height:1.2;margin:9px 0 3px}.stat small{font-size:11px}.stat-icon{background:#f0f3ec;padding:12px;border-radius:50%;color:#496c53}.two-col{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:25px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:25px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px;gap:10px}.panel-heading h2{margin:0}.panel-heading a{font-size:12px}.assignment-card{border:1px solid #d8ddd2;border-radius:7px;padding:22px;background:#fcfcf8;position:relative;overflow:hidden}.assignment-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold)}.assignment-card .eyebrow{color:#647959;font-size:10px;letter-spacing:1px}.assignment-card h3{font:22px/1.35 Georgia,serif;margin:12px 0 11px;max-width:470px}.assignment-card p{font-size:12px;color:var(--muted);margin-bottom:20px}.assignment-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px}.due{font-size:11px;color:#656b5d}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.course{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fff;display:block;color:var(--ink)}.course:hover{text-decoration:none;box-shadow:0 3px 12px #143d3509;border-color:#a8b6a7}.course-top{height:75px;padding:19px 20px;display:flex;justify-content:space-between;align-items:center;background:#e5ebdf;color:#395741}.course-top.blue{background:#e4eaf0;color:#4e6377}.course-top.sand{background:#f1eadc;color:#897249}.course-top.rose{background:#eee4e1;color:#916c63}.course-code{font-size:11px;letter-spacing:1.2px;font-weight:700}.course-body{padding:17px 20px}.course h3{font-size:14px;margin:0 0 6px}.course p{font-size:11px;color:var(--muted);margin:0 0 16px}.course-foot{font-size:10px;padding-top:12px;border-top:1px solid #edf0e9;display:flex;align-items:center;justify-content:space-between}.notice{font-size:12px;padding:17px 0;border-bottom:1px solid var(--line)}.notice:last-child{border:0;padding-bottom:0}.notice:first-of-type{padding-top:0}.notice strong{display:block;font-size:12px;margin:6px 0}.notice p{color:var(--muted);font-size:11px;margin:6px 0;line-height:1.65}.notice small{font-size:10px}.advisor{background:#eef1e8;border:1px solid #dbe2d3;border-radius:8px;padding:23px;font-size:12px}.advisor h3{font:20px Georgia,serif;margin:9px 0}.advisor p{color:#6b7666;font-size:12px;margin-bottom:14px}.bottom-footer{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#7f887d;border-top:1px solid var(--line);padding:20px 0;margin-top:12px}.crumbs{font-size:12px;color:var(--muted);margin-bottom:22px}.crumbs a{color:var(--muted)}.assignment-header{border-top:4px solid var(--green)}.assignment-header h1{font-size:32px;max-width:750px;margin:13px 0 18px}.meta-grid{display:flex;flex-wrap:wrap;gap:24px;border-top:1px solid var(--line);padding-top:18px;font-size:12px}.meta-grid span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:3px}.prose{font-size:14px;line-height:1.8}.prose h2{font:24px Georgia,serif;margin:28px 0 15px}.prose h2:first-child{margin-top:0}.prose li{margin-bottom:10px}.prose ul,.prose ol{padding-left:21px}.prompt{border-left:3px solid var(--gold);background:#f6f5ed;padding:18px 22px;font:20px/1.5 Georgia,serif}.rubric{width:100%;border-collapse:collapse;font-size:12px}.rubric th,.rubric td{text-align:left;padding:12px 0;border-bottom:1px solid var(--line)}.rubric th:last-child,.rubric td:last-child{text-align:right;padding-left:12px;white-space:nowrap}.rubric small{display:block;margin-top:4px;max-width:540px}.submission-panel{position:sticky;top:24px;align-self:start}.submission-panel h2{font-size:17px}.status-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin:16px 0}.upload-box{position:relative;border:1px dashed #a5b5a0;border-radius:6px;background:#f7f9f3;padding:25px 13px;text-align:center;display:block;cursor:pointer;overflow:hidden}.upload-box input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.upload-box:focus-within{outline:3px solid #b89446;outline-offset:3px}.upload-box.dragging{background:#e2eddd}.upload-box .icon{width:27px;height:27px;display:block;margin:0 auto 10px}.upload-box strong{font-size:12px;display:block}.upload-box small{font-size:10px;display:block;margin-top:6px}.selected-file{padding:12px;background:#eef3e9;border-radius:5px;font-size:12px;margin:12px 0;overflow-wrap:anywhere}.selected-file button{margin-top:6px}.check-label{display:flex;gap:9px;font-size:11px;margin:20px 0;align-items:flex-start}.check-label input{margin-top:4px;accent-color:var(--green);flex-shrink:0}.submission-panel .btn{width:100%}.submission-panel textarea{min-height:80px;font-size:12px;resize:vertical}.submission-panel .form-label{margin-top:18px;font-size:11px}.receipt{background:#f0f6ec;border:1px solid #d4e3cc;padding:18px;border-radius:6px;overflow-wrap:anywhere}.receipt h3{color:#2c653c;margin:10px 0}.receipt dl{font-size:11px}.receipt dt{color:var(--muted);margin-top:12px}.receipt dd{margin:2px 0 0}.receipt .icon{color:#327047}.info-line{font-size:11px;color:var(--muted);margin:18px 0 0}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.7px;font-size:10px;font-weight:600;background:#f8f9f5}.data-table td,.data-table th{text-align:left;padding:18px 16px;border-bottom:1px solid var(--line)}.data-table td small{display:block;font-size:11px}.data-table tr:last-child td{border:0}.empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:6px}.date-tile{background:#eef1e8;border-radius:6px;padding:12px 19px;text-align:center;font-size:11px;flex-shrink:0}.date-tile strong{display:block;font:27px Georgia,serif}.event{display:flex;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.event:last-child{border:0}.event h3{margin:0 0 5px}.event p{margin:0;color:var(--muted);font-size:12px}details{border-bottom:1px solid var(--line);padding:18px 0}summary{font-weight:600;cursor:pointer;font-size:14px}details p{margin:15px 0 0;color:var(--muted);font-size:13px}.toast{background:#e7f0df;border:1px solid #b8cdaa;padding:13px 18px;border-radius:5px;font-size:13px;margin-bottom:20px}.login-top{display:none}dialog{border:1px solid var(--line);border-radius:10px;padding:28px;max-width:420px;width:calc(100% - 40px);box-shadow:0 16px 70px #0002;color:var(--ink)}dialog::backdrop{background:#12372c77}dialog p{font-size:13px;color:var(--muted)}.dialog-actions{display:flex;gap:10px;justify-content:flex-end}.skip-link{position:fixed;left:10px;top:-80px;z-index:20;padding:10px;background:white}.skip-link:focus{top:10px}@media(min-width:1500px){.content{padding-top:48px}.two-col{grid-template-columns:minmax(0,1fr) 320px}}@media(max-width:1100px){.layout{grid-template-columns:205px 1fr}.sidebar{width:205px;padding:25px 14px}.sidebar .brand-name{font-size:17px}.topbar{padding:0 25px}.content{padding:30px 25px}.two-col{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.panel{padding:20px}.stats{gap:12px}.stat{padding:17px}.stat-icon{display:none}.assignment-bottom{align-items:flex-start;flex-direction:column}}@media(max-width:900px){.two-col{grid-template-columns:1fr}.submission-panel{position:static}.right-rail{display:grid;grid-template-columns:1fr 1fr;gap:20px}.right-rail .panel{margin-bottom:0}.assignment-bottom{flex-direction:row;align-items:center}.page-head h1{font-size:30px}.topbar-title{display:none}.topbar{justify-content:flex-end}.term-label{display:none}}@media(max-width:640px){.login{grid-template-columns:1fr}.login-story{padding:26px;min-height:auto}.login-story h1{font-size:32px;margin:24px 0 12px}.login-story p,.login-story footer,.login-story .eyebrow{display:none}.login-main{padding:35px 25px}.layout{display:block}.sidebar{position:static;width:100%;padding:15px 18px}.sidebar .brand{padding:0 0 15px;border:0}.sidebar .brand img{height:35px}.sidebar .brand-name{font-size:18px}.sidebar .brand-name span{font-size:8px}.sidebar .eyebrow,.sidebar-bottom{display:none}.nav{flex-direction:row;gap:3px;overflow-x:auto}.nav a{font-size:11px;padding:9px 10px;gap:6px;white-space:nowrap}.nav .icon{width:15px;height:15px}.nav a.active{box-shadow:inset 0 -2px #d0b679}.nav-count{display:none}.topbar{height:64px;padding:0 20px}.content{padding:25px 18px}.page-head{margin-bottom:22px}.page-head h1{font-size:29px}.stats{gap:8px;margin-bottom:22px}.stat{padding:12px 10px}.stat .number{font-size:24px}.stat small{font-size:9px}.stat .muted{font-size:10px}.panel{padding:18px;margin-bottom:20px}.course-grid{gap:12px}.course-top{padding:15px;height:64px}.course-body{padding:14px}.course h3{font-size:13px}.course-foot{align-items:flex-start;gap:8px;flex-direction:column}.right-rail{grid-template-columns:1fr}.assignment-card{padding:18px}.assignment-card h3{font-size:20px}.assignment-bottom{flex-direction:column;align-items:flex-start;gap:15px}.assignment-header h1{font-size:27px}.meta-grid{gap:18px}.bottom-footer{flex-direction:column}.prose{font-size:13px}.table-wrap{margin:0 -18px}.data-table th,.data-table td{padding:14px 12px}.event{align-items:flex-start}.profile-name small{display:none}}
