:root{--ink:#17251f;--muted:#6b7b73;--green:#176b4b;--green-dark:#10553a;--pale:#edf5ef;--line:#e1e9e3;--white:#fff}*{box-sizing:border-box}body{color:var(--ink);background:#f7faf7;margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.brand{letter-spacing:-1px;font-size:23px;font-weight:800}.brand span{color:var(--green)}.auth-page{flex-direction:column;align-items:center;min-height:100vh;padding:42px 20px;display:flex}.auth-card{border:1px solid var(--line);background:#fff;border-radius:18px;width:100%;max-width:460px;margin:auto;padding:42px;box-shadow:0 15px 50px #173b2510}.eyebrow{color:var(--green);letter-spacing:1.7px;font-size:11px;font-weight:800}.auth-card h1{letter-spacing:-1px;margin:12px 0 8px;font-size:32px}.muted,.field-hint{color:var(--muted);line-height:1.6}.auth-form{flex-direction:column;margin-top:28px;display:flex}.auth-form label{margin:17px 0 8px;font-size:13px;font-weight:700}.auth-form input{background:#fff;border:1px solid #d9e3dc;border-radius:9px;outline:none;width:100%;padding:14px}.auth-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px #176b4b15}.field-hint{margin:7px 0 0;font-size:12px}.field-error,.form-error{color:#b42318;margin:7px 0 0;font-size:13px}.auth-form button,.button-link{color:#fff;background:var(--green);cursor:pointer;text-align:center;border:0;border-radius:9px;padding:14px 20px;font-weight:700}.auth-form button{margin-top:25px}.auth-form button:hover,.button-link:hover{background:var(--green-dark)}.auth-form button:disabled{opacity:.6;cursor:wait}.form-footer{text-align:center;color:var(--muted);margin:24px 0 0;font-size:13px}.form-footer a{color:var(--green);font-weight:700}.bottom-note{color:var(--muted);font-size:12px}.landing{max-width:1120px;margin:auto;padding:0 28px}.top-nav,.dashboard-header{justify-content:space-between;align-items:center;padding:28px 0;display:flex}.top-nav>div{align-items:center;gap:25px;display:flex}.nav-login{font-size:14px;font-weight:700}.button-link{font-size:14px;display:inline-block}.hero{max-width:750px;padding:115px 0 100px}.hero h1{letter-spacing:-3px;margin:20px 0;font-size:clamp(42px,7vw,72px);line-height:1.06}.hero h1 span{color:var(--green)}.hero>p{max-width:590px;color:var(--muted);font-size:18px;line-height:1.7}.hero-actions{align-items:center;gap:25px;margin-top:30px;display:flex}.secondary-link{color:var(--green);font-size:14px;font-weight:700}.features{grid-template-columns:repeat(3,1fr);gap:20px;padding:30px 0 80px;display:grid}.features article,.stats article{border:1px solid var(--line);background:#fff;border-radius:14px;padding:26px}.features article>span{color:var(--green);font-size:12px;font-weight:800}.features h2{font-size:19px}.features p{color:var(--muted);font-size:14px;line-height:1.6}.landing footer{border-top:1px solid var(--line);color:var(--muted);padding:25px 0;font-size:12px}.dashboard{max-width:1100px;margin:auto;padding:0 28px 70px}.dashboard-header{border-bottom:1px solid var(--line)}.logout-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:10px 16px}.welcome{padding:65px 0 35px}.welcome h1{letter-spacing:-1.5px;margin:12px 0;font-size:38px}.stats{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.stats article{flex-direction:column;gap:15px;display:flex}.stats article span{color:var(--muted);font-size:13px}.stats article strong{color:var(--green);font-size:34px}.dashboard-section{margin-top:55px}.dashboard-section h2{font-size:21px}.dashboard-links{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.dashboard-links a{border:1px solid var(--line);background:#fff;border-radius:12px;padding:20px;font-weight:700}.dashboard-links a span{float:right;color:var(--green)}@media (max-width:650px){.auth-card{padding:28px 22px}.hero{padding:80px 0 65px}.features,.stats,.dashboard-links{grid-template-columns:1fr}.hero h1{letter-spacing:-2px}.top-nav>div{gap:12px}.nav-login{font-size:12px}.button-link{padding:12px 14px}.dashboard{padding:0 18px 50px}}.classes-page-header{margin-bottom:28px}.classes-page-header h1{margin:14px 0 6px}.classes-page-header p,.classes-muted{color:#64748b}.classes-back{color:#2563eb;font-size:14px;text-decoration:none}.classes-layout{grid-template-columns:minmax(260px,.85fr) minmax(320px,1.4fr);align-items:start;gap:22px;display:grid}.classes-panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;min-width:0;padding:24px}.classes-panel h2{margin:0 0 8px;font-size:20px}.classes-muted{margin:0 0 20px;font-size:14px}.classes-form{gap:16px;display:grid}.classes-form label{color:#334155;gap:7px;font-size:14px;font-weight:600;display:grid}.classes-form input,.classes-form textarea{box-sizing:border-box;width:100%;font:inherit;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:9px;padding:11px 12px;font-size:14px}.classes-form input:focus,.classes-form textarea:focus{border-color:#2563eb;outline:2px solid #93c5fd}.classes-form button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:9px;padding:12px 16px;font-weight:600}.classes-form button:disabled{opacity:.6;cursor:wait}.classes-error{color:#b91c1c;margin:0;font-size:14px}.classes-success{color:#15803d;margin:0;font-size:14px}.classes-empty{text-align:center;color:#334155;border:1px dashed #cbd5e1;border-radius:12px;padding:28px 18px}.classes-empty p{margin:5px 0}.classes-list{gap:12px;display:grid}.class-item{border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.class-item-info{min-width:0}.class-item h3{color:#0f172a;margin:0 0 5px;font-size:16px}.class-item p{color:#64748b;margin:0;font-size:13px}.class-item .class-notes{color:#475569;margin-top:8px}.class-delete{color:#b91c1c;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #fecaca;border-radius:8px;padding:8px 11px}.class-delete:hover{background:#fef2f2}@media (max-width:760px){.classes-layout{grid-template-columns:1fr}.classes-panel{padding:18px}}
