:root{--bg:#f4f7f8;--surface-soft:#f7f9fa;--ink:#18211d;--line:#dce3df;--line-strong:#bdc9c2;--accent:#315b46;--accent-soft:#e7f0ea;--danger:#8f2f2f;--danger-soft:#f8e8e8;--warning:#8a5a12;--warning-soft:#fff2d7;--ok-soft:#e4f4ea;--shadow:0 4px 14px rgba(31,35,32,0.05)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;max-width:100%;overflow-x:hidden;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;max-width:100%}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}a,button,input,select,summary,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid rgba(49,91,70,.3)}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh;width:100%;max-width:100%;transition:grid-template-columns .18s ease}html[data-sidebar=collapsed] .app-shell{grid-template-columns:70px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:240px;height:100dvh;padding:18px 14px;background:var(--surface);overflow-y:auto;overscroll-behavior:contain}.brand{display:flex;gap:10px;align-items:center;margin-bottom:18px}.brand-mark{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:7px;background:var(--accent);color:#fff;font-weight:850;letter-spacing:0}.brand-text{min-width:0}.brand-title{letter-spacing:0;line-height:1.1}.brand-subtitle,.muted{color:var(--muted);font-size:.84rem}.sidebar-toggle{margin-left:auto;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:900;display:grid;place-items:center}.nav-list{display:grid;grid-gap:4px;gap:4px;padding-bottom:12px}.nav-card{display:block;padding:9px 10px;border:1px solid transparent;border-radius:7px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-card:hover{background:var(--surface-soft);border-color:var(--line)}.nav-card strong{display:block;font-size:.88rem;font-weight:760}.nav-card span{display:none}.sidebar-footer{margin-top:14px;padding-bottom:6px}html[data-sidebar=collapsed] .sidebar{width:70px;padding:18px 10px}html[data-sidebar=collapsed] .brand{justify-content:center}html[data-sidebar=collapsed] .brand-text,html[data-sidebar=collapsed] .nav-card strong,html[data-sidebar=collapsed] .sidebar-footer{display:none}html[data-sidebar=collapsed] .sidebar-toggle{margin-left:0}html[data-sidebar=collapsed] .nav-card{height:38px;padding:0;display:grid;place-items:center}html[data-sidebar=collapsed] .nav-card:before{content:"•";color:var(--accent);font-size:1.25rem;line-height:1}.main{grid-column:2;min-width:0;max-width:100%;overflow-x:hidden;padding:26px}.impersonation-banner{position:-webkit-sticky;position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-26px -26px 24px;padding:10px 26px;border-bottom:1px solid #edd19c;background:var(--warning-soft);color:var(--warning)}.impersonation-banner div{display:grid;grid-gap:2px;gap:2px;min-width:0}.impersonation-banner span,.impersonation-banner strong{overflow-wrap:anywhere}.impersonation-banner span{font-size:.78rem}@media (min-width:621px){.impersonation-banner+.page{margin-top:12px}}.page{width:100%;max-width:1280px;min-width:0;margin:0 auto;display:grid;grid-gap:18px;gap:18px}.content-narrow{width:100%;max-width:720px}.page-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.page-header>*{min-width:0}.eyebrow{font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:0}h1,h2,h3,p{margin:0}h1{font-size:2rem;line-height:1.1}h1,h2{letter-spacing:0}h2{font-size:1.15rem}h3{letter-spacing:0}.grid{display:grid;grid-gap:14px;gap:14px;min-width:0}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-2>.primary-link{width:100%}.card{min-width:0;max-width:100%;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.card.soft{box-shadow:none}.card>:first-child{margin-top:0}.card>:last-child{margin-bottom:0}.metric{display:grid;grid-gap:5px;gap:5px}.metric-value{font-size:1.55rem;font-weight:850;letter-spacing:0}.badge-row{display:flex;flex-wrap:wrap;gap:6px}.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);font-size:.76rem;font-weight:760}.badge.ok{background:var(--ok-soft);color:var(--ok);border-color:#b8ddc6}.badge.warning{background:var(--warning-soft);color:var(--warning);border-color:#edd19c}.badge.danger{background:var(--danger-soft);color:var(--danger);border-color:#e7b8b8}.table-wrap{width:100%;min-width:0;max-height:min(70vh,720px);overflow:auto;border:1px solid var(--line);border-radius:7px;background:var(--surface);overscroll-behavior:auto;scrollbar-gutter:stable;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}td,th{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);font-size:.86rem;vertical-align:top}th{position:-webkit-sticky;position:sticky;top:0;z-index:2;color:var(--muted);background:var(--surface-soft);box-shadow:0 1px 0 var(--line);font-size:.72rem;text-transform:uppercase;letter-spacing:0;white-space:nowrap}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcfb}.panel-title{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;min-width:0}.action-list{display:grid;grid-gap:8px;gap:8px}.action-item{padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft)}a.action-item:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.coverage-review{min-width:0;max-width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.coverage-review summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px}.coverage-review summary::-webkit-details-marker{display:none}.coverage-review summary:after{content:"+";display:grid;place-items:center;width:28px;height:28px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:var(--surface-soft);font-weight:900}.coverage-review[open] summary:after{content:"–"}.coverage-review h2{font-size:1rem}.coverage-review-body{border-top:1px solid var(--line);padding:12px 14px}.form-row{display:flex;flex-wrap:wrap;gap:10px}.form-grid,.form-row{align-items:flex-end;min-width:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));grid-gap:12px;gap:12px}.field,.form-grid label{display:grid;grid-gap:6px;gap:6px;min-width:0;flex:1 1 180px}.field label,.form-grid label{color:var(--muted);font-size:.72rem;font-weight:820;text-transform:uppercase;letter-spacing:0}input,select,textarea{width:100%;min-width:0;padding:9px 10px;border:1px solid var(--line-strong);border-radius:6px;color:var(--ink);outline:none}textarea{resize:vertical;line-height:1.35}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px var(--accent-soft)}.form-grid>.span-2,.form-span-full{grid-column:1/-1}.form-panel{display:grid;grid-gap:12px;gap:12px}.card>.form-grid+.action-row{margin-top:12px}input[type=checkbox],input[type=radio]{width:18px;min-width:18px;height:18px;min-height:18px;padding:0;accent-color:var(--accent)}.check-field{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;min-width:220px}.check-field input{min-height:auto;width:16px;height:16px}.button,.primary-button,.primary-link{width:-moz-fit-content;width:fit-content;min-height:40px;padding:9px 12px;border:1px solid var(--accent);border-radius:6px;color:#fff;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.1;text-align:center}.button.ghost:hover,.button.secondary:hover,.primary-link:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.button.small{min-height:32px;padding:7px 9px;font-size:.8rem}.button.ghost{border:1px solid var(--line)}.button.danger{color:#fff}.button.danger:hover{background:#742525}.primary-button.small{min-height:34px;padding:7px 10px;font-size:.8rem}.action-row{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.section-note{margin-top:10px}.details-card>summary,details.card>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;cursor:pointer}.details-card>summary::-webkit-details-marker,details.card>summary::-webkit-details-marker{display:none}.details-card>summary:after,details.card>summary:after{content:"+";color:var(--muted);font-size:1.2rem;line-height:1}.details-card[open]>summary:after,details.card[open]>summary:after{content:"−"}.details-body{display:grid;grid-gap:14px;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.user-table table{min-width:1080px}.user-table td:nth-child(2) select{min-width:170px}.user-table td:nth-child(3) select{min-width:220px}.footer-note{padding:14px;border:1px dashed var(--line-strong);border-radius:8px;color:var(--muted);font-size:.86rem;line-height:1.45}.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px}.tab{min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--ink);font-weight:800}.tab.active{border-color:var(--accent);background:var(--accent);color:#fff}.modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:18px;background:rgba(29,33,31,.38);overflow-x:hidden}.modal-panel{width:min(920px,100%);max-height:min(88vh,820px);overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 22px 60px rgba(29,33,31,.2);padding:18px}.compact-modal{width:min(520px,100%)}.schedule-modal{width:min(980px,100%)}.modal-form{align-items:flex-end}.copy-box{margin-top:8px;padding:12px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;font-weight:900;letter-spacing:0}.print-actions{display:flex;justify-content:flex-end}.payslip-page{max-width:1500px}.payslip-grid{display:grid;grid-template-columns:repeat(2,minmax(520px,1fr));grid-gap:18px;gap:18px;align-items:start}.payslip-card{break-inside:avoid;page-break-inside:avoid;display:grid;grid-gap:16px;gap:16px;padding:24px 26px}.payslip-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.payslip-top h2{font-size:1.45rem;line-height:1}.payslip-meta{margin-top:6px}.payslip-meta,.payslip-net{display:grid;grid-gap:3px;gap:3px}.payslip-net{text-align:right;min-width:140px}.payslip-net span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:0}.payslip-net strong{font-size:1.35rem}.payslip-employee{padding-top:2px}.payslip-employee h3{font-size:1.08rem}.payslip-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:28px;gap:28px;align-items:start}.payslip-columns section{display:grid;grid-gap:6px;gap:6px}.payslip-columns h3{margin-bottom:3px}.payslip-columns p{display:flex;justify-content:space-between;gap:16px;line-height:1.25}.payslip-columns p strong{white-space:nowrap;text-align:right}.leave-lines{display:grid;grid-gap:3px;gap:3px;padding:7px 0 2px;color:var(--muted);font-size:.8rem;line-height:1.25}.leave-lines strong{color:var(--ink);font-size:.8rem}.leave-lines span{display:block}.total-line{padding-top:7px;margin-top:3px;font-weight:800}.payslip-summary,.total-line{border-top:1px solid var(--line)}.payslip-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.payslip-summary div{display:grid;grid-gap:3px;gap:3px}.payslip-summary span{color:var(--muted);font-size:.82rem}.payslip-summary strong{font-size:.96rem}.payslip-signature{display:flex;justify-content:space-between;gap:18px;padding-top:2px}.review-form{grid-gap:12px}.review-form,.review-two-col{display:grid;gap:12px;min-width:0}.review-two-col{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px}.review-form label{display:grid;grid-gap:5px;gap:5px;min-width:0;color:var(--muted);font-size:.72rem;font-weight:820;text-transform:uppercase}.review-form input,.review-form select,.review-form textarea{width:100%;min-width:0}.review-log-card{display:grid;grid-gap:8px;gap:8px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);min-width:0;overflow-wrap:anywhere}.review-log-card header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;min-width:0}.review-log-card p{color:var(--muted);line-height:1.4}.review-score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.review-score-card{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);min-width:0}.review-score-card strong{display:block;font-size:1.1rem}.cutoff-page{gap:16px}.cutoff-hero{align-items:center}.cutoff-toolbar{padding:12px 14px;box-shadow:none}.cutoff-form{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.cutoff-toolbar-label{align-self:center;color:var(--muted);font-size:.78rem;font-weight:850;text-transform:uppercase}.cutoff-field{flex:0 1 220px;min-width:180px}.cutoff-field.compact{flex-basis:150px;min-width:130px}.cutoff-readiness{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;border-radius:10px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow)}.cutoff-readiness.warning{border-color:#edd19c;background:linear-gradient(135deg,#fffaf0,#fff)}.cutoff-readiness.ok{border-color:#b8ddc6;background:linear-gradient(135deg,#f2fbf5,#fff)}.cutoff-readiness strong{font-size:1rem;white-space:nowrap}.cutoff-readiness p{color:var(--muted);margin-top:3px}.cutoff-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.cutoff-metric{display:grid;grid-gap:4px;gap:4px;padding:15px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);position:relative;overflow:hidden}.cutoff-metric:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--line-strong)}.cutoff-metric.ok:before{background:var(--ok)}.cutoff-metric.warning:before{background:var(--warning)}.cutoff-metric.danger:before{background:var(--danger)}.cutoff-metric span{color:var(--muted);font-size:.82rem}.cutoff-metric strong{font-size:1.45rem;line-height:1.05}.cutoff-metric small{color:var(--muted);font-size:.78rem}.cutoff-action-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);grid-gap:14px;gap:14px}.cutoff-draft-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px}.cutoff-draft-card .decision-stack{align-items:flex-start;min-width:210px}.cutoff-draft-card .decision-stack .muted{display:none}.cutoff-draft-card .mini-button{width:auto;min-width:190px;min-height:40px;padding:9px 14px;border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:#fff;font-weight:850}.cutoff-total-card{display:grid;align-content:center;grid-gap:5px;gap:5px}.cutoff-total-card p{color:var(--muted)}.empty-state{grid-gap:6px;gap:6px;min-height:120px;padding:22px;border:1px dashed var(--line-strong);border-radius:10px;background:var(--surface-soft)}.empty-state strong{color:var(--ink);font-size:1rem}@media (max-width:1180px){.payslip-grid{grid-template-columns:1fr}}@media (max-width:980px){.app-shell,html[data-sidebar=collapsed] .app-shell{grid-template-columns:1fr}.sidebar,html[data-sidebar=collapsed] .sidebar{position:static;width:auto;height:auto;max-height:none;border-right:0;border-bottom:1px solid var(--line)}.main{grid-column:auto;padding:18px}.impersonation-banner{margin:-18px -18px 18px;padding-inline:18px}.cutoff-action-grid,.cutoff-metrics,.grid.cols-2,.grid.cols-3,.grid.cols-4,.nav-list,.payslip-columns,.payslip-summary,.review-score-grid,.review-two-col{grid-template-columns:1fr}html[data-sidebar=collapsed] .sidebar{padding:10px 12px;overflow:hidden}html[data-sidebar=collapsed] .brand{margin-bottom:0;justify-content:space-between}html[data-sidebar=collapsed] .brand-text,html[data-sidebar=collapsed] .nav-list,html[data-sidebar=collapsed] .sidebar-footer{display:none}html[data-sidebar=collapsed] .sidebar-toggle{margin-left:auto}html[data-sidebar=collapsed] .nav-card:before{content:none}.coverage-review summary{align-items:flex-start}}@media (max-width:620px){h1{font-size:1.65rem}.cutoff-draft-card,.cutoff-readiness,.page-header,.payslip-signature,.payslip-top,.review-log-card header{display:grid}.page-header>.badge-row{justify-content:flex-start}.payslip-net{text-align:left}.card,.main{padding:12px}.impersonation-banner{position:static;display:grid;margin:-12px -12px 12px;padding:10px 12px}.impersonation-banner .button{width:100%}.page{gap:12px}.modal-backdrop{align-items:stretch;padding:0}.modal-panel{width:100%;max-height:100dvh;border-radius:0;border-left:0;border-right:0;padding:14px}.form-row{display:grid;grid-template-columns:1fr}.form-row>.field,.form-row>a,.form-row>button{width:100%}.form-grid{grid-template-columns:1fr}.form-grid>.span-2,.form-span-full{grid-column:auto}.cutoff-form{display:grid;grid-template-columns:1fr}.cutoff-field,.cutoff-field.compact{min-width:0}.cutoff-readiness strong{white-space:normal}.cutoff-draft-card .decision-stack,.cutoff-draft-card .mini-button{width:100%;min-width:0}}@media print{:root{--bg:#fff;--shadow:none}body{background:#fff}.coverage-review,.nav-list,.page-header,.print-actions,.sidebar{display:none!important}.app-shell{display:block}.main{padding:0;overflow:visible}.page{max-width:none;gap:10px}.payslip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.card{box-shadow:none;border-color:#999;border-radius:8px;padding:12px}.payslip-card{page-break-inside:avoid;break-inside:avoid;gap:9px}.payslip-top h2{font-size:15px}.payslip-meta{gap:3px;margin-top:5px}.payslip-net strong{font-size:14px}.payslip-columns{gap:14px}.payslip-columns section{gap:3px}.leave-lines{font-size:8px;gap:2px;padding:4px 0 0}h1{font-size:22px;letter-spacing:0}h2{font-size:14px}h3{font-size:11px}.muted,.payslip-signature span,.payslip-summary span,p,td,th{font-size:9px}table{min-width:0}}.action-row,.badge-row,.card,.coverage-review,.form-grid,.form-row,.modal-panel,.page,.panel-title,.payslip-card,.review-form,.review-log-card,.table-wrap{min-width:0;max-width:100%}.action-item,.card,.coverage-review,.modal-panel,td,th{overflow-wrap:anywhere}.compliance-table{width:100%;table-layout:fixed}.compliance-table td,.compliance-table th{vertical-align:top}.compliance-table .employee-col{width:150px}.compliance-table .number-col{width:74px;text-align:center}.compliance-table .absences-col{width:105px}.compliance-table .details-col{width:150px}.compliance-table .action-col{width:290px}.compliance-table .memo-col{width:100px}.compliance-details summary{cursor:pointer;font-weight:700;color:var(--brand)}.compliance-details-list{margin-top:8px;max-height:140px;overflow:auto}.compliance-action,.compliance-details-list{font-size:13px;line-height:1.35}.memo-button{min-width:86px;white-space:nowrap;word-break:normal;overflow-wrap:normal;text-align:center}.sidebar{display:flex;flex-direction:column}.sidebar-footer{margin-top:auto;padding-top:16px}.sidebar-button{width:100%;cursor:pointer}.decision-stack{display:grid;grid-gap:6px;gap:6px;min-width:104px}.mini-button{border:1px solid var(--line);border-radius:8px;background:var(--accent);color:#fff;cursor:pointer;font-size:.78rem;font-weight:800;padding:7px 9px}.mini-button:disabled{cursor:not-allowed;opacity:.65}.muted-button{background:var(--surface-soft);color:var(--ink)}.danger-button{background:var(--danger)}.inline-error{color:var(--danger);font-size:.72rem;line-height:1.25}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);display:grid;grid-gap:16px;gap:16px;padding:28px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.login-card .brand-mark{width:44px;height:44px}.login-card .primary-button{width:100%}.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.role-option{display:grid;grid-gap:6px;gap:6px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);cursor:pointer}.role-option input{width:18px;height:18px}.role-option span{color:var(--muted);font-size:.88rem;line-height:1.4}.role-option.selected{border-color:var(--accent);background:var(--accent-soft)}@media (max-width:980px){.role-grid{grid-template-columns:1fr}}@media print{@page{size:A4 landscape;margin:8mm}body,html{margin:0!important;padding:0!important;background:#fff!important}body *{visibility:hidden!important}.payslip-page .payslip-grid,.payslip-page .payslip-grid *,.staff-payslip-print,.staff-payslip-print *,.staff-schedule-print,.staff-schedule-print *{visibility:visible!important}.staff-payslip-print,.staff-schedule-print{position:absolute!important;inset:0 auto auto 0!important;width:100%!important;max-width:none!important;margin:0!important;box-sizing:border-box!important;background:#fff!important;box-shadow:none!important}.staff-payslip-print{min-height:175mm!important;padding:10mm!important;border:1px solid #777!important}.staff-schedule-print{padding:5mm!important;border:0!important}.staff-schedule-print .print-actions{display:none!important}.staff-schedule-print table{width:100%!important;font-size:9px!important}.payslip-page .payslip-grid{display:block!important;grid-template-columns:none!important;gap:0!important;max-width:none!important}.payslip-page .payslip-grid,.payslip-page .payslip-sheet{width:100%!important;margin:0!important;padding:0!important}.payslip-page .payslip-sheet{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-gap:4mm!important;gap:4mm!important;height:175mm!important;overflow:hidden!important;break-inside:avoid-page!important;page-break-inside:avoid!important;break-after:page!important;page-break-after:always!important}.payslip-page .payslip-copy,.payslip-page .payslip-sheet:last-child{break-after:auto!important;page-break-after:auto!important}.payslip-page .payslip-copy{display:block!important;width:100%!important;height:175mm!important;min-width:0!important;min-height:0!important;margin:0!important;padding:4mm!important;box-sizing:border-box!important;overflow:hidden!important;border:1px solid #777!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;break-inside:avoid!important;page-break-inside:avoid!important;font-size:8px!important;line-height:1.1!important}.payslip-page .company-copy{border-left:1px dashed #777!important;border-top:1px solid #777!important}.payslip-page .payslip-copy h2,.payslip-page .payslip-copy h3,.payslip-page .payslip-copy p{margin:0 0 2px!important}.payslip-page .payslip-columns,.payslip-page .payslip-employee,.payslip-page .payslip-signature,.payslip-page .payslip-summary,.payslip-page .payslip-top{margin:3px 0!important;gap:5px!important}.payslip-page .payslip-columns>section,.payslip-page .payslip-summary>div{padding:2px!important}.payslip-page .copy-label{margin-bottom:3px!important;font-size:8px!important}.page-header,.payslip-page>section:not(.payslip-grid),.print-actions,aside,footer,nav{display:none!important}}@media (max-width:980px){.app-shell,html[data-sidebar=collapsed] .app-shell{display:block;min-height:0}.sidebar,html[data-sidebar=collapsed] .sidebar{position:static;display:block;width:auto;height:auto;min-height:0;max-height:none;padding:10px 12px;border-right:0;border-bottom:1px solid var(--line);overflow:visible}html[data-sidebar=collapsed] .sidebar{overflow:hidden}.main{display:block;grid-column:auto;padding:16px 12px 18px}.page{margin:0}}.status-badge{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:26px;padding:4px 9px;border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);font-size:.72rem;font-weight:820;line-height:1.15;white-space:nowrap}.status-badge.ok{background:var(--ok-soft);color:var(--ok);border-color:#b8ddc6}.status-badge.warning{background:var(--warning-soft);color:var(--warning);border-color:#edd19c}.status-badge.danger{background:var(--danger-soft);color:var(--danger);border-color:#e7b8b8}.review-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;min-width:0}.review-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}.review-log-list,.review-side{display:grid;align-content:start;grid-gap:12px;gap:12px;min-width:0}.review-log-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}.review-log-note{min-width:0;line-height:1.35;overflow-wrap:anywhere}.review-table table{min-width:840px}@media (max-width:980px){.review-form-grid,.review-score-grid,.review-two-col{grid-template-columns:1fr}.review-log-card header,.review-toolbar{display:grid}.status-badge{white-space:normal;text-align:center}}.review-rule-strip{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.review-rule-strip span{display:inline-flex;align-items:center;min-height:30px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:.78rem;font-weight:760;line-height:1}.review-queue-item{display:grid;grid-gap:5px;gap:5px;padding:12px 14px;border-radius:9px}.review-queue-item:not(.blocker){grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) auto;align-items:center;column-gap:12px}.review-queue-item:not(.blocker)>.badge,.review-queue-item:not(.blocker)>div,.review-queue-item:not(.blocker)>p,.review-queue-item:not(.blocker)>strong{margin:0}.review-queue-item:not(.blocker)>.badge{grid-column:1;grid-row:1;width:-moz-fit-content;width:fit-content}.review-queue-item:not(.blocker)>strong{grid-column:1;grid-row:1;margin-left:120px;align-self:center}.review-queue-item:not(.blocker)>p:first-of-type{grid-column:2;grid-row:1}.review-queue-item:not(.blocker)>p.muted{display:none}.review-queue-item:not(.blocker)>div:last-child{grid-column:3;grid-row:1}.review-queue-item .decision-stack,.review-queue-item [style*=flex-wrap]{justify-content:flex-end}.cutoff-review-card .table-wrap{overflow-x:auto;overflow-y:visible;overscroll-behavior:auto;touch-action:auto}@media (max-width:980px){.review-queue-item:not(.blocker){grid-template-columns:1fr}.review-queue-item:not(.blocker)>.badge,.review-queue-item:not(.blocker)>div:last-child,.review-queue-item:not(.blocker)>p:first-of-type,.review-queue-item:not(.blocker)>strong{grid-column:auto;grid-row:auto;margin-left:0}.review-queue-item:not(.blocker)>p.muted{display:block}}:root{--bg:#f3f5f2;--surface:#ffffff;--surface-soft:#f7f8f5;--surface-raised:#ffffff;--ink:#17231d;--muted:#68736d;--line:#dce2dd;--line-strong:#c4cec7;--accent:#174f3c;--accent-hover:#103e2f;--accent-soft:#e9f2ed;--accent-softer:#f2f7f4;--danger:#9a3d35;--danger-soft:#fbefed;--warning:#8a6117;--warning-soft:#fff7e5;--ok:#26704c;--ok-soft:#eaf6ef;--info:#456ca7;--info-soft:#edf3fb;--shadow-xs:0 1px 2px rgba(20,37,29,0.04);--shadow:0 8px 28px rgba(20,37,29,0.07);--shadow-lg:0 24px 70px rgba(20,37,29,0.16);--radius-sm:7px;--radius:10px;--radius-lg:14px;--content-max:1440px;--sidebar-width:256px;--sidebar-collapsed-width:76px}html{color-scheme:light;background:var(--bg);scroll-behavior:smooth}body{background:radial-gradient(circle at 94% 2%,rgba(23,79,60,.045),transparent 24rem),var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.45}::selection{background:rgba(23,79,60,.17)}:focus-visible{outline:3px solid rgba(23,79,60,.24);outline-offset:2px}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100dvh}html[data-sidebar=collapsed] .app-shell{grid-template-columns:var(--sidebar-collapsed-width) minmax(0,1fr)}.sidebar{width:var(--sidebar-width);padding:18px 14px 14px;border-right:1px solid var(--line);background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:10px 0 32px rgba(20,37,29,.025)}html[data-sidebar=collapsed] .sidebar{width:var(--sidebar-collapsed-width);padding-inline:10px}.brand{min-height:50px;margin-bottom:16px;padding:3px 2px 13px;border-bottom:1px solid var(--line)}.brand-mark{width:40px;height:40px;flex-basis:40px;border-radius:11px;background:linear-gradient(145deg,#1d614b,var(--accent));box-shadow:0 10px 24px rgba(23,79,60,.2);font-size:.82rem;letter-spacing:.02em}.brand-title{font-size:.94rem;font-weight:850;letter-spacing:-.015em}.brand-subtitle{display:block;margin-top:3px;color:var(--muted);font-size:.69rem;line-height:1.3;white-space:normal}.sidebar-toggle{border-radius:9px;background:var(--surface-soft);box-shadow:var(--shadow-xs)}.main{padding:28px clamp(18px,2.6vw,38px) 48px}.page-header{align-items:center;padding:2px 0 4px}.page-header>div:first-child{display:grid;grid-gap:5px;gap:5px}.eyebrow{color:var(--accent);font-size:.69rem;font-weight:900;letter-spacing:.095em}h1{max-width:22ch;font-size:clamp(1.75rem,2.2vw,2.35rem);line-height:1.08;letter-spacing:-.035em}h2{font-size:1.13rem;line-height:1.25;letter-spacing:-.018em}h3{font-size:.96rem;line-height:1.3;letter-spacing:-.01em}.muted{color:var(--muted);line-height:1.5}.card,.coverage-review,.modal-panel{border-color:var(--line);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow-xs)}.card.soft{border-color:transparent;background:var(--surface-soft)}.card:hover{box-shadow:0 8px 26px rgba(20,37,29,.055)}.metric{position:relative;gap:7px;min-height:112px;align-content:start;overflow:hidden}.metric:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--accent);opacity:.72}.metric-value{font-size:1.65rem;line-height:1.05;letter-spacing:-.035em}.badge{min-height:28px;border-radius:999px;letter-spacing:.005em}.badge.ok{border-color:#bddfc9}.badge.warning{border-color:#ead39d}.badge.danger{border-color:#e8c0bc}.table-wrap{border-radius:var(--radius)}table{background:var(--surface)}th{padding-block:11px;background:#f5f7f4;color:#5d6963;letter-spacing:.07em}td{padding-block:12px}tbody tr{transition:background .14s ease}tbody tr:hover{background:var(--accent-softer)}input,select,textarea{min-height:44px;padding:10px 11px;background:var(--surface);transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}textarea{min-height:88px}input:hover,select:hover,textarea:hover{border-color:#aebbb3}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(23,79,60,.11)}input:disabled,select:disabled,textarea:disabled{background:#f0f3f0;color:#7a847e}.field label,.form-grid label,.review-form label{color:#59645e;font-size:.68rem;font-weight:850;letter-spacing:.055em}.button,.primary-button,.primary-link{border-radius:8px;border-color:var(--accent);background:var(--accent);box-shadow:0 2px 6px rgba(23,79,60,.12);font-size:.84rem;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}.button:hover,.primary-button:hover,.primary-link:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 6px 15px rgba(23,79,60,.16)}.button:active,.primary-button:active,.primary-link:active{transform:translateY(0)}.button.ghost,.button.secondary,.primary-link{box-shadow:none}.button.secondary,.primary-link{background:var(--surface)}.button.ghost{border-color:var(--line);color:var(--ink)}.button.danger{border-color:var(--danger);background:var(--danger)}.button.small,.primary-button.small{min-height:34px;padding:7px 10px}.action-item{border-radius:9px}.tabs{gap:4px}.tab{min-height:36px}.modal-backdrop{z-index:60;padding:22px;background:rgba(16,28,22,.48);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-panel{max-height:min(90dvh,900px);padding:20px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.panel-title{gap:18px;margin-bottom:16px;padding-bottom:13px;border-bottom:1px solid var(--line)}.impersonation-banner{margin-top:-28px;border-color:#e8cc91;background:linear-gradient(90deg,#fff6dc,#fffaf0)}.empty-state,.footer-note{border-radius:var(--radius);background:var(--surface-soft)}@media (max-width:1180px){.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:980px){.app-shell,html[data-sidebar=collapsed] .app-shell{display:block}.sidebar,html[data-sidebar=collapsed] .sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:40;width:100%;height:auto;max-height:100dvh;padding:10px 14px;border-right:0;border-bottom:1px solid var(--line);overflow-y:auto;box-shadow:0 10px 28px rgba(20,37,29,.07)}.brand,html[data-sidebar=collapsed] .brand{min-height:44px;margin:0;padding:0 38px 0 0;border-bottom:0}.brand-mark,html[data-sidebar=collapsed] .brand-mark{width:36px;height:36px;flex-basis:36px;border-radius:9px}.main{padding:20px 16px 36px}html:not([data-sidebar=collapsed]) .sidebar .nav-list{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.page-header{align-items:flex-start}}@media (max-width:620px){body{font-size:14px}.main{padding:14px 12px calc(28px + env(safe-area-inset-bottom))}.page{gap:14px}.page-header{display:grid;grid-gap:12px;gap:12px}.page-header>.action-row,.page-header>.badge-row{width:100%}.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}.card{padding:14px}.metric{min-height:96px}.action-row>.button,.action-row>.primary-button,.action-row>.primary-link{flex:1 1 auto}.modal-backdrop{align-items:end;padding:0}.modal-panel{width:100%;max-height:94dvh;padding:16px 14px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;border-bottom:0}.panel-title{position:-webkit-sticky;position:sticky;top:-16px;z-index:2;margin-inline:-14px;padding:14px;background:var(--surface)}}@media print{body{background:#fff!important}.card,.coverage-review,.modal-panel{box-shadow:none!important}}:root{--bg:#f3f6f4;--surface:#fff;--surface-soft:#f7f9f8;--surface-muted:#eef3f0;--ink:#17211c;--muted:#66716b;--line:#d6dfda;--line-strong:#c2cec7;--accent:#165f49;--accent-hover:#104b3a;--accent-soft:#e8f1ec;--accent-softer:#f1f7f4;--danger:#943838;--danger-soft:#f9eaea;--warning:#8a621d;--warning-soft:#fff5df;--ok:#276749;--ok-soft:#e8f4ec;--info:#315f87;--info-soft:#eaf2f8;--shadow-xs:0 1px 2px rgba(18,34,27,.04);--shadow-sm:0 6px 18px rgba(18,34,27,.055);--shadow-md:0 14px 36px rgba(18,34,27,.09);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--content-max:1320px}body{background:var(--bg);color:var(--ink)}.page{max-width:var(--content-max)}.page,.page-header{gap:20px}.page h1,.page-header h1{font-size:clamp(1.75rem,2.3vw,2.35rem);line-height:1.03;letter-spacing:-.045em}.page-header p,.page>header p{line-height:1.5}.eyebrow{font-size:.68rem;letter-spacing:.11em}.card{padding:18px;border-color:var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.metric-value{letter-spacing:-.04em}.panel-title{margin-bottom:14px}.table-wrap{border-radius:10px;border-color:var(--line);box-shadow:var(--shadow-xs)}th{background:#f4f7f5;font-size:.67rem;letter-spacing:.06em}td,th{padding:11px 13px}tbody tr:hover{background:#f8fbf9}.badge{padding:5px 9px;font-size:.72rem}.badge.neutral{background:var(--surface-soft);border-color:var(--line);color:var(--muted)}.badge.info{background:var(--info-soft);border-color:#c2d8e8;color:var(--info)}input,select,textarea{min-height:42px;border-radius:8px;border-color:var(--line-strong);background:#fff}input:hover,select:hover,textarea:hover{border-color:#aebdb5}.button,.primary-button,.primary-link{min-height:42px;padding:9px 13px;border-radius:9px;box-shadow:0 1px 2px rgba(18,34,27,.05);transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.button:hover,.primary-button:hover,.primary-link:hover{transform:translateY(-1px)}.button,.primary-button{background:var(--accent);border-color:var(--accent)}.button:hover,.primary-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.button.secondary,.primary-link{background:#fff;border-color:var(--line-strong);color:var(--ink)}.button.ghost,.tabs{background:var(--surface-soft)}.tabs{padding:4px;border:1px solid var(--line);border-radius:10px}.tab{border-radius:7px}.modal-panel{border-radius:16px;box-shadow:var(--shadow-md)}.action-item,.footer-note{border-radius:10px}[class*=matrixHeader]{display:grid;grid-gap:3px;gap:3px}[class*=matrixHeader]>strong{font-size:11px;line-height:1.15}[class*=matrixHeader]>span{color:var(--muted);font-size:9px;font-weight:500;line-height:1.2}[class*=employeeCell]:before,[class*=matrixHeader]:after{display:none!important}[class*=employeeCell]{display:flex!important;align-items:center!important;gap:10px!important;padding-left:14px!important}[class*=employeeCell]>div{display:grid;min-width:0}[class*=employeeAvatar]{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:50%;background:#e7d0a6;color:#315544;border:1px solid #dcc38f;font-size:10px;font-weight:900}@media(max-width:920px){.page{gap:16px}.page-header{display:grid}}@media(max-width:620px){.page{gap:14px}.card{padding:14px}.page h1,.page-header h1{font-size:1.75rem}.button,.primary-button,.primary-link{min-height:40px}[class*=employeeAvatar]{width:32px;height:32px;flex-basis:32px}}[class*=controlsCard]{padding:18px 20px!important;border-radius:14px!important;box-shadow:0 1px 2px rgba(18,34,27,.04)!important}[class*=controlsHead]{align-items:center!important;gap:18px!important}[class*=controlsHead] h2{font-size:15px!important}[class*=controlsHead] p{max-width:650px!important;font-size:11px!important}[class*=weekNav]{flex-wrap:nowrap!important}[class*=weekNav]>.button,[class*=weekNav]>a{min-height:36px!important;padding:7px 11px!important;white-space:nowrap!important;font-size:11px!important}[class*=publishInline]{min-width:max-content!important}[class*=publishInline] .button,[class*=publishInline] button{min-height:36px!important;padding:7px 11px!important;white-space:nowrap!important;font-size:11px!important}[class*=legend]{margin-top:12px!important;padding-top:12px!important;border-top:1px solid var(--line)!important}[class*=legend] span{min-height:24px!important;padding:0 8px!important;background:#fff!important;font-size:9px!important}[class*=dragHelp]{margin-top:8px!important;padding:7px 9px!important;border-style:dashed!important;background:#fbfcfb!important}[class*=filterDisclosure]{margin-top:8px!important;padding-top:8px!important}[class*=filterDisclosure] summary{width:max-content;list-style:none;display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)!important;font-size:10px!important}[class*=filterDisclosure] summary::-webkit-details-marker{display:none}[class*=filterDisclosure] summary:before{content:"⌄";color:var(--muted)}[class*=filterDisclosure][open] summary:before{content:"⌃"}.modal-backdrop:has(.schedule-modal){position:fixed;inset:0;z-index:100;display:grid;justify-items:end;align-items:stretch;padding:0;background:rgba(7,28,20,.42);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.schedule-modal{width:min(620px,100vw)!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;overflow:hidden!important;border:0!important;border-left:1px solid var(--line)!important;border-radius:0!important;background:var(--bg)!important;box-shadow:-24px 0 70px rgba(7,28,20,.2)!important;animation:pass1DrawerIn .2s ease both}@keyframes pass1DrawerIn{0%{transform:translateX(28px);opacity:.85}to{transform:translateX(0);opacity:1}}.schedule-modal>.panel-title{position:-webkit-sticky;position:sticky;top:0;z-index:5;margin:0!important;padding:20px 22px 17px!important;align-items:flex-start!important;border-bottom:1px solid var(--line);background:#fff}.schedule-modal>.panel-title h2{margin:4px 0 0;font-size:20px;letter-spacing:-.025em}.schedule-modal>.panel-title p{margin-top:5px;font-size:11px;line-height:1.45}.schedule-modal>.panel-title>.button{width:34px;min-width:34px;min-height:34px;padding:0;border-radius:9px;font-size:0}.schedule-modal>.panel-title>.button:before{content:"×";font-size:20px;line-height:1}.schedule-modal>.footer-note,.schedule-modal>.modal-form,.schedule-modal>.tabs{margin-left:22px;margin-right:22px}.schedule-modal>.tabs{margin-top:16px;margin-bottom:0;position:relative;z-index:2}.schedule-modal>.modal-form{align-content:start;overflow:auto;margin-top:14px;margin-bottom:0;padding:16px 0 96px}.schedule-modal>.modal-form>label{padding:0}.schedule-modal>.modal-form:before{content:"Employee day details";grid-column:1/-1;display:block;margin-bottom:2px;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.schedule-modal>.modal-form>.action-row,.schedule-modal>.modal-form>.button,.schedule-modal>.modal-form>.primary-button{position:-webkit-sticky;position:sticky;bottom:0;z-index:4}.schedule-modal>.modal-form>.primary-button{grid-column:2;justify-self:end}.schedule-modal>.modal-form>.button{grid-column:1;justify-self:start}.schedule-modal>.footer-note{position:absolute;left:22px;right:22px;bottom:72px;z-index:6}.modal-backdrop .compact-modal{width:min(520px,calc(100vw - 28px));max-height:min(84dvh,720px);border-radius:16px;overflow:auto}.app-surface-backdrop{position:fixed;inset:0;z-index:120;display:grid;background:rgba(7,28,20,.44);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.app-surface{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;background:#fff;box-shadow:var(--shadow-md)}.app-drawer-backdrop{justify-items:end;align-items:stretch}.app-drawer{width:min(620px,100vw);height:100dvh;border-left:1px solid var(--line);animation:pass1DrawerIn .2s ease both}.app-modal-backdrop{place-items:center;padding:18px}.app-modal{width:min(560px,calc(100vw - 36px));max-height:min(86dvh,760px);border:1px solid var(--line);border-radius:16px;overflow:hidden}.app-surface-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px 17px;border-bottom:1px solid var(--line);background:#fff}.app-surface-heading h2{margin:4px 0 0;font-size:20px;letter-spacing:-.025em}.app-surface-heading p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.app-surface-close{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted)}.app-surface-close:hover{border-color:var(--line-strong);color:var(--ink)}.app-surface-body{min-height:0;overflow:auto;padding:18px 22px 24px;background:var(--bg)}.app-surface-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 22px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}.app-surface-context{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:16px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}.app-surface-section{overflow:hidden;margin-bottom:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.app-surface-section-header{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border-bottom:1px solid var(--line);background:#fafcfb}.app-surface-section-header>span{width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:900}.app-surface-section-header h3{margin:0;font-size:12px}.app-surface-section-header p{margin:3px 0 0;color:var(--muted);font-size:10px;line-height:1.4}.app-surface-section-body{padding:14px}@media(max-width:1180px){[class*=controlsHead]{align-items:flex-start!important}[class*=weekNav]{flex-wrap:wrap!important}}@media(max-width:620px){[class*=controlsCard]{padding:15px!important}[class*=weekNav]{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%}[class*=weekNav]>*{width:100%!important}.modal-backdrop:has(.schedule-modal){align-items:end}.schedule-modal{width:100vw!important;height:100dvh!important;border-left:0!important}.schedule-modal>.panel-title{padding:16px 16px 14px!important}.schedule-modal>.footer-note,.schedule-modal>.modal-form,.schedule-modal>.tabs{margin-left:14px;margin-right:14px}.schedule-modal>.modal-form{grid-template-columns:1fr!important;padding-bottom:120px}.schedule-modal>.modal-form>.button,.schedule-modal>.modal-form>.primary-button{grid-column:1;width:100%;justify-self:stretch}.modal-backdrop .compact-modal{align-self:end;width:100vw;max-height:92dvh;border-radius:18px 18px 0 0}.app-drawer-backdrop{align-items:stretch}.app-drawer{width:100vw;border-left:0}.app-modal-backdrop{align-items:end;padding:0}.app-modal{width:100vw;max-height:92dvh;border-radius:18px 18px 0 0}.app-surface-header{padding:16px 16px 14px}.app-surface-body{padding:14px 14px 20px}.app-surface-footer{padding:12px 14px calc(12px + env(safe-area-inset-bottom));flex-wrap:wrap}.app-surface-context{grid-template-columns:1fr}}.app-surface-footer-left,.app-surface-footer-right{display:flex;align-items:center;gap:8px}.app-surface-context>div{display:grid;grid-gap:3px;gap:3px;min-width:0}.app-surface-context span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.app-surface-context strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.app-surface-notice{display:grid;grid-gap:3px;gap:3px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);font-size:10px;line-height:1.4}.app-surface-notice strong{color:var(--ink);font-size:10px}.app-surface-notice.warning{border-color:#ead29e;background:var(--warning-soft);color:#765013}.app-surface-notice.info{border-color:#bfd6e7;background:var(--info-soft);color:var(--info)}.app-segmented-control{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:4px;gap:4px;margin-bottom:14px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.app-segmented-control.compact{grid-template-columns:1fr}.app-segmented-control button{min-height:34px;padding:7px 9px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:10px;font-weight:800}.app-segmented-control button:hover{background:#fff;color:var(--ink)}.app-segmented-control button.active{background:#fff;color:var(--accent);box-shadow:0 1px 3px rgba(18,34,27,.08)}.app-surface-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.app-surface-form.single-column{grid-template-columns:1fr}.app-surface-form label{display:grid;grid-gap:5px;gap:5px;min-width:0;color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.app-surface-form label.full{grid-column:1/-1}.app-surface-form input,.app-surface-form select,.app-surface-form textarea{width:100%;font-size:12px;letter-spacing:normal;text-transform:none}.app-state-preview{display:grid;grid-gap:8px;gap:8px;padding:13px;border:1px dashed var(--line-strong);border-radius:10px;background:var(--surface-soft)}.app-state-preview strong{font-size:12px}.app-state-preview p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.app-state-preview label{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.app-surface-footer .button{min-height:38px;padding:8px 12px;font-size:11px}.app-surface-footer .button.danger{background:var(--danger-soft);border-color:#ecc5c5;color:var(--danger)}.app-surface-footer .button.danger:hover{background:#f5dede;border-color:#dfaaaa}.app-modal .app-surface-body{background:#fff}@media(max-width:620px){.app-surface-form{grid-template-columns:1fr}.app-surface-form label.full{grid-column:auto}.app-surface-footer-left,.app-surface-footer-right{width:100%}.app-surface-footer-right{display:grid;grid-template-columns:1fr 1fr}.app-surface-footer-left .button{width:100%}.app-surface-context strong{white-space:normal}.app-segmented-control{grid-template-columns:1fr}.app-surface-footer .button{width:100%}}html[data-app-surface-open],html[data-app-surface-open] body{width:100%;max-width:100vw;overflow:hidden!important;overflow-x:hidden!important}.app-surface-backdrop{width:100vw;max-width:100%;overflow:hidden;box-sizing:border-box}.app-drawer,.app-modal,.app-surface{max-width:100vw;overflow:hidden;box-sizing:border-box}.app-surface-body,.app-surface-footer,.app-surface-form,.app-surface-header,.app-surface-section,.app-surface-section-body{min-width:0;max-width:100%;box-sizing:border-box}.app-surface-body{overflow-x:hidden!important}.app-surface-body input,.app-surface-body select,.app-surface-body textarea{max-width:100%;box-sizing:border-box}.schedule-floating-header{position:fixed;top:0;z-index:115;display:none;height:58px;overflow:hidden;border:1px solid var(--line);border-top:0;background:#fafcfb;box-shadow:0 8px 20px rgba(18,34,27,.12);pointer-events:none}.schedule-floating-header.is-visible{display:block}.schedule-floating-track{display:grid;grid-template-columns:190px repeat(7,minmax(142px,1fr));min-width:1184px;width:100%;height:58px;will-change:transform}.schedule-floating-corner,.schedule-floating-day{display:grid;align-content:center;padding:10px 14px;border-right:1px solid var(--line);background:#fafcfb;font-size:11px;line-height:1.2}.schedule-floating-corner{position:-webkit-sticky;position:sticky;left:0;z-index:2;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.schedule-floating-day strong{font-size:11px}.schedule-floating-day span{margin-top:4px;color:var(--muted);font-size:9px}.schedule-floating-day:last-child{border-right:0}@media(max-width:700px){.schedule-floating-track{grid-template-columns:176px repeat(7,158px);min-width:1282px}}.request-workspace{display:grid;grid-gap:16px;gap:16px}.request-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.request-kpis>div{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:6px 10px;gap:6px 10px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs)}.request-kpis svg{grid-row:1/3;width:34px;height:34px;padding:8px;border-radius:10px;background:var(--accent-soft);color:var(--accent)}.request-kpis span{color:var(--muted);font-size:10px;font-weight:750}.request-kpis strong{font-size:24px;line-height:1}.request-queue-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs)}.request-queue-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line)}.request-queue-head h2{margin:4px 0 0;font-size:16px}.request-queue-head p{margin:5px 0 0;color:var(--muted);font-size:11px}.request-list{display:grid}.request-row{display:grid;grid-template-columns:38px minmax(150px,1.25fr) minmax(120px,.8fr) minmax(130px,1fr) 20px minmax(130px,1fr) auto;align-items:center;grid-gap:12px;gap:12px;width:100%;padding:13px 16px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);text-align:left}.request-row:hover{background:#f8fbf9}.request-row:last-child{border-bottom:0}.request-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#e7d0a6;color:#315544;font-size:10px;font-weight:900;text-transform:uppercase}.request-person,.request-shift,.request-type{display:grid;grid-gap:2px;gap:2px;min-width:0}.request-person strong,.request-shift strong,.request-type strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.request-person small,.request-shift small,.request-shift span,.request-type small{color:var(--muted);font-size:9px}.request-arrow,.request-empty{color:var(--muted)}.request-empty{display:grid;justify-items:center;grid-gap:5px;gap:5px;padding:34px}.request-empty strong{color:var(--ink)}.request-error{display:grid;grid-gap:3px;gap:3px;margin:14px;padding:12px;border:1px solid #e4bcbc;border-radius:10px;background:var(--danger-soft);color:var(--danger)}.request-change-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:12px;gap:12px}.request-change-grid>div{display:grid;grid-gap:4px;gap:4px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.request-change-grid small,.request-change-grid span,.request-note{color:var(--muted);font-size:10px}.request-note{margin:10px 0 0;padding:9px 10px;border:1px dashed var(--line);border-radius:8px;background:#fafcfb}.request-reason{margin:0;line-height:1.55}.request-checks{display:grid;grid-gap:9px;gap:9px;margin-top:12px}.request-checks label{display:flex;align-items:center;gap:8px;font-size:11px}.request-record{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-size:10px}.attendance-import-page{gap:18px}.import-shell{display:grid;grid-gap:16px;gap:16px}.import-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.import-kpi{padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}.import-kpi span{display:block;color:var(--muted);font-size:10px}.import-kpi strong{display:block;margin-top:5px;font-size:23px}.import-stage{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);grid-gap:16px;gap:16px}.import-preview-card,.import-side-card,.import-upload-card{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs)}.import-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:17px 18px;border-bottom:1px solid var(--line)}.import-card-head h2{margin:4px 0 0;font-size:15px}.import-card-head p{margin:4px 0 0;color:var(--muted);font-size:10px}.import-card-body{padding:18px}.import-dropzone{display:grid;justify-items:center;grid-gap:8px;gap:8px;padding:34px 20px;border:1.5px dashed var(--line-strong);border-radius:12px;background:#fafcfb;text-align:center}.import-dropzone input{width:min(100%,360px)}.import-dropzone strong{font-size:13px}.import-dropzone span{color:var(--muted);font-size:10px}.import-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.import-message{margin-top:12px;padding:9px 10px;border-radius:8px;background:var(--surface-soft);color:var(--muted);font-size:10px}.import-message.error{background:var(--danger-soft);color:var(--danger)}.import-side-list{display:grid;grid-gap:10px;gap:10px}.import-side-list>div{display:grid;grid-gap:3px;gap:3px;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.import-side-list strong{font-size:11px}.import-side-list span{color:var(--muted);font-size:9px;line-height:1.45}.import-template-form{display:grid;grid-template-columns:1fr 110px;grid-gap:10px;gap:10px}.import-template-form label{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:10px;font-weight:700}.import-preview-card{overflow:hidden}.import-preview-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line)}.import-preview-summary>div{display:grid;grid-gap:3px;gap:3px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.import-preview-summary span{color:var(--muted);font-size:9px}.import-preview-summary strong{font-size:20px}.operations-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.operations-tabs a{min-height:34px;display:inline-flex;align-items:center;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:10px;font-weight:800}.operations-tabs a[aria-current=page]{border-color:#b9d2c5;background:var(--accent-soft);color:var(--accent)}@media(max-width:1100px){.request-row{grid-template-columns:38px 1.3fr .8fr 1fr auto}.request-arrow,.request-row .request-shift:nth-of-type(2){display:none}.import-stage{grid-template-columns:1fr}.import-kpis,.request-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.import-kpis,.import-preview-summary,.request-kpis{grid-template-columns:1fr 1fr}.request-row{grid-template-columns:36px 1fr auto}.request-arrow,.request-shift,.request-type{display:none}.request-queue-head{display:grid}.request-change-grid{grid-template-columns:1fr}.request-change-grid>svg{transform:rotate(90deg);justify-self:center}.import-template-form{grid-template-columns:1fr}.import-actions>*{width:100%}}.people-page{gap:18px}.people-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.people-kpi{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs)}.people-kpi span{display:block;color:var(--muted);font-size:10px}.people-kpi strong{display:block;margin-top:5px;font-size:24px;letter-spacing:-.035em}.people-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.people-filter{display:grid;grid-template-columns:minmax(220px,1fr) 180px 180px auto;grid-gap:10px;gap:10px;align-items:flex-end;flex:1 1}.people-directory{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs)}.people-directory-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.people-directory-head h2{margin:0;font-size:15px}.people-directory-head p{margin:4px 0 0;color:var(--muted);font-size:10px}.people-table-wrap{overflow:auto}.people-table{min-width:980px}.people-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e7d0a6;color:#315544;font-size:10px;font-weight:900}.people-identity{display:flex;align-items:center;gap:10px}.people-identity div{display:grid}.people-identity small{color:var(--muted)}.people-actions{display:flex;justify-content:flex-end}.people-empty{padding:34px;text-align:center;color:var(--muted)}.people-tabs{display:flex;gap:8px;flex-wrap:wrap}.people-tabs a{min-height:34px;display:inline-flex;align-items:center;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:10px;font-weight:800}.people-tabs a[aria-current=page]{background:var(--accent-soft);border-color:#c9dfd3;color:var(--accent)}.people-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.people-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs)}.people-card h2{margin:0;font-size:14px}.people-card p{margin:4px 0 0;color:var(--muted);font-size:10px}.people-list{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.people-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fafcfb}.people-list-row strong{font-size:11px}.people-list-row span{color:var(--muted);font-size:10px}.review-cycle{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.review-kpi{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.review-kpi strong{display:block;font-size:24px}.review-kpi span{color:var(--muted);font-size:10px}.hr-overview{grid-template-columns:2fr 1fr}.hr-overview,.hr-stack{display:grid;grid-gap:14px;gap:14px}.hr-panel{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.hr-panel>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);background:#fafcfb}.hr-panel>header h2{margin:0;font-size:14px}.hr-panel>header p{margin:3px 0 0;color:var(--muted);font-size:10px}.hr-panel-body{padding:14px 16px}.hr-balance-list{display:grid;grid-gap:8px;gap:8px}.hr-balance-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,2fr);grid-gap:12px;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.hr-balance-row:last-child{border-bottom:0}.hr-balance-row small{display:block;color:var(--muted)}.hr-record-table{min-width:900px}.cash-advance-page .page-header{align-items:flex-start}.cash-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.cash-summary-card{border-radius:14px}.cash-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.cash-advance-card{margin:0}.cash-advance-card.is-closed{opacity:.78}.staff-manage-list{display:grid;grid-gap:8px;gap:8px}.staff-manage-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}.staff-manage-row div{display:grid}.staff-manage-row small{color:var(--muted)}.staff-drawer-form{display:grid;grid-gap:16px;gap:16px}.staff-drawer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.staff-drawer-grid label{display:grid;grid-gap:6px;gap:6px}.staff-drawer-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.staff-drawer-checks label{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fafcfb}.performance-context{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.performance-context>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}.performance-context span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.07em}.performance-context strong{display:block;margin-top:4px;font-size:12px}@media(max-width:1100px){.people-kpis,.review-cycle{grid-template-columns:repeat(2,minmax(0,1fr))}.people-filter{grid-template-columns:1fr 1fr}.people-filter label:first-child{grid-column:1/-1}.cash-card-list,.hr-overview{grid-template-columns:1fr}.performance-context{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.people-card-grid,.people-filter,.people-kpis,.review-cycle{grid-template-columns:1fr}.people-filter label:first-child{grid-column:auto}.people-toolbar{display:grid}.hr-balance-row{grid-template-columns:1fr}.cash-summary-grid{grid-template-columns:1fr 1fr}.performance-context,.staff-drawer-checks,.staff-drawer-grid{grid-template-columns:1fr}}.payroll-page{gap:18px}.payroll-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.payroll-hero h1{margin:5px 0 7px}.payroll-hero p{max-width:760px}.payroll-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.payroll-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.payroll-kpi{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs)}.payroll-kpi span{display:block;color:var(--muted);font-size:10px}.payroll-kpi strong{display:block;margin-top:5px;font-size:24px;letter-spacing:-.035em}.payroll-kpi small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.payroll-toolbar{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs)}.payroll-toolbar form{display:grid;grid-template-columns:auto 180px 150px auto;grid-gap:10px;gap:10px;align-items:flex-end}.payroll-toolbar-label{align-self:center;color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.payroll-overview{display:grid;grid-template-columns:1.2fr .8fr;grid-gap:14px;gap:14px}.payroll-panel{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs)}.payroll-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);background:#fafcfb}.payroll-panel h2{margin:0;font-size:14px}.payroll-panel p{margin:4px 0 0;color:var(--muted);font-size:10px}.payroll-panel-body{padding:14px 16px}.payroll-check-list{display:grid;grid-gap:8px;gap:8px}.payroll-check{display:grid;grid-template-columns:auto 1fr;grid-gap:10px;gap:10px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.payroll-check strong{font-size:11px}.payroll-check p{margin:3px 0 0}.payroll-next-list{display:grid;grid-gap:8px;gap:8px}.payroll-next{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fafcfb}.payroll-next div{display:grid}.payroll-next small{color:var(--muted)}.payroll-table-panel{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs)}.payroll-table-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.payroll-table-panel h2{margin:0;font-size:14px}.payroll-table-panel p{margin:4px 0 0;color:var(--muted);font-size:10px}.run-page{gap:18px}.run-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.run-kpi{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.run-kpi strong{display:block;font-size:24px}.run-kpi span{color:var(--muted);font-size:10px}.run-filter{display:grid;grid-template-columns:180px 170px 170px auto auto;grid-gap:10px;gap:10px;align-items:flex-end}.run-list{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs)}.run-list>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.run-list h2{margin:0;font-size:14px}.run-list p{margin:4px 0 0;color:var(--muted);font-size:10px}.run-table{min-width:980px}.run-period{display:grid}.run-period small{color:var(--muted)}.run-actions{display:flex;gap:6px;flex-wrap:wrap}.cutoff-page{gap:18px}.cutoff-page .cutoff-hero{border:1px solid var(--line);border-radius:16px;padding:18px 20px;background:#fff;box-shadow:var(--shadow-xs)}.cutoff-page .cutoff-toolbar{padding:14px 16px;border-radius:14px}.cutoff-page .cutoff-readiness{border-radius:14px;padding:17px 18px}.cutoff-page .cutoff-readiness h2{margin:4px 0 5px}.cutoff-page .cutoff-metrics{gap:14px}.cutoff-page .cutoff-metric{border-radius:14px;box-shadow:var(--shadow-xs)}.cutoff-page .cutoff-action-grid{gap:14px}.cutoff-page .cutoff-draft-card,.cutoff-page .cutoff-total-card{border-radius:14px}.cutoff-page .cutoff-review-card{border-radius:14px;overflow:hidden}.cutoff-page .review-rule-strip{display:flex;gap:7px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--line);background:#fafcfb}.cutoff-page .review-rule-strip span{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:9px;font-weight:750}.cutoff-page .cutoff-review-card table{min-width:980px}.payslip-page{gap:18px}.payslip-page>.page-header{padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-xs)}.payslip-page>.card{border-radius:14px}.payslip-page>.grid.cols-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.payslip-page>.grid.cols-3>.card{padding:16px;border-radius:14px}.payslip-page>.grid.cols-3>.card strong{display:block;font-size:24px;letter-spacing:-.035em}.payslip-page .action-row{gap:7px}.payslip-page .action-row>a{white-space:nowrap}.payslip-page .table-wrap table{min-width:840px}.payslip-page .table-wrap td:last-child{white-space:nowrap}.payslip-page .panel-title{align-items:flex-start}.payslip-page .panel-title h2{margin:0;font-size:14px}@media(max-width:1100px){.payroll-kpis,.run-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-overview{grid-template-columns:1fr}.run-filter{grid-template-columns:1fr 1fr}.run-filter>:first-child{grid-column:1/-1}.payslip-page>.grid.cols-3{grid-template-columns:1fr 1fr}}@media(max-width:700px){.payroll-hero{display:grid}.payroll-actions{justify-content:flex-start}.payroll-kpis,.payroll-toolbar form,.run-filter,.run-kpis{grid-template-columns:1fr}.run-filter>:first-child{grid-column:auto}.payroll-toolbar-label{align-self:auto}.cutoff-page .cutoff-hero{padding:15px}.cutoff-page .review-rule-strip{display:grid}.payslip-page>.grid.cols-3{grid-template-columns:1fr}.payslip-page>.page-header{padding:15px}}.payroll-run-version-note{border-radius:10px!important;background:#fafcfb!important}.page:has(.payroll-run-version-note){gap:18px}.page:has(.payroll-run-version-note)>.page-header{padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-xs)}.page:has(.payroll-run-version-note)>.page-header .action-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.page:has(.payroll-run-version-note)>.page-header .action-row .button,.page:has(.payroll-run-version-note)>.page-header .action-row .primary-button{min-height:36px;padding:7px 10px;font-size:10px}.page:has(.payroll-run-version-note)>.grid.cols-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.page:has(.payroll-run-version-note)>.grid.cols-4>.card{padding:16px;border-radius:14px}.page:has(.payroll-run-version-note)>.grid.cols-4>.card strong{display:block;color:var(--muted);font-size:10px;font-weight:700}.page:has(.payroll-run-version-note)>.grid.cols-4>.card p{margin:5px 0 0;color:var(--ink);font-size:24px;font-weight:850;letter-spacing:-.035em}.page:has(.payroll-run-version-note)>.grid.cols-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.page:has(.payroll-run-version-note)>.grid.cols-3>.card{padding:14px 16px;border-radius:14px}.page:has(.payroll-run-version-note)>.grid.cols-3>.card strong{display:block;color:var(--muted);font-size:10px}.page:has(.payroll-run-version-note)>.grid.cols-3>.card p{margin:5px 0 0;font-size:14px;font-weight:800}.page:has(.payroll-run-version-note) .danger-card{border-radius:14px}.page:has(.payroll-run-version-note) .cash-advance-panel{border-radius:14px!important;box-shadow:var(--shadow-xs)!important}.page:has(.payroll-run-version-note) .employee-payroll-card{border-radius:12px!important;box-shadow:var(--shadow-xs)!important}.page:has(.payroll-run-version-note) .employee-payroll-toggle{padding:13px 14px}.page:has(.payroll-run-version-note) .employee-payroll-body{background:#f8faf9}.page:has(.payroll-run-version-note) .employee-payroll-columns section{border-radius:10px}.page:has(.payroll-run-version-note) .panel-title{margin-top:2px;padding:0 2px}.page:has(.payroll-run-version-note) .panel-title h2{margin:0;font-size:15px}.page:has(.payroll-run-version-note) .panel-title p{margin:4px 0 0;font-size:10px}.page:has(.payroll-run-version-note) .payroll-run-version-note+section{margin-top:0}@media(max-width:980px){.page:has(.payroll-run-version-note)>.grid.cols-4{grid-template-columns:1fr 1fr}.page:has(.payroll-run-version-note)>.grid.cols-3{grid-template-columns:1fr}}@media(max-width:620px){.page:has(.payroll-run-version-note)>.page-header{padding:15px}.page:has(.payroll-run-version-note)>.grid.cols-4{grid-template-columns:1fr}.page:has(.payroll-run-version-note)>.page-header .action-row{display:grid;grid-template-columns:1fr 1fr}.page:has(.payroll-run-version-note)>.page-header .action-row>*{width:100%}}.report-page,.system-page{gap:18px}.report-hero,.system-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.report-actions,.system-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.report-kpis,.system-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.report-kpi,.system-kpi{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs)}.report-kpi span,.system-kpi span{display:block;color:var(--muted);font-size:10px}.report-kpi strong,.system-kpi strong{display:block;margin-top:5px;font-size:23px;letter-spacing:-.035em}.report-kpi small,.system-kpi small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.report-grid,.system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.report-panel,.system-panel{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs)}.report-panel>header,.system-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);background:#fafcfb}.report-panel h2,.system-panel h2{margin:0;font-size:14px}.report-panel p,.system-panel p{margin:4px 0 0;color:var(--muted);font-size:10px}.report-panel-body,.system-panel-body{padding:14px 16px}.report-catalog,.system-catalog{display:grid;grid-gap:8px;gap:8px}.report-link,.system-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fff}.report-link:hover,.system-link:hover{background:#fafcfb}.report-link div,.system-link div{display:grid}.report-link strong,.system-link strong{font-size:11px}.report-link small,.system-link small{color:var(--muted)}.report-remittance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.report-remittance>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fafcfb}.report-remittance span{display:block;color:var(--muted);font-size:9px}.report-remittance strong{display:block;margin-top:5px;font-size:16px}.system-health{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.system-health>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fafcfb}.system-health span{display:block;color:var(--muted);font-size:9px}.system-health strong{display:block;margin-top:4px;font-size:12px;word-break:break-word}.system-note{padding:11px 12px;border:1px solid #d5e3da;border-radius:10px;background:#f4faf6;color:var(--muted);font-size:10px;line-height:1.45}.backup-shell{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs)}.backup-shell>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);background:#fafcfb}.backup-shell>header h2{margin:0;font-size:14px}.backup-shell>header p{margin:4px 0 0;color:var(--muted);font-size:10px}.backup-body{padding:16px 18px}.settings-tabs{display:flex;gap:8px;flex-wrap:wrap}.settings-tabs a{min-height:34px;display:inline-flex;align-items:center;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:10px;font-weight:800}.settings-tabs a[aria-current=page]{background:var(--accent-soft);border-color:#c9dfd3;color:var(--accent)}.settings-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.settings-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.settings-card h2{margin:0;font-size:14px}.settings-card p{margin:4px 0 0;color:var(--muted);font-size:10px}.settings-facts{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.settings-fact{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fafcfb}.settings-fact div{display:grid}.settings-fact strong{font-size:11px}.settings-fact span{color:var(--muted);font-size:10px;word-break:break-word;text-align:right}.system-table{min-width:880px}@media(max-width:1050px){.report-kpis,.system-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid,.settings-card-list,.system-grid{grid-template-columns:1fr}.report-remittance,.system-health{grid-template-columns:1fr 1fr}}@media(max-width:700px){.report-hero,.system-hero{display:grid}.report-actions,.system-actions{justify-content:flex-start}.report-kpis,.report-remittance,.system-health,.system-kpis{grid-template-columns:1fr}.settings-fact{display:grid}.settings-fact span{text-align:left}}.staff-portal{gap:18px}.staff-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.staff-hero h1{margin:5px 0 7px}.staff-hero p{max-width:700px}.staff-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.staff-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.staff-summary-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs)}.staff-summary-card span{display:block;color:var(--muted);font-size:10px}.staff-summary-card strong{display:block;margin-top:5px;font-size:22px;letter-spacing:-.03em}.staff-summary-card small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.staff-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.staff-quick-link{display:grid;grid-gap:4px;gap:4px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);box-shadow:var(--shadow-xs)}.staff-quick-link strong{font-size:12px}.staff-quick-link span{color:var(--muted);font-size:10px}.staff-quick-link:hover{border-color:#b8c9c0;background:#fbfdfc}.staff-section{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs)}.staff-section>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);background:#fafcfb}.staff-section h2{margin:0;font-size:14px}.staff-section p{margin:4px 0 0;color:var(--muted);font-size:10px}.staff-section-body{padding:14px 16px}.staff-two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.staff-balance-list{display:grid;grid-gap:8px;gap:8px}.staff-balance-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.staff-balance-row div{display:grid}.staff-balance-row small{color:var(--muted)}.staff-form{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.staff-form label{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:10px;font-weight:800}.staff-form label:last-of-type{grid-column:1/-1}.staff-form button{width:max-content}.staff-table{min-width:760px}.staff-status-list{display:grid;grid-gap:8px;gap:8px}.staff-status-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px;border-bottom:1px solid var(--line)}.staff-status-row:last-child{border-bottom:0}.staff-status-row div{display:grid}.staff-status-row small{color:var(--muted)}.staff-payslip-panel{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs)}.staff-payslip-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.staff-payslip-table{min-width:920px}.staff-empty{padding:22px;text-align:center;color:var(--muted)}@media(max-width:1100px){.staff-quick-grid,.staff-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-two-col{grid-template-columns:1fr}}@media(max-width:700px){.staff-hero{display:grid}.staff-actions{justify-content:flex-start}.staff-form,.staff-quick-grid,.staff-summary{grid-template-columns:1fr}.staff-form label:last-of-type{grid-column:auto}.staff-summary-card strong{font-size:20px}}.skip-link{position:fixed;left:16px;top:12px;z-index:1000;transform:translateY(-160%);padding:9px 13px;border-radius:9px;background:var(--accent);color:#fff;font-size:12px;font-weight:800;box-shadow:var(--shadow-md);transition:transform .15s ease}.skip-link:focus{transform:translateY(0)}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid rgba(22,95,73,.28);outline-offset:2px}:where(button,.button,.primary-button,.primary-link)[aria-disabled=true],:where(button,.button,.primary-button,.primary-link)[disabled]{cursor:not-allowed;opacity:.58;transform:none!important}.page{padding-top:20px}.page-header,.page-header>div{min-width:0}.page-header h1{overflow-wrap:anywhere}.page-header .action-row{align-items:center}.table-wrap{max-width:100%;overscroll-behavior:contain}.table-wrap table{width:100%}.table-wrap td,.table-wrap th{vertical-align:top}.table-wrap tbody tr:focus-within{background:#f6faf8}.action-row{min-width:0}.action-row>.button,.action-row>.primary-button,.action-row>.primary-link{max-width:100%}.card:has(>.table-wrap){overflow:hidden}.card>.table-wrap{margin-left:-18px;margin-right:-18px;margin-bottom:-18px;border-left:0;border-right:0;border-bottom:0;border-radius:0}.system-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.system-health-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs)}.system-health-card span{display:block;color:var(--muted);font-size:10px}.system-health-card strong{display:block;margin-top:5px;font-size:22px;letter-spacing:-.03em}.system-health-card small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.system-check-list{display:grid;grid-gap:8px;gap:8px}.system-check-row{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}.system-check-row strong{font-size:11px}.system-check-row p{margin:0;color:var(--muted);font-size:10px;overflow-wrap:anywhere}.legacy-warning{padding:12px 14px;border:1px solid #ead29e;border-radius:11px;background:var(--warning-soft);color:#765013;font-size:11px;line-height:1.5}.legacy-command{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#101b16;color:#d9ebe2;font:500 11px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.legacy-command:after{content:"Terminal";color:#84aa98;font:700 9px/1.2 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.08em}.empty-state{display:grid;place-items:center;min-height:150px;padding:24px;text-align:center;color:var(--muted)}@media(max-width:1000px){.system-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-check-row{grid-template-columns:1fr auto}.system-check-row p{grid-column:1/-1}}@media(max-width:700px){.page{padding-top:14px}.card>.table-wrap{margin-left:-14px;margin-right:-14px;margin-bottom:-14px}.system-check-row,.system-health-grid{grid-template-columns:1fr}.system-check-row>*{grid-column:auto}.legacy-command{grid-template-columns:1fr}.legacy-command:after{display:none}.page-header .action-row{width:100%}.page-header .action-row>*{flex:1 1 auto}}@media(prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}