:root{--ink:#17352c;--green:#185642;--green2:#2d7962;--pale:#edf5f1;--border:#d6e2dc;--muted:#64766f;--white:#fff}*{box-sizing:border-box}body{margin:0;background:#f7faf8;color:var(--ink);font:15px/1.55 Inter,system-ui,sans-serif}.site-header{min-height:76px;padding:12px 4%;display:flex;align-items:center;gap:28px;background:#fff;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.brand img{width:43px;height:43px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1.1}.brand small{margin-top:4px;color:var(--muted)}header nav{display:flex;gap:19px;margin-left:auto}header nav a{color:var(--muted);font-weight:750;text-decoration:none}header nav a:hover,header nav a.active{color:var(--green)}button,.hero-guide,.support-strip>a{border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--green);padding:10px 14px;font:inherit;font-weight:800;text-decoration:none;cursor:pointer}main{max-width:1220px;margin:auto;padding:38px 24px 90px}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:42px;border-radius:25px;background:linear-gradient(130deg,#174f40,#2d7962);color:#fff}.hero p,.section-heading p,.support-strip p{margin:0;font-size:11px;font-weight:850;letter-spacing:1.35px}.hero h1{margin:5px 0 8px;font-size:clamp(35px,5vw,57px);line-height:1.04;letter-spacing:-1.8px}.hero span{color:#dbeae4}.hero-guide{flex:0 0 auto;border-color:rgba(255,255,255,.45);background:#fff}#status{padding:16px 4px;color:var(--muted)}#status.error{color:#973a3e}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:24px 0}.metric{padding:21px;border:1px solid var(--border);border-radius:16px;background:#fff}.metric strong{display:block;font-size:32px;line-height:1}.metric span{display:block;margin-top:8px;font-weight:800}.metric small{color:var(--muted)}.quick-actions,.dashboard-panel{margin-top:18px;padding:27px;border:1px solid var(--border);border-radius:18px;background:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.section-heading h2{margin:3px 0 0}.section-heading>a{color:var(--green);font-weight:800;text-decoration:none}.action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.action-grid>a{display:flex;min-height:145px;flex-direction:column;padding:18px;border:1px solid var(--border);border-radius:14px;color:var(--ink);text-decoration:none;background:#fbfdfc}.action-grid>a:hover{border-color:var(--green);transform:translateY(-1px)}.action-grid span{color:var(--green);font-size:11px;font-weight:900}.action-grid b{margin-top:auto;font-size:17px}.action-grid small{margin-top:5px;color:var(--muted)}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.work-card{display:flex;flex-direction:column;min-height:160px;padding:18px;border:1px solid var(--border);border-radius:14px;color:var(--ink);text-decoration:none}.work-card:hover{border-color:var(--green)}.work-card header{display:flex;align-items:start;justify-content:space-between;gap:10px}.work-card h3{margin:2px 0 10px}.work-card header span{padding:4px 8px;border-radius:999px;background:var(--pale);color:var(--green);font-size:10px;font-weight:850}.work-card>span{color:var(--muted)}.work-card footer{display:flex;gap:12px;margin-top:auto;color:var(--muted);font-size:12px}.dashboard-columns{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.class-row,.result-row{display:grid;align-items:center;gap:12px;padding:15px 0;border-top:1px solid var(--border);color:var(--ink);text-decoration:none}.class-row{grid-template-columns:1fr auto}.result-row{grid-template-columns:1fr auto}.class-row:first-child,.result-row:first-child{border-top:0}.class-row b,.result-row b{display:block}.class-row small,.result-row small{color:var(--muted)}.class-stats{display:flex;gap:7px}.class-stats span{padding:5px 8px;border-radius:8px;background:var(--pale);font-size:11px}.empty{margin:0;color:var(--muted)}.support-strip{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:18px;padding:28px;border-radius:18px;background:var(--pale);border:1px solid var(--border)}.support-strip h2{margin:3px 0}.support-strip span{color:var(--muted)}@media(max-width:950px){header nav{display:none}.metrics,.action-grid{grid-template-columns:1fr 1fr}.work-grid{grid-template-columns:1fr 1fr}.dashboard-columns{grid-template-columns:1fr}}@media(max-width:620px){main{padding:20px 14px 60px}.hero{display:block;padding:28px}.hero-guide{display:inline-block;margin-top:20px}.metrics,.action-grid,.work-grid{grid-template-columns:1fr}.site-header{gap:12px}.site-header>button{margin-left:auto}.quick-actions,.dashboard-panel{padding:19px}.section-heading{align-items:start}.support-strip{display:block}.support-strip>a{display:inline-block;margin-top:15px}}

/* Teacher home: soft green fading to near white. */
.hero {
  border: 1px solid #d3e2d9;
  background: linear-gradient(100deg, #dfeee6 0%, #eaf4ed 55%, #fcfefc 100%);
  color: var(--ink);
}
.hero p { color: var(--green); }
.hero span { color: var(--muted); }
.hero-guide { border-color: #cbdcd3; }
