:root{--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--color-bg: #f3f6f1;--color-surface: #ffffff;--color-ink: #1e293b;--color-muted: #64748b;--color-border: #dde5d6;--color-border-strong: #c8d4bc;--color-brand: #6fbf00;--color-brand-dark: #1a3d1c;--color-brand-mid: #3d7a00;--color-brand-soft: #ecfccb;--color-brand-bg: #f4f8ef;--color-sidebar: #143016;--color-sidebar-hover: rgba(255, 255, 255, .08);--color-sidebar-active: rgba(111, 191, 0, .22);--color-danger: #9b1c2c;--color-danger-bg: #fef2f2;--color-warning: #92400e;--color-warning-bg: #fffbeb;--color-success: #166534;--color-success-bg: #f0fdf4;--shadow-sm: 0 1px 2px rgba(26, 61, 28, .06);--shadow-md: 0 8px 24px rgba(26, 61, 28, .08);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--sidebar-width: 15.5rem;--sidebar-collapsed: 4.25rem;--container-max: 1140px;--container-wide: 1200px;font-family:var(--font-sans);line-height:1.5;color:var(--color-ink);background:var(--color-bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top right,rgba(139,201,37,.08),transparent 28%),var(--color-bg)}a{color:var(--color-brand-mid);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--container-max);margin:0 auto;padding:1.5rem 1.25rem 2.5rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem 1.35rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;background:linear-gradient(180deg,#7fd000 0%,var(--color-brand) 100%);color:#102000;border:1px solid #5a9900;border-radius:var(--radius-sm);padding:.58rem 1rem;font-weight:700;font-size:.88rem;cursor:pointer;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease;box-shadow:0 1px #ffffff40 inset}button:hover:not(:disabled),.button:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);text-decoration:none}button.secondary,.button.secondary{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-border-strong);box-shadow:none}button.danger,.button.danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:#fecaca;box-shadow:none}button.danger:hover:not(:disabled){background:#fee2e2}button.link-button{background:none;color:var(--color-brand-mid);padding:.25rem .5rem;font-weight:600;border:none;box-shadow:none}button:disabled{opacity:.6;cursor:not-allowed;transform:none}input,select,textarea{width:100%;padding:.62rem .8rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);margin-top:.3rem;background:var(--color-surface);color:var(--color-ink);font:inherit;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px #6fbf002e}input.readonly-input{background:#f4f6f1;color:#555;cursor:default}.field-hint{display:block;margin-top:.25rem;font-size:.8rem;color:#666}.pension-summary{margin:1rem 0;padding:.75rem 1rem;background:#f4f8ef;border:1px solid #dfe8d4;border-radius:8px}.pension-summary p{margin:.25rem 0}.checkbox-row{display:flex;align-items:center;gap:.5rem;margin-top:.35rem;font-size:.9rem}.checkbox-row input{width:auto;margin:0}label{display:block;margin-top:.75rem;font-size:.88rem;font-weight:600;color:var(--color-brand-dark)}.card h2,.card h3,.section-header h2{margin:0 0 .35rem;color:var(--color-brand-dark);font-size:1.05rem}table{width:100%;border-collapse:collapse;font-size:.88rem}thead th{background:var(--color-brand-bg);color:var(--color-brand-dark);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}th,td{text-align:left;padding:.72rem .85rem;border-bottom:1px solid var(--color-border)}tbody tr:hover td{background:#ecfccb59}.header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.header h1,.page-header h1{margin:0;font-size:1.65rem;line-height:1.15;color:var(--color-brand-dark)}.muted{color:var(--color-muted);font-size:.9rem}.error{color:#b91c1c}.config-warning{background:var(--color-warning-bg);border:1px solid #fde68a;border-radius:var(--radius-sm);padding:.85rem 1rem;margin:1rem 0;font-size:.88rem}.config-warning p{margin:.5rem 0 0}.success{color:var(--color-success);font-weight:600}.warning{color:#b45309;font-weight:600}.alert{padding:.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.9rem;font-weight:600;border:1px solid transparent}.alert-success{background:var(--color-success-bg);color:var(--color-success);border-color:#bbf7d0}.alert-error{background:var(--color-danger-bg);color:#b91c1c;border-color:#fecaca}.company-status-banner{margin:1rem 0;padding:.875rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-muted, #f8fafc)}.company-status-closed{border-color:#fcd34d;background:#fffbeb}.company-status-close-form label{display:block;margin-top:.75rem;max-width:16rem}.payroll-active-period{margin:.75rem 0 0}.post-payroll-action{margin-top:.75rem}.post-payroll-action .error{margin-top:.5rem;margin-bottom:0}.payroll-draft-notice{margin-top:.75rem}.company-status-actions{margin-bottom:1rem}.app-layout{min-height:100vh}.app-topbar{display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;position:sticky;top:0;z-index:20}.app-topbar-admin{background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.app-topbar:not(.app-topbar-admin):not(.app-topbar-employee){background:linear-gradient(135deg,var(--color-brand-dark) 0%,#2f5d24 100%);border-bottom:3px solid var(--color-brand-light, #8bc925);box-shadow:var(--shadow-md)}.app-topbar-employee{justify-content:space-between;background:linear-gradient(135deg,var(--color-brand-dark) 0%,#2f5d24 100%);border-bottom:3px solid var(--color-brand-light, #8bc925);box-shadow:var(--shadow-md)}.app-brand{display:inline-flex;align-items:center;gap:.65rem;color:#fff;text-decoration:none}.app-brand:hover{text-decoration:none}.app-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.55rem;background:var(--color-brand);color:#102000;font-size:.72rem;font-weight:800;letter-spacing:.04em}.app-brand-text{display:flex;flex-direction:column;line-height:1.1}.app-brand-text strong{font-size:.95rem}.app-brand-text small{font-size:.68rem;color:#d9f99d;font-weight:500}.app-nav{display:flex;flex-wrap:wrap;gap:.35rem;flex:1}.app-brand-light{color:var(--color-brand-dark)}.app-brand-light .app-brand-text small{color:var(--color-muted)}.app-nav-link{padding:.42rem .75rem;border-radius:var(--radius-sm);font-size:.82rem;font-weight:600;text-decoration:none;border:1px solid transparent}.app-topbar-admin .app-nav-link{color:var(--color-muted)}.app-topbar-admin .app-nav-link:hover{background:var(--color-brand-bg);color:var(--color-brand-dark);text-decoration:none}.app-topbar-admin .app-nav-link.active{background:var(--color-brand-soft);color:var(--color-brand-dark);border-color:var(--color-border-strong)}.app-topbar:not(.app-topbar-admin) .app-nav-link{padding:.38rem .7rem;border-radius:999px;color:#ecfccb}.app-topbar:not(.app-topbar-admin) .app-nav-link:hover{background:#ffffff14;text-decoration:none}.app-topbar:not(.app-topbar-admin) .app-nav-link.active{background:var(--color-brand);color:#102000;border-color:#5a9900}.app-topbar-actions{display:flex;align-items:center;gap:.5rem}.app-user-chip{font-size:.72rem;color:#ecfccb;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-user-chip-light{color:var(--color-muted);max-width:14rem}.app-signout-light.secondary{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-border-strong)}.app-quick-actions{position:relative}.app-quick-actions-trigger{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-brand-bg);color:var(--color-brand-dark);font-size:.82rem;font-weight:600}.app-quick-actions-trigger::-webkit-details-marker{display:none}.app-quick-actions[open] .app-quick-actions-trigger{border-color:var(--color-brand);box-shadow:0 0 0 3px #6fbf0026}.app-quick-actions-menu{position:absolute;right:0;top:calc(100% + .35rem);min-width:11rem;padding:.35rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:30}.app-quick-actions-item{display:block;padding:.55rem .7rem;border-radius:var(--radius-sm);color:var(--color-ink);font-size:.85rem;font-weight:500;text-decoration:none}.app-quick-actions-item:hover{background:var(--color-brand-bg);text-decoration:none}.app-signout.secondary{background:#ffffff1f;color:#fff;border-color:#fff3}.app-main{padding-bottom:2rem}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.page-back-link{display:inline-block;margin-bottom:.35rem;font-size:.78rem;font-weight:600;color:var(--color-brand-mid)}.page-subtitle{margin:.35rem 0 0;color:var(--color-muted);max-width:42rem}.page-header-actions{display:flex;flex-wrap:wrap;gap:.5rem}.page-hero{margin-bottom:1.25rem}.page-hero h1{margin:0;font-size:1.75rem;color:var(--color-brand-dark)}.page-hero p{margin:.35rem 0 0;color:var(--color-muted)}.loading-screen{min-height:100vh;display:grid;place-items:center;padding:2rem}.loading-screen-card{display:flex;flex-direction:column;align-items:center;gap:.85rem;padding:1.5rem 2rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--color-muted)}.loading-spinner{width:2rem;height:2rem;border-radius:50%;border:3px solid var(--color-border);border-top-color:var(--color-brand);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem}.login-card{width:100%;max-width:420px;overflow:hidden;padding:0}.login-card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.35rem 1.5rem 1rem;background:linear-gradient(135deg,var(--color-brand-dark) 0%,#2f5d24 100%);color:#fff;border-bottom:3px solid #8bc925}.login-card-brand h1{margin:0;font-size:1.35rem}.login-card-brand p{margin:.35rem 0 0;color:#d9f99d;font-size:.88rem}.login-card-motto{margin:0;flex-shrink:0;font-size:1.05rem;font-weight:700;letter-spacing:.04em;color:#ecfccb;text-align:right;white-space:nowrap}.login-card-body{padding:1.35rem 1.5rem 1.5rem}.login-toggle{margin-top:1rem;font-size:.88rem;color:var(--color-muted)}.login-toggle button{background:none;border:none;padding:0;color:var(--color-brand-mid);font-weight:700;cursor:pointer;box-shadow:none}.login-toggle button:hover{text-decoration:underline;transform:none}.empty-state{text-align:center;padding:2rem 1rem}.empty-state h2{margin:0 0 .5rem;color:var(--color-brand-dark)}.empty-state p{margin:0 0 1rem;color:var(--color-muted)}.history-run{margin-bottom:.75rem}.history-run-header{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.history-run-draft{border-left:4px solid #f59e0b;padding-left:.65rem}.history-run-header .history-run-toggle{width:auto;flex:1;min-width:12rem;margin-bottom:0;text-align:left}.history-run-header .post-payroll-action{flex-shrink:0;margin-top:0}.payroll-period-notice{margin:1rem 0;padding:.75rem 1rem;border-radius:8px;background:#f4f6f1;border:1px solid #e3e8de}.payroll-rerun-toggle{display:flex;align-items:flex-start;gap:.5rem;margin-top:.75rem;font-size:.95rem}.payroll-rerun-toggle input{width:auto;margin-top:.2rem}.breakdown-section{margin-top:1.5rem}.breakdown-section h3{margin-bottom:.5rem;font-size:1rem}td.indent{padding-left:1.5rem;color:#555}.total-row td{font-weight:600;border-top:2px solid #e3e8de}.net-row td{font-size:1.05rem}.preset-row{display:flex;flex-wrap:wrap;gap:.5rem}.highlight-card{border-color:var(--color-brand);background:linear-gradient(180deg,#ffffff 0%,var(--color-brand-bg) 100%)}.net-highlight{font-size:2rem;font-weight:800;margin:.25rem 0;color:var(--color-brand-dark)}.company-details{margin-top:1rem;padding-top:1rem;border-top:1px solid #e3e8de;font-size:.95rem}.company-details p{margin:.35rem 0}.company-edit{margin-top:1rem;padding-top:1rem;border-top:1px solid #e3e8de}.company-edit h3{margin:0 0 1rem;font-size:1rem}.form-section{border:1px solid #e3e8de;border-radius:10px;padding:1rem 1rem .5rem;margin-bottom:1rem}.form-section legend{font-weight:600;padding:0 .35rem}.table-scroll{overflow-x:auto}.payroll-report-wrap{margin-top:.75rem}.payroll-report-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.employee-list-report-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.employee-list-report-filters label{min-width:220px}.employee-list-report-wrap .payroll-report-table{min-width:1800px}.employee-compensation-report-wrap .payroll-report-table{min-width:2600px}.workforce-analytics-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin:0 0 1rem}.workforce-analytics-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.85rem 1rem;display:flex;flex-direction:column;gap:.35rem}.workforce-analytics-card-label{color:var(--color-muted);font-size:.85rem}.workforce-analytics-section{margin:1rem 0}.workforce-analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.simple-bar-chart-wrap{overflow-x:auto;padding:.25rem 0}.simple-bar-chart{width:100%;max-width:100%;height:auto}.simple-bar-chart-bar{fill:#3d7a00}.simple-bar-chart-bar-attention{fill:#b45309}.simple-bar-chart-bar-recruitment{fill:#2563eb}.workforce-analytics-card-attention{border-color:#f59e0b;background:#fffbeb}.workforce-analytics-footnote{margin:-.25rem 0 1rem;font-size:.9rem}.workforce-analytics-section-highlight{padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-brand-bg)}.workforce-analytics-report-wrap .workforce-analytics-section-highlight .payroll-report-table{min-width:1400px}.workforce-analytics-department-table .payroll-report-table{min-width:0;width:100%}.simple-bar-chart-label{fill:#64748b;font-size:11px}.payroll-report-scroll{border:1px solid #d9e2f3;border-radius:8px}.payroll-report-table{min-width:1400px;font-size:.85rem}.payroll-report-table thead th{background:#4472c4;color:#fff;border:1px solid #2f5597;white-space:nowrap;vertical-align:bottom;padding:.65rem .75rem;font-weight:700}.payroll-report-table thead th.payroll-report-highlight{background:#fff;color:#2f5597;border:1px solid #2f5597}.payroll-report-heading{display:block}.payroll-report-subheading{display:block;margin-top:.2rem;font-size:.72rem;font-weight:600;opacity:.95}.payroll-report-table td{border:1px solid #d9e2f3;white-space:nowrap;padding:.55rem .75rem}.payroll-report-table tbody td.payroll-report-highlight{background:#fff;color:#2f5597;font-weight:700}.payroll-report-table tbody tr:nth-child(2n) td:not(.payroll-report-highlight){background:#f7f9fc}.payroll-report-highlight{font-weight:700}.payroll-report-total-row td{background:#dce6f7;font-weight:700}.payroll-report-total-row td.payroll-report-highlight{background:#fff;color:#2f5597}.bank-report-wrap{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #d9e2f3}.bank-report-header{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:start;margin-bottom:1rem}.bank-report-header p{margin:.2rem 0}.bank-report-title-block h3{margin:0 0 .35rem}.bank-report-scroll{border:1px solid #d9e2f3;border-radius:8px}.bank-report-table{min-width:1100px;font-size:.85rem}.bank-report-table thead th{background:#4472c4;color:#fff;border:1px solid #2f5597;white-space:nowrap}.bank-report-table td{border:1px solid #d9e2f3;white-space:nowrap}.bank-report-table tbody tr:nth-child(2n) td{background:#f7f9fc}.bank-report-total-row td{background:#eef3fb;font-weight:700}.paye-report-wrap{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #d9e2f3}.paye-report-header{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:start;margin-bottom:1rem}.paye-report-header p{margin:.2rem 0}.paye-report-title-block h3{margin:0 0 .35rem}.paye-report-scroll{border:1px solid #d9e2f3;border-radius:8px}.paye-report-table{min-width:3600px;font-size:.8rem}.paye-report-table thead th{background:#4472c4;color:#fff;border:1px solid #2f5597;white-space:nowrap;vertical-align:bottom;max-width:180px}.paye-report-shaded-header{background:#b4c6e7!important;color:#1a1a1a!important}.paye-report-table td{border:1px solid #d9e2f3;white-space:nowrap}.paye-report-shaded-cell{background:#f2f2f2}.paye-report-table tbody tr:nth-child(2n) td:not(.paye-report-shaded-cell){background:#f7f9fc}.paye-report-total-row td{background:#eef3fb;font-weight:700}.ssnit-report-wrap{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #d9e2f3}.ssnit-report-header{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:start;margin-bottom:1rem}.ssnit-report-header p{margin:.2rem 0}.ssnit-report-title-block h3{margin:0 0 .35rem}.ssnit-report-summary{width:auto;margin-bottom:1rem;border-collapse:collapse}.ssnit-report-summary th,.ssnit-report-summary td{border:1px solid #d9e2f3;padding:.5rem .75rem;text-align:left}.ssnit-report-summary th{background:#f7f9fc}.ssnit-report-scroll{border:1px solid #d9e2f3;border-radius:8px}.ssnit-report-table{min-width:1200px;font-size:.85rem}.ssnit-report-table thead th{background:#f4c7ab;color:#1a1a1a;border:1px solid #e0b095;white-space:nowrap}.ssnit-report-table td{border:1px solid #d9e2f3;white-space:nowrap}.ssnit-report-table tbody tr:nth-child(2n) td{background:#fffaf7}.ssnit-report-total-row td{background:#eef3fb;font-weight:700}.payslip-list{display:flex;flex-direction:column;gap:1rem}.payslip-list-item{border:1px solid #c8d4e3;border-radius:10px;padding:1rem;background:#fff}.payslip-list-header{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.payslip-list-toggle{font-weight:700}.payslip-view{margin-top:1rem;padding-top:.5rem}.payslip-employee-view{max-width:210mm;margin:0 auto}.payslip-card{background:#fff;border:1px solid #c8d4e3;overflow:hidden;box-shadow:0 4px 16px #1f4e7914;font-size:.72rem;line-height:1.25;color:#1a1a1a}.payslip-corporate-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.75rem .9rem;background:#1f4e79;color:#fff}.payslip-company-name{margin:0;font-size:.88rem;font-weight:800;letter-spacing:.03em}.payslip-company-address{margin:.2rem 0 0;font-size:.64rem;color:#dbeafe}.payslip-brand-mark{flex-shrink:0;padding:.25rem .55rem;background:#4472c4;color:#fff;font-size:.62rem;font-weight:800;letter-spacing:.04em}.payslip-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.25rem;padding:.55rem .9rem;border-bottom:1px solid #c8d4e3}.payslip-sheet-title{margin:0 0 .35rem;font-size:.72rem;font-weight:800;color:#1f4e79;letter-spacing:.06em}.payslip-info-row{display:grid;grid-template-columns:7.5rem 1fr;gap:.35rem;margin-bottom:.15rem;font-size:.68rem}.payslip-info-label{font-weight:700;color:#64748b}.payslip-info-value{font-weight:600;color:#1a1a1a}.payslip-main-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:.65rem .9rem .45rem}.payslip-ledger table{width:100%;border-collapse:collapse;table-layout:fixed}.payslip-ledger thead th{padding:.35rem .45rem;font-size:.64rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border:1px solid #9cb4d8}.payslip-ledger-earnings thead th{background:#b4c6e7;color:#1f4e79}.payslip-ledger-deductions thead th{background:#f4c7ab;color:#7f4a1f}.payslip-ledger tbody td{padding:.22rem .45rem;border:1px solid #d9e2f3;font-size:.68rem;vertical-align:top}.payslip-ledger-earnings tbody td{background:#f7f9fc}.payslip-ledger-deductions tbody td{background:#fffaf6}.payslip-ledger-total td{font-weight:800;font-size:.68rem}.payslip-ledger-earnings .payslip-ledger-total td{background:#dce6f7;border-color:#9cb4d8}.payslip-ledger-deductions .payslip-ledger-total td{background:#fce4d6;border-color:#e8c4a8}.payslip-ledger-amount{width:34%;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.payslip-net-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 .9rem .65rem;padding:.55rem .75rem;background:#00b0f0;color:#fff;font-weight:800;letter-spacing:.04em}.payslip-net-bar strong{font-size:1rem;font-variant-numeric:tabular-nums}.payslip-net-bar-foreign{margin-top:-.45rem;background:#0078a8;font-size:.92rem;flex-wrap:wrap}.payslip-fx-rate{font-size:.78rem;font-weight:600;opacity:.92}.payslip-footer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:0 .9rem .65rem}.payslip-footer-panel{border:1px solid #9cb4d8;overflow:hidden}.payslip-footer-panel h4{margin:0;padding:.3rem .45rem;font-size:.64rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:#eef3fb;color:#1f4e79;border-bottom:1px solid #9cb4d8}.payslip-footer-table{width:100%;border-collapse:collapse}.payslip-footer-table td{padding:.2rem .45rem;font-size:.66rem;border-top:1px solid #e2e8f0}.payslip-footer-total td{font-weight:800;background:#fce4d6}.payslip-ytd-section{padding:0 .9rem .9rem}.payslip-ytd-heading{margin:0 0 .35rem;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#1f4e79}.payslip-ytd-table{width:100%;border-collapse:collapse;table-layout:fixed}.payslip-ytd-table thead th{background:#1f4e79;color:#fff;padding:.32rem .45rem;font-size:.62rem;text-align:left;border:1px solid #163a5c}.payslip-ytd-table td{padding:.24rem .45rem;font-size:.64rem;border:1px solid #d9e2f3}.payslip-ytd-table tbody tr:nth-child(2n) td{background:#f7f9fc}.payslip-ytd-table tbody tr:last-child td{font-weight:800;background:#dce6f7}@media print{body{background:#fff}.app-topbar,.page-hero,.company-nav-tabs,.header,.payslip-list-header,.payslip-downloads>p,.payslip-downloads>h3,.payslip-downloads table,.no-print{display:none!important}.payslip-view{margin:0;padding:0}.payslip-card,.payslip-print-sheet{box-shadow:none;border:none;max-width:none;width:210mm;page-break-inside:avoid}.payslip-downloads tr:has(.payslip-view){display:table-row!important}.payslip-downloads tr:has(.payslip-view) td{padding:0;border:none}}.payroll-journal-wrap{margin-top:0;padding-top:0;border-top:none}.payroll-journal-report-wrap,.payroll-monthly-report-wrap{margin-top:0}.payroll-monthly-report-header{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:start;margin-bottom:1rem}.payroll-monthly-report-header p{margin:.2rem 0}.payroll-monthly-report-title-block h3{margin:0 0 .35rem;color:#2f5597}.payroll-monthly-report-wrap .payroll-report-scroll{border-color:#9cb4d8;box-shadow:0 1px 3px #2f559714}.payroll-journal-report-wrap .payroll-journal-wrap{margin-top:0;padding-top:0;border-top:none}.payroll-journal-report-wrap .payroll-journal-scroll{border:1px solid #163a5c;border-radius:8px;box-shadow:0 1px 3px #1f4e791f}.payroll-journal-header{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:start;margin-bottom:1rem}.payroll-journal-header p{margin:.2rem 0}.payroll-journal-title-block h3{margin:0 0 .35rem}.payroll-journal-scroll{overflow-x:auto}.payroll-journal-table{width:100%;border-collapse:collapse;min-width:520px}.payroll-journal-table thead th{background:#1f4e79;color:#fff;border:1px solid #163a5c;padding:.65rem .75rem;text-align:left}.payroll-journal-table td{border:1px solid #d9e2f3;padding:.55rem .75rem}.payroll-journal-amount{text-align:right;white-space:nowrap}.payroll-journal-table tbody tr:nth-child(2n) td{background:#f7f9fc}.payroll-journal-total-row td{background:#eef3fb;font-weight:700}.tier2-report-table thead th{background:#d5e8d4;color:#1a1a1a;border:1px solid #b8d4b6}.employee-form{margin-top:.35rem}.employee-form>.muted{margin:0 0 .5rem;font-size:.85rem}.employee-form .form-section{padding:.65rem .85rem .45rem;margin-bottom:.65rem}.employee-form .form-section legend{font-size:.9rem}.employee-form label{margin-top:0;font-size:.82rem}.employee-form input,.employee-form select,.employee-form textarea{padding:.42rem .6rem;margin-top:.18rem;font-size:.9rem}.employee-form .field-hint{font-size:.72rem;line-height:1.3;margin-top:.12rem}.employee-form .pension-summary{margin:.45rem 0 .35rem;padding:.45rem .7rem}.employee-form .pension-summary p{margin:.15rem 0;font-size:.85rem}.employee-form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.45rem .7rem;align-items:start}.employee-form-grid>label,.employee-form-grid>.checkbox-row,.employee-form-grid>.allowances-inline-note{margin-top:0}.employee-form .field-span-3{grid-column:span 3}.employee-form .field-span-4{grid-column:span 4}.employee-form .field-span-5{grid-column:span 5}.employee-form .field-span-6{grid-column:span 6}.employee-form .field-span-7{grid-column:span 7}.employee-form .field-span-8{grid-column:span 8}.employee-form .field-span-9{grid-column:span 9}.employee-form .field-span-12{grid-column:span 12}.employee-form .allowances-inline-note{align-self:end;margin:0;padding-bottom:.35rem;font-size:.82rem;color:#666}.employee-form .employee-deductions-section{margin-top:.65rem;grid-column:1 / -1}.employee-form .employee-deductions-section>.muted{font-size:.8rem;margin-bottom:.35rem}.employee-form .deduction-group{margin-top:.55rem;padding:.55rem .65rem}.employee-form .deduction-group h3{font-size:.9rem;margin:0 0 .2rem}.employee-form .deduction-group>.muted{font-size:.78rem;margin:0 0 .3rem}.employee-form .deduction-group .grid-2{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.45rem .65rem}.employee-form .deduction-group .grid-2 label{margin-top:0}.employee-form .tier3-mode-options{margin:.3rem 0;gap:.2rem}.employee-form .checkbox-row{font-size:.82rem;margin-top:.2rem}.employee-form button[type=submit]{margin-top:.65rem!important}@media(max-width:900px){.employee-form .field-span-3,.employee-form .field-span-4,.employee-form .field-span-5,.employee-form .field-span-6,.employee-form .field-span-7,.employee-form .field-span-8,.employee-form .field-span-9{grid-column:span 12}.employee-form .allowances-inline-note{align-self:start;padding-bottom:0}}.section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.section-header-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.file-upload-label input[type=file]{display:block;margin-top:.35rem}.import-error-list{margin:.75rem 0 0;padding-left:1.25rem;color:#b91c1c}.company-next-step{margin-top:1rem;padding:1rem 1.25rem;background:var(--color-brand-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.company-next-step h3{margin:0 0 .35rem;font-size:1rem}.company-next-step p{margin:0 0 .75rem}.company-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e3e8de}.payroll-absence-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin-top:1rem}.payroll-absence-option{padding:1rem;border:1px solid #e3e8de;border-radius:10px;background:#fafbf8}.payroll-absence-option h4{margin:0 0 .35rem}.payroll-absence-option .company-actions{margin-top:.75rem;padding-top:0;border-top:none}.payroll-absence-search{position:relative}.payroll-absence-search input[type=search]{width:100%;margin-top:.5rem}.payroll-absence-search-results{list-style:none;margin:.35rem 0 0;padding:0;border:1px solid #d8dfd2;border-radius:8px;background:#fff;max-height:14rem;overflow-y:auto}.payroll-absence-search-result{display:flex;justify-content:space-between;gap:.75rem;width:100%;padding:.65rem .75rem;border:none;border-bottom:1px solid #eef2ea;background:transparent;color:inherit;text-align:left;cursor:pointer}.payroll-absence-search-result:hover,.payroll-absence-search-result:focus-visible{background:#f3f7ef}.payroll-absence-search-results li:last-child .payroll-absence-search-result{border-bottom:none}.payroll-absence-search-empty{padding:.75rem;color:#667066;font-size:.9rem}.payroll-run-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.payroll-fx-rates{margin-top:1rem}.payroll-fx-currency-list{display:grid;gap:.65rem}.payroll-fx-currency-row{display:grid;grid-template-columns:minmax(14rem,1.4fr) minmax(10rem,1fr) auto;gap:.75rem;align-items:end}.payroll-fx-rate-field{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.payroll-fx-remove{white-space:nowrap}.payroll-adjustments-summary{margin-top:1.25rem;padding:1rem 1.1rem;background:var(--color-brand-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.adjustments-panel{margin-top:1.25rem}.adjustments-panel .report-panel-body{margin-top:.75rem}.adjustments-page{max-width:72rem}.adjustments-page-head{margin-bottom:.75rem}.adjustments-intro{margin:.35rem 0 0;max-width:42rem}.adjustments-period-notice{margin-top:.75rem;padding:.65rem .85rem}.adjustments-period-grid{margin-top:.75rem}.adjustments-sections{display:flex;flex-direction:column;gap:.85rem;margin-top:.85rem}.adjustments-compact-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.75rem .85rem;background:var(--color-surface, #fff)}.adjustments-compact-head h3{margin:0 0 .2rem;font-size:1rem}.adjustments-compact-head .muted{margin:0;font-size:.8125rem;line-height:1.35}.adjustments-compact-toolbar{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-top:.65rem}.adjustments-search{flex:1 1 12rem;min-width:10rem;margin-top:0}.adjustments-tool-btn{margin-bottom:0!important;padding:.4rem .65rem;font-size:.8125rem;white-space:nowrap}.adjustments-search-results{margin-top:.45rem}.adjustments-amount-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:.85rem}.adjustments-table{width:100%;margin-top:.65rem;font-size:.8125rem;border-collapse:collapse}.adjustments-table th,.adjustments-table td{padding:.35rem .45rem;vertical-align:middle}.adjustments-table th{font-size:.75rem;font-weight:600;text-transform:none}.adjustments-amount-input{width:6.5rem;margin-top:0;padding:.3rem .45rem;font-size:.8125rem}.adjustments-remove-btn{padding:.25rem .5rem;font-size:.75rem}.adjustments-empty,.adjustments-empty-block{margin:.55rem 0 0;font-size:.8125rem}.adjustments-instalment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(22rem,1fr));gap:.85rem}.instalment-table{font-size:.75rem}.instalment-effective-grid{display:flex;gap:.35rem;align-items:center}.instalment-effective-grid select,.instalment-year-input,.adjustments-months-input,.adjustments-text-input{margin-top:0;padding:.3rem .45rem;font-size:.8125rem}.instalment-year-input{width:4.5rem}.adjustments-months-input{width:4rem}.adjustments-text-input{min-width:7rem}.table-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.employee-actions-select{min-width:9.5rem;padding:.35rem .5rem;font-size:.875rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#141c1273;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.modal-card{width:min(100%,32rem);background:#fff;border-radius:12px;padding:1.25rem 1.5rem;box-shadow:0 12px 40px #0000002e}.modal-card h2{margin:0 0 .35rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.modal-card-wide{max-width:720px}.modal-card-payroll-preview{width:min(100%,72rem);max-height:min(92vh,900px);overflow:auto}.payroll-preview-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem 1rem;margin:1rem 0;padding:.85rem 1rem;border-radius:8px;background:var(--color-brand-bg);border:1px solid var(--color-border)}.payroll-preview-summary-label{display:block;font-size:.8125rem;color:var(--color-muted);margin-bottom:.15rem}.report-export-menu,.payroll-preview-exports{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.report-export-btn{min-width:4.5rem}.payroll-preview-exports{margin:0 0 .75rem}.modal-card-payroll-preview .payroll-report-wrap{margin-top:.5rem}.modal-card-payroll-preview .modal-actions{position:sticky;bottom:0;background:#fff;padding-top:1rem;border-top:1px solid var(--color-border)}.terminate-form label{display:block;margin-top:1rem}.termination-input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem 1rem;margin-top:.75rem}.termination-input-grid label{margin-top:0}.employee-deductions-section{margin-top:1.25rem}.deductions-heading{margin:0 0 .35rem}.deduction-group{margin-top:1rem}.deduction-entry{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e3e8de}.deduction-period-grid{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:.75rem 1rem;margin-top:.75rem}.deduction-period-grid label{margin-top:0}.tier3-mode-options{display:grid;gap:.5rem;margin:.75rem 0}.danger-text{color:#9b1c2c}.termination-period-note{margin:.75rem 0}.employee-quick-actions{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:end;margin-bottom:1rem}.employee-quick-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.employee-selection-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem}.employee-search-toolbar{display:grid;gap:.35rem;margin-bottom:1rem}.employee-search-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.employee-search-field{display:grid;gap:.35rem;max-width:28rem}.employee-search-input{width:100%;padding:.55rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;background:var(--color-surface)}.employee-search-summary{margin:0}.all-companies-group{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--color-border)}.all-companies-group:first-of-type{margin-top:.75rem;padding-top:0;border-top:0}.all-companies-group-title{margin:0 0 .75rem;color:var(--color-brand-dark);font-size:1rem}.all-companies-notice{margin-bottom:1rem}.all-companies-hint{margin:0;max-width:36rem;font-size:.9rem}.company-context-badge-all{background:var(--color-brand-soft);color:var(--color-brand-dark)}.all-companies-report-company{display:grid;gap:.35rem;max-width:24rem;margin-bottom:1rem}.terminated-employees-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.terminated-employees-header{display:grid;gap:.5rem;margin-bottom:1rem}.terminated-employees-heading{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.terminated-employees-heading h2{margin:0}.terminated-employees-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;padding:.1rem .5rem;border-radius:999px;background:var(--color-brand-bg);border:1px solid var(--color-border);font-size:.8rem;font-weight:600;color:var(--color-brand-dark)}.terminated-employees-lead{margin:0;max-width:42rem}.terminated-employees-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.terminated-employees-collapsed-summary{margin:0;padding:.85rem 1rem;border-radius:var(--radius-sm);background:var(--color-brand-bg);border:1px dashed var(--color-border-strong)}.terminated-employees-table{margin-top:.25rem}.link-button{padding:0;border:0;background:none;color:var(--color-brand-mid);font:inherit;cursor:pointer;text-decoration:underline}.employee-select-column{width:2.5rem;text-align:center}.employee-select-all{display:inline-flex;align-items:center;justify-content:center}.form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}@media(max-width:720px){.employee-quick-actions{grid-template-columns:1fr}}.terminate-form input[type=date]{display:block;width:100%;margin-top:.35rem}.card-inline{margin-top:1rem;padding:1rem;background:#f8faf5;border:1px solid #dde8d4;border-radius:10px}.card-inline h3{margin:0 0 .35rem;font-size:1rem}.termination-calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem;margin:.75rem 0 0}.termination-calc-grid div{min-width:0}.termination-calc-grid dt{margin:0;font-size:.8rem;color:#5a6652}.termination-calc-grid dd{margin:.15rem 0 0;font-weight:600}.termination-calc-total{grid-column:1 / -1;padding-top:.5rem;border-top:1px solid #dde8d4}.termination-calc-total dd{font-size:1.1rem;color:#2d6a00}.payslip-downloads{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #d9e2f3}.payslip-downloads h3{margin:0 0 .35rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.page-hero-compact h1{font-size:1.45rem}.page-hero-compact p{max-width:36rem;font-size:.92rem}.company-workspace-card{margin-bottom:.75rem}.company-selector-row label{margin-top:0}.company-selector-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}.company-selector-fixed{margin-top:.35rem;font-size:1rem;font-weight:600;color:var(--color-ink);text-transform:none;letter-spacing:normal}.company-members-panel{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--color-border)}.company-members-panel h3{margin:0 0 .35rem}.company-members-hint{margin:0 0 .35rem;font-size:.9rem}.company-members-invite{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin:.85rem 0 1rem}.company-members-invite label{flex:1 1 14rem;margin:0}.company-members-actions-row{display:flex;flex-wrap:wrap;gap:.5rem}.company-members-table{width:100%;border-collapse:collapse}.company-members-table th,.company-members-table td{padding:.55rem .65rem;border-bottom:1px solid var(--color-border);text-align:left}.company-members-table td:last-child{text-align:right}.danger-text{color:var(--color-danger)}.company-context-bar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin:.85rem 0 .5rem;padding:.85rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(180deg,#fafcf7 0%,var(--color-brand-bg) 100%)}.company-context-name{margin:0;font-size:1.15rem;color:var(--color-brand-dark)}.company-context-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.company-context-badge{display:inline-flex;padding:.15rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;background:#f1f5f9;color:#64748b}.company-context-badge-active{background:var(--color-success-bg);color:var(--color-success)}.company-context-meta{margin:.25rem 0 0;font-size:.85rem;color:var(--color-muted)}.company-context-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.company-context-cta{white-space:nowrap}.company-profile-details{margin-top:.75rem;border-top:1px solid var(--color-border);padding-top:.5rem}.company-profile-details summary{cursor:pointer;font-size:.85rem;font-weight:600;color:var(--color-brand-mid);padding:.35rem 0}.workflow-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-bottom:.75rem}.workflow-nav-item{display:flex;align-items:flex-start;gap:.7rem;text-align:left;padding:.85rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .12s ease}.workflow-nav-item:hover:not(:disabled){border-color:var(--color-border-strong);transform:translateY(-1px);box-shadow:var(--shadow-md)}.workflow-nav-item.active{border-color:var(--color-brand);background:linear-gradient(180deg,#f8fdf0 0%,var(--color-brand-bg) 100%);box-shadow:0 0 0 1px #6fbf0040}.workflow-nav-item:disabled{opacity:.55;cursor:not-allowed}.workflow-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border-radius:.65rem;background:var(--color-brand-soft);color:var(--color-brand-dark);flex-shrink:0}.workflow-nav-icon svg{width:1.15rem;height:1.15rem;fill:currentColor}.workflow-nav-copy{display:flex;flex-direction:column;gap:.12rem;min-width:0}.workflow-nav-copy strong{font-size:.92rem;color:var(--color-brand-dark)}.workflow-nav-copy span{font-size:.76rem;line-height:1.35;color:var(--color-muted)}.workflow-panel{margin-bottom:1rem}.workflow-panel.card{padding:1rem 1.1rem 1.1rem}.workflow-panel>.card,.workflow-panel>.adjustments-page{border:none;box-shadow:none;padding:0;margin-bottom:0;background:transparent}.workflow-panel .company-reports{margin:0}.company-nav-tabs{display:flex;flex-wrap:wrap;gap:.5rem;padding:.65rem;background:var(--color-brand-bg);border-color:var(--color-border)}.company-nav-tab{background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-border-strong);border-radius:999px;padding:.55rem 1rem;font-weight:600;font-size:.85rem;box-shadow:none}.company-nav-tab.active{background:linear-gradient(180deg,#7fd000 0%,var(--color-brand) 100%);color:#102000;border-color:#5a9900}.report-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin:1rem 0}.hub-selection-menu{display:flex;flex-direction:column;margin:.75rem 0 1rem;border:1px solid var(--color-border-strong);border-radius:12px;background:var(--color-surface);overflow:hidden}.hub-selection-item{position:relative;display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;text-align:left;background:transparent;color:var(--color-ink);border:none;border-radius:0;padding:.85rem 1rem;box-shadow:none;font:inherit;cursor:pointer}.hub-selection-item:hover,.hub-selection-item:focus-visible{background:var(--color-brand-bg)}.hub-selection-item-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.hub-selection-item-text strong{font-size:.92rem;font-weight:600;color:var(--color-brand-dark)}.hub-selection-item-desc{font-size:.8rem;color:#666;line-height:1.35}.hub-selection-chevron{flex-shrink:0;font-size:1.15rem;line-height:1;color:#888}.hub-selection-divider{position:absolute;left:1rem;right:1rem;bottom:0;height:1px;background:#eceee8}.hub-selection-header{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;margin:.5rem 0 .85rem}.hub-selection-back{background:transparent;color:var(--color-brand-dark);border:none;padding:.15rem 0;box-shadow:none;font-size:.88rem;font-weight:600;cursor:pointer}.hub-selection-back:hover,.hub-selection-back:focus-visible{color:var(--color-brand);text-decoration:underline}.hub-selection-current{margin:0;font-size:1.05rem;color:var(--color-brand-dark)}.hub-selection-workspace{margin-top:.25rem}.report-option-button{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;text-align:left;background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:.85rem 1rem;box-shadow:none}.report-option-button strong{font-size:.95rem}.report-option-button span{font-size:.85rem;color:var(--color-muted);font-weight:400}.report-option-button.active{border-color:var(--color-brand);background:var(--color-brand-soft)}.report-panel{margin-top:1rem;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-brand-bg)}.report-panel-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.report-panel-actions{display:flex;gap:.5rem;flex-shrink:0}.report-panel-body{margin-top:1rem}.combined-report-wrap{display:flex;flex-direction:column;gap:1.25rem}.combined-report-toolbar,.payroll-report-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:.75rem}.company-reports label{display:block;max-width:360px;margin-top:.75rem}@media(max-width:900px){.workflow-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.grid-2,.workflow-nav{grid-template-columns:1fr}.company-context-bar{flex-direction:column}.app-topbar{flex-wrap:wrap;padding:.75rem 1rem}.app-nav{order:3;width:100%}.app-topbar-actions{margin-left:auto}.page-header{flex-direction:column}}.print-only{display:none}@media print{body{background:#fff;color:#000}.no-print{display:none!important}.print-only{display:block!important}.container.terminate-page{max-width:none;margin:0;padding:0}.terminate-review-card{border:none;box-shadow:none;padding:0}.termination-print-area{break-inside:avoid}.termination-print-header{margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid #000}.termination-print-header h2{margin:.35rem 0;font-size:1.35rem}.termination-print-draft{margin:0;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.termination-print-meta{margin:.35rem 0 0;font-size:.85rem;color:#333}.termination-calc-grid{page-break-inside:avoid}.termination-calc-total{border-top:1px solid #000;padding-top:.35rem;margin-top:.35rem}}.app-layout-sidebar{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh}.app-layout-sidebar.sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed) minmax(0,1fr)}.app-sidebar{position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;background:var(--color-sidebar);color:#ecfccb;padding:.85rem .7rem 1rem;z-index:40;overflow:hidden}.app-sidebar-brand{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-bottom:1rem;padding:.25rem .35rem}.app-brand-sidebar{color:#fff;min-width:0}.app-brand-sidebar .app-brand-text small{color:#b8e06a}.sidebar-collapse-btn{flex-shrink:0;min-width:2rem;padding:.35rem .45rem;background:#ffffff14;color:#ecfccb;border-color:#ffffff26}.app-sidebar-nav{display:flex;flex-direction:column;gap:.2rem;flex:1;overflow-y:auto}.app-sidebar-link{display:flex;align-items:center;gap:.7rem;width:100%;padding:.62rem .7rem;border:none;border-radius:var(--radius-sm);background:transparent;color:#d9f0b8;font:inherit;font-size:.88rem;font-weight:600;text-align:left;text-decoration:none;cursor:pointer}.app-sidebar-link:hover{background:var(--color-sidebar-hover);color:#fff;text-decoration:none}.app-sidebar-link.active{background:var(--color-sidebar-active);color:#fff;box-shadow:inset 3px 0 0 var(--color-brand)}.app-sidebar-link.subtle{color:#a3b98a;font-weight:500;font-size:.82rem}.app-sidebar-footer{display:flex;flex-direction:column;gap:.2rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1)}.nav-svg{width:1.15rem;height:1.15rem;fill:currentColor;flex-shrink:0}.app-shell-main{min-width:0;display:flex;flex-direction:column;background:radial-gradient(circle at top right,rgba(139,201,37,.07),transparent 32%),var(--color-bg)}.app-topbar-shell{justify-content:space-between;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sidebar-mobile-toggle,.sidebar-backdrop{display:none}.sidebar-collapsed .app-sidebar-link{justify-content:center;padding-left:.55rem;padding-right:.55rem}.sidebar-collapsed .app-sidebar-brand{justify-content:center}.sidebar-collapsed .sidebar-collapse-btn{width:100%}.dashboard-overview{display:flex;flex-direction:column;gap:1.25rem}.dashboard-welcome{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.dashboard-kicker{margin:0 0 .25rem;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-brand-mid)}.dashboard-title{margin:0;font-size:clamp(1.45rem,2.4vw,1.85rem);font-weight:800;letter-spacing:-.02em;color:var(--color-brand-dark)}.dashboard-subtitle{margin:.35rem 0 0;color:var(--color-muted);max-width:36rem}.payroll-status-pill{display:inline-flex;align-items:center;padding:.45rem .85rem;border-radius:999px;font-size:.78rem;font-weight:700;border:1px solid var(--color-border);background:var(--color-surface);white-space:nowrap}.payroll-status-success{background:var(--color-success-bg);color:var(--color-success);border-color:#bbf7d0}.payroll-status-warning{background:var(--color-warning-bg);color:var(--color-warning);border-color:#fde68a}.payroll-status-muted{color:var(--color-muted)}.dash-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.dash-stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem 1.1rem;box-shadow:var(--shadow-sm);min-height:6.5rem}.dash-stat-card-brand{background:linear-gradient(160deg,#f7fbee,#fff 55%);border-color:#d5e8b8}.dash-stat-card-accent{background:linear-gradient(160deg,#eef8e0,#fff 60%);border-color:#c6df9a}.dash-stat-label{margin:0;font-size:.78rem;font-weight:600;color:var(--color-muted)}.dash-stat-value{margin:.4rem 0 0;font-size:1.25rem;font-weight:800;letter-spacing:-.02em;color:var(--color-brand-dark);word-break:break-word}.dash-stat-hint{margin:.35rem 0 0;font-size:.72rem;color:var(--color-muted)}.dash-section-title{margin:0 0 .65rem;font-size:1rem;font-weight:700;color:var(--color-brand-dark)}.dash-action-row{display:flex;flex-wrap:wrap;gap:.55rem}.dash-action-btn{min-width:9.5rem}.dash-activity{margin-bottom:0}.dash-activity-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}.dash-activity-header .dash-section-title{margin:0}.dash-activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.dash-activity-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .8rem;border-radius:var(--radius-sm);background:var(--color-brand-bg);border:1px solid var(--color-border)}.status-chip{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;background:#eef2ea;color:var(--color-muted)}.status-chip-success{background:var(--color-success-bg);color:var(--color-success)}.status-chip-warning{background:var(--color-warning-bg);color:var(--color-warning)}.dash-empty{text-align:center;padding:1.25rem .5rem}.dash-empty .button{margin-top:.75rem}.empty-state-modern{text-align:center;padding:2rem 1.25rem;border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-brand-bg)}.empty-state-modern h3{margin:0 0 .35rem;color:var(--color-brand-dark)}.empty-state-modern p{margin:0 auto 1rem;max-width:28rem;color:var(--color-muted)}.payroll-workflow-steps{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1.25rem;padding:0;list-style:none}.payroll-workflow-step{display:flex;align-items:center;gap:.45rem;padding:.45rem .7rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);font-size:.78rem;font-weight:600;color:var(--color-muted)}.payroll-workflow-step-num{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:999px;background:#eef2ea;font-size:.72rem;font-weight:800}.payroll-workflow-step.active{border-color:#b7d97a;background:var(--color-brand-soft);color:var(--color-brand-dark)}.payroll-workflow-step.active .payroll-workflow-step-num{background:var(--color-brand);color:#102000}.payroll-workflow-step.done{border-color:#bbf7d0;background:var(--color-success-bg);color:var(--color-success)}.payroll-workflow-step.done .payroll-workflow-step-num{background:#86efac;color:#14532d}.reports-hub-intro{margin-bottom:1rem}.reports-hub-intro p{margin:.25rem 0 0;color:var(--color-muted)}.employee-status-pill{display:inline-flex;padding:.18rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700}.employee-status-active{background:var(--color-success-bg);color:var(--color-success)}.employee-status-blocked{background:var(--color-warning-bg);color:var(--color-warning)}.payslip-logo-slot{display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:var(--radius-sm);border:1px dashed rgba(255,255,255,.45);background:#ffffff1f;color:#ffffffd9;font-size:.65rem;font-weight:700;text-align:center;line-height:1.2;flex-shrink:0}.payslip-corporate-header-main{display:flex;align-items:flex-start;gap:.85rem;min-width:0}@media(max-width:1100px){.dash-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.app-layout-sidebar,.app-layout-sidebar.sidebar-collapsed{grid-template-columns:1fr}.app-sidebar{position:fixed;left:0;top:0;width:min(18rem,86vw);transform:translate(-105%);transition:transform .2s ease;box-shadow:var(--shadow-md)}.app-sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;border:none;background:#14301673;z-index:35;cursor:pointer}.sidebar-mobile-toggle{display:inline-flex}.sidebar-collapse-btn{display:none}}@media(max-width:640px){.dash-stat-grid{grid-template-columns:1fr}.dash-activity-item{flex-direction:column;align-items:flex-start}.app-topbar-shell .app-user-chip{display:none}}
