:root{--bg:#f7f9f8;--panel:#fff;--text:#1a1a1a;--muted:#667;--accent:#1a4d2e;--accent-light:#2d7a4a;--border:#e2e8e6;--radius:10px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1080px;margin:0 auto;padding:0 20px}header.topbar{background:var(--accent);color:#fff;padding:14px 0}header.topbar .container{display:flex;align-items:center;justify-content:space-between}header.topbar .logo{font-size:20px;font-weight:700;color:#fff}header.topbar .logo:hover{text-decoration:none}header.topbar nav a{color:#fff;margin-left:18px;font-weight:500}.btn{display:inline-block;padding:10px 18px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-size:15px;font-weight:600;cursor:pointer}.btn:hover{background:var(--accent-light);text-decoration:none}.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn.block{width:100%}h1{font-size:28px}h1,h2{margin-bottom:8px}h2{font-size:22px}p.muted{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:18px;gap:18px;margin-top:20px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;color:var(--text)}.card,.card:hover{text-decoration:none}.card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}.card .cover{height:120px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:700;text-align:center;padding:0 12px}.card .body{padding:14px}.card .body h3{font-size:16px;margin-bottom:6px}.card .body p{font-size:13px;color:var(--muted)}.form{max-width:420px;margin:30px auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:26px}.form label{display:block;font-size:14px;font-weight:600;margin-bottom:4px}.form input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:15px;margin-bottom:14px}.form .error{color:#c0392b;background:#fdecea}.form .error,.form .ok{padding:10px;border-radius:8px;margin-bottom:12px;font-size:14px}.form .ok{color:#1a7a3a;background:#e7f6ec}.hero{background:var(--accent);padding:40px 0}.hero,.hero h1{color:#fff}section.main{padding:28px 0}.empty{text-align:center;color:var(--muted);padding:40px 0}table{width:100%;border-collapse:collapse;margin-top:16px}td,th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);font-size:14px}th{background:var(--bg);font-weight:600}.lesson{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:14px;margin-bottom:10px}.lesson .type{font-size:12px;color:var(--muted);text-transform:uppercase}.tag{display:inline-block;font-size:12px;background:#e7f6ec;color:#1a7a3a;padding:3px 10px;border-radius:999px}