.page.svelte-1q8ga0b{max-width:860px;margin:0 auto}.page-header.svelte-1q8ga0b{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}h1.svelte-1q8ga0b{font-size:22px;font-weight:600;color:var(--color-foreground);margin:0 0 4px}.date-label.svelte-1q8ga0b{font-size:13px;color:var(--color-muted);margin:0;text-transform:capitalize}.section.svelte-1q8ga0b{margin-bottom:28px}.section-label.svelte-1q8ga0b{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.8px;color:var(--color-muted-2);margin:0 0 10px}.grade-chips.svelte-1q8ga0b{display:flex;flex-wrap:wrap;gap:8px}.grade-chip.svelte-1q8ga0b{padding:6px 14px;border-radius:20px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);font-size:13px;cursor:pointer;transition:all .15s}.grade-chip.svelte-1q8ga0b:hover{background:var(--color-surface-2);color:var(--color-foreground)}.grade-chip.selected.svelte-1q8ga0b{background:var(--color-primary-muted);border-color:var(--color-primary);color:var(--color-primary);font-weight:500}.summary-bar.svelte-1q8ga0b{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.badge.svelte-1q8ga0b{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.badge.present.svelte-1q8ga0b{background:var(--color-success-muted);color:var(--color-success)}.badge.absent.svelte-1q8ga0b{background:var(--color-danger-muted);color:var(--color-danger)}.badge.late.svelte-1q8ga0b{background:#f59e0b26;color:var(--color-warning)}.badge.justified.svelte-1q8ga0b{background:var(--color-surface-2);color:var(--color-muted)}.student-list.svelte-1q8ga0b{display:flex;flex-direction:column;gap:4px}.student-row.svelte-1q8ga0b{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;background:var(--color-surface);border:1px solid var(--color-border-muted);transition:background .1s}.student-row.not-present.svelte-1q8ga0b{background:var(--color-surface-2)}.student-num.svelte-1q8ga0b{font-size:12px;color:var(--color-muted-2);width:22px;text-align:right;flex-shrink:0}.student-name.svelte-1q8ga0b{flex:1;font-size:14px;color:var(--color-foreground)}.status-buttons.svelte-1q8ga0b{display:flex;gap:4px}.status-btn.svelte-1q8ga0b{width:30px;height:30px;border-radius:6px;border:1px solid var(--color-border);background:transparent;font-size:12px;font-weight:600;cursor:pointer;transition:all .12s;color:var(--color-muted-2)}.status-btn.svelte-1q8ga0b:hover{border-color:var(--color-muted);color:var(--color-foreground)}.status-btn.present.active.svelte-1q8ga0b{background:var(--color-success-muted);border-color:var(--color-success);color:var(--color-success)}.status-btn.absent.active.svelte-1q8ga0b{background:var(--color-danger-muted);border-color:var(--color-danger);color:var(--color-danger)}.status-btn.late.active.svelte-1q8ga0b{background:#f59e0b26;border-color:var(--color-warning);color:var(--color-warning)}.status-btn.justified.active.svelte-1q8ga0b{background:var(--color-surface-3);border-color:var(--color-muted);color:var(--color-foreground)}.btn-save.svelte-1q8ga0b{padding:8px 20px;border-radius:8px;border:none;background:var(--color-primary);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.btn-save.svelte-1q8ga0b:hover:not(:disabled){background:var(--color-primary-hover)}.btn-save.svelte-1q8ga0b:disabled{opacity:.5;cursor:not-allowed}.error-banner.svelte-1q8ga0b{padding:10px 14px;border-radius:8px;background:var(--color-danger-muted);color:var(--color-danger);font-size:13px;margin-bottom:16px}.success-banner.svelte-1q8ga0b{padding:10px 14px;border-radius:8px;background:var(--color-success-muted);color:var(--color-success);font-size:13px;margin-bottom:16px}.skeleton-row.svelte-1q8ga0b{display:flex;gap:8px;flex-wrap:wrap}.skeleton-chip.svelte-1q8ga0b{width:90px;height:32px;border-radius:20px;background:var(--color-surface-2);animation:svelte-1q8ga0b-pulse 1.5s infinite}.skeleton-student.svelte-1q8ga0b{height:50px;border-radius:8px;background:var(--color-surface);animation:svelte-1q8ga0b-pulse 1.5s infinite}.empty.svelte-1q8ga0b{color:var(--color-muted);font-size:13px}@keyframes svelte-1q8ga0b-pulse{0%,to{opacity:1}50%{opacity:.4}}
