.leave-page{background:#eef3f7;max-width:720px;min-height:100vh;margin:auto;padding:20px 22px 60px}.leave-page>header{text-align:center;grid-template-columns:64px 1fr 64px;align-items:center;margin-bottom:18px;display:grid}.leave-page>header h1{margin:2px 0;font-size:34px}.leave-hero{color:#fff;background:#17324f;border-left:12px solid #2878ed;align-items:flex-start;gap:20px;padding:28px;display:flex}.leave-hero span,.leave-list-title span{letter-spacing:1.7px;color:#7fb0ff;font-size:12px;font-weight:900}.leave-hero h2{margin:7px 0;font-size:28px}.leave-hero p{color:#cbd7e2;margin:0}.leave-apply-button{color:#fff;background:#2878ed;border:0;justify-content:center;align-items:center;gap:10px;width:100%;margin:14px 0;padding:18px;font-size:17px;font-weight:900;display:flex}.leave-form{background:#fff;border-top:6px solid #2878ed;gap:18px;padding:22px;display:grid}.leave-type,.leave-dates{grid-template-columns:1fr 1fr;gap:10px;display:grid}.leave-type button{text-align:left;background:#f7f9fb;border:1px solid #bcc8d2;align-items:center;gap:10px;padding:15px;display:flex}.leave-type button.selected{color:#1459b8;background:#eaf2ff;border:2px solid #2878ed}.leave-type span{display:grid}.leave-type small{color:#74818c;font-weight:400}.leave-form label{gap:7px;font-weight:800;display:grid}.leave-form input,.leave-form textarea{font:inherit;background:#fbfcfd;border:1px solid #b9c5cf;padding:13px}.leave-form textarea{min-height:90px}.leave-policy{color:#285140;background:#e9f6ef;border-left:6px solid #178c5b;gap:10px;padding:14px;font-size:13px;display:flex}.leave-list{margin-top:18px}.leave-list-title{padding:18px 4px}.leave-list-title span{color:#2878ed}.leave-list-title h2{margin:4px 0}.leave-card{background:#fff;border-left:7px solid #7b8791;margin-bottom:10px}.leave-card.PENDING{border-color:#e58a08}.leave-card.APPROVED{border-color:#168b58}.leave-card.REJECTED,.leave-card.CANCELLED{border-color:#c74444}.leave-card-summary{text-align:left;background:#fff;border:0;grid-template-columns:1fr auto 20px;align-items:center;gap:10px;width:100%;padding:18px;display:grid}.leave-card-summary div{gap:4px;display:grid}.leave-card-summary span{letter-spacing:1.3px;color:#2878ed;font-size:11px;font-weight:900}.leave-card-summary strong{font-size:18px}.leave-card-summary small{color:#687784}.leave-card-summary em{background:#eef2f5;padding:8px;font-size:11px;font-style:normal;font-weight:900}.leave-card-detail{padding:0 18px 18px}.leave-card-detail>p{background:#f4f7f9;border-left:4px solid #becbd5;padding:13px}.leave-audit{color:#657581;grid-template-columns:1fr auto;gap:3px 10px;font-size:12px;display:grid}.leave-audit p{grid-column:1/-1}.leave-actions{gap:8px;margin-top:15px;display:flex}.leave-actions button{background:#fff;border:1px solid #aab8c2;padding:11px;font-weight:800}.leave-actions .approve{color:#fff;background:#168b58;border-color:#168b58}.leave-actions .reject{color:#fff;background:#c74444;border-color:#c74444}@media (width<=520px){.leave-page{padding:16px 14px 50px}.leave-page>header{grid-template-columns:56px 1fr 56px}.leave-hero{padding:22px 18px}.leave-type,.leave-dates{grid-template-columns:1fr}.leave-card-summary{grid-template-columns:1fr auto 18px}}.workforce-page{padding-bottom:42px}.util-hero{color:#fff;background:#18324d;border-left:10px solid #2877ed;justify-content:space-between;align-items:center;gap:20px;margin:18px 0 14px;padding:28px;display:flex}.util-hero span,.util-group button small{letter-spacing:.13em;color:#8ab8ff;font-size:.72rem;font-weight:900}.util-hero h2{margin:8px 0;font-size:1.55rem;line-height:1.08}.util-hero p{color:#c5d2df;margin:0;line-height:1.45}.util-date{background:#fff;border-left:6px solid #6f50ad;align-items:center;gap:13px;margin-bottom:14px;padding:15px 17px;display:flex}.util-date label{flex-direction:column;flex:1;gap:3px;display:flex}.util-date label span{color:#6c7a88;letter-spacing:.08em;font-size:.7rem;font-weight:900}.util-date input{background:0 0;border:0;padding:0;font-weight:800}.util-date>strong{color:#18324d;text-align:right;font-size:1.35rem}.util-date>strong small{text-transform:uppercase;color:#71808d;font-size:.62rem;display:block}.util-overview{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.util-overview>div{background:#fff;border-top:6px solid #71808d;flex-direction:column;min-height:104px;padding:12px 10px;display:flex}.util-overview svg{color:#526474;width:20px;height:20px}.util-overview strong{margin-top:auto;font-size:1.7rem}.util-overview span{color:#647380;font-size:.68rem;font-weight:800}.util-overview .deployed{border-color:#2877ed}.util-overview .available{border-color:#198e60}.util-overview .stopped{border-color:#e88b08}.util-overview .absent{border-color:#d64545}.util-overview .off{border-color:#56697b}.util-overview .leave{border-color:#6f50ad}.util-overview .pending{border-color:#d0a21c}.util-meter{background:#fff;border:1px solid #d8e0e7;margin:14px 0 16px;padding-top:7px;position:relative}.util-meter>span{background:#2877ed;max-width:100%;height:7px;display:block}.util-meter>div{padding:14px 16px}.util-meter strong,.util-meter small{display:block}.util-meter small{color:#6d7b87;margin-top:4px}.util-groups{gap:12px;display:grid}.util-group{background:#fff;border-left:7px solid #647789}.util-group.DEPLOYED{border-color:#2877ed}.util-group.AVAILABLE{border-color:#198e60}.util-group.PAUSED_ASSIGNMENT{border-color:#e88b08}.util-group.UNAVAILABLE{border-color:#647789}.util-group>button{text-align:left;background:#fff;border:0;align-items:center;gap:12px;width:100%;padding:16px;display:flex}.util-group-icon{color:#18324d;background:#eef3f8;place-items:center;width:46px;height:46px;display:grid}.util-group button>span:nth-child(2){flex-direction:column;flex:1;display:flex}.util-group button strong{font-size:1.05rem}.util-group button small{color:#56718a}.util-group button em{background:#edf2f6;padding:8px 12px;font-size:1.1rem;font-style:normal;font-weight:900}.util-group button>svg{transition:transform .2s}.util-group button>svg.open{transform:rotate(180deg)}.util-group-list{border-top:1px solid #dce3e9;padding:8px 14px 14px}.util-person{border-bottom:1px solid #e5eaee;align-items:flex-start;gap:11px;padding:12px 0;display:flex}.util-person:last-child{border:0}.util-avatar{color:#fff;background:#18324d;place-items:center;width:38px;height:38px;font-size:.75rem;font-weight:900;display:grid}.util-person-copy{flex:1;min-width:0}.util-person-copy>strong,.util-person-copy>span{display:block}.util-person-copy>span{color:#71808c;margin-top:2px;font-size:.73rem}.util-person>b{color:#1264cb;white-space:nowrap;background:#e8f2ff;padding:6px 8px;font-size:.7rem}.util-job-chips{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.util-job-chips em{color:#354b5e;white-space:nowrap;text-overflow:ellipsis;background:#eef3f8;max-width:100%;padding:5px 7px;font-size:.68rem;font-style:normal;font-weight:800;overflow:hidden}.util-empty{color:#70808c;justify-content:center;gap:8px;padding:18px;display:flex}.spin{animation:1s linear infinite util-spin}@keyframes util-spin{to{transform:rotate(360deg)}}@media (width<=560px){.util-overview{grid-template-columns:repeat(2,1fr)}.util-hero{padding:24px 20px}.util-hero svg{display:none}.util-date{align-items:flex-end}.util-date>svg{display:none}}.attendance-report-page{max-width:920px}.attendance-report-hero{color:#fff;background:#2f214b;border-left:7px solid #7650b8;justify-content:space-between;align-items:center;gap:18px;padding:22px;display:flex}.attendance-report-hero span,.attendance-quality header span,.attendance-person-table header span{letter-spacing:.15em;font-size:9px;font-weight:900}.attendance-report-hero h2{margin:7px 0;font-size:23px}.attendance-report-hero p{color:#d6cce7;margin:0;font-size:12px}.attendance-role-tabs{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0;display:grid}.attendance-role-tabs button{color:#405363;background:#fff;border:1px solid #cbd4dc;justify-content:center;align-items:center;gap:8px;min-height:54px;font-weight:850;display:flex}.attendance-role-tabs button.active{color:#fff;background:#2672ec;border-color:#2672ec}.attendance-period{background:#fff;grid-template-columns:1fr 1fr;gap:9px;padding:13px;display:grid}.attendance-period>div{grid-column:1/-1;grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.attendance-period button{background:#f4f7f9;border:1px solid #cbd4dc;min-height:38px;font-size:10px;font-weight:850}.attendance-period button.active{color:#fff;background:#172c43}.attendance-period label{color:#607080;grid-template-columns:auto 1fr;align-items:center;gap:6px;font-size:10px;font-weight:800;display:grid}.attendance-period input{border:1px solid #cbd4dc;grid-column:1/-1;padding:10px}.attendance-report-metrics{grid-template-columns:repeat(5,1fr);gap:6px;margin:12px 0;display:grid}.attendance-report-metrics div{background:#fff;border-top:4px solid #6f7e89;gap:3px;padding:10px;display:grid}.attendance-report-metrics svg{color:#6f7e89;width:17px}.attendance-report-metrics strong{font-size:23px}.attendance-report-metrics span{color:#657582;font-size:9px;font-weight:800}.attendance-report-metrics .present{border-color:#198754}.attendance-report-metrics .absent{border-color:#d04444}.attendance-report-metrics .pending{border-color:#e18b15}.attendance-report-tools{grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:6px;margin:12px 0;display:grid}.attendance-report-tools label{background:#fff;border:1px solid #c9d2da;align-items:center;padding:0 10px;display:flex}.attendance-report-tools input,.attendance-report-tools select{border:0;width:100%;min-width:0;padding:11px}.attendance-report-tools select{background:#fff;border:1px solid #c9d2da}.attendance-report-tools button{color:#fff;background:#172c43;border:0;justify-content:center;align-items:center;gap:5px;font-size:10px;font-weight:850;display:flex}.attendance-report-tools svg{width:16px}.attendance-quality{background:#fff5df;border-left:6px solid #e18b15;margin:12px 0;padding:14px}.attendance-quality header{align-items:center;gap:9px;display:flex}.attendance-quality h3{margin:3px 0}.attendance-quality>div{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px;display:grid}.attendance-quality>div span{background:#fff;padding:9px;font-size:9px;display:grid}.attendance-quality>div strong{font-size:19px}.attendance-quality .warning{color:#a72828;background:#ffe5e5}.attendance-person-table{background:#fff;margin-top:12px}.attendance-person-table>header{border-bottom:1px solid #e2e7eb;justify-content:space-between;padding:16px;display:flex}.attendance-person-table h2{margin:4px 0}.attendance-person-table>button{text-align:left;background:#fff;border:0;border-bottom:1px solid #e5e9ec;grid-template-columns:auto minmax(0,1fr) auto auto auto auto;align-items:center;gap:10px;width:100%;padding:12px;display:grid}.person-initial{color:#175ec7;background:#e8f1ff;place-items:center;width:35px;height:35px;font-weight:900;display:grid}.person-name{gap:3px;display:grid}.person-name strong{font-size:12px}.person-name small{color:#6c7a86;font-size:9px}.person-count,.person-rate{font-size:15px;font-weight:900}.person-count small{margin-left:2px;font-size:8px}.person-count.present{color:#198754}.person-count.absent{color:#d04444}.person-rate{background:#eef3f7;padding:6px}.attendance-report-empty{text-align:center;color:#6d7b86;padding:30px}.attendance-report-overlay{z-index:30;background:#101923c7;align-items:end;display:grid;position:fixed;inset:0}.attendance-person-detail{background:#f2f5f7;max-height:92vh;padding:16px;overflow:auto}.attendance-person-detail>header{color:#fff;background:#2f214b;justify-content:space-between;padding:18px;display:flex}.attendance-person-detail header h2{margin:5px 0}.attendance-person-detail header p{color:#d6cce7;margin:0}.attendance-person-detail header button{background:#fff;border:0;width:40px;height:40px}.person-detail-summary{grid-template-columns:2fr repeat(4,1fr);gap:6px;margin:10px 0;display:grid}.person-detail-summary>*{text-align:center;background:#fff;padding:10px}.person-detail-summary strong{font-size:25px}.person-detail-summary small{font-size:8px;display:block}.person-attendance-days{gap:6px;display:grid}.person-attendance-days article{background:#fff;border-left:5px solid #74818b;grid-template-columns:110px 100px 1fr;gap:5px;padding:11px;display:grid}.person-attendance-days strong.PRESENT{color:#198754}.person-attendance-days strong.ABSENT{color:#d04444}.person-attendance-days small{color:#6c7a86;grid-column:2/-1}.attendance-change-log{background:#fff;margin-top:10px;padding:14px}.attendance-change-log p{border-top:1px solid #e4e8eb;margin:0;padding:9px 0;font-size:10px;display:grid}.attendance-change-log small{color:#6c7a86}@media (width<=650px){.attendance-report-metrics{grid-template-columns:repeat(3,1fr)}.attendance-report-tools{grid-template-columns:1fr 1fr}.attendance-report-tools label{grid-column:1/-1}.attendance-report-tools button{min-height:42px}.attendance-quality>div{grid-template-columns:1fr 1fr}.attendance-person-table>button{grid-template-columns:auto minmax(0,1fr) auto auto}.person-rate,.attendance-person-table>button>svg{display:none}.person-detail-summary{grid-template-columns:1fr 1fr}.person-detail-summary strong{grid-column:1/-1}.person-attendance-days article{grid-template-columns:1fr auto}.person-attendance-days span,.person-attendance-days small{grid-column:1/-1}}@media print{.attendance-report-page header button,.attendance-role-tabs,.attendance-period,.attendance-report-tools{display:none!important}.attendance-report-page{max-width:none;padding:0}.attendance-report-overlay{display:none}.attendance-report-hero{color:#000;background:#fff;border:2px solid #000}.attendance-report-hero p{color:#333}}.weekly-attendance-report .weekly-table-wrap{background:#fff;overflow:auto}.weekly-attendance-table{border-collapse:collapse;width:100%;min-width:850px;font-size:11px}.weekly-attendance-table th,.weekly-attendance-table td{text-align:center;border:1px solid #dbe3eb;padding:8px}.weekly-attendance-table thead{color:#fff;background:#172c43}.weekly-attendance-table tbody th{text-align:left}.weekly-attendance-table tbody th small{color:#6e7d89;font-weight:500;display:block}.weekly-attendance-table td button{background:#eef3f7;border:0;min-width:28px;min-height:26px;font-weight:900}.weekly-attendance-table .needs-review{background:#fff0c9}.weekly-attendance-table .review-flag{color:#fff;background:#d67c16;margin:2px;font-size:9px}.weekly-legend{background:#fff5df;margin:10px 0;padding:11px;font-size:11px}.weekly-legend span{color:#5d6a75;margin-left:12px}@media (width<=650px){.weekly-legend span{margin:5px 0 0;display:block}.weekly-attendance-report .weekly-filters{grid-template-columns:1fr 1fr}}@media print{.weekly-attendance-report .weekly-filters,.weekly-attendance-report .review-flag{display:none!important}.weekly-attendance-table{min-width:0;font-size:8px}.weekly-attendance-table th,.weekly-attendance-table td{padding:4px}}.attendance-weekly-register{background:#fff;border:1px solid #dbe3eb;border-radius:14px;margin:14px 0;overflow:hidden}.attendance-weekly-register>header{border-bottom:1px solid #dbe3eb;justify-content:space-between;align-items:start;gap:18px;padding:15px;display:flex}.attendance-weekly-register header h2{margin:3px 0;font-size:1rem}.attendance-weekly-register header span{color:#54708d;letter-spacing:.08em;font-size:.68rem;font-weight:800}.attendance-weekly-register header p{color:#526477;max-width:290px;margin:0;font-size:.78rem}.attendance-weekly-scroll{overflow-x:auto}.attendance-weekly-register table{border-collapse:collapse;width:100%;min-width:820px;font-size:.78rem}.attendance-weekly-register th,.attendance-weekly-register td{text-align:center;white-space:nowrap;border-bottom:1px solid #e7edf3;padding:8px}.attendance-weekly-register thead th{color:#526477;text-transform:uppercase;background:#f4f7fa;font-size:.68rem}.attendance-weekly-register tbody th{text-align:left;color:#172b4d;min-width:150px}.attendance-weekly-register tbody th small{color:#718096;font-weight:500;display:block}.attendance-weekly-register td button{color:#172b4d;font:inherit;cursor:pointer;background:0 0;border:0;font-weight:800}.attendance-weekly-register .needs-review{background:#fff4d6}.attendance-weekly-register .resolve{color:#bd5900;margin-left:3px}.attendance-matrix-report{max-width:1100px}.attendance-matrix-report .attendance-period{grid-template-columns:1fr}.attendance-matrix-report .attendance-period>div{grid-template-columns:repeat(3,1fr)}.attendance-matrix-report .attendance-period label{max-width:260px}.matrix-metrics{grid-template-columns:repeat(4,1fr)}.matrix-metrics div small{color:#7a8791;margin-top:2px;font-size:8px;line-height:1.3}.matrix-filters{grid-template-columns:repeat(4,1fr) 120px}.attendance-matrix-card{background:#fff;border:1px solid #dbe3eb;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #16283b0a}.attendance-matrix-card>header{border-bottom:1px solid #dbe3eb;justify-content:space-between;align-items:end;gap:14px;padding:16px 18px;display:flex}.attendance-matrix-card header span{color:#1769c2;letter-spacing:.14em;font-size:9px;font-weight:900}.attendance-matrix-card header h2{margin:4px 0 0}.attendance-matrix-card header p{color:#657582;margin:0;font-size:11px}.attendance-matrix-scroll{overscroll-behavior-inline:contain;overflow-x:auto}.attendance-matrix-card table{border-collapse:separate;border-spacing:0;width:100%;min-width:850px;font-size:11px}.attendance-matrix-card.monthly table{min-width:2100px}.attendance-matrix-card th,.attendance-matrix-card td{text-align:center;white-space:nowrap;border-bottom:1px solid #e2e8ef;border-right:1px solid #e2e8ef;height:48px;padding:5px}.attendance-matrix-card thead th{z-index:2;color:#fff;background:linear-gradient(#1372d4,#0757ac);min-width:54px;position:sticky;top:0}.attendance-matrix-card thead th span,.attendance-matrix-card thead th strong{color:#fff;letter-spacing:0;display:block}.attendance-matrix-card thead th span{opacity:.8;font-size:9px}.attendance-matrix-card .sticky-name{z-index:3;text-align:left;background:#fff;min-width:170px;max-width:170px;position:sticky;left:0;box-shadow:4px 0 7px #18324b12}.attendance-matrix-card thead .sticky-name{z-index:4;text-align:left;background:#0757ac;padding-left:12px}.attendance-matrix-card tbody .sticky-name strong,.attendance-matrix-card tbody .sticky-name small{text-overflow:ellipsis;display:block;overflow:hidden}.attendance-matrix-card tbody .sticky-name strong{color:#172c43}.attendance-matrix-card tbody .sticky-name small{color:#718096;margin-top:3px;font-weight:500}.attendance-matrix-card td button{min-width:30px;min-height:30px;color:inherit;background:0 0;border:0;font-weight:900}.attendance-matrix-card td.PRESENT{color:#0b8a43;background:#effaf3}.attendance-matrix-card td.ABSENT{color:#d62828;background:#fff1f1}.attendance-matrix-card td.LEAVE,.attendance-matrix-card td.LEAVE_PENDING{color:#d97000;background:#fff7e8}.attendance-matrix-card td.WEEKLY_OFF{color:#1769c2;background:#edf5ff}.attendance-matrix-card td.NOT_MARKED{color:#9aa6b1}.attendance-matrix-card td.needs-review{box-shadow:inset 0 0 0 2px #e18b15}.attendance-matrix-card td .resolve{color:#fff;background:#e18b15;border-radius:50%;width:18px;min-width:18px;height:18px;min-height:18px;padding:0;font-size:10px}.attendance-matrix-card .total-present{color:#0b8a43;font-weight:900}.attendance-matrix-card .total-absent{color:#d62828;font-weight:900}.attendance-matrix-card .total-rate{color:#172c43;background:#eef3f7;font-weight:900}.attendance-matrix-legend{background:#fff;border:1px solid #dbe3eb;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:10px;padding:11px;font-size:10px;display:flex}.attendance-matrix-legend span{align-items:center;gap:5px;display:flex}.attendance-matrix-legend b{text-align:center;background:#eef3f7;min-width:25px;padding:5px}.attendance-matrix-legend b.PRESENT{color:#0b8a43;background:#effaf3}.attendance-matrix-legend b.ABSENT{color:#d62828;background:#fff1f1}.attendance-matrix-legend b.LEAVE{color:#d97000;background:#fff7e8}.attendance-matrix-legend b.WEEKLY_OFF{color:#1769c2;background:#edf5ff}@media (width<=650px){.matrix-metrics,.matrix-filters{grid-template-columns:1fr 1fr}.matrix-filters button{min-height:42px}.attendance-matrix-card>header{align-items:start}.attendance-matrix-card header p{max-width:140px}.attendance-matrix-card .sticky-name{min-width:130px;max-width:130px}.attendance-matrix-card table{min-width:760px}.attendance-matrix-card.monthly table{min-width:1950px}}@media print{.attendance-matrix-report{max-width:none}.attendance-matrix-card{box-shadow:none}.attendance-matrix-card table,.attendance-matrix-card.monthly table{min-width:0;font-size:7px}.attendance-matrix-card th,.attendance-matrix-card td{height:30px;padding:2px}.attendance-matrix-card .sticky-name{min-width:80px;max-width:80px;box-shadow:none;position:static}.attendance-matrix-card header p,.attendance-matrix-legend{display:none}.attendance-matrix-scroll{overflow:visible}@page{size:landscape;margin:8mm}}.attendance-matrix-card td.UPCOMING{color:#7d8b97;background:#f4f7fa}.attendance-matrix-card td.UPCOMING button{font-size:7px;font-weight:700}.attendance-matrix-card td.OPEN{color:#1769c2;background:#edf5ff}.attendance-print-register{display:none}@media print{.attendance-matrix-report>header,.attendance-report-hero,.attendance-role-tabs,.attendance-period,.attendance-report-metrics,.attendance-report-tools,.screen-attendance-matrix,.attendance-matrix-legend,.alert{display:none!important}.attendance-print-register{color:#111;display:block}.attendance-print-register>header{text-align:center;border-bottom:2px solid #172c43;margin-bottom:10px}.attendance-print-register>header h1{margin:0 0 4px;font-size:18px}.attendance-print-register>header p{margin:0 0 8px;font-size:10px}.attendance-print-register article:last-child{break-after:auto}.attendance-print-register h2{color:#fff;background:#172c43;justify-content:space-between;margin:0 0 6px;padding:6px 8px;font-size:12px;display:flex}.attendance-print-register h2 span{font-size:9px}.attendance-print-register table{border-collapse:collapse;width:100%;font-size:8px}.attendance-print-register th,.attendance-print-register td{text-align:left;border:1px solid #9aa6b1;padding:4px}.attendance-print-register th{background:#e8eef4}.attendance-print-register th:first-child,.attendance-print-register td:first-child{text-align:center;width:24px}@page{size:portrait;margin:8mm}.attendance-print-register>header{border:2px solid #1769c2;padding:8px 0}.attendance-print-register>header>span{color:#1769c2;letter-spacing:.14em;font-size:8px;font-weight:900}.attendance-print-register>header h1{color:#102a43;margin:3px 0;font-size:19px}.attendance-print-metrics{grid-template-columns:repeat(4,1fr);gap:6px;margin:9px 0;display:grid}.attendance-print-metrics div{text-align:center;background:#f8fbff;border:1px solid #b9c9d8;border-top:4px solid #1769c2;padding:7px}.attendance-print-metrics strong{color:#102a43;font-size:18px;display:block}.attendance-print-metrics span{color:#536779;font-size:8px;font-weight:800;display:block}.attendance-print-register article{break-after:page}.attendance-print-register h2{text-align:center;margin:0 0 5px;display:block}.attendance-print-register table{table-layout:fixed;font-size:7.5px}.attendance-print-register th,.attendance-print-register td{text-align:center;padding:3px}.attendance-print-register thead th{color:#fff;background:#0864bd}.attendance-print-register thead th span,.attendance-print-register thead th strong{display:block}.attendance-print-register th.print-worker-name{text-align:left;width:145px}.attendance-print-register tbody .print-worker-name{background:#fff}.attendance-print-register .print-worker-name strong,.attendance-print-register .print-worker-name small{display:block}.attendance-print-register .print-worker-name small{color:#687887;margin-top:2px;font-size:6.5px}.attendance-print-register td.PRESENT{color:#087d3c;background:#eaf8ef;font-weight:900}.attendance-print-register td.ABSENT{color:#c62828;background:#fff0f0;font-weight:900}.attendance-print-register td.LEAVE,.attendance-print-register td.LEAVE_PENDING{color:#bd6500;background:#fff5df;font-weight:900}.attendance-print-register td.WEEKLY_OFF{color:#1769c2;background:#edf5ff;font-weight:900}.attendance-print-register .total-present{color:#087d3c;font-weight:900}.attendance-print-register .total-absent{color:#c62828;font-weight:900}.attendance-print-register .total-rate{background:#edf2f7;font-weight:900}@page{size:landscape;margin:7mm}}.worker-attendance-page{max-width:760px;padding-bottom:30px}.worker-attendance-page>header{color:#fff;background:#172c43;border-left:8px solid #2672ec;grid-template-columns:46px 1fr 46px;align-items:center;gap:12px;padding:17px;display:grid}.worker-attendance-page>header button{color:#304b5e;background:#fff;border:0;width:46px;height:46px}.worker-attendance-page>header span,.worker-mark-card>span,.worker-calendar-card header span{letter-spacing:.14em;color:#7fb0f8;font-size:8px;font-weight:900}.worker-attendance-page>header h1{margin:3px 0;font-size:23px}.worker-attendance-page>header p{color:#c7d3dc;margin:0;font-size:10px}.worker-attendance-today{background:#fff;border-left:7px solid #7b8d99;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;margin:12px 0;padding:17px;display:grid}.worker-attendance-today.PRESENT{border-color:#168354}.worker-attendance-today.ABSENT{border-color:#d04444}.today-icon{background:#eef3f7;place-items:center;width:48px;height:48px;display:grid}.worker-attendance-today span{color:#647786;font-size:8px;font-weight:900}.worker-attendance-today h2{margin:4px 0;font-size:20px}.worker-attendance-today p{color:#647786;margin:0;font-size:10px}.worker-attendance-today>strong{color:#365165;font-size:29px}.worker-attendance-message{align-items:center;gap:8px;margin-bottom:10px;padding:11px;font-size:10px;font-weight:900;display:flex}.worker-attendance-message svg{width:17px}.worker-attendance-message.success{color:#0b7041;background:#ddf3e7}.worker-attendance-message.error{color:#a92727;background:#fde5e5}.worker-mark-card{background:#fff;border-top:6px solid #2672ec;padding:17px}.worker-mark-card>span,.worker-calendar-card header span{color:#2672ec}.worker-mark-card h2{margin:5px 0}.worker-mark-card p{color:#667984;margin:0 0 13px;font-size:11px}.worker-mark-card>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.worker-mark-card button{color:#fff;border:0;justify-content:center;align-items:center;gap:8px;min-height:60px;font-weight:900;display:flex}.worker-mark-card button.present{background:#168354}.worker-mark-card button.absent{background:#d04444}.worker-mark-card button:disabled{opacity:.45}.worker-mark-card small{color:#9b3b3b;margin-top:10px;display:block}.worker-record-controls{background:#fff;grid-template-columns:1fr auto;gap:8px;margin:12px 0;padding:12px;display:grid}.worker-record-controls>div{grid-template-columns:1fr 1fr;display:grid}.worker-record-controls button{background:#f2f5f7;border:1px solid #c3ced6;font-weight:900}.worker-record-controls button.active{color:#fff;background:#2672ec;border-color:#2672ec}.worker-record-controls label{border:1px solid #c3ced6;align-items:center;padding:0 8px;display:flex}.worker-record-controls input{border:0;max-width:135px;padding:10px}.worker-record-summary{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px;display:grid}.worker-record-summary div{background:#fff;border-top:4px solid #6e7f8b;padding:10px;display:grid}.worker-record-summary div.present{border-color:#168354}.worker-record-summary div.absent{border-color:#d04444}.worker-record-summary strong{font-size:20px}.worker-record-summary span{color:#647582;font-size:8px;font-weight:900}.worker-calendar-card{background:#fff}.worker-calendar-card>header{border-bottom:1px solid #e0e6eb;justify-content:space-between;align-items:center;padding:15px;display:flex}.worker-calendar-card header h2{margin:4px 0 0;font-size:17px}.worker-attendance-grid{grid-template-columns:repeat(7,1fr);gap:5px;padding:12px;display:grid}.worker-attendance-grid article{background:#f2f5f7;border-bottom:4px solid #9aa6af;align-content:center;place-items:center;min-height:70px;display:grid;position:relative}.worker-attendance-grid article.PRESENT{color:#08703e;background:#e8f7ef;border-color:#168354}.worker-attendance-grid article.ABSENT{color:#ad2525;background:#fdecec;border-color:#d04444}.worker-attendance-grid article.LEAVE,.worker-attendance-grid article.LEAVE_PENDING{color:#9b5a00;background:#fff3df;border-color:#e18b15}.worker-attendance-grid article.WEEKLY_OFF{color:#155ebf;background:#e9f2ff;border-color:#2672ec}.worker-attendance-grid small{font-size:8px}.worker-attendance-grid strong{font-size:13px}.worker-attendance-grid em{font-size:10px;font-style:normal;font-weight:900}.worker-attendance-grid i{background:#e18b15;border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:5px}.worker-attendance-legend{background:#fff;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px;padding:10px;font-size:9px;display:flex}.worker-attendance-legend span{align-items:center;gap:4px;display:flex}.worker-attendance-legend b{background:#eef3f7;padding:4px}.worker-attendance-legend b.PRESENT{color:#168354}.worker-attendance-legend b.ABSENT{color:#d04444}.worker-attendance-legend b.LEAVE{color:#d77b00}.worker-attendance-legend b.WEEKLY_OFF{color:#2672ec}@media (width<=460px){.worker-attendance-page{padding:10px}.worker-attendance-page>header{margin:-10px -10px 0}.worker-record-controls{grid-template-columns:1fr}.worker-record-controls button{min-height:44px}.worker-record-controls label{justify-content:center}.worker-record-summary{grid-template-columns:1fr 1fr}.worker-attendance-grid{gap:3px;padding:8px}.worker-attendance-grid article{min-height:62px}}.job-information{border-top:7px solid #18324d}.job-information-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.job-information-head h3{margin:4px 0;font-size:1.35rem}.job-information-head p{color:#71808c;margin:0}.job-information-head>button{color:#fff;white-space:nowrap;background:#2877ed;border:0;align-items:center;gap:8px;padding:12px 15px;font-weight:900;display:flex}.job-information dl{border:1px solid #d8e0e6;grid-template-columns:1fr 1fr;margin:20px 0 0;display:grid}.job-information dl div{border-bottom:1px solid #d8e0e6;padding:13px 15px}.job-information dl div:nth-child(odd){border-right:1px solid #d8e0e6}.job-information dl div:nth-last-child(-n+2){border-bottom:0}.job-information dt{text-transform:uppercase;letter-spacing:.08em;color:#788692;font-size:.67rem;font-weight:900}.job-information dd{margin:5px 0 0;font-weight:850}.job-info-lock{color:#16764f;background:#e9f7ef;border-left:6px solid #198e60;gap:11px;margin-top:14px;padding:13px;display:flex}.job-info-lock span,.job-info-lock strong,.job-info-lock small{display:block}.job-info-lock small{color:#527565;margin-top:2px}.job-info-history{border:1px solid #d8e0e6;margin-top:13px}.job-info-history>button{background:#f3f6f9;border:0;justify-content:space-between;align-items:center;width:100%;padding:12px 14px;font-weight:850;display:flex}.job-info-history svg{transition:transform .2s}.job-info-history svg.open{transform:rotate(180deg)}.job-info-history>div{padding:5px 14px}.job-info-history article{border-bottom:1px solid #e3e8ec;gap:2px;padding:10px 0;display:grid}.job-info-history article:last-child{border:0}.job-info-history article span,.job-info-history article small{color:#6c7a87}.job-info-history article em{color:#445d70;font-size:.78rem;font-style:normal}.job-info-form{max-height:92vh;overflow:auto}.job-info-form>label{gap:7px;margin:13px 0;font-weight:850;display:grid}.job-info-form input,.job-info-form textarea{width:100%;font:inherit;background:#fff;border:1px solid #aebdca;padding:13px}.job-info-form textarea{resize:vertical;min-height:85px}.job-info-form fieldset{border:0;margin:18px 0;padding:0}.job-info-form legend{margin-bottom:8px;font-weight:900}.job-info-form .correction-reason{background:#fff4e1;border-left:6px solid #e88b08;padding:14px}.job-info-form .modal-actions{background:#fff;padding-top:14px;position:sticky;bottom:0}@media (width<=560px){.job-information-head{align-items:center}.job-information-head p{display:none}.job-information-head>button{padding:11px}.job-information dl{grid-template-columns:1fr}.job-information dl div,.job-information dl div:nth-child(odd){border-bottom:1px solid #d8e0e6;border-right:0}.job-information dl div:last-child{border-bottom:0}.job-info-overlay{align-items:flex-end}.job-info-form{border-radius:0;width:100%;max-height:94vh;margin:0}}
