/* ------------------------------------------------------------------
   Calculadoras laborales. Clases con prefijo .cal-
   El resultado se presenta como un talon de pago: columnas de concepto,
   formula y monto, para que la persona pueda discutirlo con su patron.
   ------------------------------------------------------------------ */

.calhero{padding:54px 0 42px;background:var(--white);border-bottom:1px solid var(--line)}
.calhero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.calhero h1{font-size:clamp(34px,4.2vw,56px);max-width:15ch}
.calhero .lead{margin-top:16px;font-size:19px;max-width:48ch}
.calhero .gnota{margin-top:20px;border-left:3px solid var(--brass);padding-left:14px;font-size:15px;color:var(--muted);max-width:48ch}

.cal-muestra{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:26px 28px;
  box-shadow:0 20px 44px -30px rgba(12,28,56,.6)}
.cal-muestra .mt{font-size:13px;font-weight:700;color:var(--muted);margin-bottom:16px}
.cal-muestra .ml{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px dotted var(--line);font-size:15px}
.cal-muestra .ml b{font-variant-numeric:tabular-nums;font-weight:600}
.cal-muestra .mtot{display:flex;justify-content:space-between;gap:16px;padding-top:14px;margin-top:6px;
  border-top:2px solid var(--ink);font-family:var(--serif);font-size:21px;font-weight:600}
.cal-muestra .mtot span:last-child{font-variant-numeric:tabular-nums}

/* pestanas */
.cal-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:34px;padding-bottom:0}
.cal-tab{background:none;border:1px solid var(--line);border-bottom:0;border-radius:6px 6px 0 0;
  padding:13px 22px;font-family:var(--sans);font-size:16px;font-weight:600;color:var(--muted);cursor:pointer;
  margin-bottom:-1px;background:var(--soft)}
.cal-tab:hover{color:var(--ink)}
.cal-tab[aria-selected="true"]{background:var(--white);color:var(--ink);border-color:var(--line);
  box-shadow:inset 0 3px 0 var(--green)}

.cal-cuerpo{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:44px;align-items:start}
.cal-panel h2{font-size:27px;line-height:1.14}
.cal-panel .sub{margin-top:9px;font-size:15.5px;color:var(--muted)}
.cal-grupo{border:0;padding:0;margin:24px 0 0;border-top:1px solid var(--line);padding-top:18px}
.cal-grupo .glab{display:block;font-size:13px;font-weight:700;color:var(--brass);margin-bottom:14px}
.cal-campo{margin-bottom:15px}
.cal-campo label{display:block;font-size:15px;font-weight:600;margin-bottom:6px}
.cal-campo .pista{display:block;font-weight:400;font-size:13.5px;color:var(--muted);margin-top:3px;line-height:1.45}
.cal-campo input,.cal-campo select{width:100%;background:var(--white);color:var(--ink);border:1px solid var(--line);
  border-radius:5px;padding:11px 13px;font-family:var(--sans);font-size:16px}
.cal-campo input[type="number"]{font-variant-numeric:tabular-nums}
.cal-dos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cal-casilla{display:flex;gap:11px;align-items:flex-start;font-size:15px;margin-bottom:14px}
.cal-casilla input{width:19px;height:19px;margin-top:3px;flex:none;accent-color:var(--green)}

/* talon */
.cal-obra{position:sticky;top:172px}
.cal-talon{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:34px 36px 30px;max-width:720px;
  box-shadow:0 24px 52px -36px rgba(12,28,56,.6);position:relative}
.cal-talon::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;
  background:repeating-linear-gradient(90deg,var(--green) 0 14px,transparent 14px 20px);border-radius:4px 4px 0 0}
.cal-talon .cab{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;
  border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:8px}
.cal-talon .cab h3{font-size:22px;line-height:1.15}
.cal-talon .cab .ant{font-size:13.5px;color:var(--muted);text-align:right;line-height:1.5;flex:none}
.cal-fila{display:grid;grid-template-columns:1fr auto;gap:10px 18px;padding:11px 0;border-bottom:1px dotted var(--line);align-items:baseline}
.cal-fila .con{font-size:15.5px;font-weight:600}
.cal-fila .op{display:block;font-weight:400;font-size:13px;color:var(--muted);margin-top:3px;font-variant-numeric:tabular-nums}
.cal-fila .mon{font-variant-numeric:tabular-nums;font-size:16px;font-weight:600;white-space:nowrap}
.cal-fila.nula .con,.cal-fila.nula .mon{color:var(--muted);font-weight:400}
.cal-total{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin-top:18px;padding-top:16px;border-top:2px solid var(--ink)}
.cal-total .et{font-family:var(--serif);font-size:19px;font-weight:600}
.cal-total .nu{font-family:var(--serif);font-size:30px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}
.cal-letra{margin-top:8px;font-size:13.5px;color:var(--muted);text-align:right}
.cal-vacio{color:var(--muted);font-size:15.5px;padding:18px 0}

/* veredicto de la pension */
.cal-veredicto{border-radius:6px;padding:20px 22px;margin-bottom:18px;font-size:16px;line-height:1.55}
.cal-veredicto.si{background:var(--green-soft);border:1px solid #BFDDCB}
.cal-veredicto.no{background:var(--brass-soft);border:1px solid #E3D3AC}
.cal-veredicto b{display:block;font-family:var(--serif);font-size:21px;margin-bottom:6px}
.cal-dato{display:grid;grid-template-columns:1fr auto;gap:10px 18px;padding:10px 0;border-bottom:1px dotted var(--line);font-size:15.5px}
.cal-dato .mon{font-variant-numeric:tabular-nums;font-weight:600}

.cal-acciones{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.cal-acciones .btn{height:48px}
.cal-notas{margin-top:22px;background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:22px 26px;max-width:720px}
.cal-notas h3{font-size:18px;margin-bottom:11px}
.cal-notas ul{margin:0;padding-left:20px;font-size:15px;color:var(--muted);line-height:1.6}
.cal-notas li{margin-bottom:8px}
.cal-notas .legal{margin-top:15px;padding-top:13px;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.cal-pie{margin-top:46px;border-top:1px solid var(--line);padding-top:22px;font-size:14px;color:var(--muted);max-width:72ch}
.cal-pie b{color:var(--ink)}

@media (max-width:980px){
  .calhero{padding:34px 0 30px}
  .calhero .wrap{grid-template-columns:1fr;gap:28px}
  .cal-cuerpo{grid-template-columns:1fr;gap:26px}
  .cal-obra{position:static}
  .cal-talon{padding:26px 22px}
  .cal-tab{padding:11px 15px;font-size:14.5px;flex:1 1 auto}
}

@media print{
  header,nav,footer,.ifoot,.site-head,.topstack,.subnav,.calhero,.cal-tabs,.cal-panel,.cal-acciones,.cal-pie,.cal-noimp{display:none!important}
  body{background:#fff}
  .sec{padding:0!important}
  .wrap{padding:0!important;max-width:none!important}
  .cal-cuerpo{display:block!important}
  .cal-obra{position:static}
  .cal-talon{box-shadow:none;border:1px solid #999;max-width:none;padding:0 0 18px}
  .cal-talon::before{display:none}
  .cal-notas{background:none;border:0;padding:16px 0 0}
  @page{margin:2cm}
}
