.audit-log-page{min-width:0}.audit-heading,.audit-detail-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.audit-heading h1,.audit-detail-heading h2{margin:4px 0 6px}.audit-heading p{margin:0;color:var(--muted)}.audit-total{color:var(--muted);font-size:14px;white-space:nowrap;padding-top:8px}.audit-filter-card,.audit-table-card,.audit-detail-card{overflow:hidden}.audit-tabs{display:flex;gap:8px;border-bottom:2px solid var(--border);padding-bottom:0;margin-bottom:4px}.audit-tabs button{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:none;background:transparent;color:var(--muted);font-size:14px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s ease}.audit-tabs button:hover{color:var(--foreground)}.audit-tabs button.active{color:var(--primary, #2563eb);border-bottom-color:var(--primary, #2563eb);font-weight:600}.audit-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));align-items:end;gap:12px}.audit-filter-grid label{display:grid;gap:6px;color:var(--muted);font-size:13px}.audit-filter-grid select,.audit-filter-grid input{width:100%;min-width:0}.audit-reset{white-space:nowrap;padding-bottom:9px}.visit-filter-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.visit-filter-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.visit-filter-controls label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.visit-filter-controls select,.visit-filter-controls input{min-width:140px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px}.visit-summary-stats{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.visit-summary-item{display:flex;flex-direction:column;background:var(--surface-muted, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:6px 12px;min-width:80px;text-align:center}.summary-label{font-size:11px;color:var(--muted, #64748b)}.summary-value{font-size:16px;color:#0f172a}.summary-value.highlight{color:#16a34a}.audit-table-wrap{overflow-x:auto}.audit-table{width:100%;min-width:860px;border-collapse:collapse}.audit-table th,.audit-table td{padding:12px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.audit-table th{color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}.audit-table td{font-size:13px}.audit-table td small{display:block;color:var(--muted);margin-top:3px}.audit-action-pill{display:inline-flex;border-radius:999px;background:var(--surface-muted);padding:4px 8px;white-space:nowrap}.audit-source-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap}.audit-source-pill.source-account{background:var(--surface-muted, #f1f5f9);color:var(--muted, #475569);border:1px solid var(--border, #e2e8f0)}.audit-source-pill.source-school_password{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.audit-source-pill.source-teacher_portal{background:#f5f3ff;color:#6d28d9;border:1px solid #ddd6fe}.audit-source-pill.source-teacher_link{background:#ecfeff;color:#0e7490;border:1px solid #a5f3fc}.audit-source-pill.source-system{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}.audit-pagination{display:flex;justify-content:center;align-items:center;gap:14px;padding-top:16px}.audit-state{display:grid;justify-items:center;gap:8px;padding:54px 16px;color:var(--muted)}.audit-state strong{color:#172033}.audit-detail-card{display:grid;gap:18px}.audit-detail-heading>span{color:var(--muted);font-size:13px;white-space:nowrap}.audit-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.audit-detail-grid>div{display:grid;gap:6px;min-width:0}.audit-detail-grid strong{color:var(--muted);font-size:12px}.audit-detail-wide{grid-column:1 / -1}.audit-json{margin:0;max-height:360px;overflow:auto;border-radius:8px;background:var(--surface-muted);padding:12px;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.audit-empty-value{color:var(--muted)}.audit-facts{display:grid;gap:8px}.audit-facts details{border:1px solid var(--border);border-radius:8px;padding:8px 10px}.audit-facts summary{cursor:pointer;color:#172033;font-size:13px}.visit-stats-table th.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s ease}.visit-stats-table th.sortable-th:hover{color:var(--primary, #2563eb)}.visit-stats-table th.center-col,.visit-stats-table td.center-col{text-align:center}.count-col{font-variant-numeric:tabular-nums}.active-count{color:#16a34a;font-weight:700}.muted-count{color:var(--muted, #94a3b8)}.time-col{white-space:nowrap}.role-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;white-space:nowrap}.role-badge.role-admin{background:#fef3c7;color:#92400e}.role-badge.role-head{background:#e0e7ff;color:#3730a3}.role-badge.role-student{background:#f1f5f9;color:#475569}.board-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap}.board-badge.badge-homework{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.board-badge.badge-school{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.board-badge.badge-all{background:#f8fafc;color:#475569;border:1px solid #e2e8f0}@media (max-width: 1100px){.audit-filter-grid{grid-template-columns:repeat(3,minmax(130px,1fr))}}@media (max-width: 820px){.audit-heading,.audit-detail-heading{flex-direction:column}.audit-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visit-filter-row{flex-direction:column;align-items:stretch}.audit-table{min-width:0}.audit-table thead{display:none}.audit-table,.audit-table tbody,.audit-table tr,.audit-table td{display:block;width:100%}.audit-table tr{padding:12px 0;border-bottom:1px solid var(--border)}.audit-table td{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px;padding:5px 0;border:0;text-align:left!important}.audit-table td:before{content:attr(data-label);color:var(--muted);font-size:12px}.audit-table td:last-child{display:flex;justify-content:flex-start}.audit-detail-grid{grid-template-columns:1fr}.audit-detail-wide{grid-column:auto}}@media (max-width: 480px){.audit-filter-grid{grid-template-columns:1fr}}
