:root{--bg:#f6f2e9;--card:#fffdf9;--ink:#0a202a;--muted:#646b76;--green:#205849;--green-dark:#153f35;--wine:#8e2845;--line:#e7dfd2}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 0,#fcfaf5 0,transparent 60%),var(--bg);color:var(--ink);font:16px/1.5 'Segoe UI',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}h1{font-size:clamp(30px,3.4vw,49px);line-height:1.16;letter-spacing:-1.3px;margin:0 0 9px;font-weight:750;overflow-wrap:anywhere}h2{font-size:27px;line-height:1.25;margin:0 0 5px;letter-spacing:-.5px}h3{font-size:20px;margin:0 0 10px}p{margin:6px 0}small{font-size:14px;color:var(--muted)}.muted,.sub,.helptext{color:var(--muted)}.sub{font-size:21px}.sidebar{position:fixed;inset:0 auto 0 0;width:264px;padding:39px 22px 27px;background:#f0eadf80;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:17px;font-size:21px;line-height:1.15;font-weight:600;margin:0 20px 38px}.brand-symbol{position:relative;display:block;width:39px;height:55px;flex:none}.brand-symbol i{position:absolute;left:0;top:0;width:29px;height:45px;border-radius:20px 20px 20px 3px;transform:skewY(-22deg);background:linear-gradient(145deg,#164238,#347460)}.brand-symbol b{position:absolute;bottom:0;right:0;width:21px;height:23px;border-radius:4px 14px 14px;transform:rotate(40deg);background:var(--wine)}.sidebar nav{display:grid;gap:9px}.sidebar nav a{display:flex;align-items:center;gap:18px;padding:19px 21px;border-radius:27px;font-size:19px;min-height:64px}.sidebar nav a.active{background:linear-gradient(120deg,#205044,#296351);color:white}.sidebar nav a:hover:not(.active){background:#e9e3d8}.sidebar-user{display:flex;gap:14px;align-items:center;border-top:1px solid var(--line);padding:22px 8px 0;margin-top:auto}.sidebar-user strong{display:block;font-size:15px;overflow-wrap:anywhere}.sidebar-user small{display:block}.logout{background:none;border:0;color:var(--green);padding:4px 0;text-decoration:underline;font-size:13px}.shell{margin-left:264px;padding:48px 34px;max-width:1920px}.main{max-width:1440px;margin:auto}.welcome{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:30px;align-items:end;margin:0 0 30px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:27px}.actions form{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:13px 24px;border:1px solid var(--green);border-radius:25px;background:transparent;color:var(--green-dark);font-weight:600;line-height:1.3;text-align:center;font-size:16px;transition:background .15s}.btn:hover{background:#e8eee5}.btn.primary{background:linear-gradient(110deg,#205044,#296351);border-color:var(--green);color:white}.btn.primary:hover{background:var(--green-dark)}.welcome .btn{min-height:64px;padding:16px 27px;font-size:19px}.btn.compact{font-size:14px;min-height:43px;padding:10px 18px;white-space:nowrap}.student-counter{background:#fffcf6c9;border-radius:27px;padding:25px;display:flex;align-items:center;justify-content:space-between;min-height:130px;font-size:19px}.student-counter strong{display:block;font-size:46px;font-weight:650;line-height:1.1;margin-top:5px}.student-counter:hover{background:white}.panel{background:var(--card);border-radius:27px;padding:29px;margin:25px 0}.activity{margin-top:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px}.section-heading .muted{font-size:17px}.segmented{display:flex;padding:4px;border:1px solid var(--line);border-radius:30px;background:#f7f3eb;flex:none}.segmented a{padding:10px 19px;border-radius:25px;color:#4b535d;font-size:15px}.segmented a.selected{background:var(--green);color:white}.activity-row{display:grid;grid-template-columns:minmax(210px,1.6fr) 90px minmax(110px,.7fr) minmax(115px,.7fr) auto;gap:18px;align-items:center;padding:22px 0;border-top:1px solid var(--line)}.person{display:flex;align-items:center;gap:16px;min-width:0}.person>div{min-width:0}.person-name{font-weight:650;font-size:17px;overflow-wrap:anywhere}.person-name:hover{text-decoration:underline}.person p{font-size:15px;margin:3px 0 0;overflow-wrap:anywhere}.avatar{display:flex;justify-content:center;align-items:center;width:57px;height:57px;border-radius:50%;flex:none;font-size:20px;font-weight:600;background:#e1e9de;color:var(--green)}.avatar.mint{background:#e1e9de}.avatar.rose{background:#f3dfe2;color:var(--wine)}.avatar.sand{background:#eae2d4;color:#5d4935}.activity-row time{font-size:14px;color:var(--muted);border-left:1px solid var(--line);padding-left:17px}.badge{display:inline-flex;align-items:center;gap:7px;border-radius:22px;padding:8px 12px;font-size:13px;font-weight:600;line-height:1.25}.badge svg{width:18px;height:18px}.badge.green{color:#205342;background:#e5eddf}.badge.rose{color:#87213d;background:#f8e5e7}.badge.neutral{color:#655a43;background:#f0e9dc}.heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:28px}.search-panel{display:grid;grid-template-columns:minmax(150px,1fr) minmax(160px,260px) auto;gap:16px;padding:18px;background:var(--card);border-radius:27px;margin-bottom:22px;align-items:center}.search-field{position:relative}.search-field svg{position:absolute;left:20px;top:18px;pointer-events:none}.search-field input{padding-left:56px}.search-panel input,.search-panel select{height:60px;border-radius:24px;background:#fcfaf6}.reset{font-size:14px;text-decoration:underline;padding:0 10px}.student-row{display:grid;grid-template-columns:minmax(210px,1.3fr) minmax(160px,1fr) minmax(105px,.6fr) minmax(110px,.6fr) auto;align-items:center;gap:16px;background:var(--card);padding:24px 22px;border-radius:25px;margin-bottom:12px}.latest-topic{border-left:1px solid var(--line);padding-left:18px;overflow-wrap:anywhere}.latest-topic small{display:block}.latest-topic p{color:var(--muted);margin:3px 0}.pagination{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 5px 0;color:var(--muted);font-size:14px}.pagination>div{display:flex;align-items:center;gap:9px}.page-button{display:grid;place-items:center;min-width:45px;min-height:45px;border:1px solid var(--line);border-radius:15px;color:var(--green-dark)}.page-button.current{background:var(--green);color:white;border-color:var(--green)}.page-button:hover{border-color:var(--green)}.empty{padding:48px 15px;text-align:center;color:var(--muted)}.empty h2,.empty h3{color:var(--ink)}.narrow{max-width:760px}.back{display:inline-block;color:var(--green);margin-bottom:23px}.back:hover{text-decoration:underline}label{display:block;font-weight:600;margin:0 0 7px}input,select,textarea{width:100%;max-width:100%;padding:13px 16px;border:1px solid #c9c0b2;border-radius:14px;background:#fffefa;color:var(--ink)}textarea{resize:vertical}.panel form p{margin:19px 0}.helptext{display:block;font-size:14px;margin-top:7px}.errorlist{color:var(--wine)}.notice{padding:16px 20px;background:#e2ecdf;border-left:4px solid var(--green);border-radius:10px;margin:0 0 22px}.task-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 0;border-bottom:1px solid var(--line)}.task-row>div{min-width:0;overflow-wrap:anywhere}.reports{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px}.reports .panel{margin:0}.reports h2{font-size:23px}.reports p{margin-top:22px}.prose{line-height:1.75;overflow-wrap:anywhere}.answer{padding:18px 0;border-bottom:1px solid var(--line)}.inline-actions{display:flex;gap:14px;flex-wrap:wrap}.danger{color:var(--wine);border-color:var(--wine)}.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}.skip-link{position:fixed;top:-90px;left:15px;padding:15px;background:white;z-index:100}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #a86826;outline-offset:4px}
@media(min-width:1600px){.shell{padding:58px 45px}.sidebar{width:285px}.shell{margin-left:285px}.welcome{grid-template-columns:minmax(0,1fr) 300px}.activity-row,.student-row{padding-top:27px;padding-bottom:27px}}
@media(max-width:1250px){.sidebar{width:225px;padding:30px 15px}.brand{margin-left:10px;font-size:19px}.sidebar nav a{padding:17px 15px;font-size:17px}.shell{margin-left:225px;padding:35px 25px}.welcome{grid-template-columns:minmax(0,1fr) 170px;gap:20px}.welcome .btn{font-size:16px;padding:15px 19px}.activity-row{grid-template-columns:minmax(180px,1fr) 86px auto;gap:12px}.activity-row>.person{grid-column:1}.activity-row>time{grid-column:2}.activity-row>.btn{grid-column:3;grid-row:1}.activity-row>.result-status{grid-column:1}.student-row{grid-template-columns:minmax(190px,1fr) minmax(150px,1fr) auto;gap:13px}.student-row>.btn{grid-column:3;grid-row:1}.student-row>.latest-topic{grid-column:2;grid-row:1}.section-heading{align-items:flex-start;flex-wrap:wrap}.student-counter{padding:20px;font-size:16px}.student-counter strong{font-size:40px}.sub{font-size:18px}}
@media(max-width:800px){.sidebar{position:relative;width:auto;padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:15px}.brand{margin:0;font-size:18px}.brand-symbol{width:32px;height:43px;transform:scale(.8);transform-origin:left center}.sidebar nav{grid-row:2;grid-column:1/-1;display:flex;gap:8px}.sidebar nav a{flex:1;justify-content:center;padding:12px;min-height:48px;border-radius:20px;font-size:15px;gap:10px}.sidebar-user{padding:0;border:0;margin:0;gap:8px;max-width:170px}.sidebar-user .avatar{display:none}.sidebar-user strong{font-size:13px}.sidebar-user small{display:none}.shell{margin:0;padding:26px 18px}.welcome{grid-template-columns:1fr}.welcome .actions{gap:10px;margin-top:20px}.welcome .btn{min-height:52px;padding:13px 18px}.student-counter{min-height:80px;border-radius:20px;padding:16px 20px}.student-counter span{display:flex;align-items:center;gap:17px}.student-counter strong{font-size:32px;margin:0}h1{font-size:33px}.heading{align-items:flex-start;flex-wrap:wrap;gap:18px}.panel{padding:21px;border-radius:23px}.search-panel{grid-template-columns:1fr auto;padding:15px;gap:12px}.search-field{grid-column:1/-1}.search-panel input,.search-panel select{height:53px}.search-field svg{top:14px}.search-panel .btn{padding:12px 20px}.student-row,.activity-row{grid-template-columns:minmax(0,1fr) auto;gap:13px;padding:20px}.activity-row{padding:20px 0}.student-row>.person,.activity-row>.person{grid-column:1/-1}.student-row>.latest-topic{grid-column:1/-1;grid-row:auto;border:0;padding:0}.student-row>.btn,.activity-row>.btn{grid-column:1/-1;grid-row:auto;justify-self:stretch}.activity-row>time{grid-column:1/-1;border:0;padding:0}.activity-row>time br{display:none}.activity-row>.result-status{grid-column:1}.person-name{font-size:17px}.avatar{width:51px;height:51px}.segmented{width:100%}.segmented a{flex:1;text-align:center;padding:10px 12px;font-size:14px}.section-heading{gap:17px}.section-heading h2{font-size:24px}.reports{grid-template-columns:1fr}.task-row{flex-wrap:wrap}.pagination{gap:10px;font-size:13px}.page-button{min-width:39px;min-height:42px}.btn{min-height:46px}.sub{font-size:18px}.empty{padding:30px 10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
