.attendance-filter-panel{padding:20px 24px;margin-bottom:24px;border-color:#111}.attendance-filter-panel form{display:grid;grid-template-columns:170px 1fr 1.3fr 1fr 1fr;gap:20px;align-items:end}.attendance-filter-panel label{margin:0;font-size:11px}.attendance-filter-panel input,.attendance-filter-panel select{font-size:13px;min-height:44px}.daily-panel{border-color:#111}.daily-panel h2{font-size:16px}.daily-table{border-collapse:collapse;table-layout:fixed;min-width:900px}.daily-table th{font-size:12px;text-align:center;line-height:1.6;padding:16px 10px;border:1px solid #111;background:#fff}.daily-table th:first-child{width:30%}.daily-table th:last-child{width:15%}.daily-table td{font-size:13px;border:1px solid #111;text-align:center;padding:12px 10px;color:#111;overflow-wrap:anywhere;white-space:normal}.daily-table td:first-child{text-align:left}.daily-table .daily-times td{font-variant-numeric:tabular-nums}.daily-table .daily-times td:first-child{font-size:13px}.daily-table .daily-gps td:first-child{font-family:monospace;font-size:12px}.daily-table .daily-gap td{height:18px;padding:0;border-left:0;border-right:0;background:#fff}.gps-link{font-size:12px;font-weight:750;background:var(--accent, #ff5b00);color:#111;border:1px solid var(--accent, #ff5b00);border-radius:5px;padding:7px 17px}.gps-link:hover{background:#fff;border-color:#111}.gps-unavailable{font-size:11px;color:#111}.daily-foot{font-size:11px;color:#111;padding:16px 22px;line-height:1.7}.gps-dialog{width:min(760px,calc(100% - 32px))}.gps-details p{font-size:13px;line-height:1.8;margin-top:12px}.gps-map{display:block;width:100%;height:370px;border:1px solid #111;border-radius:6px;background:#fff}.gps-details small{font-family:monospace;overflow-wrap:anywhere;margin-top:18px;font-size:10px}.daily-panel .roster-sync{font-size:11px;line-height:1.7;text-align:right}@media(max-width:1150px){.attendance-filter-panel form{grid-template-columns:1fr 1fr}.attendance-filter-panel label:nth-child(3){grid-column:1 / -1}}@media(max-width:760px){.attendance-filter-panel{padding:18px}.attendance-filter-panel form{gap:15px}.attendance-filter-panel label:nth-child(5){grid-column:1 / -1}.daily-table{min-width:820px}.daily-panel .panel-head{display:block}.daily-panel .roster-sync{display:block;text-align:left;margin-top:15px}.gps-map{height:320px}}
