.logo-link { text-decoration: none; color: inherit; }
.teacher-info { margin-bottom: 2rem; }
.elearning-overview { margin-top: 1.5rem; }
.elearning-accordion { margin-top: 1.5rem; }
.grade-block { padding: 1.25rem 1.5rem 0.25rem; border-top: 1px solid var(--border); }
.grade-block:first-child { border-top: 0; }
.grade-block > h3 { margin: 0 0 1rem; font-size: 1.25rem; color: var(--text-dark); }
.topic-block { margin-bottom: 1.5rem; }
.topic-block > h4 { margin: 0 0 .75rem; color: var(--primary); font-size: 1.02rem; }
.module-grid { padding: 0; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.module-card .tag { display:inline-block; margin-bottom:.5rem; }
.module-card h5 { font-size: 1.05rem; margin: 0 0 .55rem; color: var(--text-dark); line-height: 1.35; }
.source-note { color: var(--text-muted); font-size: .9rem; }
.module-toolbar { display:flex; flex-wrap:wrap; gap:.75rem; margin: 0 0 1rem; }
.moodle-preview { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-sm); padding: 1.25rem; overflow-x: auto; }
.moodle-preview img, .moodle-preview iframe { max-width: 100%; }
.codebox { width:100%; min-height:520px; resize:vertical; border:1px solid var(--border); border-radius:var(--radius); padding:1rem; background:#0f172a; color:#e2e8f0; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size:.92rem; line-height:1.5; box-shadow: var(--shadow-sm); }
.card-actions { margin-top: 1rem; display:flex; flex-wrap:wrap; gap:.6rem; }
.btn-primary, .btn-secondary { display:inline-flex; align-items:center; justify-content:center; border-radius: 999px; padding:.65rem 1rem; font-weight:700; text-decoration:none; border:1px solid var(--primary); cursor:pointer; font-family:inherit; }
.btn-primary { background: var(--primary); color:#fff; }
.btn-primary:hover { background: var(--primary-hover); }
.btn-secondary { background:#fff; color: var(--primary); }
.btn-secondary:hover { background: var(--primary-light); }
@media (max-width: 700px) { .module-toolbar, .card-actions { flex-direction:column; } .module-toolbar a, .module-toolbar button, .card-actions a { width:100%; } .codebox { min-height:380px; font-size:.82rem; } .grade-block { padding: 1rem; } .module-grid { grid-template-columns: 1fr; } }
