#attendanceDashboard .table-wrap{overflow-x:auto}#attendanceDashboard table{min-width:650px}.att-calendar-events{display:grid;gap:4px;margin-top:5px}.att-calendar-work{background:#e3f2ec;border-left:3px solid #267c60;padding:5px;font-size:9px;line-height:1.45;border-radius:4px;overflow-wrap:anywhere}.att-calendar-work strong,.att-calendar-work span{display:block!important;font-size:9px!important;margin:0!important}.att-calendar-leave{border:1px solid #e4d5ae;background:#fff7e2;color:#715a27;border-radius:4px;padding:5px;text-align:left;font-size:9px;line-height:1.4;overflow-wrap:anywhere}.att-calendar-leave small{font-size:8px!important;margin:2px 0 0!important}.att-error{color:#a9362d;padding:12px 18px;font-size:12px;line-height:1.5}.att-note{padding:12px 18px;color:#66766e}.att-working{color:#23745d;font-weight:700}#attendanceAccountMessage{padding:0 18px;color:#a9362d}#attendanceCalendarHost .leave-day{height:auto!important;min-height:90px!important}#attendanceDashboard .notes-cell{white-space:normal;max-width:320px;overflow-wrap:anywhere}

.att-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0;color:#707984;font-size:10px}.att-calendar-work{width:100%;text-align:left;color:#174b39;border-top:0;border-right:0;border-bottom:0;cursor:pointer}.att-calendar-work:focus-visible,.att-calendar-leave:focus-visible{outline:2px solid #2c75e8;outline-offset:2px}

#attendanceCalendarHost .leave-day[data-att-date]{cursor:pointer}#attendanceCalendarHost .leave-day[data-att-date]:focus-visible{outline:2px solid #2c75e8;outline-offset:2px}#attendanceCalendarHost .leave-day.att-absent{background:#fff0ef!important;border-color:#df6a65!important}.att-absent-text{color:#b42318!important;font-weight:700}.att-day-details{max-width:550px;overflow-wrap:anywhere}.att-day-details p{line-height:1.6}.att-day-leave{border-top:1px solid #e3e7eb;margin-top:14px;padding-top:10px}
.att-activity{border-top:1px solid #dce3eb;padding-top:8px}.attendance-map-flag{border:1px solid #6b7888;border-radius:4px 8px 8px 0;background:var(--employee-background,#f4f6f9);color:var(--employee-ink,#273447);border-color:var(--employee-border,#6b7888);padding:5px 8px;font:600 12px Inter,Arial,sans-serif;box-shadow:0 2px 5px #15203040;cursor:pointer}.attendance-map-flag.is-active{background:var(--employee-background,#dceaff);border-color:var(--employee-border,#2f6fed);color:var(--employee-ink,#164ba3)}.attendance-map-detail{max-height:340px;overflow:auto;overflow-wrap:anywhere;font-size:12px}.attendance-activity-note{border-top:1px solid #dce3eb;margin-top:10px;padding-top:5px}@media(max-width:600px){}

.attendance-map-flag{box-sizing:border-box;width:max-content;max-width:200px;height:22px;min-height:22px;flex:none;scale:1;text-size-adjust:100%;-webkit-text-size-adjust:100%;text-align:left;line-height:14px;padding:3px 6px;font-size:10px}.attendance-map-flag strong,.attendance-map-flag span,.attendance-map-flag small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attendance-map-flag span{font-size:11px;font-weight:500}.attendance-map-flag small{font-size:10px;font-weight:500}
/* Attendance day details: scoped to this read-only dialog. */
#modal .modal-card:has(.att-day-details){width:min(880px,calc(100vw - 32px));max-height:92vh;display:flex;flex-direction:column;overflow:hidden}
#modal .modal-card:has(.att-day-details) .modal-head{flex-shrink:0;padding:18px 22px}
#modal .modal-card:has(.att-day-details) .modal-body{overflow-y:auto;padding:20px 22px;background:var(--bg,#f4f6f8)}
#modal .modal-card:has(.att-day-details) .modal-actions{background:var(--panel,#fff);padding:14px 22px;margin:0;border-top:1px solid var(--line,#e3e7eb)}
#modal .modal-card:has(.att-day-details) .modal-actions [data-action="close-modal"]{display:none}
.att-day-details{max-width:none;width:100%;color:var(--text,#17212e);font-size:12px;line-height:1.5}
.att-day-details h4,.att-day-details h5,.att-day-details p{margin:0}.att-day-details .att-eyebrow{display:block;color:var(--muted,#69788a);font-size:9px;font-weight:750;letter-spacing:.1em}
.att-day-summary{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.att-day-summary h4{font-size:17px;margin:4px 0}.att-day-summary p{font-size:11px;color:var(--muted,#69788a)}.att-day-counts{display:flex;gap:10px}.att-day-counts span{min-width:82px;border:1px solid var(--line,#dfe6ef);border-radius:10px;background:var(--panel,#fff);padding:9px 12px;color:var(--muted,#69788a);font-size:10px}.att-day-counts b{display:block;color:var(--accent,#2f6fed);font-size:19px;line-height:1.2;margin-bottom:3px}
.att-visit-card{border:1px solid var(--line,#dfe6ef);border-radius:12px;background:var(--panel,#fff);overflow:hidden;margin-bottom:16px}.att-visit-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line,#e3e7eb)}.att-visit-head h4{font-size:16px;margin:4px 0 7px;overflow-wrap:anywhere}.att-reference{display:flex;flex-wrap:wrap;gap:5px 12px;color:var(--muted,#69788a);font-size:10px}.att-reference span:first-child{color:var(--accent,#2f6fed);font-weight:750}.att-status{white-space:nowrap;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:700;background:#edf4ff;color:#245eb3}.att-status.is-complete{background:#e8f5ef;color:#25704d}.att-status.is-warning{background:#fff3dc;color:#8b591a}
.att-punch-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 18px}.att-punch{border:1px solid var(--line,#e3e8ef);border-radius:10px;padding:13px 14px;min-width:0;background:var(--bg,#f8fafc)}.att-punch-time{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 12px;padding-bottom:12px;margin-bottom:10px;border-bottom:1px solid var(--line,#e3e8ef)}.att-punch-time small{font-size:10px;color:var(--muted,#69788a);font-weight:650}.att-punch-time b{grid-column:2;grid-row:1 / span 2;font-size:26px;font-weight:750;letter-spacing:-.04em;color:var(--text,#17212e);font-variant-numeric:tabular-nums}.att-punch-time>span{font-size:10px;color:var(--muted,#69788a)}
.att-day-details .att-location{min-width:0;display:grid;gap:3px;font-size:10px}.att-location-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.att-location-head small{font-size:9px;color:var(--muted,#69788a);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.att-day-details .att-location a{font-size:10px;color:var(--accent,#2f6fed);text-decoration:none;white-space:nowrap;font-weight:650}.att-day-details .att-location a:hover{text-decoration:underline}.att-day-details .att-location strong{font-size:11px;font-weight:600}.att-coordinates{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;color:var(--muted,#69788a)}.att-muted{color:var(--muted,#69788a)}
.att-notes{border-top:1px solid var(--line,#e3e8ef);padding:14px 18px 4px}.att-notes-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.att-notes-heading h5{font-size:12px}.att-notes-heading>span{font-size:10px;color:var(--muted,#69788a)}.att-notes ol{list-style:none;padding:0;margin:0}.att-note-row{display:grid;grid-template-columns:64px minmax(0,1fr) 210px;gap:14px;padding:13px 0;border-top:1px solid var(--line,#e7ecf2)}.att-note-row time{display:grid;gap:3px;align-content:start;font-size:10px;color:var(--muted,#69788a)}.att-note-row time b{font-size:12px;color:var(--text,#17212e)}.att-note-content{min-width:0}.att-note-content>b{font-size:11px}.att-note-content p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:5px;line-height:1.6}.att-empty-notes{padding:5px 0 13px;color:var(--muted,#69788a);font-size:11px}.att-empty-state{padding:22px;border:1px solid var(--line,#dfe6ef);border-radius:12px;background:var(--panel,#fff)}.att-empty-state p{margin-top:6px;color:var(--muted,#69788a);font-size:11px}.att-is-absent{border-color:#edcac6;background:#fff4f2;color:#a33f32}.att-day-details .att-leave-heading{margin:20px 0 10px;font-size:13px}.att-day-details .att-day-leave{border:1px solid var(--line,#dfe6ef);border-radius:10px;padding:14px 16px;background:var(--panel,#fff);margin:10px 0}.att-day-details .att-day-leave h4{font-size:12px;margin-bottom:6px}.att-day-details .att-day-leave p{font-size:11px;margin:5px 0}
@media(max-width:640px){#modal .modal-card:has(.att-day-details){width:calc(100vw - 20px);max-height:94vh}#modal .modal-card:has(.att-day-details) .modal-body{padding:14px 12px}.att-day-summary{align-items:flex-start;flex-direction:column;gap:10px}.att-day-summary h4{font-size:15px}.att-day-counts span{display:flex;align-items:center;gap:8px;padding:7px 10px;min-width:0}.att-day-counts b{font-size:16px;margin:0}.att-punch-grid{grid-template-columns:1fr;padding:12px}.att-visit-head{padding:14px 12px}.att-notes{padding:12px 12px 4px}.att-note-row{grid-template-columns:54px minmax(0,1fr);gap:8px 12px}.att-note-row>.att-location{grid-column:2;padding-top:6px}.att-visit-head h4{font-size:14px}.att-status{font-size:9px;padding:4px 7px}}

#modal:has(.att-day-details){padding:10px}#modal .modal-card:has(.att-day-details)>.modal-actions{flex-shrink:0}

.attendance-site-dialog{font-family:inherit;width:min(850px,calc(100vw - 32px));max-height:90vh;box-sizing:border-box;border:1px solid var(--line,#dce3eb);border-radius:16px;padding:24px;background:var(--panel,#fff);color:var(--text,#182230);box-shadow:0 24px 80px #15203040}.attendance-site-dialog::backdrop{background:#18223066}.attendance-site-dialog header,.attendance-site-controls,.attendance-site-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.attendance-site-dialog h2{margin:0 0 5px;font-size:19px}.attendance-site-dialog small,.attendance-site-dialog [role=status]{color:var(--muted,#788593)}.attendance-site-controls{justify-content:flex-start;flex-wrap:wrap;margin-top:22px;padding-bottom:16px;border-bottom:1px solid var(--line,#dce3eb)}.attendance-site-controls input{padding:8px;border:1px solid var(--line,#dce3eb);border-radius:8px;background:var(--panel,#fff);color:inherit}.attendance-site-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.attendance-site-card{border:1px solid var(--line,#dce3eb);border-radius:12px;padding:16px;overflow-wrap:anywhere;font-size:12px}.attendance-site-card-head{margin-bottom:12px;font-size:13px}.attendance-site-status{background:#edf4ff;color:#2f6fed;border-radius:20px;padding:5px 9px;font-size:11px}.attendance-site-card p{line-height:1.6}.attendance-site-card a{color:#2f6fed}.attendance-site-card .btn{margin-top:12px}@media(max-width:650px){.attendance-site-list{grid-template-columns:1fr}.attendance-site-dialog{padding:16px}}

.attendance-site-calendar{margin:16px 0;padding:16px;border:1px solid var(--line,#dce3eb);border-radius:12px}.attendance-calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.attendance-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:12px;text-align:center}.attendance-calendar-day{position:relative;min-height:38px;padding:8px 4px 13px;border:1px solid transparent;border-radius:8px;background:var(--bg,#f5f7fa);color:inherit;cursor:pointer}.attendance-calendar-day.selected{border-color:#2f6fed;background:#edf4ff;color:#164ba3}.attendance-calendar-day:disabled{opacity:.35;cursor:default}.attendance-calendar-dot{position:absolute;bottom:4px;left:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:#2f6fed}.attendance-calendar-heading input{max-width:180px;padding:6px;border:1px solid var(--line,#dce3eb);border-radius:6px;background:var(--panel,#fff);color:inherit}

.attendance-site-dialog{overflow:auto;position:fixed;inset:auto auto 24px 24px;margin:0;width:350px;max-width:calc(100vw - 48px);max-height:65vh;padding:16px;z-index:1000;box-shadow:0 10px 35px #15203030}.attendance-site-dialog h2{font-size:16px}.attendance-site-dialog .attendance-site-calendar{padding:10px;margin:12px 0}.attendance-site-calendar summary{cursor:pointer;font-weight:600;font-size:12px}.attendance-site-calendar[open] summary{margin-bottom:12px}.attendance-site-dialog .attendance-site-list{display:block;font-size:12px;color:var(--muted,#788593)}.attendance-site-dialog .attendance-site-controls{gap:6px;margin-top:12px}.attendance-site-dialog [role=status]{font-size:12px}.attendance-user-visit{border-top:1px solid #dce3eb;margin-top:12px;padding-top:12px}

.attendance-site-dialog{inset:0;margin:auto;width:350px;max-height:85vh;height:fit-content}.attendance-site-dialog .attendance-site-calendar{border:0;padding:0}.attendance-employee-dialog{box-sizing:border-box;width:min(760px,calc(100vw - 32px));max-height:88vh;padding:0;border:1px solid var(--line,#dce3eb);border-radius:16px;background:var(--panel,#fff);color:var(--text,#182230);font-family:inherit;overflow:auto;box-shadow:0 24px 80px #15203040}.attendance-employee-dialog::backdrop{background:#18223066}.attendance-employee-dialog>header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;background:var(--panel,#fff);border-bottom:1px solid var(--line,#dce3eb)}.attendance-employee-dialog h2{font-size:18px;margin:0 0 5px}.attendance-employee-dialog small{color:var(--muted,#788593)}.attendance-employee-body{padding:0 22px 22px;overflow-wrap:anywhere;font-size:13px;line-height:1.6}.attendance-employee-body a{color:#2f6fed}.attendance-employee-body .attendance-user-visit{border:1px solid var(--line,#dce3eb);border-radius:12px;padding:16px;margin-top:16px}

.attendance-employee-dialog{width:min(880px,calc(100vw - 32px));max-height:92vh;overflow:hidden}.attendance-employee-dialog[open]{display:flex;flex-direction:column}.attendance-employee-dialog>header{flex-shrink:0;position:static;padding:18px 22px}.attendance-employee-dialog>header h2{font-size:13px;margin:0}.attendance-employee-dialog>.attendance-employee-body{box-sizing:border-box;padding:20px 22px;background:var(--bg,#f4f6f8);overflow-y:auto;min-height:0}.attendance-employee-dialog>footer{flex-shrink:0;display:flex;justify-content:flex-end;padding:14px 22px;border-top:1px solid var(--line,#e3e7eb);background:var(--panel,#fff)}@media(max-width:640px){.attendance-employee-dialog{width:calc(100vw - 20px);max-height:94vh}.attendance-employee-dialog>.attendance-employee-body{padding:14px 12px}}

.attendance-flag-leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:hidden}.attendance-flag-leaders line{stroke-width:1.25;stroke-opacity:.75}.attendance-map-flag{z-index:3}

.attendance-map-flag .attendance-flag-times{pointer-events:none;position:absolute;bottom:calc(100% + 3px);left:50%;transform:translateX(-50%);width:max-content;max-width:none;padding:1px 4px;border-radius:3px;background:rgba(255,255,255,.95);color:#334155;font:600 9px/12px Inter,Arial,sans-serif;white-space:nowrap;box-shadow:0 1px 3px #1520301a}

#mainNav .nav-item>.attendance-nav-dots{display:inline-flex;width:auto;gap:5px;margin-left:auto;align-items:center}.attendance-nav-dot{display:block;width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 2px #ffffff18}.attendance-nav-dot.check_in{background:#22c55e}.attendance-nav-dot.check_out{background:#ef4444}

/* Only the active visit time/status badge pulses; employee flags stay still. */
.attendance-map-flag.is-active .attendance-flag-times{background:#dcfce7;color:#14532d;animation:attendanceWorkingPulse 1.8s ease-in-out infinite}
@keyframes attendanceWorkingPulse{0%,100%{background-color:#dcfce7}50%{background-color:#86efac}}
@media(prefers-reduced-motion:reduce){.attendance-map-flag.is-active .attendance-flag-times{animation:none}}
