:root{--color-canvas: #f3f6f4;--color-surface: #fff;--color-text: #14251f;--color-muted: #5d6f67;--color-primary: #087a57;--color-primary-strong: #066346;--color-focus: #0869bd;--color-border: #d7e2dc;--color-border-cool: #dce5ec;--color-border-subtle: #e1e8ee;--color-border-green: #dfeae4;--color-border-green-strong: #d7e5de;--color-border-soft: #e7edf1;--color-border-warm: #d8d6cc;--color-border-blue: #ccd8e1;--color-text-muted-cool: #627180;--color-text-muted-green: #5b6d65;--color-text-faint-cool: #718392;--color-text-faint-green: #62776e;--color-text-muted-dark: #4f6459;--color-text-muted-dark-2: #4a5d54;--color-text-slate: #3c5365;--color-ink-navy: #17364e;--color-ink-navy-2: #19354c;--color-ink-green: #1b4134;--color-accent-green: #13734f;--color-accent-green-2: #4c7666;--color-primary-alt: #187a5b;--color-primary-mid: #16805a;--color-primary-deep: #14704f;--color-primary-deepest: #14553f;--color-success-text: #0d6a47;--color-link-blue: #1b5d85;--color-warning-text: #9a5a00;--color-danger: #b23434;--color-danger-strong: #a52d2d;--color-surface-subtle: #fbfcfd;--color-surface-green: #f7faf8;--color-surface-mint: #eef8f3;--color-sidebar-text: #dbe8e2;--shadow-card: 0 1px 2px rgb(14 37 30 / 5%), 0 10px 28px rgb(14 37 30 / 6%);--shadow-raised: 0 16px 42px rgb(9 32 25 / 18%);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-text);background:var(--color-canvas)}.formula-variable-catalog{overflow:hidden;padding:0}.formula-catalog-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.formula-catalog-heading>div{min-width:0}.formula-catalog-heading input{width:min(300px,100%);min-height:38px}.formula-catalog-groups{gap:12px;padding:16px 20px 20px}details.formula-catalog-group{overflow:hidden;padding:0;border:1px solid var(--color-border-green-strong);border-radius:10px;background:var(--color-surface)}details.formula-catalog-group:nth-child(2n){border-left:1px solid var(--color-border-green-strong)}.formula-catalog-group summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:11px 13px;color:var(--color-ink-green);cursor:pointer;font-size:13px;font-weight:750;list-style:none}.formula-catalog-group summary::-webkit-details-marker{display:none}.formula-catalog-group summary:before{width:8px;height:8px;margin-right:1px;border-right:2px solid var(--color-accent-green-2);border-bottom:2px solid var(--color-accent-green-2);content:"";transform:rotate(-45deg);transition:transform .14s ease}.formula-catalog-group[open] summary{border-bottom:1px solid var(--color-border-green);background:#f4faf7}.formula-catalog-group[open] summary:before{transform:rotate(45deg) translate(-2px,-2px)}.formula-catalog-group summary>span{margin-left:auto;color:#668075;font-variant-numeric:tabular-nums}.formula-token-list{margin:0;padding:5px}.formula-token{align-items:center}.formula-catalog-empty{grid-column:1 / -1;margin:0;padding:12px;border:1px dashed #c9dcd2;border-radius:8px;color:var(--color-text-faint-green);font-size:12px}@media(max-width:768px){.formula-catalog-heading{align-items:stretch;flex-direction:column;gap:12px}.formula-catalog-heading input{width:100%}.formula-catalog-groups{padding:14px}}.payroll-settings-workspace{grid-template-columns:minmax(218px,248px) minmax(0,1fr);align-items:start;gap:18px}.payroll-settings-tabs{display:grid;gap:4px;top:20px;width:100%;padding:7px;overflow:visible;border:1px solid #d8e5de;border-radius:13px;background:#f3f7f5;box-shadow:inset 0 1px #ffffffe0}.payroll-settings-tabs button,.payroll-settings-tabs button:not(nav button){display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;min-height:58px;padding:10px 12px;border:1px solid transparent;border-radius:9px;background:transparent;box-shadow:none;color:#557267;font-size:13px;font-weight:740;letter-spacing:-.01em;text-align:left;white-space:normal;transform:none}.payroll-settings-tabs button:hover:not(.active):not(:disabled),.payroll-settings-tabs button:not(nav button):hover:not(.active):not(:disabled){background:#e9f1ed;box-shadow:none;color:#173d2f;transform:none}.payroll-settings-tabs button.active,.payroll-settings-tabs button.active:not(nav button){border-color:#b9dec9;background:var(--color-surface);box-shadow:0 2px 7px #0f432c17;color:#075d42}.payroll-settings-tab-index{font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:.07em}.payroll-settings-tabs button.active .payroll-settings-tab-index{color:var(--color-primary-mid)}.payroll-settings-tab-label{overflow:hidden;text-overflow:ellipsis}.payroll-settings-tabs button strong{display:grid;min-width:24px;height:24px;padding:0 6px;place-items:center;border-radius:999px;background:#e0ece6;font-variant-numeric:tabular-nums;line-height:1}.payroll-settings-tabs button.active strong{background:#d9f1e4;color:var(--color-primary)}.payroll-settings-tabs button:focus-visible{outline-offset:2px}@media(max-width:980px){.payroll-settings-workspace{grid-template-columns:1fr}}@media(max-width:560px){.payroll-settings-workspace{gap:14px}.payroll-settings-tabs{display:flex;width:100%;padding:4px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:thin}.payroll-settings-tabs button,.payroll-settings-tabs button:not(nav button){flex:0 0 min(78vw,280px);scroll-snap-align:start}}.formula-builder{display:grid;grid-template-columns:1fr;gap:16px;margin-top:18px;padding-top:18px;border-top:1px solid #e2ebe6}.formula-builder-main,.formula-variable-catalog{min-width:0;border:1px solid var(--color-border);border-radius:12px;background:#fbfdfc}.formula-builder-main{padding:16px}.formula-builder-main>label{display:grid;gap:6px}.formula-builder-main input{min-height:44px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px}.formula-builder-hint{margin:10px 0 16px;color:#5b7067!important;font-size:12px;line-height:1.45}.formula-variable-catalog{background:#f6faf8}.formula-catalog-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.formula-catalog-heading,.formula-catalog-group{padding:14px}.formula-catalog-heading{border-bottom:1px solid var(--color-border-green)}.formula-catalog-heading h3,.formula-catalog-group h3{margin:0;color:var(--color-ink-green);font-size:13px}.formula-catalog-heading p,.formula-catalog-group p{margin:5px 0 0;color:var(--color-text-faint-green);font-size:12px;line-height:1.4}.formula-catalog-group{border-top:1px solid var(--color-border-green)}.formula-catalog-group:nth-child(2n){border-left:1px solid var(--color-border-green)}.formula-token-list{display:grid;gap:4px;margin-top:9px}.formula-token{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;min-height:32px!important;padding:6px 8px!important;border:1px solid transparent!important;border-radius:7px!important;background:transparent!important;box-shadow:none!important;color:var(--color-ink-green)!important;text-align:left}.formula-token:hover:not(:disabled),.formula-token:focus-visible{border-color:#a9d3c1!important;background:#e9f6ef!important;transform:none!important}.formula-token code{overflow:hidden;color:var(--color-primary);font-size:12px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.formula-token span{overflow:hidden;max-width:130px;color:#6a7d75;text-align:right;text-overflow:ellipsis;white-space:nowrap}.formula-functions{margin-top:0;padding:0;border:0;background:transparent}.formula-functions h3{margin-bottom:9px}.formula-function-list{display:flex;flex-wrap:wrap;gap:7px}.formula-function{min-height:32px!important;padding:6px 9px!important;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.settings-row-actions{display:flex;justify-content:flex-end;gap:6px;white-space:nowrap}.settings-row-actions button{min-height:31px!important;padding:5px 8px!important;font-size:12px}.settings-editor-body{display:grid;gap:18px;padding:24px;background:#fbfdfc}.settings-editor-section{padding:17px;border:1px solid #dbe8e1;border-radius:12px;background:var(--color-surface)}.settings-editor-section-head{display:grid;gap:3px;margin-bottom:14px}.settings-editor-section-head h3{margin:0;color:#173c2e;font-size:14px}.settings-editor-section-head p{margin:0;color:var(--color-text-faint-green);font-size:12px;line-height:1.45}.settings-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-editor-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-editor-grid label,.settings-editor-wide-field{display:grid;gap:6px;color:#355649;font-size:13px;font-weight:700}.settings-editor-wide-field{width:100%}.settings-editor-section .payroll-settings-checks{grid-column:auto;margin:0;border-color:#dbe8e1;background:#f7fbf9}.settings-editor-section .payroll-settings-checks label{color:#355649;font-size:13px}.settings-editor-body .formula-builder{margin-top:0;padding-top:0;border-top:0}@media(max-width:768px){.settings-editor-body{padding:16px;gap:14px}.settings-editor-section{padding:14px}.settings-editor-grid,.settings-editor-grid--three{grid-template-columns:1fr}}@media(max-width:768px){.formula-builder,.formula-catalog-groups{grid-template-columns:1fr}.formula-catalog-group:nth-child(2n){border-left:0}}*{box-sizing:border-box}body{margin:0;background:var(--color-canvas);text-rendering:optimizeLegibility}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.skip-link{position:fixed;z-index:300;top:-4rem;left:1rem;padding:.7rem 1rem;background:var(--color-primary);color:var(--color-surface);border-radius:0 0 6px 6px;font-weight:700}.skip-link:focus{top:0}.notifications{position:fixed;z-index:200;top:20px;right:20px;display:grid;gap:10px;width:min(390px,calc(100vw - 40px));pointer-events:none}.notification{display:flex;align-items:center;gap:14px;padding:14px 14px 14px 16px;border:1px solid;border-radius:9px;box-shadow:0 10px 28px #0f243638;font-weight:650;pointer-events:auto}.notification span{flex:1}.notification button{width:26px;height:26px;padding:0;border:0;border-radius:5px;background:transparent;color:inherit;font-size:24px;line-height:1;cursor:pointer}.notification-success{border-color:#97dfbf;background:#effbf5;color:#10734f}.notification-error{border-color:#f2a7a7;background:#fff3f3;color:var(--color-danger-strong)}.notification-warning{border-color:#f3c16d;background:#fff8e9;color:var(--color-warning-text)}.shell{--sidebar-width: 248px;min-height:100vh;overflow-x:clip}.shell.sidebar-collapsed{--sidebar-width: 60px}aside{position:fixed;inset:0 auto 0 0;z-index:40;width:var(--sidebar-width);height:100dvh;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto}.sidebar-toggle{position:absolute;display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #456179;background:transparent!important;font-size:22px;line-height:1}.brand{color:#fff}.mark{display:inline-grid;place-items:center;width:30px;height:30px;font-weight:900}nav{display:grid}nav button{display:flex;align-items:center;gap:11px;background:transparent;border:0;text-align:left;padding:11px 12px;font-size:14px}.nav-icon{flex:0 0 auto;width:18px;height:18px;fill:currentColor}.sidebar-bottom{margin-top:auto;padding:12px 0 0;border-top:1px solid #29445d}.logout-button{width:100%;background:transparent!important;border:1px solid #456179!important;text-align:left}.logout-button:hover{color:var(--color-surface)!important}.sidebar-collapsed aside{padding-inline:10px}.sidebar-collapsed .brand{display:none}.sidebar-collapsed .sidebar-toggle{top:16px;right:16px}.sidebar-collapsed nav{margin-top:50px}.sidebar-collapsed nav button,.sidebar-collapsed .logout-button{overflow:hidden;padding-inline:0;text-align:center;min-height:42px}.sidebar-collapsed nav button{justify-content:center}.sidebar-collapsed .logout-button{font-size:0}.sidebar-collapsed .nav-label{display:none}.sidebar-collapsed .nav-icon{width:19px;height:19px}.sidebar-collapsed .logout-button:before{content:"↪";font-size:20px}.sidebar-collapsed .sidebar-bottom{padding-top:10px}.content{max-width:1400px;width:calc(100% - var(--sidebar-width));min-width:0;margin:0 0 0 var(--sidebar-width)}.content.content--workspace{max-width:none}header,.sectionhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}header{position:sticky;top:0;z-index:20}h1{margin:2px 0}h2{margin:0 0 12px;font-size:18px}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.1em}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.cards article,.panel{background:#fff;border:1px solid var(--color-border-subtle)}.cards article{display:grid;gap:10px}.cards span{color:#687887;font-size:13px}.cards strong{font-size:23px}.ok{font-size:15px;color:var(--color-primary-mid)}.panel p{line-height:1.55}.employee-page{display:flex;min-height:calc(100vh - 112px);flex-direction:column}.employee-page-header{margin-bottom:14px}.employee-page-header h1,.employee-page-header h2{margin:0}.employee-page-body{display:flex;flex:1;padding-bottom:24px}.employee-page-footer{min-height:10px;border-top:1px solid var(--color-border-subtle)}.employee-card{flex:1;overflow:hidden}.employee-list-card{display:flex;flex-direction:column}.employee-list-card .table-pagination{margin-top:auto}.employee-detail-header .sectionhead{margin:0}.employee-detail-body{overflow:auto}.employee-detail-card{min-height:480px}.employee-inline-form{max-width:none;margin:0;border:1px solid var(--color-border-cool);border-radius:10px;overflow:hidden;box-shadow:none}.employee-list-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:20px}.employee-list-toolbar input{margin-top:0}.app-page{display:flex;min-height:calc(100vh - 112px);flex-direction:column}.app-page-header{margin-bottom:14px}.app-page-header h1,.app-page-header h2{margin:0}.app-page-body{display:flex;flex:1;padding-bottom:24px}.app-page-footer{min-height:10px;border-top:1px solid var(--color-border-subtle)}.app-page-card{flex:1;overflow:auto}.placeholder-page-card,.organization-page-card,.payroll-periods-page-card{padding:24px}.organization-page-card{display:flex;flex-direction:column;overflow:hidden}.organization-basics-form{position:static;inset:auto;z-index:auto;flex:1 1 auto;min-height:0;margin:0;border:0;border-radius:0}.form-page-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-bottom:20px}.language-form form{display:grid;gap:12px;margin-top:24px}.language-form label{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--color-border-cool);border-radius:7px;color:#29445a;font-weight:650}.language-form button{justify-self:start;margin-top:8px}.language-form-content{width:min(520px,100%)}.payroll-runs-card{padding:24px}.payroll-run-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.payroll-run-tile{display:grid;gap:7px;min-height:130px;padding:17px;border:1px solid var(--color-border-cool)!important;text-align:left}.payroll-run-card{display:grid;gap:8px}.payroll-run-card .payroll-run-tile{width:100%}.payroll-run-delete,.danger-button{border-color:#d56a6a!important;background:#fff7f7!important;color:var(--color-danger-strong)}.payroll-run-delete:hover,.danger-button:hover{border-color:#b73f3f!important;background:#fff0f0!important}.payroll-runs-detail-actions,.payroll-preparation-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.payroll-state-action{display:grid;gap:16px;max-width:none;padding:24px;border:1px solid #d8e5df;border-radius:12px;background:#f8fcfa}.payroll-state-action h2,.payroll-state-action p{margin:0}.payroll-state-action button{justify-self:start}.payroll-state-confirmed{color:#087257;font-weight:700}.payroll-period-link{padding:0;border:0;background:transparent;font:inherit;font-weight:700;text-align:left;cursor:pointer}.payroll-period-link:hover:not(:disabled){text-decoration:underline}.payroll-period-link:disabled{color:#6c7e8c;cursor:default}.payroll-period-row{cursor:pointer}.desktop-table tbody .payroll-period-row:hover td{background:#f1f8f5}.payroll-run-tile strong{font-size:16px}.payroll-run-tile span{color:var(--color-text-muted-cool);font-size:13px;font-weight:400}.payroll-run-tile em{color:var(--color-warning-text);font-size:12px;font-style:normal;font-weight:650}.payroll-runs-detail-header{margin-bottom:14px}.payroll-workflow{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:0 0 26px;padding:0;list-style:none}.payroll-workflow li{display:grid;justify-items:center;gap:7px;color:var(--color-text-faint-cool);font-size:12px;text-align:center}.payroll-workflow button{display:grid;justify-items:center;gap:7px;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit}.payroll-workflow button:not(:disabled){cursor:pointer}.payroll-workflow button:disabled{cursor:default}.payroll-workflow span{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--color-border-blue);border-radius:50%;background:var(--color-surface);color:var(--color-text-faint-cool);font-weight:700}.payroll-workflow .active{color:var(--color-ink-navy);font-weight:650}.payroll-workflow .active span{border-color:var(--color-primary-alt);background:var(--color-primary-alt);color:var(--color-surface)}.payroll-run-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0;border:1px solid var(--color-border-cool);border-radius:8px;overflow:hidden}.payroll-run-summary div{padding:13px 16px;border-right:1px solid var(--color-border-cool)}.payroll-run-summary div:last-child{border:0}.payroll-run-summary span{display:block;color:var(--color-text-faint-cool);font-size:12px}.payroll-run-summary strong{display:block;margin-top:4px;color:var(--color-ink-navy);font-size:18px}.payroll-employee-list{display:grid}.payroll-employee-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid var(--color-border-soft)}.payroll-employee-list article>div{display:grid;gap:3px}.payroll-employee-list strong{color:var(--color-ink-navy)}.payroll-employee-list article span{color:var(--color-text-muted-cool);font-size:13px}.payroll-employee-list .ready>span{color:var(--color-accent-green);font-weight:650}.payroll-employee-list .attention>span{color:var(--color-warning-text);font-weight:650}.payroll-formula-note{margin-top:18px;color:var(--color-text-faint-cool)!important;font-size:13px}.payroll-formula-trace{margin:10px 0 0;color:#466357;font-size:13px}.payroll-formula-trace code{color:var(--color-primary-deepest)}.work-time-workspace{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:18px;align-items:start}.work-time-employee-list{display:grid;overflow:hidden;border:1px solid var(--color-border-cool);border-radius:9px;background:var(--color-surface-subtle)}.work-time-employee-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px;border:0;border-bottom:1px solid #e3ebf0;background:transparent;color:var(--color-ink-navy-2);text-align:left}.work-time-employee-list button:last-child{border-bottom:0}.work-time-employee-list button.selected{box-shadow:inset 3px 0 var(--color-primary-alt)}.work-time-employee-list button>span{display:grid;gap:3px}.work-time-employee-list strong{color:var(--color-ink-navy)}.work-time-employee-list small{color:var(--color-text-muted-cool);font-size:12px}.work-time-employee-list em{font-size:12px;font-style:normal;font-weight:650;white-space:nowrap}.work-time-employee-list em.ready{color:var(--color-accent-green)}.work-time-employee-list em.attention{color:var(--color-warning-text)}.work-card-panel{display:grid;gap:16px;padding:16px;border:1px solid var(--color-border-cool);border-radius:9px;background:var(--color-surface-subtle)}.work-card-panel>.work-time-record-heading button{align-self:start}.work-cards-table{overflow-x:auto;border:1px solid var(--color-border-cool);border-radius:8px;background:var(--color-surface)}.work-cards-table table{min-width:780px;margin:0}.work-cards-table th,.work-cards-table td{padding:10px 12px;white-space:nowrap}.work-card-form{display:grid;gap:14px;padding:16px;border:1px solid #cde3d9;border-radius:8px;background:#f4fbf8}.work-card-form h3{margin:0;color:var(--color-primary-deepest);font-size:16px}.work-card-form label{display:grid;gap:6px;color:var(--color-text-slate);font-size:13px;font-weight:650}.work-card-form input{min-width:0;width:100%}.work-card-form-actions{display:flex;flex-wrap:wrap;gap:8px}.work-time-record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:16px;border:1px solid var(--color-border-cool);border-radius:9px;background:var(--color-surface-subtle)}.work-time-record-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.work-time-record-heading>div{display:grid;gap:3px}.work-time-record-heading strong{color:var(--color-ink-navy)}.work-time-record-heading span{color:var(--color-text-muted-cool);font-size:13px}.work-time-record em{font-size:12px;font-style:normal;font-weight:650}.work-time-record em.ready{color:var(--color-accent-green)}.work-time-record em.attention{color:var(--color-warning-text)}.work-time-fields{display:grid;grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.work-time-record label{display:grid;gap:6px;color:var(--color-text-slate);font-size:13px;font-weight:650}.work-time-record input{min-width:0;width:100%}.work-time-note{grid-column:1 / -1}.work-time-record button{align-self:end}.employee-options-heading,.employee-options-cell{width:74px;text-align:center;white-space:nowrap}.employee-edit-button{display:inline-grid;width:30px;height:30px;margin-right:6px;padding:0;place-items:center;border:1px solid #aac7dc!important;border-radius:6px;background:#f2f8fc!important;color:var(--color-link-blue)!important;font-size:18px;font-weight:600;line-height:1}.employee-edit-button:hover{border-color:var(--color-link-blue)!important;background:var(--color-link-blue)!important;color:var(--color-surface)!important}.employee-delete-button{display:inline-grid;width:30px;height:30px;padding:0;place-items:center;border:1px solid #e5b5b5!important;border-radius:6px;background:#fff5f5!important;color:var(--color-danger)!important;font-size:20px;font-weight:500;line-height:1}.employee-delete-button:hover{border-color:var(--color-danger)!important;background:var(--color-danger)!important;color:var(--color-surface)!important}.table-filter{border:1px solid #bdcad4;border-radius:6px;background:var(--color-surface);font:inherit}.sortable-header{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent!important;color:inherit!important;font:inherit;text-transform:inherit}.sortable-header span{font-size:12px}.table-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:18px;color:var(--color-text-muted-cool);font-size:13px}.table-pagination button{display:inline-grid;width:30px;height:30px;padding:0;place-items:center;border:1px solid var(--color-border-blue)!important;background:var(--color-surface)!important;color:#1a354d!important}.table-pagination button:disabled{cursor:default;opacity:.45}.sectionhead{margin-bottom:20px}button{cursor:pointer}button:not(nav button){color:#fff;padding:10px 15px}.outline{background:#fff!important;border:1px solid var(--color-border-blue)!important}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--color-border-soft)}th{text-transform:uppercase}.login{min-height:100vh;display:grid;place-items:center}.login section{width:min(400px,calc(100% - 32px));padding:38px}.login h1{margin:15px 0 6px}.login p{color:#607181;margin:0 0 25px}.login form{display:grid;gap:15px}.login label{display:grid;gap:6px;font-size:13px;font-weight:650}.login input{border:1px solid #bdcad4;border-radius:6px;font:inherit}.password-field{position:relative;display:block}.login .password-field input{width:100%;padding-right:46px}.password-visibility-toggle{position:absolute;top:50%;right:8px;display:grid;padding:0;place-items:center;transform:translateY(-50%);border:0;background:transparent;cursor:pointer}.password-visibility-toggle:focus-visible{outline:2px solid #16825f;outline-offset:1px}.login small{color:#c03333}.mobile-appbar,.sidebar-overlay,.mobile-record-list{display:none}@media(max-width:1024px){.content{padding-inline:24px}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.shell,.shell.sidebar-collapsed{display:block}aside,.sidebar-collapsed aside{position:fixed;inset:0 auto 0 0;z-index:120;width:min(320px,84vw);min-height:100dvh;padding:22px 16px;transform:translate(-105%);transition:transform .18s ease;box-shadow:12px 0 32px #08182747}.shell.mobile-menu-open aside{transform:translate(0)}.sidebar-toggle{display:none}.brand,.sidebar-collapsed .brand{display:block;margin:0 10px 28px}nav,.sidebar-collapsed nav{display:grid;margin-top:0}.nav-label,.sidebar-collapsed .nav-label{display:inline}nav button{justify-content:flex-start;padding:11px 12px}.sidebar-collapsed nav button{padding-inline:12px;justify-content:flex-start}.sidebar-collapsed .nav-icon{width:18px;height:18px}.sidebar-bottom,.sidebar-collapsed .sidebar-bottom{display:block;margin-top:auto;padding:12px 0 0;border-top:1px solid #29445d}.logout-button,.sidebar-collapsed .logout-button{width:100%;padding-inline:15px!important;font-size:14px;text-align:left}.sidebar-collapsed .logout-button:before{content:none}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;border:0;background:#0818277a}.shell.mobile-menu-open .sidebar-overlay{display:block}.content{width:100%;margin-left:0}.mobile-appbar{position:sticky;top:0;z-index:100;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;margin:0 -14px;padding:8px 14px;border-bottom:1px solid var(--color-border-subtle);background:#f4f7fa}.mobile-appbar-brand{display:inline-flex;align-items:center;gap:7px;color:#11263d;font-weight:800;white-space:nowrap}.mobile-appbar-brand .mark{width:26px;height:26px;border-radius:7px}.mobile-appbar-title{overflow:hidden;color:#566a7b;font-size:13px;font-weight:650;text-align:right;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-trigger{display:inline-grid;width:38px;height:38px;padding:0;place-items:center;border:1px solid #aebfcd;background:var(--color-surface)!important;color:var(--color-ink-navy);font-size:21px}.employee-page,.app-page{min-height:0}.employee-page-header,.app-page-header{margin-bottom:10px}.employee-page-body,.app-page-body{padding-bottom:14px}.employee-card,.app-page-card{min-width:0}.employee-detail-header .sectionhead{align-items:flex-start;flex-wrap:wrap;gap:12px}.employee-list-toolbar,.form-page-toolbar{align-items:stretch;flex-direction:column}.employee-list-toolbar input,.employee-list-toolbar button,.form-page-toolbar .table-filter,.form-page-toolbar button{max-width:none;width:100%}.organization-form-grid{grid-template-columns:1fr!important}.desktop-table{display:none}.mobile-record-list{display:grid;gap:12px}.mobile-record-card{position:relative;display:grid;gap:12px;padding:16px;border:1px solid var(--color-border-cool);border-radius:9px;background:var(--color-surface-subtle)}.mobile-record-card>div:first-child{display:grid;gap:3px;padding-right:36px}.mobile-record-card strong{color:var(--color-ink-navy);font-size:16px}.mobile-record-card span{color:#647686;font-size:13px}.mobile-record-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0}.mobile-record-card dl div{display:grid;gap:3px}.mobile-record-card dt{color:#748392;font-weight:700;text-transform:uppercase}.mobile-record-card dd{margin:0;color:#263f53;font-size:14px}.mobile-record-menu{position:absolute;top:12px;right:12px}.mobile-record-menu summary{display:grid;width:32px;height:32px;place-items:center;border:1px solid #cbd8e1;border-radius:6px;color:#29445a;cursor:pointer;font-size:22px;line-height:1;list-style:none}.mobile-record-menu summary::-webkit-details-marker{display:none}.mobile-record-menu>div{position:absolute;z-index:5;top:38px;right:0;display:grid;gap:6px;min-width:130px;padding:8px;border:1px solid var(--color-border-cool);border-radius:8px;background:var(--color-surface);box-shadow:0 10px 24px #0e23352e}.mobile-record-menu button{width:100%;text-align:left}.mobile-danger-button{background:var(--color-danger)!important}.table-pagination{justify-content:center;flex-wrap:wrap}.cards{grid-template-columns:1fr}}.form-layout{display:flex;flex-direction:column;width:100%;border:1px solid var(--color-border-cool);border-radius:10px;background:var(--color-surface);margin:0;overflow:hidden}.modal-backdrop{position:fixed;inset:0 0 0 var(--sidebar-width);z-index:60;display:grid;place-items:center;padding:32px}.employee-create-modal,.payroll-period-modal{position:relative;inset:auto;width:min(760px,100%);max-height:calc(100vh - 64px)}form.form-layout.payroll-period-modal{position:relative;inset:auto;width:calc(100vw - 64px);max-width:940px;height:min(860px,calc(100dvh - 64px));overflow:hidden}.payroll-period-modal .form-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}.form-header{flex:0 0 auto;padding:18px 20px;border-bottom:1px solid var(--color-border-soft)}.form-header h2{margin:0}.form-header p{margin:5px 0 0;font-size:13px;color:var(--color-text-muted-cool)}.form-body{flex:1 1 auto;padding:20px;overflow:auto}.form-body-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-footer{flex:0 0 auto;display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--color-border-soft)}.employee-actions{display:flex;align-items:center;gap:12px;text-align:right}.employee-actions .outline{flex:0 0 auto;min-height:34px;padding:6px 10px}.payroll-settings-body{display:grid;gap:18px}.payroll-settings-section{max-width:none}.payroll-settings-test-note{margin:0;padding:11px 14px;border:1px solid #efd797;border-radius:8px;background:#fff9e8;color:#6d5310;font-size:13px}.payroll-settings-section{padding:20px}.payroll-settings-section .sectionhead{margin-bottom:14px}.payroll-settings-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.payroll-settings-table{overflow-x:auto;border:1px solid var(--color-border-subtle);border-radius:8px}.payroll-settings-table table{margin:0}.payroll-settings-table td,.payroll-settings-table th{padding:11px 13px}.payroll-settings-table code{color:var(--color-ink-navy-2);font-size:12px}.formula-test-preview{display:grid;gap:10px;margin-top:16px;padding:16px;border:1px solid #9edcc2;border-radius:9px;background:#f1fbf6}.formula-test-preview h3{margin:0;color:#145c43}.formula-test-preview p{margin:5px 0 0;color:#46675a;font-size:13px}.formula-test-preview article{display:grid;grid-template-columns:minmax(130px,.5fr) minmax(0,2fr) minmax(140px,.7fr);gap:12px;align-items:center;padding:12px;border:1px solid #cbe9da;border-radius:7px;background:var(--color-surface)}.formula-test-preview code{overflow-wrap:anywhere;color:var(--color-ink-navy-2)}.formula-test-error{color:var(--color-danger-strong)}.payroll-settings-modal{position:relative;inset:auto;width:min(760px,100%);height:auto;max-height:calc(100vh - 64px)}.payroll-settings-modal label{display:grid;gap:6px;color:var(--color-text-slate);font-size:13px;font-weight:650}.payroll-settings-modal input,.payroll-settings-modal select{width:100%}.payroll-settings-wide-field{grid-column:1 / -1}.payroll-settings-checks{display:grid;grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 14px;padding:12px;border:1px solid var(--color-border-subtle);border-radius:8px;background:#f8fafc}.payroll-settings-checks label{display:flex;align-items:center;gap:7px;font-weight:500}.payroll-settings-checks input{width:auto}@media(max-width:768px){.form-body-grid{grid-template-columns:1fr}.form-footer{justify-content:stretch}.form-footer button{flex:1}.form-layout{left:0}.modal-backdrop{top:0;right:0;bottom:0;left:0;padding:0}.employee-create-modal,.payroll-period-modal{width:100%;height:100dvh;max-height:100dvh}form.form-layout.payroll-period-modal{width:100%;height:100dvh;overflow:hidden}.payroll-runs-card{padding:16px}.payroll-workflow{gap:4px;margin-bottom:20px}.payroll-run-summary{grid-template-columns:1fr}.payroll-run-summary div{border-right:0;border-bottom:1px solid var(--color-border-cool)}.payroll-run-summary div:last-child{border-bottom:0}.payroll-employee-list article{align-items:flex-start;flex-direction:column;gap:5px}.employee-actions{width:100%;justify-content:space-between;text-align:left}.payroll-settings-section{padding:16px}.payroll-settings-section .sectionhead{align-items:flex-start;flex-direction:column;gap:10px}.payroll-settings-section .sectionhead button,.payroll-settings-actions{width:100%}.formula-test-preview article{grid-template-columns:1fr}.payroll-settings-modal{width:100%;height:100dvh;max-height:100dvh}.payroll-settings-checks,.work-time-record,.work-time-workspace{grid-template-columns:1fr}.work-time-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.work-time-record button{width:100%}.work-card-panel{padding:14px}.work-card-panel>.work-time-record-heading{align-items:stretch;flex-direction:column}.work-card-panel>.work-time-record-heading button{width:100%}.work-card-form-actions{display:grid}.work-card-form-actions button{width:100%}}.formula-editor-modal{width:min(1120px,calc(100vw - 64px));height:min(880px,calc(100dvh - 64px));max-height:calc(100dvh - 64px);overflow:hidden}.formula-editor-form{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}.formula-editor-form>.form-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.formula-editor-form>.form-footer{position:relative;z-index:1;box-shadow:0 -6px 14px #0e33260f}.formula-editor-modal .formula-builder{gap:14px}.formula-editor-modal .formula-variable-catalog{overflow:hidden;padding:0}.formula-editor-modal .formula-catalog-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:18px 20px}.formula-editor-modal .formula-catalog-heading>div{min-width:0}.formula-editor-modal .formula-catalog-heading h3{font-size:15px}.formula-editor-modal .formula-catalog-heading input{width:min(300px,100%);min-height:38px}.formula-editor-modal .formula-catalog-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 20px 20px}.formula-editor-modal details.formula-catalog-group{overflow:hidden;padding:0;border:1px solid var(--color-border-green-strong);border-radius:10px;background:var(--color-surface)}.formula-editor-modal details.formula-catalog-group:nth-child(2n){border-left:1px solid var(--color-border-green-strong)}.formula-editor-modal .formula-catalog-group summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:11px 13px;color:var(--color-ink-green);cursor:pointer;font-size:13px;font-weight:750;list-style:none}.formula-editor-modal .formula-catalog-group summary::-webkit-details-marker{display:none}.formula-editor-modal .formula-catalog-group summary:before{width:8px;height:8px;margin-right:1px;border-right:2px solid var(--color-accent-green-2);border-bottom:2px solid var(--color-accent-green-2);content:"";transform:rotate(-45deg);transition:transform .14s ease}.formula-editor-modal .formula-catalog-group[open] summary{border-bottom:1px solid var(--color-border-green);background:#f4faf7}.formula-editor-modal .formula-catalog-group[open] summary:before{transform:rotate(45deg) translate(-2px,-2px)}.formula-editor-modal .formula-catalog-group summary>span{margin-left:auto;color:#668075;font-size:11px;font-variant-numeric:tabular-nums}.formula-editor-modal .formula-token-list{gap:0;margin:0;padding:5px}.formula-editor-modal .formula-token{grid-template-columns:minmax(190px,auto) minmax(0,1fr);align-items:center;min-height:40px!important;padding:7px 9px!important}.formula-editor-modal .formula-token code{overflow:visible;text-overflow:clip;white-space:normal}.formula-editor-modal .formula-token span{max-width:none;overflow:visible;color:#60776c;font-size:12px;text-align:left;text-overflow:clip;white-space:normal}.formula-editor-modal .formula-catalog-empty{grid-column:1 / -1;margin:0;padding:12px;border:1px dashed #c9dcd2;border-radius:8px;color:var(--color-text-faint-green);font-size:12px}@media(max-width:768px){.formula-editor-modal{width:100%;height:100dvh;max-height:100dvh}.formula-editor-modal .formula-catalog-heading{align-items:stretch;flex-direction:column;gap:12px}.formula-editor-modal .formula-catalog-heading input{width:100%}.formula-editor-modal .formula-catalog-groups{grid-template-columns:1fr;padding:14px}.formula-editor-modal .formula-token{grid-template-columns:1fr;gap:2px}}aside{border-right:1px solid rgb(255 255 255 / 8%);background:#102d26;color:var(--color-sidebar-text);padding:24px 14px;box-shadow:10px 0 28px #081f1812}.sidebar-toggle{top:18px;right:13px;border-color:#d8f2e740;border-radius:8px;color:var(--color-sidebar-text)}.sidebar-toggle:hover{background:#ffffff1a!important}.brand{margin:2px 10px 34px;font-size:21px;font-weight:780;letter-spacing:-.03em}.mark{border-radius:9px;background:#58d49c;color:#063124}nav{gap:3px}nav button{border-radius:9px;color:#c7d7d0;font-weight:560;transition:background-color .16s ease,color .16s ease,transform .16s ease}nav button:hover,nav .active{background:#ffffff1f;color:var(--color-surface)}nav .active{box-shadow:inset 3px 0 #58d49c}.sidebar-bottom{border-top-color:#d8f2e72b}.logout-button{border-color:#d8f2e740!important;color:var(--color-sidebar-text)!important}.logout-button:hover{background:#ffffff1a!important}.content{padding:0 36px 36px}header{padding:18px 0 14px;border-bottom:1px solid rgb(215 226 220 / 82%);background:#f3f6f4e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}h1{color:#102a22;font-size:clamp(1.65rem,2vw,2rem);letter-spacing:-.035em}h2{color:#17382e;letter-spacing:-.018em}.eyebrow{font-weight:700}.cards article,.panel{border-color:var(--color-border);border-radius:14px;box-shadow:var(--shadow-card)}.panel{padding:22px}.cards article{padding:20px}.cards strong{color:#12382c}.panel p{color:var(--color-muted)}input,select,textarea{border-color:#b9cbc2!important;border-radius:9px!important;background:var(--color-surface);color:var(--color-text);transition:border-color .16s ease,box-shadow .16s ease}input:hover,select:hover,textarea:hover{border-color:#8eb1a2!important}input:focus,select:focus,textarea:focus{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px #087a5724;outline:none}.table-filter{width:min(340px,100%);min-height:40px;padding:9px 12px;border-color:#b9cbc2}button:not(nav button){min-height:38px;border:1px solid transparent;border-radius:9px;background:var(--color-primary);box-shadow:0 1px 1px #044a322e;font-weight:700;letter-spacing:-.01em;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}button:not(nav button):hover:not(:disabled){background:var(--color-primary-strong);box-shadow:0 5px 14px #087a5730;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.58;box-shadow:none!important;transform:none!important}.outline{border-color:#bfd0c7!important;color:#23433a!important;box-shadow:none!important}.outline:hover:not(:disabled){border-color:#82ae9e!important;background:#f1f7f4!important;color:#0b684b!important}.danger-button,.payroll-run-delete{box-shadow:none!important}th,.work-cards-table th,.payroll-settings-table th{background:var(--color-surface-green);color:#60736a;font-size:11px;letter-spacing:.035em}th,td{border-bottom-color:#e4ece7}tbody tr{transition:background-color .14s ease}tbody tr:hover td{background:#f7fbf8}.sortable-header:hover{color:var(--color-primary)!important;transform:none!important;box-shadow:none!important}.table-pagination button{border-color:#c6d6ce!important;border-radius:8px;box-shadow:none!important}.table-pagination button:hover:not(:disabled){background:var(--color-surface-mint)!important;color:var(--color-primary)!important;transform:none!important}.payroll-run-tile{border-color:var(--color-border)!important;background:#fcfefd!important;color:#17362d;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.payroll-run-tile:hover{border-color:#56b999!important;box-shadow:0 8px 22px #087a571a;transform:translateY(-1px)}.payroll-period-link{color:var(--color-primary)}.payroll-period-link:hover:not(:disabled){color:#05553c}.work-time-employee-list,.work-card-panel,.work-time-record,.work-cards-table{border-color:var(--color-border)}.work-time-employee-list button:hover,.work-time-employee-list button.selected{background:#eff9f4}.login{position:relative;overflow:hidden;background:linear-gradient(135deg,#0c2b23,#123d31 54%,#0a241e)}.login:before{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgb(255 255 255 / 3%) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / 3%) 1px,transparent 1px);background-size:32px 32px;content:"";pointer-events:none}.login section{position:relative;border:1px solid rgb(255 255 255 / 78%);border-radius:18px;background:#fffffff5;box-shadow:0 30px 75px #02161057}.login input{min-height:44px;padding:10px 12px}.password-visibility-toggle{width:34px;height:34px;border-radius:8px;box-shadow:none!important;color:#48645a}.password-visibility-toggle:hover,.password-visibility-toggle:focus-visible{background:#e5f4ed!important;color:#086346!important;transform:translateY(-50%)!important}.password-visibility-toggle svg{width:19px;height:19px;fill:none}.modal-backdrop{background:#081f1894;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.employee-create-modal,.payroll-period-modal,.payroll-settings-modal{border-radius:16px;box-shadow:var(--shadow-raised)}.form-header,.form-footer{background:var(--color-surface-green)}.form-header h2{color:#17382e}@media(max-width:768px){.content{padding:0 14px 20px}header{padding-top:12px}.panel{padding:16px;border-radius:12px}.employee-create-modal,.payroll-period-modal,.payroll-settings-modal{border-radius:0}}.payslip-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;overflow:auto;background:#e8e6df;padding:16px}.payslip-toolbar{display:flex;gap:8px;justify-content:center;margin-bottom:12px}.payslip{background:var(--color-surface);color:#111;max-width:210mm;box-sizing:border-box;margin:0 auto 16px;padding:32px;border:1px solid #cfcdc4;border-radius:4px;break-after:page}.payslip header h2{margin:0 0 4px}.payslip header p{margin:0 0 16px;font-size:.9rem}.payslip-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin:0 0 16px}.payslip-meta dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#555}.payslip-meta dd{margin:0;font-weight:600}.payslip table{width:100%;border-collapse:collapse;margin-bottom:16px}.payslip th,.payslip td{padding:6px 8px;border-bottom:1px solid #ddd;text-align:left}.payslip caption{text-align:left;font-weight:600;padding-bottom:4px}.payslip .amount{text-align:right;font-variant-numeric:tabular-nums}.payslip tfoot th{border-top:2px solid #111}.payslip-note{font-size:.85rem;color:#8a4b00}.payslip-footer{margin-top:24px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;font-size:.85rem}.payslip .payslip-signature{min-width:200px;border-top:1px solid #111;padding-top:4px;text-align:center;margin-top:40px}.payslip-section{margin-bottom:8px}.payslip-section h3{margin:12px 0 6px;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#444;border-bottom:2px solid #111;padding-bottom:2px}.payslip-section table{margin-bottom:8px}.payslip-subhead td{font-weight:600;color:#555;font-size:.8rem}.payslip-strong td{font-weight:700}.payslip-payout td{font-weight:700;font-size:1.15rem;border-bottom:2px solid #111}.payslip-empty{color:#666;font-style:italic;margin:4px 0 8px}.payslip-toggle{display:flex;align-items:center;gap:6px;color:#222;font-size:.9rem}.payslip-delivery{margin-top:16px;padding:10px;background:#f4f2ea;border-radius:4px;font-size:.9rem}.payslip-delivery-done{color:#1b6b2f;font-weight:600}.payslip-delivery-open{color:#8a4b00}.payslip-delivery-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;align-items:center}.payslip-delivery-actions button{margin:0;padding:4px 10px;font-size:.85rem}.payslip .payslip-hours th,.payslip .payslip-hours td{text-align:center}@media(max-width:600px){.payslip{padding:16px}.payslip-meta{grid-template-columns:1fr}}@page{size:A4 portrait;margin:12mm 14mm}@media print{html,body{background:var(--color-surface)!important}body>*:not(.payslip-overlay){display:none!important}.payslip-overlay{position:static;overflow:visible;background:var(--color-surface);padding:0}.payslip-toolbar,.payslip-delivery{display:none!important}.payslip{border:0;border-radius:0;margin:0;padding:0;max-width:none;width:100%;font-size:9.5pt;line-height:1.3;break-after:page;page-break-after:always}.payslip:last-of-type{break-after:auto;page-break-after:auto}.payslip header{background:none!important;border:0;padding:0;margin:0 0 4mm}.payslip header h2{font-size:15pt;margin:0 0 1mm}.payslip header p{font-size:9.5pt;margin:0 0 2mm}.payslip-section{margin-bottom:2mm;break-inside:avoid;page-break-inside:avoid}.payslip-section h3{margin:3mm 0 1.5mm;font-size:8pt}.payslip-meta{gap:1.5mm 8mm;margin:0 0 2mm}.payslip-meta dt{font-size:7pt}.payslip th,.payslip td{padding:1mm 1.5mm}.payslip table{margin-bottom:2mm}.payslip-payout td{font-size:12pt}.payslip-footer{margin-top:6mm}.payslip .payslip-signature{margin-top:10mm}.payslip-note{font-size:8.5pt}.payslip tr{break-inside:avoid;page-break-inside:avoid}.payslip{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.users-table-wrap{overflow-x:auto}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:8px 10px;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.users-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.users-form{display:grid;gap:12px;max-width:480px}.users-form label{display:grid;gap:4px}.users-form .users-check{display:flex;align-items:center;gap:8px}.users-form fieldset{border:1px solid var(--color-border);border-radius:6px;padding:8px 12px;display:grid;gap:6px}.users-permissions{max-height:280px;overflow:auto}.users-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:grid;place-items:center;background:#00000073;padding:16px;overflow:auto}.users-dialog .users-form{background:var(--color-surface);color:inherit;padding:24px;border-radius:8px;width:min(520px,100%);max-height:90vh;overflow:auto}.users-dialog-actions{display:flex;gap:8px}.audit-filters{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0}.audit-filters label{display:grid;gap:4px}.audit-diff{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.audit-diff pre{margin:4px 0 0;max-height:260px;overflow:auto;background:var(--color-canvas);padding:8px;border-radius:6px;font-size:.8rem;white-space:pre-wrap;word-break:break-word}.audit-pager{display:flex;align-items:center;gap:12px;justify-content:center;margin-top:12px}@media(max-width:700px){.audit-diff{grid-template-columns:1fr}}.nav-group{display:grid;gap:4px}.nav-group+.nav-group{margin-top:14px}.nav-group-title{padding:0 12px 4px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#d8f2e785}.nav-label{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.nav-step{display:inline-grid;place-items:center;flex:0 0 auto;width:18px;height:18px;border-radius:50%;background:#d8f2e729;font-weight:700}.nav-badge{flex:0 0 auto;display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;font-weight:800;margin-left:auto}.nav-badge--done{color:var(--color-surface)}.nav-badge--todo,.nav-badge--attention{background:#f0b867;color:#3b2a07}.nav-badge--optional,.sidebar-collapsed .nav-group-title{display:none}.sidebar-collapsed .nav-group+.nav-group{margin-top:8px;padding-top:8px;border-top:1px solid rgb(216 242 231 / 14%)}.sidebar-collapsed .nav-badge{position:absolute;top:4px;right:6px;width:14px;height:14px;font-size:9px}.sidebar-collapsed nav button{position:relative}.chip{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:700;vertical-align:middle}.chip--done{background:#dcf3e8;color:var(--color-success-text)}.chip--todo,.chip--attention{background:#fbecd0;color:#8a4f00}.chip--optional{background:#e8edf0;color:#546a78}.next-step{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px;padding:20px 22px;border:1px solid #b9ddcc;border-left:6px solid var(--color-primary);border-radius:10px;background:var(--color-surface-mint)}.next-step--done{border-color:#c9d6cf;border-left-color:var(--color-text-muted-green);background:#f2f5f3}.next-step h2{margin:2px 0 6px;font-size:20px}.next-step p{margin:0;max-width:62ch;color:#3d4f47}.next-step small{display:block;margin-top:8px;font-weight:600;color:var(--color-success-text)}.next-step-label{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary)}.next-step-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.next-step button{white-space:nowrap;min-height:44px;padding-inline:20px;font-weight:700}.step-hint{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:12px 16px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-green)}.step-hint p{margin:4px 0 0;color:var(--color-text-muted-dark-2);font-size:14px;max-width:70ch}.start-page .app-page-header p{margin:4px 0 0;color:var(--color-text-muted-dark-2)}.start-section{margin:0 0 26px}.start-section-head h2{margin:0;font-size:18px}.start-section-head p{margin:2px 0 12px;color:var(--color-text-muted-green);font-size:14px}.start-section--locked .pipeline{opacity:.55}.setup-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.setup-item{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.setup-item p{margin:4px 0 0;color:var(--color-text-muted-dark-2);font-size:14px}.setup-index{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:2px solid #c8d6ce;font-weight:800;color:var(--color-text-muted-green)}.setup-item--done .setup-index{color:var(--color-surface)}.setup-item--todo{border-color:#ecc98a}.setup-item--todo .setup-index{border-color:#d89a2b;color:#8a4f00}.pipeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.pipeline li{display:grid;justify-items:center;gap:6px;padding:12px 6px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-muted-green);font-size:13px;text-align:center}.pipeline li span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid #c8d6ce;font-weight:800}.pipeline .is-done{color:var(--color-success-text)}.pipeline .is-done span{color:var(--color-surface)}.pipeline .is-current{border-color:var(--color-primary);box-shadow:0 0 0 2px #cdeadd;color:var(--color-text);font-weight:700}.pipeline .is-current span{border-color:var(--color-primary);color:var(--color-primary)}.payroll-workflow .current>button>span{box-shadow:0 0 0 4px #cdeadd;border-color:var(--color-primary);color:var(--color-primary)}.payroll-workflow .current{color:var(--color-primary);font-weight:700}.template-installer{margin:0 0 22px;padding:20px 22px;border:1px solid #b9ddcc;border-left:6px solid var(--color-primary);border-radius:10px;background:var(--color-surface-mint);display:grid;gap:10px}.template-installer h2{margin:0;font-size:18px}.template-installer p{margin:0;max-width:70ch;color:#3d4f47}.template-installer form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;align-items:end}.template-installer label{display:grid;gap:4px;font-size:13px;font-weight:650}.template-installer-actions{display:flex;gap:10px;flex-wrap:wrap;grid-column:1 / -1}.template-installer small{color:var(--color-text-muted-green)}@media(max-width:760px){.next-step,.step-hint{flex-direction:column;align-items:stretch}.next-step-actions{justify-content:stretch}.next-step button{width:100%}.setup-item{grid-template-columns:34px 1fr}.setup-item button{grid-column:1 / -1}.pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}}.start-page .app-page-body{display:block}.start-page .app-page-body>*{max-width:none}.step-hint{max-width:none;width:100%;box-sizing:border-box}.payroll-settings-table table{min-width:960px}.payroll-settings-table code{display:block;min-width:300px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.payroll-settings-table td strong{white-space:nowrap}.result-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:8px 0 16px}.result-stats>div{background:var(--color-surface, var(--color-surface));border:1px solid var(--color-border, var(--color-border-warm));border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}.result-stats span{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.result-stats strong{font-size:1.25rem;font-variant-numeric:tabular-nums}.result-stats small{opacity:.6;font-size:.75rem}.result-toolbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-bottom:12px}.result-toolbar input{max-width:280px;margin:0}.result-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}.result-toolbar-actions button,.result-table button{margin:0}.result-table .amount{text-align:right;font-variant-numeric:tabular-nums}.result-table tfoot th{border-top:2px solid currentColor}.result-muted{opacity:.6}.result-badge{display:inline-block;padding:1px 10px;border-radius:999px;font-size:.8rem;background:#eee9dc;color:#7a5200}.result-badge-done{background:#dff3e4;color:#1b6b2f}.link-button{background:none;border:0;padding:0;margin:0;color:inherit;font-weight:600;text-decoration:underline;cursor:pointer;width:auto}.result-modal{background:var(--color-surface, var(--color-surface));color:inherit;padding:24px;border-radius:8px;width:min(640px,100%);max-height:90vh;overflow:auto}.result-modal-head{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-bottom:8px}.result-modal-head h2,.result-modal-head button{margin:0}.result-block h4{margin:14px 0 4px;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.result-block table{width:100%;margin:0}.result-block .amount{text-align:right;font-variant-numeric:tabular-nums}.result-block-strong{margin-top:12px;border-top:2px solid currentColor;font-weight:700}.run-summary{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));margin-top:16px}.run-summary .result-block th{text-align:left;font-size:.8rem;opacity:.7}.run-summary .result-block th.amount{text-align:right}.run-summary-total td{font-weight:700;border-top:1px solid #dce5ec}.result-trace{margin-top:16px;font-size:.85rem}.result-trace summary{cursor:pointer}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}button,a,summary,select,input{touch-action:manipulation}@media screen and (max-width:768px){main{overflow-wrap:anywhere}main input:not([type=checkbox]):not([type=radio]),main select,main textarea,.users-dialog input:not([type=checkbox]):not([type=radio]),.users-dialog select,.users-dialog textarea{font-size:16px!important;min-height:44px}main button,main summary,.users-dialog button,.result-modal button,.payslip-toolbar button{min-height:44px}.users-actions button,.payroll-settings-table button,.payroll-settings-table td button{min-height:40px!important;padding-inline:12px}.sectionhead{flex-wrap:wrap;gap:8px}.app-page-header{flex-direction:column;align-items:flex-start;gap:4px}.app-page-body{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.mobile-appbar{padding-top:env(safe-area-inset-top)}.payroll-settings-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.payroll-settings-tabs button{flex:0 0 auto;scroll-snap-align:start}.payroll-settings-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.result-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.result-stats strong{font-size:1.05rem}.result-toolbar{flex-direction:column;align-items:stretch}.result-toolbar input{max-width:none;width:100%}.result-toolbar-actions{display:grid;grid-template-columns:1fr}.result-toolbar-actions button{width:100%}.result-table,.result-table tbody,.result-table tfoot,.result-table tr,.result-table td,.result-table th{display:block;width:100%;box-sizing:border-box}.result-table thead{display:none}.result-table tbody tr{border:1px solid var(--color-border, var(--color-border-warm));border-radius:8px;padding:8px 12px;margin-bottom:10px;background:var(--color-surface, var(--color-surface))}.result-table td{display:flex;justify-content:space-between;gap:12px;border:0;padding:4px 0;text-align:right}.result-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted-green);text-align:left;font-size:.85rem}.result-table td:first-child{font-size:1.05rem;justify-content:flex-start;flex-wrap:wrap;text-align:left}.result-table .result-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:8px}.result-table tfoot tr{padding:8px 12px;border-top:2px solid currentColor}.result-table tfoot th{display:flex;justify-content:space-between;border:0;padding:2px 0}.result-table tfoot th:last-child{display:none}.result-table tfoot th:first-child:after{content:""}.users-dialog{padding:0;place-items:stretch}.users-dialog .users-form,.result-modal{width:100%;max-width:none;min-height:100%;max-height:none;border-radius:0;padding:16px 16px calc(24px + env(safe-area-inset-bottom));box-sizing:border-box}.result-modal-head{position:sticky;top:0;background:var(--color-surface, var(--color-surface));padding:8px 0;z-index:1}.result-modal-head .users-dialog-actions{width:100%}.result-modal-head .users-dialog-actions button{flex:1}.users-dialog-actions{flex-wrap:wrap}.users-dialog-actions button{flex:1 1 140px}.payslip-overlay{padding:0}.payslip-toolbar{position:sticky;top:0;z-index:2;flex-wrap:wrap;margin:0;padding:8px 12px;background:#e8e6df}.payslip{margin:0 0 12px;border-radius:0;border-left:0;border-right:0;padding:16px;font-size:14px}.payslip-footer{flex-direction:column;align-items:stretch}.payslip-delivery-actions button,.payslip-delivery-actions a{flex:1 1 140px;text-align:center}.payslip-delivery-actions button{min-height:44px}.payslip th,.payslip td{padding:6px 4px}}@media(max-width:340px){.result-stats,.pipeline{grid-template-columns:1fr}}@media screen and (max-width:768px){.users-table-wrap{overflow-x:visible}.users-table:not(.result-table),.users-table:not(.result-table) tbody,.users-table:not(.result-table) tr,.users-table:not(.result-table) td{display:block;width:100%;box-sizing:border-box}.users-table:not(.result-table) thead{display:none}.users-table:not(.result-table) tbody tr{border:1px solid var(--color-border, var(--color-border-warm));border-radius:8px;padding:8px 12px;margin-bottom:10px;background:var(--color-surface, var(--color-surface))}.users-table:not(.result-table) td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border:0;padding:5px 0;text-align:right}.users-table:not(.result-table) td[data-label]:before{content:attr(data-label);flex:0 0 38%;max-width:38%;color:var(--color-text-muted-green);font-size:.8rem;text-align:left}.users-table:not(.result-table) td:first-child{font-weight:600;font-size:1.02rem}.users-table:not(.result-table) td.users-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:8px}.users-table:not(.result-table) td.users-actions:empty{display:none}.users-table td[colspan]{display:block;text-align:left}}.app-page-card .users-table .amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.app-page-card h3{margin:18px 0 6px;font-size:1rem}.documentation-page .app-page-body{display:block}.documentation-page .documentation-intro{margin:0 0 14px;color:var(--color-muted)}.documentation-page .payroll-settings-workspace{display:block;width:100%}.documentation-page .payroll-settings-tabs{position:static;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:16px}.documentation-page .payroll-settings-tabs button{min-height:48px}.documentation-page .app-page-card{min-width:0;overflow:visible}@media(min-width:769px){.documentation-page .users-table th:last-child,.documentation-page .users-table td:last-child{white-space:nowrap}}.documentation-page .payroll-settings-tabs+.payroll-settings-tabs{margin-top:-6px}.documentation-page .documentation-note{padding:10px 14px;border-left:3px solid var(--color-primary-mid);border-radius:6px;background:#eef6f1;color:#1d3a2e}.documentation-page .documentation-table td:first-child{font-weight:600}.documentation-page .app-page-card ol,.documentation-page .app-page-card ul{padding-left:22px}.documentation-page .app-page-card li{margin:4px 0}.confirm-dialog .users-form{max-width:440px}.confirm-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.confirm-dialog button.danger{background:#b42318;border-color:#b42318;color:var(--color-surface)}.confirm-dialog button.danger:hover:not(:disabled){background:#912018;border-color:#912018}@media(max-width:768px){.content .payroll-settings-tabs{flex-wrap:wrap;overflow:visible;scroll-snap-type:none}.content .payroll-settings-tabs button{flex:1 1 calc(50% - 4px);min-height:44px}.content .documentation-page .users-table:not(.result-table) td{flex-direction:column;align-items:flex-start;gap:2px;text-align:left;overflow-wrap:anywhere}.content .documentation-page .users-table:not(.result-table) td[data-label]:before{flex:none;max-width:100%}.content .documentation-page .users-table td.amount{align-items:flex-end;text-align:right}.content button:not(.mobile-menu-trigger),.content select,.content input:not([type=checkbox]):not([type=radio]):not([type=hidden]){min-height:44px}}.eyebrow{font-size:12px;color:var(--color-text-muted-dark)}.payroll-settings-table th{font-size:12px;color:#4a5f55}.payroll-settings-tab-index{font-size:12px;color:var(--color-text-muted-dark)}.payroll-settings-tabs button strong{font-size:12px}.formula-catalog-group summary>span,.formula-token span,.nav-group-title,.nav-step,.nav-badge{font-size:12px}.nav-badge--done{background:var(--color-primary-deep)}.sortable-header span{color:var(--color-text-muted-dark);opacity:1}.payslip tfoot th{text-transform:none}@media(max-width:768px){.mobile-record-card dt,.payroll-workflow li{font-size:12px}}.status-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;font-style:normal;line-height:1.6;background:#eceff1;color:#37474f}.status-badge--success{background:#dcf3e6;color:#0d6b45}.status-badge--done{background:#d9e7de;color:#1d3a2e}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.loading-block{display:grid;gap:12px;padding:8px 0}.loading-line{display:block;height:14px;border-radius:7px;background:linear-gradient(90deg,#e4ebe7 25%,#f1f5f3 37%,#e4ebe7 63%);background-size:400% 100%;animation:loading-shimmer 1.4s ease infinite}@keyframes loading-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){.loading-line{animation:none}}.result-toolbar input[type=search]{box-sizing:border-box;min-width:240px;padding:9px 12px;border:1px solid #b9c9c0;border-radius:8px;background:var(--color-surface)}.employee-edit-button svg,.employee-delete-button svg{display:block;margin:auto}.payroll-settings-workspace{display:block;width:100%}.payroll-settings-tabs{position:static;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:16px}.payroll-settings-tabs button{min-height:48px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}th,.sortable-header{font-size:12px}.setup-item--done .setup-index,.pipeline .is-done span{background:var(--color-primary-deep);border-color:var(--color-primary-deep)}.payroll-run-tile span.status-badge{font-size:12px;font-weight:700;opacity:1}.payroll-run-tile span.status-badge--info,.status-badge--info{background:#e3f0fb;color:#0b4f87}.payroll-settings-tabs button strong{color:#3f564b}.payroll-settings-workspace{min-width:0;max-width:100%}.payroll-settings-workspace>.panel{min-width:0;max-width:100%}.field-hint{display:block;margin-top:4px;color:var(--color-text-muted-dark);font-size:12px;font-weight:400;line-height:1.4}.payslip-rate{color:var(--color-text-muted-dark);font-size:12px;font-weight:400;white-space:nowrap}@media print{.payslip-rate{color:#111}}.field-note{margin:8px 0;padding:8px 12px;border-left:3px solid var(--color-accent-green-2);border-radius:6px;background:var(--color-surface-green);color:var(--color-text-muted-dark);font-size:13px}.field-note--warning{border-left-color:var(--color-warning-text);background:#fff7e6;color:#5b3a00}.status-badge--warning{background:#fff1d6;color:#7a4a00}.rates-suggestion{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:12px 0}.rates-suggestion label{display:grid;gap:4px}.rates-review{margin-top:16px;padding-top:12px;border-top:1px solid var(--color-border)}.rates-review h3{margin:0 0 6px}
