garden-attendance{display:block;margin:24px 0}.attendance-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 22px;color:#7d8e72;font-size:11px;border-bottom:1px solid #e8eee0}.attendance-stale{color:#9a673a;background:#fff8e9}.attendance-filters{display:flex;align-items:end;gap:12px;padding:18px 22px;background:#fafbf7}.attendance-filters label{font-size:11px;color:#778b69;display:grid;gap:7px}.attendance-filters input{border:1px solid #dce5d3;border-radius:6px;padding:8px;background:white;color:#536e47;font:inherit;direction:ltr}.attendance-stats{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:12px;padding:20px 22px}.attendance-stats>div{padding:18px;background:#f5f8ef;border:1px solid #e5ecdb;border-radius:9px}.attendance-stats span{display:block;font-size:11px;color:#829572}.attendance-stats strong{display:block;font-size:29px;font-weight:500;color:#3f6039;margin:6px 0;font-variant-numeric:tabular-nums}.attendance-stats .attendance-duration{font-size:23px}.attendance-stats small{font-size:9px;color:#98a68b}.attendance-table-wrap{overflow-x:auto}.attendance-table{border-collapse:collapse;width:100%;white-space:nowrap}.attendance-table th{background:#f7f9f2;color:#8b9f7c;padding:13px 19px;font-size:11px;font-weight:400;text-align:right}.attendance-table td{border-bottom:1px solid #edf1e7;font-size:12px;padding:16px 19px;color:#607b51;text-align:right}.attendance-table td strong{font-size:12px;font-weight:500}.attendance-table td small{display:block;font-size:10px;color:#9aaa8c;margin-top:5px}.attendance-table .attendance-empty{text-align:center;padding:35px;color:#9aaa8c}.attendance-footnote{padding:15px 22px;font-size:10px;color:#96a487;line-height:1.9}.attendance-pages{display:flex;justify-content:center;align-items:center;gap:20px;padding:20px;font-size:11px;color:#8c9e7d}.attendance-pages button:disabled{opacity:.4;cursor:default}.attendance-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;padding:0 22px 20px}.attendance-people>div{display:grid;gap:7px;border:1px solid #e6ecdd;border-radius:8px;padding:14px}.attendance-people strong{font-size:12px;font-weight:500}.attendance-people span{font-size:10px;color:#8b9f7c}.attendance-people b{font-size:15px;color:#658452;font-weight:400}@media(max-width:600px){.attendance-stats{grid-template-columns:1fr 1fr;padding:16px;gap:10px}.attendance-stats>div:last-child{grid-column:1/-1}.attendance-filters{flex-wrap:wrap;padding:16px;gap:10px}.attendance-filters label{flex:1;min-width:115px}.attendance-filters input{width:100%}.attendance-status{padding:13px 16px}.attendance-people{padding:0 16px 16px}.attendance-table td,.attendance-table th{padding:14px 16px}.attendance-footnote{padding:14px 16px}}

.attendance-photo-actions{display:flex;gap:8px;flex-wrap:wrap}.attendance-photo-actions .button{font-size:10px;padding:7px 10px;background:#eef4e8;border:1px solid #dfe8d5;color:#4f7144;white-space:nowrap}.attendance-no-photo{font-size:10px;color:#87987a}.attendance-photo-dialog{border:1px solid #dfe7d8;border-radius:14px;padding:0;width:min(640px,calc(100vw - 28px));max-height:90vh;overflow:auto;color:#314c30;background:white;box-shadow:0 24px 90px #122b2440}.attendance-photo-dialog::backdrop{background:#182f27b3;backdrop-filter:blur(4px)}.attendance-photo-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 23px;border-bottom:1px solid #e8eee1;gap:15px}.attendance-photo-dialog h2{font-size:20px}.attendance-photo-dialog header p{font-size:12px;color:#829474;margin-top:5px}.attendance-photo-body{padding:18px;text-align:center;min-height:160px;display:grid;place-items:center;gap:14px}.attendance-photo-body img{max-width:100%;max-height:65vh;height:auto;width:auto;object-fit:contain;border-radius:9px}.attendance-photo-body img[hidden],.attendance-photo-body button[hidden]{display:none}.attendance-photo-body p{font-size:12px;color:#7d926d;padding:20px}.attendance-photo-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 22px;border-top:1px solid #e6eddf;font-size:10px;color:#8a9c7a}.attendance-photo-dialog footer a[hidden]{display:none}@media(max-width:600px){.attendance-photo-actions{min-width:100px}.attendance-photo-dialog footer{flex-wrap:wrap}.attendance-photo-dialog>header{padding:18px}.attendance-photo-body{padding:12px}}
.attendance-breaks{min-width:150px}.attendance-breaks summary{cursor:pointer;color:#7e662e;padding:8px 0;font-size:11px}.attendance-breaks ul{list-style:none;margin:6px 0;padding:0}.attendance-breaks li{display:grid;gap:7px;padding:12px 0;border-bottom:1px solid #e8eddf;font-size:11px}.attendance-breaks li>span{white-space:normal;line-height:1.7;color:#899779;max-width:240px}.attendance-breaks li>b{font-size:13px;font-weight:500;color:#627647}

.break-overview{margin:24px 0;padding:22px;background:#fbfaf5;border:1px solid #dbe2d3;border-radius:20px}.break-overview h3{font-size:22px;margin:0 0 8px}.break-overview header p{color:#687760;font-size:12px}.break-overview-summary{display:flex;gap:14px;list-style:none;cursor:pointer;margin-top:20px}.break-overview-total{display:grid;gap:10px;background:#294d3f;color:white;border-radius:16px;padding:20px;min-width:200px}.break-overview-total b{font-size:30px}.break-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;flex:1}.break-type{display:grid;gap:10px;padding:20px;background:#edf0e5;border-radius:16px}.break-type.meal{background:#f5e8d8}.break-type.restroom{background:#e2ecec}.break-type.smoking{background:#ebe5ed}.break-type b{font-size:28px}.break-type strong{font-size:14px}.break-overview small{font-size:11px}.break-person-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:18px}.break-person-grid>details{background:white;border:1px solid #e0e5d8;border-radius:14px;padding:16px}.break-person-grid summary{display:grid;gap:10px;cursor:pointer}.break-person-grid summary>span{font-size:12px;line-height:1.8;color:#64745f}.break-person-grid ul{padding:0;list-style:none}.break-person-grid li{display:grid;gap:9px;padding:15px 0;border-top:1px solid #e2e5dc;font-size:13px}.break-person-grid li>div{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:760px){.break-overview-summary{flex-direction:column}.break-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.break-type{padding:12px 8px}.break-type strong{font-size:11px}.break-overview{padding:14px}.break-overview-total{min-width:0}.break-person-grid{grid-template-columns:1fr}}

.daily-break-report{margin:0 22px 24px;border:1px solid #dee7d5;border-radius:12px;background:#fff;overflow:hidden}.daily-break-report>header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px;flex-wrap:wrap}.daily-break-report h3,.daily-break-report h2{font-size:19px;font-weight:700;color:#365730}.daily-break-report header p{font-size:12px;color:#7a8b6b;margin-top:7px}.daily-break-report header>strong{font-size:12px;color:#a33b2d}.daily-break-policy{font-size:11px;line-height:1.9;color:#708165;padding:0 20px;margin:10px 0 16px}.daily-break-status{display:inline-block;padding:7px 10px;border-radius:7px;background:#edf5e5;color:#4a693b;font-size:11px;font-weight:600;white-space:normal;max-width:230px;line-height:1.7}.daily-break-report tr.notice td,.daily-break-report tr.near td{background:#fff9ea}.daily-break-report tr.notice .daily-break-status,.daily-break-report tr.near .daily-break-status{background:#fff0c8;color:#7e5e21}.daily-break-report tr.exceeded td,.daily-break-report tr.absence td{background:#fff1ed;color:#9c3228}.daily-break-report tr.exceeded .daily-break-status,.daily-break-report tr.absence .daily-break-status{background:#ad3e30;color:#fff}.daily-break-report tr.absence td{border-top:2px solid #b95043}.daily-break-person{padding:16px 20px;border-top:1px solid #e6ebdf;font-size:12px;line-height:1.9}.daily-break-person summary{cursor:pointer}.daily-break-deduction{padding:12px;background:#fff1ee;border-inline-start:3px solid #b54839;margin-top:10px;color:#94342a}.daily-break-person>p{margin-top:12px}.daily-break-report .attendance-table td small{max-width:220px;white-space:normal;line-height:1.7}
@media(max-width:600px){.daily-break-report{margin:0 16px 20px}.daily-break-report>header{padding:16px}.daily-break-policy{padding:0 16px}.daily-break-person{padding:14px 16px}.daily-break-report h2,.daily-break-report h3{font-size:17px}}
.break-actual-limits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 20px}.break-actual-limits>div{padding:20px;border-radius:12px;background:#edf4e6;border:1px solid #d7e4cd}.break-actual-limits>div:last-child{background:#fff1e9;border-color:#edc8b5}.break-actual-limits span{display:block;font-size:13px;font-weight:600;color:#3d5e35}.break-actual-limits strong{display:block;font-size:40px;line-height:1.3;margin:8px 0;font-variant-numeric:tabular-nums;color:#294b32}.break-actual-limits strong small{font-size:16px}.break-actual-limits p{font-size:12px;line-height:1.8;color:#657258}.break-actual-limits>div:last-child strong{color:#a3472c}.break-employee-heading{padding:10px 20px 14px}.break-employee-heading h4{font-size:16px;color:#365730}.break-employee-heading p{font-size:11px;color:#728167;margin-top:6px}.break-employee-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:12px;padding:0 20px 20px}.break-employee-totals>article{padding:18px;background:#f7faf3;border:1px solid #dfe7d6;border-radius:12px;min-width:0}.break-employee-totals article>header{display:grid;gap:6px}.break-employee-totals header strong{font-size:16px;font-weight:700;color:#365730}.break-employee-totals header span,.break-employee-totals article>small{font-size:11px;color:#75816b}.break-person-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.break-person-metrics>div{display:grid;gap:8px}.break-person-metrics span{font-size:11px;color:#6b795f}.break-person-metrics b{font-size:21px;color:#365730;font-variant-numeric:tabular-nums}.break-employee-totals .has-deduction{border-color:#e6b0a2;background:#fff5f1}.has-deduction [data-person-break-charge]{color:#a53728}.daily-break-report [data-break-charge],.daily-break-report [data-break-counted]{font-size:17px;font-weight:700}.daily-break-person summary{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.daily-break-person summary>strong{font-size:15px;min-width:110px}.monthly-break-total,.monthly-break-charge{padding:6px 10px;border-radius:7px;background:#f0f5e9;font-weight:600}.monthly-break-charge{color:#923e2f;background:#fff1e9}@media(max-width:600px){.break-actual-limits{padding:0 16px;gap:10px}.break-actual-limits>div{padding:14px}.break-actual-limits strong{font-size:34px}.break-actual-limits p{font-size:11px}.break-employee-totals{padding:0 16px 16px}.break-employee-heading{padding:8px 16px 14px}.break-person-metrics b{font-size:20px}.daily-break-person summary{display:grid;gap:8px}}
.daily-break-report tr.review td{background:#fff7e4;color:#806424}.daily-break-report tr.review .daily-break-status{background:#f7e8c2;color:#765b20}.break-actual-limits>div:last-child{background:#edf4fb;border-color:#d1dfef}.break-actual-limits>div:last-child strong{color:#315c85}.break-actual-limits strong small{font-size:13px}.break-actual-limits p b{font-size:13px}

/* Attendance is a vertical record, with evidence beside its punch time. */
.attendance-sessions{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;padding:0 22px 22px;min-width:0}
.attendance-session{min-width:0;max-width:100%;border:1px solid #dce5d4;border-radius:16px;background:white;overflow-wrap:anywhere}
.attendance-session-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px;background:#f2f6ec;border-radius:16px 16px 0 0}
.attendance-session-heading>div{min-width:0;display:grid;gap:8px}.attendance-session-heading h3{font-size:18px;margin:0}.attendance-session-heading small{font-size:12px;color:#76876a}.attendance-session-heading .badge{width:fit-content;white-space:normal;line-height:1.7}
.attendance-punches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}
.attendance-punch{min-width:0;padding:16px;border:1px solid #e4eadd;border-radius:12px;background:#fcfdf9}.attendance-punch h3{font-size:14px;color:#36543b;margin:0}.attendance-punch-time{font-size:15px;line-height:1.9;margin:10px 0 16px;color:#435d3d}.attendance-punch small{font-size:11px;color:#7c8d70;line-height:1.8;display:block}
.attendance-punch-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.attendance-punch-tools>div{min-width:0}.attendance-punch-tools .button{min-height:44px;width:100%;justify-content:center;text-align:center;padding:10px 8px;font-size:12px;white-space:normal;line-height:1.7}.attendance-punch-tools .attendance-open-photo{color:white;background:#365a43;border-color:#365a43}.attendance-punch-location small{margin-top:6px}
.attendance-session-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 18px;padding:16px 0;gap:16px;border-top:1px solid #e6ecdf}.attendance-session-facts>div{min-width:0}.attendance-session-facts dt{font-size:11px;color:#7c8d70;margin-bottom:8px}.attendance-session-facts dd{font-size:15px;color:#36543b;margin:0;font-variant-numeric:tabular-nums}
.attendance-session-breaks{padding:0 18px 18px}.attendance-session .attendance-breaks{min-width:0}.attendance-session .attendance-breaks li>span{max-width:none}.attendance-session .attendance-photo-actions{min-width:0}.attendance-session .attendance-photo-actions .button{white-space:normal;min-height:44px}
.attendance-sessions>.attendance-empty{text-align:center;padding:24px;font-size:14px}.attendance-photo-dialog header>div{min-width:0;overflow-wrap:anywhere}.attendance-photo-dialog footer{flex-wrap:wrap}
@media(max-width:700px){.attendance-punches{grid-template-columns:minmax(0,1fr)}.attendance-session-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-session-facts>div:first-child{grid-column:1/-1}}
@media(max-width:480px){.attendance-sessions{padding:0 12px 16px;gap:14px}.attendance-session-heading{padding:15px;gap:10px;flex-wrap:wrap}.attendance-punches{padding:12px;gap:10px}.attendance-punch{padding:12px}.attendance-session-heading h3{font-size:16px}.attendance-session-facts{margin:0 14px}.attendance-session-breaks{padding:0 14px 14px}.attendance-pages{gap:10px;flex-wrap:wrap;padding:16px}}

/* Compact employee ranking: totals first, evidence inside each employee. */
.time-ranking-hint{padding:0 22px;color:#66796b;font-size:13px;line-height:1.8}
.time-ranking,.break-gallery-panel .break-gallery-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:0 22px 24px}
.time-person{border:1px solid #dce4d8;border-radius:14px;background:white;min-width:0;max-width:100%}
.time-person>summary{display:grid;grid-template-columns:32px minmax(0,1fr) minmax(100px,auto);align-items:center;gap:12px;padding:17px;cursor:pointer;list-style:none}
.time-person>summary::-webkit-details-marker{display:none}.time-person>summary:focus-visible{outline:3px solid #527d67;outline-offset:2px;border-radius:14px}
.time-rank{display:grid;place-items:center;min-height:32px;border-radius:50%;background:#edf2e8;color:#647b65;font-size:12px}
.time-person-name{display:grid;gap:5px;min-width:0}.time-person-name>strong{font-size:17px;color:#24483e}.time-person-name small,.time-person-value small{font-size:11px;color:#74816e;line-height:1.7}
.time-person-value{display:grid;gap:6px;text-align:left;min-width:0}.time-person-value b{font-size:20px;font-variant-numeric:tabular-nums;color:#24483e;overflow-wrap:anywhere}
.time-break-types{display:flex;flex-wrap:wrap;gap:5px 12px;font-size:12px;color:#62725e}.time-break-types>span{background:#f2f5ed;padding:3px 7px;border-radius:6px}
.time-person-body{padding:16px;border-top:1px solid #e5eadf;min-width:0}.time-person-body>.attendance-sessions{padding:14px 0 0}.break-person-cards{display:grid;gap:15px;margin-top:12px}
.time-person[open]>summary{background:#f5f8f0;border-radius:14px 14px 0 0}
@media(max-width:600px){.time-ranking,.break-gallery-panel .break-gallery-grid{padding:0 12px 18px}.time-person>summary{grid-template-columns:26px minmax(0,1fr);gap:8px;padding:14px}.time-person-value{grid-column:2;text-align:right;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.time-person-value b{font-size:21px}.time-person-body{padding:12px}.time-ranking-hint{padding:0 14px}.time-person-name>strong{font-size:16px}}

.attendance-correction-note{margin:12px 0;padding:12px;border:1px solid #b6cebd;border-radius:10px;background:#f2f7f3;line-height:1.8;overflow-wrap:anywhere}.attendance-correction-note:empty{display:none}.attendance-correction-note ol{padding-inline-start:22px}.attendance-correction-note button{margin-top:8px}
.attendance-correction-dialog{width:min(540px,calc(100vw - 32px));max-height:90dvh;overflow:auto;border:1px solid #b6cebd;border-radius:16px;padding:20px;box-sizing:border-box}.attendance-correction-dialog::backdrop{background:#102b2266}.attendance-correction-dialog header,.attendance-correction-dialog footer{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between}.attendance-correction-dialog h2{font-size:1.25rem}.attendance-correction-dialog label{display:grid;gap:6px;margin:16px 0}.attendance-correction-dialog input,.attendance-correction-dialog textarea{font:inherit;max-width:100%;width:100%;box-sizing:border-box;padding:10px;border:1px solid #9ab8aa;border-radius:8px}.attendance-correction-dialog input{direction:ltr}.attendance-correction-dialog [data-result]{color:#8b291f}
