:root{--bg:#f4f6f7;--panel:#fff;--soft:#f7faf8;--line:#d9e0dc;--text:#18211d;--muted:#68716d;--primary:#147142;--primary-dark:#0d5730;--primary-soft:#e6f4ec;--warning:#f5e8bf;--shadow:0 1px 2px rgba(12,20,16,.04),0 18px 44px rgba(12,20,16,.08);--canvas:#101415;--canvas-2:#151a1b;--canvas-3:#1c2223;--canvas-line:#283033;--surface:#fff;--surface-2:#fbfcfb;--surface-3:#f2f5f3;--focus-ring:rgba(20,113,66,.22)}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Noto Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);padding:10px 12px}textarea{min-height:92px;resize:vertical}.loginPage{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(180deg,rgba(226,243,234,.8),rgba(246,247,249,.9)),var(--bg)}.loginPanel{width:min(440px,100%);border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:32px}.brandIcon,.brandMark{display:inline-grid;place-items:center;border-radius:8px;background:var(--primary);color:#fff;font-weight:800}.brandMark{width:48px;height:48px;margin-bottom:16px}.loginPanel h1{margin:0 0 8px;font-size:24px}.loginPanel p,.muted{color:var(--muted)}.formGrid,.loginForm,.stack{display:grid;gap:16px}.loginForm{margin-top:24px}.formGrid label,.loginForm label{display:grid;gap:8px}.formGrid label span,.loginForm label span{font-size:13px;font-weight:700}.passwordField{position:relative}.passwordField input{padding-right:76px}.loginForm .passwordToggle{position:absolute;top:50%;right:8px;min-width:56px;border-radius:6px;background:var(--primary-soft);color:var(--primary-dark);font-size:12px;font-weight:800;padding:6px 8px;transform:translateY(-50%)}.loginForm button,.primaryButton,.requestForm button{color:#fff;padding:12px 16px}.formMessage{margin:18px 0 0;color:var(--primary-dark);font-weight:700}.formMessage.error{color:#9f2f2f}.formMessage.success{color:var(--primary-dark)}.loginSupport{display:flex;justify-content:center;margin-top:18px}.linkButton,.textLink{background:transparent;color:var(--primary-dark);font-weight:800;text-decoration:underline;text-underline-offset:3px}.linkButton{padding:0}.appHeader{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:16px;border-bottom:1px solid var(--line);background:hsla(0,0%,100%,.96);padding:12px 24px;backdrop-filter:blur(8px)}.appHeader,.brand{align-items:center}.brand{display:flex;min-width:0;gap:12px}.brandIcon{width:40px;height:40px;flex:0 0 auto}.brand small,.brand strong{display:block}.brand small{color:var(--muted);font-size:12px}.actionRow,.inlineActions,.navTabs,.userBox{display:flex;align-items:center;gap:8px}.navTabs{overflow-x:auto}.ghostButton,.navTabs a,.pill{border-radius:8px;padding:8px 10px;white-space:nowrap}.navTabs a{color:var(--muted);font-weight:700}.navTabs a.active{background:var(--primary);color:#fff}.userBox{justify-content:flex-end}.pill{background:var(--warning);color:#5c4310;font-size:12px;font-weight:800}.ghostButton{border:1px solid var(--line);background:#fff;color:var(--text)}.sidebarBackdrop,.sidebarToggle{display:none}.appLayout{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;height:100dvh;flex-direction:column;justify-content:space-between;gap:20px;border-right:1px solid var(--line);background:hsla(0,0%,100%,.96);padding:20px 16px;overflow-y:auto;backdrop-filter:blur(8px)}.sideNav,.sideNavGroup,.sidebarFooter,.sidebarProfile,.sidebarTop{display:grid}.sidebarTop{gap:18px;min-width:0}.sidebarProfile{gap:14px;min-width:0}.sidebarName{display:block;min-width:0;font-size:18px;overflow-wrap:anywhere}.sidebarBrand{align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:16px}.sideNav,.sideNavGroup{gap:6px}.sideNav a{border-radius:8px;color:var(--muted);padding:10px 12px}.sideNav a.active{background:var(--primary);color:#fff}.sideNavGroup{border-top:1px solid var(--line);margin-top:8px;padding-top:12px}.sideNavLabel{color:var(--muted);font-size:12px;font-weight:800;padding:0 12px 2px}.sidebarFooter{gap:10px}.rolePill,.sidebarLogout{display:inline-flex;align-items:center;width:100%;justify-content:center;text-align:center}.pageShell{width:min(1180px,100%);margin:0 auto;padding:28px 20px 48px}.appMain{min-width:0}.heroBand,.panel,.summary{border:1px solid var(--line);border-radius:10px;background:var(--panel)}.heroBand{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px}.heroBand h1,.panel h1,.panel h2{margin:0 0 10px}.eyebrow{margin:0 0 8px;color:var(--primary);font-size:13px;font-weight:800}.secondaryButton{border:1px solid var(--primary);border-radius:8px;background:var(--primary-soft);color:var(--primary-dark);font-weight:800;padding:12px 16px}.gridTwo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.panel{min-width:0;padding:20px}.panelHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.panelHeader .primaryButton{flex:0 0 auto}.compactHeader{margin-bottom:8px}.compactHeader h2{margin-bottom:4px}.segmentedControl{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:8px;background:#f2f5f3;padding:4px}.segmentedControl button{min-height:34px;border-radius:6px;background:transparent;color:var(--muted);font-weight:800;padding:7px 12px;white-space:nowrap}.segmentedControl button.active{background:#fff;box-shadow:0 1px 3px rgba(21,41,31,.12)}.filterBar{display:flex;align-items:end;flex-wrap:wrap;gap:10px}.filterBar label{display:grid;gap:6px;min-width:150px}.filterBar label span{color:var(--muted);font-size:12px;font-weight:800}.statusButton{display:inline-flex;min-width:136px;align-items:center;justify-content:center;gap:8px;transition:background .16s ease,box-shadow .16s ease,transform .16s ease}.statusButton:disabled{opacity:1}.statusButton[data-state=saving]{background:#b7791f;color:#fff;box-shadow:0 10px 22px rgba(183,121,31,.22)}.statusButton[data-state=saved]{background:#208a4d;color:#fff;box-shadow:0 10px 22px rgba(32,138,77,.24);transform:translateY(-1px)}.buttonSpinner{width:14px;height:14px;border:2px solid hsla(0,0%,100%,.45);border-top-color:#fff;border-radius:999px;animation:spin .72s linear infinite}.toast{position:fixed;top:82px;right:20px;z-index:40;display:grid;max-width:min(360px,calc(100vw - 32px));gap:2px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 18px 42px rgba(21,41,31,.16);padding:14px 16px;animation:toastIn .18s ease-out}.toast strong{font-size:14px}.toast span{color:var(--muted);font-size:12px}.toast[data-state=saving]{border-color:#e5b94f;background:#fff8e6}.toast[data-state=requested],.toast[data-state=saved]{border-color:#8fd1ad;background:#f0fbf5}.toast[data-state=error]{border-color:#f0b5b5;background:#fff0f0}@keyframes spin{to{transform:rotate(1turn)}}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.metrics div,.summary{background:var(--soft);padding:16px}.metrics dt,.summary span{font-weight:700}.metrics dd,.summary strong{display:block;margin:6px 0 0;font-size:22px;font-weight:800}.requestForm{display:grid;grid-template-columns:150px 130px minmax(220px,1fr) 110px;gap:10px;margin:14px 0}.expenseForm{display:grid;gap:14px}.expenseLine,.expenseLines{display:grid;gap:10px}.expenseLine{grid-template-columns:minmax(110px,150px) minmax(180px,1fr) auto auto;align-items:end;border:1px solid var(--line);border-radius:8px;background:#f8faf8;padding:10px}.expenseLine label{display:grid;gap:6px}.expenseLine label span,.lineNumber{font-size:12px;font-weight:800}.lineNumber{min-width:28px;padding-bottom:10px;text-align:right}.correctionForm{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.correctionForm label{display:grid;gap:8px}.correctionForm label span{font-size:13px;font-weight:700}.wideField{grid-column:span 2}.fullField{grid-column:1/-1}.correctionMessage{margin:14px 0 0;border-radius:8px;padding:10px 12px;font-weight:800}.correctionMessage[data-state=saved]{background:#f0fbf5;color:#16623b}.correctionMessage[data-state=requested]{background:#fff8e6;color:#7a4f12}.correctionMessage[data-state=error]{background:#fff0f0;color:#8a1f1f}.summaryGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.hourlyRateGrid{margin-top:16px}.hourlyRateNote{margin-top:14px}.tableWrap{width:100%;overflow-x:auto}table{width:100%;min-width:1160px;border-collapse:collapse}td,th{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;vertical-align:middle}th{color:var(--muted);font-weight:800}tbody tr:hover{background:#fbfcfb}td button{border:1px solid var(--line);border-radius:7px;background:#fff;padding:7px 10px}td input,td select{min-width:92px}td input:disabled{background:#f3f5f3;color:var(--muted);cursor:not-allowed}.settingsTable .tableWrap{border:1px solid var(--line);border-radius:8px}.settingsTable table{min-width:940px}.settingsTable th{background:#f8faf8}.settingsTable td:first-child,.settingsTable th:first-child{min-width:140px;font-weight:800}.staffSettingsTable table{min-width:1880px}.staffSettingsCards{display:grid;gap:8px}.staffSettingsRow{border:1px solid var(--line);border-radius:8px;background:#fbfcfb;overflow:hidden}.staffSettingsRow[open]{background:#fff}.staffSettingsRowSummary{display:grid;grid-template-columns:minmax(120px,.85fr) minmax(152px,1.05fr) minmax(112px,.8fr) minmax(92px,.65fr) minmax(112px,.8fr) minmax(88px,.55fr) minmax(224px,1.3fr) 92px;align-items:end;gap:8px;list-style:none;cursor:pointer;padding:10px 12px}.staffSettingsRowSummary::-webkit-details-marker{display:none}.staffSettingsPerson{align-self:center;min-width:0}.staffSettingsPerson h3,.staffSettingsPerson p{margin:0}.staffSettingsPerson h3{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staffSettingsPerson p{margin-top:2px;color:var(--muted);font-size:12px;font-weight:800}.staffSettingsSummaryField{min-width:0}.staffSettingsSummaryField input,.staffSettingsSummaryField select{min-height:38px;padding:8px 9px;font-size:14px}.staffSettingsSummaryField .accountStaticValue{min-height:38px;padding:8px 9px}.staffSettingsLeaveSummary{display:grid;grid-template-columns:minmax(150px,1fr) minmax(68px,76px);gap:6px;min-width:0}.staffSettingsAccordionLabel{align-self:center;justify-self:end;color:var(--primary-dark);font-size:13px;font-weight:900;white-space:nowrap}.staffSettingsAccordionLabel:after{content:"v";display:inline-block;margin-left:6px}.staffSettingsRow[open] .staffSettingsAccordionLabel:after{transform:rotate(180deg)}.staffSettingsRowDetail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-top:1px solid var(--line);padding:12px}.staffSettingsGroup{display:grid;gap:8px;min-width:0}.staffSettingsGroup h4{margin:0;color:var(--muted);font-size:12px;font-weight:800}.staffSettingsGroupAccount,.staffSettingsGroupPersonal{grid-column:1/-1}.staffSettingsFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.staffSettingsGroupTime .staffSettingsFields{grid-template-columns:repeat(3,minmax(0,1fr))}.staffSettingsOtherFields{grid-template-columns:repeat(2,minmax(0,1fr))}.staffSettingsCheckbox{align-content:end}.staffSettingsToggle{display:inline-flex;align-items:center;gap:8px;min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:9px 10px;color:var(--text);font-weight:800}.staffSettingsToggle input{width:18px;height:18px;min-width:0}.tableCheckbox{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-weight:800;white-space:nowrap}.tableCheckbox input{min-width:0;width:auto}.accountForm{border:1px solid var(--line);border-radius:8px;background:#f8faf8;padding:16px}.accountForm,.accountStack{display:grid;gap:16px}.accountListPanel{border:1px solid var(--line);border-radius:8px;background:#fff;padding:16px}.compactMessage{grid-column:1/-1;font-size:12px}.accountListCards{display:grid;gap:14px}.accountDirectoryList{display:grid;gap:8px}.accountDirectoryRow{display:flex;align-items:center;justify-content:space-between;padding:12px}.accountCard,.accountDirectoryRow{gap:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcfb}.accountCard{display:grid;padding:16px}.accountCardHeader{display:flex;align-items:start;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding-bottom:12px}.accountCardIdentity{min-width:0}.accountCardIdentity h3{margin:0;font-size:18px}.accountCardIdentity p{margin:4px 0 0;color:var(--muted);font-size:13px;font-weight:700;overflow-wrap:anywhere}.accountBadgeRow{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.accountBadge{border-radius:999px;background:#eaf4ee;color:var(--primary-dark);font-size:12px;font-weight:800;padding:7px 10px;white-space:nowrap}.accountBadge.secondary{background:#fff4c7;color:#6b4b00}.accountCardSection{display:grid;gap:10px}.accountCardSection h4{margin:0;color:var(--muted);font-size:12px;font-weight:800}.accountControlGrid,.accountInfoGrid{display:grid;gap:10px}.accountControlGrid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end}.accountInfoGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.accountDependent{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;background:#f8faf8;padding:10px}.accountDependent h5{margin:0;font-size:13px;font-weight:800}.accountField,.accountInfoItem{display:grid;gap:6px;min-width:0}.accountField>span,.accountInfoItem span{color:var(--muted);font-size:12px;font-weight:800}.accountField input,.accountField select{width:100%;min-width:0}.accountInfoItem strong,.accountStaticValue{display:block;min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 12px;color:var(--text);font-size:14px;font-weight:800;line-height:1.45;overflow-wrap:anywhere}.accountStaticValue{color:var(--muted)}.accountInfoItem.wide{grid-column:span 2}.accountPasswordForm{display:grid;grid-template-columns:minmax(220px,360px) auto;align-items:start;gap:8px}.accountPasswordForm .statusButton{min-width:104px;min-height:42px;padding:10px 12px}.accountEmptyState{border:1px dashed var(--line);border-radius:8px;background:#fbfcfb;color:var(--muted);font-weight:800;padding:18px;text-align:center}.categoryForm{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px;margin-bottom:14px}.categoryChips{display:flex;flex-wrap:wrap;gap:8px}.categoryChip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;background:#f8faf8;padding:6px 8px 6px 12px;font-weight:800}.chipRemoveButton{border:0;border-radius:999px;background:#e6eee8;color:var(--primary-dark);cursor:pointer;font-weight:800;padding:5px 8px}.chipRemoveButton:disabled{cursor:not-allowed;opacity:.45}.developerBootstrapForm{background:#fffaf0}.accountGrid,.tenantProfileGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.personalProfileGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.dependentCards{display:grid;gap:12px}.dependentCard{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;background:#f8faf8;padding:12px}.dependentCardHeader{display:flex;align-items:center;justify-content:space-between;gap:10px}.dependentCardHeader strong{font-size:13px;font-weight:800}.spouseCard{border-color:#c9ddd0;background:#f6fbf7}.dependentCardHeader .muted,.dependentDetailsNote{margin:4px 0 0;font-size:12px;line-height:1.6}.dependentGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.commutingPassGrid{grid-template-columns:minmax(180px,260px) minmax(0,1fr);align-items:start}.payrollControlGrid{display:grid;grid-template-columns:minmax(160px,220px) minmax(150px,190px) auto auto;align-items:end;gap:12px}.payrollControlGrid label{display:grid;gap:6px}.payrollAdminStack>.summaryGrid{order:0}.payrollAdminStack>.payrollImportSection{order:1}.payrollAdminStack>.payrollAdminAccordion{order:2}.payrollAdminStack>.panel:not(.payrollImportSection):not(.payrollAdminAccordion){order:3}.payrollAdminAccordion{overflow:hidden}.payrollAccordionSummary{cursor:pointer;list-style:none;margin-bottom:0;user-select:none}.payrollAdminAccordion[open] .payrollAccordionSummary{margin-bottom:14px}.payrollAccordionSummary::-webkit-details-marker{display:none}.payrollAccordionSummary:after{content:"+";display:inline-grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:#f8faf8;font-size:20px;font-weight:900}.payrollAdminAccordion[open] .payrollAccordionSummary:after{content:"-"}.payrollImportForm{grid-template-columns:minmax(220px,1fr) auto;align-items:end}.payrollImportForm,.payrollImportForms{display:grid;gap:12px;margin-bottom:14px}.payrollPdfUploadForm{grid-template-columns:minmax(180px,260px) minmax(220px,1fr) auto}.payrollImportForm label{display:grid;gap:6px}.checkboxLabel span,.payrollControlGrid label span,.payrollImportForm label span{color:var(--muted);font-size:12px;font-weight:800}.checkboxLabel{display:inline-flex!important;width:auto;align-items:center;gap:8px;min-height:42px}.checkboxLabel input{width:auto}.payrollTable table{min-width:2200px}.importedPayrollTable table{min-width:1180px}.payrollPdfPreviewGallery{display:grid;gap:12px;margin:16px 0}.payrollPdfPreviewGalleryHeader,.payrollPdfPreviewModalHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.payrollPdfPreviewGalleryHeader h3,.payrollPdfPreviewModalHeader h3{margin:0 0 4px}.payrollPdfPreviewGrid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.payrollPdfPreviewCard{display:grid;gap:12px;width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px;color:var(--text);text-align:left;content-visibility:auto;contain-intrinsic-size:auto 760px}.payrollPdfPreviewActions,.payrollPdfPreviewCardHeader,.payrollVisibilityControl{display:flex;align-items:center}.payrollPdfPreviewCardHeader{justify-content:space-between;gap:16px}.payrollPdfPreviewActions,.payrollVisibilityControl{flex-wrap:wrap;justify-content:flex-end;gap:10px}.payrollPdfPreviewCardTitle{display:grid;gap:3px}.payrollPdfPreviewCardTitle strong{font-size:15px}.payrollPdfPreviewCardTitle small{color:var(--muted);font-size:12px;font-weight:800}.payrollVisibilityControl .payrollVisibilityToggle{min-height:36px}.payrollEnlargeButton{min-height:38px;padding:8px 12px;white-space:nowrap}.payrollPdfPreviewFrame{display:block;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#fff;aspect-ratio:297/210}.payrollPdfPreviewFrame iframe{display:block;width:100%;height:100%;border:0;pointer-events:none}.payrollPdfPreviewFrame.inline{width:100%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.02)}.payrollPdfPreviewFrame.large{width:min(980px,86vw);max-height:calc(90vh - 96px)}.payrollPdfPreviewModal{position:fixed;inset:0;z-index:95;display:grid;place-items:center;padding:24px;background:rgba(18,32,24,.42)}.payrollPdfPreviewModalPanel{display:grid;gap:14px;max-width:min(1040px,94vw);max-height:94vh;border:1px solid var(--line);border-radius:8px;background:#fff;padding:16px;box-shadow:0 18px 48px rgba(0,0,0,.2)}.payrollImportDetails{margin-top:14px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.payrollImportDetails>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 14px;color:var(--text);font-weight:800;cursor:pointer;list-style:none}.payrollImportDetails>summary::-webkit-details-marker{display:none}.payrollImportDetails[open]>summary{border-bottom:1px solid var(--line);background:var(--surface-2)}.payrollLegalSettingsGrid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.payrollProfileSummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.payrollProfileSummary div{border:1px solid var(--line);border-radius:8px;background:#f8faf8;padding:12px}.payrollProfileSummary div[data-alert=true]{background:#fff8e2;border-color:#ead28f}.payrollProfileSummary span{display:block;color:var(--muted);font-size:12px;font-weight:800}.payrollProfileSummary strong{display:block;margin-top:4px;font-size:22px;line-height:1.2}.payrollProfileList{display:grid;gap:12px;margin-top:14px}.payrollProfileRow{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcfb;padding:14px;content-visibility:auto;contain-intrinsic-size:220px}.payrollProfilePerson{display:flex;min-width:0;flex-direction:column;justify-content:space-between;gap:12px;border-right:1px solid var(--line);padding-right:14px}.payrollProfilePerson h3{margin:0;font-size:17px;line-height:1.3}.payrollProfilePerson p{margin:4px 0 0;color:var(--muted);font-size:12px;font-weight:800;overflow-wrap:anywhere}.payrollProfileBadges{display:flex;flex-wrap:wrap;gap:6px}.payrollProfileBadges .accountBadge[data-state=muted]{background:#eef1ef;color:var(--muted)}.payrollProfileGroups{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.75fr);gap:12px}.payrollProfileGroup:last-child{grid-column:1/-1}.payrollProfileGroup{display:grid;gap:10px;min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px}.payrollProfileGroup legend{color:var(--primary-dark);font-size:12px;font-weight:900;padding:0 4px}.payrollProfileFieldGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.payrollProfileFieldGrid label{display:grid;gap:6px;min-width:0}.payrollProfileFieldGrid label span{color:var(--muted);font-size:12px;font-weight:800}.payrollProfileRemunerationGrid{grid-template-columns:minmax(130px,1.4fr) repeat(2,minmax(64px,.8fr))}.payrollProfileWideField{grid-column:span 1}.payrollProfileToggleGrid{display:grid;gap:10px}.payrollProfileToggle{display:flex!important;align-items:center;gap:10px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:#f8faf8;padding:10px}.payrollProfileToggle input{width:18px;height:18px;flex:0 0 auto}.payrollProfileToggle span{display:grid;gap:1px;min-width:0}.payrollProfileToggle strong{font-size:13px;line-height:1.25}.payrollProfileToggle small{color:var(--muted);font-size:11px;font-weight:800}.residentTaxTable table{min-width:520px}.residentTaxCompactGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.residentTaxCompactItem{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,118px);gap:10px;align-items:center;min-width:0;border:1px solid var(--line);border-radius:8px;background:#fbfcfb;padding:10px}.residentTaxCompactItem span{display:grid;gap:2px;min-width:0}.residentTaxCompactItem strong{font-size:14px}.residentTaxCompactItem small,.residentTaxCompactItem strong{overflow:hidden;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.residentTaxCompactItem small{color:var(--muted);font-size:11px;font-weight:800}.residentTaxCompactItem input{min-width:0;text-align:right}.payrollManualHero .panelHeader{align-items:center}.payrollManualLead{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:14px}.payrollManualLead p{margin:0;color:var(--text);font-size:15px;font-weight:700;line-height:1.7;overflow-wrap:anywhere}.payrollManualMonthPicker{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,220px);gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:14px}.payrollManualMonthPicker span{color:var(--muted);font-size:13px;font-weight:800}.payrollManualSummary .summary strong{overflow-wrap:anywhere}.payrollManualFlow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;background:#fbfcfb}.payrollManualFlow div{min-width:0;border-left:4px solid var(--primary);background:#fff;padding:10px 12px}.payrollManualFlow span{display:block;color:var(--muted);font-size:12px;font-weight:800}.payrollManualFlow strong{display:block;margin-top:4px;font-size:15px;line-height:1.35;overflow-wrap:anywhere}.payrollManualSection{display:grid;gap:14px}.payrollManualChecklist{display:grid;gap:10px}.payrollManualCheck{display:grid;grid-template-columns:22px minmax(0,1.15fr) minmax(220px,.85fr);gap:12px;align-items:start;min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;padding:13px 14px}.payrollManualCheck[data-checked=true]{border-color:#b7d8c5;background:#f1faf5}.payrollManualCheck input{width:18px;height:18px;margin:3px 0 0;accent-color:var(--primary)}.payrollManualCheck span{display:grid;gap:5px;min-width:0}.payrollManualCheck strong{font-size:15px;line-height:1.35;overflow-wrap:anywhere}.payrollManualCheck em,.payrollManualCheck small{color:var(--muted);font-size:13px;font-style:normal;font-weight:700;line-height:1.6;overflow-wrap:anywhere}.payrollManualCheck em{color:var(--primary-dark)}.payrollManualDataItems{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px;min-width:0}.payrollManualDataItem{display:grid;gap:2px;min-width:0;border:1px solid var(--line);border-radius:8px;background:#f8faf8;padding:8px 9px}.payrollManualDataItem[data-tone=warning]{border-color:#ead28f;background:#fff8e2}.payrollManualDataItem[data-tone=ok]{border-color:#b7d8c5;background:#f1faf5}.payrollManualDataItem small{overflow:hidden;color:var(--muted);font-size:11px;font-weight:800;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.payrollManualDataItem strong{overflow-wrap:anywhere;font-size:14px;line-height:1.25}.payrollManualLinkGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.payrollManualLinkGrid .secondaryButton{display:inline-flex;align-items:center;justify-content:center;min-width:0;text-align:center;white-space:normal}.payrollSlipGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.payrollImportPreview{margin-bottom:14px}.payrollSlipMeta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:16px;color:var(--muted);font-size:13px;font-weight:700}.payrollSlipHeaderControls{display:flex;flex-wrap:wrap;align-items:end;justify-content:flex-end;gap:12px}.payrollSlipHeaderControls label{display:grid;gap:6px;min-width:220px}.payrollSlipHeaderControls label span{color:var(--muted);font-size:12px;font-weight:800}.importedSlipSection{margin-top:16px}.importedSlipSection h2{margin-bottom:8px}.importedSlipItems{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.importedSlipItems div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:42px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 10px}.importedSlipItems span{color:var(--muted);font-size:12px;font-weight:800}.importedSlipItems strong{text-align:right;white-space:nowrap}.payrollVisibilityToggle{min-height:0}.payrollPdfViewer{display:grid;gap:12px}.payrollPdfViewer iframe{width:100%;min-height:720px;border:1px solid var(--line);border-radius:8px;background:#fff}.payrollPdfViewer .secondaryButton{justify-self:start;text-decoration:none}.accountActions{display:flex;align-items:center;gap:14px}.accountMessage{margin:0}.accountMessage[data-state=error]{color:#9f2f2f}.accountMessage[data-state=saved]{color:var(--primary-dark)}.leaveAutoGrantActions{align-items:end;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.leaveAutoGrantActions label{display:grid;gap:5px;min-width:160px}.leaveAutoGrantActions label span,.leaveAutoGrantNote,.leaveAutoGrantSummary{font-size:12px;font-weight:800}.leaveAutoGrantActions label span,.leaveAutoGrantSummary{color:var(--muted)}.leaveAutoGrantSummary{display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:10px}.leaveAutoGrantNote{margin-top:10px}.statusBadge{display:inline-flex;align-items:center;border-radius:999px;font-size:12px;font-weight:800;padding:5px 9px;white-space:nowrap}.statusBadge.pending{background:#fff8e6;color:#7a4f12}.statusBadge.approved{background:#e9f8ef;color:#17633d}.statusBadge.rejected{background:#fff0f0;color:#8a1f1f}.statusBadge.partial{background:#fff6df;color:#86640c}.statusBadge.returned{background:#fff3e6;color:#8a4b12}.statusBadge.notStarted{background:#f1f4f2;color:#59645e}.statusBadge.working{background:#e8f5ff;color:#135a82}.statusBadge.completed{background:#e9f8ef;color:#17633d}.staffStatusPanelHeader{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:14px}.staffStatusPanelHeader>div:first-child{min-width:0;max-width:720px}.staffStatusPanelHeader .filterBar{justify-content:flex-end}.staffStatusHeaderActions{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap}.staffStatusHeaderActions .primaryButton,.staffStatusHeaderActions .secondaryButton{white-space:nowrap}.staffStatusHeaderActions span{min-width:42px;color:var(--muted);font-size:13px;font-weight:800;text-align:right}.staffStatusMonthCloseStatus{min-width:136px;border:1px solid var(--line);border-radius:8px;padding:7px 10px;background:#f8faf9;text-align:center;white-space:nowrap}.staffStatusMonthCloseStatus[data-state=done]{background:#e9f8ef;color:#17633d}.staffStatusMonthCloseStatus[data-state=locked]{background:#f1f4f2;color:#59645e}.staffMonthClosurePanel{display:grid;gap:12px;margin:0 0 16px;border-block:1px solid var(--line);padding:14px 0}.staffMonthClosureHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.staffMonthClosureHeader h2{margin-bottom:4px;font-size:20px}.staffMonthClosureCounts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.staffMonthClosureBadge,.staffMonthClosureCounts span{border-radius:999px;background:#f1f4f2;color:var(--muted);font-size:12px;font-weight:800;padding:6px 9px;white-space:nowrap}.staffMonthClosureList{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}.staffMonthClosureRow{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name action" "status date";align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:8px 10px}.staffMonthClosureRow[data-state=closed]{border-color:#a7d9bc;background:#f1fbf5;box-shadow:inset 0 0 0 1px rgba(27,107,66,.04)}.staffMonthClosureRow[data-state=closed] .staffMonthClosureName strong{color:#0f4d30}.staffMonthClosureRow[data-state=closed] .staffMonthClosureDate{color:#17633d}.staffMonthClosureName{grid-area:name;display:grid;min-width:0;gap:2px}.staffMonthClosureName strong{line-height:1.35;overflow-wrap:anywhere;white-space:normal}.staffMonthClosureDate,.staffMonthClosureName span{color:var(--muted);font-size:12px;font-weight:800}.staffMonthClosureBadge[data-state=closed]{background:#e9f8ef;color:#17633d}.staffMonthClosureBadge[data-state=open]{background:#fff6df;color:#86640c}.staffMonthClosureBadge{grid-area:status;justify-self:start}.staffMonthClosureDate{grid-area:date;min-width:52px;justify-self:end;text-align:right;white-space:nowrap}.staffMonthClosureRow .secondaryButton{grid-area:action;min-width:64px;padding:8px 10px}.monthCloseReviewHero{display:flex;align-items:center;justify-content:space-between;gap:18px}.monthCloseReviewActions{display:grid;justify-items:end;gap:10px}.monthCloseReviewActions .secondaryButton{min-width:148px}.monthCloseReviewTarget{display:grid;min-width:148px;gap:4px;border:1px solid var(--line);border-radius:8px;background:#f7faf8;padding:12px 14px;text-align:right}.monthCloseReviewMetrics span,.monthCloseReviewTarget span{color:var(--muted);font-size:12px;font-weight:800}.monthCloseReviewTarget strong{color:var(--primary-dark);font-size:20px}.monthCloseReviewList{display:grid;gap:12px}.monthCloseReviewCard{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfb;padding:14px}.monthCloseReviewCard[data-state=warning]{border-color:rgba(168,117,0,.42);background:#fffdf5}.monthCloseReviewCardHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:10px}.monthCloseReviewCardHeader h3,.monthCloseReviewCardHeader p,.monthCloseReviewNote{margin:0}.monthCloseReviewCardHeader h3{font-size:18px}.monthCloseReviewCardHeader p{color:var(--muted);font-size:13px;font-weight:800}.monthCloseReviewBadges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.monthCloseReviewMetrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px}.monthCloseReviewMetrics div{display:grid;gap:4px;min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 12px}.monthCloseReviewMetrics div[data-state=ok]{border-color:rgba(34,122,75,.28);background:#f2fbf5}.monthCloseReviewMetrics div[data-state=warning]{border-color:rgba(168,117,0,.36);background:#fff8e6}.monthCloseReviewMetrics strong{font-size:18px}.monthCloseIncentiveForm{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px}.monthCloseIncentiveForm input{flex:1 1 118px;min-width:118px}.monthCloseIncentiveForm .secondaryButton{flex:1 0 74px;min-width:74px;padding:9px 12px;white-space:nowrap}.monthCloseIncentiveMessage,.monthCloseIncentiveSource{display:block;font-size:12px;font-weight:800}.monthCloseIncentiveMessage[data-state=saved],.monthCloseIncentiveSource[data-state=saved]{color:#17633d}.monthCloseIncentiveMessage[data-state=error],.monthCloseIncentiveSource[data-state=missing]{color:#8a5d00}.monthCloseReviewNote{border-radius:8px;padding:9px 10px;font-size:13px;font-weight:800}.monthCloseReviewNote[data-state=ok]{background:#eaf7ef;color:#17633d}.monthCloseReviewNote[data-state=warning]{background:#fff3c4;color:#6b4b00}.staffOvertimeChartPanel{display:grid;gap:16px}.staffOvertimeChartSummary{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:0}.staffOvertimeChartSummary span{color:var(--muted);font-size:12px;font-weight:800;padding:2px 10px}.staffOvertimeChartSummary span+span{border-left:1px solid var(--line)}.staffOvertimeChartSummary strong{color:var(--text)}.staffOvertimeChartBars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;border-top:1px solid #edf1ee}.staffOvertimeChartItem{display:grid;grid-template-columns:minmax(108px,.85fr) minmax(120px,1.6fr) 84px;align-items:center;gap:10px;min-width:0;min-height:42px;border-bottom:1px solid #edf1ee;color:var(--muted);font-size:11px;font-weight:800;text-align:left}.staffOvertimeBarFrame{--bar-width:0%;--fixed-line:0%;position:relative;width:100%;height:8px;border-radius:999px;background:#edf3ef}.staffOvertimeBar{position:absolute;inset:0 auto 0 0;width:var(--bar-width);border-radius:999px;background:#1b6b42}.staffOvertimeBar[data-state=over]{background:#c76b34}.staffOvertimeFixedLine{position:absolute;z-index:1;top:-3px;bottom:-3px;left:var(--fixed-line);display:none;border-left:2px solid #1f3f77}.staffOvertimeFixedLine[data-visible=true]{display:block}.staffOvertimeChartLabel{display:grid;gap:1px;min-width:0}.staffOvertimeChartName{color:var(--text);font-size:12px;line-height:1.3;overflow-wrap:anywhere}.staffOvertimeFixedValue{color:var(--muted);font-size:10px;line-height:1.3}.staffOvertimeActualValue{color:var(--text);font-size:12px;text-align:right;white-space:nowrap}.staffStatusTable .tableWrap{overflow-x:visible}.staffStatusTable table{min-width:0;table-layout:fixed}.staffStatusTable td,.staffStatusTable th{padding:10px 6px;overflow-wrap:anywhere}.staffStatusDateColumn{width:6%}.staffStatusNameColumn{width:10%}.staffStatusWorkStyleColumn{width:8%}.staffStatusDayStatusColumn{width:10%}.staffStatusClockStatusColumn{width:8%}.staffStatusExpenseColumn,.staffStatusMinutesColumn,.staffStatusTimeColumn{width:10%}.staffStatusShiftColumn{width:8%}.staffStatusAttendanceTable .tableWrap{overflow-x:auto}.staffStatusAttendanceTable table{min-width:1120px}.staffStatusAttendanceTable td,.staffStatusAttendanceTable th{padding:10px 8px;overflow-wrap:normal;white-space:nowrap}.staffStatusAttendanceTable .staffStatusDateColumn,.staffStatusAttendanceTable .staffStatusNameColumn{width:8%}.staffStatusAttendanceTable .staffStatusWorkStyleColumn{width:7%}.staffStatusAttendanceTable .staffStatusTimeColumn{width:12.5%}.staffStatusAttendanceTable .staffStatusExpenseColumn{width:8%}.staffStatusAttendanceTable .staffStatusMinutesColumn{width:9%}.attendanceTimeInput{width:100%;min-width:0}.staffStatusCalculationNote{margin:0 0 10px}.attendanceTimeCell{display:grid;gap:6px}.countedAttendanceTime{color:var(--text);font-size:15px;font-variant-numeric:tabular-nums}.actualAttendanceTimeEditor{display:grid;gap:3px}.actualAttendanceTimeEditor>span{color:var(--muted);font-size:10px;font-weight:800}.dayStatusSelect,.expenseAmountInput,.shiftApplyButton{width:100%;min-width:0}.shiftApplyButton{border-color:#9ed2b3;background:#f5fbf7;color:#17633d;font-weight:800}.staffStatusResultList{display:grid;gap:6px;margin-top:12px}.staffStatusResultList span{border-radius:7px;padding:8px 10px;font-size:12px;font-weight:800;line-height:1.4}.staffStatusResultList span[data-state=saved]{background:#eef9f2;color:#17633d}.staffStatusResultList span[data-state=error]{background:#fff0f0;color:#8a1f1f}.attendanceHistoryActions{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;gap:10px;border:1px solid rgba(28,84,54,.16);border-radius:8px;background:hsla(0,0%,100%,.96);box-shadow:0 16px 40px rgba(20,43,30,.18);padding:10px}.attendanceHistoryActions span{min-width:42px;color:var(--muted);font-size:13px;font-weight:800;text-align:right}.attendanceHistoryActions .primaryButton{min-width:112px;white-space:nowrap}.fixedSaveAction{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:45;display:flex;align-items:center;gap:10px;border:1px solid rgba(31,98,61,.22);border-radius:12px;background:hsla(0,0%,100%,.96);box-shadow:0 16px 40px rgba(20,43,30,.18);padding:10px;backdrop-filter:blur(10px)}.fixedSaveActionOffset{height:82px}.fixedSaveAction span{min-width:42px;color:var(--muted);font-size:13px;font-weight:800;text-align:right}.fixedSaveAction .primaryButton{min-width:172px;white-space:nowrap}.attendanceHistoryIncentivePanel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}.attendanceHistoryIncentivePanel h2,.attendanceHistoryIncentivePanel p{margin:0}.attendanceHistoryIncentiveForm{display:flex;align-items:end;gap:10px}.attendanceHistoryIncentiveForm label{display:grid;gap:6px;min-width:180px}.attendanceHistoryIncentiveForm label span{color:var(--muted);font-size:12px;font-weight:800}.attendanceHistoryIncentiveForm input{min-height:42px}.attendanceHistoryActionSpacer{height:78px}.attendanceHistoryList{display:grid;gap:10px}.attendanceHistoryDay{border:1px solid var(--line);border-radius:8px;background:#fff}.attendanceHistoryDay[data-changed=true]{border-color:#e7c979;background:#fffdf6}.attendanceHistorySummary{display:grid;grid-template-columns:56px minmax(118px,150px) minmax(112px,1fr) minmax(96px,auto) 20px;align-items:center;gap:8px;min-height:50px;list-style:none;cursor:pointer;padding:8px 12px}.attendanceHistorySummary::-webkit-details-marker{display:none}.attendanceHistorySummary:after{content:"＋";grid-column:-2/-1;grid-row:1;color:var(--primary-dark);font-size:18px;font-weight:800;line-height:1;text-align:center}.attendanceHistoryDay[open] .attendanceHistorySummary:after{content:"－"}.attendanceHistoryDateBlock,.attendanceHistoryFields label,.attendanceHistoryMetric,.attendanceHistoryStatusSelectWrap,.attendanceHistorySummaryItem{display:grid;gap:5px;min-width:0}.attendanceHistoryDateBlock{align-items:center;grid-template-columns:minmax(0,max-content) auto}.attendanceHistoryDate{align-self:center;font-weight:800;white-space:nowrap}.attendanceHistoryFields label span,.attendanceHistoryMetric span,.attendanceHistorySummaryItem span:first-child{color:var(--muted);font-size:12px;font-weight:800}.attendanceHistoryMetric strong,.attendanceHistorySummaryItem strong{overflow-wrap:anywhere}.attendanceHistorySummarySelect{min-height:38px;cursor:pointer}.attendanceHistoryTimeRange{min-width:0;color:var(--text);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendanceHistoryTimeRange[data-empty=true]{color:var(--muted);font-weight:700}.attendanceHistoryStatusGroup{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;min-width:0}.attendanceHistoryDetail{border-top:1px solid var(--line);padding:12px}.attendanceHistoryFields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:10px}.attendanceHistoryMetric{border-radius:7px;background:#f7faf8;padding:10px 12px}.attendanceHistoryEmpty{margin:0;border:1px dashed var(--line);border-radius:8px;color:var(--muted);padding:16px}.approvalsTable table{min-width:1120px}.approvalsTable td:nth-last-child(-n+2),.approvalsTable th:nth-last-child(-n+2){width:76px;min-width:76px;text-align:center}.approvalsTable td:nth-child(5),.approvalsTable th:nth-child(5){min-width:220px;overflow-wrap:anywhere}.approvalToolbar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.approvalQuickApproveButton{min-height:40px;border:1px solid rgba(13,87,48,.18);border-radius:8px;background:var(--primary);box-shadow:0 8px 18px rgba(20,113,66,.18);color:#fff;font-weight:800;padding:10px 14px;white-space:nowrap}.approvalQuickApproveButton:hover:not(:disabled){background:#19804d;box-shadow:0 10px 22px rgba(20,113,66,.22)}.approvalApplyButton{min-width:172px}.approvalColumnHeader{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.approvalDecisionCell{text-align:center}.approvalCheckbox{width:18px;height:18px;accent-color:var(--primary)}.approvalActions{flex-wrap:nowrap;min-width:max-content}.approvalActions button{min-width:52px}.batchRequestDetails summary{cursor:pointer;font-weight:800}.batchRequestItemList{display:grid;gap:6px;margin-top:8px;min-width:320px}.batchRequestItemList>span{border-radius:7px;background:#f7faf8;color:var(--text);font-size:12px;font-weight:800;line-height:1.45;padding:7px 8px}.batchRequestItemRow{align-items:center;background:#f7faf8;border:1px solid var(--line);border-radius:7px;display:grid;gap:8px;grid-template-columns:minmax(240px,1fr) auto auto auto;padding:7px 8px}.batchRequestItemMain{color:var(--text);font-size:12px;font-weight:800;line-height:1.45}.batchRequestItemDecision,.batchRequestItemProcessed{align-items:center;display:inline-flex;font-size:12px;font-weight:800;gap:5px;white-space:nowrap}.batchRequestItemDecision{color:var(--text)}.batchRequestItemProcessed{color:var(--muted)}.staffStatusTable td:first-child,.staffStatusTable th:first-child{min-width:0;font-weight:800}.monthlySummaryTable table{min-width:920px}.developerShell{display:grid;gap:18px}.developerLogoutButton{justify-self:end;min-width:132px}.developerGrid{align-items:start}.developerFormGrid{grid-template-columns:1fr}.developerTable table{min-width:820px}.approveButton{border-color:#9ed2b3;background:#eef9f2;color:#17633d;font-weight:800}.rejectButton{border-color:#f0b5b5;background:#fff5f5;color:#8a1f1f;font-weight:800}body{background:linear-gradient(90deg,rgba(16,20,21,.02) 1px,transparent 1px) 0 0 /24px 24px,var(--bg)}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}input,select,textarea{min-height:42px;border-color:var(--line);background:var(--surface);transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}input:hover,select:hover,textarea:hover{border-color:#bccbc2}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--focus-ring);outline:0}.loginForm button,.primaryButton,.requestForm button{min-height:40px;border:1px solid rgba(13,87,48,.18);border-radius:8px;background:var(--primary);box-shadow:0 8px 18px rgba(20,113,66,.18);font-size:14px;font-weight:800;line-height:1.2;transition:background .14s ease,box-shadow .14s ease,transform .14s ease}.loginForm button:hover,.primaryButton:hover,.requestForm button:hover{background:#19804d;box-shadow:0 10px 22px rgba(20,113,66,.22)}.loginForm button:active,.primaryButton:active,.requestForm button:active{transform:translateY(1px)}.ghostButton,.secondaryButton,td button{min-height:38px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-size:14px;font-weight:800;line-height:1.2;transition:border-color .14s ease,background .14s ease,color .14s ease}.ghostButton:hover,.secondaryButton:hover,td button:hover{border-color:#b7c8bf;background:var(--surface-2)}.accountBadge,.pill,.rolePill,.statusBadge{border:1px solid rgba(20,113,66,.12);border-radius:999px;background:var(--surface-3);color:var(--muted);font-size:12px;font-weight:800}.appLayout{grid-template-columns:276px minmax(0,1fr)}.sidebar{border-right:1px solid var(--canvas-line);background:var(--canvas);color:#f7f8f8;box-shadow:none}.sidebarName{color:#f7f8f8;font-weight:800}.sidebarBrand{border-bottom-color:var(--canvas-line)}.sideNavLabel,.sidebar .brand small{color:#929b9c}.sidebar .brandIcon{background:var(--primary);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.16)}.sideNav a{position:relative;border:1px solid transparent;color:#bdc5c6;font-size:14px;font-weight:800;transition:background .14s ease,border-color .14s ease,color .14s ease}.sideNav a:hover{border-color:var(--canvas-line);background:var(--canvas-2);color:#fff}.sideNav a.active{border-color:rgba(43,164,96,.42);background:#10271b;color:#f5fff8}.sideNav a.active:before{position:absolute;top:9px;bottom:9px;left:6px;width:3px;border-radius:999px;background:var(--primary);content:""}.sideNavGroup{border-top-color:var(--canvas-line)}.sidebarLogout{border-color:var(--canvas-line);background:var(--canvas-2);color:#f7f8f8}.sidebarLogout:hover{background:var(--canvas-3)}.rolePill{border-color:hsla(46,73%,85%,.22);background:hsla(46,73%,85%,.12);color:#f3dda1}.pageShell{width:min(1280px,100%);padding:30px 24px 56px}.heroBand,.panel,.summary{border-radius:12px;box-shadow:var(--shadow)}.panel{background:hsla(0,0%,100%,.98);padding:22px}.heroBand,.panel{border-color:var(--line)}.heroBand{background:var(--surface)}.heroBand h1,.panel h1,.panel h2{letter-spacing:0;line-height:1.22}.panel h1{font-size:30px}.panel h2{font-size:22px}.panelHeader{align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line)}.panelHeader.compactHeader{padding-bottom:8px}.summaryGrid{gap:12px}.metrics div,.summary{border:1px solid var(--line);background:var(--surface);box-shadow:none;padding:14px}.metrics dt,.summary span{color:var(--muted);font-size:12px;letter-spacing:0}.metrics dd,.summary strong{font-size:23px;font-weight:850;letter-spacing:0}.tableWrap{border:1px solid var(--line);border-radius:10px}.tableWrap,table{background:var(--surface)}th{position:sticky;top:0;z-index:1;background:var(--surface-3);color:#52605a;font-size:12px;letter-spacing:0}td{color:var(--text);font-size:14px}tbody tr:hover{background:#f8fbf9}.accountCard,.accountForm,.accountListPanel,.monthCloseReviewCard,.payrollManualCheck,.payrollManualFlow,.payrollProfileRow,.residentTaxCompactItem,.staffSettingsRow,.staffStatusCard,.staffStatusMonthCard{border-color:var(--line);border-radius:10px;background:var(--surface-2);box-shadow:none}.accountInfoItem strong,.accountStaticValue,.payrollProfileGroup,.payrollProfileToggle,.staffSettingsToggle{border-color:var(--line);background:var(--surface)}.segmentedControl{border-color:var(--line);background:var(--surface-3)}.segmentedControl button{min-height:36px;font-size:13px}.segmentedControl button.active{background:var(--surface);color:var(--primary-dark);box-shadow:0 1px 4px rgba(12,20,16,.08)}.payrollAdminStack{gap:14px}.payrollAdminStack>.summaryGrid{position:sticky;top:12px;z-index:3;border:1px solid var(--line);border-radius:12px;background:rgba(244,246,247,.92);padding:10px;backdrop-filter:blur(10px)}.payrollImportSection{border-color:#c7d8ce}.payrollImportForms{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.payrollImportForm,.payrollPdfUploadForm{grid-template-columns:minmax(0,1fr) auto;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);padding:12px}.payrollPdfUploadForm label:first-child{grid-column:1/-1}.payrollPdfPreviewGallery{border:1px solid var(--line);border-radius:12px;background:var(--surface-2);padding:14px}.payrollPdfPreviewCard{border-color:var(--line);background:var(--surface);box-shadow:0 1px 2px rgba(12,20,16,.04)}.payrollAdminAccordion{box-shadow:none}.payrollAccordionSummary:after{background:var(--surface);color:var(--primary-dark)}.loginPage{background:linear-gradient(90deg,rgba(16,20,21,.035) 1px,transparent 1px) 0 0 /28px 28px,var(--bg)}.loginPanel{border-radius:12px;box-shadow:var(--shadow)}@media (max-width:1240px){.staffSettingsRowSummary{grid-template-columns:minmax(120px,1fr) minmax(152px,1fr) repeat(2,minmax(112px,1fr)) 92px}.staffSettingsLeaveSummary,.staffSettingsSummaryField:nth-of-type(n+4){grid-row:2}.staffSettingsAccordionLabel{grid-column:5;grid-row:1/span 2}.payrollProfileRow{grid-template-columns:1fr}.payrollProfilePerson{flex-direction:row;align-items:flex-start;border-right:0;border-bottom:1px solid var(--line);padding-right:0;padding-bottom:12px}.payrollProfileBadges{justify-content:flex-end}.payrollProfileGroups{grid-template-columns:minmax(0,1fr) minmax(180px,.65fr)}.payrollProfileGroup:last-child{grid-column:1/-1}}@media (max-width:900px){.appHeader{grid-template-columns:1fr}.userBox{justify-content:flex-start;flex-wrap:wrap}.appLayout{grid-template-columns:180px minmax(0,1fr)}.sidebar{height:100dvh;border-right:1px solid var(--line);border-bottom:0;padding:14px 10px}.sidebarProfile,.sidebarTop{gap:12px}.sidebarBrand{padding-bottom:12px}.sideNav,.sideNavGroup,.sidebarFooter{grid-template-columns:1fr}.sideNav a{white-space:normal}.rolePill{width:100%}.gridTwo,.heroBand{grid-template-columns:1fr}.heroBand{align-items:stretch;flex-direction:column}.actionRow{display:grid;grid-template-columns:1fr 1fr}.summaryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.correctionForm,.expenseLine,.requestForm{grid-template-columns:1fr}.dependentGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.lineNumber{display:none}.wideField{grid-column:1}.panelHeader{align-items:stretch;flex-direction:column}.staffOvertimeChartSummary{justify-content:flex-start}.staffOvertimeChartSummary span:first-child{padding-left:0}.staffOvertimeChartBars{grid-template-columns:1fr}.payrollAccordionSummary{margin-bottom:0}.payrollAdminAccordion[open] .payrollAccordionSummary{margin-bottom:10px}.filterBar{display:grid;grid-template-columns:1fr}.filterBar label{min-width:0}.staffSettingsRowSummary{grid-template-columns:minmax(0,1fr) minmax(120px,1fr);align-items:start}.staffSettingsSummaryField{grid-row:auto}.staffSettingsAccordionLabel,.staffSettingsLeaveSummary,.staffSettingsPerson{grid-column:1/-1;grid-row:auto;justify-self:stretch}.staffSettingsAccordionLabel{text-align:left}.staffSettingsGroupTime .staffSettingsFields,.staffSettingsRowDetail{grid-template-columns:1fr}.staffSettingsFields,.staffSettingsOtherFields{grid-template-columns:repeat(2,minmax(0,1fr))}.attendanceHistoryIncentivePanel{grid-template-columns:1fr}.attendanceHistoryIncentiveForm{display:grid;grid-template-columns:minmax(0,1fr) auto}.attendanceHistorySummary{grid-template-columns:48px minmax(104px,136px) minmax(92px,1fr) 20px}.attendanceHistoryStatusGroup{grid-column:1/-2;justify-content:flex-start}.attendanceHistoryFields{grid-template-columns:repeat(2,minmax(0,1fr))}.segmentedControl{width:100%}.segmentedControl button{flex:1}.accountGrid,.categoryForm,.commutingPassGrid,.dependentGrid,.personalProfileGrid,.tenantProfileGrid{grid-template-columns:1fr}.accountControlGrid,.accountInfoGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.accountDirectoryRow{align-items:flex-start;flex-direction:column}.accountDirectoryRow .accountBadgeRow{justify-content:flex-start}.importedSlipItems,.payrollControlGrid,.payrollImportForm,.payrollImportForms,.payrollPdfUploadForm,.payrollSlipGrid{grid-template-columns:1fr}.payrollManualFlow{grid-template-columns:repeat(2,minmax(0,1fr))}.payrollManualMonthPicker{grid-template-columns:1fr}.payrollManualCheck{grid-template-columns:20px minmax(0,1fr)}.payrollManualDataItems{grid-column:2/-1}.payrollManualLinkGrid{grid-template-columns:1fr}.payrollProfileSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.payrollProfileRow{grid-template-columns:1fr}.payrollProfilePerson{border-right:0;border-bottom:1px solid var(--line);padding-right:0;padding-bottom:12px}.payrollProfileGroups{grid-template-columns:1fr}.payrollPdfPreviewGalleryHeader,.payrollPdfPreviewModalHeader{display:grid;grid-template-columns:1fr}.payrollPdfPreviewCardHeader{align-items:flex-start;flex-direction:column}.payrollPdfPreviewActions,.payrollVisibilityControl{justify-content:flex-start}.payrollSlipHeaderControls{display:grid;grid-template-columns:1fr;justify-content:stretch}.payrollSlipHeaderControls label{min-width:0}.accountActions{align-items:stretch;flex-direction:column}.leaveAutoGrantActions{align-items:stretch;display:grid;grid-template-columns:1fr;justify-content:stretch}.leaveAutoGrantActions label{min-width:0}}@media (max-width:720px){html{-webkit-text-size-adjust:100%}input,select,textarea{min-height:42px;padding:9px 10px;font-size:16px}.ghostButton,.primaryButton,.secondaryButton,button{min-height:42px;padding:10px 12px;font-size:14px}.fixedSaveAction{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));justify-content:stretch}.fixedSaveAction .primaryButton{min-width:0;flex:1}.fixedSaveActionOffset{height:76px}.staffSettingsFields{grid-template-columns:1fr}.staffOvertimeChartPanel{gap:12px}.staffOvertimeChartSummary{align-items:flex-start;flex-direction:column}.staffOvertimeChartSummary span{padding:2px 0}.staffOvertimeChartSummary span+span{border-left:0}.staffOvertimeChartItem{grid-template-columns:minmax(92px,1fr) minmax(90px,1.35fr) 74px;gap:8px}.loginPage{align-items:start;padding:18px 12px}.loginPanel{width:min(420px,100%);margin-top:16px;border-radius:8px;box-shadow:0 10px 24px rgba(21,41,31,.08);padding:22px}.brandMark{width:44px;height:44px;margin-bottom:14px}.loginPanel h1{font-size:24px}.loginForm{gap:14px;margin-top:20px}.loginSupport{margin-top:16px}.appLayout{grid-template-columns:minmax(0,1fr)}.sidebarToggle{position:fixed;top:10px;left:10px;z-index:90;display:inline-grid;width:40px;height:40px;place-items:center;gap:4px;border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:0 10px 24px rgba(21,41,31,.16);padding:9px}.sidebarToggle span{display:block;width:20px;height:2px;border-radius:999px;background:var(--primary-dark);transition:transform .16s ease,opacity .16s ease}.appLayout[data-sidebar-open=true] .sidebarToggle span:first-child{transform:translateY(6px) rotate(45deg)}.appLayout[data-sidebar-open=true] .sidebarToggle span:nth-child(2){opacity:0}.appLayout[data-sidebar-open=true] .sidebarToggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.sidebarBackdrop{position:fixed;inset:0;z-index:70;display:block;border:0;background:rgba(13,24,18,.38);opacity:0;pointer-events:none;transition:opacity .16s ease}.appLayout[data-sidebar-open=true] .sidebarBackdrop{opacity:1;pointer-events:auto}.sidebar{position:fixed;z-index:80;top:0;left:0;width:min(78vw,264px);gap:10px;border-right:1px solid var(--line);box-shadow:18px 0 42px rgba(21,41,31,.18);padding:58px 12px 12px;transform:translateX(-100%);visibility:hidden;transition:transform .18s ease,visibility .18s ease}.appLayout[data-sidebar-open=true] .sidebar{transform:translateX(0);visibility:visible}.sidebarName{font-size:16px;text-align:left}.sidebarBrand{justify-content:flex-start;padding-bottom:10px}.sidebarBrand>span:last-child{display:block}.brandIcon{width:36px;height:36px}.sideNav a{font-size:13px;padding:8px 10px;text-align:left}.sideNav,.sideNavGroup,.sidebarFooter{gap:5px}.sideNavGroup{margin-top:6px;padding-top:8px}.sideNavLabel{padding:0 12px 2px;text-align:left}.rolePill,.sidebarLogout{font-size:12px;padding:8px 10px}.pageShell{width:100%;padding:62px 10px 28px}.stack{gap:12px}.heroBand{gap:12px;border-radius:8px;box-shadow:none;padding:16px}.heroBand h1,.panel h1{font-size:24px;line-height:1.25}.panel h2{font-size:19px;line-height:1.3}.heroBand p,.muted{font-size:14px;line-height:1.55}.panel{border-radius:8px;box-shadow:none;padding:14px}.panelHeader{gap:10px;margin-bottom:10px}.payrollAccordionSummary{margin-bottom:0}.payrollAdminAccordion[open] .payrollAccordionSummary{margin-bottom:10px}.staffMonthClosureHeader{display:grid;gap:8px}.staffMonthClosureCounts{justify-content:flex-start}.staffMonthClosureList{grid-template-columns:1fr}.developerLogoutButton,.panelHeader .primaryButton{width:100%}.attendanceHistoryIncentiveForm{grid-template-columns:1fr}.attendanceHistoryIncentiveForm label{min-width:0}.attendanceHistoryIncentiveForm .primaryButton{width:100%}.gridTwo{gap:12px}.metrics,.summaryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.payrollManualHero .panelHeader{align-items:stretch}.payrollManualFlow{grid-template-columns:1fr}.payrollManualCheck{grid-template-columns:20px minmax(0,1fr);gap:10px;padding:12px}.payrollManualDataItems{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.payrollPdfPreviewGrid{grid-template-columns:1fr}.payrollPdfPreviewCard{padding:10px;contain-intrinsic-size:auto 320px}.payrollPdfPreviewActions{width:100%}.payrollVisibilityControl{flex:1 1 auto}.payrollPdfPreviewModal{padding:10px}.payrollPdfPreviewModalPanel{padding:12px}.payrollPdfPreviewFrame.large{width:92vw}.metrics div,.summary{border-radius:8px;box-shadow:none;padding:12px}.metrics dt,.summary span{font-size:11px}.metrics dd,.summary strong{margin-top:4px;font-size:19px;line-height:1.25}.accountForm,.correctionForm,.expenseForm,.expenseLines,.formGrid,.requestForm{gap:10px}.attendanceHistorySummary{grid-template-columns:42px minmax(0,1fr) auto 20px;align-items:center}.attendanceHistoryStatusSelectWrap{grid-column:2/4}.attendanceHistoryTimeRange{grid-column:1/3}.attendanceHistoryStatusGroup{grid-column:3/4;justify-content:flex-end}.attendanceHistorySummary:after{grid-column:4/5}.attendanceHistoryFields{grid-template-columns:1fr}.accountForm,.accountListPanel,.expenseLine{border-radius:8px;padding:12px}.filterBar{gap:8px}.filterBar label{min-width:0}.segmentedControl{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));width:100%}.segmentedControl button{min-width:0;padding:8px 10px}.accountActions,.actionRow,.inlineActions,.staffStatusHeaderActions{display:grid;grid-template-columns:1fr;align-items:stretch;gap:8px}.accountActions button,.inlineActions button,.staffStatusHeaderActions button,.statusButton{width:100%;min-width:0}.staffStatusHeaderActions .primaryButton,.staffStatusHeaderActions .secondaryButton{white-space:normal}.staffStatusHeaderActions span{min-width:0;text-align:left}.staffStatusMonthCloseStatus{width:100%;white-space:normal}.monthCloseReviewCardHeader,.monthCloseReviewHero{display:grid;align-items:stretch}.monthCloseReviewTarget{text-align:left}.monthCloseReviewActions{justify-items:stretch}.monthCloseReviewBadges{justify-content:flex-start}.accountCard{gap:12px;border-radius:8px;padding:12px}.accountCardHeader{display:grid;gap:10px}.accountBadgeRow{justify-content:flex-start;gap:6px}.accountControlGrid,.accountInfoGrid,.accountPasswordForm{grid-template-columns:1fr}.accountInfoItem.wide{grid-column:auto}.payrollProfileFieldGrid,.payrollProfileRemunerationGrid,.payrollProfileSummary{grid-template-columns:1fr}.payrollProfileGroup,.payrollProfileRow{padding:12px}.payrollProfilePerson{flex-direction:column}.payrollProfileBadges{justify-content:flex-start;gap:6px}.accountPasswordForm .statusButton{width:100%}.categoryChips{gap:6px}.categoryChip{max-width:100%;padding:6px 8px 6px 10px;font-size:13px}.tableWrap{overflow:visible}.approvalsTable table,.attendanceHistoryTable table,.developerTable table,.monthlySummaryTable table,.payrollTable table,.settingsTable table,.staffStatusTable table,.tableWrap table{display:block;width:100%;min-width:0;table-layout:auto;border-collapse:separate}.tableWrap thead{display:none}.tableWrap tbody{display:grid;gap:10px}.tableWrap tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px}.tableWrap td{display:grid;gap:4px;min-width:0!important;width:auto!important;border:0;border-radius:7px;background:#f7faf8;padding:8px;font-size:14px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}.tableWrap td:before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:800;line-height:1.2}.tableWrap td:not([data-label]):before,.tableWrap td[colspan]:before,.tableWrap td[data-label=""]:before{display:none}.tableWrap td[colspan]{grid-column:1/-1;display:block;background:transparent;color:var(--muted);padding:4px 2px}.tableWrap td:first-child{grid-column:1/-1}.tableWrap td button,.tableWrap td input,.tableWrap td select,.tableWrap td textarea{width:100%;min-width:0}.tableWrap td button{padding:8px 10px}.approvalActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;width:100%}.approvalActions button,.batchRequestItemList{min-width:0}.batchRequestItemRow{grid-template-columns:1fr}.batchRequestItemDecision,.batchRequestItemProcessed{justify-content:flex-start}.toast{top:60px;right:10px;left:10px;max-width:none}}@media (max-width:390px){.metrics,.summaryGrid,.tableWrap tr{grid-template-columns:1fr}}