.lms-app { max-width: 880px; margin: 0 auto; padding: 8px 0 40px; line-height: 1.6; }
.lms-app * { box-sizing: border-box; }
.lms-nav { display: flex; gap: 18px; align-items: center; padding: 10px 0; margin-bottom: 14px; border-bottom: 1px solid #e2e4e7; flex-wrap: wrap; }
.lms-nav a { text-decoration: none; font-weight: 600; }
.lms-nav-user { margin-left: auto; font-size: 14px; color: #555; }
.lms-nav-user a { font-weight: 400; }
.lms-pesan { background: #eef6ee; border-left: 4px solid #3a8f3a; padding: 10px 14px; margin: 10px 0; border-radius: 3px; }
.lms-galat { background: #fbeeee; border-left-color: #c0392b; }
.lms-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.lms-grid .lms-kartu { display: block; padding: 18px; border: 1px solid #dcdfe3; border-radius: 8px; text-decoration: none; color: inherit; background: #fff; transition: box-shadow .15s; }
.lms-grid .lms-kartu:hover { box-shadow: 0 3px 12px rgba(0,0,0,.08); }
.lms-kartu h3 { margin: 0 0 6px; }
.lms-kartu p { margin: 0; color: #666; font-size: 14px; }
.lms-bab { margin: 22px 0; padding: 14px 18px; border: 1px solid #e2e4e7; border-radius: 8px; background: #fafbfc; }
.lms-bab h3 { margin-top: 0; }
.lms-daftar { list-style: none; margin: 0; padding: 0; }
.lms-daftar li { padding: 8px 0; border-top: 1px solid #eceef0; }
.lms-daftar li:first-child { border-top: 0; }
.lms-label { display: inline-block; font-size: 11px; font-weight: 700; text-transform: uppercase; padding: 2px 7px; border-radius: 3px; background: #e8eef7; color: #2a4a7f; margin-right: 6px; }
.lms-label-test { background: #fdeede; color: #8a4b10; }
.lms-info { color: #777; font-size: 13px; }
.lms-remah a { text-decoration: none; }
.lms-btn { display: inline-block; padding: 9px 18px; background: #2a4a7f; color: #fff !important; border: 0; border-radius: 5px; cursor: pointer; text-decoration: none; font-size: 15px; }
.lms-btn:hover { background: #1f3a66; }
.lms-btn-garis { background: transparent; color: #2a4a7f !important; border: 1px solid #2a4a7f; }
.lms-video { position: relative; padding-bottom: 56.25%; height: 0; margin: 14px 0; }
.lms-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; }
.lms-pdf { width: 100%; height: 75vh; border: 1px solid #ddd; border-radius: 6px; margin: 10px 0; }
.lms-diskusi { margin-top: 36px; }
.lms-komentar { padding: 10px 0; border-top: 1px solid #eceef0; }
.lms-komentar p { margin: 4px 0 0; }
.lms-diskusi textarea, .lms-soal textarea { width: 100%; padding: 8px; border: 1px solid #ccd0d4; border-radius: 4px; font: inherit; margin-bottom: 8px; }
.lms-fakta { padding-left: 18px; }
.lms-timer { position: sticky; top: 0; z-index: 5; background: #fff7e0; border: 1px solid #f0d98a; padding: 8px 14px; border-radius: 6px; margin-bottom: 14px; font-size: 17px; }
.lms-merah { color: #c0392b; }
.lms-app .lms-soal { border: 1px solid #dcdfe3; border-radius: 8px; padding: 14px 18px; margin: 0 0 16px; background: #fff; }
.lms-soal legend { font-weight: 700; padding: 0 6px; }
.lms-opsi { display: flex; gap: 8px; align-items: flex-start; padding: 6px 4px; cursor: pointer; }
.lms-opsi input { margin-top: 6px; }
.lms-tabel-wrap { overflow-x: auto; }
.lms-tabel { width: 100%; border-collapse: collapse; }
.lms-tabel th, .lms-tabel td { padding: 8px 10px; border-bottom: 1px solid #e2e4e7; text-align: left; }
.lms-tabel thead th { background: #f3f5f7; }
@media (max-width: 600px) { .lms-pdf { height: 60vh; } .lms-nav-user { margin-left: 0; width: 100%; } }
.lms-staf { margin-top: 18px; padding-top: 14px; border-top: 1px solid #e2e4e7; }
.lms-pesan .lms-btn { margin-left: 8px; }
.lms-mapel { margin: 30px 0; }
.lms-mapel > h3 { font-family: Georgia, serif; font-size: 26px; margin: 0 0 8px; padding-bottom: 6px; border-bottom: 2px solid #c4621a; }
.lms-bab h4 { margin: 0 0 8px; font-size: 18px; }
.lms-judul-arsip { margin-top: 34px; color: #555; }
