.attendance-report {padding: 18px 24px; color: #17364b; max-width: 100%;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;font-size:14px;}
.attendance-report h1 {font-size:26px;font-weight:650;}
.attendance-controls {display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:16px 0;}
.attendance-controls button {background:#007faf;color:white;border:0;border-radius:5px;padding:10px 18px;}
.attendance-controls button:disabled {cursor:wait;opacity:.75;}
.attendance-spinner {display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:middle;border:2px solid #ffffff66;border-top-color:white;border-radius:50%;animation:attendance-spin .8s linear infinite;}
@keyframes attendance-spin {to {transform:rotate(360deg);}}
.attendance-filter-help {font-size:13px;margin:8px 0 14px;}
@media(prefers-reduced-motion:reduce){.attendance-spinner {animation:none;}}
.attendance-filters {display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;margin-bottom:14px;}
.attendance-source {padding:14px;border-left:4px solid #d4932b;background:#fff5e5;margin-bottom:20px;}
.attendance-shop {margin:18px 0 30px;border:1px solid #cddce7;border-radius:6px;padding:14px;background:white;}
.attendance-shop h2 {font-size:20px;margin:0 0 8px;}
.attendance-shop p {font-size:14px;margin:4px 0 10px;}
.attendance-report article {padding:14px;border:1px solid #cddce7;margin:12px 0;}
.attendance-report article a {margin-right:18px;}
@media(max-width:800px){.attendance-filters {grid-template-columns:1fr;}.attendance-report{padding:10px;}}
