.roster-page-wrap{width:min(100% - 34px,1660px);margin:0 auto;padding:28px 0 76px}.roster-page-panel,.fortnight-roster-section{margin-top:18px;padding:0;border:0;background:transparent}.fortnight-roster-host{color:#0d1c3d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.fortnight-roster-host[aria-busy=true]{opacity:.68;pointer-events:none}.roster-load-error{padding:20px;border:1px solid #fecaca;border-radius:10px;color:#991b1b;background:#fff1f2}
.workforce-tabs{display:inline-flex;margin-bottom:16px;padding:4px;border:1px solid #dbe3ed;border-radius:9px;background:#f4f7fb}.workforce-tabs button{min-width:112px;height:36px;border:0;border-radius:7px;color:#5e6c83;background:transparent;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.workforce-tabs button.is-active{color:#fff;background:#0f5cf6;box-shadow:0 4px 12px rgba(15,92,246,.2)}
.workforce-screen{min-height:540px;padding:28px;border:1px solid #e0e6ee;border-radius:14px;background:#fff;box-shadow:0 5px 22px rgba(22,43,78,.04)}.workforce-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.workforce-title-row h2{margin:0;color:#101827;font-size:32px;line-height:1.05;letter-spacing:-.035em}.title-underline{width:26px;height:2px;display:block;margin-top:8px;background:#7b899b}.workforce-toolbar{display:flex;align-items:center;gap:14px;margin:24px 0 28px}.workforce-period-control{min-height:48px;display:grid;grid-template-columns:44px minmax(220px,1fr) 44px;align-items:center;overflow:hidden;border:1px solid #d7dee8;border-radius:8px;background:#fff}.workforce-period-control button{height:100%;border:0;color:#17233b;background:#fff;font-size:25px;cursor:pointer}.workforce-period-control button:disabled{color:#bdc5d0;cursor:not-allowed}.workforce-period-control strong{padding:0 10px;font-size:14px;font-weight:600;text-align:center}.toolbar-select{min-width:240px;height:48px;display:flex;align-items:center;gap:7px;padding:0 12px;border:1px solid #d7dee8;border-radius:8px;background:#fff}.toolbar-select>span{font-size:18px}.toolbar-select select{width:100%;height:100%;border:0;outline:0;color:#182237;background:transparent;font:inherit;font-size:14px}.roster-legend{display:flex;gap:30px;color:#263247;font-size:14px}.roster-legend span{display:flex;align-items:center;gap:9px}.roster-legend i{width:15px;height:15px;border-radius:3px}.legend-work{background:#f5820b}.legend-rest{background:#4dae55}
.roster-matrix-wrap{overflow:auto;border:1px solid #dfe5ec;border-radius:10px}.roster-matrix{width:100%;min-width:1440px;border-collapse:separate;border-spacing:0;table-layout:fixed}.roster-matrix th,.roster-matrix td{border-right:1px solid #e4e8ed;border-bottom:1px solid #e4e8ed}.roster-matrix th:last-child,.roster-matrix td:last-child{border-right:0}.roster-matrix tbody tr:last-child th,.roster-matrix tbody tr:last-child td{border-bottom:0}.roster-matrix thead th{height:66px;padding:8px;color:#172033;background:#fafbfd;font-size:12px;text-align:center}.roster-matrix thead th:first-child{width:190px;padding-left:16px;text-align:left}.roster-matrix thead th strong,.roster-matrix thead th span{display:block}.roster-matrix thead th span{margin-top:4px;color:#535f71;font-size:10px;font-weight:500}.roster-matrix tbody th{width:190px;padding:14px 16px;background:#fff;text-align:left}.roster-matrix tbody th strong,.roster-matrix tbody th span{display:block}.roster-matrix tbody th strong{font-size:13px}.roster-matrix tbody th span{margin-top:5px;color:#778397;font-size:10px;font-weight:500}.roster-matrix td{height:66px;padding:7px;background:#fff}.matrix-shift{width:100%;min-height:42px;display:grid;place-items:center;padding:5px;border:0;border-radius:3px;color:#fff;font:inherit;cursor:pointer;transition:transform .12s,box-shadow .12s}.matrix-shift strong{font-size:10px;white-space:nowrap}.matrix-shift.is-work{background:linear-gradient(180deg,#ff8c10,#f57900)}.matrix-shift.is-rest{background:linear-gradient(180deg,#5cbc62,#47a850)}.matrix-shift:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(18,38,67,.14)}.matrix-shift.is-selected{outline:2px solid #0f5cf6;outline-offset:3px;box-shadow:0 0 0 4px #dce9ff}.workforce-empty{padding:32px;color:#69778c;text-align:center}.workforce-notice{min-height:18px;margin:14px 0 0;color:#64748b;font-size:12px}.workforce-notice.is-success{color:#087b41}
.shift-drawer-backdrop{position:fixed;z-index:998;inset:0;background:rgba(11,24,45,.14)}.shift-drawer{position:fixed;z-index:999;top:0;right:0;width:min(420px,94vw);height:100vh;padding:38px 30px;overflow:auto;border-left:1px solid #e0e6ee;background:#fff;box-shadow:-15px 0 38px rgba(16,35,64,.14)}.shift-drawer-close{position:absolute;top:19px;right:21px;border:0;color:#172033;background:transparent;font-size:27px;cursor:pointer}.shift-drawer-heading{padding:26px 0 20px;border-bottom:1px solid #e1e6ec}.shift-drawer-heading h3{margin:0;font-size:20px}.shift-drawer-heading p{margin:10px 0 0;color:#324059;font-size:14px}.planned-shift-form{display:grid;gap:20px;padding-top:22px}.planned-shift-form label,.attendance-correction-form label{display:grid;gap:8px;color:#263249;font-size:12px;font-weight:650}.planned-shift-form input,.attendance-correction-form input,.attendance-correction-form textarea{width:100%;padding:0 13px;border:1px solid #ccd5e1;border-radius:7px;color:#101827;background:#fff;font:inherit}.planned-shift-form input,.attendance-correction-form input{height:45px}.drawer-break-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.drawer-policy{margin:0;padding:11px;border-radius:7px;color:#506079;background:#f1f5fa;font-size:11px;line-height:1.5}.drawer-save,.drawer-delete{height:50px;border-radius:7px;font:inherit;font-weight:750;cursor:pointer}.drawer-save{margin-top:28px;border:1px solid #0f5cf6;color:#fff;background:#0f5cf6}.drawer-delete{border:1px solid #ff3232;color:#ee2525;background:#fff}.drawer-message{min-height:18px;margin:0;color:#a52c2c;font-size:11px}
.attendance-filters{display:flex;align-items:center;gap:12px;margin:23px 0 20px}.attendance-filters .workforce-period-control{grid-template-columns:0 minmax(185px,1fr) 34px;min-width:245px}.attendance-filters .workforce-period-control button:first-child{display:none}.attendance-filters .toolbar-select{min-width:175px;flex:1}.attendance-search{min-width:190px;height:48px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #d7dee8;border-radius:8px}.attendance-search span{font-size:20px}.attendance-search input{width:100%;border:0;outline:0;font:inherit;font-size:13px}.filter-action{height:48px;padding:0 18px;border:1px solid #0f5cf6;border-radius:7px;color:#0f5cf6;background:#fff;font:inherit;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer}.filter-action.is-primary{color:#fff;background:#0f5cf6}.attendance-table-wrap{overflow:auto;border:1px solid #d8e0e9;border-radius:9px}.attendance-table{width:100%;min-width:1180px;border-collapse:separate;border-spacing:0}.attendance-table th,.attendance-table td{height:53px;padding:10px 16px;border-right:1px solid #e3e8ee;border-bottom:1px solid #e3e8ee;text-align:left}.attendance-table th:last-child,.attendance-table td:last-child{border-right:0}.attendance-table thead th{height:50px;color:#273249;background:#fafbfd;font-size:11px;font-weight:700}.attendance-table tbody tr:last-child td{border-bottom:0}.attendance-table tbody tr{cursor:pointer}.attendance-table tbody tr:hover td{background:#f8fbff}.attendance-table tbody tr.is-selected td{background:#e8f1ff}.attendance-table tbody tr.is-selected td:first-child{box-shadow:inset 3px 0 #0f5cf6}.attendance-table td{color:#29354a;font-size:12px}.attendance-table td:first-child strong,.attendance-table td:first-child span{display:block}.attendance-table td:first-child span{margin-top:4px;color:#7a8698;font-size:9px}.table-empty{height:100px!important;color:#708097;text-align:center!important}.status-pill{display:inline-block;padding:6px 10px;border:1px solid transparent;border-radius:5px;font-size:10px;font-weight:650;white-space:nowrap}.status-pill.is-ontime{color:#087e52;border-color:#bfe4d4;background:#eaf8f1}.status-pill.is-late{color:#bd4d0b;border-color:#f1d0b7;background:#fff2e8}.status-pill.is-progress{color:#8a5d08;border-color:#ead8a7;background:#fff8dc}.status-pill.is-missing{color:#68758a;border-color:#dbe1e8;background:#f4f6f8}
.attendance-record-panel{position:relative;margin-top:18px;padding:22px;border:1px solid #d8e0e9;border-radius:9px;background:#fff}.attendance-record-panel>h3{margin:0 0 20px;font-size:17px}.attendance-record-body{display:grid;grid-template-columns:minmax(600px,1.2fr) 1fr}.attendance-timeline{display:flex;align-items:center;padding:8px 12px 18px;border-right:1px solid #e2e7ed}.timeline-step{min-width:125px;display:grid;justify-items:center;gap:8px}.timeline-step i{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:#0f5cf6;background:#e9f1ff;font-size:19px;font-style:normal}.timeline-step span{color:#263249;font-size:11px}.timeline-step strong{font-size:18px}.timeline-line{height:2px;flex:1;margin-top:-45px;background:#0f5cf6}.attendance-metrics{display:grid;grid-template-columns:repeat(3,1fr)}.attendance-metrics>div{display:grid;align-content:center;justify-items:center;gap:13px;padding:12px;border-right:1px solid #e2e7ed}.attendance-metrics>div:last-child{border-right:0}.attendance-metrics span{color:#263249;font-size:11px}.attendance-metrics strong{font-size:18px}.attendance-record-footer{display:flex;align-items:center;justify-content:flex-end;gap:24px;margin-top:18px;padding-top:14px;border-top:1px solid #e2e7ed}.attendance-record-footer>span{color:#344259;font-size:11px}.attendance-record-footer button{height:42px;padding:0 15px;border:1px solid #0f5cf6;border-radius:6px;color:#0f5cf6;background:#fff;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.record-identity{position:absolute;top:23px;right:22px;margin:0;color:#6d7a8d;font-size:10px}
.attendance-record-footer .attendance-delete-button{border-color:#dc2626;color:#b91c1c;background:#fff}.attendance-record-footer .attendance-delete-button:hover{color:#fff;background:#b91c1c}
.attendance-correction-form{margin-top:18px;padding:18px;border:1px solid #cdddf5;border-radius:8px;background:#f8fbff}.correction-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.correction-reason{margin-top:14px}.correction-reason span{display:flex;justify-content:space-between}.correction-reason b{color:#b64343;font-size:9px;text-transform:uppercase}.attendance-correction-form textarea{min-height:80px;padding:12px;resize:vertical}.correction-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.correction-actions button{height:40px;padding:0 16px;border:1px solid #ced7e2;border-radius:7px;color:#314058;background:#fff;font:inherit;font-weight:700;cursor:pointer}.correction-actions button:last-child{border-color:#0f5cf6;color:#fff;background:#0f5cf6}.attendance-correction-form>p{min-height:16px;margin:8px 0 0;color:#a52c2c;font-size:11px;text-align:right}.attendance-audit{margin-top:16px;border-top:1px solid #e2e7ed}.attendance-audit summary{padding:14px 0 2px;color:#0f5cf6;font-size:11px;font-weight:700;cursor:pointer}.attendance-audit article{display:grid;grid-template-columns:1fr auto;gap:5px;margin-top:10px;padding:11px;border-radius:7px;background:#f6f8fb}.attendance-audit article strong,.attendance-audit article span{font-size:10px}.attendance-audit article span{color:#718096}.attendance-audit article p,.attendance-audit article small{grid-column:1/-1;margin:0}.attendance-audit article p{font-size:11px}.attendance-audit article small{color:#607089;font-size:9px}.fortnight-workflow{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px;padding:15px 18px;border:1px solid #d8e4f5;border-radius:8px;background:#f8fbff}.fortnight-workflow>div:first-child{display:grid;gap:4px}.fortnight-workflow strong{font-size:12px}.fortnight-workflow span{color:#65758d;font-size:10px}.fortnight-workflow button{margin-left:8px;padding:9px 12px;border:0;border-radius:6px;color:#fff;background:#0f5cf6;font:inherit;font-size:10px;font-weight:700;cursor:pointer}
main.app-main:has(.fortnight-roster-section){display:flex;flex-direction:column}main.app-main:has(.fortnight-roster-section)>.page-header{order:1}main.app-main:has(.fortnight-roster-section)>.fortnight-roster-section{order:2}main.app-main:has(.fortnight-roster-section)>.employee-timesheet-panel{order:3}main.app-main:has(.fortnight-roster-section)>.employee-timesheet-summary{order:4}
@media(max-width:1200px){.attendance-filters{flex-wrap:wrap}.attendance-filters>*{flex:1}.attendance-record-body{grid-template-columns:1fr}.attendance-timeline{border-right:0;border-bottom:1px solid #e2e7ed}.attendance-metrics{min-height:130px}.correction-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.roster-page-wrap{width:100%;padding:0 0 76px}.roster-page-wrap>.review-heading{padding:20px 18px 0}.workforce-tabs{margin:14px 16px 10px}.workforce-screen{padding:18px 14px;border-right:0;border-left:0;border-radius:0}.workforce-title-row h2{font-size:26px}.workforce-toolbar{align-items:stretch;flex-direction:column;margin:18px 0}.workforce-period-control,.toolbar-select{width:100%;min-width:0}.roster-legend{gap:14px}.shift-drawer{padding:30px 20px}.attendance-filters{display:grid;grid-template-columns:1fr 1fr}.attendance-filters>*{width:100%;min-width:0}.attendance-filters .workforce-period-control,.attendance-search,.filter-action{grid-column:1/-1}.attendance-record-panel{padding:17px 12px}.attendance-timeline{overflow:auto}.timeline-step{min-width:105px}.attendance-metrics{grid-template-columns:1fr}.attendance-metrics>div{min-height:86px;border-right:0;border-bottom:1px solid #e2e7ed}.attendance-metrics>div:last-child{border-bottom:0}.attendance-record-footer{align-items:stretch;flex-direction:column}.attendance-record-footer button{width:100%}.correction-grid{grid-template-columns:1fr}.record-identity{position:static;margin-top:14px}.fortnight-workflow{align-items:stretch;flex-direction:column}.fortnight-workflow button{width:100%;margin:6px 0 0}}
.attendance-filters .workforce-period-control{grid-template-columns:34px minmax(185px,1fr) 34px;min-width:285px}.attendance-filters .workforce-period-control button:first-child{display:block}
@media(max-width:1450px) and (min-width:761px){.attendance-filters{flex-wrap:wrap}.attendance-filters>*{flex:1}.attendance-record-body{grid-template-columns:1fr}.attendance-timeline{border-right:0;border-bottom:1px solid #e2e7ed}.attendance-metrics{min-height:130px}.correction-grid{grid-template-columns:1fr 1fr}}
@media(max-width:1450px) and (min-width:761px){.attendance-filters .filter-action{flex:0 0 auto}.attendance-filters [data-review-exceptions]{margin-left:auto}}
.attendance-table{min-width:900px}.correction-grid{grid-template-columns:repeat(2,1fr)}
/* Fortnight payroll categories derived from fixed roster versus attendance. */
.fortnight-hours-summary { margin-top: 18px; border: 1px solid #dbe4f0; border-radius: 14px; background: #fff; overflow: hidden; }
.fortnight-hours-summary .summary-heading { padding: 18px 20px 14px; border-bottom: 1px solid #e5ebf4; background: #f8fbff; }
.fortnight-hours-summary h3 { margin: 0 0 5px; color: #10234a; font-size: 18px; }
.fortnight-hours-summary p { margin: 0; color: #62708a; font-size: 13px; }
.summary-table th { white-space: nowrap; background: #f5f8fc; }
.summary-table th small { color: #64748b; font-weight: 600; }
.summary-table td:not(:first-child) { font-weight: 700; color: #10234a; }
.manager-read-only-note { grid-column: 1 / -1; margin: 0 0 12px; padding: 12px 14px; border-radius: 10px; background: #eef5ff; color: #25436f; }
.roster-status{display:inline-flex!important;width:max-content;margin-top:8px!important;padding:4px 7px;border-radius:999px;font-size:9px!important;font-weight:800!important;letter-spacing:.04em;text-transform:uppercase}.roster-status.is-draft{color:#805b12!important;background:#fff4cf}.roster-status.is-published{color:#075f43!important;background:#dff6eb}.roster-status.is-locked{color:#354155!important;background:#e7ebf1}.roster-version-count{display:block;margin-top:5px;color:#64748b;font-size:9px;font-weight:600}.drawer-roster-status{padding:12px;border:1px solid #dce5f1;border-radius:8px;background:#f8fbff}.drawer-change-reason textarea,.roster-change-request-form textarea,.roster-request-card textarea{width:100%;min-height:86px;padding:11px;border:1px solid #ccd5e1;border-radius:7px;resize:vertical;font:inherit}.drawer-change-reason b{color:#b42318;font-size:9px;text-transform:uppercase}.roster-workflow-actions{display:grid;gap:9px;margin-top:16px;padding-top:16px;border-top:1px solid #e1e6ec}.drawer-secondary{min-height:43px;border:1px solid #0f5cf6;border-radius:7px;color:#0f5cf6;background:#fff;font:inherit;font-weight:750;cursor:pointer}.drawer-secondary.is-warning{border-color:#b54708;color:#b54708;background:#fff7ed}.roster-change-request-form{display:grid;gap:12px;margin-top:18px;padding:16px;border:1px solid #cfe0f7;border-radius:10px;background:#f7fbff}.roster-change-request-form>strong{font-size:15px}.roster-change-request-form>p{margin:0;color:#607089;font-size:11px;line-height:1.5}.roster-change-request-form label,.roster-request-card label{display:grid;gap:6px;color:#344259;font-size:11px;font-weight:700}.roster-change-request-form input{height:42px;padding:0 10px;border:1px solid #ccd5e1;border-radius:7px;font:inherit}.roster-change-request-form .drawer-save{margin-top:2px}.roster-request-panel{margin-top:18px;padding:18px;border:1px solid #dbe4f0;border-radius:12px;background:#f8fbff}.roster-request-panel .summary-heading h3{margin:0 0 4px;font-size:17px}.roster-request-panel .summary-heading p{margin:0;color:#64748b;font-size:11px}.roster-request-list{display:grid;gap:10px;margin-top:14px}.roster-request-card{padding:14px;border:1px solid #dce4ee;border-left:4px solid #94a3b8;border-radius:8px;background:#fff}.roster-request-card.is-pending{border-left-color:#f59e0b}.roster-request-card.is-approved{border-left-color:#16a34a}.roster-request-card.is-rejected{border-left-color:#dc2626}.roster-request-card>div:first-child{display:flex;align-items:center;gap:10px}.roster-request-card>div:first-child span{color:#64748b;font-size:11px}.roster-request-card>div:first-child b{margin-left:auto;padding:4px 7px;border-radius:999px;background:#edf2f7;font-size:9px}.roster-request-card p{margin:10px 0;color:#263249;font-size:12px}.roster-request-card small{display:block;margin:8px 0;color:#64748b}.request-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:9px}.request-actions button{padding:8px 12px;border:1px solid #0f5cf6;border-radius:6px;color:#0f5cf6;background:#fff;font:inherit;font-size:11px;font-weight:750;cursor:pointer}.request-actions button:last-child{border-color:#dc2626;color:#dc2626}

@media (max-width: 720px) {
  .fortnight-hours-summary { border-radius: 12px; }
  .fortnight-hours-summary .summary-heading { padding: 15px; }
  .roster-request-card>div:first-child{align-items:flex-start;flex-direction:column}.roster-request-card>div:first-child b{margin-left:0}.request-actions{flex-direction:column}.request-actions button{width:100%}
}

/* Unified planned roster and actual attendance view. */
.combined-workforce-screen{display:grid;gap:18px}.combined-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.combined-heading h2{margin:0;color:#0f1d3c;font-size:25px;line-height:1.2}.combined-heading p{margin:8px 0 0;color:#718096;font-size:13px;line-height:1.5}.combined-heading .workforce-period-control{min-width:390px;margin:0}.combined-legend{display:flex;align-items:center;gap:25px;color:#68768b;font-size:13px}.combined-legend span{display:flex;align-items:center;gap:9px}.combined-legend i{width:13px;height:13px;border-radius:3px}.legend-attendance{background:#2f74e8}.combined-toolbar{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(180px,.8fr) minmax(260px,1.4fr) auto;gap:10px}.combined-toolbar .toolbar-select,.combined-toolbar .attendance-search{width:100%;min-width:0}.temporary-attendance-access{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;border:1px solid #a9c7f5;border-radius:9px;color:#174b96;background:#eef5ff}.temporary-attendance-access strong{white-space:nowrap}.temporary-attendance-access span{font-size:11px;line-height:1.45;text-align:right}.temporary-attendance-access.is-closed{border-color:#d6dde7;color:#59677b;background:#f5f7fa}.combined-person-list{display:grid;gap:12px}.combined-person-card{overflow:hidden;border:1px solid #d8e1ec;border-radius:11px;background:#fff}.combined-person-card[open]{border-color:#8db5fb;box-shadow:0 0 0 3px rgba(44,111,232,.08)}.combined-person-card>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;cursor:pointer;list-style:none}.combined-person-card>summary::-webkit-details-marker{display:none}.combined-person-card>summary>span{display:flex;align-items:center;gap:14px}.combined-person-card>summary>span:first-child{display:grid;gap:5px}.combined-person-card>summary strong{font-size:14px}.combined-person-card>summary small{color:#718096;font-size:10px}.combined-person-card>summary b{padding:6px 10px;border-radius:999px;color:#225db7;background:#edf4ff;font-size:10px}.combined-fortnight-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #dfe5ec}.combined-day{min-width:0;padding:12px;border-right:1px solid #dfe5ec;border-bottom:1px solid #dfe5ec;background:#fff}.combined-day:nth-child(7n){border-right:0}.combined-day:nth-last-child(-n+7){border-bottom:0}.combined-day.is-selected{position:relative;background:#f7faff;box-shadow:inset 0 0 0 2px #6ea3f6}.combined-day>span{display:block;margin-bottom:9px;color:#718096;font-size:10px;white-space:nowrap}.combined-roster-line,.combined-attendance-line{width:100%;min-height:35px;display:grid;place-items:center;padding:6px;border:0;border-radius:7px;font:inherit;font-size:10px;font-weight:750;white-space:nowrap;cursor:pointer}.combined-roster-line.is-work{color:#994600;background:#fff0db}.combined-roster-line.is-rest{color:#086b2f;background:#e6f6eb}.combined-attendance-line{margin-top:7px;color:#1554a5;background:#e7f0ff}.combined-attendance-line.is-missing{color:#748198;background:#f0f3f7;font-weight:550}.combined-roster-line:hover,.combined-attendance-line:hover{filter:brightness(.97);box-shadow:0 2px 7px rgba(27,55,94,.1)}.combined-workforce-screen>.attendance-record-panel,.combined-workforce-screen>.fortnight-hours-summary,.combined-workforce-screen>.roster-request-panel{margin-top:0}
@media(max-width:1200px) and (min-width:761px){.combined-heading{align-items:stretch;flex-direction:column}.combined-heading .workforce-period-control{width:100%;min-width:0}.combined-toolbar{grid-template-columns:1fr 1fr}.combined-fortnight-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.combined-day{padding:8px}.combined-day:nth-child(7n){border-right:0}.combined-day:nth-last-child(-n+7){border-bottom:0}.combined-roster-line,.combined-attendance-line{padding:5px 3px;font-size:9px}}
@media(max-width:760px){.combined-workforce-screen{padding:18px 14px}.combined-heading{align-items:stretch;flex-direction:column}.combined-heading h2{font-size:22px}.combined-heading .workforce-period-control{width:100%;min-width:0}.combined-toolbar{grid-template-columns:1fr}.combined-legend{gap:14px}.temporary-attendance-access{align-items:flex-start;flex-direction:column}.temporary-attendance-access span{text-align:left}.combined-person-card>summary{align-items:flex-start;padding:15px;flex-direction:column}.combined-person-card>summary>span:last-child{width:100%;justify-content:space-between}.combined-fortnight-grid{grid-template-columns:1fr}.combined-day,.combined-day:nth-child(7n),.combined-day:nth-child(4n){display:grid;grid-template-columns:74px 1fr;gap:7px;border-right:0;border-bottom:1px solid #dfe5ec}.combined-day:nth-last-child(-n+7),.combined-day:nth-last-child(-n+2){border-bottom:1px solid #dfe5ec}.combined-day:last-child{border-bottom:0}.combined-day>span{grid-row:1/3;align-self:center;margin:0;white-space:normal}.combined-attendance-line{margin-top:0}}

.attendance-correction-form .correction-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.attendance-correction-form .correction-grid{grid-template-columns:1fr}}

.attendance-correction-status{display:grid;gap:5px;margin-top:14px;padding:12px 14px;border:1px solid #b9cff1;border-radius:8px;color:#184d96;background:#eef5ff}.attendance-correction-status strong{font-size:12px}.attendance-correction-status span,.attendance-correction-status small{font-size:10px;line-height:1.45}.attendance-correction-status small{color:#52657f}.attendance-correction-status.is-approved{border-color:#a7d8b6;color:#176735;background:#edf9f0}.attendance-correction-status.is-rejected{border-color:#ecc1c1;color:#8f2f2f;background:#fff3f3}.attendance-correction-approvals{padding:18px;border:1px solid #a8c5f1;border-radius:10px;background:#f7faff}.attendance-correction-approvals .summary-heading{margin-bottom:14px}.attendance-correction-approvals .summary-heading>span{padding:6px 10px;border-radius:999px;color:#fff;background:#155fc4;font-size:10px;font-weight:750}.attendance-correction-request-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.attendance-correction-request-list article{display:grid;gap:12px;padding:15px;border:1px solid #d3deed;border-radius:9px;background:#fff}.attendance-correction-request-list article>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.attendance-correction-request-list article>div:first-child span{color:#4b6384;font-size:10px}.attendance-correction-request-list dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.attendance-correction-request-list dl>div{display:grid;gap:4px;padding:9px;border-radius:7px;background:#f3f6fa}.attendance-correction-request-list dt{color:#6b7b91;font-size:9px;font-weight:700;text-transform:uppercase}.attendance-correction-request-list dd{margin:0;font-size:11px;font-weight:700}.attendance-correction-request-list p{margin:0;font-size:11px;line-height:1.5}.attendance-correction-request-list textarea{min-height:70px;padding:10px;border:1px solid #cbd5e2;border-radius:7px;resize:vertical;font:inherit;font-size:11px}.attendance-correction-review-actions{display:flex;justify-content:flex-end;gap:9px}.attendance-correction-review-actions button{padding:9px 13px;border:1px solid #cfdae8;border-radius:6px;color:#33435a;background:#fff;font:inherit;font-size:10px;font-weight:750;cursor:pointer}.attendance-correction-review-actions button:last-child{border-color:#0f5cf6;color:#fff;background:#0f5cf6}
@media(max-width:760px){.attendance-correction-request-list{grid-template-columns:1fr}.attendance-correction-request-list dl{grid-template-columns:1fr}.attendance-correction-request-list article>div:first-child{align-items:flex-start;flex-direction:column}.attendance-correction-review-actions{display:grid;grid-template-columns:1fr 1fr}.attendance-correction-review-actions button{width:100%}}

/* Manager hours decisions, accrued leave and Payroll finalization. */
.hours-review{margin-top:18px;padding-top:18px;border-top:1px solid #dbe4f0}.hours-review h4{margin:0 0 12px;font-size:16px}.hours-decision-current{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;padding:14px;border:1px solid #d7e2f2;border-radius:12px;background:#f8fbff}.hours-decision-current>div{display:flex;flex-direction:column;gap:4px}.hours-decision-current span{color:#62708a;font-size:11px}.hours-decision-current p{grid-column:1/-1;margin:4px 0 0}.hours-decision-current.is-pending_manager_decision{border-color:#f2cf82;background:#fff9eb}.hours-decision-form{display:grid;grid-template-columns:minmax(200px,1fr) minmax(220px,1fr);gap:12px;margin-top:12px}.hours-decision-form label,.accrued-leave-request-form label{display:flex;flex-direction:column;gap:6px}.hours-decision-form select,.hours-decision-form textarea,.accrued-leave-request-form input,.accrued-leave-request-form textarea{min-height:42px;border:1px solid #ccd5e1;border-radius:9px;padding:9px 11px;background:#fff;font:inherit}.hours-decision-form .decision-note{grid-column:1/-1}.hours-decision-form button,.accrued-leave-request-form button{justify-self:start;border:0;border-radius:8px;padding:10px 16px;color:#fff;background:#1463df;font-weight:700}.hours-decision-form p{margin:0;color:#b42318}.pending-count{display:inline-flex;min-width:26px;justify-content:center;padding:4px 8px;border-radius:999px;background:#eef2f8}.pending-count.has-pending{color:#8a4b00;background:#fff0ce}.accrued-leave-panel,.payroll-period-controls{margin-top:16px;padding:16px;border:1px solid #dbe4f0;border-radius:12px;background:#fff}.accrued-leave-request-form{display:grid;grid-template-columns:180px 140px minmax(260px,1fr) auto;gap:12px;align-items:end}.accrued-request-list{display:grid;gap:10px}.accrued-request-list article{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:12px;border:1px solid #dbe4f0;border-radius:10px}.accrued-request-list article p,.accrued-request-list article textarea,.accrued-request-list article div{grid-column:1/-1}.accrued-request-list textarea{min-height:70px;padding:8px;border:1px solid #ccd5e1;border-radius:8px}.payroll-period-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}.payroll-period-controls>div:first-child{display:flex;flex-direction:column;gap:4px}.payroll-period-controls.has-warning{border-color:#e8b95e;background:#fff9ed}.payroll-period-controls button{border:0;border-radius:8px;padding:10px 16px;color:#fff;background:#1463df;font-weight:700}.payroll-period-controls button:disabled{color:#65738a;background:#dfe5ed;cursor:not-allowed}
.hours-review-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.hours-review-heading h4{margin:0}.hours-review-heading p{margin:5px 0 0;color:#62708a;font-size:12px}.hours-review-heading>span{padding:6px 9px;border-radius:999px;color:#8a4b00;background:#fff0ce;font-size:11px;font-weight:700}.hours-review-blocked{margin:10px 0 0;padding:10px 12px;border-radius:8px;color:#8a4b00;background:#fff4d8;font-size:12px}.hours-review-queue-link{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px;padding:11px 13px;border-radius:8px;color:#6b4b0d;background:#fff4d8;font-size:12px}.hours-review-queue-link a{flex:none;border:1px solid #1463df;border-radius:7px;padding:8px 11px;color:#fff;background:#1463df;font-weight:750;text-decoration:none}.pending-review-button{display:inline-flex;align-items:center;gap:6px;border:1px solid #e7b958;border-radius:8px;padding:5px 8px;color:#7b4500;background:#fff7e5;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.pending-review-button b{display:grid;min-width:22px;height:22px;place-items:center;border-radius:999px;color:#fff;background:#d97706}.pending-review-button:hover{border-color:#d97706;background:#ffefc8}.combined-day.has-pending-decision{background:#fffaf0}.pending-day-action{width:100%;margin-top:6px;border:1px solid #efc36a;border-radius:6px;padding:4px 5px;color:#7b4500;background:#fff4d8;font:inherit;font-size:9px;font-weight:750;cursor:pointer}
.manager-batch-approval{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding:16px;border:1px solid #b8d2ff;border-radius:12px;background:#f2f7ff}.manager-batch-approval>div{display:flex;flex-direction:column;gap:5px}.manager-batch-approval span{color:#53627a}.manager-batch-approval button{border:0;border-radius:8px;padding:11px 17px;background:#1463df;color:#fff;font-weight:800;white-space:nowrap}.manager-batch-approval button:disabled{background:#aebcd0}
@media(max-width:760px){.hours-review-heading{flex-direction:column}.hours-decision-current{grid-template-columns:1fr 1fr}.hours-decision-form,.accrued-leave-request-form{grid-template-columns:1fr}.hours-decision-form .decision-note{grid-column:auto}.payroll-period-controls,.manager-batch-approval{align-items:stretch;flex-direction:column}}
.attention-flash{animation:workforce-attention-pulse .5s ease-in-out 4}@keyframes workforce-attention-pulse{0%,100%{box-shadow:0 0 0 0 rgba(20,99,223,0)}50%{box-shadow:0 0 0 7px rgba(20,99,223,.25);background:#eef5ff}}

/* Shared roster and attendance day classifications. */
.day-type-form{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:9px 10px;align-items:end;margin:16px 0;padding:14px;border:1px solid #cfe0f7;border-radius:10px;background:#f7fbff}.day-type-form label{display:grid;gap:6px;color:#263249;font-size:12px;font-weight:700}.day-type-form select{width:100%;height:43px;padding:0 11px;border:1px solid #c8d5e5;border-radius:8px;color:#14213a;background:#fff;font:inherit}.day-type-form button{height:43px;padding:0 15px;border:0;border-radius:8px;color:#fff;background:#1463df;font:inherit;font-weight:750;cursor:pointer}.day-type-form button:disabled{background:#aebcd0}.day-type-form small,.day-type-form [data-day-type-message],.day-type-approved{grid-column:1/-1;margin:0;font-size:10px;line-height:1.45}.day-type-form small{color:#66758c}.day-type-form [data-day-type-message]{min-height:0;color:#a52c2c}.day-type-approved{display:inline-flex;width:max-content;padding:5px 8px;border-radius:999px;color:#087b41;background:#e7f7ef;font-weight:700}.attendance-record-panel>.day-type-form{margin:-4px 0 18px}.matrix-shift.is-sick-leave,.combined-roster-line.is-sick-leave{color:#a63d08;background:#fff0e6}.matrix-shift.is-annual-leave,.combined-roster-line.is-annual-leave{color:#4b38a8;background:#eeeaff}.matrix-shift.is-unpaid-leave,.combined-roster-line.is-unpaid-leave{color:#5f6878;background:#edf0f4}.matrix-shift.is-business-trip,.combined-roster-line.is-business-trip{color:#005e78;background:#ddf5fb}.matrix-shift.is-sick-leave,.matrix-shift.is-annual-leave,.matrix-shift.is-unpaid-leave,.matrix-shift.is-business-trip{background-image:none}.status-pill.is-rest{color:#08703a;border-color:#bce3cd;background:#e8f7ef}.status-pill.is-sick-leave{color:#a63d08;border-color:#f1c8b3;background:#fff0e6}.status-pill.is-annual-leave{color:#4b38a8;border-color:#d5cdf8;background:#eeeaff}.status-pill.is-unpaid-leave{color:#5f6878;border-color:#d8dde4;background:#edf0f4}.status-pill.is-business-trip{color:#005e78;border-color:#b9e4ef;background:#ddf5fb}

.matrix-shift.is-overtime,.combined-roster-line.is-overtime{color:#8b3f00;background:#ffe2b8}.matrix-shift.is-overtime{color:#fff;background:linear-gradient(180deg,#f0a000,#d97b00)}.status-pill.is-overtime{color:#8b3f00;border-color:#f0c57f;background:#fff1d8}.weekly-expected-form,.weekly-hours-control{display:flex;align-items:end;gap:10px;margin:0 20px 14px;padding:11px 13px;border:1px solid #dbe5f3;border-radius:9px;background:#f8fbff}.weekly-expected-form label{display:grid;gap:5px;color:#53637b;font-size:10px;font-weight:700}.weekly-expected-form input{width:150px;height:36px;padding:0 10px;border:1px solid #c8d6e8;border-radius:7px;background:#fff;font:inherit}.weekly-expected-form button{height:36px;padding:0 14px;border:0;border-radius:7px;color:#fff;background:#1766df;font:inherit;font-weight:750;cursor:pointer}.weekly-expected-form small,.weekly-hours-control span{color:#52627a;font-size:10px}.weekly-expected-form small{align-self:center;margin-left:auto}.weekly-expected-form p{min-width:90px;margin:0;color:#a52c2c;font-size:10px}.weekly-hours-control.is-readonly{justify-content:space-between}
@media(max-width:760px){.weekly-expected-form,.weekly-hours-control{align-items:stretch;flex-direction:column;margin:0 14px 12px}.weekly-expected-form input{width:100%}.weekly-expected-form button{width:100%}.weekly-expected-form small{align-self:flex-start;margin:0}}
.rest-day-no-attendance{display:flex;align-items:center;gap:12px;padding:18px;border:1px solid #bfe1cc;border-radius:10px;color:#166534;background:#edf9f1}.rest-day-no-attendance span{color:#52705d;font-size:12px}
@media(max-width:760px){.day-type-form{grid-template-columns:1fr}.day-type-form button{width:100%}.day-type-form small,.day-type-form [data-day-type-message],.day-type-approved{grid-column:auto}}

/* Personal timesheet: a focused employee workflow instead of the management board. */
.personal-timesheet-screen{display:grid;gap:14px}.personal-timesheet-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.personal-timesheet-heading>div>span{color:#1766df;font-size:10px;font-weight:850;letter-spacing:.08em}.personal-timesheet-heading h2{margin:4px 0 2px;font-size:24px}.personal-timesheet-heading p{margin:0;color:#6b7890;font-size:11px}.personal-timesheet-heading .workforce-period-control{width:min(390px,100%)}.personal-timesheet-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.personal-timesheet-metrics article{display:grid;gap:4px;padding:13px 14px;border:1px solid #d8e3f2;border-radius:11px;background:#f8fbff}.personal-timesheet-metrics span{color:#68778f;font-size:10px}.personal-timesheet-metrics strong{font-size:17px}.personal-timesheet-metrics article.has-warning{border-color:#f1c26d;color:#9a5700;background:#fff8e8}.personal-timesheet-metrics article.is-complete{color:#087443;background:#effaf4}.personal-timesheet-action{overflow:hidden;border:1px solid #d7e2f1;border-radius:12px;background:#fff}.personal-timesheet-action>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;cursor:pointer;list-style:none}.personal-timesheet-action>summary::-webkit-details-marker{display:none}.personal-timesheet-action>summary>span{display:grid;gap:3px}.personal-timesheet-action>summary strong{font-size:14px}.personal-timesheet-action>summary small{color:#6b7890;font-size:10px}.personal-timesheet-action>summary>b{padding:5px 8px;border-radius:999px;color:#087443;background:#e5f7ed;font-size:10px}.personal-timesheet-action>summary>b:not(.is-submitted):not(.is-reviewed){color:#945400;background:#fff0ce}.personal-timesheet-action[open]>summary{border-bottom:1px solid #e2e8f1}.personal-day-list{display:grid}.personal-day-row{display:grid;grid-template-columns:105px 1fr 1fr;gap:8px;align-items:center;padding:9px 14px;border-bottom:1px solid #edf1f6}.personal-day-row:last-child{border-bottom:0}.personal-day-row>span:first-child{color:#566780;font-size:11px}.personal-day-row button,.personal-not-required{min-height:48px;display:grid;gap:2px;place-items:center;padding:6px 9px;border:0;border-radius:8px;font:inherit;cursor:pointer}.personal-day-row small{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.personal-day-row strong{font-size:11px}.personal-planned{color:#935000;background:#fff0dc}.personal-planned.is-rest,.personal-planned.is-sick-leave,.personal-planned.is-annual-leave,.personal-planned.is-unpaid-leave,.personal-planned.is-business-trip{color:#08703a;background:#e8f7ee}.personal-actual{color:#1559b2;background:#e8f1ff}.personal-actual.is-complete{color:#087443;background:#e7f8ef}.personal-actual.is-open{color:#9a5700;background:#fff2d7}.personal-actual.is-missing{color:#a52c2c;background:#fff0ef}.personal-not-required{color:#748198;background:#f2f5f8}.personal-day-row.is-selected{background:#f3f7ff;box-shadow:inset 3px 0 #1766df}.personal-days-empty{margin:0;padding:18px;color:#6b7890;text-align:center;font-size:11px}.personal-future-days{border-top:1px solid #e2e8f1;background:#f8fbff}.personal-future-days>summary{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;color:#315275;cursor:pointer;list-style:none;font-size:11px;font-weight:750}.personal-future-days>summary::-webkit-details-marker{display:none}.personal-future-days>summary b{color:#68778f;font-size:9px}.personal-future-days[open]>summary{border-bottom:1px solid #e2e8f1}.personal-future-days .personal-day-list{background:#fff}.personal-declaration-panel>.fortnight-declaration-card{margin:0;border:0;border-radius:0;background:#f8fbff}.personal-timesheet-footnote{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 13px;border-radius:10px;color:#52637d;background:#f3f6fa;font-size:10px}

/* Static fallback keeps the Payroll task usable even when a previous SPA script is cached. */
.employee-timesheet-check-reminder{display:grid;gap:13px;margin:0 0 14px;padding:16px;border:1px solid #efc56e;border-left:5px solid #e58b08;border-radius:13px;background:#fffaf0;box-shadow:0 5px 16px rgba(146,91,7,.08)}.employee-timesheet-check-reminder header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.employee-timesheet-check-reminder h2,.employee-timesheet-check-reminder p{margin:0}.employee-timesheet-check-reminder h2{color:#10234a;font-size:16px}.employee-timesheet-check-reminder p{color:#596980;font-size:11px;line-height:1.45}.employee-timesheet-check-period{flex:none;padding:5px 8px;border-radius:999px;color:#915708;background:#ffedc8;font-size:9px;font-weight:850}.employee-timesheet-check-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.employee-timesheet-check-list li{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:center;padding:9px 10px;border:1px solid #ecd9b6;border-radius:9px;background:#fff}.employee-timesheet-check-list li>i{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:#9a6208;background:#fff0cf;font-style:normal;font-weight:900}.employee-timesheet-check-list li.is-complete{border-color:#b9e5cc}.employee-timesheet-check-list li.is-complete>i{color:#087443;background:#e7f8ef}.employee-timesheet-check-list li>span{display:grid;gap:2px}.employee-timesheet-check-list strong{color:#10234a;font-size:12px}.employee-timesheet-check-list small{color:#65748a;font-size:10px;line-height:1.35}.employee-timesheet-check-actions{display:flex;flex-wrap:wrap;gap:8px}.employee-timesheet-check-actions button{min-height:40px;padding:0 13px;border:1px solid #0f5cf6;border-radius:8px;color:#0f5cf6;background:#fff;font:inherit;font-size:11px;font-weight:800}.employee-timesheet-check-actions button[data-timesheet-confirm],.employee-timesheet-check-actions button[data-timesheet-open]{color:#fff;background:#0f5cf6}.employee-timesheet-issue-form{display:grid;gap:8px}.employee-timesheet-issue-form textarea{width:100%;min-height:84px;padding:10px;border:1px solid #cbd7e8;border-radius:8px;font:inherit}.employee-timesheet-check-status{margin:0!important;color:#68778f!important;font-size:10px!important}

@media(max-width:760px){
  .personal-timesheet-page .roster-page-wrap{width:100%;padding:12px 12px 84px}.personal-timesheet-page .review-heading{padding:2px 2px 4px}.personal-timesheet-page .review-heading h1{font-size:24px}.personal-timesheet-page .review-heading p{margin:5px 0 0;font-size:12px}.personal-timesheet-page .roster-page-panel{margin-top:8px}.personal-timesheet-page .workforce-screen{min-height:0;padding:0;border:0;background:transparent;box-shadow:none}.personal-timesheet-heading{display:grid;gap:11px;padding:14px;border:1px solid #d7e2f1;border-radius:12px;background:#fff}.personal-timesheet-heading h2{font-size:19px}.personal-timesheet-heading .workforce-period-control{min-height:44px;grid-template-columns:38px 1fr 38px}.personal-timesheet-metrics{grid-template-columns:repeat(2,1fr);gap:8px}.personal-timesheet-metrics article{padding:11px 12px}.personal-timesheet-metrics strong{font-size:15px}.personal-timesheet-action>summary{padding:13px 14px}.personal-day-row{grid-template-columns:72px 1fr 1fr;gap:6px;padding:8px}.personal-day-row>span:first-child{font-size:9px}.personal-day-row button,.personal-not-required{min-height:44px;padding:5px}.personal-day-row strong{font-size:9px}.personal-timesheet-footnote{align-items:flex-start;flex-direction:column;gap:4px}.personal-declaration-panel .declaration-heading p{display:none}.personal-declaration-panel .declaration-edit-policy{display:none}.personal-declaration-panel .declaration-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.personal-declaration-panel .declaration-duration{padding:9px}.personal-declaration-panel .declaration-duration input{height:36px}.personal-declaration-panel .declaration-comparison{margin-top:10px}.employee-timesheet-check-reminder{margin:0 0 10px;padding:13px;border-left-width:4px}.employee-timesheet-check-reminder header{display:grid}.employee-timesheet-check-period{width:max-content}.employee-timesheet-check-actions{display:grid;grid-template-columns:1fr 1fr}.employee-timesheet-check-actions button{width:100%;padding:0 8px}.employee-timesheet-check-actions button:first-child:last-child{grid-column:1/-1}
}

/* Step-based attendance review: mirrors the task sequence employees and Managers follow. */
.attendance-workflow-card,.approval-workflow-card{overflow:hidden;padding:0;border:1px solid #d4e1f3;border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(31,73,130,.07)}
.workflow-step-heading{display:grid;grid-template-columns:60px minmax(260px,1fr) minmax(320px,.9fr);align-items:center;gap:18px;padding:18px 20px;border-bottom:1px solid #e0e8f3;background:linear-gradient(135deg,#fff 45%,#f5f9ff)}
.workflow-step-number{display:grid;width:54px;height:54px;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(145deg,#2380f7,#075fe4);box-shadow:0 8px 20px rgba(7,95,228,.22);font-size:24px;font-weight:850}
.workflow-step-heading>div{display:grid;gap:3px}.workflow-step-heading h3,.workflow-step-heading h4{margin:0;color:#0d245c;font-size:24px;line-height:1.1;letter-spacing:-.025em}.workflow-step-heading p{margin:0;color:#536b9e;font-size:13px;line-height:1.4}
.workflow-tip{display:flex;align-items:flex-start;gap:12px;padding:13px 15px;border:1px solid #d8e7fb;border-radius:12px;color:#103a82;background:#eef5ff}.workflow-tip.is-warning{color:#845400;border-color:#f3dfb6;background:#fff8e8}.workflow-tip>i{display:grid;width:25px;height:25px;flex:none;place-items:center;border:2px solid currentColor;border-radius:50%;font-style:normal;font-weight:900}.workflow-tip>span{display:grid;gap:3px}.workflow-tip strong{font-size:12px}.workflow-tip small{color:#5d6e8d;font-size:10px;line-height:1.35}
.attendance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px}.attendance-date-toolbar{display:grid;grid-template-columns:42px minmax(215px,1fr) 42px;align-items:center;overflow:hidden;border:1px solid #cddbf0;border-radius:10px;background:#fff}.attendance-date-toolbar button{height:42px;border:0;color:#16427f;background:#f8fbff;font:inherit;font-size:22px;font-weight:700;cursor:pointer}.attendance-date-toolbar button:first-child{border-right:1px solid #dbe5f2}.attendance-date-toolbar button:last-child{border-left:1px solid #dbe5f2}.attendance-date-toolbar button:disabled{color:#a9b5c6;cursor:not-allowed}.attendance-date-toolbar strong{padding:0 14px;color:#172952;font-size:13px;text-align:center}.attendance-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px}.attendance-toolbar-actions button,.attendance-inline-actions button{min-height:42px;padding:0 14px;border:1px solid #b8cff2;border-radius:9px;color:#075fe4;background:#f8fbff;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.attendance-toolbar-actions button:last-child{border-color:#075fe4;color:#fff;background:#075fe4}.attendance-toolbar-actions button:hover,.attendance-inline-actions button:hover{border-color:#075fe4;background:#eaf3ff}.attendance-toolbar-actions button:last-child:hover{background:#064fbe}
.attendance-workflow-card>.day-type-form{margin:0 18px 14px}.attendance-workflow-card .attendance-record-body{display:grid;grid-template-columns:minmax(180px,1.15fr) repeat(3,minmax(135px,.92fr)) minmax(185px,1fr);align-items:stretch;gap:0;margin:0 18px 14px;padding:0;border:1px solid #dce6f3;border-radius:13px;background:#fff;box-shadow:none}.attendance-record-state,.attendance-record-value,.attendance-inline-actions{min-height:112px;display:flex;justify-content:center;flex-direction:column;gap:5px;padding:16px 20px;border-right:1px solid #e2e9f3}.attendance-record-state{align-items:center;flex-direction:row;justify-content:flex-start}.attendance-record-state>i{display:grid;width:40px;height:40px;flex:none;place-items:center;border-radius:50%;color:#fff;background:#db8a13;font-size:21px;font-style:normal;font-weight:900}.attendance-record-state>i.is-good{background:#10a463}.attendance-record-state>span{display:grid;gap:4px}.attendance-record-state strong{color:#17284e;font-size:15px}.attendance-record-state small,.attendance-record-value small,.attendance-inline-actions small{color:#687a97;font-size:10px;line-height:1.35}.attendance-record-value>span,.attendance-inline-actions>span{color:#647697;font-size:10px}.attendance-record-value>strong{color:#101f4d;font-size:22px;line-height:1.1}.attendance-record-value .status-pill{width:max-content;margin-top:2px}.attendance-inline-actions{align-items:stretch;border-right:0}.attendance-inline-actions button{width:100%}.attendance-inline-actions .attendance-delete-button{margin-top:4px;border-color:#ffc5c0;color:#c82820;background:#fff1ef}.attendance-inline-actions .attendance-delete-button:hover{border-color:#ef6257;background:#ffe6e3}
.attendance-workflow-card .attendance-record-footer{display:flex;align-items:center;gap:11px;margin:0 18px 14px;padding:13px 15px;border:1px solid #bcd6fa;border-radius:10px;color:#174b9a;background:#eef6ff}.attendance-record-footer>i{display:grid;width:25px;height:25px;flex:none;place-items:center;border:2px solid currentColor;border-radius:50%;font-style:normal;font-weight:900}.attendance-record-footer>span{font-size:11px;line-height:1.45}.attendance-workflow-card .attendance-correction-status,.attendance-workflow-card .attendance-correction-form,.attendance-workflow-card .attendance-audit,.attendance-workflow-card .record-identity,.attendance-workflow-card .rest-day-no-attendance{margin-left:18px;margin-right:18px}.attendance-workflow-card .record-identity{margin-bottom:17px}.attendance-audit{overflow:hidden;border:1px solid #dbe5f1;border-radius:10px}.attendance-audit>summary{min-height:46px;display:flex;align-items:center;padding:0 15px;color:#075fe4;background:#fbfdff;font-size:12px;font-weight:800;cursor:pointer}.attendance-audit>div{display:grid}.attendance-audit article{display:grid;grid-template-columns:130px 160px minmax(220px,1fr) 190px;align-items:center;gap:12px;padding:10px 15px;border-top:1px solid #e3eaf3}.attendance-audit article strong{color:#263c68;font-size:10px}.attendance-audit article span{order:4;color:#687a98;font-size:9px;text-align:right}.attendance-audit article p{margin:0;color:#31466e;font-size:10px}.attendance-audit article small{grid-column:2;color:#44618f;font-size:9px}
.approval-workflow-card{margin-top:20px}.approval-workflow-card .hours-decision-current{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:0;margin:16px 18px 0;padding:0;border:1px solid #f1ce78;border-radius:12px;background:#fffaf0}.hours-decision-current-title{grid-column:1/-1!important;display:flex!important;align-items:center;justify-content:flex-start!important;flex-direction:row!important;gap:12px!important;padding:13px 16px!important;border-bottom:1px solid #f0dfb9!important}.hours-decision-current-title>i{display:grid;width:34px;height:34px;flex:none;place-items:center;border-radius:50%;color:#9c6200;background:#ffd46c;font-size:18px;font-style:normal;font-weight:800}.hours-decision-current-title>span{display:grid;gap:2px}.hours-decision-current-title strong{font-size:13px!important}.hours-decision-current-title small{color:#8a6b35;font-size:10px}.approval-workflow-card .hours-decision-current>div:not(.hours-decision-current-title){min-height:72px;display:flex;justify-content:center;flex-direction:column;gap:5px;padding:12px 16px;border-right:1px solid #eadfca}.approval-workflow-card .hours-decision-current>div:nth-of-type(6){border-right:0}.approval-workflow-card .hours-decision-current>div span{color:#6b7890;font-size:9px}.approval-workflow-card .hours-decision-current>div strong{font-size:13px}.approval-workflow-card .hours-decision-current>p{grid-column:1/-1;margin:0;padding:10px 16px;border-top:1px solid #eadfca;color:#6c5a38;font-size:10px}
.approval-workflow-card .hours-decision-form{display:grid;grid-template-columns:1fr;gap:14px;margin:0;padding:18px}.decision-choice-fieldset{min-width:0;margin:0;padding:0;border:0}.decision-choice-fieldset legend{margin-bottom:9px;color:#1b2e55;font-size:12px;font-weight:800}.decision-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.decision-choice{position:relative;min-height:76px;display:flex!important;align-items:center;gap:12px;padding:13px!important;border:1px solid #cddbf0;border-radius:10px;color:#263a62;background:#fff;cursor:pointer}.decision-choice:hover{border-color:#75a8f2;background:#f7fbff}.decision-choice input{position:absolute;opacity:0;pointer-events:none}.decision-choice>i{width:22px;height:22px;flex:none;border:1.5px solid #b8c8df;border-radius:50%;background:#fff}.decision-choice input:checked+i{border:6px solid #176be5}.decision-choice:has(input:checked){border-color:#176be5;background:#f1f7ff;box-shadow:0 0 0 1px #176be5}.decision-choice>span{display:grid;gap:4px!important}.decision-choice strong{color:#173f82;font-size:11px}.decision-choice small{color:#6c7d98;font-size:9px;line-height:1.35}.approval-workflow-card .hours-decision-form>label{display:grid;gap:7px;color:#1c2f56;font-size:11px;font-weight:750}.approval-workflow-card .hours-decision-form select,.approval-workflow-card .hours-decision-form textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #cbd8e9;border-radius:9px;background:#fff;font:inherit}.approval-workflow-card .decision-note{grid-column:auto}.approval-workflow-card .decision-note textarea{min-height:86px;resize:vertical}.decision-submit-row{display:flex;align-items:center;gap:10px}.decision-submit-row button{min-height:46px;padding:0 18px;border:1px solid #b9cdeb;border-radius:9px;color:#315b98;background:#fff;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.decision-submit-row button[type=submit]{border-color:#075fe4;color:#fff;background:#075fe4;box-shadow:0 7px 16px rgba(7,95,228,.17)}.decision-submit-row button[type=submit]:hover{background:#064fbe}.decision-submit-row small{margin-left:auto;color:#70809a;font-size:9px}.approval-workflow-card [data-hours-decision-message]{margin:0;color:#a52c2c;font-size:11px}
@media(max-width:1000px){.workflow-step-heading{grid-template-columns:54px 1fr}.workflow-tip{grid-column:1/-1}.attendance-workflow-card .attendance-record-body{grid-template-columns:repeat(2,1fr)}.attendance-record-state{grid-column:1/-1}.attendance-record-state,.attendance-record-value{border-bottom:1px solid #e2e9f3}.attendance-inline-actions{grid-column:1/-1}.approval-workflow-card .hours-decision-current{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.attendance-workflow-card,.approval-workflow-card{border-radius:13px}.workflow-step-heading{grid-template-columns:44px 1fr;gap:12px;padding:15px}.workflow-step-number{width:44px;height:44px;font-size:20px}.workflow-step-heading h3,.workflow-step-heading h4{font-size:20px}.workflow-step-heading p,.workflow-tip strong{font-size:13px}.workflow-tip small{font-size:12px}.attendance-toolbar{align-items:stretch;flex-direction:column;padding:13px}.attendance-date-toolbar{grid-template-columns:44px 1fr 44px}.attendance-date-toolbar button{height:44px}.attendance-date-toolbar strong{font-size:14px}.attendance-toolbar-actions{display:grid;grid-template-columns:1fr}.attendance-toolbar-actions button,.attendance-inline-actions button{min-height:44px;font-size:13px}.attendance-workflow-card>.day-type-form{margin:0 13px 12px}.attendance-workflow-card .attendance-record-body{grid-template-columns:1fr 1fr;margin:0 13px 12px}.attendance-record-state{min-height:84px}.attendance-record-value,.attendance-inline-actions{min-height:96px;padding:13px}.attendance-record-value>span,.attendance-inline-actions>span,.attendance-record-state small,.attendance-record-value small,.attendance-inline-actions small{font-size:12px}.attendance-record-value>strong{font-size:20px}.attendance-workflow-card .attendance-record-footer,.attendance-workflow-card .attendance-correction-status,.attendance-workflow-card .attendance-correction-form,.attendance-workflow-card .attendance-audit,.attendance-workflow-card .record-identity,.attendance-workflow-card .rest-day-no-attendance{margin-left:13px;margin-right:13px}.attendance-record-footer>span{font-size:13px}.attendance-audit article{grid-template-columns:1fr 1fr;gap:6px}.attendance-audit article span{order:0;text-align:right}.attendance-audit article p{grid-column:1/-1;font-size:13px}.attendance-audit article small{grid-column:1/-1;font-size:12px}.approval-workflow-card .hours-decision-current{grid-template-columns:1fr 1fr;margin:13px 13px 0}.approval-workflow-card .hours-decision-current>div:not(.hours-decision-current-title){min-height:68px;padding:11px}.approval-workflow-card .hours-decision-current>div span,.hours-decision-current-title small{font-size:12px}.approval-workflow-card .hours-decision-current>div strong,.hours-decision-current-title strong{font-size:14px!important}.approval-workflow-card .hours-decision-form{padding:14px 13px}.decision-choice-grid{grid-template-columns:1fr}.decision-choice{min-height:72px}.decision-choice strong{font-size:14px}.decision-choice small{font-size:12px}.approval-workflow-card .hours-decision-form>label,.decision-choice-fieldset legend{font-size:13px}.approval-workflow-card .hours-decision-form select,.approval-workflow-card .hours-decision-form textarea{font-size:14px}.decision-submit-row{align-items:stretch;flex-direction:column}.decision-submit-row button{width:100%;min-height:48px;font-size:14px}.decision-submit-row small{margin:0;font-size:12px;text-align:center}}
@media(max-width:370px){.personal-declaration-panel .declaration-fields{grid-template-columns:1fr}.employee-timesheet-check-actions{grid-template-columns:1fr}}

/* Manager leave entry and flexible short-shift scheduling. */
.drawer-no-lunch{display:flex!important;align-items:center;grid-template-columns:none!important;gap:9px!important;padding:10px 12px;border:1px solid #d7e1ee;border-radius:8px;background:#f8fbff}.drawer-no-lunch input{width:17px!important;height:17px!important;margin:0}.drawer-no-lunch span{font-size:11px;font-weight:650}.drawer-apply-scope select{width:100%;height:43px;padding:0 10px;border:1px solid #ccd5e1;border-radius:7px;background:#fff;font:inherit}.drawer-change-reason small{color:#69778c;font-size:9px;font-weight:600}.leave-on-behalf-panel{overflow:hidden;border:1px solid #bad1f5;border-radius:12px;background:#f6f9ff}.leave-on-behalf-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;cursor:pointer;list-style:none}.leave-on-behalf-panel>summary::-webkit-details-marker{display:none}.leave-on-behalf-panel>summary span{display:grid;gap:4px}.leave-on-behalf-panel>summary strong{font-size:14px}.leave-on-behalf-panel>summary small{color:#5d6d85;font-size:11px;font-weight:500}.leave-on-behalf-panel>summary b{padding:5px 8px;border-radius:999px;color:#1456ac;background:#e3efff;font-size:10px}.leave-on-behalf-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.8fr) repeat(3,minmax(135px,.65fr));gap:12px;padding:0 17px 17px;border-top:1px solid #dbe7f7}.leave-on-behalf-form label{display:grid;gap:6px;margin-top:14px;color:#2b3b54;font-size:11px;font-weight:700}.leave-on-behalf-form select,.leave-on-behalf-form input,.leave-on-behalf-form textarea{width:100%;min-height:42px;padding:8px 10px;border:1px solid #c9d5e5;border-radius:8px;background:#fff;font:inherit}.leave-on-behalf-note{grid-column:1/-1}.leave-on-behalf-form textarea{min-height:72px;resize:vertical}.leave-on-behalf-form button{justify-self:start;padding:11px 16px;border:0;border-radius:8px;color:#fff;background:#1463df;font:inherit;font-weight:750;cursor:pointer}.leave-on-behalf-form button:disabled{background:#aebcd0}.leave-on-behalf-form p{align-self:center;margin:0;color:#a52c2c;font-size:11px}
@media(max-width:1100px){.leave-on-behalf-form{grid-template-columns:1fr 1fr}.leave-on-behalf-note{grid-column:1/-1}}
@media(max-width:760px){.leave-on-behalf-panel>summary{align-items:flex-start;flex-direction:column}.leave-on-behalf-form{grid-template-columns:1fr}.leave-on-behalf-note{grid-column:auto}.leave-on-behalf-form button{width:100%}}

/* Employee-entered fortnight declaration. These values remain separate from payroll calculations. */
.fortnight-declaration-card{margin:16px 18px 18px;padding:18px;border:1px solid #bad1f5;border-radius:12px;background:#f8fbff}.declaration-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.declaration-heading h3{margin:0;color:#102044;font-size:17px}.declaration-heading p{margin:5px 0 0;color:#64748b;font-size:11px;line-height:1.5}.declaration-heading>span{flex:none;padding:6px 10px;border-radius:999px;color:#225db7;background:#e6efff;font-size:10px;font-weight:800}.declaration-heading>span.is-reviewed{color:#08703a;background:#e6f6eb}.declaration-heading>span.is-returned{color:#a24b00;background:#fff0d9}.declaration-heading>span.is-submitted{color:#684400;background:#fff3ce}.declaration-edit-policy{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding:10px 12px;border:1px solid #bfd1ef;border-radius:9px;color:#31547f;background:#eef5ff;font-size:10px}.declaration-edit-policy strong{font-size:11px}.declaration-edit-policy.is-last{border-color:#efc36a;color:#754500;background:#fff7e5}.declaration-edit-policy.is-exhausted{border-color:#e2b4b0;color:#8e2820;background:#fff0ef}.declaration-edit-policy.is-payroll{border-color:#afe0c2;color:#17613a;background:#edf9f1}.fortnight-declaration-form{margin-top:15px}.declaration-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.declaration-duration{display:grid;gap:6px;padding:11px;border:1px solid #d5e0ef;border-radius:9px;background:#fff}.declaration-duration>span,.declaration-note>span,.declaration-manager-review label>span{color:#41516a;font-size:10px;font-weight:750}.declaration-duration>div{display:grid;grid-template-columns:minmax(42px,1fr) auto minmax(42px,1fr) auto;align-items:center;gap:5px}.declaration-duration input{width:100%;height:38px;padding:0 7px;border:1px solid #c9d5e4;border-radius:7px;color:#0f1d3c;background:#fff;font:inherit;font-size:14px;font-weight:750;text-align:right}.declaration-duration input:disabled{color:#334155;background:#f3f6fa}.declaration-duration b{color:#758399;font-size:10px}.declaration-note{display:grid;gap:7px;margin-top:11px}.declaration-note small{margin-left:5px;color:#8491a4;font-weight:500}.declaration-note textarea,.declaration-manager-review textarea{width:100%;min-height:76px;padding:11px;border:1px solid #c9d5e4;border-radius:9px;background:#fff;resize:vertical;font:inherit;font-size:12px;line-height:1.5}.declaration-note textarea:disabled{color:#475569;background:#f3f6fa}.declaration-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:12px}.declaration-actions button,.declaration-manager-review button{min-height:40px;padding:0 15px;border:1px solid #1463df;border-radius:8px;color:#fff;background:#1463df;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.declaration-actions button.is-secondary{color:#1463df;background:#fff}.declaration-actions button:disabled,.declaration-manager-review button:disabled{opacity:.58;cursor:wait}.fortnight-declaration-form>[data-declaration-message],.declaration-manager-review>[data-declaration-review-message]{min-height:0;margin:8px 0 0;color:#a52c2c;font-size:10px;text-align:right}.declaration-comparison{display:flex;align-items:center;gap:18px;margin-top:14px;padding:11px 13px;border-radius:9px;color:#53637b;background:#eaf2ff;font-size:10px}.declaration-comparison span{display:flex;gap:6px}.declaration-comparison strong{color:#102044}.declaration-comparison>b{margin-left:auto;padding:5px 8px;border-radius:999px;font-size:9px}.declaration-comparison>b.is-match{color:#08703a;background:#dff4e6}.declaration-comparison>b.is-different{color:#9a4b00;background:#ffebc7}.declaration-manager-note{display:grid;gap:5px;margin-top:12px;padding:11px 13px;border-left:3px solid #e39a20;border-radius:7px;background:#fff7e8}.declaration-manager-note strong{font-size:11px}.declaration-manager-note p{margin:0;font-size:11px;line-height:1.5;white-space:pre-wrap}.declaration-manager-note small{color:#69778c;font-size:9px}.declaration-manager-review{display:grid;gap:10px;margin-top:13px;padding-top:13px;border-top:1px solid #d8e3f2}.declaration-manager-review label{display:grid;gap:6px}.declaration-manager-review>div{display:flex;justify-content:flex-end;gap:9px}.declaration-manager-review button.is-return{border-color:#dc2626;color:#dc2626;background:#fff}
@media(max-width:900px){.declaration-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.declaration-comparison{align-items:flex-start;flex-direction:column;gap:7px}.declaration-comparison>b{margin-left:0}}
@media(max-width:760px){.fortnight-declaration-card{margin:12px;padding:14px}.declaration-heading{flex-direction:column}.declaration-fields{grid-template-columns:1fr}.declaration-actions,.declaration-manager-review>div{display:grid;grid-template-columns:1fr}.declaration-actions button,.declaration-manager-review button{width:100%}}

/* Guided personal timesheet flow. All existing data and actions remain available. */
.personal-guide{display:grid;gap:12px;padding:16px;border:1px solid #bdd2f5;border-radius:13px;background:#f7faff}.personal-guide>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.personal-guide>header>div{display:grid;gap:3px}.personal-guide>header strong{font-size:16px}.personal-guide>header span{color:#61718a;font-size:11px}.personal-guide>header>b{padding:5px 8px;border-radius:999px;color:#165bb8;background:#e5efff;font-size:9px}.personal-guide-progress{height:6px;overflow:hidden;border-radius:999px;background:#dfe8f5}.personal-guide-progress i{display:block;height:100%;border-radius:inherit;background:#1766df;transition:width .2s ease}.personal-guide>ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.personal-guide li{display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:center;padding:10px;border:1px solid #dce4ef;border-radius:9px;background:#fff}.personal-guide li>i{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;color:#6e7c91;background:#eef2f7;font-size:11px;font-style:normal;font-weight:850}.personal-guide li>span{display:grid;gap:2px}.personal-guide li strong{font-size:11px}.personal-guide li small{color:#718096;font-size:9px;line-height:1.35}.personal-guide li.is-complete{border-color:#b9e4ca;background:#f3fbf6}.personal-guide li.is-complete>i{color:#087443;background:#dff5e8}.personal-guide li.is-current{border-color:#8eb8f6;box-shadow:0 0 0 2px #e2edff}.personal-guide li.is-current>i{color:#fff;background:#1766df}.personal-guide li.is-locked{opacity:.68}.personal-guide>button{justify-self:end;min-height:42px;padding:0 16px;border:0;border-radius:8px;color:#fff;background:#1766df;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.personal-timesheet-metrics article small{color:#8090a5;font-size:9px}.personal-completed-days{border-top:1px solid #e2e8f1;background:#f8fbff}.personal-completed-days>summary{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;color:#315275;cursor:pointer;list-style:none;font-size:11px;font-weight:750}.personal-completed-days>summary::-webkit-details-marker{display:none}.personal-completed-days>summary b{color:#68778f;font-size:9px}.personal-completed-days[open]>summary{border-bottom:1px solid #e2e8f1}.personal-completed-days .personal-day-list{background:#fff}.personal-attendance-scrim{display:none}.personal-attendance-sheet>header{display:none}.personal-sticky-action{display:none}.declaration-field-group{display:grid;align-content:start;gap:9px;padding:11px;border:1px solid #d5e0ef;border-radius:10px;background:#f8fbff}.declaration-field-group>header{display:grid;gap:3px}.declaration-field-group>header strong{color:#153462;font-size:12px}.declaration-field-group>header small{color:#6d7d94;font-size:9px;line-height:1.35}.declaration-field-group>div{display:grid;gap:8px}.declaration-field-group .declaration-duration{padding:9px}

.employee-timesheet-check-progress{display:grid;grid-template-columns:auto minmax(120px,1fr);gap:14px;align-items:center}.employee-timesheet-check-progress>span{display:grid;gap:2px}.employee-timesheet-check-progress strong{color:#10234a;font-size:11px}.employee-timesheet-check-progress small{color:#6b7890;font-size:9px}.employee-timesheet-check-progress>i{height:6px;overflow:hidden;border-radius:999px;background:#f2dfb9}.employee-timesheet-check-progress>i>b{display:block;height:100%;border-radius:inherit;background:#e58b08}.employee-timesheet-check-list li.is-current{border-color:#efc56e;box-shadow:0 0 0 2px #fff0cf}.employee-timesheet-check-list li.is-current>i{color:#fff;background:#d98208}.employee-timesheet-check-list li.is-locked{opacity:.62}.employee-timesheet-check-list li.is-locked>i{color:#78869b;background:#eef2f6}

@media(max-width:760px){
  .personal-timesheet-page .roster-page-wrap{padding:10px 10px 166px}.personal-timesheet-page .review-heading{padding:2px 3px 4px}.personal-timesheet-page .review-heading h1{font-size:22px}.personal-timesheet-page .review-heading p{display:none}
  .personal-timesheet-heading{grid-template-columns:auto minmax(0,1fr);gap:10px;padding:10px 11px}.personal-timesheet-heading>div>span{font-size:8px}.personal-timesheet-heading p{font-size:9px}.personal-timesheet-heading .workforce-period-control{min-height:40px;grid-template-columns:32px minmax(0,1fr) 32px}.personal-timesheet-heading .workforce-period-control strong{padding:0 4px;font-size:10px}
  .personal-guide{gap:10px;padding:13px}.personal-guide>header strong{font-size:14px}.personal-guide>header span{font-size:10px}.personal-guide>ol{grid-template-columns:1fr;gap:6px}.personal-guide li{min-height:50px;padding:7px 9px}.personal-guide li>i{width:28px;height:28px}.personal-guide li strong{font-size:11px}.personal-guide li small{font-size:9px}.personal-guide>button{width:100%;min-height:45px;font-size:12px}
  .personal-timesheet-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.personal-timesheet-metrics article{gap:2px;padding:9px 10px}.personal-timesheet-metrics strong{font-size:14px}.personal-timesheet-metrics article small{font-size:8px}
  .personal-action-days .personal-day-row:not(.is-selected){background:#fffdf9}.personal-timesheet-footnote{display:none}
  .personal-sticky-action{position:fixed;z-index:950;right:0;bottom:68px;left:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left));border-top:1px solid #d7e2f1;background:rgba(255,255,255,.97);box-shadow:0 -6px 18px rgba(20,43,78,.09);backdrop-filter:blur(12px)}.personal-sticky-action>span{display:grid;gap:2px}.personal-sticky-action strong{font-size:11px}.personal-sticky-action small{overflow:hidden;color:#68778f;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.personal-sticky-action button{min-height:42px;padding:0 13px;border:0;border-radius:8px;color:#fff;background:#1766df;font:inherit;font-size:10px;font-weight:800}
  .personal-attendance-scrim{position:fixed;z-index:1100;inset:0;display:block;background:rgba(10,25,48,.38);backdrop-filter:blur(2px)}.personal-attendance-sheet{position:fixed;z-index:1101;right:0;bottom:0;left:0;max-height:86dvh;overflow:auto;border-radius:18px 18px 0 0;background:#fff;box-shadow:0 -18px 45px rgba(12,30,57,.24);overscroll-behavior:contain}.personal-attendance-sheet>header{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid #e2e8f1;background:#fff}.personal-attendance-sheet>header>div{display:grid;gap:2px}.personal-attendance-sheet>header small{color:#6b7890;font-size:9px;text-transform:uppercase}.personal-attendance-sheet>header strong{font-size:14px}.personal-attendance-sheet>header button{width:34px;height:34px;border:0;border-radius:50%;color:#243650;background:#eef3f9;font-size:22px}.personal-attendance-sheet .attendance-record-panel{margin:0;padding:14px;border:0;border-radius:0;box-shadow:none}.personal-attendance-sheet .attendance-record-panel>h3{display:none}.personal-attendance-sheet .day-type-form{margin:0 0 12px;padding:10px}.personal-attendance-sheet .attendance-record-body{display:grid;grid-template-columns:1fr}.personal-attendance-sheet .attendance-timeline{padding:8px 2px 14px}.personal-attendance-sheet .attendance-metrics{grid-template-columns:repeat(3,minmax(0,1fr));min-height:0}.personal-attendance-sheet .attendance-metrics>div{min-height:72px;padding:8px 4px;border-right:1px solid #e2e7ed;border-bottom:0}.personal-attendance-sheet .attendance-metrics span{font-size:9px}.personal-attendance-sheet .attendance-metrics strong{font-size:12px}.personal-attendance-sheet .attendance-record-footer{gap:10px;margin-top:10px;padding-top:10px}.personal-attendance-sheet .attendance-record-footer>span{font-size:9px}.personal-attendance-sheet .record-identity{display:none}
  .personal-declaration-panel .fortnight-declaration-card{padding:12px}.personal-declaration-panel .declaration-heading{display:none}.personal-declaration-panel .declaration-fields{display:grid;grid-template-columns:1fr;gap:9px}.personal-declaration-panel .declaration-field-group{padding:10px}.personal-declaration-panel .declaration-duration{padding:7px}.personal-declaration-panel .declaration-note textarea{min-height:68px}.personal-declaration-panel .declaration-actions{grid-template-columns:1fr 1fr}
  .personal-timesheet-page .employee-timesheet-check-reminder{grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;margin:0 0 9px;padding:10px 11px;border-left-width:4px}.personal-timesheet-page .employee-timesheet-check-reminder header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-column:1/-1;gap:8px}.personal-timesheet-page .employee-timesheet-check-reminder h2{font-size:13px}.personal-timesheet-page .employee-timesheet-check-reminder header p{font-size:9px}.personal-timesheet-page .employee-timesheet-check-period{align-self:start;font-size:8px}.personal-timesheet-page .employee-timesheet-check-progress,.personal-timesheet-page .employee-timesheet-check-list,.personal-timesheet-page .employee-timesheet-check-actions button[data-timesheet-open],.personal-timesheet-page .employee-timesheet-check-actions button[data-timesheet-confirm],.personal-timesheet-page .employee-timesheet-check-status{display:none}.personal-timesheet-page .employee-timesheet-check-actions{display:flex;grid-column:1/-1}.personal-timesheet-page .employee-timesheet-check-actions button[data-timesheet-report],.personal-timesheet-page .employee-timesheet-check-actions button[data-timesheet-enable-notifications]{min-height:28px;padding:0;border-color:transparent;background:transparent;font-size:9px}.personal-timesheet-page .employee-timesheet-issue-form{grid-column:1/-1}
}

@media(max-width:370px){.personal-timesheet-heading{grid-template-columns:1fr}.personal-declaration-panel .declaration-actions{grid-template-columns:1fr}.personal-sticky-action{grid-template-columns:1fr}.personal-sticky-action>span{display:none}.personal-sticky-action button{width:100%}}

/* Payroll-style timesheet review. The existing edit and approval controls are retained below the overview. */
.combined-workforce-screen{position:relative;gap:16px;background:#fbfdff}.payroll-timesheet-review{display:grid;gap:18px}.payroll-review-header{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:86px;padding:4px 86px 4px 4px}.payroll-review-identity{min-width:270px}.payroll-review-identity h2{margin:0;color:#101b55;font-size:30px;line-height:1.15;letter-spacing:-.035em}.payroll-review-identity p{display:flex;align-items:center;gap:9px;margin:9px 0 0;color:#536aa3;font-size:15px}.payroll-review-identity p>span{color:#9aabc8}.payroll-review-identity p>b{display:inline-flex;align-items:center;margin-left:8px;padding:6px 11px;border-radius:999px;font-size:11px}.payroll-review-identity p>b.is-ready{color:#086d46;background:#dcf8e9;box-shadow:inset 0 0 0 1px #b9eccf}.payroll-review-identity p>b.is-action{color:#a22922;background:#fff0ef;box-shadow:inset 0 0 0 1px #ffc8c4}.payroll-review-actions{display:flex;align-items:center;justify-content:flex-end;gap:11px}.payroll-ot-chip{display:flex;align-items:center;gap:10px;min-width:188px;padding:11px 14px;border:1px solid #ffb7ad;border-radius:11px;color:#c52a1b;background:#fff4f1}.payroll-ot-chip>i{display:grid;width:27px;height:27px;place-items:center;border:2px solid currentColor;border-radius:50%;font-size:0;font-style:normal}.payroll-ot-chip>i:before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translate(-1px,-1px)}.payroll-ot-chip>span{display:grid;gap:2px}.payroll-ot-chip b{font-size:12px}.payroll-ot-chip strong{font-size:13px;white-space:nowrap}.payroll-ot-chip.is-included{color:#075ecb;border-color:#bdd9ff;background:#edf5ff}.payroll-pending-link{display:inline-flex;align-items:center;gap:7px;padding:10px 4px;color:#6077ae;font:inherit;font-size:12px;white-space:nowrap}.payroll-pending-link.has-pending{border:0;color:#c12620;background:transparent;font-weight:800;cursor:pointer}.payroll-pending-link.has-pending>i{width:9px;height:9px;border-radius:50%;background:#e42b26;box-shadow:0 0 0 4px #ffe2df}.payroll-timesheet-settings{position:absolute;z-index:15;top:27px;right:27px}.payroll-timesheet-settings>summary{padding:9px 0;color:#075fe4;cursor:pointer;list-style:none;font-size:13px;font-weight:750}.payroll-timesheet-settings>summary::-webkit-details-marker{display:none}.payroll-timesheet-settings[open]>summary{position:relative;z-index:2;text-align:right}.payroll-timesheet-settings>.combined-toolbar,.payroll-timesheet-settings>.weekly-expected-form,.payroll-timesheet-settings>.weekly-hours-control{width:min(1080px,calc(100vw - 390px));margin:0;padding:13px;border:1px solid #cfdcf0;background:#fff;box-shadow:0 18px 45px rgba(20,43,78,.16)}.payroll-timesheet-settings>.combined-toolbar{position:absolute;top:42px;right:0;grid-template-columns:minmax(230px,1.15fr) repeat(2,minmax(160px,.8fr)) minmax(230px,1.1fr) auto;border-radius:12px 12px 0 0}.payroll-timesheet-settings>.weekly-expected-form,.payroll-timesheet-settings>.weekly-hours-control{position:absolute;top:117px;right:0;border-top:0;border-radius:0 0 12px 12px}.payroll-timesheet-settings .weekly-expected-form small{margin-left:auto}.payroll-paid-summary{display:grid;grid-template-columns:290px minmax(0,1fr);align-items:center;min-height:138px;padding:25px 30px;border:1px solid #d6e2f4;border-radius:13px;background:#fff;box-shadow:0 8px 24px rgba(31,76,135,.035)}.payroll-paid-summary>div:first-child{display:grid;gap:5px;padding-right:30px;border-right:1px solid #d9e3f2}.payroll-paid-summary>div:first-child span{color:#556fa9;font-size:15px}.payroll-paid-summary>div:first-child strong{color:#075fe4;font-size:42px;line-height:1.05;letter-spacing:-.04em}.payroll-paid-summary>div:last-child{display:grid;gap:10px;padding-left:34px}.payroll-paid-summary>div:last-child b{color:#111c55;font-size:20px;line-height:1.3}.payroll-paid-summary>div:last-child span{color:#6075a7;font-size:14px}.payroll-paid-summary>div:last-child i{padding:0 6px;color:#a7b3cb;font-style:normal}.payroll-calendar-card{overflow:hidden;border:1px solid #d6e2f4;border-radius:13px;background:#fff;box-shadow:0 8px 24px rgba(31,76,135,.035)}.payroll-calendar-card>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 23px 15px}.payroll-calendar-card h3{margin:0;color:#111c55;font-size:23px}.payroll-calendar-legend{display:flex;align-items:center;gap:23px;color:#4e639a;font-size:12px}.payroll-calendar-legend span{display:flex;align-items:center;gap:8px}.payroll-calendar-legend i{width:22px;height:22px;border-radius:6px}.payroll-calendar-legend .is-worked{background:#e6f0ff}.payroll-calendar-legend .is-leave{background:#dcf8e8}.payroll-calendar-legend .is-overtime{background:#fff0df}.payroll-calendar-card .combined-fortnight-grid{border:1px solid #dce5f2;border-right:0;border-bottom:0}.payroll-calendar-card .combined-day{min-height:145px;padding:12px 13px}.payroll-calendar-card .combined-day>span{color:#3f5994;font-size:11px}.payroll-calendar-card .combined-roster-line,.payroll-calendar-card .combined-attendance-line{min-height:39px;border-radius:7px;font-size:11px}.payroll-calendar-card .combined-roster-line.is-work,.payroll-calendar-card .combined-roster-line.is-overtime{color:#b52618;background:#fff1df}.payroll-calendar-card .combined-roster-line.is-rest,.payroll-calendar-card .combined-roster-line.is-sick-leave,.payroll-calendar-card .combined-roster-line.is-annual-leave,.payroll-calendar-card .combined-roster-line.is-unpaid-leave,.payroll-calendar-card .combined-roster-line.is-business-trip{color:#08613e;background:#ddf8e9}.payroll-calendar-card .combined-attendance-line{color:#075bd3;background:#e8f1ff}.payroll-day-overtime{width:100%;min-height:34px;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:6px;border:1px solid #ff9f91;border-radius:7px;color:#d6261b;background:#fff5f2;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.payroll-day-overtime i{display:grid;width:16px;height:16px;place-items:center;border:1.5px solid currentColor;border-radius:50%;font-size:0;font-style:normal}.payroll-day-overtime i:before{content:"";width:4px;height:4px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translate(-1px,-1px)}.payroll-calendar-card .pending-day-action{color:#b3261e;border-color:#ffada3;background:#fff0ef}.payroll-secondary-panel{overflow:hidden;border:1px solid #d7e2f1;border-radius:12px;background:#fff}.payroll-secondary-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;cursor:pointer;list-style:none}.payroll-secondary-panel>summary::-webkit-details-marker{display:none}.payroll-secondary-panel>summary>span{display:grid;gap:3px}.payroll-secondary-panel>summary strong{color:#17234b;font-size:14px}.payroll-secondary-panel>summary small{color:#718096;font-size:10px}.payroll-secondary-panel>summary>b{min-width:25px;padding:5px 8px;border-radius:999px;color:#185bbb;background:#eaf2ff;font-size:10px;text-align:center}.payroll-secondary-panel[open]>summary{border-bottom:1px solid #e3e9f1}.payroll-secondary-panel>.fortnight-declaration-card{margin:0;border:0;border-radius:0}.payroll-all-summary>.fortnight-hours-summary{margin:0;border:0;border-radius:0;box-shadow:none}

/* The team total is a readable dashboard, not a wide accounting table. */
.summary-card-view{margin:0;padding:0;border:1px solid #ccddf4;border-radius:14px;background:#fff;box-shadow:0 8px 26px rgba(26,67,123,.05);overflow:hidden}.summary-card-heading{display:grid;grid-template-columns:minmax(220px,1fr) minmax(330px,1.25fr) auto;align-items:center;gap:24px;padding:22px 24px;background:linear-gradient(135deg,#f4f8ff 0%,#fff 72%)}.summary-card-heading>div:first-child{display:grid;gap:4px}.summary-card-heading>div:first-child p{margin:0;color:#1766df;font-size:9px;font-weight:900;letter-spacing:.13em}.summary-card-heading h3{margin:0;color:#101b55;font-size:24px;letter-spacing:-.025em}.summary-card-heading>div:first-child span{color:#6578a4;font-size:11px}.summary-team-total{display:grid;gap:3px;padding-left:24px;border-left:1px solid #d7e2f2}.summary-team-total>span{color:#5f73a3;font-size:11px}.summary-team-total>strong{color:#075fe4;font-size:30px;line-height:1.05}.summary-team-total>small{color:#60739c;font-size:10px}.summary-team-status{display:flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.summary-team-status.is-ready{color:#08714a;background:#dcf8e9}.summary-team-status.has-pending{color:#b42318;background:#fff0ef;box-shadow:inset 0 0 0 1px #ffc8c4}.summary-team-status.has-pending i,.employee-summary-card header button i{width:8px;height:8px;border-radius:50%;background:#e42b26;box-shadow:0 0 0 3px #ffe0dd}.summary-basis{margin:0;padding:11px 24px;border-top:1px solid #e1e9f4;border-bottom:1px solid #e1e9f4;color:#6a7a96;background:#fbfdff;font-size:10px;line-height:1.45}.employee-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}.employee-summary-card{display:grid;grid-template-columns:minmax(155px,.72fr) minmax(260px,1.15fr);gap:12px 18px;padding:16px;border:1px solid #dce5f2;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(20,55,100,.035)}.employee-summary-card.is-active{border-color:#679cf0;box-shadow:0 0 0 2px #e0edff}.employee-summary-card.has-pending{border-color:#f2b1ab;background:linear-gradient(135deg,#fff 0%,#fffafa 100%)}.employee-summary-card>header{grid-column:1/-1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.employee-summary-card>header>div{min-width:0;display:grid;gap:4px}.employee-summary-card>header strong{overflow:hidden;color:#15254d;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.employee-summary-card>header span{overflow:hidden;color:#75839a;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.employee-summary-card>header>b,.employee-summary-card>header>button{display:flex;align-items:center;gap:7px;padding:6px 9px;border:0;border-radius:999px;color:#08714a;background:#e2f8ed;font:inherit;font-size:9px;font-weight:850;white-space:nowrap}.employee-summary-card>header>button{color:#b42318;background:#fff0ef;cursor:pointer}.employee-summary-paid{display:grid;align-content:center;gap:4px;padding-right:17px;border-right:1px solid #e0e7f1}.employee-summary-paid>span{color:#6174a0;font-size:9px}.employee-summary-paid>strong{color:#075fe4;font-size:26px;letter-spacing:-.025em}.employee-summary-paid>small{color:#6d7c96;font-size:8px;line-height:1.35}.employee-summary-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}.employee-summary-card dl>div{display:grid;gap:2px;padding:8px;border-radius:8px;background:#f5f8fc}.employee-summary-card dt{color:#71819a;font-size:8px}.employee-summary-card dd{margin:0;color:#17284f;font-size:11px;font-weight:800}.employee-summary-card dl>div.is-alert{background:#fff1ef}.employee-summary-card dl>div.is-alert dd{color:#c12a20}.employee-summary-open{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;min-height:36px;padding:0 12px;border:1px solid #bcd3f5;border-radius:8px;color:#075fe4;background:#f7faff;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.employee-summary-open:hover,.employee-summary-open:focus-visible{border-color:#1766df;background:#edf5ff;outline:0}.summary-card-empty{grid-column:1/-1;margin:0;padding:32px;color:#718096;text-align:center}

@media(max-width:1400px){.payroll-review-header{align-items:flex-start;flex-direction:column}.payroll-review-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.payroll-paid-summary{grid-template-columns:230px minmax(0,1fr)}.payroll-paid-summary>div:last-child b{font-size:17px}.payroll-timesheet-settings>.combined-toolbar,.payroll-timesheet-settings>.weekly-expected-form,.payroll-timesheet-settings>.weekly-hours-control{width:min(900px,calc(100vw - 330px))}.employee-summary-grid{grid-template-columns:1fr}}
@media(max-width:760px){.combined-workforce-screen{padding:12px 10px}.payroll-timesheet-review{gap:12px}.payroll-timesheet-settings{position:static;order:-1}.payroll-timesheet-settings>summary{width:100%;padding:10px 12px;border:1px solid #d6e2f2;border-radius:9px;background:#fff;text-align:center}.payroll-timesheet-settings[open]>summary{text-align:center}.payroll-timesheet-settings>.combined-toolbar,.payroll-timesheet-settings>.weekly-expected-form,.payroll-timesheet-settings>.weekly-hours-control{position:static;width:100%;margin-top:7px;box-shadow:none}.payroll-timesheet-settings>.combined-toolbar{grid-template-columns:1fr;border-radius:10px}.payroll-timesheet-settings>.weekly-expected-form,.payroll-timesheet-settings>.weekly-hours-control{border:1px solid #cfdcf0;border-radius:10px}.payroll-review-header{min-height:0;padding:5px 2px}.payroll-review-identity{min-width:0}.payroll-review-identity h2{font-size:24px}.payroll-review-identity p{align-items:flex-start;flex-wrap:wrap;font-size:12px}.payroll-review-identity p>b{margin-left:0}.payroll-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.payroll-ot-chip{min-width:0;padding:9px}.payroll-ot-chip>i{width:22px;height:22px}.payroll-ot-chip b{font-size:10px}.payroll-ot-chip strong{font-size:9px;white-space:normal}.payroll-pending-link{grid-column:1/-1;justify-content:center;padding:8px}.payroll-paid-summary{grid-template-columns:1fr;min-height:0;padding:17px}.payroll-paid-summary>div:first-child{padding:0 0 14px;border-right:0;border-bottom:1px solid #d9e3f2}.payroll-paid-summary>div:first-child strong{font-size:34px}.payroll-paid-summary>div:last-child{gap:7px;padding:14px 0 0}.payroll-paid-summary>div:last-child b{font-size:15px}.payroll-paid-summary>div:last-child span{font-size:11px}.payroll-calendar-card>header{align-items:flex-start;flex-direction:column;padding:16px 14px 12px}.payroll-calendar-card h3{font-size:20px}.payroll-calendar-legend{gap:13px;font-size:9px}.payroll-calendar-legend i{width:16px;height:16px}.payroll-calendar-card .combined-fortnight-grid{grid-template-columns:1fr}.payroll-calendar-card .combined-day,.payroll-calendar-card .combined-day:nth-child(7n),.payroll-calendar-card .combined-day:nth-child(4n){min-height:0;display:grid;grid-template-columns:76px 1fr;gap:6px;padding:9px;border-right:0;border-bottom:1px solid #dfe5ec}.payroll-calendar-card .combined-day>span{grid-row:1/6;align-self:center;margin:0;white-space:normal}.payroll-calendar-card .combined-roster-line,.payroll-calendar-card .combined-attendance-line,.payroll-day-overtime,.payroll-calendar-card .pending-day-action{min-height:36px;margin-top:0}.payroll-secondary-panel>summary{padding:13px}.payroll-secondary-panel>.fortnight-declaration-card{padding:12px}.summary-card-heading{grid-template-columns:1fr;gap:14px;padding:17px}.summary-card-heading h3{font-size:21px}.summary-team-total{padding:13px 0 0;border-top:1px solid #d7e2f2;border-left:0}.summary-team-status{width:max-content}.summary-basis{padding:10px 16px}.employee-summary-grid{grid-template-columns:1fr;padding:10px}.employee-summary-card{grid-template-columns:1fr;padding:13px}.employee-summary-paid{padding:0 0 11px;border-right:0;border-bottom:1px solid #e0e7f1}.employee-summary-card dl{grid-template-columns:repeat(4,minmax(0,1fr))}.employee-summary-card dt{font-size:7px}.employee-summary-card dd{font-size:9px}}

/* Approval actions use verb-first labels and full-size targets so they cannot be mistaken for status pills. */
.approval-review-progress{display:block;margin:0 0 5px;color:#075fe4;font-size:12px;font-weight:850;letter-spacing:.02em}.summary-team-status.has-pending{min-height:52px;border:0;border-radius:12px;padding:10px 14px;color:#fff;background:#075fe4;box-shadow:0 8px 20px rgba(7,95,228,.2);font:inherit;cursor:pointer}.summary-team-status.has-pending:hover,.summary-team-status.has-pending:focus-visible{background:#064fbe;outline:3px solid #bdd8ff;outline-offset:2px}.summary-team-status.has-pending>span{display:grid;gap:2px;text-align:left}.summary-team-status.has-pending>span>strong{font-size:11px}.summary-team-status.has-pending>span>small{color:#e8f1ff;font-size:10px;font-weight:750}.summary-team-status.has-pending i{background:#ff3b30;box-shadow:0 0 0 4px rgba(255,255,255,.82)}.employee-summary-card>header>button{min-height:44px;border:1px solid #8fbdff;border-radius:10px;padding:7px 11px;color:#0757ca;background:#edf5ff;box-shadow:0 4px 12px rgba(7,95,228,.08)}.employee-summary-card>header>button:hover,.employee-summary-card>header>button:focus-visible{border-color:#075fe4;background:#dfeeff;outline:2px solid #bdd8ff;outline-offset:2px}.employee-summary-card>header>button>span{display:grid;gap:2px;color:inherit;text-align:left}.employee-summary-card>header>button>span>strong{font-size:10px}.employee-summary-card>header>button>span>small{color:#b42318;font-size:8px;font-weight:800}.payroll-pending-link.has-pending{min-height:48px;border:0;border-radius:10px;padding:9px 14px;color:#fff;background:#075fe4;box-shadow:0 7px 18px rgba(7,95,228,.18)}.payroll-pending-link.has-pending:hover,.payroll-pending-link.has-pending:focus-visible{background:#064fbe;outline:3px solid #bdd8ff;outline-offset:2px}.payroll-pending-link.has-pending>i{background:#ff3b30;box-shadow:0 0 0 4px rgba(255,255,255,.82)}.payroll-pending-link.has-pending>span{display:grid;gap:2px;text-align:left}.payroll-pending-link.has-pending strong{font-size:11px}.payroll-pending-link.has-pending small{color:#e8f1ff;font-size:9px;font-weight:700}.hours-decision-form button[type="submit"]{min-height:46px;padding:11px 18px}.hours-review{scroll-margin-top:90px}.attention-flash.hours-review{animation:approval-attention 1.5s ease}@keyframes approval-attention{0%,100%{box-shadow:none}35%{box-shadow:0 0 0 5px rgba(7,95,228,.2)}}
@media(max-width:760px){.summary-team-status.has-pending{width:100%;justify-content:center}.employee-summary-card>header{align-items:stretch;flex-direction:column}.employee-summary-card>header>button{width:100%;justify-content:center}.payroll-pending-link.has-pending{width:100%;justify-content:center;min-height:52px}.payroll-pending-link.has-pending>span{text-align:center}.approval-review-progress{font-size:13px}.hours-review-heading h4{font-size:18px}.hours-review-heading p{font-size:13px}.hours-decision-form button[type="submit"]{width:100%;min-height:48px;justify-self:stretch}.employee-summary-open{min-height:44px}}
.declaration-approval-stage{display:grid;grid-template-columns:minmax(260px,1fr) minmax(360px,1.35fr);align-items:center;gap:22px;margin:14px 0;padding:15px 17px;border:1px solid #cddcf2;border-radius:11px;background:#f8fbff}.declaration-approval-stage>div{display:flex;align-items:center;gap:11px}.declaration-approval-stage>div>i{width:12px;height:12px;flex:none;border-radius:50%;background:#e5a300;box-shadow:0 0 0 5px #fff0c7}.declaration-approval-stage.is-step-4>div>i{background:#16a36a;box-shadow:0 0 0 5px #d9f7e9}.declaration-approval-stage>div>span{display:grid;gap:3px}.declaration-approval-stage>div strong{color:#17234b;font-size:13px}.declaration-approval-stage>div small{color:#65728a;font-size:10px;line-height:1.35}.declaration-approval-stage ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;padding:0;list-style:none}.declaration-approval-stage li{position:relative;padding:9px 8px;border:1px solid #dbe4f1;border-radius:8px;color:#7b879a;background:#fff;font-size:9px;font-weight:750;text-align:center}.declaration-approval-stage li.is-current{color:#8a5200;border-color:#efc36a;background:#fff7e5}.declaration-approval-stage li.is-complete{color:#086745;border-color:#a9e2c7;background:#e9faf2}.declaration-auto-sync{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:12px 0;padding:11px 14px;border:1px solid #a9e2c7;border-radius:9px;color:#086745;background:#eefbf5}.declaration-auto-sync strong{font-size:11px}.declaration-auto-sync span{color:#34735b;font-size:9px;text-align:right}.fortnight-declaration-form .declaration-duration input:disabled{color:#14213d;background:#f4f7fb;opacity:1}.fortnight-declaration-form .declaration-field-group header small{line-height:1.35}
@media(max-width:760px){.declaration-approval-stage{grid-template-columns:1fr;gap:12px;padding:13px}.declaration-approval-stage ol{grid-template-columns:1fr}.declaration-auto-sync{align-items:flex-start;flex-direction:column;gap:5px}.declaration-auto-sync span{text-align:left}}

/* Mobile timesheet: task-first, readable and tap-safe on a 390px viewport. */
@media(max-width:760px){
  .personal-timesheet-screen{gap:10px;font-size:14px}.personal-timesheet-heading>div>span,.personal-timesheet-heading p{font-size:13px}
  .personal-guide>header strong{font-size:17px}.personal-guide>header span{font-size:13px;line-height:1.4}.personal-guide>header>b{font-size:12px}
  .personal-guide>ol{display:none}.personal-guide>button{min-height:48px;font-size:14px}
  .personal-timesheet-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.personal-timesheet-metrics article:nth-child(4){display:none}
  .personal-timesheet-metrics span,.personal-timesheet-metrics article small{font-size:12px}.personal-timesheet-metrics strong{font-size:17px}
  .personal-timesheet-action>summary{min-height:58px}.personal-timesheet-action>summary strong{font-size:15px}.personal-timesheet-action>summary small,.personal-timesheet-action>summary>b{font-size:12px}
  .personal-day-row{grid-template-columns:82px 1fr 1fr}.personal-day-row>span:first-child,.personal-day-row small,.personal-day-row strong{font-size:13px}
  .personal-day-row button,.personal-not-required{min-height:48px}.personal-completed-days>summary,.personal-future-days>summary,.personal-completed-days>summary b,.personal-future-days>summary b{min-height:44px;font-size:13px}
  .personal-sticky-action{bottom:70px}.personal-sticky-action strong,.personal-sticky-action small,.personal-sticky-action button{font-size:13px}.personal-sticky-action button{min-height:48px}
  .personal-declaration-panel label,.personal-declaration-panel input,.personal-declaration-panel textarea,.personal-declaration-panel button,.personal-declaration-panel select{font-size:14px}.personal-declaration-panel button{min-height:44px}
}

/* Keep the redesigned task cards intact inside the employee mobile bottom sheet. */
.personal-attendance-sheet .attendance-workflow-card{margin:0;padding:0;border:0;border-radius:0;box-shadow:none}.personal-attendance-sheet .workflow-step-heading{display:grid}.personal-attendance-sheet .attendance-record-body{margin:0 13px 12px}.personal-attendance-sheet .attendance-record-footer{margin:0 13px 12px;padding:12px}.personal-attendance-sheet .record-identity{display:none}
@media(max-width:760px){.personal-attendance-sheet .workflow-step-heading{grid-template-columns:40px 1fr;padding:12px}.personal-attendance-sheet .workflow-step-number{width:40px;height:40px}.personal-attendance-sheet .workflow-tip{display:none}.personal-attendance-sheet .attendance-record-body{grid-template-columns:1fr 1fr}.personal-attendance-sheet .attendance-record-state{grid-column:1/-1}.personal-attendance-sheet .attendance-inline-actions{grid-column:1/-1}.personal-attendance-sheet .attendance-record-footer>span{font-size:13px}}
.manager-edit-deadline{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 0 16px;padding:14px 16px;border:1px solid #f2c86f;border-radius:14px;color:#7a4700;background:#fff8e8;box-shadow:0 5px 18px rgba(120,74,0,.07)}.manager-edit-deadline>span{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;color:#9a5a00;background:#ffe8b5;font-size:22px;font-weight:900}.manager-edit-deadline>div{display:grid;gap:3px}.manager-edit-deadline strong{font-size:15px}.manager-edit-deadline p{margin:0;color:#8a5b18;font-size:13px;line-height:1.45}.manager-edit-deadline time{min-width:84px;padding:9px 12px;border-radius:999px;text-align:center;color:#fff;background:#d97706;font-size:13px;font-weight:900}.manager-edit-deadline.is-closed{border-color:#d7dee9;color:#40516b;background:#f5f7fa;box-shadow:none}.manager-edit-deadline.is-closed>span{color:#58677e;background:#e7ebf1}.manager-edit-deadline.is-closed p{color:#65748a}.manager-edit-deadline.is-closed time{background:#68778d}@media(max-width:640px){.manager-edit-deadline{grid-template-columns:38px 1fr;padding:12px}.manager-edit-deadline>span{width:38px;height:38px}.manager-edit-deadline time{grid-column:2;justify-self:start;padding:6px 10px}}
.personal-guide li{padding:0}.personal-guide li>button{display:grid;width:100%;min-height:50px;grid-template-columns:30px 1fr;gap:8px;align-items:center;padding:10px;border:0;border-radius:inherit;color:inherit;background:transparent;font:inherit;text-align:left;cursor:pointer}.personal-guide li>button>i{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;color:#6e7c91;background:#eef2f7;font-size:11px;font-style:normal;font-weight:850}.personal-guide li>button>span{display:grid;gap:2px}.personal-guide li.is-complete>button>i{color:#087443;background:#dff5e8}.personal-guide li>button:focus-visible{outline:3px solid #8eb8f6;outline-offset:2px}.personal-action-heading{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid #e2e8f1}.personal-action-heading>span{display:grid;gap:3px}.personal-action-heading strong{font-size:15px}.personal-action-heading small{color:#6b7890;font-size:12px}.personal-action-heading>b{padding:5px 8px;border-radius:999px;color:#087443;background:#e5f7ed;font-size:12px}.personal-action-heading>b:not(:only-child){white-space:nowrap}@media(max-width:640px){.personal-guide li>button{grid-template-columns:28px 1fr;padding:8px 9px}.personal-guide li>button>i{width:28px;height:28px}.personal-action-heading{padding:13px 14px}.personal-action-heading small{font-size:11px}}
.summary-scope-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 16px;border-bottom:1px solid #dce7f5;background:#f6f9fe}.summary-scope-switch button{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-areas:"title count" "detail count";align-items:center;gap:3px 12px;min-height:66px;padding:12px 16px;border:1px solid #c9d9ef;border-radius:11px;color:#31466d;background:#fff;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.summary-scope-switch button:hover,.summary-scope-switch button:focus-visible{border-color:#1766df;outline:0;box-shadow:0 0 0 3px #dceaff}.summary-scope-switch button.is-active{border-color:#1766df;color:#0a4fb9;background:#edf5ff;box-shadow:inset 0 0 0 1px #1766df}.summary-scope-switch span{grid-area:title;font-size:14px;font-weight:850}.summary-scope-switch small{grid-area:detail;color:#71819a;font-size:10px}.summary-scope-switch b{grid-area:count;display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border-radius:999px;color:#fff;background:#1766df;font-size:13px}.summary-scope-switch button:first-child b{background:#e42b26}.summary-scope-switch button:first-child:not(.is-active){border-color:#f1c3bf;background:#fffafa}@media(max-width:760px){.summary-scope-switch{grid-template-columns:1fr;padding:10px}.summary-scope-switch button{min-height:58px;padding:10px 13px}.summary-scope-switch span{font-size:13px}.summary-scope-switch small{font-size:9px}}
