/* v542 — employee-first payroll clarity + expense category modal polish */
#modal[data-modal-kind="finance-expense-categories"]{
  width:min(760px,calc(100vw - 32px))!important;
  max-width:760px!important;
  max-height:min(84vh,780px)!important;
}
#modal[data-modal-kind="finance-expense-categories"] #modal-body{
  overflow:hidden!important;
  padding:14px 16px 16px!important;
}
#modal[data-modal-kind="finance-expense-categories"] #modal-actions{display:none!important}
#modal[data-modal-kind="finance-expense-categories"] .fin540-category-manager{
  display:grid;gap:12px;min-width:0!important;width:100%;max-width:100%;overflow:hidden;
}
#modal[data-modal-kind="finance-expense-categories"] .fin540-category-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#modal[data-modal-kind="finance-expense-categories"] .fin540-category-create{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;min-width:0}
#modal[data-modal-kind="finance-expense-categories"] .fin540-category-create label{min-width:0}
#modal[data-modal-kind="finance-expense-categories"] .fin540-category-create input{width:100%;min-width:0}
#modal[data-modal-kind="finance-expense-categories"] .fin540-category-list{display:grid;gap:8px;max-height:44vh;overflow-y:auto!important;overflow-x:hidden!important;padding-inline-end:2px}
#modal[data-modal-kind="finance-expense-categories"] .fin540-category-row{
  display:grid!important;grid-template-columns:40px minmax(0,1fr) auto!important;align-items:center;gap:10px;min-width:0;width:100%;box-sizing:border-box;
}
#modal[data-modal-kind="finance-expense-categories"] .fin540-category-copy{min-width:0}
#modal[data-modal-kind="finance-expense-categories"] .fin540-category-copy b,#modal[data-modal-kind="finance-expense-categories"] .fin540-category-copy small{display:block;white-space:normal;overflow-wrap:anywhere}
.fin542-category-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;white-space:nowrap}
.fin542-system-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:999px;background:var(--surface-2,#f3f5f8);font-size:11px;font-weight:800}
.fin542-category-toggle{border:0;border-radius:999px;min-height:32px;padding:4px 9px 4px 11px;display:inline-flex;align-items:center;gap:7px;cursor:pointer;font:inherit;font-size:11px;font-weight:800;background:var(--surface-2,#eef2f6);color:inherit}
.fin542-category-toggle i{width:28px;height:16px;border-radius:999px;display:block;position:relative;background:rgba(80,90,105,.24);transition:.18s ease}
.fin542-category-toggle i:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;top:2px;right:2px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.18s ease}
.fin542-category-toggle.is-on i{background:#169b62}
.fin542-category-toggle.is-on i:after{right:14px}
@media(max-width:620px){
  #modal[data-modal-kind="finance-expense-categories"]{width:calc(100vw - 18px)!important;max-height:90vh!important}
  #modal[data-modal-kind="finance-expense-categories"] .fin540-category-create{grid-template-columns:1fr}
  #modal[data-modal-kind="finance-expense-categories"] .fin540-category-create .btn{width:100%}
  #modal[data-modal-kind="finance-expense-categories"] .fin540-category-row{grid-template-columns:36px minmax(0,1fr)!important}
  .fin542-category-actions{grid-column:1/-1;justify-content:space-between;padding-inline-start:46px;white-space:normal}
}

/* employee-first payslip */
.v542-payroll-net-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;margin:16px 0;border:1px solid rgba(20,43,73,.12);border-radius:18px;background:linear-gradient(135deg,rgba(18,47,82,.06),rgba(18,47,82,.015))}
.v542-payroll-net-hero>div{display:grid;gap:4px}.v542-payroll-net-hero small{font-size:12px;opacity:.68}.v542-payroll-net-hero b{font-size:clamp(25px,3vw,38px);line-height:1.2}.v542-payroll-net-hero b em{font-size:12px;font-style:normal;font-weight:700;opacity:.64}.v542-payroll-net-hero span{font-size:11px;opacity:.68}
.v542-payroll-method-chip{display:inline-flex!important;align-items:center;justify-content:center;min-height:32px;padding:0 11px;border-radius:999px;background:rgba(18,47,82,.08);font-weight:800!important;opacity:1!important;white-space:nowrap}
.v542-payroll-summary-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.v542-payroll-summary-cards article{padding:14px 15px;border:1px solid rgba(20,43,73,.1);border-radius:14px;background:var(--surface,#fff);display:grid;gap:6px;min-width:0}
.v542-payroll-summary-cards small{font-size:11px;opacity:.68}.v542-payroll-summary-cards b{font-size:18px;overflow-wrap:anywhere}.v542-payroll-summary-cards em{font-size:10px;font-style:normal;opacity:.58}.v542-payroll-summary-cards .is-deduction b{color:var(--danger,#b42318)}
.v542-payroll-how,.v542-payroll-audit{border:1px solid rgba(20,43,73,.11);border-radius:16px;background:var(--surface,#fff);overflow:hidden;margin-top:14px}
.v542-payroll-how>summary,.v542-payroll-audit>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;font-weight:800}.v542-payroll-how>summary::-webkit-details-marker,.v542-payroll-audit>summary::-webkit-details-marker{display:none}.v542-payroll-how>summary span,.v542-payroll-audit>summary span{display:grid;gap:3px}.v542-payroll-how>summary small,.v542-payroll-audit>summary small{font-weight:500;font-size:11px;opacity:.62}
.v542-payroll-how[open]>summary,.v542-payroll-audit[open]>summary{border-bottom:1px solid rgba(20,43,73,.09)}
.v542-payroll-how-body{padding:15px}.v542-payroll-narrative{margin:0 0 12px;padding:12px 14px;border-radius:12px;background:rgba(18,47,82,.05);font-size:13px;line-height:1.9;font-weight:650}
.v542-payroll-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}.v542-payroll-fact{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid rgba(20,43,73,.08);border-radius:11px;min-width:0}.v542-payroll-fact span{font-size:11px;opacity:.68}.v542-payroll-fact b{font-size:12px;text-align:left;overflow-wrap:anywhere}
.v542-payroll-audit{margin:16px 0}.v542-payroll-audit-body{padding:12px}.v542-payroll-audit-body>.card{margin:0 0 12px}.v542-payroll-audit-body>.card:last-child{margin-bottom:0}
@media(max-width:900px){.v542-payroll-summary-cards{grid-template-columns:1fr}.v542-payroll-net-hero{align-items:flex-start;flex-direction:column}.v542-payroll-facts{grid-template-columns:1fr}}
