{"id":19082,"date":"2026-08-04T09:06:34","date_gmt":"2026-08-04T15:06:34","guid":{"rendered":"https:\/\/www.conservisabogados.com\/?page_id=19082"},"modified":"2026-08-04T10:32:24","modified_gmt":"2026-08-04T16:32:24","slug":"calculadora-de-prestaciones-laborales-en-guatemala","status":"publish","type":"page","link":"https:\/\/www.conservisabogados.com\/en\/calculadora-de-prestaciones-laborales-en-guatemala\/","title":{"rendered":"Calculadora de prestaciones laborales en Guatemala"},"content":{"rendered":"\n<title>Calculadora de prestaciones laborales en Guatemala<\/title>\n\n<div id=\"jpPrestacionesApp\" class=\"jp-labor-app\">\n  <div class=\"jp-shell\">\n    <section class=\"jp-hero\">\n      <div>\n        <div class=\"jp-brandline\">Conservis Abogados<\/div>\n        <div class=\"jp-kicker\">Herramienta de derecho laboral<\/div>\n        <h1>Calculadora de prestaciones laborales en Guatemala<\/h1>\n        <p>Esta calculadora te ayuda a estimar prestaciones laborales proporcionales en Guatemala, incluyendo aguinaldo, Bono 14, vacaciones estimadas o pendientes, salarios pendientes, otros pagos y ajustes ingresados.<\/p>\n        <div class=\"jp-badges\">\n          <span>Aguinaldo<\/span><span>Bono 14<\/span><span>Vacaciones<\/span><span>Salarios pendientes<\/span><span>Prestaciones<\/span>\n        <\/div>\n      <\/div>\n      <div class=\"jp-hero-card\">\n        <strong>Importante<\/strong>\n        <p>El resultado es orientativo y no sustituye una revisi\u00f3n legal. Esta herramienta no calcula indemnizaci\u00f3n por despido. Si necesit\u00e1s estimar indemnizaci\u00f3n, us\u00e1 la calculadora espec\u00edfica de indemnizaci\u00f3n laboral.<\/p>\n        <a class=\"jp-hero-link\" href=\"https:\/\/www.conservisabogados.com\/calculadora-de-indemnizacion\/\">Ir a calculadora de indemnizaci\u00f3n<\/a>\n      <\/div>\n    <\/section>\n\n    <section class=\"jp-grid\">\n      <div class=\"jp-card jp-form\" role=\"form\" aria-label=\"Calculadora de prestaciones laborales\">\n        <h2>Datos para el c\u00e1lculo<\/h2>\n        <p class=\"jp-muted\">Complet\u00e1 los campos y luego presion\u00e1 <strong>Calcular<\/strong>.<\/p>\n\n        <div class=\"jp-field two\">\n          <label>Fecha de inicio de labores\n            <input id=\"startDate\" type=\"text\" inputmode=\"numeric\" maxlength=\"10\" placeholder=\"Ej. 15\/03\/2020\" autocomplete=\"off\" required=\"\">\n          <\/label>\n          <label>Fecha de terminaci\u00f3n o c\u00e1lculo\n            <input id=\"endDate\" type=\"text\" inputmode=\"numeric\" maxlength=\"10\" placeholder=\"Ej. 30\/06\/2026\" autocomplete=\"off\" required=\"\">\n          <\/label>\n        <\/div>\n        <p class=\"jp-help\">Ingres\u00e1 las fechas manualmente en formato dd\/mm\/aaaa. La fecha de inicio debe ser pasada o de hoy. La fecha de terminaci\u00f3n puede ser pasada, actual o futura si quer\u00e9s hacer una proyecci\u00f3n.<\/p>\n\n        <div class=\"jp-field two\">\n          <label>Salario mensual ordinario (Q)\n            <input id=\"salary\" type=\"number\" inputmode=\"decimal\" min=\"0\" step=\"0.01\" placeholder=\"Ej. 5000\" required=\"\">\n          <\/label>\n          <label>\u00bfEl salario ingresado incluye bonificaci\u00f3n incentivo?\n            <select id=\"includesBonus\">\n              <option value=\"no\">No<\/option>\n              <option value=\"yes\">S\u00ed, incluye Q250<\/option>\n            <\/select>\n          <\/label>\n        <\/div>\n        <p class=\"jp-help\">Recomendaci\u00f3n: ingres\u00e1 el salario ordinario sin la bonificaci\u00f3n incentivo de Q250. Si ingresaste un salario que s\u00ed la incluye, seleccion\u00e1 \u201cS\u00ed\u201d para restarla autom\u00e1ticamente.<\/p>\n\n        <div class=\"jp-field two\">\n          <label>Vacaciones estimadas o pendientes\n            <select id=\"vacationMode\">\n              <option value=\"auto\">Calcular autom\u00e1ticamente<\/option>\n              <option value=\"manual\">Ingresar d\u00edas manualmente<\/option>\n            <\/select>\n          <\/label>\n          <label>D\u00edas de vacaciones pendientes\n            <input id=\"vacationDaysManual\" type=\"number\" inputmode=\"decimal\" min=\"0\" step=\"0.01\" placeholder=\"Ej. 12\" disabled=\"\">\n          <\/label>\n        <\/div>\n        <p class=\"jp-help\">La opci\u00f3n autom\u00e1tica estima 15 d\u00edas por a\u00f1o en proporci\u00f3n al tiempo trabajado. Si la persona ya goz\u00f3 vacaciones o ya conoc\u00e9s los d\u00edas pendientes reales, us\u00e1 el modo manual.<\/p>\n\n        <div class=\"jp-field two\">\n          <label>Aguinaldo ya pagado o anticipado (Q)\n            <input id=\"aguinaldoPaid\" type=\"number\" inputmode=\"decimal\" min=\"0\" step=\"0.01\" placeholder=\"0\">\n          <\/label>\n          <label>Bono 14 ya pagado o anticipado (Q)\n            <input id=\"bono14Paid\" type=\"number\" inputmode=\"decimal\" min=\"0\" step=\"0.01\" placeholder=\"0\">\n          <\/label>\n        <\/div>\n        <p class=\"jp-help\">Ingres\u00e1 aqu\u00ed cualquier pago parcial, anticipo o pago ya realizado por aguinaldo o Bono 14 dentro del per\u00edodo correspondiente.<\/p>\n\n        <div class=\"jp-field two\">\n          <label>Salarios pendientes (Q)\n            <input id=\"pendingSalary\" type=\"number\" inputmode=\"decimal\" min=\"0\" step=\"0.01\" placeholder=\"0\">\n          <\/label>\n          <label>Otros pagos pendientes (Q)\n            <input id=\"otherPayments\" type=\"number\" inputmode=\"decimal\" min=\"0\" step=\"0.01\" placeholder=\"0\">\n          <\/label>\n        <\/div>\n        <p class=\"jp-help\">Us\u00e1 este campo de \u201cOtros pagos pendientes\u201d para agregar montos laborales pendientes que no est\u00e9n calculados autom\u00e1ticamente. Por ejemplo: comisiones pendientes, horas extra reconocidas, bonificaciones no pagadas, saldos de per\u00edodos anteriores, d\u00edas laborados no incluidos u otros montos acordados.<\/p>\n\n        <div class=\"jp-field two\">\n          <label>Descuentos o anticipos a restar (Q)\n            <input id=\"deductions\" type=\"number\" inputmode=\"decimal\" min=\"0\" step=\"0.01\" placeholder=\"0\">\n          <\/label>\n          <label>Mostrar detalle legal\n            <select id=\"showLegal\">\n              <option value=\"yes\">S\u00ed<\/option>\n              <option value=\"no\">No<\/option>\n            <\/select>\n          <\/label>\n        <\/div>\n        <p class=\"jp-help\">Este campo \u00fanicamente refleja el monto ingresado en la estimaci\u00f3n. La calculadora no determina si un descuento, anticipo, pr\u00e9stamo o ajuste puede aplicarse legalmente; su procedencia debe verificarse con los documentos y las circunstancias del caso.<\/p>\n        <p class=\"jp-help\">Us\u00e1 el campo \u201cMostrar detalle legal\u201d para decidir si quer\u00e9s que el resultado incluya una explicaci\u00f3n legal resumida sobre la base utilizada para el c\u00e1lculo.<\/p>\n\n        <div class=\"jp-actions\">\n          <button type=\"button\" class=\"jp-btn jp-primary\" data-jp-action=\"calculate\">Calcular<\/button>\n          <button type=\"button\" class=\"jp-btn jp-secondary\" data-jp-action=\"reset\">Limpiar<\/button>\n        <\/div>\n        <div id=\"jpError\" class=\"jp-error\" aria-live=\"polite\"><\/div>\n      <\/div>\n\n      <aside class=\"jp-card jp-results\" id=\"resultPanel\">\n        <div class=\"jp-placeholder\">\n          <div class=\"jp-icon\">Q<\/div>\n          <h2>Resultado estimado<\/h2>\n          <p>Ingres\u00e1 los datos laborales y presion\u00e1 calcular para ver el desglose.<\/p>\n          <div class=\"jp-placeholder-block\">\n            <span class=\"jp-mini-label\">Qu\u00e9 ver\u00e1s al calcular<\/span>\n            <ul>\n              <li>Total estimado de prestaciones laborales.<\/li>\n              <li>Desglose de aguinaldo, Bono 14 y vacaciones estimadas o pendientes.<\/li>\n              <li>Salarios pendientes, otros pagos y ajustes ingresados.<\/li>\n              <li>Detalle legal resumido si lo seleccion\u00e1s.<\/li>\n              <li>Reporte PDF con resumen del c\u00e1lculo.<\/li>\n            <\/ul>\n          <\/div>\n          <div class=\"jp-placeholder-block jp-mini-explainer\">\n            <span class=\"jp-mini-label\">Antes de calcular<\/span>\n            <p>Verific\u00e1 que las fechas est\u00e9n en formato <strong>dd\/mm\/aaaa<\/strong>, que el salario no incluya bonificaci\u00f3n incentivo salvo que lo indiqu\u00e9s, y que los pagos anticipados est\u00e9n ingresados correctamente.<\/p>\n          <\/div>\n          <div class=\"jp-placeholder-block jp-mini-explainer\">\n            <span class=\"jp-mini-label\">Observaci\u00f3n<\/span>\n            <p>Esta herramienta no calcula indemnizaci\u00f3n. Si quer\u00e9s estimar indemnizaci\u00f3n por despido, us\u00e1 la <a href=\"https:\/\/www.conservisabogados.com\/calculadora-de-indemnizacion\/\">calculadora de indemnizaci\u00f3n laboral<\/a>.<\/p>\n          <\/div>\n        <\/div>\n      <\/aside>\n    <\/section>\n\n    <section class=\"jp-card jp-explainer jp-explainer-fixed\">\n      <h2>\u00bfQu\u00e9 calcula esta herramienta?<\/h2>\n      <p>La herramienta estima los principales rubros de prestaciones laborales que suelen revisarse al finalizar una relaci\u00f3n laboral en Guatemala o al hacer una proyecci\u00f3n de pago.<\/p>\n      <div class=\"jp-columns\">\n        <div><h3>Aguinaldo<\/h3><p>Calcula el aguinaldo proporcional seg\u00fan el per\u00edodo aplicable, salario mensual ordinario y pagos ya realizados o anticipados.<\/p><\/div>\n        <div><h3>Bono 14<\/h3><p>Calcula el Bono 14 proporcional tomando como base el salario ordinario y el per\u00edodo legal correspondiente.<\/p><\/div>\n        <div><h3>Vacaciones y ajustes<\/h3><p>Calcula vacaciones estimadas o pendientes y permite agregar salarios pendientes, otros pagos laborales y ajustes documentados.<\/p><\/div>\n      <\/div>\n    <\/section>\n\n    <section class=\"jp-card jp-warning-box\">\n      <span class=\"jp-warning-label\">Observaci\u00f3n importante<\/span>\n      <h2>Esta no es una calculadora de indemnizaci\u00f3n<\/h2>\n      <p>Esta herramienta estima prestaciones laborales proporcionales. No determina si corresponde indemnizaci\u00f3n ni calcula indemnizaci\u00f3n por despido. Si el caso incluye despido injustificado, causa imputable al patrono u otro supuesto donde pueda discutirse indemnizaci\u00f3n, us\u00e1 la calculadora espec\u00edfica.<\/p>\n      <a class=\"jp-btn jp-primary\" href=\"https:\/\/www.conservisabogados.com\/calculadora-de-indemnizacion\/\">Ir a calculadora de indemnizaci\u00f3n<\/a>\n    <\/section>\n\n    <section class=\"jp-cta jp-cta-main\">\n      <div>\n        <span class=\"jp-cta-label\">Revisi\u00f3n legal<\/span>\n        <h2>\u00bfQuer\u00e9s revisar tu caso con m\u00e1s detalle?<\/h2>\n        <p>El c\u00e1lculo puede variar seg\u00fan documentos laborales, salario variable, bonificaciones, pagos ya realizados, descuentos, vacaciones gozadas y condiciones espec\u00edficas de la relaci\u00f3n laboral.<\/p>\n      <\/div>\n      <div class=\"jp-actions\">\n        <a class=\"jp-btn jp-primary jp-logo-cta\" href=\"https:\/\/www.conservisabogados.com\/contactenos\/\">\n          <img decoding=\"async\" src=\"https:\/\/www.conservisabogados.com\/wp-content\/uploads\/2022\/04\/cropped-cropped-Conservis-Abogados-Bufete-de-Abogados-en-Guatemala-1.png\" alt=\"Conservis Abogados\">\n          <span>Solicitar revisi\u00f3n laboral<\/span>\n        <\/a>\n      <\/div>\n    <\/section>\n\n    <section class=\"jp-card jp-article-reco\">\n      <div class=\"jp-article-image\">\n        <img decoding=\"async\" src=\"https:\/\/www.conservisabogados.com\/wp-content\/uploads\/2022\/04\/Recepcion-Conservis-Abogados-e1737655962406.jpeg\" alt=\"Recepci\u00f3n de Conservis Abogados en Guatemala\">\n      <\/div>\n      <div class=\"jp-article-content\">\n        <span class=\"jp-article-label\">Asesor\u00eda laboral empresarial<\/span>\n        <h2>Derecho laboral para empresas en Guatemala<\/h2>\n        <p>Conservis asesora a empresas en contratos, pol\u00edticas internas, terminaciones laborales, prestaciones, cumplimiento y prevenci\u00f3n de contingencias.<\/p>\n        <a class=\"jp-btn jp-primary\" href=\"https:\/\/www.conservisabogados.com\/abogados-laborales-en-guatemala\/\">Conocer la asesor\u00eda laboral<\/a>\n      <\/div>\n    <\/section>\n\n    <section id=\"legalNotes\" class=\"jp-card jp-legal\">\n      <h2>Base legal utilizada<\/h2>\n      <ul>\n        <li><strong>Vacaciones:<\/strong> art\u00edculos 130, 131 y 133 del C\u00f3digo de Trabajo: regulan el per\u00edodo m\u00ednimo, los d\u00edas necesarios para adquirir el derecho anual y el pago proporcional cuando termina la relaci\u00f3n laboral antes de adquirirlo.<\/li>\n        <li><strong>Bono 14:<\/strong> Decreto 42-92: equivale a un salario ordinario por a\u00f1o y se paga proporcionalmente si la relaci\u00f3n termina antes de completar el per\u00edodo.<\/li>\n        <li><strong>Aguinaldo:<\/strong> Decreto 76-78: equivale a un salario anual y debe calcularse proporcionalmente cuando termina la relaci\u00f3n laboral.<\/li>\n        <li><strong>Salarios pendientes y otros pagos:<\/strong> deben revisarse seg\u00fan salario ordinario, pagos devengados, documentos laborales, acuerdos, comprobantes y condiciones espec\u00edficas de la relaci\u00f3n.<\/li>\n        <li><strong>Descuentos y ajustes:<\/strong> la herramienta solo refleja el monto ingresado; su procedencia jur\u00eddica debe verificarse con los documentos y las circunstancias aplicables.<\/li>\n      <\/ul>\n      <p class=\"jp-muted\">Esta herramienta no sustituye una revisi\u00f3n legal. Para casos con salario variable, comisiones, horas extra, pagos parciales, vacaciones discutidas, descuentos, documentos incompletos o reclamos pendientes, conviene revisar documentos antes de tomar una decisi\u00f3n.<\/p>\n    <\/section>\n  <\/div>\n<\/div>\n\n<style>\n#jpPrestacionesApp, #jpPrestacionesApp *{box-sizing:border-box!important}\n#jpPrestacionesApp{--navy:#061a3a;--navy2:#0b2d57;--gold:#c9a24d;--gold2:#a9822e;--blue:#c9a24d;--teal:#c9a24d;--teal2:#a9822e;--soft:#f7f8fb;--text:#172033;--muted:#667085;--border:#dce2ea;--white:#fff;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Arial,sans-serif!important;color:var(--text)!important;background:linear-gradient(180deg,#f7f8fb 0%,#ffffff 42%,#f7f8fb 100%)!important;padding:24px 12px!important;line-height:1.55!important;}\n#jpPrestacionesApp input,#jpPrestacionesApp select,#jpPrestacionesApp button,#jpPrestacionesApp a{font-family:Inter,Arial,Helvetica,sans-serif!important}\n#jpPrestacionesApp .jp-shell{max-width:1120px!important;margin:0 auto!important}\n#jpPrestacionesApp .jp-hero{display:grid!important;grid-template-columns:1.4fr .8fr!important;gap:22px!important;align-items:stretch!important;background:radial-gradient(circle at top right,rgba(201,162,77,.20),transparent 34%),linear-gradient(135deg,var(--navy),var(--navy2))!important;color:#fff!important;border-radius:28px!important;padding:36px!important;box-shadow:0 22px 55px rgba(6,26,58,.18)!important;position:relative!important;overflow:hidden!important}\n#jpPrestacionesApp .jp-hero:after{content:\"\"!important;position:absolute!important;right:-90px!important;top:-90px!important;width:260px!important;height:260px!important;border-radius:50%!important;background:rgba(201,162,77,.14)!important;filter:blur(4px)!important}\n#jpPrestacionesApp .jp-brandline{display:inline-flex!important;align-items:center!important;gap:8px!important;border:1px solid rgba(201,162,77,.42)!important;background:rgba(201,162,77,.12)!important;color:#f0d592!important;border-radius:999px!important;padding:7px 12px!important;font-size:12px!important;font-weight:900!important;letter-spacing:.05em!important;text-transform:uppercase!important;margin-bottom:12px!important}\n#jpPrestacionesApp .jp-kicker{color:#f0d592!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-size:13px!important;margin-bottom:12px!important}\n#jpPrestacionesApp h1{font-size:clamp(34px,5vw,58px)!important;line-height:1.06!important;letter-spacing:-.018em!important;margin:0 0 16px!important;color:#fff!important;font-weight:900!important}\n#jpPrestacionesApp h2{font-size:24px!important;line-height:1.18!important;color:var(--navy)!important;margin:0 0 10px!important;font-weight:900!important;letter-spacing:-.025em!important}\n#jpPrestacionesApp h3{font-size:16px!important;margin:0 0 6px!important;color:var(--navy)!important;font-weight:900!important}\n#jpPrestacionesApp p{margin:0 0 12px!important;color:inherit!important;font-size:16px!important}\n#jpPrestacionesApp .jp-hero p{color:#d8e4ef!important;max-width:780px!important}\n#jpPrestacionesApp .jp-badges{display:flex!important;flex-wrap:wrap!important;gap:9px!important;margin-top:18px!important}\n#jpPrestacionesApp .jp-badges span{border:1px solid rgba(201,162,77,.34)!important;color:#fff!important;background:rgba(255,255,255,.08)!important;border-radius:999px!important;padding:7px 11px!important;font-size:13px!important;font-weight:700!important}\n#jpPrestacionesApp .jp-hero-card{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:22px!important;padding:22px!important;z-index:1!important;backdrop-filter:blur(6px)!important}\n#jpPrestacionesApp .jp-hero-card strong{display:block!important;color:#f0d592!important;font-size:18px!important;margin-bottom:8px!important}\n#jpPrestacionesApp .jp-hero-link{display:inline-flex!important;color:#f0d592!important;font-size:14px!important;font-weight:900!important;text-decoration:none!important;border-bottom:1px solid rgba(240,213,146,.7)!important;margin-top:6px!important}\n#jpPrestacionesApp .jp-grid{display:grid!important;grid-template-columns:1.05fr .95fr!important;gap:22px!important;margin-top:22px!important;align-items:start!important}\n#jpPrestacionesApp .jp-card{background:#fff!important;border:1px solid var(--border)!important;border-radius:24px!important;padding:24px!important;box-shadow:0 14px 38px rgba(15,23,42,.07)!important}\n#jpPrestacionesApp .jp-muted,#jpPrestacionesApp .jp-help{color:var(--muted)!important;font-size:14px!important}\n#jpPrestacionesApp .jp-form label{display:grid!important;gap:8px!important;color:#334155!important;font-weight:800!important;font-size:14px!important;margin:0!important}\n#jpPrestacionesApp .jp-field{display:grid!important;gap:14px!important;margin:16px 0!important}\n#jpPrestacionesApp .jp-field.two{grid-template-columns:1fr 1fr!important}\n#jpPrestacionesApp input,#jpPrestacionesApp select{width:100%!important;border:1.5px solid var(--border)!important;border-radius:14px!important;background:#fff!important;color:#0b2740!important;padding:13px 14px!important;font-size:15px!important;font-weight:600!important;outline:none!important;box-shadow:none!important;min-height:48px!important;appearance:auto!important}\n#jpPrestacionesApp input:focus,#jpPrestacionesApp select:focus{border-color:var(--gold)!important;box-shadow:0 0 0 3px rgba(201,162,77,.16)!important}\n#jpPrestacionesApp .jp-actions{display:flex!important;flex-wrap:wrap!important;gap:12px!important;align-items:center!important;margin-top:18px!important}\n#jpPrestacionesApp .jp-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:14px!important;padding:13px 18px!important;font-size:15px!important;font-weight:900!important;line-height:1!important;text-decoration:none!important;cursor:pointer!important;border:1px solid transparent!important;min-height:46px!important;text-transform:none!important;letter-spacing:normal!important;box-shadow:none!important}\n#jpPrestacionesApp .jp-primary{background:linear-gradient(135deg,var(--gold),var(--gold2))!important;color:#fff!important;border-color:transparent!important;box-shadow:0 12px 26px rgba(201,162,77,.20)!important}\n#jpPrestacionesApp .jp-primary:hover{filter:brightness(.96)!important;transform:translateY(-1px)!important}\n#jpPrestacionesApp .jp-secondary{background:#fff!important;color:var(--navy)!important;border-color:rgba(15,23,42,.16)!important}\n#jpPrestacionesApp .jp-pdf-btn{background:linear-gradient(135deg,var(--navy),var(--gold2))!important;color:#fff!important;border-color:transparent!important}\n#jpPrestacionesApp .jp-logo-cta{gap:10px!important;padding-left:12px!important}\n#jpPrestacionesApp .jp-logo-cta img{width:32px!important;height:32px!important;border-radius:8px!important;background:#fff!important;object-fit:contain!important;padding:4px!important;display:block!important}\n#jpPrestacionesApp .jp-error{display:none!important;background:#fff1f2!important;border:1px solid #fecdd3!important;color:#be123c!important;border-radius:14px!important;padding:12px!important;font-size:14px!important;font-weight:800!important;margin-top:14px!important}\n#jpPrestacionesApp .jp-error.show{display:block!important}\n#jpPrestacionesApp .jp-placeholder{text-align:left!important;padding:12px!important;color:var(--muted)!important}\n#jpPrestacionesApp .jp-icon{width:78px!important;height:78px!important;border-radius:24px!important;background:linear-gradient(135deg,var(--navy),var(--navy2))!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;font-weight:1000!important;font-size:32px!important;margin:0 0 18px!important;box-shadow:0 14px 28px rgba(7,26,47,.16)!important}\n#jpPrestacionesApp .jp-placeholder-block{margin-top:18px!important;border:1px solid var(--border)!important;border-radius:20px!important;padding:18px!important;background:linear-gradient(135deg,#ffffff,#f8fbff)!important}\n#jpPrestacionesApp .jp-placeholder-block ul{margin:8px 0 0!important;padding-left:20px!important;color:var(--text)!important}\n#jpPrestacionesApp .jp-placeholder-block li{margin:6px 0!important;color:#344054!important;font-size:14px!important}\n#jpPrestacionesApp .jp-placeholder-block p{color:var(--muted)!important;font-size:14px!important;margin:0!important}\n#jpPrestacionesApp .jp-placeholder-block a{color:var(--teal2)!important;font-weight:900!important;text-decoration:none!important}\n#jpPrestacionesApp .jp-mini-label{display:inline-flex!important;color:var(--teal)!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.08em!important;margin-bottom:8px!important}\n#jpPrestacionesApp .jp-summary{display:grid!important;gap:14px!important}\n#jpPrestacionesApp .jp-total{background:linear-gradient(135deg,var(--navy),var(--navy2))!important;color:#fff!important;border-radius:22px!important;padding:22px!important;margin:0 0 14px!important;border-bottom:4px solid var(--gold)!important}\n#jpPrestacionesApp .jp-total span{color:#cbd5e1!important;font-size:13px!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-weight:800!important;display:block!important;margin-bottom:6px!important}\n#jpPrestacionesApp .jp-total strong{font-size:38px!important;line-height:1!important;color:#fff!important;letter-spacing:-.04em!important}\n#jpPrestacionesApp .jp-breakdown{display:grid!important;gap:10px!important;margin-top:12px!important}\n#jpPrestacionesApp .jp-row{display:flex!important;justify-content:space-between!important;gap:14px!important;align-items:center!important;border:1px solid var(--border)!important;border-radius:14px!important;padding:12px 14px!important;background:#fff!important;color:#334155!important}\n#jpPrestacionesApp .jp-row strong{color:var(--navy)!important;white-space:nowrap!important}\n#jpPrestacionesApp .jp-row.positive strong{color:#7a5b1f!important}\n#jpPrestacionesApp .jp-row.negative strong{color:#be123c!important}\n#jpPrestacionesApp .jp-note{background:#fbf8f0!important;border-left:4px solid var(--gold)!important;border-radius:14px!important;padding:14px!important;color:#475569!important;margin-top:14px!important;font-size:14px!important}\n#jpPrestacionesApp .jp-note a{color:var(--teal2)!important;font-weight:900!important;text-decoration:none!important}\n#jpPrestacionesApp .jp-columns{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:14px!important;margin-top:16px!important}\n#jpPrestacionesApp .jp-columns>div{border:1px solid var(--border)!important;border-radius:18px!important;padding:16px!important;background:#f8fafc!important}\n#jpPrestacionesApp .jp-explainer,#jpPrestacionesApp .jp-legal,#jpPrestacionesApp .jp-cta,#jpPrestacionesApp .jp-warning-box{margin-top:22px!important}\n#jpPrestacionesApp .jp-warning-box{background:linear-gradient(135deg,#ffffff,#f8fafc)!important;border-left:5px solid var(--teal)!important}\n#jpPrestacionesApp .jp-warning-label{display:inline-flex!important;color:var(--teal)!important;font-size:12px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important;margin-bottom:10px!important}\n#jpPrestacionesApp .jp-warning-box p{color:var(--muted)!important}\n#jpPrestacionesApp .jp-legal ul{margin:12px 0 0!important;padding-left:20px!important;color:#334155!important}\n#jpPrestacionesApp .jp-legal li{margin:8px 0!important}\n#jpPrestacionesApp .jp-cta{display:flex!important;justify-content:space-between!important;gap:18px!important;align-items:center!important;background:radial-gradient(circle at top right,rgba(201,162,77,.20),transparent 34%),linear-gradient(135deg,var(--navy),var(--navy2))!important;border:1px solid rgba(201,162,77,.30)!important;border-radius:24px!important;padding:26px!important;color:#fff!important;box-shadow:0 18px 44px rgba(6,26,58,.16)!important;position:relative!important;overflow:hidden!important}\n#jpPrestacionesApp .jp-cta>div{position:relative!important;z-index:1!important}\n#jpPrestacionesApp .jp-cta-label{display:inline-flex!important;color:#f0d592!important;border:1px solid rgba(201,162,77,.42)!important;background:rgba(201,162,77,.12)!important;padding:6px 10px!important;border-radius:999px!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.07em!important;margin-bottom:10px!important}\n#jpPrestacionesApp .jp-cta h2{color:#fff!important}\n#jpPrestacionesApp .jp-cta p{color:#d8e4ef!important}\n#jpPrestacionesApp .jp-cta .jp-secondary{background:rgba(255,255,255,.05)!important;color:#fff!important;border-color:rgba(201,162,77,.35)!important}\n#jpPrestacionesApp .jp-result-cta{margin:16px 0!important;padding:20px!important;border-radius:20px!important}\n#jpPrestacionesApp .jp-result-cta h2{font-size:20px!important}\n#jpPrestacionesApp .jp-chart{height:12px!important;background:#e2e8f0!important;border-radius:999px!important;overflow:hidden!important;margin:12px 0 4px!important}\n#jpPrestacionesApp .jp-chart span{display:block!important;height:100%!important;background:linear-gradient(90deg,var(--gold),var(--gold2))!important;width:0%!important}\n#jpPrestacionesApp .jp-article-reco{margin-top:22px!important;display:grid!important;grid-template-columns:.92fr 1.08fr!important;gap:20px!important;align-items:center!important;overflow:hidden!important;padding:0!important}\n#jpPrestacionesApp .jp-article-image{height:100%!important;min-height:260px!important;background:#f3f8ff!important}\n#jpPrestacionesApp .jp-article-image img{width:100%!important;height:100%!important;min-height:260px!important;object-fit:cover!important;display:block!important}\n#jpPrestacionesApp .jp-article-content{padding:24px 24px 24px 4px!important}\n#jpPrestacionesApp .jp-article-label{display:inline-flex!important;color:var(--teal)!important;font-size:12px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important;margin-bottom:10px!important}\n#jpPrestacionesApp .jp-article-content p{color:var(--muted)!important}\n#jpPrestacionesApp .jp-company-card{margin:18px 0!important;display:grid!important;grid-template-columns:120px 1fr!important;gap:18px!important;align-items:center!important;background:linear-gradient(135deg,#ffffff,#f8fafc)!important;border:1px solid var(--border)!important;border-radius:22px!important;padding:20px!important;box-shadow:0 14px 34px rgba(15,23,42,.08)!important}\n#jpPrestacionesApp .jp-company-logo{width:112px!important;height:112px!important;border-radius:22px!important;background:#fff!important;border:1px solid var(--border)!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;padding:14px!important}\n#jpPrestacionesApp .jp-company-logo img{max-width:100%!important;max-height:100%!important;object-fit:contain!important;display:block!important}\n#jpPrestacionesApp .jp-logo-fallback{background:linear-gradient(135deg,var(--navy),var(--navy2))!important;color:#fff!important;font-size:34px!important;font-weight:1000!important;letter-spacing:-.04em!important}\n#jpPrestacionesApp .jp-company-label{display:inline-flex!important;color:var(--teal)!important;font-size:12px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important;margin-bottom:8px!important}\n#jpPrestacionesApp .jp-company-content h2{font-size:22px!important;margin:0 0 8px!important;color:var(--navy)!important}\n#jpPrestacionesApp .jp-company-content p{color:var(--muted)!important;font-size:15px!important;margin:0 0 12px!important}\n#jpPrestacionesApp .jp-company-tags{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:10px 0 14px!important}\n#jpPrestacionesApp .jp-company-tags span{display:inline-flex!important;border:1px solid rgba(201,162,77,.28)!important;background:rgba(201,162,77,.10)!important;color:#7a5b1f!important;border-radius:999px!important;padding:6px 10px!important;font-size:12px!important;font-weight:800!important}\n@media(max-width:860px){#jpPrestacionesApp .jp-hero,#jpPrestacionesApp .jp-grid,#jpPrestacionesApp .jp-columns{grid-template-columns:1fr!important}#jpPrestacionesApp .jp-field.two{grid-template-columns:1fr!important}#jpPrestacionesApp .jp-hero{padding:26px!important}#jpPrestacionesApp .jp-cta{flex-direction:column!important;align-items:flex-start!important}#jpPrestacionesApp .jp-btn{width:100%!important}#jpPrestacionesApp h1{font-size:36px!important;line-height:1.08!important;letter-spacing:-.012em!important}#jpPrestacionesApp .jp-article-reco{grid-template-columns:1fr!important}#jpPrestacionesApp .jp-article-content{padding:22px!important}#jpPrestacionesApp .jp-article-image,#jpPrestacionesApp .jp-article-image img{min-height:220px!important}}\n@media(max-width:640px){#jpPrestacionesApp .jp-company-card{grid-template-columns:1fr!important;text-align:left!important}#jpPrestacionesApp .jp-company-logo{width:96px!important;height:96px!important}}\n<\/style>\n\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js\"><\/script>\n\n<script>\n(function(){\n  function initPrestacionesCalculator(app){\n  if(!app){\n    document.querySelectorAll('.jp-labor-app').forEach(function(instance){\n      initPrestacionesCalculator(instance);\n    });\n    return;\n  }\n  if(app.dataset.conservisPrestacionesReady === 'true') return;\n  const $ = (id)=>app.querySelector('#' + id);\n  const form = app.querySelector('.jp-form');\n  const calculateBtn = app.querySelector('[data-jp-action=\"calculate\"]');\n  const resetBtn = app.querySelector('[data-jp-action=\"reset\"]');\n  const errorBox = $('jpError');\n  const resultPanel = $('resultPanel');\n  const vacationMode = $('vacationMode');\n  const vacManual = $('vacationDaysManual');\n  const startDateInput = $('startDate');\n  const endDateInput = $('endDate');\n\n  if(!form || !calculateBtn || !resetBtn || !errorBox || !resultPanel || !vacationMode || !vacManual || !startDateInput || !endDateInput) return;\n  app.dataset.conservisPrestacionesReady = 'true';\n\n  const CONSERVIS_LOGO_URL = 'https:\/\/www.conservisabogados.com\/wp-content\/uploads\/2022\/04\/cropped-cropped-Conservis-Abogados-Bufete-de-Abogados-en-Guatemala-1.png';\n  const CONSERVIS_SITE = 'https:\/\/www.conservisabogados.com';\n  const CONSERVIS_CONTACT = 'https:\/\/www.conservisabogados.com\/contactenos\/';\n  const INDEMNIZACION_SITE = 'https:\/\/www.conservisabogados.com\/calculadora-de-indemnizacion\/';\n\n  function todayLocal(){\n    const now = new Date();\n    return new Date(now.getFullYear(), now.getMonth(), now.getDate());\n  }\n\n  function parseManualDate(value){\n    if(!value) return null;\n    const clean = value.trim();\n    const match = clean.match(\/^(\\d{1,2})\\\/(\\d{1,2})\\\/(\\d{4})$\/);\n    if(!match) return null;\n    const day = Number(match[1]);\n    const month = Number(match[2]);\n    const year = Number(match[3]);\n    if(year < 1900 || year > 2100 || month < 1 || month > 12 || day < 1 || day > 31) return null;\n    const date = new Date(year, month - 1, day);\n    if(date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) return null;\n    return date;\n  }\n\n  function autoSlashDate(input){\n    let v = input.value.replace(\/\\D\/g,'').slice(0,8);\n    if(v.length >= 5) v = v.slice(0,2) + '\/' + v.slice(2,4) + '\/' + v.slice(4);\n    else if(v.length >= 3) v = v.slice(0,2) + '\/' + v.slice(2);\n    input.value = v;\n  }\n\n  function n(id){\n    const value = parseFloat($(id).value);\n    return Number.isFinite(value) ? value : 0;\n  }\n\n  function fmt(value){\n    return 'Q' + Number(value || 0).toLocaleString('es-GT',{minimumFractionDigits:2,maximumFractionDigits:2});\n  }\n\n  function clearError(){\n    errorBox.textContent = '';\n    errorBox.classList.remove('show');\n  }\n\n  function showError(message){\n    errorBox.textContent = message;\n    errorBox.classList.add('show');\n  }\n\n  function daysInclusive(start,end){\n    const ms = 24*60*60*1000;\n    return Math.floor((end - start) \/ ms) + 1;\n  }\n\n  function daysBetween(a,b){\n    const ms = 24*60*60*1000;\n    return Math.max(0, Math.floor((b - a) \/ ms) + 1);\n  }\n\n  function periodStartFor(date,startMonth,startDay){\n    const candidate = new Date(date.getFullYear(), startMonth, startDay);\n    if(date < candidate) return new Date(date.getFullYear() - 1, startMonth, startDay);\n    return candidate;\n  }\n\n  function daysBetweenPeriod(start,end,startMonth,startDay){\n    const periodStart = periodStartFor(end,startMonth,startDay);\n    const effectiveStart = start > periodStart ? start : periodStart;\n    return daysBetween(effectiveStart,end);\n  }\n\n  function initialResultHTML(){\n    return '<div class=\"jp-placeholder\"><div class=\"jp-icon\">Q<\/div><h2>Resultado estimado<\/h2><p>Ingres\u00e1 los datos laborales y presion\u00e1 calcular para ver el desglose.<\/p><div class=\"jp-placeholder-block\"><span class=\"jp-mini-label\">Qu\u00e9 ver\u00e1s al calcular<\/span><ul><li>Total estimado de prestaciones laborales.<\/li><li>Desglose de aguinaldo, Bono 14 y vacaciones estimadas o pendientes.<\/li><li>Salarios pendientes, otros pagos y ajustes.<\/li><li>Detalle legal resumido si lo seleccion\u00e1s.<\/li><li>Reporte PDF con resumen del c\u00e1lculo.<\/li><\/ul><\/div><div class=\"jp-placeholder-block jp-mini-explainer\"><span class=\"jp-mini-label\">Antes de calcular<\/span><p>Verific\u00e1 que las fechas est\u00e9n en formato <strong>dd\/mm\/aaaa<\/strong>, que el salario no incluya bonificaci\u00f3n incentivo salvo que lo indiqu\u00e9s, y que los pagos anticipados est\u00e9n ingresados correctamente.<\/p><\/div><div class=\"jp-placeholder-block jp-mini-explainer\"><span class=\"jp-mini-label\">Observaci\u00f3n<\/span><p>Esta herramienta no calcula indemnizaci\u00f3n. Si quer\u00e9s estimarla, us\u00e1 la <a href=\"' + INDEMNIZACION_SITE + '\">calculadora de indemnizaci\u00f3n laboral<\/a>.<\/p><\/div><\/div>';\n  }\n\n  function loadImageDataUrl(url){\n    return new Promise((resolve)=>{\n      if(!url){ resolve(null); return; }\n      const img = new Image();\n      img.crossOrigin = 'anonymous';\n      img.onload = function(){\n        try{\n          const canvas = document.createElement('canvas');\n          canvas.width = img.naturalWidth || img.width;\n          canvas.height = img.naturalHeight || img.height;\n          const ctx = canvas.getContext('2d');\n          ctx.drawImage(img,0,0);\n          resolve(canvas.toDataURL('image\/png'));\n        }catch(e){\n          resolve(null);\n        }\n      };\n      img.onerror = function(){ resolve(null); };\n      img.src = url;\n    });\n  }\n\n  function addWrappedText(doc, text, x, y, maxWidth, lineHeight){\n    const lines = doc.splitTextToSize(String(text || ''), maxWidth);\n    lines.forEach((line)=>{\n      doc.text(line, x, y);\n      y += lineHeight;\n    });\n    return y;\n  }\n\n  function addContainedImage(doc, imageData, boxX, boxY, boxWidth, boxHeight, padding){\n    if(!imageData) return;\n    const safePadding = Math.max(0, Number(padding) || 0);\n    const availableWidth = Math.max(1, boxWidth - (safePadding * 2));\n    const availableHeight = Math.max(1, boxHeight - (safePadding * 2));\n\n    try{\n      const properties = doc.getImageProperties(imageData);\n      const sourceWidth = Number(properties.width) || 1;\n      const sourceHeight = Number(properties.height) || 1;\n      const scale = Math.min(availableWidth \/ sourceWidth, availableHeight \/ sourceHeight);\n      const renderedWidth = sourceWidth * scale;\n      const renderedHeight = sourceHeight * scale;\n      const renderedX = boxX + ((boxWidth - renderedWidth) \/ 2);\n      const renderedY = boxY + ((boxHeight - renderedHeight) \/ 2);\n      doc.addImage(imageData, 'PNG', renderedX, renderedY, renderedWidth, renderedHeight, undefined, 'FAST');\n    }catch(e){\n      const fallbackSize = Math.min(availableWidth, availableHeight);\n      const fallbackX = boxX + ((boxWidth - fallbackSize) \/ 2);\n      const fallbackY = boxY + ((boxHeight - fallbackSize) \/ 2);\n      doc.addImage(imageData, 'PNG', fallbackX, fallbackY, fallbackSize, fallbackSize, undefined, 'FAST');\n    }\n  }\n\n  function addPdfFooter(doc){\n    const pageCount = doc.internal.getNumberOfPages();\n    for(let i = 1; i <= pageCount; i++){\n      doc.setPage(i);\n      doc.setFont('helvetica','normal');\n      doc.setFontSize(8);\n      doc.setTextColor(100,116,139);\n      doc.setDrawColor(201,162,77);\n      doc.setLineWidth(0.5);\n      doc.line(14,264,202,264);\n      doc.text('Generado en conservisabogados.com', 14, 270);\n      doc.text('P\u00e1gina ' + i + ' de ' + pageCount, 178, 270);\n    }\n  }\n\n  async function generatePdf(data){\n    if(!window.jspdf || !window.jspdf.jsPDF){\n      alert('No se pudo cargar la librer\u00eda para generar el PDF. Verific\u00e1 la conexi\u00f3n o intent\u00e1 nuevamente.');\n      return;\n    }\n\n    const { jsPDF } = window.jspdf;\n    const doc = new jsPDF('p','mm','letter');\n    const pageWidth = doc.internal.pageSize.getWidth();\n\n    const conservisLogo = await loadImageDataUrl(CONSERVIS_LOGO_URL);\n\n    doc.setFillColor(6,26,58);\n    doc.roundedRect(10,10,pageWidth-20,48,4,4,'F');\n\n    if(conservisLogo){\n      doc.setFillColor(255,255,255);\n      doc.circle(28,29,12,'F');\n      addContainedImage(doc, conservisLogo, 16, 17, 24, 24, 3.2);\n    }\n\n    doc.setFont('helvetica','bold');\n    doc.setFontSize(18);\n    doc.setTextColor(255,255,255);\n    doc.text('Conservis Abogados', conservisLogo ? 46 : 16, 24);\n\n    doc.setFont('helvetica','normal');\n    doc.setFontSize(9);\n    doc.setTextColor(203,213,225);\n    doc.text('Herramienta laboral para Guatemala', conservisLogo ? 46 : 16, 31);\n    doc.text(CONSERVIS_SITE, conservisLogo ? 46 : 16, 37);\n\n    doc.setFont('helvetica','bold');\n    doc.setFontSize(15);\n    doc.setTextColor(240,213,146);\n    doc.text('Reporte de prestaciones laborales', conservisLogo ? 46 : 16, 49);\n\n    doc.setFillColor(201,162,77);\n    doc.roundedRect(12,65,pageWidth-24,28,5,5,'F');\n    doc.setTextColor(255,255,255);\n    doc.setFont('helvetica','normal');\n    doc.setFontSize(10);\n    doc.text('Total estimado de prestaciones laborales', 18, 76);\n    doc.setFont('helvetica','bold');\n    doc.setFontSize(22);\n    doc.text(data.totalFmt, 18, 88);\n\n    doc.setTextColor(6,26,58);\n    doc.setFont('helvetica','bold');\n    doc.setFontSize(14);\n    doc.text('Resumen del c\u00e1lculo', 14, 106);\n\n    doc.setFont('helvetica','normal');\n    doc.setFontSize(9);\n    doc.setTextColor(71,85,105);\n    let y = 114;\n    y = addWrappedText(doc, 'Tiempo laborado: ' + data.totalDays + ' d\u00edas aproximadamente (' + data.years + ' a\u00f1os y ' + data.remDays + ' d\u00edas).', 14, y, 180, 5);\n    y = addWrappedText(doc, 'Salario base usado: ' + data.salaryFmt + '.', 14, y, 180, 5);\n\n    y += 4;\n    doc.setFont('helvetica','bold');\n    doc.setFontSize(12);\n    doc.setTextColor(6,26,58);\n    doc.text('Desglose', 14, y);\n    y += 8;\n\n    const rows = [\n      ['Aguinaldo proporcional', data.aguinaldoFmt],\n      ['Bono 14 proporcional', data.bono14Fmt],\n      ['Vacaciones estimadas o pendientes', data.vacationFmt],\n      ['Salarios pendientes', data.pendingSalaryFmt],\n      ['Otros pagos', data.otherPaymentsFmt],\n      ['Ajustes ingresados', '-' + data.deductionsFmt]\n    ];\n\n    rows.forEach((row, index)=>{\n      if(y > 245){\n        doc.addPage();\n        y = 20;\n      }\n      doc.setFillColor(index % 2 === 0 ? 248 : 255, index % 2 === 0 ? 250 : 255, index % 2 === 0 ? 252 : 255);\n      doc.roundedRect(14,y-5,180,9,2,2,'F');\n      doc.setFont('helvetica','normal');\n      doc.setFontSize(9);\n      doc.setTextColor(51,65,85);\n      doc.text(row[0], 18, y+1);\n      doc.setFont('helvetica','bold');\n      doc.setTextColor(6,26,58);\n      doc.text(row[1], 160, y+1, {align:'right'});\n      y += 11;\n    });\n\n    y += 4;\n    if(y > 218){\n      doc.addPage();\n      y = 20;\n    }\n\n    doc.setFillColor(243,248,255);\n    doc.roundedRect(14,y,180,32,4,4,'F');\n    doc.setFont('helvetica','bold');\n    doc.setFontSize(10);\n    doc.setTextColor(6,26,58);\n    doc.text('Lectura del resultado', 18, y+8);\n    doc.setFont('helvetica','normal');\n    doc.setFontSize(8.5);\n    doc.setTextColor(71,85,105);\n    addWrappedText(doc, data.resultReason, 18, y+15, 168, 4.5);\n    y += 40;\n\n    if(y > 218){\n      doc.addPage();\n      y = 20;\n    }\n\n    doc.setFillColor(255,255,255);\n    doc.setDrawColor(201,162,77);\n    doc.setLineWidth(0.6);\n    doc.roundedRect(14,y,180,32,4,4,'S');\n    doc.setFont('helvetica','bold');\n    doc.setFontSize(10);\n    doc.setTextColor(6,26,58);\n    doc.text('Observaci\u00f3n sobre indemnizaci\u00f3n', 18, y+8);\n    doc.setFont('helvetica','normal');\n    doc.setFontSize(8.5);\n    doc.setTextColor(71,85,105);\n    addWrappedText(doc, 'Este reporte no calcula indemnizaci\u00f3n por despido. Para estimar indemnizaci\u00f3n laboral, us\u00e1 la calculadora espec\u00edfica:', 18, y+15, 168, 4.5);\n    doc.setFont('helvetica','bold');\n    doc.setTextColor(169,130,46);\n    doc.text(INDEMNIZACION_SITE, 18, y+28);\n    y += 44;\n\n    if(y > 220){\n      doc.addPage();\n      y = 20;\n    }\n\n    doc.setFillColor(255,255,255);\n    doc.setDrawColor(201,162,77);\n    doc.setLineWidth(0.6);\n    doc.roundedRect(14,y,180,42,5,5,'S');\n    if(conservisLogo){\n      doc.setFillColor(247,248,251);\n      doc.roundedRect(19,y+6,40,30,4,4,'F');\n      addContainedImage(doc, conservisLogo, 19, y+6, 40, 30, 4);\n    }else{\n      doc.setFont('helvetica','bold');\n      doc.setFontSize(13);\n      doc.setTextColor(6,26,58);\n      doc.text('Conservis', 22, y+19);\n      doc.text('Abogados', 22, y+26);\n    }\n\n    doc.setFont('helvetica','bold');\n    doc.setFontSize(12);\n    doc.setTextColor(6,26,58);\n    doc.text('Valid\u00e1 este c\u00e1lculo con Conservis Abogados', 66, y+12);\n\n    doc.setFont('helvetica','normal');\n    doc.setFontSize(8.5);\n    doc.setTextColor(71,85,105);\n    addWrappedText(doc, 'Conservis Abogados puede revisar documentos laborales, salario variable, pagos parciales, ajustes, vacaciones, prestaciones y riesgos antes de tomar una decisi\u00f3n.', 66, y+20, 120, 4.5);\n\n    doc.setTextColor(169,130,46);\n    doc.setFont('helvetica','bold');\n    doc.text(CONSERVIS_SITE, 66, y+36);\n\n    y += 54;\n\n    if(y > 235){\n      doc.addPage();\n      y = 20;\n    }\n\n    doc.setFont('helvetica','bold');\n    doc.setFontSize(12);\n    doc.setTextColor(6,26,58);\n    doc.text('Nota importante', 14, y);\n\n    doc.setFont('helvetica','normal');\n    doc.setFontSize(8.5);\n    doc.setTextColor(71,85,105);\n    y = addWrappedText(doc, 'Este reporte es orientativo y no sustituye una revisi\u00f3n legal. El resultado puede variar seg\u00fan documentos laborales, salario variable, pagos ya realizados, ajustes, vacaciones gozadas y condiciones espec\u00edficas de la relaci\u00f3n laboral.', 14, y+8, 180, 4.5);\n\n    y += 5;\n    doc.setFont('helvetica','bold');\n    doc.setTextColor(6,26,58);\n    doc.text('Base legal resumida', 14, y);\n    doc.setFont('helvetica','normal');\n    doc.setTextColor(71,85,105);\n    y += 8;\n    y = addWrappedText(doc, 'Vacaciones: art\u00edculos 130, 131 y 133 del C\u00f3digo de Trabajo. Bono 14: Decreto 42-92. Aguinaldo: Decreto 76-78. Salarios pendientes, otros pagos y ajustes deben revisarse seg\u00fan documentos laborales y condiciones espec\u00edficas.', 14, y, 180, 4.5);\n\n    addPdfFooter(doc);\n    doc.save('reporte-prestaciones-laborales-guatemala.pdf');\n  }\n\n  [startDateInput,endDateInput].forEach(input=>{\n    input.addEventListener('input',()=>autoSlashDate(input));\n  });\n\n  vacationMode.addEventListener('change',()=>{\n    const manual = vacationMode.value === 'manual';\n    vacManual.disabled = !manual;\n    if(!manual) vacManual.value = '';\n  });\n\n  function resetCalculator(event){\n    event.preventDefault();\n    form.querySelectorAll('input').forEach((input)=>{ input.value = ''; });\n    form.querySelectorAll('select').forEach((select)=>{ select.selectedIndex = 0; });\n    vacManual.disabled = true;\n    clearError();\n    resultPanel.innerHTML = initialResultHTML();\n  }\n\n  function calculate(e){\n    e.preventDefault();\n    clearError();\n\n    const startVal = $('startDate').value;\n    const endVal = $('endDate').value;\n    if(!startVal || !endVal){ showError('Complet\u00e1 fecha de inicio y fecha de terminaci\u00f3n o c\u00e1lculo.'); return; }\n\n    let start = parseManualDate(startVal);\n    let end = parseManualDate(endVal);\n    let today = todayLocal();\n\n    if(!start){ showError('Ingres\u00e1 una fecha de inicio v\u00e1lida en formato dd\/mm\/aaaa. Ejemplo: 15\/03\/2020.'); return; }\n    if(!end){ showError('Ingres\u00e1 una fecha de terminaci\u00f3n v\u00e1lida en formato dd\/mm\/aaaa. Ejemplo: 30\/06\/2026.'); return; }\n    if(start > today){ showError('La fecha de inicio de labores no puede ser futura. Ingres\u00e1 una fecha anterior o la fecha de hoy.'); return; }\n    if(end < start){ showError('La fecha de terminaci\u00f3n no puede ser anterior a la fecha de inicio.'); return; }\n\n    let salaryInput = n('salary');\n    if(salaryInput <= 0){ showError('Ingres\u00e1 un salario mensual ordinario mayor a cero.'); return; }\n    let salary = salaryInput;\n    if($('includesBonus').value === 'yes') salary = Math.max(0, salaryInput - 250);\n    if(salary <= 0){ showError('El salario base resultante no puede ser cero. Revis\u00e1 si incluiste bonificaci\u00f3n incentivo.'); return; }\n\n    const totalDays = daysInclusive(start,end);\n\n    const aguinaldoDays = daysBetweenPeriod(start,end,11,1);\n    const bono14Days = daysBetweenPeriod(start,end,6,1);\n    const aguinaldoGross = salary * (aguinaldoDays \/ 365);\n    const bono14Gross = salary * (bono14Days \/ 365);\n    const aguinaldo = Math.max(0, aguinaldoGross - n('aguinaldoPaid'));\n    const bono14 = Math.max(0, bono14Gross - n('bono14Paid'));\n\n    let vacationDays = vacationMode.value === 'manual' ? n('vacationDaysManual') : (totalDays * 15 \/ 365);\n    vacationDays = Math.max(0, vacationDays);\n    const vacationPay = (salary \/ 30) * vacationDays;\n\n    const pendingSalary = n('pendingSalary');\n    const otherPayments = n('otherPayments');\n    const deductions = n('deductions');\n    const total = Math.max(0, aguinaldo + bono14 + vacationPay + pendingSalary + otherPayments - deductions);\n\n    const years = Math.floor(totalDays \/ 365);\n    const remDays = totalDays % 365;\n    const prestacionesBase = aguinaldo + bono14 + vacationPay;\n    const chartPercent = Math.min(100, Math.max(0, (prestacionesBase \/ Math.max(total,1)) * 100));\n\n    const resultReason = 'El resultado muestra una estimaci\u00f3n de prestaciones laborales proporcionales tomando como base el salario ordinario, los per\u00edodos legales de aguinaldo y Bono 14, vacaciones estimadas o pendientes y los ajustes ingresados. La herramienta no determina si una deducci\u00f3n o ajuste es jur\u00eddicamente procedente.';\n\n    const legal = $('showLegal').value === 'yes' ? '<div class=\"jp-note\"><strong>Detalle legal resumido:<\/strong> El aguinaldo y Bono 14 se calculan proporcionalmente seg\u00fan el per\u00edodo aplicable. Las vacaciones se estiman a raz\u00f3n de 15 d\u00edas por a\u00f1o, salvo que hay\u00e1s ingresado d\u00edas manuales. Los salarios pendientes, otros pagos, anticipos y ajustes deben revisarse con documentos de soporte.<\/div>' : '';\n\n    const calcData = {\n      totalFmt: fmt(total),\n      totalDays: totalDays,\n      years: years,\n      remDays: remDays,\n      salaryFmt: fmt(salary),\n      aguinaldoFmt: fmt(aguinaldo),\n      bono14Fmt: fmt(bono14),\n      vacationFmt: fmt(vacationPay),\n      pendingSalaryFmt: fmt(pendingSalary),\n      otherPaymentsFmt: fmt(otherPayments),\n      deductionsFmt: fmt(deductions),\n      resultReason: resultReason\n    };\n\n    resultPanel.innerHTML = `\n      <div class=\"jp-summary\">\n        <div class=\"jp-total\"><span>Total estimado de prestaciones laborales<\/span><strong>${fmt(total)}<\/strong><\/div>\n        <h2>Desglose del c\u00e1lculo<\/h2>\n        <p class=\"jp-muted\">Tiempo laborado: <strong>${totalDays} d\u00edas<\/strong> aproximadamente (${years} a\u00f1os y ${remDays} d\u00edas). Salario base utilizado: <strong>${fmt(salary)}<\/strong>.<\/p>\n        <div class=\"jp-chart\"><span style=\"width:${chartPercent}%\"><\/span><\/div>\n        <p class=\"jp-muted\">La barra muestra qu\u00e9 proporci\u00f3n aproximada del total corresponde a aguinaldo, Bono 14 y vacaciones estimadas o pendientes.<\/p>\n        <div class=\"jp-breakdown\">\n          <div class=\"jp-row positive\"><span>Aguinaldo proporcional (${aguinaldoDays} d\u00edas)<\/span><strong>${fmt(aguinaldo)}<\/strong><\/div>\n          <div class=\"jp-row positive\"><span>Bono 14 proporcional (${bono14Days} d\u00edas)<\/span><strong>${fmt(bono14)}<\/strong><\/div>\n          <div class=\"jp-row positive\"><span>Vacaciones estimadas o pendientes (${vacationDays.toFixed(2)} d\u00edas)<\/span><strong>${fmt(vacationPay)}<\/strong><\/div>\n          <div class=\"jp-row\"><span>Salarios pendientes<\/span><strong>${fmt(pendingSalary)}<\/strong><\/div>\n          <div class=\"jp-row\"><span>Otros pagos<\/span><strong>${fmt(otherPayments)}<\/strong><\/div>\n          <div class=\"jp-row negative\"><span>Ajustes ingresados<\/span><strong>-${fmt(deductions)}<\/strong><\/div>\n        <\/div>\n        <div class=\"jp-note\"><strong>Lectura del resultado:<\/strong> ${resultReason}<\/div>\n        <div class=\"jp-note\"><strong>Observaci\u00f3n sobre indemnizaci\u00f3n:<\/strong> Esta herramienta no calcula indemnizaci\u00f3n por despido. Si quer\u00e9s estimarla, us\u00e1 la <a href=\"${INDEMNIZACION_SITE}\">calculadora de indemnizaci\u00f3n laboral<\/a>.<\/div>\n        ${legal}\n        <section class=\"jp-company-card jp-conservis-card\">\n          <div class=\"jp-company-logo\">\n            <img decoding=\"async\" src=\"${CONSERVIS_LOGO_URL}\" alt=\"Conservis Abogados\" onerror=\"this.remove(); this.parentElement.classList.add('jp-logo-fallback');\">\n          <\/div>\n          <div class=\"jp-company-content\">\n            <span class=\"jp-company-label\">Servicio legal recomendado<\/span>\n            <h2>Valid\u00e1 este c\u00e1lculo con Conservis Abogados<\/h2>\n            <p>La calculadora da una estimaci\u00f3n general. Conservis Abogados puede revisar documentos laborales, salario variable, pagos parciales, ajustes, vacaciones, prestaciones y riesgos antes de tomar una decisi\u00f3n.<\/p>\n            <div class=\"jp-company-tags\">\n              <span>Derecho laboral<\/span>\n              <span>Prestaciones<\/span>\n              <span>Aguinaldo<\/span>\n              <span>Bono 14<\/span>\n            <\/div>\n            <div class=\"jp-actions\">\n              <a class=\"jp-btn jp-primary\" href=\"${CONSERVIS_CONTACT}\">Solicitar revisi\u00f3n laboral<\/a>\n            <\/div>\n          <\/div>\n        <\/section>\n        <div class=\"jp-actions\">\n          <button type=\"button\" class=\"jp-btn jp-pdf-btn\" id=\"downloadPdf\">Descargar reporte PDF<\/button>\n        <\/div>\n      <\/div>\n    `;\n\n    $('downloadPdf').addEventListener('click',(event)=>{\n      event.preventDefault();\n      generatePdf(calcData);\n    });\n  }\n\n  calculateBtn._conservisPrestacionesAction = calculate;\n  resetBtn._conservisPrestacionesAction = resetCalculator;\n  }\n\n  document.addEventListener('click',function(event){\n    const target = event.target instanceof Element ? event.target.closest('.jp-labor-app [data-jp-action]') : null;\n    if(!target) return;\n    const currentApp = target.closest('.jp-labor-app');\n    if(!currentApp) return;\n    event.preventDefault();\n    event.stopImmediatePropagation();\n    initPrestacionesCalculator(currentApp);\n    if(typeof target._conservisPrestacionesAction === 'function'){\n      target._conservisPrestacionesAction(event);\n    }\n  },true);\n\n  if(document.readyState === 'loading'){\n    document.addEventListener('DOMContentLoaded',function(){ initPrestacionesCalculator(); },{once:true});\n  }else{\n    initPrestacionesCalculator();\n  }\n})();\n<\/script>\n\n\n\n<div data-block=\"hook:19058\" class=\"alignfull\"><article id=\"post-19058\" class=\"post-19058\"><div class=\"entry-content is-layout-constrained\">\n<!doctype html>\n<html lang=\"es-GT\">\n<head>\n  <meta charset=\"utf-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n  <title>Previsualizaci\u00f3n | Carrusel de calculadoras laborales<\/title>\n  <style>\n    body { margin: 0; padding: 42px 0 70px; background: #eef2f6; }\n    .preview-note { max-width: 1132px; margin: 0 auto 18px; padding: 0 24px; color: #667085; font: 14px\/1.5 Inter, system-ui, sans-serif; }\n  <\/style>\n  <script>window.CONSERVIS_CAROUSEL_PREVIEW_PATH = \"\/calculadora-de-indemnizacion-en-guatemala\/\";<\/script>\n<\/head>\n<body>\n  <p class=\"preview-note\">Previsualizaci\u00f3n como si el bloque estuviera en la calculadora de indemnizaci\u00f3n: esa tarjeta se excluye autom\u00e1ticamente.<\/p>\n\n<!-- Carrusel reutilizable de calculadoras laborales | Conservis Abogados -->\n<style>\n  .cvc-calculator-carousel {\n    --cvc-navy: #061a3a;\n    --cvc-navy-2: #0b2d57;\n    --cvc-gold: #c9a24d;\n    --cvc-gold-dark: #9b7627;\n    --cvc-paper: #ffffff;\n    --cvc-surface: #f4f6f8;\n    --cvc-text: #263238;\n    --cvc-muted: #667085;\n    --cvc-line: #dce2e8;\n    width: 100%;\n    max-width: 1180px;\n    margin: 64px auto 0;\n    padding: 0 24px;\n    color: var(--cvc-text);\n    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Arial, sans-serif;\n    line-height: 1.5;\n  }\n\n  .cvc-calculator-carousel,\n  .cvc-calculator-carousel * { box-sizing: border-box; }\n\n  .cvc-calculator-carousel .cvc-shell {\n    position: relative;\n    overflow: hidden;\n    padding: 34px;\n    border: 1px solid var(--cvc-line);\n    border-radius: 26px;\n    background:\n      radial-gradient(circle at 100% 0, rgba(201, 162, 77, .12), transparent 30%),\n      linear-gradient(145deg, #fff, #f8fafc);\n    box-shadow: 0 18px 45px rgba(6, 26, 58, .08);\n  }\n\n  .cvc-calculator-carousel .cvc-header {\n    display: flex;\n    align-items: end;\n    justify-content: space-between;\n    gap: 24px;\n    margin-bottom: 24px;\n  }\n\n  .cvc-calculator-carousel .cvc-kicker {\n    margin: 0 0 7px;\n    color: var(--cvc-gold-dark);\n    font-size: 12px;\n    font-weight: 850;\n    letter-spacing: .11em;\n    text-transform: uppercase;\n  }\n\n  .cvc-calculator-carousel .cvc-title {\n    margin: 0;\n    color: var(--cvc-navy);\n    font-family: inherit;\n    font-size: clamp(25px, 3vw, 36px);\n    font-weight: 850;\n    line-height: 1.12;\n    letter-spacing: -.035em;\n  }\n\n  .cvc-calculator-carousel .cvc-all-link {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    flex: 0 0 auto;\n    color: var(--cvc-navy);\n    font-size: 14px;\n    font-weight: 800;\n    text-decoration: none;\n  }\n\n  .cvc-calculator-carousel .cvc-all-link:hover,\n  .cvc-calculator-carousel .cvc-all-link:focus-visible { color: var(--cvc-gold-dark); }\n\n  .cvc-calculator-carousel .cvc-viewport {\n    overflow-x: auto;\n    overflow-y: hidden;\n    scroll-behavior: smooth;\n    scroll-snap-type: x mandatory;\n    scrollbar-width: none;\n    overscroll-behavior-x: contain;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .cvc-calculator-carousel .cvc-viewport::-webkit-scrollbar { display: none; }\n\n  .cvc-calculator-carousel .cvc-track {\n    display: flex;\n    gap: 18px;\n    margin: 0;\n    padding: 0;\n    list-style: none;\n  }\n\n  .cvc-calculator-carousel .cvc-item {\n    flex: 0 0 calc((100% - 36px) \/ 3);\n    min-width: 0;\n    scroll-snap-align: start;\n  }\n\n  .cvc-calculator-carousel .cvc-card {\n    display: flex;\n    flex-direction: column;\n    height: 100%;\n    min-height: 238px;\n    padding: 24px;\n    border: 1px solid var(--cvc-line);\n    border-radius: 19px;\n    background: var(--cvc-paper);\n    color: var(--cvc-text);\n    text-decoration: none;\n    box-shadow: 0 8px 22px rgba(6, 26, 58, .05);\n    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;\n  }\n\n  .cvc-calculator-carousel .cvc-card:hover,\n  .cvc-calculator-carousel .cvc-card:focus-visible {\n    border-color: rgba(201, 162, 77, .72);\n    color: var(--cvc-text);\n    transform: translateY(-3px);\n    box-shadow: 0 15px 30px rgba(6, 26, 58, .1);\n    outline: none;\n  }\n\n  .cvc-calculator-carousel .cvc-icon {\n    display: grid;\n    place-items: center;\n    width: 46px;\n    height: 46px;\n    margin-bottom: 20px;\n    border-radius: 14px;\n    background: linear-gradient(135deg, var(--cvc-navy), var(--cvc-navy-2));\n    color: #e6ca80;\n  }\n\n  .cvc-calculator-carousel .cvc-icon svg {\n    width: 23px;\n    height: 23px;\n  }\n\n  .cvc-calculator-carousel .cvc-card-title {\n    margin: 0 0 9px;\n    color: var(--cvc-navy);\n    font-family: inherit;\n    font-size: 19px;\n    font-weight: 820;\n    line-height: 1.2;\n    letter-spacing: -.018em;\n  }\n\n  .cvc-calculator-carousel .cvc-description {\n    margin: 0 0 18px;\n    color: var(--cvc-muted);\n    font-size: 14px;\n    line-height: 1.55;\n  }\n\n  .cvc-calculator-carousel .cvc-open {\n    display: inline-flex;\n    align-items: center;\n    gap: 7px;\n    margin-top: auto;\n    color: var(--cvc-navy);\n    font-size: 13px;\n    font-weight: 850;\n  }\n\n  .cvc-calculator-carousel .cvc-card:hover .cvc-open { color: var(--cvc-gold-dark); }\n\n  .cvc-calculator-carousel .cvc-controls {\n    display: flex;\n    justify-content: flex-end;\n    gap: 10px;\n    margin-top: 20px;\n  }\n\n  .cvc-calculator-carousel .cvc-arrow {\n    display: grid;\n    place-items: center;\n    width: 44px;\n    height: 44px;\n    padding: 0;\n    border: 1px solid var(--cvc-line);\n    border-radius: 50%;\n    background: var(--cvc-paper);\n    color: var(--cvc-navy);\n    cursor: pointer;\n    transition: background-color .18s ease, border-color .18s ease, color .18s ease;\n  }\n\n  .cvc-calculator-carousel .cvc-arrow:hover:not(:disabled),\n  .cvc-calculator-carousel .cvc-arrow:focus-visible:not(:disabled) {\n    border-color: var(--cvc-gold);\n    background: var(--cvc-navy);\n    color: var(--cvc-paper);\n    outline: none;\n  }\n\n  .cvc-calculator-carousel .cvc-arrow:disabled {\n    opacity: .38;\n    cursor: default;\n  }\n\n  @media (max-width: 880px) {\n    .cvc-calculator-carousel .cvc-item { flex-basis: calc((100% - 18px) \/ 2); }\n  }\n\n  @media (max-width: 620px) {\n    .cvc-calculator-carousel { margin-top: 48px; padding: 0 14px; }\n    .cvc-calculator-carousel .cvc-shell { padding: 26px 20px 22px; border-radius: 22px; }\n    .cvc-calculator-carousel .cvc-header { align-items: flex-start; flex-direction: column; gap: 12px; }\n    .cvc-calculator-carousel .cvc-item { flex-basis: 88%; }\n    .cvc-calculator-carousel .cvc-card { min-height: 225px; }\n    .cvc-calculator-carousel .cvc-controls { justify-content: space-between; }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    .cvc-calculator-carousel .cvc-viewport { scroll-behavior: auto; }\n    .cvc-calculator-carousel .cvc-card,\n    .cvc-calculator-carousel .cvc-arrow { transition: none; }\n  }\n<\/style>\n\n<section class=\"cvc-calculator-carousel\" aria-labelledby=\"cvc-carousel-title\">\n  <div class=\"cvc-shell\">\n    <header class=\"cvc-header\">\n      <div>\n        <p class=\"cvc-kicker\">Herramientas relacionadas<\/p>\n        <h2 class=\"cvc-title\" id=\"cvc-carousel-title\">Otras calculadoras laborales<\/h2>\n      <\/div>\n      <a class=\"cvc-all-link\" href=\"https:\/\/www.conservisabogados.com\/calculadoras-laborales\/\">\n        Ver todas <span aria-hidden=\"true\">\u2192<\/span>\n      <\/a>\n    <\/header>\n\n    <div class=\"cvc-viewport\" tabindex=\"0\" aria-label=\"Otras calculadoras laborales\">\n      <ul class=\"cvc-track\"><\/ul>\n    <\/div>\n\n    <div class=\"cvc-controls\" aria-label=\"Controles del carrusel\">\n      <button class=\"cvc-arrow cvc-prev\" type=\"button\" aria-label=\"Ver calculadoras anteriores\">\n        <svg width=\"19\" height=\"19\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"m15 18-6-6 6-6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n      <\/button>\n      <button class=\"cvc-arrow cvc-next\" type=\"button\" aria-label=\"Ver calculadoras siguientes\">\n        <svg width=\"19\" height=\"19\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"m9 18 6-6-6-6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n      <\/button>\n    <\/div>\n  <\/div>\n<\/section>\n\n<script>\n(function () {\n  \"use strict\";\n\n  var calculators = [\n    {\n      slug: \"calculadora-de-indemnizacion-en-guatemala\",\n      title: \"Calculadora de indemnizaci\u00f3n\",\n      description: \"Estim\u00e1 la indemnizaci\u00f3n seg\u00fan el salario y el tiempo de servicio.\",\n      url: \"https:\/\/www.conservisabogados.com\/calculadora-de-indemnizacion-en-guatemala\/\",\n      icon: '<path d=\"M12 3v18M5 6h14M7 6l-4 7h8L7 6Zm10 0-4 7h8l-4-7ZM8 21h8\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>'\n    },\n    {\n      slug: \"calculadora-de-prestaciones-laborales-en-guatemala\",\n      title: \"Calculadora de prestaciones laborales\",\n      description: \"Estim\u00e1 Bono 14, aguinaldo y vacaciones pendientes o proporcionales.\",\n      url: \"https:\/\/www.conservisabogados.com\/calculadora-de-prestaciones-laborales-en-guatemala\/\",\n      icon: '<path d=\"M7 3h10v4H7V3Zm-2 2H4v16h16V5h-1M8 12h8M8 16h5\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>'\n    },\n    {\n      slug: \"calculadora-de-bono-14-en-guatemala\",\n      title: \"Calculadora de Bono 14\",\n      description: \"Calcul\u00e1 el Bono 14 completo o proporcional seg\u00fan el per\u00edodo laborado.\",\n      url: \"https:\/\/www.conservisabogados.com\/calculadora-de-bono-14-en-guatemala\/\",\n      icon: '<path d=\"M4 7h16v12H4V7Zm3-3h10v3H7V4Zm1 9h8M8 16h5\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>'\n    },\n    {\n      slug: \"calculadora-de-aguinaldo-en-guatemala\",\n      title: \"Calculadora de aguinaldo\",\n      description: \"Obten\u00e9 una estimaci\u00f3n del aguinaldo completo o proporcional.\",\n      url: \"https:\/\/www.conservisabogados.com\/calculadora-de-aguinaldo-en-guatemala\/\",\n      icon: '<path d=\"M12 21V9m0 0c-2.8 0-5-1.8-5-4 2.8 0 5 1.8 5 4Zm0 0c2.8 0 5-1.8 5-4-2.8 0-5 1.8-5 4ZM5 12h14v9H5v-9Z\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>'\n    },\n    {\n      slug: \"calculadora-de-salario-neto-en-guatemala\",\n      title: \"Calculadora de salario neto\",\n      description: \"Estim\u00e1 el salario l\u00edquido despu\u00e9s de las deducciones ingresadas.\",\n      url: \"https:\/\/www.conservisabogados.com\/calculadora-de-salario-neto-en-guatemala\/\",\n      icon: '<path d=\"M4 6h16v12H4V6Zm0 4h16M8 15h4\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>'\n    },\n    {\n      slug: \"calculadora-de-vacaciones-en-guatemala\",\n      title: \"Calculadora de vacaciones\",\n      description: \"Revis\u00e1 d\u00edas generados, gozados y pendientes por per\u00edodo.\",\n      url: \"https:\/\/www.conservisabogados.com\/calculadora-de-vacaciones-en-guatemala\/\",\n      icon: '<path d=\"M5 4v3m14-3v3M4 9h16M5 6h14a1 1 0 0 1 1 1v13H4V7a1 1 0 0 1 1-1Zm3 7h3m2 0h3m-8 3h3\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>'\n    },\n    {\n      slug: \"calculadora-de-horas-extra-en-guatemala\",\n      title: \"Calculadora de horas extra\",\n      description: \"Estim\u00e1 el valor del tiempo extraordinario seg\u00fan salario y jornada.\",\n      url: \"https:\/\/www.conservisabogados.com\/calculadora-de-horas-extra-en-guatemala\/\",\n      icon: '<circle cx=\"12\" cy=\"12\" r=\"8\" stroke=\"currentColor\" stroke-width=\"1.8\"\/><path d=\"M12 8v5l3 2M9 3h6\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>'\n    },\n    {\n      slug: \"salario-minimo-en-guatemala\",\n      title: \"Salario m\u00ednimo en Guatemala\",\n      description: \"Consult\u00e1 los montos vigentes por actividad y circunscripci\u00f3n.\",\n      url: \"https:\/\/www.conservisabogados.com\/salario-minimo-en-guatemala\/\",\n      icon: '<path d=\"M4 19h16M6 16V9m4 7V5m4 11v-4m4 4V7\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>'\n    }\n  ];\n\n  function normalizedSlug(pathname) {\n    return String(pathname || \"\")\n      .split(\"?\")[0]\n      .split(\"#\")[0]\n      .replace(\/^\\\/+|\\\/+$\/g, \"\")\n      .split(\"\/\")\n      .pop()\n      .toLowerCase();\n  }\n\n  function currentSlug() {\n    var slug = normalizedSlug(window.location.pathname);\n    var isKnown = calculators.some(function (calculator) { return calculator.slug === slug; });\n    if (!isKnown && window.CONSERVIS_CAROUSEL_PREVIEW_PATH &&\n        (window.location.protocol === \"file:\" || window.location.hostname === \"localhost\")) {\n      slug = normalizedSlug(window.CONSERVIS_CAROUSEL_PREVIEW_PATH);\n    }\n    return slug;\n  }\n\n  function cardMarkup(calculator) {\n    return '<li class=\"cvc-item\" data-calculator-slug=\"' + calculator.slug + '\">' +\n      '<a class=\"cvc-card\" href=\"' + calculator.url + '\">' +\n        '<span class=\"cvc-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\">' + calculator.icon + '<\/svg><\/span>' +\n        '<h3 class=\"cvc-card-title\">' + calculator.title + '<\/h3>' +\n        '<p class=\"cvc-description\">' + calculator.description + '<\/p>' +\n        '<span class=\"cvc-open\">Abrir herramienta <span aria-hidden=\"true\">\u2192<\/span><\/span>' +\n      '<\/a>' +\n    '<\/li>';\n  }\n\n  function initialize(carousel, index) {\n    if (carousel.getAttribute(\"data-cvc-ready\") === \"true\") return;\n    carousel.setAttribute(\"data-cvc-ready\", \"true\");\n\n    var title = carousel.querySelector(\".cvc-title\");\n    var viewport = carousel.querySelector(\".cvc-viewport\");\n    var track = carousel.querySelector(\".cvc-track\");\n    var previous = carousel.querySelector(\".cvc-prev\");\n    var next = carousel.querySelector(\".cvc-next\");\n    var slug = currentSlug();\n    var visibleCalculators = calculators.filter(function (calculator) {\n      return calculator.slug !== slug;\n    });\n\n    if (title) {\n      title.id = \"cvc-carousel-title-\" + index;\n      carousel.setAttribute(\"aria-labelledby\", title.id);\n    }\n\n    track.innerHTML = visibleCalculators.map(cardMarkup).join(\"\");\n\n    function stepSize() {\n      var item = track.querySelector(\".cvc-item\");\n      if (!item) return viewport.clientWidth;\n      var styles = window.getComputedStyle(track);\n      var gap = parseFloat(styles.columnGap || styles.gap) || 0;\n      return item.getBoundingClientRect().width + gap;\n    }\n\n    function updateControls() {\n      var maxScroll = Math.max(0, viewport.scrollWidth - viewport.clientWidth);\n      previous.disabled = viewport.scrollLeft <= 2;\n      next.disabled = viewport.scrollLeft >= maxScroll - 2;\n    }\n\n    previous.addEventListener(\"click\", function () {\n      viewport.scrollBy({ left: -stepSize(), behavior: \"smooth\" });\n    });\n\n    next.addEventListener(\"click\", function () {\n      viewport.scrollBy({ left: stepSize(), behavior: \"smooth\" });\n    });\n\n    viewport.addEventListener(\"scroll\", updateControls, { passive: true });\n    window.addEventListener(\"resize\", updateControls, { passive: true });\n    requestAnimationFrame(updateControls);\n  }\n\n  function initializeAll() {\n    document.querySelectorAll(\".cvc-calculator-carousel\").forEach(initialize);\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", initializeAll, { once: true });\n  } else {\n    initializeAll();\n  }\n})();\n<\/script>\n<\/body>\n<\/html>\n<\/div><\/article><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Calculadora de prestaciones laborales en Guatemala Conservis Abogados Herramienta de derecho laboral Calculadora de prestaciones laborales en Guatemala Esta calculadora te ayuda a estimar prestaciones laborales proporcionales en Guatemala, incluyendo aguinaldo, Bono 14, vacaciones estimadas o pendientes, salarios pendientes, otros pagos y ajustes ingresados. AguinaldoBono 14VacacionesSalarios pendientesPrestaciones Importante El resultado es orientativo y no sustituye [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-19082","page","type-page","status-publish","hentry"],"blocksy_meta":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Calculadora de prestaciones laborales en Guatemala - CONSERVIS ABOGADOS<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.conservisabogados.com\/en\/calculadora-de-prestaciones-laborales-en-guatemala\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Calculadora de prestaciones laborales en Guatemala - CONSERVIS ABOGADOS\" \/>\n<meta property=\"og:description\" content=\"Calculadora de prestaciones laborales en Guatemala Conservis Abogados Herramienta de derecho laboral Calculadora de prestaciones laborales en Guatemala Esta calculadora te ayuda a estimar prestaciones laborales proporcionales en Guatemala, incluyendo aguinaldo, Bono 14, vacaciones estimadas o pendientes, salarios pendientes, otros pagos y ajustes ingresados. AguinaldoBono 14VacacionesSalarios pendientesPrestaciones Importante El resultado es orientativo y no sustituye [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.conservisabogados.com\/en\/calculadora-de-prestaciones-laborales-en-guatemala\/\" \/>\n<meta property=\"og:site_name\" content=\"CONSERVIS ABOGADOS\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-04T16:32:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.conservisabogados.com\/wp-content\/uploads\/2022\/04\/cropped-cropped-Conservis-Abogados-Bufete-de-Abogados-en-Guatemala-1.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.conservisabogados.com\\\/calculadora-de-prestaciones-laborales-en-guatemala\\\/\",\"url\":\"https:\\\/\\\/www.conservisabogados.com\\\/calculadora-de-prestaciones-laborales-en-guatemala\\\/\",\"name\":\"Calculadora de prestaciones laborales en Guatemala - CONSERVIS ABOGADOS\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.conservisabogados.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.conservisabogados.com\\\/calculadora-de-prestaciones-laborales-en-guatemala\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.conservisabogados.com\\\/calculadora-de-prestaciones-laborales-en-guatemala\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.conservisabogados.com\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/cropped-cropped-Conservis-Abogados-Bufete-de-Abogados-en-Guatemala-1.png\",\"datePublished\":\"2026-08-04T15:06:34+00:00\",\"dateModified\":\"2026-08-04T16:32:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.conservisabogados.com\\\/calculadora-de-prestaciones-laborales-en-guatemala\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.conservisabogados.com\\\/calculadora-de-prestaciones-laborales-en-guatemala\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.conservisabogados.com\\\/calculadora-de-prestaciones-laborales-en-guatemala\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.conservisabogados.com\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/cropped-cropped-Conservis-Abogados-Bufete-de-Abogados-en-Guatemala-1.png\",\"contentUrl\":\"https:\\\/\\\/www.conservisabogados.com\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/cropped-cropped-Conservis-Abogados-Bufete-de-Abogados-en-Guatemala-1.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.conservisabogados.com\\\/calculadora-de-prestaciones-laborales-en-guatemala\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/www.conservisabogados.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculadora de prestaciones laborales en Guatemala\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.conservisabogados.com\\\/#website\",\"url\":\"https:\\\/\\\/www.conservisabogados.com\\\/\",\"name\":\"CONSERVIS ABOGADOS\",\"description\":\"Bufete de Abogados en Guatemala\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.conservisabogados.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.conservisabogados.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.conservisabogados.com\\\/#organization\",\"name\":\"CONSERVIS ABOGADOS\",\"url\":\"https:\\\/\\\/www.conservisabogados.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.conservisabogados.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.conservisabogados.com\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/cropped-cropped-Conservis-Abogados-Bufete-de-Abogados-en-Guatemala-1.png\",\"contentUrl\":\"https:\\\/\\\/www.conservisabogados.com\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/cropped-cropped-Conservis-Abogados-Bufete-de-Abogados-en-Guatemala-1.png\",\"width\":498,\"height\":500,\"caption\":\"CONSERVIS ABOGADOS\"},\"image\":{\"@id\":\"https:\\\/\\\/www.conservisabogados.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Calculadora de prestaciones laborales en Guatemala - CONSERVIS ABOGADOS","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.conservisabogados.com\/en\/calculadora-de-prestaciones-laborales-en-guatemala\/","og_locale":"en_US","og_type":"article","og_title":"Calculadora de prestaciones laborales en Guatemala - CONSERVIS ABOGADOS","og_description":"Calculadora de prestaciones laborales en Guatemala Conservis Abogados Herramienta de derecho laboral Calculadora de prestaciones laborales en Guatemala Esta calculadora te ayuda a estimar prestaciones laborales proporcionales en Guatemala, incluyendo aguinaldo, Bono 14, vacaciones estimadas o pendientes, salarios pendientes, otros pagos y ajustes ingresados. AguinaldoBono 14VacacionesSalarios pendientesPrestaciones Importante El resultado es orientativo y no sustituye [&hellip;]","og_url":"https:\/\/www.conservisabogados.com\/en\/calculadora-de-prestaciones-laborales-en-guatemala\/","og_site_name":"CONSERVIS ABOGADOS","article_modified_time":"2026-08-04T16:32:24+00:00","og_image":[{"url":"https:\/\/www.conservisabogados.com\/wp-content\/uploads\/2022\/04\/cropped-cropped-Conservis-Abogados-Bufete-de-Abogados-en-Guatemala-1.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.conservisabogados.com\/calculadora-de-prestaciones-laborales-en-guatemala\/","url":"https:\/\/www.conservisabogados.com\/calculadora-de-prestaciones-laborales-en-guatemala\/","name":"Calculadora de prestaciones laborales en Guatemala - CONSERVIS ABOGADOS","isPartOf":{"@id":"https:\/\/www.conservisabogados.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.conservisabogados.com\/calculadora-de-prestaciones-laborales-en-guatemala\/#primaryimage"},"image":{"@id":"https:\/\/www.conservisabogados.com\/calculadora-de-prestaciones-laborales-en-guatemala\/#primaryimage"},"thumbnailUrl":"https:\/\/www.conservisabogados.com\/wp-content\/uploads\/2022\/04\/cropped-cropped-Conservis-Abogados-Bufete-de-Abogados-en-Guatemala-1.png","datePublished":"2026-08-04T15:06:34+00:00","dateModified":"2026-08-04T16:32:24+00:00","breadcrumb":{"@id":"https:\/\/www.conservisabogados.com\/calculadora-de-prestaciones-laborales-en-guatemala\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.conservisabogados.com\/calculadora-de-prestaciones-laborales-en-guatemala\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.conservisabogados.com\/calculadora-de-prestaciones-laborales-en-guatemala\/#primaryimage","url":"https:\/\/www.conservisabogados.com\/wp-content\/uploads\/2022\/04\/cropped-cropped-Conservis-Abogados-Bufete-de-Abogados-en-Guatemala-1.png","contentUrl":"https:\/\/www.conservisabogados.com\/wp-content\/uploads\/2022\/04\/cropped-cropped-Conservis-Abogados-Bufete-de-Abogados-en-Guatemala-1.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.conservisabogados.com\/calculadora-de-prestaciones-laborales-en-guatemala\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.conservisabogados.com\/"},{"@type":"ListItem","position":2,"name":"Calculadora de prestaciones laborales en Guatemala"}]},{"@type":"WebSite","@id":"https:\/\/www.conservisabogados.com\/#website","url":"https:\/\/www.conservisabogados.com\/","name":"CONSERVIS ABOGADOS","description":"Law Firm in Guatemala","publisher":{"@id":"https:\/\/www.conservisabogados.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.conservisabogados.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.conservisabogados.com\/#organization","name":"CONSERVIS ABOGADOS","url":"https:\/\/www.conservisabogados.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.conservisabogados.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.conservisabogados.com\/wp-content\/uploads\/2022\/04\/cropped-cropped-Conservis-Abogados-Bufete-de-Abogados-en-Guatemala-1.png","contentUrl":"https:\/\/www.conservisabogados.com\/wp-content\/uploads\/2022\/04\/cropped-cropped-Conservis-Abogados-Bufete-de-Abogados-en-Guatemala-1.png","width":498,"height":500,"caption":"CONSERVIS ABOGADOS"},"image":{"@id":"https:\/\/www.conservisabogados.com\/#\/schema\/logo\/image\/"}}]}},"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/www.conservisabogados.com\/en\/wp-json\/wp\/v2\/pages\/19082","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.conservisabogados.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.conservisabogados.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.conservisabogados.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.conservisabogados.com\/en\/wp-json\/wp\/v2\/comments?post=19082"}],"version-history":[{"count":3,"href":"https:\/\/www.conservisabogados.com\/en\/wp-json\/wp\/v2\/pages\/19082\/revisions"}],"predecessor-version":[{"id":19106,"href":"https:\/\/www.conservisabogados.com\/en\/wp-json\/wp\/v2\/pages\/19082\/revisions\/19106"}],"wp:attachment":[{"href":"https:\/\/www.conservisabogados.com\/en\/wp-json\/wp\/v2\/media?parent=19082"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}