:root{--color-navy:#16324f;--color-navy-light:#1f4468;--color-blue:#2f6fa8;--color-teal:#1f9c8f;--color-teal-bg:#e6f5f3;--color-bg:#f4f6f8;--color-card:#fff;--color-border:#e0e4e9;--color-text:#1c2530;--color-text-muted:#64707d;--color-success:#1b7a43;--color-success-bg:#e8f6ee;--color-warning:#8a5a00;--color-warning-bg:#fff4e0;--radius:8px;--shadow:0 1px 3px #141e2d14;--sidebar-width:244px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--color-bg);color:var(--color-text);margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px}a{color:var(--color-blue)}.app-shell{min-height:100%;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-header{border-bottom:1px solid var(--color-border);background:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1.75rem;display:flex}.app-header-left{align-items:center;gap:1rem;min-width:0;display:flex}.app-header-brand{color:var(--color-navy);white-space:nowrap;align-items:center;gap:.5rem;font-size:1.05rem;font-weight:700;text-decoration:none;display:flex}.app-header-brand img{width:auto;height:28px;display:block}.app-header-right{align-items:center;gap:1rem;display:flex}.app-header-icon-btn{border:1px solid var(--color-border);width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.app-header-icon-btn:hover{background:var(--color-bg);color:var(--color-navy)}.app-header-user{align-items:center;gap:.6rem;display:flex;position:relative}.app-header-user-info{text-align:right;line-height:1.2}.app-header-user-name{color:var(--color-navy);font-size:.85rem;font-weight:700}.app-header-user-role{color:var(--color-text-muted);font-size:.72rem}.app-header-avatar{background:var(--color-navy);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.78rem;font-weight:700;display:flex}.app-header-user-menu{border-radius:var(--radius);z-index:30;background:#fff;min-width:170px;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden;box-shadow:0 12px 30px #141e2d33}.app-header-user-menu a,.app-header-user-menu button{text-align:left;width:100%;color:var(--color-text);cursor:pointer;background:0 0;border:none;padding:.6rem .9rem;font-family:inherit;font-size:.85rem;text-decoration:none;display:block}.app-header-user-menu a:hover,.app-header-user-menu button:hover{background:var(--color-bg)}.app-sidebar{width:var(--sidebar-width);border-right:1px solid var(--color-border);background:#fff;flex-direction:column;flex-shrink:0;padding:1.1rem .9rem;display:flex}.app-sidebar-logo{align-items:center;padding:.4rem .5rem 1.3rem;display:flex}.app-sidebar-logo img{width:auto;height:60px;display:block}.app-sidebar-nav{flex-direction:column;gap:.15rem;display:flex}.app-sidebar-link{border-radius:var(--radius);color:var(--color-text);align-items:center;gap:.7rem;padding:.55rem .7rem;font-size:.88rem;font-weight:600;text-decoration:none;display:flex}.app-sidebar-link svg{opacity:.75;flex-shrink:0}.app-sidebar-link:hover{background:var(--color-bg)}.app-sidebar-link.active{background:var(--color-navy);color:#fff}.app-sidebar-link.active svg{opacity:1}.app-sidebar-section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:1.2rem 0 .5rem .7rem;font-size:.7rem;font-weight:700}.app-sidebar-quick-link{border-radius:var(--radius);color:var(--color-text);align-items:center;gap:.65rem;padding:.5rem .7rem;font-size:.85rem;font-weight:600;text-decoration:none;display:flex}.app-sidebar-quick-link:hover{background:var(--color-bg)}.app-sidebar-quick-icon{background:var(--color-teal-bg);width:28px;height:28px;color:var(--color-teal);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.app-content{flex:1;min-width:0}.page{flex:1;width:100%;max-width:960px;margin:0 auto;padding:2rem 1.5rem 3rem}.breadcrumbs{color:var(--color-text-muted);margin-bottom:.75rem;font-size:.85rem}.breadcrumbs a{color:var(--color-text-muted);text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}h1{margin:0 0 .25rem;font-size:1.5rem}h2{margin:0 0 .75rem;font-size:1.15rem}.subtitle{color:var(--color-text-muted);margin:0 0 1.5rem;font-size:.95rem}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.25rem;padding:1.25rem 1.5rem}.card-list{flex-direction:column;gap:.75rem;display:flex}.card-row{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:inherit;justify-content:space-between;align-items:center;padding:.9rem 1.1rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.card-row:hover{border-color:var(--color-blue);box-shadow:var(--shadow)}.card-row-title{font-weight:600}.card-row-meta{color:var(--color-text-muted);font-size:.85rem}.module-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.module-card{color:inherit;margin-bottom:0;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:block}.module-card:hover{border-color:var(--color-blue);box-shadow:var(--shadow)}.card-row-amount{color:var(--color-navy);white-space:nowrap;font-weight:700}.dashboard-current-payroll{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.25rem;padding:1.5rem 1.75rem}.dashboard-current-payroll-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem;display:flex}.dashboard-current-payroll-eyebrow{text-transform:uppercase;letter-spacing:.05em;color:var(--color-teal);margin-bottom:.3rem;font-size:.75rem;font-weight:700}.dashboard-current-payroll-title{color:var(--color-navy);flex-wrap:wrap;align-items:center;gap:.65rem;font-size:1.4rem;font-weight:700;display:flex}.dashboard-current-payroll-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:1.25rem;margin-top:.6rem;font-size:.88rem;display:flex}.dashboard-current-payroll-meta span{align-items:center;gap:.35rem;display:inline-flex}.dashboard-current-payroll-empty{color:var(--color-text-muted);font-size:.92rem}.dashboard-progress-block{margin-top:1.1rem}.dashboard-progress-label{color:var(--color-text-muted);justify-content:space-between;margin-bottom:.4rem;font-size:.85rem;display:flex}.dashboard-progress-track{background:var(--color-border);border-radius:999px;height:8px;overflow:hidden}.dashboard-progress-fill{background:var(--color-teal);border-radius:999px;height:100%;transition:width .2s}.dashboard-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.35rem;display:flex}.dashboard-action-btn{border-radius:var(--radius);color:var(--color-navy);border:1px solid var(--color-border);background:#fff;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.dashboard-action-btn:hover{background:var(--color-bg-muted,#f2f4f7)}.dashboard-action-btn.primary{background:var(--color-navy);border-color:var(--color-navy);color:#fff}.dashboard-action-btn.primary:hover{background:var(--color-navy-light)}.company-nav{border-bottom:1px solid var(--color-border);gap:.25rem;margin-bottom:1.5rem;display:flex}.company-nav-link{color:var(--color-text-muted);border-bottom:2px solid #0000;padding:.7rem 1rem;font-size:.92rem;font-weight:600;text-decoration:none}.company-nav-link:hover{color:var(--color-text)}.company-nav-link.active{color:var(--color-navy);border-bottom-color:var(--color-blue)}.dashboard-greeting{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem;display:flex}.dashboard-greeting-date{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:.4rem;margin-top:.3rem;font-size:.85rem;display:flex}.dashboard-layout{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);align-items:start;gap:1.25rem;display:grid}.dashboard-main{flex-direction:column;gap:1.25rem;min-width:0;display:flex}.dashboard-right{flex-direction:column;gap:1.25rem;display:flex}.dashboard-right .card,.dashboard-main .card{margin-bottom:0}.dashboard-summary-list{margin:0 0 .75rem}.dashboard-summary-list>div{border-bottom:1px dashed var(--color-border);justify-content:space-between;align-items:baseline;gap:1rem;padding:.4rem 0;display:flex}.dashboard-summary-list>div:last-child{border-bottom:none}.dashboard-summary-list dt{color:var(--color-text-muted);margin:0;font-size:.85rem}.dashboard-summary-list dd{color:var(--color-navy);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;margin:0;font-size:.92rem;font-weight:600}.dashboard-summary-list>div.total-row{border-top:1px solid var(--color-border);border-bottom:none;margin-top:.15rem;padding-top:.65rem}.dashboard-summary-list>div.total-row dt{color:var(--color-text);font-weight:600}.dashboard-summary-list>div.total-row dd{color:var(--color-teal);font-size:1rem;font-weight:700}.dashboard-summary-link{font-size:.85rem;font-weight:600;text-decoration:none}.dashboard-tasks-list{flex-direction:column;gap:.15rem;margin:0;padding:0;list-style:none;display:flex}.dashboard-task-row{border-radius:var(--radius);color:inherit;border-bottom:1px solid var(--color-border);align-items:center;gap:.75rem;padding:.65rem .4rem;text-decoration:none;display:flex}.dashboard-tasks-list li:last-child .dashboard-task-row{border-bottom:none}.dashboard-task-row:hover{background:var(--color-bg)}.dashboard-task-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.dashboard-task-icon.critical{color:#a3231a;background:#fdeceb}.dashboard-task-icon.action-required{background:var(--color-warning-bg);color:var(--color-warning)}.dashboard-task-icon.housekeeping{color:var(--color-text-muted);background:#eef1f4}.dashboard-task-row{align-items:flex-start}.dashboard-task-body{flex-direction:column;flex:1;gap:.15rem;min-width:0;padding-top:.1rem;display:flex}.dashboard-task-title-row{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.dashboard-task-title{color:var(--color-navy);font-size:.88rem;font-weight:700;display:block}.dashboard-task-subtitle{color:var(--color-text-muted);font-size:.78rem;display:block}.dashboard-task-action{color:var(--color-blue);white-space:nowrap;flex-shrink:0;font-size:.82rem;font-weight:700}.dashboard-tasks-footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:.6rem;padding-top:.6rem;display:flex}.dashboard-tasks-footer a{font-size:.85rem;font-weight:600;text-decoration:none}.dashboard-no-tasks{text-align:center;color:var(--color-text-muted);padding:1.5rem .5rem}.dashboard-no-tasks-title{color:var(--color-navy);margin-bottom:.25rem;font-weight:700}.dashboard-alerts-card.has-alerts{background:var(--color-warning-bg);border-color:#f3dca6}.dashboard-alerts-list{flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none;display:flex}.dashboard-alerts-list li{color:var(--color-warning);align-items:flex-start;gap:.5rem;font-size:.85rem;display:flex}.dashboard-alerts-list li svg{flex-shrink:0;margin-top:.15rem}.dashboard-alert-title{margin-bottom:.1rem;font-weight:700}.dashboard-alerts-list a{color:var(--color-warning);font-weight:700;text-decoration:underline}.dashboard-no-alerts{color:var(--color-success);align-items:center;gap:.4rem;font-size:.88rem;font-weight:600;display:flex}.dashboard-trend-chart{margin-top:.5rem}.dashboard-trend-chart svg{width:100%;height:auto;display:block}.dashboard-main .data-table{font-size:.85rem}.dashboard-main .data-table th,.dashboard-main .data-table td{padding:.55rem .35rem}@media (width<=1080px){.dashboard-layout{grid-template-columns:1fr}}table.data-table{border-collapse:collapse;width:100%;font-size:.92rem}.table-scroll{overflow-x:auto}.timesheet-table{border-collapse:collapse;white-space:nowrap;font-size:.85rem}.timesheet-table th,.timesheet-table td{text-align:center;border-bottom:1px solid #eef1f4;padding:.4rem .5rem}.timesheet-table th{color:var(--color-text-muted);font-size:.78rem;font-weight:600}.timesheet-table td:first-child,.timesheet-table th:first-child{text-align:left;background:#fff;position:sticky;left:0}.timesheet-table input{text-align:right;width:4.2rem;padding:.3rem}.timesheet-table tfoot td{border-top:2px solid #dfe4ea;border-bottom:none;font-weight:600}.filing-emp201-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.filing-emp201-col{flex-direction:column;gap:.6rem;display:flex}.filing-emp201-row{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:.5rem 0;font-size:.92rem;display:flex}.filing-emp201-total{border-bottom:none;border-top:2px solid var(--color-navy);font-size:1rem}@media (width<=800px){.filing-emp201-grid{grid-template-columns:1fr}}.employee-payroll-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:1.25rem;display:grid}.employee-payroll-grid .span-full{grid-column:1/-1}@media (width<=900px){.employee-payroll-grid{grid-template-columns:1fr}}.employee-payroll-card-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.payslip-item-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.55rem 0;font-size:.92rem;display:flex}.payslip-item-row:last-of-type{border-bottom:none}.payslip-item-name{font-weight:600}.payslip-item-amount{font-variant-numeric:tabular-nums;align-items:center;gap:.6rem;display:flex}.payslip-item-remove{color:var(--color-danger,#c0392b);cursor:pointer;background:0 0;border:none;padding:0;font-size:.78rem}.payslip-item-edit{color:var(--color-primary,#2b6cb0);cursor:pointer;background:0 0;border:none;margin-left:.6rem;padding:0;font-size:.78rem}.employee-payroll-nett-pay{background:var(--color-navy);color:#fff;border-radius:var(--radius);justify-content:space-between;align-items:center;margin-top:.75rem;padding:.75rem 1rem;font-size:1rem;display:flex}.payslip-item-picker{border:1px solid var(--color-border);border-radius:var(--radius);margin-top:.5rem;padding:.9rem}.payslip-item-picker-group h4{text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);margin:.6rem 0 .3rem;font-size:.78rem}.payslip-item-picker-option{text-align:left;width:100%;color:var(--color-blue);cursor:pointer;background:0 0;border:none;padding:.4rem .2rem;font-size:.92rem;display:block}.payslip-item-picker-option:hover{text-decoration:underline}.payslip-item-picker-custom{color:var(--color-navy);font-weight:600}.payslip-item-picker-breadcrumb{text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);margin:0 0 .5rem;font-size:.8rem}.payslip-item-amount-form{border:1px solid var(--color-border);border-radius:var(--radius);margin-top:.5rem;padding:.9rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.6rem .8rem}.data-table th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}.data-table td.numeric,.data-table th.numeric{text-align:right;font-variant-numeric:tabular-nums}.data-table tbody tr:hover{background:#fafbfc}.data-table tbody tr.clickable-row{cursor:pointer}.tx-employee-name{white-space:nowrap;line-height:1.3}.tx-employee-name div{color:var(--color-text)}.tx-nowrap{white-space:nowrap}.badge{border-radius:999px;padding:.15rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-neutral{color:var(--color-text-muted);background:#eef1f4}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{color:#a3231a;background:#fdeceb}.btn{background:var(--color-blue);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:.55rem 1.1rem;font-size:.9rem;font-weight:600;display:inline-block}.btn:hover{background:var(--color-navy-light)}.btn:disabled{cursor:not-allowed;background:#a9b6c2}.btn-secondary{color:var(--color-blue);border:1px solid var(--color-blue);background:0 0}.settings-tabs{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:.25rem;margin-bottom:1.25rem;display:flex}.settings-tab{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.7rem 1rem;font-size:.9rem;font-weight:600}.settings-tab:hover{color:var(--color-text)}.settings-tab.active{color:var(--color-navy);border-bottom-color:var(--color-blue)}.btn-secondary:hover{background:#eef5fc}.btn-small{padding:.35rem .7rem;font-size:.8rem}.company-access-list{flex-direction:column;gap:.4rem;min-width:16rem;display:flex}.company-access-row{align-items:center;gap:.5rem;display:flex}.company-access-row select{border:1px solid var(--color-border);border-radius:var(--radius);padding:.3rem .5rem;font-size:.85rem}.company-access-name{flex:1;font-size:.85rem}.company-access-add-form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.company-access-add-form select{border:1px solid var(--color-border);border-radius:var(--radius);padding:.3rem .5rem;font-size:.85rem}.form-field{margin-bottom:1rem}.form-field label{color:var(--color-text-muted);margin-bottom:.3rem;font-size:.85rem;font-weight:600;display:block}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;width:100%;padding:.6rem .75rem;font-family:inherit;font-size:.95rem}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--color-blue);outline-offset:-1px}.field-help{color:var(--color-text-muted);margin-top:.3rem;font-size:.78rem}.type-ahead{position:relative}.type-ahead-results{z-index:30;border:1px solid var(--color-border);border-radius:var(--radius);max-height:260px;box-shadow:var(--shadow);background:#fff;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.type-ahead-result{text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--color-border);background:0 0;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.85rem;display:block}.type-ahead-result:last-child{border-bottom:none}.type-ahead-result:hover,.type-ahead-result:focus{background:var(--color-bg-muted,#f2f4f7)}.type-ahead-result-code{margin-right:.4rem;font-weight:600}.type-ahead-empty{color:var(--color-text-muted);padding:.5rem .75rem;font-size:.85rem}.link-button{font:inherit;color:var(--color-blue);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:none}.link-button:hover{text-decoration:underline}.form-grid{grid-template-columns:1fr 1fr;gap:0 1.5rem;display:grid}.form-grid .span-2{grid-column:span 2}.settings-checkbox-group{margin-bottom:1.75rem}.settings-checkbox-group h3{color:var(--color-navy);margin-bottom:.5rem;font-size:.95rem}.settings-checkbox-row{cursor:pointer;align-items:flex-start;gap:.6rem;padding:.35rem 0;display:flex}.settings-checkbox-row input[type=checkbox]{width:auto;margin-top:.2rem}.settings-checkbox-row-label{font-size:.92rem}.settings-checkbox-row-caption{color:var(--color-text-muted);margin-top:.1rem;font-size:.78rem}.regime-options{flex-direction:column;gap:.75rem;display:flex}.regime-option{border:1px solid var(--border-color,#d8dee5);cursor:pointer;border-radius:8px;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;display:flex}.regime-option-selected{border-color:var(--accent-color,#2f6fd6);background:#2f6fd60f}.regime-option input[type=radio]{margin-top:.25rem}.regime-option-title{font-weight:600}.regime-option-description{color:var(--text-muted,#667085);margin-top:.15rem;font-size:.9rem}@media (width<=640px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}}.error-banner{color:#a3231a;border-radius:var(--radius);background:#fdeceb;border:1px solid #f3c6c1;margin-bottom:1rem;padding:.6rem .9rem;font-size:.88rem}.warning-banner{color:#8a5a00;border-radius:var(--radius);background:#fdf6e3;border:1px solid #f0dfa8;margin-bottom:1rem;padding:.6rem .9rem;font-size:.88rem}.login-shell{background:linear-gradient(160deg, var(--color-navy) 0%, #0d1f33 100%);justify-content:center;align-items:center;min-height:100%;display:flex}.login-card{background:#fff;border-radius:12px;width:100%;max-width:380px;padding:2.5rem 2.25rem;box-shadow:0 20px 60px #0000004d}.login-card h1{text-align:center;color:var(--color-navy)}.login-card .subtitle{text-align:center}.payslip{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;min-height:1000px;padding:1.5rem;font-size:.78rem;display:flex}.payslip-header{border-bottom:2px solid var(--color-navy);justify-content:space-between;align-items:flex-start;margin-bottom:.65rem;padding-bottom:.5rem;display:flex}.payslip-company-name{color:var(--color-navy);font-size:.92rem;font-weight:700}.payslip-company-address{color:var(--color-text);margin-top:.15rem;font-size:.68rem}.payslip-header h2{color:var(--color-navy);margin:0;font-size:.98rem}.payslip-meta-cols{grid-template-columns:1fr 1fr;gap:.2rem 2rem;margin-bottom:.65rem;font-size:.74rem;display:grid}.payslip-meta-cols dl{flex-direction:column;gap:.2rem;margin:0;display:flex}.payslip-meta-cols dt{color:var(--color-text);font-weight:400;display:inline}.payslip-meta-cols dd{color:var(--color-text);margin:0;font-weight:500;display:inline}.payslip-meta-cols dl>div{justify-content:space-between;display:flex}.payslip-columns{grid-template-columns:1fr 1fr;align-items:start;gap:1rem;margin-bottom:.65rem;display:grid}.payslip-columns h2{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text);margin-bottom:.35rem;font-size:.66rem;font-weight:700}.payslip-columns section+section{margin-top:.6rem}.payslip .data-table{font-size:.7rem}.payslip .data-table th,.payslip .data-table td{padding:.3rem .45rem}.payslip .data-table th,.payslip .data-table td,.payslip .field-help{color:var(--color-text)}.payslip-net{border-top:1.5px solid var(--color-navy);justify-content:space-between;align-items:baseline;margin-top:auto;padding-top:.6rem;display:flex}.payslip-net span:first-child{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text);font-size:.7rem;font-weight:700}.payslip-net span:last-child{color:var(--color-navy);font-size:.95rem;font-weight:700}.payslip-footer{text-align:center;color:var(--color-text);margin-top:.75rem;font-size:.66rem}.payslip-footer-lagoon{color:#000;font-weight:700}.payslip-footer-product{color:var(--color-blue);font-weight:700}.calc-trace{border:1px dashed var(--color-border);border-radius:var(--radius);background:#f8fafb;margin-top:1.5rem;padding:1rem 1.25rem;font-size:.85rem}.calc-trace summary{cursor:pointer;color:var(--color-text-muted);font-weight:600}.calc-trace ul{margin:.75rem 0 0;padding-left:1.2rem;font-family:ui-monospace,Consolas,monospace;font-size:.8rem;line-height:1.6}@media print{@page{margin:1.5cm}.no-print,.app-header,.app-sidebar{display:none!important}body{background:#fff}.page{max-width:none;margin:0;padding:0}.payslip{border:none;padding:0}.calc-trace{display:none}.payslip-net,.data-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact}.payslip-print-page-break{page-break-after:always}}.loading-state,.empty-state{color:var(--color-text-muted);text-align:center;padding:2rem}.page-wide{max-width:1160px}.my-companies-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.my-companies-toolbar{flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;display:flex}.my-companies-search{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;flex:260px;padding:.6rem .9rem;font-family:inherit;font-size:.95rem}.my-companies-toolbar select{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;padding:.6rem .9rem;font-family:inherit;font-size:.9rem}.company-card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.company-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;padding:1.25rem 1.4rem;display:flex}.company-card-header{align-items:center;gap:.85rem;margin-bottom:.9rem;display:flex}.company-card-avatar{background:var(--color-navy);color:#fff;letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:.85rem;font-weight:700;display:flex}.company-card-name{font-weight:700;line-height:1.25}.company-card-trading{color:var(--color-text-muted);font-size:.82rem}.company-card-badges{flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem;display:flex}.company-card-meta{flex-direction:column;gap:.4rem;margin:0 0 1.1rem;font-size:.88rem;display:flex}.company-card-meta div{justify-content:space-between;gap:1rem;display:flex}.company-card-meta dt{color:var(--color-text-muted)}.company-card-meta dd{text-align:right;margin:0;font-weight:600}.company-card-action{text-align:center;margin-top:auto}span.company-card-action[aria-disabled=true]{opacity:.55;cursor:default;pointer-events:none}.view-toggle{border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;gap:.2rem;padding:.2rem;display:flex}.view-toggle-btn{border-radius:calc(var(--radius) - 3px);width:34px;height:34px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.view-toggle-btn:hover{background:var(--color-bg-muted,#f2f4f7)}.view-toggle-btn.active{background:var(--color-navy);color:#fff}.company-list{flex-direction:column;gap:.6rem;display:flex}.company-list-row{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);color:inherit;align-items:center;gap:.85rem;padding:.85rem 1.25rem;text-decoration:none;display:flex}a.company-list-row:hover{border-color:var(--color-navy);box-shadow:var(--shadow)}.company-list-row-disabled{opacity:.6;cursor:default}.company-list-avatar{background:var(--color-navy);color:#fff;letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:.78rem;font-weight:700;display:flex}.company-list-name-block{flex:auto;min-width:0}.company-list-name{font-weight:700}.company-list-period{color:var(--color-text-muted);white-space:nowrap;flex:none;font-size:.88rem}.topbar-company{position:relative}.topbar-company-trigger{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-navy);cursor:pointer;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.4rem .8rem;font-family:inherit;display:flex}.topbar-company-trigger:hover{background:#eaeef2}.topbar-company-name{color:var(--color-navy);align-items:center;gap:.35rem;font-size:.88rem;font-weight:700;display:flex}.topbar-company-regime{color:var(--color-text-muted);font-size:.72rem}.topbar-company-menu{min-width:240px;color:var(--color-text);border-radius:var(--radius);z-index:20;background:#fff;position:absolute;top:calc(100% + .4rem);left:0;overflow:hidden;box-shadow:0 12px 30px #141e2d40}.topbar-company-menu-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);padding:.6rem .9rem .3rem;font-size:.72rem}.topbar-company-menu-item{color:var(--color-text);padding:.55rem .9rem;font-size:.88rem;text-decoration:none;display:block}.topbar-company-menu-item:hover{background:#f2f5f8}.topbar-company-menu-item.active{color:var(--color-navy);font-weight:700}.topbar-company-menu-divider{border:none;border-top:1px solid var(--color-border);margin:.3rem 0}.topbar-company-menu-viewall{color:var(--color-blue);padding:.6rem .9rem;font-size:.85rem;font-weight:600;text-decoration:none;display:block}.topbar-company-menu-viewall:hover{background:#f2f5f8}.pay-run-section-title{margin-bottom:.75rem}.pay-run-pending-card{border-left:4px solid var(--color-blue)}.pay-run-pending-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.9rem;display:flex}.pay-run-payslip-tiles{gap:.75rem;margin-bottom:.75rem;display:flex}.pay-run-tile{border:1px solid var(--color-border);border-radius:var(--radius);text-align:center;background:#f8fafb;flex:1;padding:.6rem .9rem}.pay-run-tile-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;display:block}.pay-run-tile-value{color:var(--color-navy);font-size:1.4rem;font-weight:700;display:block}.pay-run-confirm{background:#f8fafb;margin-top:1rem}.pay-run-confirm-totals{grid-template-columns:1fr 1fr;gap:.4rem 2rem;margin:.75rem 0;display:grid}.pay-run-confirm-totals div{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.2rem .75rem;padding:.3rem 0;font-size:.9rem;display:flex}.pay-run-confirm-totals dt{color:var(--color-text-muted);flex:none}.pay-run-confirm-totals dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:600}.pay-run-confirm-net{background:var(--color-navy);color:#fff;border-radius:var(--radius);grid-column:span 2;border-bottom:none!important;padding:.5rem .9rem!important}.pay-run-confirm-net dt,.pay-run-confirm-net dd{color:#fff!important}.pay-run-history-relative{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .4rem;font-size:.85rem;font-weight:600}.pay-run-history-card{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.pay-run-history-header{background:var(--color-navy);color:#fff;cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;width:100%;padding:.75rem 1.1rem;font-size:.95rem;font-weight:600;display:flex}.pay-run-history-body{background:var(--color-card);padding:1rem 1.1rem}.pay-run-history-row{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:2rem;padding:.75rem 0;font-size:.9rem;display:flex}.pay-run-history-row:last-child{border-bottom:none}.link-btn{color:var(--color-blue);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.link-btn:hover{color:var(--color-navy-light)}.pay-run-reversed-notice{background:var(--color-warning-bg);color:var(--color-warning);border-radius:var(--radius);margin-bottom:.9rem;padding:.6rem .9rem;font-size:.88rem}.pay-run-reversal-blocked-note{background:var(--color-warning-bg);color:var(--color-warning);border-radius:var(--radius);margin:.6rem 0 0;padding:.6rem .9rem;font-size:.88rem}.filing-status-control{align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.9rem;display:flex}.year-glance-card{margin-bottom:1.5rem}.year-glance-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.5rem;display:grid}.year-glance-cell{border-radius:var(--radius);flex-direction:column;gap:.15rem;padding:.5rem .6rem;font-size:.82rem;display:flex}.year-glance-cell-label{font-weight:600}.year-glance-cell-open{background:var(--color-warning-bg);color:var(--color-warning)}.year-glance-cell-finalised{background:var(--color-success-bg);color:var(--color-success)}.year-glance-cell-reversed{background:var(--color-danger-bg,var(--color-warning-bg));color:var(--color-danger,var(--color-warning))}.year-glance-cell-pending{background:var(--color-bg-muted,#f2f2f2);color:var(--color-text-muted,#777)}.btn-danger{color:#fff;background:#a3231a;border:none}.btn-danger:hover{background:#7f1b14}.btn-danger:disabled{cursor:not-allowed;background:#d8a9a5}.pay-run-reverse-confirm{border:1px solid #f3c6c1}.pay-run-history-actions{border-top:1px solid var(--color-border);justify-content:space-between;margin-top:.25rem;padding-top:.75rem;display:flex}.pay-run-reverse-link{color:#a3231a}.pay-run-reverse-link:hover{color:#7f1b14}.pay-run-version-history{border:1px dashed var(--color-border);border-radius:var(--radius);background:#f8fafb;margin-top:.75rem;padding:.75rem .9rem;font-size:.85rem}.pay-run-version-row{color:var(--color-text-muted);padding:.3rem 0}.app-header-menu-btn{display:none}@media (width<=900px){.app-header-menu-btn{display:inline-flex}.app-sidebar-wrap{z-index:40;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:0 0 #0000}.app-sidebar-wrap.open{transform:translate(0);box-shadow:8px 0 24px #141e2d2e}.app-sidebar{height:100%;overflow-y:auto}.app-sidebar-backdrop{z-index:35;background:#0f192866;position:fixed;inset:0}.app-header{padding:.7rem 1rem}.app-header-user-info{display:none}.dashboard-hero-top{flex-direction:column}.dashboard-hero-figure{text-align:left}}@media (width>=901px){.app-sidebar-backdrop{display:none}}
