:root { --bg:#fff; --fg:#1d1d1f; --muted:#666; --accent:#3b82f6; --card:#fff; --line:#e5e7eb; }
*{box-sizing:border-box}
body{margin:0;font:16px/1.6 system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial; color:var(--fg); background:var(--bg)}
.container{max-width:1100px;margin:0 auto;padding:16px}
.site-header{border-bottom:1px solid var(--line); background:#fafafa}
.site-header .brand{display:flex;align-items:center;font-weight:700;text-decoration:none;color:var(--fg)}
.site-header img{width:28px;height:28px;margin-right:8px}
.site-header nav a{margin:0 10px;color:var(--fg);text-decoration:none}
.site-header nav a:hover{color:var(--accent)}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin:16px 0}
.button{display:inline-block;border:1px solid var(--line);padding:8px 12px;border-radius:8px;background:#f6f7f9;text-decoration:none;color:var(--fg)}
.button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.button.danger{background:#ef4444;color:#fff;border-color:#ef4444}
.label{display:block;margin:8px 0 4px;color:var(--muted)}
input,select,textarea{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px}
table{width:100%;border-collapse:collapse}
th,td{border:1px solid var(--line);padding:8px;text-align:left}
.admin-table th{background:#fafafa}
.homework-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.homework-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}
.meta{color:var(--muted);font-size:.9em}
.pagination{text-align:center;margin:16px 0}
.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;align-items:center}
.hero img{width:100%; border-radius:12px; border:1px solid var(--line)}
