/* TrustHours v5: pay pages (Payroll, Salary history, Leave, Reports, Billing).
   Tokens only, ui- prefix only. */

/* ---------- shared ---------- */
.ui-pay-click{cursor:pointer}
.ui-pay-sub{display:block;font:400 11.5px var(--font-body);color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ui-pay-cap{text-transform:capitalize}
.ui-pay-inline{display:inline!important;font-weight:600}
.ui-pay-tbl .ui-state{padding:36px 20px}
.ui-td.ui-c-red{color:var(--red)} .ui-td.ui-c-green,.ui-pay-sub.ui-c-green{color:var(--green)} .ui-td.ui-c-ink{color:var(--ink)} .ui-td.ui-c-muted{color:var(--muted)}

/* ---------- Payroll ---------- */
.ui-pay-kpis{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.ui-pay-kpis .ui-kpi{padding:16px 18px}
.ui-pay-kpis .ui-big{font-size:26px;line-height:1.05;margin-top:8px}
.ui-pay-pr{grid-template-columns:minmax(190px,1.4fr) 120px 130px 80px 110px 90px 100px 60px;min-width:960px}
.ui-pay-pr .ui-td{white-space:nowrap}
.ui-pay-span{grid-column:2 / -1}
.ui-pay-tbl .ui-person b{font-size:13px}
.ui-pay-tbl .ui-person span{font-size:11.5px}
.ui-pay-sh{grid-template-columns:130px minmax(170px,1.3fr) 80px 80px 100px 100px 100px 110px 80px;min-width:1000px}
.ui-pay-sh .ui-td{white-space:nowrap}

/* payslip */
.ui-pay-ps{display:flex;flex-direction:column}
.ui-pay-ps-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--soft);font:400 13px var(--font-body);color:var(--slate)}
.ui-pay-ps-row b{font-weight:600;color:var(--ink);text-align:right}
.ui-pay-ps-net{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0 4px;margin-top:4px;border-top:2px solid var(--hairline)}
.ui-pay-ps-net span{font:700 14.5px var(--font-display);color:var(--ink)}
.ui-pay-ps-net b{font:800 22px var(--font-display);color:var(--iris);letter-spacing:-.02em}
.ui-pay-print{margin:0;background:var(--canvas);padding:32px 16px}
.ui-pay-print .ui-h2{margin:6px 0 18px;font-size:22px}
.ui-pay-print .ui-label{margin-bottom:0}

/* ---------- Leave ---------- */
.ui-pay-lvgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:14px;align-items:start}
.ui-pay-lvgrid>.ui-card{overflow:hidden}
.ui-li-main .ui-pay-lv-type{display:inline;font-weight:400;color:var(--slate)}
.ui-pay-lv .ui-li-main>b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ui-pay-lv-file{display:inline-grid;place-items:center;vertical-align:middle;margin-left:6px;color:var(--iris)}
.ui-pay-lv-why{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--slate)!important;margin-top:2px}
.ui-pay-lv-act{flex:none;gap:6px;flex-wrap:nowrap}
.ui-pay-bal{padding:10px 18px}
.ui-pay-bal-n{flex:1;min-width:0;display:flex;align-items:center;gap:6px}
.ui-pay-bal-n b{font:600 13px var(--font-body);color:var(--ink)}
.ui-pay-bal-bar{width:120px;flex:none;display:flex}
.ui-pay-bal-u{width:92px;flex:none;text-align:right;font:500 12.5px var(--font-body);color:var(--slate);white-space:nowrap;font-variant-numeric:tabular-nums}
.ui-pay-lv-foot{padding:12px 18px;border-top:1px solid var(--soft);font:400 12px/1.5 var(--font-body);color:var(--muted)}
.ui-pay-pt{padding:9px 14px}
/* leave policy drawer */
.ui-pay-lp3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px}
.ui-pay-lp{grid-template-columns:minmax(110px,1fr) 120px 120px 100px 40px;min-width:540px;padding:9px 14px}
.ui-pay-lp.ui-th{padding:9px 14px}
.ui-pay-lp-days{width:100px}

/* ---------- Reports ---------- */
.ui-pay-rpgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:12px}
.ui-pay-rp{display:flex;flex-direction:column;gap:14px}
.ui-pay-rp-hd{display:flex;align-items:flex-start;gap:12px}
.ui-pay-rp-hd .ui-body{font-size:12.5px;margin-top:3px}
.ui-pay-rp .ui-tag{font-size:11.5px;padding:4px 8px;border-radius:var(--r-chip)}
.ui-pay-rcp{background:var(--soft);color:var(--slate)}
.ui-pay-rcp button{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0;display:grid;place-items:center}
.ui-pay-rcp button:hover{color:var(--red)}
.ui-pay-rpt{grid-template-columns:minmax(200px,1.4fr) 110px 100px 170px 130px;min-width:760px}
.ui-pay-rpt .ui-li-main b{font-size:13px}
.ui-pay-rpt .ui-li-main span{font-size:11.5px}
.ui-pay-rp-acts{justify-content:flex-end;gap:6px}

/* ---------- Billing ---------- */
.ui-pay-bl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}
.ui-pay-plan{background:var(--ink);color:var(--white);border-radius:var(--r-card);padding:20px;min-width:0}
.ui-pay-plan .ui-label{color:var(--on-ink-60)}
.ui-pay-plan-n{font:800 26px var(--font-display);letter-spacing:-.03em;margin:8px 0 2px}
.ui-pay-plan-l{font:400 12.5px var(--font-body);color:var(--on-ink-70)}
.ui-pay-plan-c{gap:8px;margin-top:16px}
.ui-pay-plan-c span{font:600 11.5px var(--font-body);color:var(--white);background:var(--on-ink-12);padding:4px 8px;border-radius:var(--r-chip);white-space:nowrap}
.ui-pay-blc{display:flex;flex-direction:column;gap:10px;padding:20px}
.ui-pay-blc .ui-big{font-size:26px;margin:0}
.ui-pay-blc .ui-big small{font:500 13px var(--font-body)}
.ui-pay-cardglyph{width:40px;height:26px;border-radius:var(--r-tag);background:var(--soft);border:1px solid var(--hairline);display:grid;place-items:center;font:800 9px var(--font-display);color:var(--slate);flex:none}
.ui-pay-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}
.ui-pay-pl{display:flex;flex-direction:column;gap:8px}
.ui-pay-pl.ui-pay-pop{border-color:var(--iris)}
.ui-pay-pl.ui-pay-cur{background:var(--row-hover)}
.ui-pay-pl .ui-big{margin-top:6px}
.ui-pay-pl-tot{min-height:18px}
.ui-pay-pl-ul{list-style:none;margin:4px 0 8px;padding:0;display:flex;flex-direction:column;gap:6px;flex:1}
.ui-pay-pl-ul li{display:flex;align-items:center;gap:7px;font:400 12.5px var(--font-body);color:var(--slate)}
.ui-pay-pl-ul li svg{color:var(--green);flex:none}
.ui-pay-inv{grid-template-columns:140px minmax(160px,1fr) 130px 110px 70px;min-width:640px}

/* ---------- responsive ---------- */
@media (max-width:600px){
  .ui-pay-lp3{grid-template-columns:minmax(0,1fr)}
  .ui-pay-page .ui-pagehead-meta{flex-basis:100%}
  .ui-pay-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ui-pay-kpis .ui-kpi{padding:12px 14px}
  .ui-pay-kpis .ui-big{font-size:21px}
  .ui-pay-bal-n{flex-wrap:wrap;row-gap:2px}
  .ui-pay-bal-bar{width:56px}
  .ui-pay-bal-u{width:84px}
  .ui-pay-lv{flex-wrap:wrap}
  .ui-pay-lv .ui-li-main{flex-basis:calc(100% - 50px)}
  .ui-pay-lv-act,.ui-pay-lv>.ui-chip{margin-left:42px}
  .ui-pay-lv-why{white-space:normal}
  .ui-pay-rp-hd .ui-body{font-size:12px}
}
/* v5.1 — month / year switch on Balances */
.ui-pay-bal-sel{display:flex;align-items:center;gap:10px;padding:10px 18px;border-bottom:1px solid var(--soft)}
.ui-pay-persel{width:auto;padding:6px 10px;font-size:12.5px}

/* v5.1 — payslip document (printed to PDF) */
.ui-psd{max-width:760px;margin:0 auto;background:var(--white);border:1px solid var(--hairline);border-radius:var(--r-card);padding:40px 44px;display:flex;flex-direction:column;gap:22px}
.ui-psd-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:2px solid var(--ink)}
.ui-psd-logo{height:30px;width:auto}
.ui-psd-tt{text-align:right}
.ui-psd-tt h1{margin:4px 0 0;font:800 26px/1.1 var(--font-display);letter-spacing:-.03em;color:var(--ink)}
.ui-psd-parties{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ui-psd-parties b{display:block;margin-top:6px;font:700 14px var(--font-display);color:var(--ink)}
.ui-psd-parties span{display:block;margin-top:2px;font:400 12.5px var(--font-body);color:var(--slate)}
.ui-psd-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;background:var(--hairline);border:1px solid var(--hairline);border-radius:var(--r-control);overflow:hidden}
.ui-psd-facts>div{background:var(--soft);padding:10px 14px}
.ui-psd-facts span{display:block;font:600 10.5px var(--font-body);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--muted)}
.ui-psd-facts b{display:block;margin-top:4px;font:700 14px var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums}
.ui-psd-tbl{width:100%;border-collapse:collapse;font:400 13px var(--font-body);color:var(--slate)}
.ui-psd-tbl th{font:600 10.5px var(--font-body);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--muted);text-align:left;padding:0 0 8px;border-bottom:1px solid var(--hairline)}
.ui-psd-tbl td{padding:10px 0;border-bottom:1px solid var(--soft)}
.ui-psd-tbl tfoot td{font:700 13.5px var(--font-body);color:var(--ink);border-bottom:0;padding-top:12px}
.ui-psd-r{text-align:right!important;font-variant-numeric:tabular-nums;color:var(--ink)}
.ui-psd-net{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--iris-tint);border:1px solid var(--iris-pale);border-radius:var(--r-card);padding:18px 22px}
.ui-psd-net span{display:block;margin-top:4px;font:400 12.5px var(--font-body);color:var(--iris-text)}
.ui-psd-net b{font:800 32px/1 var(--font-display);letter-spacing:-.03em;color:var(--iris-text);font-variant-numeric:tabular-nums}
.ui-psd-foot{display:flex;flex-direction:column;gap:4px;padding-top:16px;border-top:1px solid var(--hairline);font:400 11px/1.5 var(--font-body);color:var(--muted)}
@media print{
  @page{size:A4;margin:14mm}
  .ui-pay-print{background:var(--white);padding:0}
  .ui-psd{border:0;padding:0;max-width:none}
  .ui-psd-net,.ui-psd-facts>div{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
@media (max-width:600px){ .ui-psd{padding:24px 18px} .ui-psd-parties{grid-template-columns:1fr} }
.ui-pay-was{font-size:.6em;font-weight:500;text-decoration:line-through}
