@import url('/fonts.css');
:root{--ink:#173d38;--muted:#6a7770;--green:#205c50;--lime:#d8ee94;--paper:#f7f8f2;--line:#e1e6dd;--white:#fff}*{box-sizing:border-box}body{margin:0;font:15px/1.6 'Segoe UI',sans-serif;color:var(--ink);background:var(--paper)}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:0;border-radius:9px;padding:10px 16px;background:#eaf0e6;color:var(--ink);font-weight:600}button:hover{filter:brightness(.96)}a{color:var(--green)}[hidden]{display:none!important}.brand{text-decoration:none;font-size:25px;font-weight:750;letter-spacing:-1px;color:var(--ink);display:flex;align-items:center;gap:2px}.brand span{font-weight:400}.brand b{margin-left:12px;background:var(--lime);border-radius:50%;width:32px;height:32px;text-align:center;font-size:22px}.eyebrow,.nav-label{font-size:11px;font-weight:700;letter-spacing:1.8px}.pill{display:inline-block;padding:5px 10px;background:#edf2e5;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:1px}.primary{background:var(--green);color:white;display:flex;gap:30px;align-items:center;justify-content:space-between}.primary span{font-size:20px}h1,h2,h3,p{margin-top:0}h1{font-size:42px;line-height:1.15;letter-spacing:-1.5px;font-weight:650}h2{font-size:25px;letter-spacing:-.6px}h3{font-size:18px;line-height:1.35;margin-bottom:8px}p{color:var(--muted)}small{color:var(--muted)}label{display:block;font-weight:600;font-size:13px;margin:16px 0}input,select,textarea{width:100%;display:block;border:1px solid #ccd6ca;background:white;border-radius:8px;padding:11px;margin-top:6px;color:var(--ink)}textarea{min-height:120px;resize:vertical}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.08fr 1fr}.intro{background:#e6eddc;padding:45px 65px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.intro h1{font-size:clamp(40px,4.5vw,70px);margin:22px 0}.intro p{font-size:18px}.intro .eyebrow{font-size:11px}.intro-tags{display:flex;gap:24px;margin-top:45px;font-size:12px}.login-panel{display:grid;place-items:center;padding:40px}.login-panel form{max-width:370px;width:100%}.login-panel h2{font-size:36px;margin:25px 0 8px}.login-panel .primary{width:100%;margin-top:25px}.login-panel small{display:block;margin-top:30px}#login-error,#form-error{color:#ad3737}#shell{display:flex;min-height:100vh}aside{width:246px;background:#fff;border-right:1px solid var(--line);padding:30px 22px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}aside .brand{font-size:23px}.nav-label{color:#899187;margin:48px 12px 12px}nav{display:grid;gap:5px}nav button{text-align:left;background:transparent;font-size:14px;font-weight:500;padding:13px}nav button.active{background:#eaf1df;color:var(--green);font-weight:700}.aside-foot{margin-top:auto;padding-top:30px}.aside-foot button{background:transparent;font-size:12px;padding:7px 0;display:block}#identity{border-top:1px solid var(--line);padding-top:20px;font-weight:650}.workspace{margin-left:246px;flex:1;min-width:0}header{height:85px;background:#fff;border-bottom:1px solid var(--line);padding:0 44px;display:flex;align-items:center;justify-content:space-between;gap:20px}header .eyebrow{color:#728076}header .pill{margin-left:16px}header select{width:235px;margin:0;font-size:13px}main{padding:40px 44px;max-width:1550px;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-title h1{margin-bottom:8px}.page-title p{margin:0}.hero{background:var(--green);color:white;padding:32px 36px;border-radius:16px;display:flex;justify-content:space-between;gap:25px;margin-bottom:27px;position:relative;overflow:hidden}.hero h2{font-size:32px;max-width:530px;margin-bottom:10px}.hero p{color:#d4e4d6;max-width:480px;margin:0}.hero .pill{background:#437363;color:#edffb7;margin-bottom:18px}.hero-art{font-size:92px;color:var(--lime);line-height:1;align-self:center;padding-right:30px;transform:rotate(-12deg)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:35px}.stat{padding:20px 24px;border:1px solid var(--line);border-radius:12px;background:white}.stat strong{font-size:32px;display:block}.stat span{font-size:13px;color:var(--muted)}.section-head{display:flex;align-items:center;justify-content:space-between;margin:28px 0 16px}.section-head h2{font-size:21px;margin:0}.section-head button{background:transparent;font-size:12px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}.card{background:white;border:1px solid var(--line);border-radius:13px;padding:23px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.card p{font-size:14px;margin-bottom:8px;white-space:pre-wrap}.card .meta{font-size:12px;color:var(--muted)}.card .pill{margin-bottom:8px}.card button{margin-top:auto;font-size:13px}.class-card{border-top:5px solid #a1b77a}.class-card:nth-child(3n+2){border-top-color:#d5ae79}.class-card:nth-child(3n+3){border-top-color:#94b2c4}.empty{border:1px dashed #cbd5c4;background:#f0f4e9;border-radius:12px;text-align:center;padding:36px;color:var(--muted)}.row-list{display:grid;gap:12px}.row{border:1px solid var(--line);background:white;border-radius:11px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.row h3{font-size:16px;margin:0}.row p{font-size:12px;margin:4px 0 0}.row button{font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.badge{font-size:11px;padding:4px 9px;border-radius:20px;background:#e7efdc;color:#436238}.muted{color:var(--muted)}.document-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.document-bar input{font-size:21px;font-weight:600;margin:0;max-width:550px}.toolbar{background:white;padding:10px;border:1px solid var(--line);border-radius:10px 10px 0 0;display:flex;gap:5px;flex-wrap:wrap}.toolbar button{background:#f1f4eb;padding:6px 15px}.editor{max-width:830px;min-height:650px;margin:25px auto;background:white;padding:60px 70px;box-shadow:0 4px 18px #213d3810;border:1px solid var(--line);outline:none;overflow-wrap:anywhere}.editor:focus{border-color:#8fab84}.editor p{color:inherit}.document-status{font-size:12px;color:var(--muted)}.work-preview{background:white;border:1px solid var(--line);padding:25px;max-height:500px;overflow:auto;overflow-wrap:anywhere}.work-preview p{color:inherit}footer{font-size:11px;color:#8a9489;border-top:1px solid var(--line);padding:20px 44px;display:flex;justify-content:space-between}dialog{width:min(570px,95vw);border:1px solid var(--line);border-radius:16px;padding:28px;color:var(--ink);max-height:90vh}dialog::backdrop{background:#12352c66;backdrop-filter:blur(3px)}.modal-heading{display:flex;justify-content:space-between;align-items:center}.modal-heading h2{margin:0}.modal-heading button{background:transparent;font-size:25px;padding:0 8px}#toast{position:fixed;bottom:25px;right:25px;background:var(--green);color:white;padding:14px 24px;border-radius:10px;box-shadow:0 5px 25px #0002;z-index:5}.danger{color:#a73c32}@media(max-width:950px){aside{width:205px;padding:25px 14px}.workspace{margin-left:205px}main{padding:30px 24px}header{padding:0 24px}header .eyebrow{display:none}.hero-art{display:none}.editor{padding:30px}.intro{padding:40px}}@media(max-width:650px){.login-layout{display:block}.intro{min-height:340px;padding:25px}.intro h1{font-size:38px}.intro-tags,.intro>small{display:none}.intro p{font-size:15px}.login-panel{padding:35px 25px}#shell{display:block}aside{position:static;width:auto;padding:18px}.nav-label,.aside-foot{display:none}nav{display:flex;overflow:auto;margin-top:15px}nav button{white-space:nowrap;padding:10px;font-size:12px}.workspace{margin:0}header{height:60px;padding:0 18px}header .pill{margin:0}main{padding:25px 18px}h1{font-size:30px}.stats{gap:8px}.stat{padding:14px}.stat strong{font-size:25px}.stat span{font-size:11px}.hero{padding:25px}.hero h2{font-size:26px}.page-title{align-items:flex-start}.page-title button{font-size:12px;padding:10px}.document-bar{flex-wrap:wrap}.editor{padding:22px;min-height:450px}.row{padding:15px;flex-wrap:wrap}footer{padding:18px;font-size:10px}}@media print{aside,header,footer,.toolbar,.page-title,.document-bar,#toast{display:none!important}.workspace{margin:0}main{padding:0}.editor{box-shadow:none;border:none;margin:0;max-width:none;padding:0}}
