.student-portal{min-height:100vh;display:grid;grid-template-columns:260px 1fr;background:#f7f1e5;color:#26322d}.student-sidebar{position:sticky;top:0;height:100vh;background:#173d32;color:white;padding:28px 20px;display:flex;flex-direction:column}.student-sidebar nav{display:grid;gap:5px}.student-sidebar nav button{border:0;background:transparent;color:#c8d7d0;border-radius:12px;padding:13px 14px;text-align:left;font:inherit;font-weight:700;cursor:pointer}.student-sidebar nav button i{display:inline-block;width:30px;font-style:normal}.student-sidebar nav button.active{background:rgba(255,255,255,.12);color:#fff}.student-sidebar .profile{margin-top:auto}.student-sign-out{margin-top:18px;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:transparent;color:#fff;padding:11px;font-weight:800;cursor:pointer}.student-main{padding:32px clamp(24px,5vw,80px) 80px;max-width:1500px;width:100%;margin:auto}.student-top{margin-bottom:24px}.student-top small,.student-page-title small,.student-section-head small{font-size:11px;letter-spacing:.16em;color:#28594a;font-weight:900}.student-top h2{font:500 clamp(30px,4vw,44px) Georgia,serif;color:#173d32;margin:6px 0}.student-hero{min-height:260px;border-radius:26px;padding:42px;background:linear-gradient(125deg,#173d32,#2d5b4d);color:#fff;display:flex;align-items:center;justify-content:space-between;box-shadow:0 18px 42px rgba(23,61,50,.18);overflow:hidden}.student-hero p{color:#dec783;font-size:11px;letter-spacing:.16em;font-weight:900}.student-hero h1{font:500 clamp(32px,5vw,56px) Georgia,serif;margin:10px 0 14px}.student-hero span{color:#dce9e2;font-size:17px;line-height:1.6}.hero-note{font:160px Georgia,serif;color:rgba(255,255,255,.08)}.student-section{margin-top:36px}.student-section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:15px}.student-section-head h2,.student-page-title h1{font:500 34px Georgia,serif;color:#173d32;margin:6px 0}.student-section-head button{border:0;background:transparent;color:#28594a;font-weight:800;cursor:pointer}.focus-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.focus-cards article{background:#fffdf8;border:1px solid #ded8ca;border-radius:18px;padding:22px;min-height:155px}.focus-cards b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#173d32;color:#fff}.focus-cards h3{font:500 21px Georgia,serif;color:#173d32}.focus-cards p{color:#6f7772;line-height:1.5}.student-page-title{margin:30px 0}.student-page-title p{color:#6f7772;font-size:17px}.lesson-entry{display:grid;grid-template-columns:70px 1fr auto;gap:18px;align-items:center;background:#fffdf8;border:1px solid #ded8ca;border-radius:17px;padding:18px;margin-bottom:12px}.lesson-date{width:58px;height:58px;border-radius:12px;background:#f0e4c6;display:grid;place-items:center}.lesson-date strong{font-size:22px}.lesson-date span{font-size:10px;font-weight:900}.lesson-entry small{color:#c7a55b;font-weight:900}.lesson-entry h3{font:500 20px Georgia,serif;color:#173d32;margin:4px 0}.lesson-entry p{margin:0;color:#6f7772}.lesson-entry b{color:#28594a}.student-empty{min-height:250px;background:#fffdf8;border:1px solid #ded8ca;border-radius:20px;display:grid;place-items:center;text-align:center;align-content:center;padding:35px}.student-empty>span{font-size:42px;color:#c7a55b}.student-empty h2{font:500 28px Georgia,serif;color:#173d32;margin:12px}.student-empty p{max-width:620px;color:#6f7772;line-height:1.6}.student-mobile-nav{display:none}.preview-bar{position:relative}.student-portal .preview-bar+.student-top{margin-top:12px}@media(max-width:800px){.student-portal{display:block}.student-sidebar{display:none}.student-main{padding:22px 18px 100px}.student-hero{min-height:230px;padding:28px}.hero-note{display:none}.focus-cards{grid-template-columns:1fr}.student-mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;background:#173d32;padding:8px 5px;z-index:30}.student-mobile-nav button{border:0;background:transparent;color:#bcd0c7;display:grid;gap:3px;place-items:center;font-size:10px}.student-mobile-nav button i{font-style:normal;font-size:18px}.student-mobile-nav button.active{color:#dec783}.lesson-entry{grid-template-columns:58px 1fr}.lesson-entry>b{grid-column:2}.preview-bar button{width:100%}}
