.pv-nomina .pv-ns-worker-card-compact{position:relative}
.pv-nomina .pv-ns-worker-card-compact::before{content:"";position:absolute;inset:8px auto 8px 0;width:4px;border-radius:4px;background:linear-gradient(180deg,#189feb,#7043ef 55%,#d324ad);pointer-events:none}
.pv-nomina .pv-ns-worker-card-compact .pv-ns-worker-concepts{border-top:0}
.pv-nomina .pv-ns-worker-concepts .pv-ns-row.pv-ns-single-line{
  --pv-ns-money-input:120px;
  grid-template-columns:minmax(145px,1.4fr) minmax(105px,.95fr) minmax(135px,1.15fr) minmax(calc(var(--pv-ns-money-input) + 28px),.82fr) minmax(calc(var(--pv-ns-money-input) + 28px),.82fr) minmax(var(--pv-ns-money-input),.72fr) minmax(195px,1.25fr);
  gap:10px;
  padding:15px 18px 15px 20px;
  min-height:96px;
  align-items:center;
  background:#fff;
}
.pv-nomina .pv-ns-single-person{gap:9px}
.pv-nomina .pv-ns-single-person>div{gap:3px}
.pv-nomina .pv-ns-single-person strong{font-size:13px;line-height:1.25}
.pv-nomina .pv-ns-single-person small{font-size:10px;line-height:1.3}
.pv-nomina .pv-ns-detail-toggle{align-self:flex-start;padding:0;border:0;background:transparent;color:#6743e9;font-family:inherit;font-size:11px;font-weight:800;line-height:1.3;cursor:pointer;text-align:left}
.pv-nomina .pv-ns-detail-toggle:hover{text-decoration:underline}
.pv-nomina .pv-ns-detail-toggle:focus-visible{outline:2px solid #875cff;outline-offset:2px;border-radius:3px}
.pv-nomina .pv-ns-single-line :is(.pv-ns-due,.pv-ns-salary-balance,.pv-ns-pay-field,.pv-ns-discount-field,.pv-ns-bonus,.pv-ns-select){min-width:0}
.pv-nomina .pv-ns-single-line :is(.pv-ns-due,.pv-ns-salary-balance){display:flex;flex-direction:column;gap:4px}
.pv-nomina .pv-ns-single-line :is(.pv-ns-due,.pv-ns-salary-balance)>small,.pv-nomina .pv-ns-selected-amount small{color:#8795ad;font-size:10px;font-weight:800;letter-spacing:.025em;text-transform:uppercase}
.pv-nomina .pv-ns-single-line .pv-ns-due b{font-size:13px;white-space:nowrap}
.pv-nomina .pv-ns-salary-balance strong{color:#633de4;font-size:16px;line-height:1.2;white-space:nowrap}
.pv-nomina .pv-ns-single-line .pv-ns-salary-adjust,.pv-nomina .pv-ns-single-line .pv-ns-discount{display:flex;flex-direction:column;align-items:stretch;gap:5px;margin:0;color:#7887a2;font-size:10px;font-weight:800;white-space:nowrap}
.pv-nomina .pv-ns-single-line .pv-ns-salary-adjust>span,.pv-nomina .pv-ns-single-line .pv-ns-discount>span{display:flex;width:100%;gap:4px}
.pv-nomina .pv-ns-single-line :is(.pv-ns-salary-adjust,.pv-ns-discount) input{width:var(--pv-ns-money-input);min-width:var(--pv-ns-money-input);max-width:var(--pv-ns-money-input);height:35px;flex:0 0 var(--pv-ns-money-input)}
.pv-nomina .pv-ns-single-line .pv-ns-discount input{background:#fff}
.pv-nomina .pv-ns-single-line .pv-ns-bonus label{display:block;font-size:10px;line-height:1.3;color:#7887a2;white-space:nowrap}
.pv-nomina .pv-ns-single-line .pv-ns-bonus label>span{display:inline;margin-left:2px}
.pv-nomina .pv-ns-single-line .pv-ns-bonus input{display:block;width:var(--pv-ns-money-input);max-width:var(--pv-ns-money-input);height:35px;margin-top:5px}
/* Los importes de Nómina usan el ancho para el número, sin el check global. */
html body .pv-nomina .pv-ns-single-line :is(.pv-ns-pay-field,.pv-ns-discount-field,.pv-ns-bonus) input[inputmode="decimal"]{
  box-sizing:border-box!important;
  padding:0 10px!important;
  background-image:none!important;
  background-repeat:no-repeat!important;
  text-align:right!important;
  font-variant-numeric:tabular-nums;
}
html body .pv-nomina .pv-ns-single-line :is(.pv-ns-pay-field,.pv-ns-discount-field,.pv-ns-bonus) input[inputmode="decimal"].pv-campo-completo{
  padding-right:10px!important;
  background-image:none!important;
}
.pv-nomina .pv-ns-single-line .pv-ns-select{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;justify-self:stretch;gap:10px}
.pv-nomina .pv-ns-selected-amount{display:flex;flex-direction:column;gap:2px;min-width:0}
.pv-nomina .pv-ns-selected-amount small{color:#258966}
.pv-nomina .pv-ns-selected-amount strong{color:#07885b;font-size:13px;line-height:25px;white-space:nowrap;font-variant-numeric:tabular-nums}
.pv-nomina .pv-ns-single-line .pv-ns-select label{flex:0 0 auto;min-height:25px;white-space:nowrap}
.pv-nomina .pv-ns-worker-summary strong{color:#07885b}
.pv-nomina .pv-ns-detail-panel{grid-column:1/-1;min-width:0;margin-top:2px;padding:7px 0 0;border-top:1px solid #e9edf6;background:transparent}
.pv-nomina .pv-ns-detail-grid{display:grid;grid-template-columns:1fr 1.2fr 1.15fr 1.15fr;gap:0;min-width:0;border:1px solid #e0e5f2;border-radius:11px;background:#fff;box-shadow:0 4px 13px rgba(29,41,90,.05);overflow:hidden}
.pv-nomina .pv-ns-detail-grid>div{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0;padding:9px 11px;border-left:1px solid #e9ecf5}
.pv-nomina .pv-ns-detail-grid>div:first-child{border-left:0}
.pv-nomina .pv-ns-detail-grid>.pv-ns-detail-calc{background:#f8f6ff}
.pv-nomina .pv-ns-detail-grid>.pv-ns-detail-adjust{background:#fff9fb}
.pv-nomina .pv-ns-detail-grid small{color:#8492ab;font-size:10px;font-weight:800;letter-spacing:.025em;text-transform:uppercase}
.pv-nomina .pv-ns-detail-grid strong{color:#24344e;font-size:11px;line-height:1.25}
.pv-nomina .pv-ns-detail-grid span,.pv-nomina .pv-ns-detail-grid a{color:#71809c;font-size:10px;line-height:1.3;overflow-wrap:anywhere}
.pv-nomina .pv-ns-detail-grid .pv-ns-detail-main{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}
.pv-nomina .pv-ns-detail-grid .pv-ns-detail-main strong{color:#633de4;font-size:12px}
.pv-nomina .pv-ns-detail-grid a{color:#6743e9;font-weight:800;text-decoration:none;white-space:nowrap}
.pv-nomina .pv-ns-detail-grid :is(.pv-ns-net,.pv-ns-projected){color:#278f6e;font-size:10px;text-transform:none;letter-spacing:0;line-height:1.3}
.pv-nomina .pv-ns-detail-grid :is(.pv-ns-adjust-reason,.pv-ns-discount-reason):not([hidden]){display:block;width:100%;max-width:none;height:27px;margin-top:3px;padding:0 7px;background:#fff;font-size:10px}
.pv-nomina .pv-ns-detail-grid :is(.pv-ns-adjust-reason,.pv-ns-discount-reason){border:1px solid #cbbdff;color:#26334d}
.pv-nomina .pv-ns-detail-grid :is(.pv-ns-adjust-reason,.pv-ns-discount-reason):focus{outline:none;border-color:#7043ef;box-shadow:0 0 0 3px rgba(112,67,239,.17)}
.pv-nomina .pv-ns-detail-grid :is(.pv-ns-adjust-reason,.pv-ns-discount-reason)[hidden]{display:none!important}
.pv-nomina .pv-ns-worker-concepts .pv-ns-row.pv-nu-single-line{--pv-ns-money-input:120px;grid-template-columns:minmax(145px,1.4fr) minmax(105px,.95fr) minmax(135px,1.15fr) minmax(calc(var(--pv-ns-money-input) + 28px),.82fr) minmax(calc(var(--pv-ns-money-input) + 28px),.82fr) minmax(var(--pv-ns-money-input),.72fr) minmax(195px,1.25fr);gap:10px;min-height:68px;padding:0 18px 0 20px;align-items:center;background:#fff;overflow:hidden}
.pv-nomina .pv-nu-single-line .pv-nu-name{display:flex;grid-column:1/3;flex-direction:column;justify-content:center;align-self:stretch;gap:4px;min-width:0;min-height:68px;margin-left:-20px;padding:10px 15px;background:#6d42e9;color:#fff}
.pv-nomina .pv-nu-single-line .pv-nu-name strong{color:#fff;font-size:13px;line-height:1.2}
.pv-nomina .pv-nu-single-line .pv-nu-name small{color:#e6deff;font-size:10px;line-height:1.2;white-space:nowrap}
.pv-nomina .pv-nu-single-line .pv-nu-date{grid-column:3}
.pv-nomina .pv-nu-single-line .pv-nu-amount{grid-column:4/6}
.pv-nomina .pv-nu-single-line .pv-nu-type{grid-column:6}
.pv-nomina .pv-nu-single-line :is(.pv-nu-date,.pv-nu-amount){display:flex;flex-direction:column;gap:4px;min-width:0}
.pv-nomina .pv-nu-single-line .pv-nu-date strong{color:#263650;font-size:12px;white-space:nowrap}
.pv-nomina .pv-nu-single-line .pv-nu-amount strong{color:#633deb;font-size:15px;white-space:nowrap}
.pv-nomina .pv-nu-single-line :is(.pv-nu-date,.pv-nu-amount) small{color:#8795ae;font-size:10px;line-height:1.2;white-space:nowrap}
.pv-nomina .pv-nu-single-line .pv-nu-pay-chip{padding:7px 9px;font-size:10px;white-space:nowrap}
.pv-nomina .pv-nu-single-line .pv-ns-select{grid-column:7;justify-self:stretch}
.pv-nomina .pv-nu-single-line .pv-ns-select label{white-space:nowrap}
@media(min-width:1400px){.pv-nomina .pv-ns-worker-concepts .pv-ns-row.pv-ns-single-line,.pv-nomina .pv-ns-worker-concepts .pv-ns-row.pv-nu-single-line{--pv-ns-money-input:145px}}
@media(max-width:1240px){
  .pv-nomina .pv-ns-worker-concepts .pv-ns-row.pv-ns-single-line{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px 16px}
  .pv-nomina .pv-ns-single-line .pv-ns-select{grid-column:span 2;justify-self:stretch}
  .pv-nomina .pv-ns-worker-concepts .pv-ns-row.pv-nu-single-line{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;padding:0 14px 12px 0}
  .pv-nomina .pv-nu-single-line .pv-nu-name{grid-column:1/-1;min-height:54px;margin-left:0}
  .pv-nomina .pv-nu-single-line :is(.pv-nu-date,.pv-nu-amount,.pv-nu-type,.pv-nu-select){grid-column:auto}
  .pv-nomina .pv-nu-single-line .pv-nu-date{padding-left:14px}
  .pv-nomina .pv-nu-single-line .pv-nu-select{justify-self:start}
}
@media(max-width:700px){
  .pv-nomina .pv-ns-worker-concepts .pv-ns-row.pv-ns-single-line{--pv-ns-money-input:115px}
  .pv-nomina .pv-ns-worker-concepts .pv-ns-row.pv-ns-single-line{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .pv-nomina .pv-ns-single-line .pv-ns-single-person{grid-column:1/-1}
  .pv-nomina .pv-ns-single-line .pv-ns-due,.pv-nomina .pv-ns-single-line .pv-ns-salary-balance{grid-column:auto}
  .pv-nomina .pv-ns-single-line .pv-ns-bonus,.pv-nomina .pv-ns-single-line .pv-ns-select{align-self:center}
  .pv-nomina .pv-ns-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pv-nomina .pv-ns-detail-grid>div:nth-child(3){border-left:0;border-top:1px solid #e9ecf5}
  .pv-nomina .pv-ns-detail-grid>div:nth-child(4){border-top:1px solid #e9ecf5}
  .pv-nomina .pv-ns-worker-concepts .pv-ns-row.pv-nu-single-line{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 12px 12px 0}
  .pv-nomina .pv-nu-single-line .pv-nu-name{grid-column:1/-1}
  .pv-nomina .pv-nu-single-line .pv-nu-date{padding-left:12px}
  .pv-nomina .pv-nu-single-line .pv-nu-amount small{white-space:normal}
}
@media(max-width:420px){.pv-nomina .pv-ns-detail-grid{grid-template-columns:1fr}.pv-nomina .pv-ns-detail-grid>div{border-left:0;border-top:1px solid #e9ecf5}.pv-nomina .pv-ns-detail-grid>div:first-child{border-top:0}.pv-nomina .pv-ns-salary-balance strong{font-size:14px}}

/* The payment section sits on the page canvas; each payment keeps its own card. */
.pv-nomina.is-section-pagos .pv-no-card.pv-ns-pay{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

/* Keep the selected-account check and chevron inside their own right-side slots. */
html body .pvf-shell .pv-nomina .pv-ns-dialog .pv-cs-trigger{
  align-items:center!important;
  padding-right:76px!important;
}
html body .pvf-shell .pv-nomina .pv-ns-dialog .pv-cs-trigger-label{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
html body .pvf-shell .pv-nomina .pv-ns-dialog .pv-cs.pv-campo-completo .pv-cs-trigger::after{
  top:calc(50% - 9.5px)!important;
  right:43px!important;
  bottom:auto!important;
  transform:none!important;
}
html body .pvf-shell .pv-nomina .pv-ns-dialog .pv-cs .pv-cs-chevron{
  position:absolute!important;
  top:calc(50% - 9px)!important;
  right:14px!important;
  bottom:auto!important;
  left:auto!important;
  margin:0!important;
  transform:none!important;
}
html body .pvf-shell .pv-nomina .pv-ns-dialog .pv-cs.pv-cs-open .pv-cs-chevron{
  transform:rotate(180deg)!important;
}

/* Compact payroll payment heading approved for QA. */
.pv-nomina .pv-ns-pay>.pv-no-head.pv-ns-pay-head{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:112px;
  margin:0 0 16px;
  padding:6px 4px 20px;
  border-bottom:1px solid #dfe4f0;
}
.pv-nomina .pv-ns-pay-head::after{
  content:"";
  position:absolute;
  bottom:-2px;
  left:0;
  width:235px;
  height:3px;
  border-radius:6px;
  background:linear-gradient(90deg,#149ce9,#7043ef 60%,#e9229b);
}
.pv-nomina .pv-ns-pay-head-main{display:flex;align-items:center;gap:18px;min-width:0}
.pv-nomina .pv-ns-pay-head-icon{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  flex:none;
  border-radius:17px;
  color:#fff;
  background:linear-gradient(145deg,#159fe9,#7245ee 63%,#c91fb3);
  box-shadow:0 12px 22px rgba(89,70,213,.19);
}
.pv-nomina .pv-ns-pay-head-icon svg{width:30px;height:30px;stroke:currentColor}
.pv-nomina .pv-ns-pay-head-copy{min-width:0}
.pv-nomina .pv-ns-pay-head-meta{display:flex;align-items:center;gap:9px;margin-bottom:5px;color:#6844e7;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.pv-nomina .pv-ns-pay-head-meta i{width:4px;height:4px;flex:none;border-radius:50%;background:#aeb9cf}
.pv-nomina .pv-ns-pay-head-meta span:last-child{color:#8191ad}
.pv-nomina .pv-ns-pay-head h2{margin:0!important;color:#18243b;font-size:25px!important;font-weight:800;line-height:1.16;letter-spacing:-.035em}
.pv-nomina .pv-ns-pay-head p{margin:6px 0 0;color:#7e8da8;font-size:13px;line-height:1.2}
.pv-nomina .pv-ns-pay-head-count{display:flex;align-items:center;gap:11px;flex:none;min-height:49px;padding:7px 15px 7px 8px;border:1px solid #e1dbfc;border-radius:15px;background:#fff;box-shadow:0 7px 18px rgba(44,47,90,.055)}
.pv-nomina .pv-ns-pay-head-count strong{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#eee9ff;color:#633eeb;font-size:17px;line-height:1}
.pv-nomina .pv-ns-pay-head-count span{color:#6e7d99;font-size:12px;font-weight:750;white-space:nowrap}
@media(max-width:700px){
  .pv-nomina .pv-ns-pay>.pv-no-head.pv-ns-pay-head{flex-wrap:wrap;gap:10px;min-height:0;padding-bottom:17px}
  .pv-nomina .pv-ns-pay-head-icon{width:48px;height:48px;border-radius:14px}
  .pv-nomina .pv-ns-pay-head-icon svg{width:26px;height:26px}
  .pv-nomina .pv-ns-pay-head-main{gap:12px}
  .pv-nomina .pv-ns-pay-head h2{font-size:21px!important}
  .pv-nomina .pv-ns-pay-head-count{margin-left:60px;min-height:40px}
}

/* Opción elegida: una fila alineada y una cinta discreta para el neto. */
@media(min-width:1351px){
  .pv-nomina .pv-ns-worker-concepts .pv-ns-row.pv-ns-salary-row.pv-ns-single-line{
    --pv-ns-money-input:125px;
    grid-template-columns:minmax(145px,1.22fr) minmax(100px,.78fr) minmax(125px,1fr) minmax(calc(var(--pv-ns-money-input) + 24px),.95fr) minmax(calc(var(--pv-ns-money-input) + 24px),.95fr) minmax(var(--pv-ns-money-input),.82fr) minmax(260px,1.6fr);
    gap:10px;
    min-height:99px;
    align-items:center;
  }
  .pv-nomina .pv-ns-salary-row.pv-ns-single-line :is(.pv-ns-due,.pv-ns-salary-balance,.pv-ns-pay-field,.pv-ns-discount-field,.pv-ns-bonus){
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    min-height:61px;
  }
  .pv-nomina .pv-ns-salary-row.pv-ns-single-line :is(.pv-ns-due,.pv-ns-salary-balance)>small{
    display:block;
    min-height:14px;
  }
  .pv-nomina .pv-ns-salary-row.pv-ns-single-line .pv-ns-due b,
  .pv-nomina .pv-ns-salary-row.pv-ns-single-line .pv-ns-salary-balance strong{
    display:flex;
    align-items:center;
    min-height:35px;
    margin-top:5px;
  }
}
@media(min-width:1351px) and (max-width:1499px){
  .pv-nomina .pv-ns-worker-concepts .pv-ns-row.pv-ns-salary-row.pv-ns-single-line{
    --pv-ns-money-input:110px;
    grid-template-columns:minmax(140px,1.2fr) minmax(95px,.76fr) minmax(120px,1fr) minmax(134px,.92fr) minmax(134px,.92fr) minmax(110px,.78fr) minmax(245px,1.6fr);
    gap:8px;
  }
}
@media(min-width:701px) and (max-width:1350px){
  .pv-nomina .pv-ns-worker-concepts .pv-ns-row.pv-ns-salary-row.pv-ns-single-line{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    padding:14px 16px;
  }
  .pv-nomina .pv-ns-salary-row.pv-ns-single-line .pv-ns-select{grid-column:span 2}
}
.pv-nomina .pv-ns-salary-row.pv-ns-single-line .pv-ns-select{
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  align-items:center;
  align-self:center;
  gap:8px;
  min-height:67px;
  padding:9px 11px;
  border:1px solid #bdebd4;
  border-radius:12px;
  background:linear-gradient(90deg,#eafaf3 0%,#f7fdf9 62%,#fff 100%);
  box-shadow:0 7px 18px rgba(16,127,86,.055);
}
.pv-nomina .pv-ns-salary-row.pv-ns-single-line .pv-ns-select::before{
  content:"✓";
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:9px;
  background:#07885b;
  color:#fff;
  font-size:16px;
  font-weight:800;
  line-height:1;
}
.pv-nomina .pv-ns-salary-row.pv-ns-single-line .pv-ns-select:not(:has(input:checked))::before{
  content:"○";
  background:#e6edf0;
  color:#7c91a2;
}
.pv-nomina .pv-ns-salary-row.pv-ns-single-line .pv-ns-selected-amount{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  min-width:0;
}
.pv-nomina .pv-ns-salary-row.pv-ns-single-line .pv-ns-selected-amount small{
  color:#177c5d;
  font-size:10px;
  font-weight:800;
  letter-spacing:.035em;
  line-height:1.15;
  white-space:nowrap;
}
.pv-nomina .pv-ns-salary-row.pv-ns-single-line .pv-ns-selected-amount strong{
  color:#07885b;
  font-size:17px;
  font-weight:850;
  line-height:1.1;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.pv-nomina .pv-ns-salary-row.pv-ns-single-line .pv-ns-select label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:32px;
  margin:0;
  color:#667b94;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
@media(max-width:700px){
  .pv-nomina .pv-ns-salary-row.pv-ns-single-line .pv-ns-select{
    grid-template-columns:28px minmax(0,1fr);
    gap:5px 9px;
  }
  .pv-nomina .pv-ns-salary-row.pv-ns-single-line .pv-ns-select label{
    grid-column:2;
    min-height:24px;
  }
  .pv-nomina .pv-ns-salary-row.pv-ns-single-line .pv-ns-selected-amount strong{font-size:15px}
}
