:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f7f6;color:#17201d;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:#eef2f1}.login-panel{width:min(420px,100%);background:#fff;border:1px solid #dfe7e3;border-radius:8px;padding:28px;box-shadow:0 18px 50px #14201d1f}.login-panel h1{margin-bottom:22px}.login-mark{width:48px;height:48px;display:grid;place-items:center;margin-bottom:18px;border-radius:8px;color:#fff;background:#19735d}.app-shell{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh}.sidebar{background:#172722;color:#f4fbf7;padding:22px 16px}.brand{display:flex;gap:12px;align-items:center;padding:4px 8px 22px}.brand strong,.brand span{display:block}.brand span{color:#adc2bb;font-size:13px;margin-top:2px}nav{display:grid;gap:4px}nav button{width:100%;min-height:48px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;background:transparent;color:#d7e4df;text-align:left}nav button small{color:#91aaa1;font-size:11px}nav button.active,nav button:hover{background:#2b463e;color:#fff}.content{padding:26px;display:grid;gap:22px;align-content:start}.topbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px) auto auto;gap:14px;align-items:end;padding-bottom:18px;border-bottom:1px solid #dce6e2}.lock-warning{display:flex;align-items:start;gap:12px;padding:14px 16px;color:#533c07;background:#fff7df;border:1px solid #f1d59a;border-radius:8px}.lock-warning strong,.lock-warning span{display:block}.lock-warning span{margin-top:3px;color:#71520c;font-size:13px}.eyebrow{color:#5f706a;margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:0}.status-line{margin:8px 0 0;color:#536660}h1,h2{margin:0;line-height:1.15}h1{font-size:30px}h2{font-size:18px}.period-select{display:grid;gap:6px;color:#4d5e58;font-size:13px}.icon-button{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;background:#fff;color:#20342f;border:1px solid #dfe7e3}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric,.panel,.table-section{background:#fff;border:1px solid #dfe7e3;border-radius:8px;box-shadow:0 1px 2px #14201d0d}.metric{min-height:108px;display:grid;align-content:space-between;gap:10px;padding:16px;color:#40534d}.metric strong{color:#17201d;font-size:21px;overflow-wrap:anywhere}.dashboard-grid,.page-grid,.review-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.review-grid{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr)}.full-page{display:grid;gap:16px}.panel,.table-section{padding:18px}.panel-title,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-title{justify-content:flex-start}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid.single-column{grid-template-columns:1fr}label{display:grid;gap:6px;color:#4d5e58;font-size:13px}.label-text{display:inline-flex;align-items:center;gap:4px}.required-star{color:#b42318;font-weight:800}.field-hint{color:#667872;font-size:12px}.workflow-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 18px}.workflow-step{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:14px;border:1px solid #d9e4df;border-radius:8px;background:#fff}.workflow-step>b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e8f3ef;color:#137761}.workflow-step strong,.workflow-step span{display:block}.workflow-step span{margin-top:4px;color:#667872;font-size:.88rem;line-height:1.4}input,select,textarea{min-height:40px;border:1px solid #cbd8d3;border-radius:6px;padding:8px 10px;color:#17201d;background:#fff}textarea{min-height:72px;resize:vertical}.form-section-title{margin:16px 0 10px;color:#233631;font-size:13px;font-weight:700}.panel-title+.form-section-title{margin-top:0}.wide-field{margin-top:12px}.primary,.actions button,.quick-actions button,.mini-button{min-height:40px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#19735d;color:#fff;padding:0 14px;margin-top:16px}.primary.inline{margin-top:0}.actions button:disabled,.primary:disabled{background:#9aaba5;cursor:not-allowed}.mini-button{min-height:32px;margin-top:0;padding:0 10px;background:#edf5f2;color:#1f473e}.row-actions{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.batch-row{align-items:flex-start}.note-input{width:min(190px,32vw)}.split-title{justify-content:space-between;align-items:start}.split-title span{display:block;margin-top:4px;color:#667872;font-size:13px}.employee-tools{grid-column:1 / -1}.search-field{min-height:40px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:0 10px;border:1px solid #cbd8d3;border-radius:8px;background:#fff}.search-field input{min-height:34px;border:0;padding:0}.search-field input:focus{outline:0}.full-search{margin-bottom:14px}.profile-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.profile-summary div,.document-item{padding:12px;border:1px solid #e5ece9;border-radius:8px;background:#f8faf9}.profile-summary span,.document-item span,.document-item small{display:block;margin-top:4px;color:#667872;font-size:12px}.document-form{margin-top:18px;padding-top:18px;border-top:1px solid #e5ece9}.document-list{display:grid;gap:10px;margin-top:14px}.record-browser{display:grid;gap:16px}.record-toolbar{display:flex;align-items:start;justify-content:space-between;gap:16px;padding:18px;background:#fff;border:1px solid #dfe7e3;border-radius:8px;box-shadow:0 1px 2px #14201d0d}.record-toolbar p{margin:6px 0 0;color:#667872}.record-actions{display:flex;align-items:center;justify-content:end;flex-wrap:wrap;gap:10px}.browser-search{width:min(320px,42vw)}.segmented-control{display:inline-flex;gap:2px;padding:3px;border:1px solid #dfe7e3;border-radius:8px;background:#f6faf8}.segmented-control button{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;color:#536660;background:transparent}.segmented-control button.active,.segmented-control button:hover{color:#17201d;background:#fff;box-shadow:0 1px 2px #14201d14}.record-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.record-card{display:grid;gap:12px;min-height:178px;padding:16px;background:#fff;border:1px solid #dfe7e3;border-radius:8px;box-shadow:0 1px 2px #14201d0d;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.record-card.is-clickable{cursor:pointer}.record-card.is-clickable:hover,.record-card.is-clickable:focus-visible{border-color:#b8d2c9;box-shadow:0 10px 24px #14201d1a;transform:translateY(-1px)}.record-card.is-clickable:focus-visible{outline:2px solid #16745c;outline-offset:3px}.record-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.record-card-head>span:first-child{color:#536660;font-size:13px;font-weight:700}.record-card h3{margin:0;color:#17201d;font-size:18px;line-height:1.2}.record-meta{display:grid;gap:5px;color:#667872;font-size:13px}.record-card .mini-button{justify-self:start;margin-top:auto}.status-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:999px;background:#eef3f1;color:#40534d;font-size:12px;font-weight:700;text-transform:capitalize}.status-active,.status-approved,.status-paid,.status-current{background:#e5f5ee;color:#12664f}.status-review,.status-calculating,.status-requested{background:#fff2d8;color:#7a4b00}.status-locked{background:#e5e9e8;color:#17201d}.status-cancelled,.status-resigned,.status-suspended{background:#fee8e6;color:#9b2c22}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;justify-items:end;background:#17201d47;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer}.record-drawer{width:min(760px,100%);height:100vh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#fff;box-shadow:-20px 0 60px #14201d2e;cursor:default}.drawer-wide{width:min(920px,100%)}.drawer-side{width:min(410px,100%)}.drawer-side-wide{width:min(980px,calc(100vw - 32px))}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px;border-bottom:1px solid #e5ece9;background:#fff}.drawer-header p{margin:6px 0 0;color:#667872}.drawer-body{overflow:auto;padding:20px;background:#fbfdfc}.drawer-body form{display:grid;gap:12px}.side-editor-form{min-height:100%;align-content:start}.side-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:18px;align-items:start}.side-editor-events{position:sticky;top:0;display:grid;gap:12px;max-height:calc(100vh - 176px);overflow:auto;padding:16px;border:1px solid #e0e8e5;border-radius:10px;background:#fff}.side-editor-section{display:grid;gap:12px;padding:14px 0;border-bottom:1px solid #e5ece9}.side-editor-section:first-child{padding-top:0}.compact-field-grid{display:grid;gap:8px}.compact-field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-field-grid.three{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.compact-field-grid.four{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.side-editor-section label,.compact-field-grid label{min-width:0}.side-editor-section input,.side-editor-section select{width:100%;min-width:0;min-height:38px;padding:8px 10px}.side-editor-section input:disabled,.side-editor-section select:disabled,.manual-cell-input:disabled{border-color:#d9e1de;background:#eef2f0;color:#7d8d88;cursor:not-allowed}.editor-mode-tabs{position:sticky;top:-20px;z-index:4;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:10px 0 12px;background:#fbfdfc;border-bottom:1px solid #e5ece9}.editor-mode-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px;border:1px solid #d8e3df;border-radius:8px;background:#fff;color:#40534d;font-weight:700}.editor-mode-tabs button.active{border-color:#067a52;background:#087b5f;color:#fff}.editor-active-panel{padding-bottom:18px}.readonly-field span{display:flex;align-items:center;min-width:0;min-height:38px;padding:8px 10px;border:1px solid #d8e3df;border-radius:8px;background:#f4f7f6;font-weight:800;overflow-wrap:anywhere}.wage-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;padding:10px;border:1px solid #dce8e4;border-radius:10px;background:#f7fbf9}.wage-summary div{min-width:0;padding:8px 10px;border-radius:8px;background:#fff}.wage-summary span,.wage-summary strong{display:block}.wage-summary span{color:#647772;font-size:12px;font-weight:700}.wage-summary strong{margin-top:2px;color:#10251f;font-size:14px;overflow-wrap:anywhere}.readonly-field .positive{color:#07834f}.readonly-field .negative{color:#bd2b25}.preview-strip{padding:10px 12px;border:1px solid #cfe2dc;border-radius:8px;background:#edf8f4;color:#21423a;font-size:13px;font-weight:700;overflow-wrap:anywhere}.document-file-row{display:flex;align-items:center;min-height:34px;margin-top:8px;padding:7px 9px;border:1px solid #e5ece9;border-radius:8px;background:#f8faf9;color:#40534d;font-size:12px;overflow-wrap:anywhere}.side-editor-actions{padding:14px 0}.drawer-footer{padding:14px 20px;border-top:1px solid #e5ece9;background:#fff;box-shadow:0 -12px 30px #14201d0f}.drawer-footer-actions{display:flex;justify-content:flex-end;gap:12px}.event-list-head{display:flex;justify-content:space-between;gap:12px;color:#172722}.event-list-head span{color:#667872;font-size:13px}.event-list-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.event-list-controls select{min-width:0;min-height:36px;padding:7px 9px;border:1px solid #d8e3df;border-radius:8px;background:#fff}.event-list{display:grid;gap:8px}.event-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid #e5ece9;border-radius:8px;background:#fff}.event-row-clickable{cursor:pointer;grid-template-columns:minmax(0,1fr) auto}.event-row strong,.event-row span{display:block}.event-row span{margin-top:2px;color:#667872;font-size:12px}.event-row .positive{color:#07834f}.event-row .negative{color:#bd2b25}.event-row.active{border-color:#16745c;background:#f0faf5}.event-row-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:6px;padding-top:8px;border-top:1px solid #edf2f0}.icon-button.danger{color:#bd2b25}.event-action{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:0 10px;border:1px solid #d7e2de;border-radius:8px;background:#fff;color:#24443b;font-weight:800;cursor:pointer}.event-action.edit{border-color:#bcded2;background:#eff8f4;color:#0f765c}.event-action.delete{border-color:#f0c4c1;background:#fff1f0;color:#bd2b25}.event-action:disabled{opacity:.55;cursor:not-allowed}.ghost-button.compact{min-height:38px;padding:0 12px}@media (max-width: 760px){.compact-field-grid.two,.compact-field-grid.three,.compact-field-grid.four{grid-template-columns:1fr}.editor-mode-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.drawer-side-wide{width:100%}.side-editor-layout{grid-template-columns:1fr}.side-editor-events{position:static;max-height:none}.drawer-footer-actions{display:grid;grid-template-columns:1fr 1fr}}.compact-empty{margin:0;padding:8px 0}.drawer-notice{display:grid;gap:4px;padding:12px 14px;border:1px solid #d7e5df;border-radius:8px;color:#26443b;background:#f2faf6}.drawer-notice strong,.drawer-notice span{display:block}.drawer-notice span{color:#536660;font-size:13px}.drawer-notice-error{border-color:#f0b9b4;color:#8a2118;background:#fff1f0}.drawer-notice-error span{color:#9b2c22}.print-drawer{width:min(980px,100%)}.print-backdrop{background:#17201d6b}.payslip-paper{display:grid;gap:18px;min-height:1120px;padding:38px;color:#17201d;background:#fff;border:1px solid #dfe7e3;border-radius:8px;box-shadow:0 8px 28px #14201d14}.payslip-head{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:18px;align-items:start;padding-bottom:18px;border-bottom:2px solid #172722}.payslip-head h2{margin-top:4px;font-size:28px}.payslip-head span{display:block;margin-top:8px;color:#536660}.qr-box{min-height:150px;display:grid;place-items:center;padding:14px;border:2px solid #172722;border-radius:8px;color:#172722;font-size:12px;font-weight:800;text-align:center;overflow-wrap:anywhere;background:linear-gradient(90deg,rgba(23,39,34,.08) 50%,transparent 0) 0 0 / 16px 16px,linear-gradient(rgba(23,39,34,.08) 50%,transparent 0) 0 0 / 16px 16px,#fff}.payslip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.payslip-grid div{min-height:74px;padding:12px;border:1px solid #e5ece9;border-radius:8px;background:#f8faf9}.payslip-grid strong,.payslip-grid span{display:block}.payslip-grid span{margin-top:5px;color:#536660;overflow-wrap:anywhere}.payslip-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.payslip-columns>div{padding:16px;border:1px solid #e5ece9;border-radius:8px}.payslip-columns h3{margin:0 0 14px;font-size:16px}.payslip-events{display:grid;gap:8px;margin-top:18px;padding:14px;border:1px solid #e5ece9;border-radius:8px}.payslip-events h3{margin:0 0 6px;font-size:16px}.payslip-total{padding:16px;border:1px solid #dfe7e3;border-radius:8px;background:#f8faf9}.signature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:auto;padding-top:70px}.signature-grid div{padding-top:12px;border-top:1px solid #172722;color:#40534d;text-align:center}.drawer-actions{position:sticky;bottom:0;display:flex;justify-content:end;gap:10px;margin-top:18px;padding:14px 0 0;border-top:1px solid #e5ece9;background:#fffffff5}.drawer-actions.static-actions{position:static;justify-content:start;padding-top:16px;border-top:0}.ghost-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid #cbd8d3;border-radius:8px;background:#fff;color:#233631}.ghost-button:disabled{color:#9aaba5;background:#f2f5f4;cursor:not-allowed}.toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.manual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.manual-entry-form{align-content:start}.manual-workspace{gap:16px}.manual-heading span{display:block;margin-top:6px;color:#5b6f68}.manual-table-shell{border:1px solid #dfe7e3;border-radius:8px;background:#fff;overflow:hidden}.manual-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid #e5ece9}.manual-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.manual-controls select{min-height:38px;padding:0 10px;border:1px solid #d7e2de;border-radius:8px;background:#fff;color:#40534d;font-weight:700}.sortable-header{display:inline-flex;align-items:center;gap:6px;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;text-align:left;cursor:pointer}.sortable-header b{color:#7a8e87;font-size:12px}.sortable-header.active{color:#0f765c}.category-manager{display:grid;gap:10px;padding:12px;border:1px solid #dfe9e5;border-radius:8px;background:#f8fbfa}.category-create-row{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:8px}.category-create-row input,.category-create-row select{min-height:38px;padding:0 10px;border:1px solid #d7e2de;border-radius:8px;background:#fff}.category-chip-list{display:flex;flex-wrap:wrap;gap:6px}.category-chip{min-height:30px;padding:0 10px;border:1px solid #cfe1db;border-radius:999px;background:#fff;color:#31564c;font-weight:700}.attendance-grid-wrap{overflow:auto;max-height:62vh;border-top:1px solid #e5ece9;background:#fff}.attendance-grid-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;background:#fff;color:#14241f}.attendance-grid-table th,.attendance-grid-table td{border-right:1px solid #e6eeeb;border-bottom:1px solid #e6eeeb;padding:6px;text-align:center}.attendance-grid-table thead th{position:sticky;top:0;z-index:2;background:#f4f8f6;color:#516761;font-size:12px;font-weight:800}.attendance-employee-head,.attendance-employee-cell{position:sticky;left:0;z-index:3;min-width:230px;max-width:230px;background:#f8fbfa;color:#172722;text-align:left!important}.attendance-employee-cell strong,.attendance-employee-cell span,.attendance-employee-cell small{display:block}.attendance-employee-cell span,.attendance-employee-cell small{color:#667872;font-weight:500}.attendance-cell{display:inline-grid;place-items:center;gap:1px;width:56px;min-height:38px;border:1px solid transparent;border-radius:8px;color:#14342c;font-weight:800;cursor:pointer;box-shadow:inset 0 -1px #0000000a}.attendance-cell small{color:inherit;font-size:10px;font-weight:800;opacity:.78;line-height:1}.attendance-cell.work{border-color:#cfe5dc;background:#edf8f3;color:#0f765c}.attendance-cell.late{border-color:#efd895;background:#fff7dd;color:#8a5f00}.attendance-cell.absence{border-color:#efc0bd;background:#fff0ef;color:#b52722}.attendance-cell.leave{border-color:#efc0bd;background:#fff4f2;color:#b52722}.attendance-cell.leave-paid{border-color:#bdd8ef;background:#edf7ff;color:#1f6091}.attendance-cell.ot{border-color:#9fd9c4;background:#e5f8ef;color:#08764e}.workflow-details{border:1px solid #dfe7e3;border-radius:8px;background:#fff}.workflow-details summary{cursor:pointer;padding:12px 16px;color:#172722;font-weight:800}.workflow-details .workflow-strip{padding:0 16px 16px}.drawer-tabs{position:sticky;top:0;z-index:2;display:flex;gap:8px;flex-wrap:wrap;padding:0 0 14px;margin-bottom:18px;background:#fff;border-bottom:1px solid #edf2f0}.drawer-tabs button{min-height:40px;padding:0 14px;border:1px solid #d7e2de;border-radius:8px;background:#f8fbfa;color:#40534d;font-weight:700}.drawer-tabs button.active,.drawer-tabs button:hover{border-color:#16745c;background:#e8f5ef;color:#0f5b47}.tab-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.tab-section-head h3{margin:0 0 4px;color:#17201d;font-size:18px}.tab-section-head p{margin:0;color:#667872}.employee-contract-tab,.contract-list{display:grid;gap:14px}.contract-highlight{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:16px;border:1px solid #cfe3dc;border-radius:8px;background:#f3fbf7}.contract-highlight span,.contract-row small{display:block;color:#667872;font-size:12px}.contract-highlight strong{display:block;margin:3px 0;color:#17201d;font-size:17px}.contract-highlight small{color:#536660}.contract-row{align-items:center}.recurring-pay-section{display:grid;gap:12px;margin-top:18px}.recurring-pay-list{display:grid;gap:10px}.recurring-pay-row{display:grid;grid-template-columns:minmax(180px,1.2fr) 120px 140px 150px 140px minmax(140px,1fr) minmax(160px,1fr) 44px;gap:10px;align-items:end;padding:12px;border:1px solid #e1e9e6;border-radius:8px;background:#fbfdfc}.recurring-pay-row label{min-width:0}.recurring-remove{margin-bottom:0}.segmented-tabs{display:inline-flex;gap:4px;padding:4px;border:1px solid #dfe7e3;border-radius:8px;background:#f6f9f8}.segmented-tabs button{min-height:34px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:#536660;font-weight:700}.segmented-tabs button.active{background:#fff;color:#137761;box-shadow:0 1px 4px #17272214}.table-search{max-width:280px;min-height:38px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid #d7e2de;border-radius:8px;background:#fff}.table-search input{min-height:34px;padding:0;border:0}.manual-table-wrap{overflow:auto}.manual-input-table th,.manual-input-table td{padding:10px 12px;vertical-align:middle}.manual-input-table th{position:sticky;top:0;z-index:1}.employee-cell{min-width:190px}.employee-cell-button{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.employee-cell-button strong{transition:color .16s ease}.employee-cell-button:hover strong,.employee-cell-button:focus-visible strong{color:#087b5f}.employee-cell-button:focus-visible{outline:2px solid #0b8f6a;outline-offset:3px;border-radius:6px}.employee-cell span{display:block;margin-top:2px;color:#667872;font-size:13px}.manual-input-table tbody tr:hover{background:#f7fbf9}.manual-cell-input{width:92px;min-height:34px;padding:6px 8px;border:1px solid #d7e2de;border-radius:7px;background:#fff;font-size:14px}.manual-cell-input::placeholder{color:#8a9a95}.readonly-table .readonly-metric{display:inline-grid;gap:2px;min-width:78px;cursor:help}.readonly-table .readonly-metric small{color:#667872;font-size:12px;font-weight:700}.readonly-table .readonly-metric.positive,.readonly-table .positive{color:#07834f}.readonly-table .readonly-metric.negative,.readonly-table .negative{color:#bd2b25}.group-row td{background:#f3f8f6;color:#245045;font-weight:800}.mini-chip,.document-pill{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:3px 7px;border-radius:999px;background:#edf5f2;color:#1f6d5b;font-size:12px;font-weight:700}.document-pill{margin-top:0}.manual-summary-bar{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:12px 14px;border-top:1px solid #e5ece9;background:#f8faf9;color:#536660}.manual-summary-bar b{color:#172722}.drawer-tab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.drawer-mini-form{padding:14px;border:1px solid #e5ece9;border-radius:8px;background:#fff}.drawer-mini-form .primary{margin-top:12px}.manual-tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.table-note{padding:12px 14px;color:#5b6f68;background:#f8faf9;border-bottom:1px solid #e5ece9;font-size:13px}.checkbox-line{min-height:40px;display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #dfe7e3;border-radius:8px;background:#f8faf9;color:#233631}.checkbox-line input{width:16px;min-height:16px}.quick-actions{display:flex;flex-wrap:wrap;gap:10px}.quick-actions button{margin-top:0;background:#edf5f2;color:#1f473e}.review-band{display:flex;justify-content:space-between;gap:16px;align-items:end;padding:16px;background:#fff;border:1px solid #dfe7e3;border-radius:8px}.actions{display:flex;gap:10px;flex-wrap:wrap}.table-wrap{overflow:auto;border:1px solid #e5ece9;border-radius:8px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #e8efec;white-space:nowrap}tr:last-child td{border-bottom:0}th{color:#586b64;font-size:13px;font-weight:700;background:#f8faf9}td{color:#233631}tbody tr{transition:background .14s ease}tbody tr:hover{background:#f8fbfa}.selected-row{background:#edf7f3}td strong,.subtext{display:block}.subtext{margin-top:2px;color:#667872;font-size:12px}.money-input{width:106px;min-height:34px;padding:6px 8px}.status-track{display:grid;gap:12px}.status-track div{display:flex;align-items:center;gap:10px;color:#61756e}.status-track span{width:12px;height:12px;border-radius:999px;background:#c9d8d3}.status-track .current{color:#17201d}.status-track .current span{background:#19735d}.rows-list,.summary-list{display:grid;gap:10px}.row-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf2f0}.row-item:last-child{border-bottom:0}.row-item span{display:block;margin-top:2px;color:#667872;font-size:12px}.setting-toggle-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:10px 0;border-bottom:1px solid #edf2f0}.setting-toggle-row small{display:block;margin-top:2px;color:#667872}.setting-toggle-row input{width:18px;min-height:18px}.option-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(90px,.6fr) auto auto;gap:8px;align-items:center}.data-transfer-panel{gap:14px}.import-export-actions,.import-preview-stats{display:flex;flex-wrap:wrap;gap:8px}.file-drop-zone{display:grid;gap:6px;padding:18px;border:1px dashed #b9cbc5;border-radius:10px;background:#f7fbf9;cursor:pointer}.file-drop-zone input{max-width:100%}.file-drop-zone span{color:#667872;font-size:13px}.import-preview-box{display:grid;gap:12px;padding:12px;border:1px solid #e0e8e5;border-radius:10px;background:#fff}.import-preview-stats span{padding:8px 10px;border:1px solid #e0e8e5;border-radius:8px;background:#f8faf9;color:#40534d}.import-preview-stats .positive{color:#07834f}.import-preview-stats .negative{color:#bd2b25}.import-preview-list{display:grid;gap:8px;max-height:280px;overflow:auto}.import-preview-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,auto);gap:12px;align-items:center;padding:10px;border:1px solid #e0e8e5;border-radius:8px}.import-preview-row span{display:block;color:#667872;font-size:13px}.import-preview-row b{color:#07834f;text-align:right}.import-preview-row.has-error{border-color:#f2b8b5;background:#fff4f3}.import-preview-row.has-error b{color:#bd2b25}.mini-button.danger{color:#9b2c22;background:#fee8e6}.summary-list{grid-template-columns:1fr auto;margin:0}.summary-list dt{color:#5b6f68}.summary-list dd{margin:0;font-weight:700}.detail-panel{display:grid;gap:16px;background:#fff;border:1px solid #dfe7e3;border-radius:8px;padding:18px;box-shadow:0 1px 2px #14201d0d}.detail-header{display:flex;justify-content:space-between;gap:16px;align-items:start;padding-bottom:14px;border-bottom:1px solid #edf2f0}.detail-header span{display:block;margin-top:4px;color:#667872}.detail-header>strong{color:#19735d;background:#edf7f3;padding:6px 10px;border-radius:999px;font-size:12px}.detail-block{display:grid;gap:10px}.detail-block h3{margin:0;font-size:14px;color:#233631}.source-breakdown{gap:10px}.source-row{display:flex;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #e5ece9;border-radius:8px;background:#f8faf9}.source-row span{display:block;margin-top:3px;color:#667872;font-size:12px}.source-row b{color:#12664f;white-space:nowrap}.source-row b.negative{color:#9b2c22}.money-rows{display:grid;grid-template-columns:1fr auto;gap:8px 16px;margin:0}.money-rows dt,.detail-total span{color:#60746d}.money-rows dd{margin:0;font-weight:650}.detail-total{display:grid;gap:8px;padding-top:14px;border-top:1px solid #edf2f0}.detail-total div{display:flex;justify-content:space-between;gap:16px}.detail-total div:last-child strong{color:#19735d;font-size:18px}.empty,.empty-state p{color:#667872}.empty-state{display:grid;justify-items:center;gap:10px;padding:56px 20px;background:#fff;border:1px solid #dfe7e3;border-radius:8px;text-align:center}.empty-state.compact{padding:36px 18px}@media (max-width: 1060px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}nav{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar,.metrics,.dashboard-grid,.page-grid,.record-card-grid,.workflow-strip,.contract-highlight,.recurring-pay-row,.drawer-tab-grid,.manual-grid,.manual-tables,.review-grid{grid-template-columns:1fr}.record-toolbar,.tab-section-head,.contract-row,.manual-toolbar{display:grid}.payslip-grid,.payslip-columns,.payslip-head{grid-template-columns:1fr}.qr-box{min-height:96px}.browser-search{width:100%}}@media (max-width: 560px){.content{padding:18px}.form-grid,nav{grid-template-columns:1fr}.record-actions{justify-content:stretch}.record-actions .primary,.search-field{width:100%}h1{font-size:26px}.payslip-paper{min-height:auto;padding:22px}}@media print{@page{size:A4;margin:12mm}body{background:#fff}body *{visibility:hidden}.payslip-paper,.payslip-paper *{visibility:visible}.no-print{display:none!important}.drawer-backdrop,.record-drawer,.drawer-body{position:static;display:block;width:auto;height:auto;padding:0;overflow:visible;background:transparent;box-shadow:none}.payslip-paper{position:absolute;top:0;right:0;bottom:0;left:0;min-height:auto;width:100%;padding:0;border:0;border-radius:0;box-shadow:none}}
