
/* MZJ Attendance module - isolated styles */
.attendance-topbar-slot{display:flex;align-items:center;gap:8px}
.attendance-mini-card{display:flex;align-items:center;gap:8px;border:1px solid rgba(124,83,69,.22);background:#fffaf7;border-radius:18px;padding:8px 12px;color:#4a2b22;font-weight:900;font-size:13px;box-shadow:0 8px 24px rgba(90,51,41,.06)}
.attendance-mini-card .dot{width:9px;height:9px;border-radius:50%;background:#d9584f;display:inline-block}.attendance-mini-card.is-present .dot{background:#28a745}.attendance-mini-card.is-late .dot{background:#f59e0b}.attendance-mini-card.is-out .dot{background:#6b7280}
.attendance-mini-card button{border:0;background:#7a4638;color:#fff;border-radius:14px;padding:6px 10px;font-family:inherit;font-weight:900;cursor:pointer}.attendance-mini-card button.success{background:#28a745}.attendance-mini-card button.danger{background:#d84f45}.attendance-mini-card button:disabled{opacity:.55;cursor:not-allowed}
.attendance-btn{border:0;border-radius:15px;padding:11px 18px;font-family:inherit;font-weight:900;cursor:pointer;background:#7a4638;color:#fff}.attendance-btn.secondary{background:#fff;border:1px solid rgba(124,83,69,.22);color:#7a4638}.attendance-btn.success{background:#28a745}.attendance-btn.danger{background:#d84f45}.attendance-btn:disabled{opacity:.55;cursor:not-allowed}
.attendance-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:16px;margin-bottom:18px}.attendance-stat{background:rgba(255,255,255,.72);border:1px solid rgba(124,83,69,.16);border-radius:24px;padding:18px;box-shadow:0 18px 45px rgba(90,51,41,.07)}.attendance-stat small{display:block;color:#8e7166;font-weight:800;margin-bottom:6px}.attendance-stat strong{font-size:28px;color:#2d1713}.attendance-stat.green strong{color:#208a3a}.attendance-stat.orange strong{color:#d97706}.attendance-stat.red strong{color:#d84f45}.attendance-stat.blue strong{color:#1d67b7}
.attendance-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.attendance-card{background:rgba(255,255,255,.78);border:1px solid rgba(124,83,69,.16);border-radius:26px;padding:18px;box-shadow:0 18px 45px rgba(90,51,41,.07)}.attendance-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.attendance-card-title h2{font-size:20px;margin:0;color:#2d1713}.attendance-muted{color:#8e7166;font-size:13px;font-weight:700}.attendance-settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.attendance-field{display:grid;gap:7px}.attendance-field span{font-weight:900;color:#4a2b22}.attendance-field input{border:1px solid rgba(124,83,69,.22);border-radius:15px;padding:11px 12px;background:#fffaf7;color:#2d1713;font-family:inherit;font-weight:800}.attendance-actions{margin-top:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.attendance-msg{font-weight:900;color:#7a4638}.attendance-table-wrap{overflow:auto;border:1px solid rgba(124,83,69,.12);border-radius:20px}.attendance-table{width:100%;border-collapse:collapse;min-width:760px;background:#fff}.attendance-table th,.attendance-table td{padding:12px 14px;border-bottom:1px solid rgba(124,83,69,.1);text-align:right;font-size:13px}.attendance-table th{color:#6c4c41;background:#fff7f1;font-weight:900}.attendance-table td{color:#2d1713;font-weight:800}.attendance-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;border:1px solid transparent}.attendance-badge.green{background:#eaf8ee;color:#1f8b3d;border-color:#bde8c8}.attendance-badge.orange{background:#fff4e4;color:#c56b00;border-color:#ffd8a8}.attendance-badge.red{background:#fff0ee;color:#d84f45;border-color:#ffc8c2}.attendance-badge.gray{background:#f3f4f6;color:#64748b;border-color:#e5e7eb}.attendance-badge.blue{background:#eef6ff;color:#1d67b7;border-color:#bfdcff}.attendance-empty{border:1px dashed rgba(184,94,79,.35);border-radius:22px;padding:38px;text-align:center;color:#8e7166;font-weight:900;background:rgba(255,250,247,.55)}
.attendance-user-card{max-width:640px;margin:0 auto;background:rgba(255,255,255,.8);border:1px solid rgba(124,83,69,.16);border-radius:28px;padding:22px;box-shadow:0 18px 45px rgba(90,51,41,.07)}.attendance-user-status{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(124,83,69,.14);border-radius:20px;padding:14px;margin:14px 0;background:#fffaf7}.attendance-user-status strong{font-size:18px}.attendance-user-hint{color:#8e7166;font-size:13px;font-weight:800;text-align:left}.attendance-user-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.attendance-user-actions .attendance-btn{width:100%;min-height:46px}.attendance-user-times{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}.attendance-time-box{border:1px solid rgba(124,83,69,.14);border-radius:18px;padding:14px;background:#fff}.attendance-time-box small{display:block;color:#8e7166;font-weight:800}.attendance-time-box strong{display:block;margin-top:5px;color:#2d1713;font-size:18px}
@media(max-width:980px){.attendance-grid{grid-template-columns:repeat(2,1fr)}.attendance-layout{grid-template-columns:1fr}.attendance-settings-grid{grid-template-columns:1fr}.attendance-topbar-slot{display:none}}
.attendance-report-card{margin-top:18px}.attendance-report-filters{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr)) auto;gap:12px;align-items:end;margin-bottom:16px}.attendance-field select{border:1px solid rgba(124,83,69,.22);border-radius:15px;padding:11px 12px;background:#fffaf7;color:#2d1713;font-family:inherit;font-weight:800}.attendance-report-actions{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.attendance-grid.report{grid-template-columns:repeat(4,minmax(150px,1fr));margin-top:8px;margin-bottom:16px}.attendance-table td:first-child,.attendance-table th:first-child{min-width:150px}.attendance-table td:nth-child(2),.attendance-table th:nth-child(2){min-width:120px}
@media(max-width:1180px){.attendance-report-filters{grid-template-columns:repeat(2,1fr)}.attendance-report-actions{grid-column:1/-1}.attendance-grid.report{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.attendance-report-filters{grid-template-columns:1fr}.attendance-grid.report{grid-template-columns:1fr}.attendance-user-status{align-items:flex-start;flex-direction:column}.attendance-user-actions{grid-template-columns:1fr}.attendance-user-times{grid-template-columns:1fr}}

/* MZJ Attendance reports professional layout */
.attendance-report-pro{margin-top:22px;background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,250,247,.78));border:1px solid rgba(124,83,69,.16);border-radius:30px;padding:20px;box-shadow:0 22px 55px rgba(90,51,41,.08)}
.attendance-report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;border-bottom:1px solid rgba(124,83,69,.1);padding-bottom:14px}
.attendance-report-header h2{margin:0;color:#2d1713;font-size:24px;font-weight:1000}.attendance-report-header p{margin:6px 0 0;color:#8e7166;font-weight:800;font-size:13px}.attendance-report-period{border:1px solid rgba(124,83,69,.18);background:#fff7f1;color:#6c3f33;border-radius:999px;padding:10px 14px;font-weight:1000;white-space:nowrap}
.attendance-report-panel{background:rgba(255,255,255,.74);border:1px solid rgba(124,83,69,.1);border-radius:24px;padding:16px}.attendance-report-filters.pro{grid-template-columns:repeat(5,minmax(150px,1fr));background:#fffaf7;border:1px solid rgba(124,83,69,.12);border-radius:22px;padding:14px;margin-bottom:16px}.attendance-report-actions.pro{display:flex;gap:8px;align-items:end;justify-content:flex-start}.attendance-report-actions.pro .attendance-btn{min-height:42px;white-space:nowrap}.attendance-kpi-row{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px;margin:14px 0 18px}.attendance-kpi{position:relative;overflow:hidden;background:#fff;border:1px solid rgba(124,83,69,.12);border-radius:22px;padding:16px;box-shadow:0 12px 30px rgba(90,51,41,.05)}.attendance-kpi:before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:5px;background:#7a4638}.attendance-kpi span{display:block;color:#8e7166;font-weight:900;font-size:12px}.attendance-kpi strong{display:block;color:#2d1713;font-size:25px;line-height:1.2;margin:6px 0}.attendance-kpi small{display:block;color:#8e7166;font-weight:800}.attendance-kpi.green:before{background:#229447}.attendance-kpi.green strong{color:#229447}.attendance-kpi.orange:before{background:#d97706}.attendance-kpi.orange strong{color:#d97706}.attendance-kpi.red:before{background:#d84f45}.attendance-kpi.red strong{color:#d84f45}.attendance-kpi.blue:before{background:#1d67b7}.attendance-kpi.blue strong{color:#1d67b7}.attendance-kpi.brown:before{background:#7a4638}.attendance-kpi.brown strong{color:#7a4638}.attendance-report-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 10px}.attendance-report-section-title h3{margin:0;font-size:18px;color:#2d1713;font-weight:1000}.attendance-report-section-title span{color:#8e7166;font-weight:900;background:#fff7f1;border:1px solid rgba(124,83,69,.12);border-radius:999px;padding:7px 12px}.report-wrap{background:#fff;border-radius:18px}.attendance-report-table{min-width:980px}.attendance-report-table th{position:sticky;top:0;z-index:1;background:#fff2ea;color:#4a2b22;font-size:12px}.attendance-report-table td{font-size:13px;vertical-align:middle}.employee-cell strong{font-size:13px;color:#2d1713}.attendance-empty-row{text-align:center!important;color:#8e7166!important;font-weight:900!important;padding:24px!important;background:#fffaf7}
@media(max-width:1320px){.attendance-report-filters.pro{grid-template-columns:repeat(3,1fr)}.attendance-report-actions.pro{grid-column:1/-1}.attendance-kpi-row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.attendance-report-header{flex-direction:column}.attendance-report-filters.pro{grid-template-columns:1fr}.attendance-kpi-row{grid-template-columns:1fr}.attendance-report-period{white-space:normal}}
.attendance-report-note{background:#fff7ed;border:1px solid rgba(217,119,6,.22);color:#7c4a03;border-radius:16px;padding:11px 14px;margin:4px 0 14px;font-weight:900;font-size:13px;line-height:1.6}

/* v768: stable report date picker controls */
.attendance-report-filters.pro .attendance-date-field{min-width:0}
.attendance-date-control{position:relative;display:flex;align-items:center;width:100%;background:#fffaf7;border:1px solid rgba(124,83,69,.22);border-radius:15px;overflow:hidden;z-index:2}
.attendance-date-control input[type="date"]{width:100%;min-height:44px;border:0!important;background:transparent!important;color:#2d1713!important;font-family:inherit;font-weight:1000;padding:10px 44px 10px 12px;direction:ltr;text-align:left;cursor:pointer;position:relative;z-index:3;appearance:auto;-webkit-appearance:auto}
.attendance-date-control input[type="date"]::-webkit-calendar-picker-indicator{opacity:1;cursor:pointer;position:absolute;inset-inline-end:8px;z-index:5;width:28px;height:28px}
.attendance-date-open{position:absolute;inset-inline-end:7px;top:50%;transform:translateY(-50%);width:31px;height:31px;border:0;background:#fff2ea;border-radius:10px;cursor:pointer;z-index:4;display:flex;align-items:center;justify-content:center;font-size:15px}
.attendance-date-presets{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.attendance-chip{border:1px solid rgba(124,83,69,.18);background:#fffaf7;color:#6c3f33;border-radius:999px;padding:10px 12px;font-family:inherit;font-weight:1000;cursor:pointer;min-height:42px}
.attendance-chip:hover,.attendance-date-open:hover{background:#fff2ea}
