.att-module{--att-accent:var(--success-text)}.att-tabs{display:flex;gap:6px;overflow:auto;margin:0 0 24px;padding:4px 0 10px;border-bottom:1px solid var(--border,var(--border-subtle))}.att-tabs button{border:0;background:transparent;padding:11px 16px;white-space:nowrap;border-radius:10px;color:inherit;font:inherit;cursor:pointer}.att-tabs .active{background:var(--surface-muted);color:var(--text-primary);font-weight:700}.att-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.att-stats button{display:flex;flex-direction:column;align-items:start;padding:20px;border:1px solid var(--border-subtle);border-radius:16px;background:var(--card,var(--surface));color:inherit;cursor:pointer;gap:9px}.att-stats strong{font-size:28px;color:var(--success-text)}.att-stats small{color:var(--text-secondary)}.att-today-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:22px}.att-hero,.att-guide,.att-panel{padding:28px!important;margin-bottom:20px}.att-hero-head{display:flex;justify-content:space-between;gap:15px;font-size:13px;color:var(--text-secondary)}.att-eyebrow{font-weight:700;letter-spacing:.08em}.att-hero h2{font-size:30px;margin:24px 0 8px}.att-hero p{line-height:1.8;color:var(--text-secondary)}.att-current{display:flex;gap:12px;align-items:center;margin:24px 0 12px}.att-badge{display:inline-flex;border-radius:99px;padding:6px 11px;background:var(--surface-muted);color:var(--text-secondary);font-size:12px;font-weight:650;white-space:nowrap}.att-badge.present,.att-badge.approved{background:var(--surface-muted);color:var(--success-text)}.att-badge.late,.att-badge.pending,.att-badge.open{background:var(--warning-bg);color:var(--warning-text)}.att-badge.rejected,.att-badge.absent{background:var(--danger-bg);color:var(--danger-text)}.att-hours{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0;padding:22px 0;border-block:1px solid var(--border-subtle)}.att-hours div{display:flex;flex-direction:column;gap:8px;color:var(--text-secondary);font-size:12px}.att-hours strong{font-size:23px;color:var(--text-primary)}.att-hero>.btn.primary{display:block;width:100%;min-height:60px;font-size:18px;margin-bottom:12px}.att-server{display:block;text-align:center;color:var(--text-secondary);margin:18px 0 0}.att-guide h3{margin:0 0 12px}.att-guide p,.att-guide li{line-height:1.9}.att-guide ol{padding-left:20px;margin:16px 0 25px}.att-actions{display:flex;flex-wrap:wrap;gap:8px}.att-notice{padding:13px 16px;border-radius:10px;background:var(--warning-bg);color:var(--warning-text);line-height:1.6}.att-location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.att-location-grid article{padding:20px;border:1px solid var(--border-subtle);border-radius:14px}.att-location-grid article small{display:block;margin-top:12px;color:var(--text-secondary)}.att-location-grid .btn{margin-right:6px}.att-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:20px 0}.att-filters label{min-width:125px;flex:1;font-size:12px;display:grid;gap:5px}.att-filters input,.att-filters select{width:100%;min-height:42px;border:1px solid var(--control-border);border-radius:9px;padding:8px;background:var(--card,var(--surface));color:inherit}.att-table-wrap{overflow-x:auto}.att-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.att-table th{font-size:11px;white-space:nowrap;text-transform:uppercase;color:var(--text-secondary);padding:14px 10px;background:var(--surface)}.att-table td{padding:15px 10px;border-bottom:1px solid var(--border-subtle)}.att-table small{display:block;font-size:11px;color:var(--text-secondary);margin-top:5px}.att-empty{padding:40px;text-align:center;color:var(--text-secondary)}.att-request-list{display:grid;gap:12px}.att-request{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;background:transparent;border:1px solid var(--border-subtle);border-radius:13px;padding:18px;color:inherit;cursor:pointer;gap:16px}.att-request span:first-child{display:grid;gap:7px}.att-request small{color:var(--text-secondary)}.att-dialog{border:0;border-radius:20px;max-width:740px;width:calc(100% - 32px);padding:0;max-height:90dvh;color:var(--text,var(--text-primary));background:var(--card,var(--surface));box-shadow:0 25px 100px #10392c35}.att-dialog::backdrop{background:#0e2b2466}.att-dialog form{display:flex;flex-direction:column;max-height:90dvh}.att-dialog header,.att-dialog footer{display:flex;justify-content:space-between;align-items:center;padding:20px 26px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.att-dialog footer{border-top:1px solid var(--border-subtle);border-bottom:0;gap:10px}.att-dialog h2{margin:0;font-size:21px}.att-form-body{padding:22px 26px;overflow:auto}.att-form-body label:not(.att-check){display:grid;gap:7px;margin:0 0 17px;font-size:13px;font-weight:550}.att-form-body input:not([type=checkbox]),.att-form-body select,.att-form-body textarea{width:100%;box-sizing:border-box;border:1px solid var(--control-border);background:var(--card,var(--surface));color:inherit;border-radius:10px;padding:11px 12px;min-height:44px;font:inherit}.att-form-body textarea{min-height:90px;resize:vertical}.att-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.att-check{display:flex;align-items:center;gap:9px;margin:14px 0;font-size:13px}.att-check input{accent-color:#069986;width:17px;height:17px}.att-error{color:var(--danger-text);line-height:1.5;white-space:pre-wrap}.att-error:empty{display:none}.att-camera{background:var(--surface-muted);border-radius:16px;padding:12px;text-align:center;margin:20px 0 12px;overflow:hidden}.att-camera video,.att-camera img{width:100%;max-height:310px;object-fit:contain;border-radius:10px}.att-camera video{transform:scaleX(-1)}.att-camera p{color:var(--text-secondary);font-size:13px}.att-capture [data-upload]{margin-top:18px}.att-gps-state{padding:12px;background:var(--surface-muted);border-radius:10px;margin-bottom:12px;font-size:13px}.att-confirm{padding:16px;background:var(--surface);border-radius:12px}.att-confirm p{font-size:13px;line-height:1.6}.att-photo{max-height:260px;max-width:100%;border-radius:12px}.att-days{display:flex;flex-wrap:wrap;gap:12px;border:1px solid var(--border-subtle);border-radius:12px;margin:8px 0 20px}.att-days legend{font-size:13px}.att-dashboard{margin-top:25px;padding:24px;background:var(--card,var(--surface));border:1px solid var(--border-subtle);border-radius:16px}.att-dialog pre{white-space:pre-wrap;font-size:11px;background:var(--surface);padding:12px;overflow-wrap:anywhere}.att-form-body details{margin:20px 0}.att-form-body [hidden]{display:none!important}
@media(max-width:760px){.att-today-grid{grid-template-columns:1fr}.att-stats{grid-template-columns:1fr 1fr;gap:10px}.att-stats button{padding:15px}.att-stats span{font-size:12px}.att-stats strong{font-size:25px}.att-hero,.att-guide,.att-panel{padding:20px!important}.att-hero h2{font-size:25px}.att-hero-head{font-size:11px}.att-tabs{margin-bottom:15px}.att-dialog{width:100%;max-width:none;height:100dvh;max-height:100dvh;border-radius:0;margin:0}.att-dialog form{height:100%;max-height:100dvh}.att-dialog header,.att-dialog footer{padding:17px}.att-form-body{padding:20px 17px;flex:1}.att-form-grid{grid-template-columns:1fr}.att-filters label{min-width:42%}.att-table:not(.att-print .att-table) thead{display:none}.att-table:not(.att-print .att-table) tr{display:block;border:1px solid var(--border-subtle);border-radius:12px;margin-bottom:12px;padding:12px}.att-table:not(.att-print .att-table) td{display:flex;justify-content:space-between;gap:12px;border:0;padding:7px;font-size:12px;flex-wrap:wrap}.att-table:not(.att-print .att-table) td[data-label]:before{content:attr(data-label);color:var(--text-secondary)}.att-hours{gap:7px}.att-hours strong{font-size:20px}.att-request{align-items:start}.att-camera video,.att-camera img{max-height:250px}.att-dashboard{padding:18px}}
@media print{body:has(.att-print-dialog[open])>*:not(.att-print-dialog){display:none!important}.att-print-dialog[open]{position:static;display:block;width:100%;max-width:none;max-height:none;box-shadow:none;border:0;margin:0}.att-print-dialog header,.att-print-dialog footer,.att-print-dialog [data-print],.att-print .btn{display:none!important}.att-print-dialog form,.att-print-dialog .att-form-body{display:block;max-height:none;overflow:visible;padding:0}.att-print .att-table{font-size:9px}.att-print .att-table th,.att-print .att-table td{padding:7px}.att-print .att-table-wrap{overflow:visible}.att-print .att-table tr{break-inside:avoid}}

/* Personal schedule: scoped sections preserve the other attendance panels. */
.att-today-grid{align-items:start}
.att-guide{display:grid;gap:20px;min-width:0;border-radius:16px;box-shadow:0 3px 16px #10392c04}
.att-guide-header{display:flex;align-items:flex-start;gap:12px}
.att-guide-icon{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:12px;background:var(--surface-muted);color:var(--success-text)}
.att-guide .att-guide-header h3{font-size:20px;line-height:1.3;margin:0 0 6px;color:var(--text-primary)}
.att-guide .att-guide-header p{font-size:13px;line-height:1.6;margin:0;color:var(--text-secondary)}
.att-schedule-summary{padding:16px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-muted);min-width:0}
.att-guide .att-schedule-name{margin:0 0 16px;font-size:13px;font-weight:600;line-height:1.5;color:var(--text-secondary);overflow-wrap:anywhere}
.att-schedule-metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0}
.att-schedule-metrics>div{min-width:0}
.att-schedule-metrics .att-work-time{grid-column:1/-1;padding-bottom:16px;border-bottom:1px solid var(--border-subtle)}
.att-schedule-metrics dt{display:flex;align-items:center;gap:7px;color:var(--text-secondary);font-size:13px;margin-bottom:8px}
.att-schedule-metrics dt svg{flex-shrink:0}
.att-schedule-metrics dd{margin:0;font-size:20px;font-weight:700;line-height:1.3;color:var(--text-primary)}
.att-schedule-metrics .att-work-time dd{font-size:26px;color:var(--success-text);font-variant-numeric:tabular-nums}
.att-schedule-metrics dd span{font-size:13px;font-weight:400;color:var(--text-secondary)}
.att-schedule-metrics .att-work-time dd span{font-size:20px}
.att-guide h4{font-size:14px;line-height:1.5;margin:0 0 12px;color:var(--text-primary)}
.att-guide .att-before ol{list-style:none;counter-reset:att-step;display:grid;gap:12px;padding:0;margin:0}
.att-guide .att-before li{counter-increment:att-step;display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6;color:var(--text-secondary)}
.att-before li:before{content:counter(att-step);display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;background:var(--surface-muted);color:var(--success-text);font-size:12px;font-weight:650}
.att-schedule-alert{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid color-mix(in srgb,var(--warning-text) 22%,transparent);border-radius:12px;background:var(--warning-bg);color:var(--warning-text)}
.att-schedule-alert>svg{flex:0 0 18px;margin-top:2px}
.att-guide .att-schedule-alert h4{margin:0 0 5px;font-size:13px;color:inherit}
.att-guide .att-schedule-alert p{margin:0;font-size:13px;line-height:1.6;color:inherit}
.att-quick-actions{padding-top:20px;border-top:1px solid var(--border-subtle)}
.att-quick-actions .att-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.att-quick-actions .btn{width:100%;min-height:44px;height:auto;padding:10px 12px;white-space:normal;line-height:1.4;border-radius:10px;text-align:center;justify-content:center}
@media(min-width:761px) and (max-width:1100px){.att-today-grid{grid-template-columns:1fr}}
@media(max-width:400px){.att-guide{padding:16px!important}.att-quick-actions .att-actions{grid-template-columns:1fr}}
/* Attendance history uses the shared light/dark semantic palette. */
.att-history{display:grid;gap:18px;min-width:0}.att-history-header{display:flex;gap:14px;align-items:center}.att-history-header h2{margin:0 0 7px;font-size:24px}.att-history-header p{margin:0;color:var(--text-secondary);line-height:1.6;font-size:14px}.att-history-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.att-history-stat{display:grid;gap:9px;text-align:left;padding:17px;border:1px solid var(--border-subtle);border-radius:14px;background:var(--surface);color:var(--text-primary);font:inherit;cursor:pointer}.att-history-stat strong{font-size:28px;font-variant-numeric:tabular-nums}.att-history-stat span{font-size:13px;font-weight:600}.att-history-stat small{font-size:11px;color:var(--text-secondary)}.att-history-stat.success strong{color:var(--success-text)}.att-history-stat.danger strong{color:var(--danger-text)}.att-history-stat.info strong{color:var(--info-text)}.att-history-stat.warning strong{color:var(--warning-text)}.att-history-stat:hover{background:var(--hover)}.att-summary-note{margin:-6px 0 0;font-size:12px;line-height:1.6;color:var(--text-secondary)}.att-history-filter{padding:22px}.att-history h3{font-size:16px;margin:0}.att-history .att-filters{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr)) repeat(3,minmax(140px,1.3fr));gap:14px;margin:18px 0}.att-history .att-filters label{min-width:0}.att-history .att-filters input,.att-history .att-filters select{height:44px;box-sizing:border-box;min-width:0}.att-filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.att-history .att-filter-buttons{grid-column:1/-1;justify-content:flex-end}.att-filter-buttons .btn{min-height:44px}.att-filter-chips{display:flex;flex-wrap:wrap;gap:8px}.att-filter-chips span{font-size:12px;color:var(--text-secondary);background:var(--surface-muted);padding:7px 10px;border-radius:8px;overflow-wrap:anywhere}.att-history-list{padding:8px 18px 18px;min-width:0}.att-list-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 8px;gap:12px}.att-list-heading>span{font-size:12px;color:var(--text-secondary)}.att-history .att-table th{background:var(--surface-muted);padding-block:14px}.att-history .att-table td{padding-block:18px;vertical-align:middle}.att-history .att-table tr:hover td{background:var(--hover)}.att-person{display:flex;align-items:center;gap:10px;min-width:160px}.att-person>div{min-width:0;overflow-wrap:anywhere}.att-avatar{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:700}.att-row-times{display:grid;gap:8px;white-space:nowrap}.att-row-times>span{display:flex;gap:12px;justify-content:space-between;color:var(--text-secondary);font-size:11px}.att-row-times strong{color:var(--text-primary);font-size:12px;font-variant-numeric:tabular-nums}.att-history .btn{min-height:44px}.att-badge.present,.att-badge.approved{background:var(--success-bg)}.att-badge.leave,.att-badge.sick,.att-badge.duty{background:var(--info-bg);color:var(--info-text)}.att-badge.vacation{background:var(--purple-bg);color:var(--purple-text)}.att-history .att-empty{padding:48px 16px}.att-empty>svg{width:32px;height:32px;color:var(--accent);margin-bottom:16px}.att-empty h3{color:var(--text-primary)}.att-empty p{font-size:13px;line-height:1.6}.att-detail-identity h3{margin:0}.att-detail-identity p{color:var(--text-secondary)}
@media(max-width:1100px){.att-history .att-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.att-history-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.att-history-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.att-history-stat{padding:14px}.att-history-filter{padding:16px}.att-history-list{padding:8px 10px}.att-history .att-table td[data-label="Pegawai"]{display:block}.att-history .att-table td[data-label="Pegawai"]:before{display:none}.att-history .att-table td{align-items:center;padding:9px 6px}.att-history .att-table tr:hover td{background:transparent}.att-history .att-table tr{background:var(--surface);padding:12px}.att-history-header{align-items:flex-start}.att-history-header h2{font-size:21px}.att-history .att-filter-buttons{justify-content:stretch}.att-history .att-filter-buttons .btn{flex:1}.att-history .att-person{min-width:0}.att-history .att-table small{line-height:1.5}.att-history .att-table td[data-label="Aksi"] .btn{min-width:110px}.att-hours strong{overflow-wrap:anywhere}}
@media(max-width:420px){.att-history .att-filters{grid-template-columns:1fr}.att-history-header .att-guide-icon{display:none}}
.att-leave{display:grid;gap:18px;min-width:0}.att-leave .att-history-header{flex-wrap:wrap}.att-leave .att-history-header>div{flex:1;min-width:230px}.att-leave-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.att-leave-stats>div{padding:18px;display:grid;gap:10px}.att-leave-stats strong{font-size:26px;color:var(--accent)}.att-leave-stats span{font-size:13px;color:var(--text-secondary)}.att-leave-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(220px,2fr) minmax(160px,1fr);gap:20px;padding:20px 10px;border-top:1px solid var(--border-subtle);align-items:start}.att-leave-row small{display:block;color:var(--text-secondary);font-size:12px;line-height:1.6;margin:8px 0}.att-leave-row p{font-size:13px;line-height:1.7;margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}.att-leave-row .btn{min-height:44px;margin-top:8px}.att-leave-detail{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;font-size:14px;line-height:1.6}.att-leave-detail dt{color:var(--text-secondary)}.att-leave-detail dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.att-inbox-item{border:1px solid var(--border-subtle);border-radius:12px;padding:16px;display:grid;gap:10px}.att-inbox-item.unread{border-left:4px solid var(--accent);background:var(--surface-muted)}.att-inbox-item p{margin:0;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.att-inbox-item small{color:var(--text-secondary)}.att-inbox-item .att-badge{justify-self:start}.att-notification-trigger{display:flex;gap:6px;align-items:center;min-height:42px;min-width:48px}.att-notification-trigger [data-att-unread]{font-size:12px;font-weight:700}.att-badge.cancelled{background:var(--surface-muted);color:var(--text-secondary)}.att-dialog footer{flex-wrap:wrap}
@media(max-width:900px){.att-leave-row{grid-template-columns:1fr 2fr}.att-leave-row>div:last-child{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.att-leave-row>div:last-child small{margin:0}.att-leave-row .btn{margin:0}}
@media(max-width:600px){.att-leave-stats{grid-template-columns:1fr}.att-leave-stats>div{display:flex;justify-content:space-between;align-items:center;padding:14px}.att-leave-row{grid-template-columns:1fr;gap:10px}.att-leave-detail{grid-template-columns:1fr;gap:6px}.att-leave-detail dd{margin-bottom:12px}.att-leave .att-filters{display:grid;grid-template-columns:minmax(0,1fr)}.att-leave .att-filters label{min-width:0}.att-leave .att-history-filter{padding:16px}.att-leave .att-filters .btn{min-height:44px}.att-leave .att-history-header>div{min-width:0}.att-leave .att-history-header>.btn{width:100%}.att-inbox-item .btn{min-height:44px}}

/* Leave approvals: synchronized quick filters and accessible responsive table. */
.att-leave-stat{display:grid;gap:10px;padding:18px;text-align:left;font:inherit;color:var(--text-primary);cursor:pointer;border:1px solid var(--border-subtle);background:var(--surface);border-radius:14px}.att-leave-stat small{color:var(--text-secondary);font-size:12px}.att-leave-stat.active{border:2px solid var(--success-text);padding:17px;background:var(--success-bg)}.att-leave-stat:hover{background:var(--surface-muted)}.att-leave-stat:focus-visible{outline:3px solid var(--success-text);outline-offset:3px}.att-leave .att-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px}.att-leave .att-filters label{min-width:0}.att-leave .att-filters input,.att-leave .att-filters select{width:100%;height:44px;min-width:0;text-overflow:ellipsis}.att-leave .att-filter-buttons{grid-column:1/-1;justify-content:flex-end}.att-leave .att-filter-chips{margin:16px 0}.att-leave .att-summary-note{margin:0}.att-leave-table th{background:var(--surface-muted)}.att-leave-table td{vertical-align:middle}.att-leave-table small{display:block;margin-top:6px;color:var(--text-secondary)}.att-leave-table .btn{display:inline-flex;align-items:center;gap:7px;min-height:40px;white-space:nowrap}.att-leave-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:16px;font-size:13px}.att-leave .att-table-wrap{overflow:auto}
@media(min-width:761px){.att-leave-table{min-width:950px}}
@media(max-width:1000px){.att-leave .att-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.att-leave .att-filters{grid-template-columns:minmax(0,1fr)}.att-leave-stat{grid-template-columns:1fr auto;padding:14px}.att-leave-stat.active{padding:13px}.att-leave-stat small{grid-column:1/-1}.att-leave .att-filter-buttons .btn{flex:1}.att-leave-pagination{justify-content:space-between}.att-leave-table td[data-label="Nama Pegawai"]{display:block}.att-leave-table td[data-label="Nama Pegawai"]:before{display:none}}
/* Compact leave approvals: list first, filters stay available without taking space. */
.att-leave{gap:12px}
.att-leave .att-history-header{margin:0;gap:12px}
.att-leave .att-history-header h2{font-size:20px;margin:0 0 4px}
.att-leave .att-history-header p{font-size:13px;margin:0;line-height:1.5}
.att-leave .att-leave-stats{display:flex;gap:8px;overflow-x:auto;padding:3px;min-width:0}
.att-leave .att-leave-stat,.att-leave .att-leave-stat.active{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;margin:0;padding:10px 16px;flex:1;white-space:nowrap;border-radius:12px;border-width:1px;box-shadow:none}
.att-leave .att-leave-stat.active{box-shadow:inset 0 0 0 1px var(--success-text)}
.att-leave-stats strong{font-size:21px;line-height:1.2}
.att-leave-stat[data-att-status=pending] strong{color:var(--warning-text)}
.att-leave-stat[data-att-status=rejected] strong{color:var(--danger-text)}
.att-leave .att-history-filter{padding:12px 16px}
.att-leave-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.att-leave-toolbar>input{flex:1;min-width:160px;height:44px;border:1px solid var(--control-border);border-radius:10px;padding:10px 12px;font:inherit;font-size:13px}
.att-leave-toolbar>.btn{min-height:44px;display:flex;align-items:center;gap:7px}
.att-leave .att-filter-chips{margin:10px 0 0;gap:6px}
.att-leave .att-filter-chips span{font-size:12px;padding:3px 8px}
.att-leave [data-leave-filter]{margin:14px 0 0;padding-top:14px;border-top:1px solid var(--border-subtle);gap:12px}
.att-leave [data-leave-filter][hidden]{display:none!important}
.att-leave .att-history-list{padding:12px 16px}
.att-leave .att-list-heading{padding:0 0 12px;margin:0;gap:12px;flex-wrap:wrap}
.att-leave .att-list-heading h3{display:flex;align-items:center;gap:8px;font-size:15px;margin:0}
.att-leave .att-leave-table{min-width:0;table-layout:auto}
.att-leave .att-leave-table th{font-size:11px;white-space:normal;padding:12px 10px}
.att-leave .att-leave-table td{font-size:13px;padding:12px 10px}
.att-leave .att-leave-table td[data-label=Aksi]{min-width:90px}
.att-leave .att-leave-table td[data-label=Aksi] .btn{margin:3px;min-height:36px;padding:7px 10px}
.att-leave .att-empty{padding:20px 12px}
.att-leave .att-empty>svg{display:none}
.att-leave .att-empty h3{font-size:14px;margin:0 0 12px}
@media(max-width:760px){.att-leave .att-history-header>div{min-width:0}.att-leave .att-leave-stat,.att-leave .att-leave-stat.active{flex:1 0 auto;min-height:48px;padding:8px 12px;gap:10px}.att-leave .att-leave-stats span{font-size:12px}.att-leave .att-leave-table td[data-label=Pegawai]{display:block}.att-leave .att-leave-table td[data-label=Pegawai]:before{display:none}.att-leave .att-leave-table tr{margin-bottom:10px}.att-leave .att-leave-table td{padding:7px 2px}.att-leave .att-leave-table td[data-label=Aksi] .btn{min-height:44px}.att-leave .att-list-heading h3{flex-wrap:wrap}.att-leave .att-history-list{padding:12px}.att-leave-toolbar>input{min-width:0;width:100%;flex-basis:calc(100% - 110px)}.att-leave .att-filter-buttons{flex-wrap:wrap}}
.att-location-hint{font-size:13px;line-height:1.6;color:var(--text-secondary);margin:0 0 16px}
.att-location-status{padding:16px;margin:0 0 20px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-muted)}
.att-location-status dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 16px}.att-location-status dt{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.att-location-status dd{margin:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere;color:var(--text-primary);font-weight:600}.att-location-status .att-notice{font-size:13px;margin:12px 0 0}.att-location-status .btn{min-height:44px}
.att-policy-field{position:relative;min-width:0;padding-right:30px}.att-help{position:absolute;right:0;top:0;margin:0!important}.att-help summary{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--control-border);border-radius:50%;font-size:13px;font-weight:700;cursor:pointer;list-style:none;color:var(--text-secondary)}.att-help summary::-webkit-details-marker{display:none}.att-help p{position:absolute;right:0;top:24px;z-index:2;width:240px;max-width:65vw;padding:12px;background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:10px;font-size:13px;line-height:1.6;box-shadow:var(--shadow)}
@media(max-width:600px){.att-location-status dl{grid-template-columns:1fr}.att-location-status{padding:14px}.att-policy-field{padding-right:32px}}

.att-gps-card{border:1px solid var(--control-border);border-radius:12px;padding:14px;background:var(--surface-muted);margin:12px 0}.att-gps-card>div>strong{display:block;font-size:16px}.att-gps-card p,.att-gps-card li{line-height:1.6;font-size:13px}.att-gps-card[data-status=inside]{border-color:var(--success-text)}.att-gps-card[data-status=poor],.att-gps-card[data-status=uncertain],.att-gps-card[data-status=outside],.att-gps-card[data-status=error]{border-color:var(--warning-text)}.att-gps-card .att-gps-state{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0;margin:12px 0}.att-gps-state dt{font-size:11px;color:var(--text-secondary)}.att-gps-state dd{margin:3px 0;overflow-wrap:anywhere}.att-gps-card .att-actions .btn{min-height:44px}.att-dialog .att-form-body{min-height:0}.att-dialog footer .btn{min-height:44px}@media(max-width:480px){.att-gps-card .att-actions .btn{width:100%}.att-gps-card .att-gps-state{gap:10px;font-size:12px}}

.att-confirm .att-gps-state{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.att-confirm summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.att-dialog [hidden]{display:none!important}.att-confirm{overflow-wrap:anywhere}.att-dialog footer{flex-wrap:wrap}

.att-exit-confirm{position:absolute;inset:0;z-index:10;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:12px;padding:24px;background:var(--surface-elevated,#fff);border-radius:inherit;text-align:center}.att-exit-confirm strong,.att-exit-confirm p{width:100%}.att-dialog,.cashier-preparation{position:fixed}

/* Existing attendance dialog, with map editor and a fixed action footer. */
.att-dialog.alm-dialog{width:900px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px)}.alm-dialog form{display:flex;flex-direction:column;max-height:calc(100dvh - 32px)}.alm-dialog .att-form-body{min-height:0;overflow:auto}.alm-dialog header,.alm-dialog footer{flex-shrink:0}.alm-section{padding:16px;border:1px solid var(--border-subtle);border-radius:12px;margin:0 0 16px;min-width:0}.alm-section h3{margin:0 0 14px}.alm-section p,.alm-section small{font-size:13px;line-height:1.6}.alm-section label{display:grid;gap:6px;min-width:0}.alm-section .att-check{display:flex}.alm-search{display:flex;align-items:end;gap:10px}.alm-search label{flex:1;min-width:0}.alm-map{height:300px;min-width:0;margin-top:12px;background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:10px;isolation:isolate}.alm-pin{display:grid;place-items:center;border:3px solid white;border-radius:50%;background:#008574;color:white;box-shadow:0 1px 6px #0005}.alm-results{display:grid;gap:6px;margin:10px 0}.alm-results .btn{text-align:left;white-space:normal;line-height:1.5}.alm-dialog input,.alm-dialog select,.alm-dialog textarea{width:100%;max-width:100%;min-width:0}.alm-dialog input[type=checkbox]{width:18px}.alm-dialog [data-test-result]{margin-top:12px;line-height:1.7;overflow-wrap:anywhere}.alm-dialog [data-gps-state]{padding:10px;background:var(--surface-muted);border-radius:8px}.alm-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:16px}.alm-filters label{flex:1;min-width:120px}.alm-filters input,.alm-filters select{width:100%}.alm-dialog .leaflet-container{font-family:inherit}.alm-dialog .leaflet-control-attribution{font-size:10px}.alm-list .admin-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:600px){.att-dialog.alm-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;margin:0}.alm-dialog form{height:100dvh;max-height:100dvh}.alm-dialog .att-form-body{padding:14px}.alm-dialog header,.alm-dialog footer{padding:14px}.alm-section{padding:12px}.alm-map{height:260px}.alm-search{flex-wrap:wrap}.alm-search label{flex-basis:100%}.alm-search .btn{width:100%}.alm-filters{display:grid;grid-template-columns:1fr 1fr}.alm-filters label:first-child{grid-column:1/-1}.alm-filters label{min-width:0}.alm-dialog input,.alm-dialog select,.alm-dialog textarea{font-size:16px}.alm-dialog .leaflet-control-attribution{max-width:250px;white-space:normal}}

.alm-dialog .att-form-grid{gap:10px 16px}.alm-section label{margin-bottom:8px}.alm-dialog textarea{min-height:64px;height:64px}

.att-exception{border:1px solid var(--border,#d1dfda);border-radius:12px;padding:14px;margin:12px 0}.att-exception ul{padding-left:20px}.att-exception p{font-size:13px}.att-current{flex-wrap:wrap}
.att-dialog.att-compact{width:min(760px,calc(100% - 24px));overflow:hidden}
.att-compact header,.att-compact footer{padding:14px 20px}
.att-compact header h2{font-size:19px;overflow-wrap:anywhere}
.att-compact header h2>svg{vertical-align:middle;margin-right:8px}
.att-capture-identity{display:block;font-size:12px;font-weight:400;color:var(--text-secondary);margin-top:5px}
.att-compact .att-form-body{padding:16px 20px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.att-compact .att-capture{display:grid;gap:12px;min-width:0}
.att-time-strip{padding:12px;border-radius:10px;background:var(--surface-muted);font-size:13px;font-weight:600}
.att-compact .att-gps-card,.att-compact .att-exception,.att-compact .att-confirm{margin:0;padding:12px}
.att-compact .att-photo-section{border:1px solid var(--border-subtle);border-radius:12px;padding:12px;min-width:0}
.att-photo-section>strong{font-size:14px}.att-photo-section>strong small{font-weight:400;color:var(--text-secondary);margin-left:6px}
.att-compact .att-camera{margin:8px 0;padding:0;background:transparent}
.att-compact .att-camera:has(video[hidden]):has(img[hidden]):has(p[hidden]){display:none}
.att-compact .att-camera img,.att-compact .att-camera video{max-height:180px}
.att-compact label:not(.att-check){margin-bottom:8px;gap:5px}
.att-compact [data-upload]{margin:10px 0 0;font-size:12px}
.att-compact textarea{min-height:64px}
.att-compact details{margin:8px 0 0;font-size:12px}
.att-compact details summary{cursor:pointer;padding:8px 0}
.att-compact [data-exceptions]{font-size:13px;margin:8px 0;padding-left:18px}
.att-compact .att-confirm p{margin:6px 0 0;line-height:1.5}
.att-compact footer{position:sticky;bottom:0;background:var(--card,var(--surface));flex-wrap:nowrap}
.att-compact footer .btn{min-height:44px}
.att-policy-section{padding:12px;border:1px solid var(--border-subtle);border-radius:12px;margin-bottom:12px}
.att-policy-section h3{margin:0 0 10px;font-size:15px}.att-policy-section p{font-size:13px;line-height:1.5;color:var(--text-secondary)}
@media(max-width:760px){.att-dialog.att-compact{width:100%;max-height:100dvh}.att-compact header,.att-compact footer{padding:12px 16px}.att-compact .att-form-body{padding:12px 16px}.att-compact footer .btn{flex:1;min-width:0}.att-compact .att-gps-card .att-actions .btn{width:auto}.att-compact .att-actions{gap:6px}}
.att-compact .att-capture input[type=file]{font-size:12px;min-height:36px;padding:6px}
@media(min-width:761px){
 .att-compact .att-photo-section{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;align-items:end}
 .att-compact .att-photo-section>strong,.att-compact .att-photo-section>.att-camera{grid-column:1/-1}
 .att-compact .att-photo-section [data-upload]{margin:0}
 .att-compact .att-exception{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;align-items:start}
 .att-compact .att-exception>strong,.att-compact .att-exception>ul{grid-column:1/-1}
 .att-compact .att-exception label{margin:0}
}
.att-record-status{margin:12px 0 8px}.att-deviations{display:flex;flex-wrap:wrap;gap:6px 12px;margin:0 0 14px;font-size:12px;color:var(--text-secondary)}.att-deviations:empty{display:none}.att-deviations>span{padding:3px 0}.att-hero .att-hours{margin:12px 0;gap:8px}.att-correction-row{padding:12px 0;border-bottom:1px solid var(--border)}.att-correction-row .att-request{width:100%;text-align:left}.att-correction-row>.btn{margin:6px}.att-correction-row .att-actions{justify-content:flex-end;margin-top:8px}@media(max-width:600px){.att-hero .att-hours strong{font-size:20px}.att-hero .att-hours small{font-size:11px}.att-correction-row .att-actions{flex-wrap:wrap}}

.att-shift-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;align-items:start}.att-shift-card{border:1px solid var(--border-subtle);border-radius:14px;padding:18px;min-width:0}.att-shift-card header{display:flex;align-items:start;justify-content:space-between;gap:10px}.att-shift-card h3{font-size:17px;margin:0;overflow-wrap:anywhere}.att-shift-time{display:flex;align-items:center;gap:8px;margin:16px 0;font-size:20px}.att-shift-time small{font-size:12px;color:var(--text-secondary)}.att-shift-days{display:flex;flex-wrap:wrap;gap:5px}.att-shift-days span{background:var(--surface-muted);border-radius:6px;padding:5px 7px;font-size:12px}.att-shift-meta{display:flex;flex-wrap:wrap;gap:5px;align-items:center;font-size:12px;color:var(--text-secondary);margin:14px 0 8px}.att-shift-count{font-size:13px;margin:8px 0 14px}.att-shift-actions{display:flex;flex-wrap:wrap;gap:7px;border-top:1px solid var(--border-subtle);padding-top:12px}.att-shift-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:38px;padding:8px 10px;font-size:12px}.att-shift-empty{padding:24px;text-align:center;grid-column:1/-1}.att-shift-dialog{width:min(680px,calc(100vw - 32px))}.att-shift-dialog .att-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.att-shift-dialog .att-form-body>p{font-size:13px;line-height:1.6}.att-shift-people{max-height:240px;overflow:auto;border:1px solid var(--border-subtle);border-radius:10px;padding:10px;margin:12px 0}.att-shift-people .att-check{padding:8px;margin:0}.att-shift-people small{display:block;color:var(--text-secondary);font-size:12px}.att-shift-dialog [data-assignment-preview]{font-size:13px;line-height:1.7}.att-shift-dialog .att-days{display:flex;flex-wrap:wrap;gap:8px}.att-shift-dialog .att-days label{background:var(--surface-muted);padding:7px;border-radius:7px}@media(min-width:1500px){.att-shift-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.att-shift-grid{grid-template-columns:1fr}.att-shift-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0}.att-shift-actions .btn{flex:1 1 42%}}
@media(max-width:600px){body:has(.att-module) .user-menu-trigger.profile>.icon{display:none!important}}
.att-status-stack{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.att-status-stack small{font-size:12px;color:var(--text-secondary)}.att-record-detail .att-detail-photos{display:flex;flex-wrap:wrap;gap:16px}.att-detail-photos figure{margin:0;max-width:180px}.att-detail-photo{display:block;width:160px;height:120px;object-fit:contain;background:var(--surface-muted);border-radius:10px}.att-detail-photos figcaption{display:flex;gap:8px;align-items:center;margin-top:6px}.att-full-photo{display:block;max-width:100%;max-height:70dvh;object-fit:contain;margin:auto}.att-detail-location{margin:12px 0}.att-detail-location h4{margin:0 0 6px}.att-record-detail details summary{cursor:pointer;padding:12px 0}.att-record-detail form{display:flex;flex-direction:column;max-height:calc(100dvh - 32px)}.att-record-detail .att-form-body{overflow:auto;min-height:0}.att-record-detail footer,.att-record-detail header{flex-shrink:0}.att-record-detail .att-hours{margin-top:18px}
/* Shared attendance workspace: scoped to existing tabs and dialogs. */
.att-module{--att-line:var(--border-subtle);--att-soft:var(--surface-muted);min-width:0}.att-module .att-tabs{gap:4px;padding:5px;margin:0 0 20px;border:1px solid var(--att-line);border-radius:12px;background:var(--surface);scrollbar-width:thin;overscroll-behavior-inline:contain}.att-module .att-tabs button{min-height:42px;padding:9px 14px;font-size:13px;border-radius:8px}.att-module .att-tabs button.active{background:var(--success-text);color:var(--surface-elevated,#fff);box-shadow:0 2px 5px #0001}.att-tabs button:focus-visible{outline:2px solid var(--success-text);outline-offset:2px}.att-page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.att-page-heading h2{font-size:24px;line-height:1.25;margin:6px 0}.att-page-heading p{font-size:13px;line-height:1.6;margin:0;color:var(--text-secondary);max-width:650px}.att-context{font-size:11px;font-weight:600;color:var(--text-secondary);line-height:1.5}.att-context span{padding:0 6px;opacity:.5}.att-heading-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap}.att-module .btn{min-height:40px;font-size:12px;border-radius:8px}.att-module .att-panel,.att-module .att-hero,.att-module .att-guide{padding:20px!important;margin-bottom:16px}.att-module .card{border-radius:12px;box-shadow:0 2px 7px #142d2410}.att-module .att-panel:has(>.att-page-heading){background:transparent;border:0;box-shadow:none;padding:0!important}.att-module .att-hero h2{font-size:25px;margin:16px 0 6px}.att-module .att-hero>p{font-size:13px;line-height:1.6;margin:8px 0}.att-module .att-current{margin:12px 0;gap:8px}.att-module .att-hours{padding:14px 0;margin:14px 0;gap:12px}.att-module .att-hours strong{font-size:23px}.att-module .att-notice{font-size:12px;line-height:1.6;padding:12px;border-radius:8px}.att-module .att-stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:16px}.att-module .att-stats button{padding:14px;border-radius:10px;gap:5px;min-width:0}.att-module .att-stats span{font-size:12px}.att-module .att-stats strong{font-size:26px}.att-module .att-stats small{font-size:10px}.att-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:0 0 18px}.att-metric{padding:16px;display:grid;align-content:start;gap:6px;min-width:0;border-top:3px solid var(--success-text)!important}.att-metric>span{font-size:12px;color:var(--text-secondary)}.att-metric>strong{font-size:27px;line-height:1.2;font-weight:700}.att-metric>small{font-size:11px;color:var(--text-secondary)}.att-review-overview{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:14px;margin-bottom:18px;align-items:start}.att-overview-card{padding:18px;display:flex;gap:14px}.att-overview-card h3{font-size:15px;margin:0 0 6px}.att-overview-card p{font-size:12px;line-height:1.6;margin:0;color:var(--text-secondary)}.att-legacy-panel{display:block}.att-legacy-list{display:grid;gap:9px;margin-top:12px}.att-legacy-list article{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;background:var(--att-soft);border-radius:9px}.att-legacy-list article strong,.att-legacy-list article small{display:block;font-size:13px;margin-bottom:4px}.att-legacy-list article small{font-size:11px;color:var(--text-secondary)}.att-clear-state{padding:10px;background:var(--att-soft);border-radius:8px}.att-request-workspace{overflow:hidden}.att-request-filters,.att-module .att-filters,.att-module .alm-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px;align-items:end;margin:0;padding:16px}.att-request-filters{background:var(--att-soft);border-bottom:1px solid var(--att-line)}.att-request-filters label,.att-module .att-filters label,.att-module .alm-filters label{font-size:11px;display:grid;gap:6px;min-width:0}.att-request-filters input,.att-request-filters select,.att-module .att-filters input,.att-module .att-filters select,.att-module .alm-filters input,.att-module .alm-filters select{width:100%;min-width:0;box-sizing:border-box;min-height:40px;border:1px solid var(--control-border);border-radius:8px;padding:8px 10px;background:var(--surface);color:inherit;font:inherit;font-size:12px}.att-filter-buttons{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.att-module .att-list-heading{padding:16px;gap:12px;align-items:center;margin:0;display:flex;justify-content:space-between;flex-wrap:wrap}.att-list-heading h3{font-size:15px;margin:0}.att-list-heading small{font-size:11px;color:var(--text-secondary)}.att-module .att-table th{background:var(--att-soft);font-size:11px;letter-spacing:.02em;padding:11px 14px;color:var(--text-secondary)}.att-module .att-table td{padding:12px 14px;font-size:12px;line-height:1.5;vertical-align:middle}.att-table td small{display:block;color:var(--text-secondary);font-size:11px;margin-top:3px}.att-module .att-table tbody tr:hover{background:var(--att-soft)}.att-row-actions{display:flex;gap:5px;flex-wrap:wrap}.att-reason-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:280px;font-size:12px;color:var(--text-secondary);margin-top:4px;overflow-wrap:anywhere}.att-module .att-badge{font-size:11px;padding:5px 9px;max-width:100%;white-space:normal;line-height:1.35}.att-module .data-pagination{padding:14px 16px;border-top:1px solid var(--att-line);margin-top:0}.att-module .att-history-filter{padding:0;overflow:hidden}.att-module .att-history-filter>h3{font-size:13px;padding:16px 16px 0;margin:0}.att-module .att-filter-chips{padding:0 16px 14px;margin:0}.att-module .att-history-stats{gap:10px}.att-module .att-history-stat{padding:14px}.att-module .att-history-header{margin-bottom:0}.att-module .att-history-list{overflow:hidden}.att-module .att-leave{gap:16px}.att-module .att-leave-stats{gap:12px}.att-module .att-leave-stat{padding:16px}.att-module .att-leave-toolbar{padding:16px}.att-empty-unified{display:flex;align-items:center;justify-content:center;gap:18px;padding:32px 20px;text-align:left;min-height:160px}.att-empty-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:var(--att-soft);color:var(--success-text);flex-shrink:0}.att-empty-icon svg{width:25px;height:25px}.att-empty-unified h3{font-size:16px;margin:0 0 7px}.att-empty-unified p{max-width:470px;margin:0 0 12px;font-size:13px;line-height:1.65;color:var(--text-secondary)}.att-module .att-empty:not(.att-empty-unified){padding:28px 18px;min-height:150px}.att-module .att-empty h3{font-size:16px}.att-module .att-empty p{font-size:13px;max-width:480px;margin:8px auto;line-height:1.6}.att-module .att-shift-grid{grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:14px}.att-module .att-shift-card{border-radius:12px;padding:18px;background:var(--surface);box-shadow:0 2px 7px #142d2410}.att-module .att-shift-card h3{font-size:16px}.att-module .att-shift-time strong{font-size:23px}.att-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.att-setting-card{padding:18px;min-width:0}.att-setting-card .att-guide-icon{width:34px;height:34px;margin-bottom:12px}.att-setting-card h3{font-size:14px;margin:0 0 8px}.att-setting-card>strong{font-size:16px;line-height:1.45}.att-setting-card p{font-size:12px;line-height:1.6;color:var(--text-secondary);margin:8px 0 0}.att-policy-row{display:flex;justify-content:space-between;align-items:center;padding:12px;border-top:1px solid var(--att-line)}.att-settings-section{border:1px solid var(--border-subtle);border-radius:10px;margin:10px 0!important;overflow:hidden}.att-settings-section>summary{padding:14px 16px;font-size:14px;font-weight:650;cursor:pointer;background:var(--surface-muted)}.att-settings-fields{padding:16px;display:grid;gap:12px}.att-settings-fields p{font-size:12px;line-height:1.6;margin:0;color:var(--text-secondary)}.att-dialog{border-radius:14px}.att-dialog header h2{font-size:20px}.att-dialog .att-form-body{font-size:13px}.att-dialog .att-form-body>label{margin-bottom:12px}.att-dialog form{display:flex;flex-direction:column;max-height:calc(100dvh - 32px)}.att-dialog .att-form-body{overflow:auto;min-height:0}.att-dialog header,.att-dialog footer{flex-shrink:0}.att-dialog footer{border-top:1px solid var(--border-subtle);background:var(--surface);gap:8px}.att-dialog .btn{min-height:42px}.att-loading{padding:24px;border-radius:12px;background:var(--surface);font-size:13px;color:var(--text-secondary)}.att-skeleton{height:80px;background:var(--surface-muted);border-radius:10px;margin-top:14px;animation:att-pulse 1.3s ease-in-out infinite}.att-skeleton:last-child{height:170px}@keyframes att-pulse{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.att-skeleton{animation:none}}
@media(max-width:1100px){.att-module .att-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.att-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.att-review-overview{grid-template-columns:1fr 1fr}.att-request-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.att-row-actions .btn{padding:8px}.att-page-heading h2{font-size:22px}}
@media(max-width:760px){.att-page-heading{align-items:start;gap:12px;flex-wrap:wrap;margin-bottom:16px}.att-page-heading h2{font-size:22px}.att-heading-actions{width:100%}.att-module .att-tabs{margin-bottom:16px;max-width:100%;border-radius:10px}.att-module .att-tabs button{min-height:44px;padding:10px 12px}.att-module .att-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.att-metric{padding:13px}.att-metric>strong{font-size:24px}.att-module .att-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.att-review-overview{grid-template-columns:1fr;gap:12px}.att-settings-grid{grid-template-columns:1fr 1fr;gap:10px}.att-setting-card{padding:14px}.att-request-filters,.att-module .att-filters,.att-module .alm-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:10px}.att-request-filters label:first-child{grid-column:1/-1}.att-module .att-filter-buttons{grid-column:1/-1}.att-module .att-table-wrap{overflow:visible}.att-module .att-table{table-layout:auto;min-width:0;width:100%}.att-module .att-table tbody{display:block;padding:0 12px}.att-module .att-table td{padding:6px 0;min-width:0;font-size:12px}.att-module .att-table td>div{max-width:100%;min-width:0}.att-module .att-table td[data-label=Aksi]{border-top:1px solid var(--att-line);padding-top:10px;margin-top:6px}.att-module .att-table tr{background:var(--surface);padding:12px}.att-row-actions{justify-content:flex-end}.att-empty-unified{padding:24px 16px;gap:12px;align-items:flex-start}.att-empty-unified h3{font-size:15px}.att-empty-unified p{font-size:12px}.att-module .btn{min-height:44px}.att-module .att-hero,.att-module .att-guide{padding:18px!important}.att-dialog{border-radius:0}.att-dialog form{max-height:100dvh}.att-dialog input,.att-dialog select,.att-dialog textarea{font-size:16px}.att-dialog footer{padding:12px 16px}.att-settings-fields{padding:14px}.att-module .att-shift-grid{grid-template-columns:1fr}.att-module .data-pagination{padding:12px}.att-context{overflow-wrap:anywhere}}
@media(max-width:420px){.att-settings-grid{grid-template-columns:1fr}.att-empty-unified .att-empty-icon{width:38px;height:38px;border-radius:10px}.att-module .att-table td[data-label=Status]>div{width:100%}.att-reason-preview{max-width:220px}.att-heading-actions .btn{flex:1}.att-module .att-hours strong{font-size:20px}}
.att-module .att-today-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.att-module .att-hero .att-today-actions>.btn{margin:0;min-height:44px}.att-module .att-hero .att-today-actions>.primary{width:auto;flex:1;font-size:14px;padding:12px 18px}.att-module .att-before summary,.att-legacy-note summary{cursor:pointer;font-size:12px;font-weight:600;padding:10px 0}.att-module .att-before ol{margin:8px 0}.att-legacy-note p{font-size:12px!important;line-height:1.6!important;margin:4px 0!important}.att-module .att-hero .att-server{margin-top:12px}
.att-module .att-leave-stats{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:760px){.att-module .att-leave-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Historical unfinished attendance, shared by today's card and punch dialog. */
.att-unfinished{display:flex;align-items:flex-start;gap:12px;padding:16px;margin:14px 0;background:#fff8e6;border:1px solid #e8d49c;border-radius:12px;color:#654e17;min-width:0}
.att-unfinished>svg{flex:0 0 22px;width:22px;height:22px}.att-unfinished>div{min-width:0;flex:1}.att-unfinished h3{font-size:14px;margin:0 0 6px}.att-unfinished p{color:inherit;font-size:13px;line-height:1.6;margin:4px 0 10px}.att-unfinished section+section{border-top:1px solid #e8d49c;margin-top:12px;padding-top:12px}.att-unfinished .btn{white-space:normal;max-width:100%;height:auto}.att-unfinished .att-actions{flex-wrap:wrap}.att-unfinished small{line-height:1.6}.att-unfinished *{overflow-wrap:anywhere}.att-dialog[hidden]{display:none!important}.att-correction-identity{margin:0;display:grid;gap:8px}.att-correction-identity div{display:flex;gap:12px;flex-wrap:wrap}.att-correction-identity dt{font-weight:600}.att-correction-identity dd{margin:0}
@media(max-width:600px){.att-unfinished{padding:12px;gap:8px}.att-unfinished .att-actions .btn{width:100%}}

/* Correction detail keeps its decision footer within the dialog viewport. */
.att-dialog.att-correction-dialog form{max-height:90dvh;margin:0}.att-correction-dialog .att-form-body{min-height:0;overflow:auto}.att-correction-dialog footer{flex-shrink:0}@media(max-width:760px){.att-dialog.att-correction-dialog form{height:100dvh;max-height:100dvh}}
/* List-first attendance: Sales spacing/type, shared help, menus and pagination. */
/* Module structure only. Navigation, summaries and tools opt into list-controls. */
.att-module.du-list-controls .card{box-shadow:none}
.att-module.du-list-controls .att-history-filter{border:0;border-radius:0;background:transparent;box-shadow:none;margin-bottom:8px;overflow:visible}
.att-module.du-list-controls .att-request-workspace{border:0;background:transparent;box-shadow:none;overflow:visible}
.att-module.du-list-controls .att-request-workspace>.att-table-wrap{border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface)}
.att-module.du-list-controls .att-request-workspace>.data-pagination{border:0}
.att-module.du-list-controls .att-request-workspace>.att-list-heading{padding-inline:0}
.att-module.du-list-controls .alm-list{background:transparent;border:0;box-shadow:none;padding:0!important}
.att-module.du-list-controls .alm-list .admin-data-table{border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface)}
.att-module.du-list-controls .att-history-list{border-radius:8px}
.att-module.du-list-controls .att-leave-filter .du-toolbar[hidden]{display:none}
@media(max-width:760px){.att-module.du-list-controls .alm-list .admin-data-table{border:0;background:transparent}.att-module.du-list-controls .alm-list .adt-card{margin:0 0 8px}.att-module.du-list-controls .att-history-list .att-table tr{border:0;border-bottom:1px solid var(--border-subtle);border-radius:0}}
.att-module .alm-list .admin-data-table tbody tr{height:50px}.att-module .alm-list .admin-data-table td{padding:6px 10px!important}
main:has(.att-module)>.page-heading{display:none}.att-inline-summary.att-stats>button{flex-direction:row}.att-module .att-filter-chips{overflow-wrap:anywhere}.att-module .att-history{gap:0}.att-module .att-history-list{padding:0}.att-module .alm-list .adt-desktop td{padding:6px 10px;height:50px;box-sizing:border-box;font-size:13px}.att-module .alm-list .adt-cell{line-height:1.35}.att-module .alm-list .adt-cell small{line-height:14px;font-size:11px}.att-inline-summary.att-stats .info-help-trigger{padding:0;min-width:22px;width:22px;min-height:22px;height:22px;border:0;background:transparent}
.att-module .att-page-heading{margin:0 0 10px;gap:12px}.att-module .att-page-heading h2{display:inline-block;font-size:21px;margin:3px 8px 0 0}.att-module .att-page-heading .info-help{vertical-align:middle}.att-module .att-tabs{margin:0 0 10px;padding:3px;border-radius:8px}.att-module .att-tabs button{min-height:36px;padding:6px 10px}.att-module .att-inline-summary,.att-inline-summary.att-stats{display:flex;flex-wrap:wrap;align-items:center;gap:6px 24px;margin:0 0 10px;padding:0;background:none;border:0;box-shadow:none}.att-inline-summary>button,.att-inline-summary>.att-summary-item,.att-module .att-inline-summary>button{display:inline-flex;align-items:baseline;gap:8px;min-width:0;min-height:32px;width:auto;padding:3px 0;border:0!important;border-radius:0;background:none;color:var(--text);box-shadow:none;text-align:left;font:inherit}.att-inline-summary>button{cursor:pointer}.att-inline-summary>button>span,.att-summary-item>span{font-size:12px;color:var(--text-secondary)}.att-module .att-inline-summary strong,.att-inline-summary strong{font-size:16px;line-height:1.4;font-variant-numeric:tabular-nums}.att-inline-summary>button:hover>span{text-decoration:underline}.att-inline-summary>button[aria-pressed=true]{box-shadow:inset 0 -2px var(--success-text)}.att-inline-summary>button[aria-pressed=true]>span{color:var(--success-text);font-weight:650}.att-inline-summary>button:focus-visible{outline:2px solid var(--success-text);outline-offset:3px}.att-module .att-filters,.att-module .att-request-filters,.att-module .alm-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:end;padding:10px 12px;background:var(--surface);border-bottom:1px solid var(--border)}.att-module .att-filters>label,.att-module .att-request-filters>label,.att-module .alm-filters>label{flex:0 1 140px;gap:4px}.att-module .att-filters>label:first-child,.att-module .att-request-filters>label:first-child,.att-module .alm-filters>label:first-child{flex:1 1 180px}.att-module .att-filters input,.att-module .att-filters select,.att-module .att-request-filters input,.att-module .att-request-filters select,.att-module .alm-filters input,.att-module .alm-filters select{min-height:36px;height:36px;padding:6px 8px;font-size:13px}.att-module .btn{min-height:36px;padding:6px 10px}.att-more-filters>summary{list-style:none;cursor:pointer}.att-more-filters>summary::-webkit-details-marker{display:none}.att-more-filters>.att-filter-fields{display:none}.att-filter-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:100%}.att-filter-fields label{display:grid;gap:5px;font-size:12px;min-width:0}.att-filter-fields select{width:100%;min-width:0;font-size:13px}.att-module .att-filter-chips{padding:6px 12px;gap:5px}.att-module .att-filter-chips:empty{display:none}.att-module .att-filter-chips>span{font-size:11px;padding:2px 6px}.att-module .att-list-heading{padding:8px 12px;min-height:34px}.att-module .att-list-heading h3{font-size:13px}.att-module .att-panel,.att-module .att-hero,.att-module .att-guide{padding:12px!important;margin-bottom:10px}.att-module .att-history-filter,.att-module .att-history-list,.att-module .att-request-workspace{margin-bottom:10px}.att-module .att-leave{gap:0}.att-module .att-leave-toolbar{padding:10px 12px;gap:8px}.att-module .att-table th{padding:8px 10px}.att-module .att-table td{padding:6px 10px;height:50px;box-sizing:border-box;font-size:13px;line-height:1.35}.att-module .att-table td small{font-size:11px;line-height:14px;margin-top:2px}.att-module .att-person{gap:8px}.att-module .att-avatar{width:28px;height:28px;font-size:11px;flex:none}.att-module .att-badge{font-size:11px;line-height:16px;padding:2px 6px}.att-module .data-pagination{padding:8px 12px;gap:8px}.att-action-menu>summary{list-style:none;cursor:pointer;display:inline-grid;place-items:center;width:32px;min-height:32px;font-size:22px;border-radius:6px}.att-action-menu>summary::-webkit-details-marker{display:none}.att-action-menu>summary:hover{background:var(--surface-muted)}.att-action-menu>div{display:none}.att-legacy-compact{margin:0 0 10px;font-size:12px}.att-legacy-compact>summary{cursor:pointer;padding:5px 0;color:var(--text-secondary)}.att-module .att-settings-list{border:1px solid var(--border);border-radius:10px;background:var(--surface);margin-bottom:10px}.att-module .att-settings-list .att-setting-card{display:grid;grid-template-columns:180px minmax(180px,1fr) minmax(200px,1fr);gap:12px;align-items:center;padding:10px 12px;border:0;border-bottom:1px solid var(--border);border-radius:0;box-shadow:none}.att-settings-list .att-setting-card h3,.att-settings-list .att-setting-card p{margin:0;font-size:12px}.att-settings-list .att-setting-card>strong{font-size:13px}.att-module .att-settings-list .att-setting-card:last-child{border-bottom:0}.att-module .att-schedule-alert{padding:10px;gap:8px}.att-module .att-schedule-alert p{margin:3px 0;font-size:12px}.att-module .att-unfinished{padding:10px;margin:8px 0}.att-module .att-unfinished h3{font-size:13px}.att-module .att-unfinished p{font-size:12px;margin:3px 0}.att-module .att-unfinished section{padding:6px 0}.att-module .att-table-wrap{max-width:100%;overflow-x:auto}.att-module .att-table{min-width:700px}
@media(max-width:760px){.att-module .att-inline-summary{gap:4px 16px;margin-bottom:8px}.att-module .att-inline-summary>button{min-height:40px}.att-module .att-inline-summary strong{font-size:15px}.att-module .att-inline-summary>button>span{font-size:12px}.att-module .att-page-heading{gap:8px}.att-module .att-heading-actions{width:auto}.att-module .att-tabs button,.att-module .btn{min-height:40px}.att-module .att-filters,.att-module .att-request-filters,.att-module .alm-filters{padding:8px}.att-module .att-filters>label,.att-module .att-request-filters>label,.att-module .alm-filters>label{flex:1 1 120px}.att-module .att-filters>label:first-child,.att-module .att-request-filters>label:first-child,.att-module .alm-filters>label:first-child{flex-basis:100%}.att-module .att-table{min-width:0}.att-module .att-table td{height:auto;padding:5px 0}.att-module .att-table tr{padding:10px 0}.att-module .att-table tbody{padding:0 12px}.att-action-menu>summary{min-height:40px;width:40px}.att-module .att-settings-list .att-setting-card{grid-template-columns:1fr;gap:4px;padding:10px 12px}.att-module .att-filter-buttons{flex-wrap:wrap}.att-module .att-table-wrap{overflow:visible}.att-module .att-table td{overflow-wrap:anywhere}.att-module .att-table td strong{overflow-wrap:anywhere}}
/* A recorded attendance is a helpful next step, rather than a bare error. */
.att-dialog .att-recorded-notice{display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:14px;background:var(--accent-bg);color:var(--text);text-align:left}
.att-recorded-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:var(--surface);color:var(--primary)}
.att-recorded-icon svg{width:22px;height:22px}
.att-recorded-notice>div{min-width:0}
.att-dialog .att-recorded-label{font-size:10px;font-weight:700;letter-spacing:1px;color:var(--primary)}
.att-dialog .att-recorded-notice h3{font-size:17px;line-height:1.4;margin:4px 0 6px;color:var(--text)}
.att-dialog .att-recorded-notice p{font-size:13px;line-height:1.65;margin:0;color:var(--text-secondary)}
.att-dialog .att-recorded-notice .btn{margin-top:14px;min-height:44px;white-space:normal;max-width:100%}
@media(max-width:480px){.att-dialog .att-recorded-notice{padding:14px;gap:10px}.att-recorded-icon{flex-basis:32px;width:32px;height:32px}.att-dialog .att-recorded-notice h3{font-size:16px}.att-dialog .att-recorded-notice .btn{width:100%}}

/* Actionable notice for the signed-in user's unfinished shift in another branch. */
.att-open-branch{display:flex;align-items:flex-start;gap:14px;margin:20px 0;padding:20px;border:1px solid var(--info-border,var(--border));border-left:4px solid var(--primary);border-radius:16px;background:var(--surface-muted);text-align:left;box-shadow:0 4px 16px #073d2810}
.att-open-branch-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:var(--surface);color:var(--primary)}
.att-open-branch-content{min-width:0;flex:1}.att-open-branch-content>strong{display:block;color:var(--text);font-size:15px}.att-hero .att-open-branch p{margin:7px 0 14px;font-size:13px;line-height:1.65;color:var(--text-secondary);overflow-wrap:anywhere}.att-open-branch .btn{min-height:44px;white-space:normal;text-align:center;gap:10px;line-height:1.5}.att-open-branch a:focus-visible{outline:3px solid var(--primary);outline-offset:4px}.att-open-branch small{color:var(--text-secondary)}
@media(max-width:560px){.att-open-branch{padding:16px;gap:10px}.att-open-branch .btn{width:100%}.att-open-branch-icon{flex-basis:32px;width:32px;height:32px}}
.att-dialog .manual-review-notice{display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid var(--border);border-left:4px solid var(--primary);background:var(--accent-bg);border-radius:14px}
.manual-review-symbol{flex:0 0 40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--primary);color:white;font-size:25px}.manual-review-notice>div:last-child{min-width:0}.manual-review-eyebrow{font-size:10px;font-weight:700;letter-spacing:.8px;color:var(--primary)}
.att-dialog .manual-review-notice h3{margin:4px 0 8px;font-size:17px;color:var(--text)}.att-dialog .manual-review-notice p{margin:6px 0;line-height:1.6}.manual-review-badges{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.manual-review-badges span{padding:4px 8px;border-radius:6px;background:var(--surface);font-size:12px;color:var(--text)}.manual-review-notice .btn{min-height:44px;margin-top:8px;white-space:normal}
.att-dialog.manual-review-dialog{width:min(760px,calc(100vw - 24px))}.manual-review-lines{display:grid;gap:16px;margin-top:16px}.manual-review-lines fieldset{min-width:0;border:1px solid var(--border);border-radius:12px;padding:14px;display:grid;gap:12px}.manual-review-lines legend{padding:0 5px;font-weight:650;overflow-wrap:anywhere}.manual-review-lines label{display:grid;gap:6px;margin:0}.manual-review-lines input,.manual-review-lines select{width:100%;min-width:0;min-height:44px}.manual-review-lines [data-review-stock]{display:grid;gap:12px;padding:12px;border-radius:10px;background:var(--accent-bg)}.manual-review-lines [hidden]{display:none!important}.manual-review-complete{color:var(--primary)}
@media(max-width:480px){.att-dialog .manual-review-notice{padding:14px;gap:10px}.manual-review-symbol{flex-basis:32px;height:32px}.manual-review-notice .btn{width:100%}.att-dialog .manual-review-notice h3{font-size:16px}}
