:root{--g:#126c59;--gd:#0b5548;--bg:#f5f7f5;--ink:#172a24;--muted:#718078;--line:#dde5e1;--white:#fff;--amber:#b7793f}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px Arial,"Microsoft YaHei",sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}.login{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr}.brandpane{padding:56px 7vw;color:#fff;background:linear-gradient(145deg,#0b6956,#123f3a);display:flex;flex-direction:column;justify-content:space-between}.logo{display:flex;align-items:center;gap:12px;font-weight:700}.logo b{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e1f3eb;color:var(--g);font:700 24px Georgia}.hero h1{font:700 clamp(42px,5vw,68px)/1.16 Georgia,"Microsoft YaHei";margin:18px 0}.hero p{max-width:520px;color:#d3e8e2;line-height:1.9}.loginpane{display:grid;place-items:center;padding:36px}.box{width:min(430px,100%)}h2{font-size:32px;margin:8px 0}.muted{color:var(--muted)}.tabs{display:grid;grid-template-columns:1fr 1fr;background:#e9efec;padding:5px;border-radius:12px;margin:28px 0}.tabs button{border:0;background:none;padding:11px;border-radius:9px}.tabs .on{background:#fff;color:var(--g);font-weight:700}.field{display:block;font-size:14px;font-weight:700;margin:18px 0}.field input,.field textarea,.field select{display:block;width:100%;margin-top:8px;padding:13px;border:1px solid #cad6d0;border-radius:9px;background:#fff}.field textarea{min-height:130px;resize:vertical}.primary{border:0;border-radius:9px;padding:13px 18px;background:var(--g);color:#fff;font-weight:700}.wide{width:100%}.error{padding:10px;background:#fff0ed;color:#a33;border-radius:8px}.shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.side{position:sticky;top:0;height:100vh;background:var(--gd);padding:25px 16px;color:#fff;display:flex;flex-direction:column}.side nav{display:flex;flex-direction:column;gap:6px;margin-top:32px}.side nav button{border:0;border-radius:9px;padding:12px 14px;text-align:left;background:transparent;color:#bcd6cf}.side nav .on,.side nav button:hover{background:#ffffff18;color:#fff}.logout{margin-top:auto;border:1px solid #ffffff30;background:transparent;color:#d7e8e3;padding:10px;border-radius:8px}.main{min-width:0}.top{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px}.page{max-width:1300px;margin:auto;padding:34px}.pagehead h1{font-size:28px;margin:0 0 6px}.pagehead{margin-bottom:24px}.grid{display:grid;gap:14px}.stats{grid-template-columns:repeat(3,1fr);margin-bottom:18px}.card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:21px}.stat b{display:block;font:700 32px Georgia;margin:10px 0}.stat span,.stat small{color:var(--muted)}.task{display:grid;grid-template-columns:1fr auto;gap:12px;margin-bottom:12px}.task h3{margin:8px 0}.tag,.status{display:inline-block;padding:5px 8px;border-radius:6px;background:#e4f2ed;color:var(--g);font-size:12px;font-weight:700}.status.submitted{background:#f9eadc;color:#996238}.status.reviewed{background:#e4f2ed}.task p{color:var(--muted);line-height:1.6}.task button{align-self:center}.formgrid{grid-template-columns:1fr 1fr}.answer{grid-column:1/-1;border-top:1px solid var(--line);padding-top:14px}.answer textarea{width:100%;min-height:130px;padding:12px;border:1px solid var(--line);border-radius:8px}.review{background:#eef6f2;border-radius:9px;padding:15px;margin-top:12px}.score{font:700 30px Georgia;color:var(--g)}footer{text-align:center;padding:22px;color:var(--muted);font-size:13px}footer a{color:var(--muted)}.toast{position:fixed;z-index:5;top:18px;left:50%;transform:translateX(-50%);background:#173f35;color:#fff;padding:11px 17px;border-radius:8px}@media(max-width:760px){.login{grid-template-columns:1fr}.brandpane{min-height:330px;padding:28px}.loginpane{padding:35px 20px}.shell{grid-template-columns:1fr}.side{position:fixed;z-index:3;left:0;right:0;bottom:0;top:auto;height:68px;flex-direction:row;padding:8px}.side .logo,.logout{display:none}.side nav{margin:0;flex:1;flex-direction:row;justify-content:space-around}.side nav button{padding:10px 7px;font-size:13px}.page{padding:24px 15px 95px}.top{padding:0 16px}.stats,.formgrid{grid-template-columns:1fr}.task{grid-template-columns:1fr}.task button{justify-self:start}}
