:root{--enilai-primary:#0d6efd;--enilai-dark:#212529;--enilai-border:#dee2e6;--enilai-bg-muted:#f8f9fa}body{-webkit-tap-highlight-color:transparent}.card{transition:box-shadow .2s}.btn{border-radius:8px;transition:transform 80ms,box-shadow .15s}.btn:active{transform:scale(.98)}.table-scrollable{-webkit-overflow-scrolling:touch;scrollbar-width:thin;border-radius:8px;max-height:65vh;overflow-x:auto;box-shadow:0 4px 6px #0000000d}.table-scrollable::-webkit-scrollbar{height:8px}.table-scrollable::-webkit-scrollbar-thumb{background-color:#00000040;border-radius:8px}.table-input-nilai{border-collapse:separate;border-spacing:0}.table-input-nilai th,.table-input-nilai td{border:1px solid var(--enilai-border)}.table-input-nilai th{background-color:var(--enilai-dark);color:#fff;z-index:3;text-align:center;vertical-align:middle;min-width:80px;position:sticky;top:0}.sticky-col{z-index:2;border-right:2px solid var(--enilai-border);min-width:150px;font-weight:600;position:sticky;left:0;background-color:var(--enilai-bg-muted)!important}.table-input-nilai th.sticky-col{z-index:4;background-color:var(--bs-table-bg,#cfe2ff)!important;color:var(--bs-table-color,#000)!important}.table-input-nilai tbody tr:hover td{background-color:#f1f6ff}.table-input-nilai tbody tr:hover td.sticky-col{background-color:#eaf1ff!important}.input-nilai{text-align:center;border:1px solid var(--enilai-border);border-radius:6px;width:70px;min-height:44px;padding:5px;font-size:.95rem}.input-nilai:focus{outline:2px solid var(--enilai-primary);outline-offset:1px}.input-rapor{cursor:not-allowed;background-color:#e9ecef;font-weight:700}@media (width<=576px){.sticky-col{min-width:110px;font-size:.85rem}.table-input-nilai th{min-width:64px;font-size:.8rem}.input-nilai{width:56px}.table-scrollable{max-height:60vh}.cell-presensi{height:28px;font-size:.7rem}.sticky-col-kanan{min-width:50px;font-size:.8rem}.aksi-footer-kelas>*{flex:calc(50% - .25rem)}.aksi-footer-kelas>:last-child:nth-child(odd){flex-basis:100%}}.nilai-merah{color:#dc3545!important;background-color:#ffe6e6!important;font-weight:900!important}.sticky-col-kanan{z-index:2;border-left:2px solid var(--enilai-border);min-width:64px;font-weight:700;position:sticky;right:0;background-color:var(--enilai-bg-muted)!important}.table-input-nilai th.sticky-col-kanan{z-index:4;color:#000!important;background-color:#cfe2ff!important}.table-input-nilai tbody tr:hover td.sticky-col-kanan{background-color:#eaf1ff!important}.kolom-libur{background-color:#5a4a1f!important}.table-input-nilai th.kolom-hari-ini{box-shadow:inset 0 -4px #fd7e14;color:#212529!important;background-color:#ffc107!important}td.kolom-hari-ini .cell-presensi{box-shadow:inset 0 0 0 999px #d6338452}.cell-presensi{text-align:center;cursor:pointer;border:none;width:100%;height:32px;font-size:.8rem;font-weight:700}.cell-presensi:hover{filter:brightness(.92)}.cell-presensi:focus-visible{outline:2px solid var(--enilai-primary);outline-offset:-2px}.status-h{color:#fff;background-color:#198754}.status-a{color:#fff;background-color:#dc3545}.status-i{color:#fff;background-color:#0d6efd}.status-s{color:#212529;background-color:#ffc107}.status-d{color:#fff;background-color:#6f42c1}.status-l{color:#fff;background-color:#6c757d}.status-x{color:#fff;background-color:#495057}.legend-chip{border-radius:20px;align-items:center;gap:6px;padding:.25rem .6rem;font-size:.75rem;font-weight:700;display:inline-flex}.legend-h{color:#0a3622;background-color:#d1e7dd}.legend-a{color:#58151c;background-color:#f8d7da}.legend-i{color:#052c65;background-color:#cfe2ff}.legend-s{color:#664d03;background-color:#fff3cd}.legend-d{color:#3d2a5c;background-color:#e2d9f3}.legend-l{color:#41464b;background-color:#e2e3e5}.legend-x{color:#212529;background-color:#d3d3d3}.sel-nama-siswa{white-space:nowrap;text-overflow:ellipsis;max-width:130px;overflow:hidden}@media (width>=576px){.sel-nama-siswa{max-width:220px}}@media (width>=992px){.sel-nama-siswa{max-width:360px}}
