.erp-finance__budget{list-style:none;margin:0;padding:0}.erp-finance__budget-head,.erp-finance__budget-row{display:grid;grid-template-columns:1fr auto 48px;align-items:baseline;gap:8px}.erp-finance__budget-head{padding-bottom:8px;border-bottom:1px solid var(--erp-border);font-size:.75rem;color:var(--erp-text-tertiary)}.erp-finance__budget-head span:last-child,.erp-finance__budget-percent{text-align:end}.erp-finance__budget-item{padding:12px 0}.erp-finance__budget-label{font-size:.875rem;font-weight:500;color:var(--erp-text-primary)}.erp-finance__budget-value{font-size:.8125rem;color:var(--erp-text-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.erp-finance__budget-percent{font-size:.8125rem;font-weight:600;color:var(--erp-text-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.erp-finance__budget-bar{margin-top:8px}.erp-finance__mini-table{font-size:.8125rem}.erp-finance__mini-table thead th{font-size:.75rem;font-weight:600;color:var(--erp-text-tertiary)}.erp-finance__mini-table td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.erp-finance__debt{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.erp-finance__debt-label{margin:0;font-size:.75rem;color:var(--erp-text-tertiary)}.erp-finance__debt-total{margin:4px 0 10px;font-size:1.5rem;font-weight:700;line-height:1.2;color:var(--erp-text-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.erp-finance__debt-total span{font-size:.75rem;font-weight:500;color:var(--erp-text-secondary)}.erp-finance__debt-line{display:flex;align-items:center;gap:6px;margin:0 0 4px;font-size:.8125rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.erp-finance__debt-line--ok{color:var(--erp-success)}.erp-finance__debt-line--late{color:var(--erp-danger)}.erp-finance__debt-note{margin:10px 0 0;padding-top:10px;border-top:1px solid var(--erp-border);font-size:.75rem;color:var(--erp-text-secondary)}.erp-finance__amount--negative{color:var(--erp-danger)}.erp-finance__account-number,.erp-finance__amount--negative{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.erp-finance__account-number{letter-spacing:.02em}.erp-cf-page{display:flex;flex-direction:column;gap:16px}.erp-cf-link{padding:0;border:0;background:none;color:var(--erp-brand);font:inherit;font-weight:600;text-align:left}[dir=rtl] .erp-cf-link{text-align:right}.erp-cf-link:focus-visible,.erp-cf-link:hover{text-decoration:underline}.erp-cf-actions{display:inline-flex;gap:4px}.erp-cf-form__heading{margin:20px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--erp-border);color:var(--erp-text-secondary);font-size:.8125rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.erp-cf-form__heading:first-child{margin-top:0}.erp-cf-ledger__filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px}.erp-cf-ledger__dates{display:flex;align-items:center;gap:6px}.erp-cf-ledger__dates .form-control{width:150px}.erp-cf-ledger__search{width:260px;max-width:100%;margin-left:auto}[dir=rtl] .erp-cf-ledger__search{margin-left:0;margin-right:auto}.erp-cf-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}.erp-cf-summary>div{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:1px solid var(--erp-border);border-radius:var(--erp-radius-md);background:var(--erp-surface-secondary)}.erp-cf-summary span{color:var(--erp-text-secondary);font-size:.8125rem}.erp-cf-summary strong{font-size:1.125rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.erp-cf-in,.erp-cf-summary--in strong{color:var(--erp-success)}.erp-cf-out,.erp-cf-summary--negative strong,.erp-cf-summary--out strong{color:var(--erp-danger)}.table.erp-cf-ledger__table{min-width:980px;margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table.erp-cf-ledger__table>thead>tr>th{position:sticky;top:0;z-index:1;background:var(--erp-surface-secondary)}.table.erp-cf-ledger__table>:is(tfoot,tbody>.erp-cf-ledger__opening)>tr>td,.table.erp-cf-ledger__table>tbody>.erp-cf-ledger__opening>td{background:var(--erp-surface-secondary);font-weight:600}.erp-fr{display:flex;flex:1 1 auto;flex-direction:column;gap:16px;min-height:0;overflow-x:hidden;overflow-y:auto}.erp-fr>*{flex-shrink:0}.erp-fr>.erp-card,.erp-fr>.erp-table{height:auto}.erp-fr>.erp-table>.erp-table__scroll{overflow-y:visible}.erp-fr__filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px}.erp-fr__filters .form-label{margin-bottom:4px;color:var(--erp-text-secondary);font-size:12px}.erp-fr__filters .form-select{min-width:260px}.erp-fr__month{display:flex;gap:4px}.erp-fr__manage{margin-left:auto}[dir=rtl] .erp-fr__manage{margin-left:0;margin-right:auto}.erp-fr-chart__trend{margin-top:16px;padding-top:16px;border-top:1px solid var(--erp-border)}.erp-fr-daily{max-height:420px;overflow-y:auto;border:1px solid var(--erp-border);border-radius:var(--erp-radius-md)}.erp-fr-daily>.table>:is(thead,tbody,tfoot)>tr>:is(th,td){padding:6px 12px}.erp-fr-daily>.table>thead>tr>th{position:sticky;top:0;z-index:1}.erp-fr-daily>.table>tfoot>tr>:is(th,td){position:sticky;bottom:0;background:var(--erp-surface-secondary);font-weight:600}.erp-fr-daily>.table>tbody>.erp-fr-daily__idle>td{color:var(--erp-text-tertiary)}.erp-fr-change{font-size:12px;white-space:nowrap}.erp-fr-change--good{color:var(--erp-success)}.erp-fr-change--bad{color:var(--erp-danger)}.erp-fr-change--neutral{color:var(--erp-text-secondary)}.erp-fr-star{width:32px;height:32px;padding:0;border:0;border-radius:var(--erp-radius-md);background:none;color:var(--erp-text-tertiary)}.erp-fr-star:focus-visible,.erp-fr-star:hover{background:var(--erp-surface-secondary);color:var(--erp-text-primary)}.erp-fr-star--on,.erp-fr-star--on:hover{color:var(--erp-warning)}.erp-fr-spark{display:block;margin:0 auto}.erp-fr-spark polyline{fill:none;stroke:var(--erp-text-tertiary);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.erp-fr-spark--up polyline{stroke:var(--erp-success)}.erp-fr-spark--down polyline{stroke:var(--erp-danger)}.erp-fr-manage__layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px}.erp-fr-manage__targets .list-group-item{display:flex;align-items:center;gap:8px}.erp-fr-manage__count{margin-left:auto;font-size:12px;opacity:.75}[dir=rtl] .erp-fr-manage__count{margin-left:0;margin-right:auto}.erp-fr-manage__funds{display:grid;gap:6px;max-height:320px;padding:8px 12px;overflow-y:auto;border:1px solid var(--erp-border);border-radius:var(--erp-radius-md)}@media (max-width:767.98px){.erp-fr-manage__layout{grid-template-columns:minmax(0,1fr)}.erp-fr__filters .form-select{min-width:0}.erp-fr__manage{margin-left:0}[dir=rtl] .erp-fr__manage{margin-left:0;margin-right:0}}.erp-posting-combine__picked{max-height:52vh;overflow:auto;border:1px solid var(--erp-border);border-radius:var(--erp-radius-md)}.erp-posting-combine__picked tfoot th,.erp-posting-combine__picked thead th{position:sticky;background:var(--erp-surface-secondary)}.erp-posting-combine__picked thead th{top:0}.erp-posting-combine__picked tfoot th{bottom:0}.erp-filter-date{display:flex;align-items:center;gap:8px;margin-bottom:0}.erp-filter-date__label{margin-bottom:0;font-size:.75rem;color:var(--erp-text-secondary);white-space:nowrap}.erp-filter-date .form-control{width:165px}.erp-filter-presets{display:flex;align-items:center;gap:8px}.erp-invoice__number{display:flex;flex-direction:column;gap:2px}.erp-invoice__number-code{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.erp-goods-note__invoice-type,.erp-invoice__number-date,.erp-invoice__posting-code{font-size:.75rem;color:var(--erp-text-tertiary)}.erp-goods-note__invoice,.erp-invoice__posting{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.erp-goods-note__invoice-number{display:inline-flex;align-items:center;gap:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.erp-stock__negative{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--erp-danger);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.erp-payroll-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin:0 0 10px;padding:10px 14px;border:1px solid var(--erp-border);border-radius:var(--erp-radius-lg);background:var(--erp-surface);color:var(--erp-text-secondary);font-size:.8125rem;flex:0 0 auto}.erp-payroll-summary>span,.erp-payroll-summary>strong{display:inline-flex;align-items:center;gap:7px}.erp-payroll-summary>strong{margin-left:auto;color:var(--erp-text-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}[dir=rtl] .erp-payroll-summary>strong{margin-left:0;margin-right:auto}.erp-payroll-person{display:flex;flex-direction:column;gap:2px;min-width:0}.erp-report .erp-payroll-name-column{left:120px;min-width:190px}[dir=rtl] .erp-report .erp-payroll-name-column{left:auto;right:120px}.erp-payroll-person small{color:var(--erp-text-tertiary);font-size:.72rem}.erp-payroll-net{color:var(--erp-action-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.erp-yes-no{display:inline-flex;align-items:center;gap:6px;color:var(--erp-text-secondary)}.erp-allocation__unit{display:block;font-weight:400;text-transform:none;letter-spacing:0;color:var(--erp-text-tertiary)}.erp-allocation__warning{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--erp-warning);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.erp-payroll-flow{gap:8px}.erp-payroll-flow--fullscreen-fallback,.erp-payroll-flow:fullscreen{width:100vw;height:100dvh;max-width:none;padding:clamp(10px,1.5vw,20px);overflow:hidden;background:var(--erp-bg)}.erp-payroll-flow--fullscreen-fallback{position:fixed;inset:0;z-index:1100}.erp-payroll-flow__header{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:4px 2px 8px}.erp-payroll-flow__heading h1{margin:2px 0 3px;font-size:1.2rem;font-weight:700}.erp-payroll-flow__heading p{margin:0;color:var(--erp-text-secondary);font-size:.82rem}.erp-payroll-flow__eyebrow{color:var(--erp-action-primary);font-size:.66rem;font-weight:700;letter-spacing:.08em}.erp-payroll-flow__actions,.erp-payroll-flow__switch{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.erp-payroll-flow__overview,.erp-payroll-flow__process{flex:1 1 auto;min-height:0}.erp-payroll-flow__process{display:flex;flex-direction:column;gap:8px}.erp-payroll-flow__process[hidden]{display:none}.erp-payroll-flow__overview>.erp-list-page{height:100%}.erp-payroll-flow__steps{flex:0 0 auto;overflow-x:auto;scrollbar-width:thin;border-bottom:1px solid var(--erp-border)}.erp-payroll-flow__steps ol{display:flex;min-width:max-content;margin:0;padding:0;list-style:none}.erp-payroll-flow__steps li{flex:1 0 160px}.erp-payroll-flow__step{display:flex;align-items:center;gap:9px;width:100%;min-height:50px;padding:8px 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--erp-text-secondary);text-align:left;transition:border-color .15s,background .15s,color .15s}[dir=rtl] .erp-payroll-flow__step{text-align:right}.erp-payroll-flow__step--active,.erp-payroll-flow__step:hover:not(:disabled){border-bottom-color:var(--erp-action-primary);color:var(--erp-text-primary)}.erp-payroll-flow__step:hover:not(:disabled){background:var(--erp-action-primary-soft,var(--erp-surface-secondary))}.erp-payroll-flow__step:disabled{cursor:wait}.erp-payroll-flow__step-number{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border-radius:50%;background:var(--erp-surface-secondary);color:var(--erp-text-primary);font-size:.75rem;font-weight:700}.erp-payroll-flow__step--active .erp-payroll-flow__step-number{background:var(--erp-action-primary);color:#fff}.erp-payroll-flow__step-text{display:flex;flex-direction:column;min-width:0;line-height:1.25}.erp-payroll-flow__step-text strong{color:var(--erp-text-primary);font-size:.8rem}.erp-payroll-flow__step-text small{margin-top:2px;color:var(--erp-text-tertiary);font-size:.68rem}.erp-payroll-flow--focus .erp-payroll-flow__heading p,.erp-payroll-flow--focus .erp-payroll-flow__steps{display:none}.erp-payroll-flow--focus .erp-payroll-flow__header{padding-block:3px}.erp-payroll-flow__source-note{display:flex;align-items:center;gap:7px;margin:0;padding:8px 11px;border:1px solid var(--erp-warning);border-radius:var(--erp-radius-sm);background:var(--erp-warning-soft,var(--erp-surface-secondary));color:var(--erp-text-secondary);font-size:.76rem}.erp-payroll-flow__frame-wrap{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;border:1px solid var(--erp-border);border-radius:var(--erp-radius-lg);background:var(--erp-surface)}.erp-payroll-flow__frame{display:block;width:100%;height:100%;border:0;background:#f8fafc}.erp-payroll-flow__frame--pending{visibility:hidden}.erp-payroll-flow__frame-message{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:9px;padding:24px;background:var(--erp-surface);color:var(--erp-text-secondary);text-align:center;font-size:.83rem}.erp-payroll-flow__frame-message--error{inset:auto 16px 16px;z-index:6;max-width:min(600px,calc(100% - 32px));padding:12px 16px;border:1px solid var(--erp-border);border-radius:var(--erp-radius-sm);box-shadow:0 8px 24px rgb(15 23 42/10%);flex-wrap:wrap;justify-content:flex-start;text-align:left;color:var(--erp-danger)}[dir=rtl] .erp-payroll-flow__frame-message--error{text-align:right}@media (max-width:640px){.erp-payroll-flow__header{padding:4px 0 8px}.erp-payroll-flow__steps li{flex-basis:150px}.erp-payroll-flow__step-text small{display:none}.erp-payroll-flow__step{min-height:44px}}.erp-timesheet__employee{display:flex;flex-direction:column;gap:2px}.erp-timesheet__department{font-size:.75rem;color:var(--erp-text-tertiary)}.erp-work-employee-context{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.erp-workday-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.erp-timesheet__day{display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.2}.erp-timesheet__day-number{font-size:.8125rem;color:var(--erp-text-primary)}.erp-timesheet__day-weekday{font-size:.625rem;font-weight:400;text-transform:none;letter-spacing:0;color:var(--erp-text-tertiary)}.erp-timesheet__weekend{background:var(--erp-surface-secondary)}.erp-timesheet__mark{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border:1px solid var(--erp-border);border-radius:var(--erp-radius-sm);background:var(--erp-action-secondary-soft);color:var(--erp-action-secondary);font-size:.75rem;font-weight:600}.erp-timesheet__mark--empty{background:var(--erp-surface);color:var(--erp-text-tertiary)}.erp-timesheet__legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin:16px 0 0;padding:12px 16px;border:1px solid var(--erp-border);border-radius:var(--erp-radius-lg);background:var(--erp-surface);font-size:.8125rem;color:var(--erp-text-secondary)}.erp-timesheet__legend-title{margin:0;font-weight:600;color:var(--erp-text-primary)}.erp-timesheet__legend-item{display:inline-flex;align-items:center;gap:8px;margin:0}.erp-work-cell__value{font-size:.875rem;font-weight:600;line-height:1.2;color:var(--erp-text-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.erp-work-cell--overtime .erp-work-cell__value{color:var(--erp-construction);font-weight:700}.erp-work-cell.erp-work-cell--suggested{border:1px dashed var(--erp-border-strong)}.erp-work-cell--suggested .erp-work-cell__value{font-style:italic;font-weight:500;color:var(--erp-text-secondary)}.erp-work-cell__marks{display:inline-flex;gap:2px}.erp-work-cell__marks abbr{padding:0 3px;border-radius:var(--erp-radius-sm);background:var(--erp-action-secondary-soft);color:var(--erp-action-secondary);font-size:.625rem;font-weight:700;line-height:1.4;text-decoration:none;cursor:help}.erp-work-cell__overtime{font-size:.625rem;font-weight:600;color:var(--erp-construction);white-space:nowrap}.erp-work-col--holiday,.erp-work-holiday{background:var(--erp-info-soft)}.erp-work-holiday{padding:0 4px;border-radius:var(--erp-radius-sm);color:var(--erp-info);font-size:.625rem;font-weight:700;text-decoration:none;border:none}.erp-work-legend__value{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border:1px solid var(--erp-border);border-radius:var(--erp-radius-sm);background:var(--erp-surface);font-weight:600;color:var(--erp-text-primary)}.erp-work-legend__value--suggested{border-style:dashed;border-color:var(--erp-border-strong);font-style:italic;font-weight:500;color:var(--erp-text-secondary)}@media (max-width:576px){.erp-filter-date,.erp-filter-date .form-control,.erp-filter-presets{width:100%}}.erp-payroll-approval__limit{margin:8px 0;color:var(--erp-text-secondary);font-size:.8125rem}.erp-payroll-approval-detail .modal-dialog{max-width:min(1720px,calc(100vw - 24px));height:calc(100vh - 24px);margin:12px auto}.erp-payroll-approval-detail .modal-content{height:100%;border-radius:16px}.erp-payroll-approval-detail .modal-footer,.erp-payroll-approval-detail .modal-header{padding:16px 24px}.erp-payroll-approval-detail .modal-body{min-height:0;padding:20px 24px}.erp-payroll-approval-detail__eyebrow{display:block;margin-bottom:5px;color:var(--erp-text-secondary);font-size:.6875rem;font-weight:700;letter-spacing:.08em}.erp-payroll-approval-detail__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:13px 0;border-bottom:1px solid var(--erp-border)}.erp-payroll-approval-detail__stats>div{min-width:0;padding:4px 16px;border-right:1px solid var(--erp-border)}[dir=rtl] .erp-payroll-approval-detail__stats>div{border-right:none;border-left:1px solid var(--erp-border)}.erp-payroll-approval-detail__stats>div:first-child{padding-left:0}[dir=rtl] .erp-payroll-approval-detail__stats>div:first-child{padding-left:0;padding-right:0}.erp-payroll-approval-detail__stats>div:last-child{border-right:0}[dir=rtl] .erp-payroll-approval-detail__stats>div:last-child{border-right:none;border-left:0}.erp-payroll-approval-detail__stats span,.erp-payroll-approval-detail__stats strong{display:block}.erp-payroll-approval-detail__stats span{color:var(--erp-text-secondary);font-size:.75rem}.erp-payroll-approval-detail__stats strong{margin-top:5px;overflow-wrap:anywhere}.erp-payroll-approval-detail__meta{margin:12px 0 20px;color:var(--erp-text-secondary);font-size:.8125rem}.erp-payroll-approval-detail__content section{margin-top:24px}.erp-payroll-approval-detail__content h3{margin-bottom:12px;font-size:1rem;font-weight:700}.erp-payroll-approval-detail__content h3 small{font-weight:400;color:var(--erp-text-secondary)}.erp-payroll-approval-detail__table{max-height:440px;overflow:auto;border:1px solid var(--erp-border);border-radius:10px}.erp-payroll-approval-detail__table table{margin:0}.erp-payroll-approval-detail__table th{position:sticky;top:0;background:var(--erp-surface);white-space:nowrap}.erp-payroll-approval-detail__qr{display:block;width:96px;height:96px;object-fit:contain}.erp-payroll-approval-detail__phases{display:flex;flex-wrap:wrap;gap:8px}.erp-payroll-approval-detail__files{margin-bottom:0}.erp-payroll-approval-detail .modal-footer{justify-content:flex-end;gap:8px}.erp-payroll-approval-sheet{margin-top:20px}.erp-payroll-approval-sheet__tabs{display:flex;gap:4px;overflow-x:auto;padding-bottom:1px;border-bottom:1px solid var(--erp-border);scrollbar-width:thin}.erp-payroll-approval-sheet__tabs button{flex:none;display:inline-flex;align-items:center;gap:7px;padding:11px 13px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--erp-text-secondary);font-size:.8125rem;font-weight:600;white-space:nowrap}.erp-payroll-approval-sheet__tabs button:hover{color:var(--erp-text-primary);background:var(--erp-surface-hover)}.erp-payroll-approval-sheet__tabs button.is-active{color:var(--erp-action-secondary);border-bottom-color:var(--erp-action-secondary)}.erp-payroll-approval-sheet__tabs button span{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:22px;padding:0 5px;border-radius:7px;background:var(--erp-surface-secondary);font-size:.6875rem}.erp-payroll-approval-sheet__toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0}.erp-payroll-approval-sheet__toolbar h3{display:inline;margin:0 9px 0 0;font-size:1rem;font-weight:700}[dir=rtl] .erp-payroll-approval-sheet__toolbar h3{margin:0 0 0 9px}.erp-payroll-approval-sheet__toolbar>div>span{color:var(--erp-text-secondary);font-size:.8125rem}.erp-payroll-approval-sheet__tools{display:flex;align-items:center;gap:8px}.erp-payroll-approval-sheet__tools .form-control{width:min(270px,26vw);min-width:190px}.erp-payroll-approval-sheet__tools .btn{white-space:nowrap}.erp-payroll-approval-sheet__scroll{max-height:min(58vh,690px);overflow:auto;border:1px solid var(--erp-border);border-radius:10px;scrollbar-width:thin}.erp-payroll-approval-sheet__table{min-width:100%;width:max-content;border-collapse:separate;border-spacing:0;font-size:.8125rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.erp-payroll-approval-sheet__table td,.erp-payroll-approval-sheet__table th{max-width:240px;padding:10px 12px;border-right:1px solid var(--erp-border);border-bottom:1px solid var(--erp-border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[dir=rtl] .erp-payroll-approval-sheet__table td,[dir=rtl] .erp-payroll-approval-sheet__table th{border-right:none;border-left:1px solid var(--erp-border)}.erp-payroll-approval-sheet__table th{position:sticky;top:0;z-index:2;background:var(--erp-surface-secondary);color:var(--erp-text-secondary);font-weight:700;text-align:left}[dir=rtl] .erp-payroll-approval-sheet__table th{text-align:right}.erp-payroll-approval-sheet__table th small{font-size:.625rem}.erp-payroll-approval-sheet__table tr:last-child td{border-bottom:0}.erp-payroll-approval-sheet__table tr:hover td{background:var(--erp-surface-hover)}.erp-payroll-approval-sheet__table .erp-payroll-approval-sheet__person{position:sticky;left:0;z-index:1;min-width:180px;max-width:220px;background:var(--erp-surface);font-weight:650}[dir=rtl] .erp-payroll-approval-sheet__table .erp-payroll-approval-sheet__person{left:auto;right:0}.erp-payroll-approval-sheet__table th.erp-payroll-approval-sheet__person{z-index:4;background:var(--erp-surface-secondary)}.erp-payroll-approval-sheet__table tr:hover .erp-payroll-approval-sheet__person{background:var(--erp-surface-hover)}.erp-payroll-approval-sheet__number{text-align:right}[dir=rtl] .erp-payroll-approval-sheet__number{text-align:left}.erp-payroll-approval-sheet__calendar td:not(.erp-payroll-approval-sheet__person),.erp-payroll-approval-sheet__calendar th:not(.erp-payroll-approval-sheet__person){min-width:52px;text-align:center}.erp-payroll-approval-sheet__calendar .erp-payroll-approval-sheet__weekend{background:var(--erp-surface-secondary);color:var(--erp-text-tertiary)}.erp-payroll-approval-sheet__empty{padding:48px 20px;border:1px dashed var(--erp-border);border-radius:10px;color:var(--erp-text-secondary);text-align:center}.erp-payroll-approval-sheet__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.erp-payroll-approval-sheet__metrics>div{padding:18px;border:1px solid var(--erp-border);border-radius:10px;background:var(--erp-surface)}.erp-payroll-approval-sheet__metrics span,.erp-payroll-approval-sheet__metrics strong{display:block}.erp-payroll-approval-sheet__metrics span{color:var(--erp-text-secondary);font-size:.8125rem}.erp-payroll-approval-sheet__metrics strong{margin-top:7px;font-size:1.125rem}.erp-payroll-approval-sheet__changes{display:grid;gap:22px}.erp-payroll-approval-sheet__changes h4{margin:0 0 9px;font-size:.875rem;font-weight:700}.erp-payroll-approval-sheet__changes h4 span{color:var(--erp-text-secondary)}.erp-payroll-approval__transition.btn-sm{gap:5px;padding-inline:8px;font-size:.8125rem}.erp-payroll-approval__table-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.erp-payroll-approval-form .modal-dialog{max-width:min(1180px,calc(100vw - 32px))}.erp-payroll-approval-form .modal-content{border-radius:16px}.erp-payroll-approval-form .modal-content>form{display:flex;flex-direction:column;min-height:0;overflow:hidden}.erp-payroll-approval-form .modal-body{min-height:0;overflow-y:auto;padding:24px}.erp-payroll-approval-form__fields{display:grid;gap:16px}.erp-payroll-approval-form__hint{margin:0 0 14px;color:var(--erp-text-secondary);font-size:.875rem;line-height:1.5}.erp-payroll-approval-form__toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.erp-payroll-approval-form__toolbar .form-select{max-width:360px}.erp-payroll-approval-form__toolbar span{color:var(--erp-text-secondary);font-size:.8125rem;white-space:nowrap}.erp-payroll-approval-form__table{max-height:min(56vh,560px)}.erp-payroll-approval-form__table td{vertical-align:middle}.erp-payroll-approval-form__table input[type=number]{width:150px;margin-left:auto;text-align:right}[dir=rtl] .erp-payroll-approval-form__table input[type=number]{margin-left:0;margin-right:auto;text-align:left}.erp-payroll-approval-form__locked{color:var(--erp-text-secondary);background:var(--erp-surface)}@media (max-width:760px){.erp-payroll-approval-detail__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.erp-payroll-approval-detail__stats>div:nth-child(2){border-right:0}[dir=rtl] .erp-payroll-approval-detail__stats>div:nth-child(2){border-right:none;border-left:0}.erp-payroll-approval-detail__stats>div:nth-child(3){padding-left:0}[dir=rtl] .erp-payroll-approval-detail__stats>div:nth-child(3){padding-left:0;padding-right:0}.erp-payroll-approval-detail .modal-body{padding:16px}.erp-payroll-approval-detail .modal-dialog{max-width:100%;height:100vh;margin:0}.erp-payroll-approval-detail .modal-content{border-radius:0}.erp-payroll-approval-sheet__toolbar{align-items:stretch;flex-direction:column}.erp-payroll-approval-sheet__tools{flex-wrap:wrap}.erp-payroll-approval-sheet__tools .form-control{flex:1 1;min-width:100%}.erp-payroll-approval-sheet__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.erp-payroll-approval-form .modal-body{padding:16px}.erp-payroll-approval-form__toolbar{align-items:stretch;flex-direction:column}.erp-payroll-approval-form__toolbar .form-select{max-width:none}}@media print{body:has(.erp-payroll-approval-detail.show)>:not(.modal){display:none!important}.erp-payroll-approval-detail.modal{position:static!important;display:block!important;width:100%!important;overflow:visible!important}.erp-payroll-approval-detail .modal-dialog{max-width:none!important;margin:0!important}.erp-payroll-approval-detail .modal-content{border:0!important;box-shadow:none!important}.erp-payroll-approval-detail .modal-body{overflow:visible!important}.erp-payroll-approval-detail .btn-close,.erp-payroll-approval-detail .modal-footer{display:none!important}.erp-payroll-approval-detail__table{max-height:none;overflow:visible}.erp-payroll-approval-sheet__tabs,.erp-payroll-approval-sheet__toolbar{display:none!important}.erp-payroll-approval-sheet__scroll{max-height:none;overflow:visible;border:0}.erp-payroll-approval-sheet__table{width:100%;font-size:9px}.erp-payroll-approval-sheet__table td,.erp-payroll-approval-sheet__table th{max-width:none;padding:4px;white-space:normal}}.erp-employee-id{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.erp-employee-id__value{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.erp-employee-id .erp-table__actions{justify-content:flex-start;margin-inline-start:-6px}.erp-person{display:flex;align-items:center;gap:10px;min-width:0}.erp-person__avatar{width:32px;height:32px;flex:none;font-size:.6875rem;background:var(--erp-action-secondary-soft);color:var(--erp-action-secondary)}.erp-person__body{display:flex;flex-direction:column;min-width:0}.erp-person__name{font-weight:600}.erp-person__caption{font-size:.75rem;color:var(--erp-text-tertiary)}.erp-file{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0;color:var(--erp-text-secondary)}.erp-weekly{display:flex;flex-wrap:wrap;gap:8px;margin:0}.erp-weekly__item{display:flex;flex-direction:column;gap:2px;min-width:66px;padding:6px 8px;border:1px solid var(--erp-border);border-radius:var(--erp-radius-sm);background:var(--erp-surface)}.erp-weekly__day{font-size:.6875rem;font-weight:600;color:var(--erp-text-tertiary)}.erp-weekly__slot{margin:0;font-size:.8125rem;color:var(--erp-text-primary)}.erp-weekly__slot--off{color:var(--erp-text-tertiary)}.erp-shift__time{display:inline-flex;align-items:center;justify-content:center;min-width:62px;padding:4px 10px;border:1px solid var(--erp-border);border-radius:var(--erp-radius-pill);background:var(--erp-action-secondary-soft);color:var(--erp-action-secondary);font-size:.75rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.erp-punch{display:flex;flex-direction:column;gap:2px;align-items:center}.erp-punch__time{display:inline-flex;align-items:baseline;gap:4px;font-size:.75rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--erp-success)}.erp-punch__time--out{color:var(--erp-text-secondary)}.erp-punch__time abbr{font-weight:700;text-decoration:none;border:none}.erp-punch__hours{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--erp-text-secondary)}.erp-punch__hours--ok{color:var(--erp-success);font-weight:600}.erp-score{display:inline-flex;align-items:baseline;gap:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.erp-score__max{font-size:.75rem;color:var(--erp-text-tertiary)}.erp-nominees{margin:0;padding-inline-start:18px}.erp-nominees li+li{margin-top:2px}.erp-punch-calendar{overflow-x:auto;border:1px solid var(--erp-border);border-radius:var(--erp-radius-lg);background:var(--erp-surface)}.erp-punch-calendar__table{width:100%;min-width:720px;border-collapse:collapse;table-layout:fixed}.erp-punch-calendar__table th{padding:10px 12px;border-bottom:1px solid var(--erp-border);background:var(--erp-surface-secondary);color:var(--erp-text-secondary);font-size:var(--erp-font-size-sm);font-weight:600;text-align:start}.erp-punch-calendar__table th:nth-child(6),.erp-punch-calendar__table th:nth-child(7){color:var(--erp-text-tertiary)}.erp-punch-calendar__cell{height:112px;padding:8px 10px;border-block-start:1px solid var(--erp-border);border-inline-start:1px solid var(--erp-border);vertical-align:top}.erp-punch-calendar__cell:first-child{border-inline-start:0}.erp-punch-calendar__cell--weekend{background:var(--erp-surface-secondary)}.erp-punch-calendar__cell--outside{opacity:.35}.erp-punch-calendar__cell--worked{background:var(--erp-success-soft,var(--erp-surface))}.erp-punch-calendar__day{display:block;margin-bottom:4px;color:var(--erp-text-secondary);font-size:var(--erp-font-size-sm);font-weight:600}.erp-punch-calendar__times{display:flex;flex-direction:column;gap:1px;font-size:.75rem}.erp-punch-calendar__time abbr{display:inline-block;width:1.1em;color:var(--erp-success);font-weight:700;text-decoration:none}.erp-punch-calendar__time--out abbr{color:var(--erp-danger)}.erp-punch-calendar__total{margin-top:2px;color:var(--erp-text-tertiary)}.erp-punch-calendar__late{color:var(--erp-warning)}@media (max-width:768px){.erp-punch-calendar__cell{height:104px;padding:6px 8px}}.erp-punch-calendar__legend{margin:0;padding:10px 14px;border-bottom:1px solid var(--erp-border);color:var(--erp-text-secondary);font-size:var(--erp-font-size-sm)}.erp-timer{gap:6px}.erp-timer,.erp-timer__total{display:inline-flex;align-items:center}.erp-timer__total{gap:5px;min-width:8.6em;padding:0;border:0;background:none;color:var(--erp-text-secondary);font-size:var(--erp-font-size-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:start;white-space:nowrap}.erp-timer__total:enabled{cursor:pointer}.erp-timer__total:enabled:hover{color:var(--erp-text-primary);text-decoration:underline}.erp-timer__total:disabled{cursor:default}.erp-timer__total--live{padding:2px 10px;border-radius:var(--erp-radius-pill);background:var(--erp-danger-soft,transparent);color:var(--erp-danger);font-weight:600}.erp-timer__total--stale{color:var(--erp-warning)}.erp-timer--compact .erp-timer__total{min-width:8em;font-size:.75rem}.erp-timer-history__task{display:block;margin-top:2px;color:var(--erp-text-secondary);font-size:var(--erp-font-size-sm);font-weight:400}.erp-timer-history__person+.erp-timer-history__person{margin-top:16px;padding-top:16px;border-top:1px solid var(--erp-border)}.erp-timer-history__head{display:flex;align-items:center;gap:8px}.erp-timer-history__name{flex:1 1;min-width:0}.erp-timer-history__sum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.erp-timer-history__list{margin:8px 0 0;padding:0;list-style:none}.erp-timer-history__row{display:flex;gap:12px;padding:4px 0 4px 32px;font-size:var(--erp-font-size-sm)}[dir=rtl] .erp-timer-history__row{padding:4px 32px 4px 0}.erp-timer-history__duration{min-width:5em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.erp-timer-history__when{color:var(--erp-text-tertiary)}.erp-timer-history__total{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--erp-border);text-align:end;color:var(--erp-text-secondary)}.erp-timer-history__empty{margin:0}.erp-shift__scope,.erp-timer-history__empty{display:flex;align-items:center;gap:8px;color:var(--erp-text-secondary)}.erp-shift__scope{margin:0 0 12px;padding:10px 14px;border:1px solid var(--erp-border);border-radius:var(--erp-radius-md);background:var(--erp-surface-secondary);font-size:var(--erp-font-size-sm)}.erp-field-sublabel{margin-bottom:2px;font-size:.75rem;font-weight:500;color:var(--erp-text-muted)}[data-theme=field] .erp-field-sublabel{font-size:.875rem}.erp-stack-sm{display:flex;flex-direction:column;gap:8px}.erp-request-card .erp-kanban-card__title{text-align:center}.erp-recruitment-modal .modal-dialog{--bs-modal-width:min(1320px,96vw)}.erp-recruitment-form .row>*>.mb-3:last-child{margin-bottom:0!important}.erp-recruitment-form .erp-form-section{margin-top:12px}.erp-recruitment-form__aside{padding:12px;border:1px solid var(--erp-border);border-radius:var(--erp-radius-md,8px);background:var(--erp-surface)}.erp-recruitment-form__sum{font-weight:600}.erp-interview-form .erp-array-table+.erp-array-table{margin-top:12px}.erp-interview-form__totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 4px}.erp-interview-form__total{padding:8px 12px;border:1px solid var(--erp-border);border-radius:var(--erp-radius-md,8px);background:var(--erp-surface-secondary)}.erp-interview-form__total dt{font-size:.75rem;font-weight:600;color:var(--erp-text-tertiary)}.erp-interview-form__total dd{margin:2px 0 0;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--erp-text-primary)}@media (max-width:575.98px){.erp-interview-form__totals{grid-template-columns:minmax(0,1fr)}}.erp-list-page>.erp-att-summary,.erp-list-page>.erp-shift__scope,.erp-list-page>.erp-timesheet__legend{flex:0 0 auto}.erp-list-page>.erp-timesheet__legend{margin-top:12px}.erp-period-stepper{display:inline-flex;align-items:center;gap:4px}.erp-period-stepper__label{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:118px;line-height:1.15;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:1!important;color:var(--erp-text-primary)!important}.erp-period-stepper__range{font-size:.6875rem;font-weight:400;color:var(--erp-text-tertiary)}.erp-period-stepper__home{padding-inline:4px;white-space:nowrap}.erp-att-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:0 0 12px}.erp-att-summary__list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.erp-att-summary__item{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--erp-border);border-radius:var(--erp-radius-md);background:var(--erp-surface);font-size:.8125rem;color:var(--erp-text-secondary)}.erp-att-summary__icon{color:var(--erp-att-tone,var(--erp-neutral))}.erp-att-summary__value{font-size:1rem;font-weight:700;color:var(--erp-text-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.erp-att-summary__label{display:inline-flex;flex-direction:column;line-height:1.15}.erp-att-summary__hint{font-size:.6875rem;color:var(--erp-text-tertiary)}.erp-att-summary__item--info{--erp-att-tone:var(--erp-info)}.erp-att-summary__item--success{--erp-att-tone:var(--erp-success)}.erp-att-summary__item--construction{--erp-att-tone:var(--erp-construction)}.erp-att-summary__item--neutral{--erp-att-tone:var(--erp-neutral)}.erp-att-summary__item--warning{--erp-att-tone:var(--erp-warning);border-color:var(--erp-warning);background:var(--erp-warning-soft)}.erp-att-summary__item--danger{--erp-att-tone:var(--erp-danger);border-color:var(--erp-danger);background:var(--erp-danger-soft)}.erp-att-summary__tools{display:flex;align-items:center;gap:12px;font-size:.8125rem}.erp-att-summary__tools .form-check{margin:0}.erp-report .table>thead th.erp-punch-col,.erp-report .table>thead th.erp-shift-col,.erp-report .table>thead th.erp-work-col{padding-inline:2px}.erp-report .table>tbody td.erp-punch-col,.erp-report .table>tbody td.erp-shift-col,.erp-report .table>tbody td.erp-work-col{padding:3px;vertical-align:middle}.erp-punch-cell,.erp-work-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-height:40px;padding:3px 2px;border:1px solid transparent;border-radius:var(--erp-radius-sm);background:transparent;color:inherit;font:inherit;cursor:pointer}.erp-punch-cell:hover,.erp-work-cell:hover{border-color:var(--erp-border-strong);background:var(--erp-surface-hover)}.erp-punch-cell:focus-visible,.erp-work-cell:focus-visible{outline:2px solid var(--erp-focus-ring);outline-offset:1px}.erp-punch-cell--review{border-color:var(--erp-warning);background:var(--erp-warning-soft)}.erp-punch__time--missing{color:var(--erp-warning);font-weight:700}.erp-punch__flags{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:2px}.erp-flag{display:inline-flex;align-items:center;gap:3px;padding:0 4px;border-radius:var(--erp-radius-sm);font-size:.6875rem;font-weight:600;line-height:1.5;text-decoration:none;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}abbr.erp-flag{cursor:help;border:none}.erp-flag--warning{color:var(--erp-warning);background:var(--erp-warning-soft)}.erp-flag--info{color:var(--erp-info);background:var(--erp-info-soft)}.erp-flag--construction{color:var(--erp-construction);background:var(--erp-construction-soft)}.erp-flag--success{color:var(--erp-success);background:var(--erp-success-soft)}.erp-att-review{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.erp-att-count{display:inline-flex;align-items:center;gap:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--erp-text-secondary)}.erp-att-count--done{color:var(--erp-success);font-weight:600}.erp-report .table td.erp-wt-name-col,.erp-report .table th.erp-wt-name-col{min-width:230px}.erp-wt-cell__value{display:inline-flex;align-items:center;gap:1px;white-space:nowrap}.erp-work-cell.erp-wt-cell--clipped{border:1px dashed var(--erp-warning);background:var(--erp-warning-soft)}.erp-wt-cell__flag{display:inline-flex;align-items:center;justify-content:center;min-width:12px;height:12px;margin-left:2px;border-radius:999px;background:var(--erp-warning);color:var(--erp-surface);font-size:.5625rem;font-weight:800;line-height:1}[dir=rtl] .erp-wt-cell__flag{margin-left:0;margin-right:2px}.erp-wt-flags{display:inline-flex;flex-wrap:wrap;gap:4px;margin-top:2px}.erp-wt-project{font-weight:500}.erp-wt-project--none{font-style:italic;color:var(--erp-text-secondary)}.erp-wt-percent{display:inline-flex;align-items:center;justify-content:flex-end;gap:1px;cursor:help}.erp-wt-percent--over{font-weight:600}.erp-wt-sort{width:auto}.erp-wt-entries{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.erp-wt-entries li{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.erp-wt-entries li+li{padding-top:8px;border-top:1px solid var(--erp-border)}.erp-wt-entry__time{font-weight:600}.erp-wt-entry__task{color:var(--erp-text-primary)}.erp-cell-popover{max-width:340px}.erp-cell-popover .popover-header{display:flex;flex-direction:column;gap:2px;font-size:.875rem}.erp-cell-popover__sub{font-size:.75rem;font-weight:400;color:var(--erp-text-secondary)}.erp-cell-popover__list{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:.8125rem}.erp-cell-popover__list dt{font-weight:600;color:var(--erp-text-secondary)}.erp-cell-popover__list dd{margin:0;color:var(--erp-text-primary)}.erp-cell-popover__marks{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.erp-cell-popover__marks li{display:flex;align-items:center;gap:6px}.erp-stamps{display:inline-flex;flex-wrap:wrap;gap:4px}.erp-stamp{padding:1px 6px;border:1px solid var(--erp-border);border-radius:var(--erp-radius-sm);background:var(--erp-surface-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.erp-stamp small{color:var(--erp-text-tertiary)}.erp-stamp--extra{border-style:dashed}.erp-shift__time--info,.erp-stamp--extra{border-color:var(--erp-info);background:var(--erp-info-soft)}.erp-shift__time--info{color:var(--erp-info)}.erp-shift__time--success{border-color:var(--erp-success);background:var(--erp-success-soft);color:var(--erp-success)}.erp-shift__time--construction{border-color:var(--erp-construction);background:var(--erp-construction-soft);color:var(--erp-construction)}.erp-shift__time--intelligence{border-color:var(--erp-intelligence);background:var(--erp-intelligence-soft);color:var(--erp-intelligence)}.erp-shift__time--neutral{border-color:var(--erp-border-strong);background:var(--erp-neutral-soft);color:var(--erp-text-secondary)}.erp-shift__time--compact{flex-direction:column;min-width:0;width:100%;padding:2px 0;border-radius:var(--erp-radius-sm);font-size:.6875rem;line-height:1.25}.erp-shift__end{font-weight:400;opacity:.85}.kpi-page{display:flex;flex-direction:column}.kpi-preset-section,.kpi-scope-card{height:auto;flex:0 0 auto}.kpi-table-card{overflow:hidden;min-width:0;height:auto;flex-shrink:0}.kpi-table-card>.card-body{padding:0}.kpi-table-card>.card-header{padding-bottom:12px}.kpi-table-scroll{overflow-x:auto;min-width:0}.kpi-table{width:100%}.kpi-table>:not(caption)>*>*{padding-left:16px;padding-right:16px}.kpi-table .badge{white-space:nowrap}.kpi-preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.kpi-preset-card{display:flex;flex-direction:column;gap:6px;padding:12px}