{"id":988731,"date":"2026-05-13T23:26:10","date_gmt":"2026-05-14T04:26:10","guid":{"rendered":"https:\/\/cgestiona.com\/?page_id=988731"},"modified":"2026-05-13T23:28:00","modified_gmt":"2026-05-14T04:28:00","slug":"calculadora-gratificacion-periodo","status":"publish","type":"page","link":"https:\/\/cgestiona.com\/en\/calculadora-gratificacion-periodo\/","title":{"rendered":"Bonus Calculator per Period"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"988731\" class=\"elementor elementor-988731\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4c560c5f e-con-full e-flex e-con e-parent\" data-id=\"4c560c5f\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-29a0c232 e-con-full e-flex e-con e-child\" data-id=\"29a0c232\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-119485af e-con-full e-flex e-con e-child\" data-id=\"119485af\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1d7851f1 elementor-widget elementor-widget-heading\" data-id=\"1d7851f1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Calculadora Gratificaci\u00f3n por periodo<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"vamtam-has-theme-widget-styles elementor-element elementor-element-3ab13ab7 elementor-widget elementor-widget-text-editor\" data-id=\"3ab13ab7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Calcula la gratificaci\u00f3n por periodo de cada trabajador seg\u00fan su sueldo, tiempo laborado, r\u00e9gimen laboral y beneficios aplicables en planilla.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-45f4598a e-flex e-con-boxed e-con e-parent\" data-id=\"45f4598a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-71c28e37 elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"71c28e37\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\" style=\"--divider-pattern-url: url(&quot;data:image\/svg+xml,%3Csvg xmlns=&#039;http:\/\/www.w3.org\/2000\/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 20 16&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;1&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cg transform=&#039;translate(-12.000000, 0)&#039;%3E%3Cpath d=&#039;M28,0L10,18&#039;\/%3E%3Cpath d=&#039;M18,0L0,18&#039;\/%3E%3Cpath d=&#039;M48,0L30,18&#039;\/%3E%3Cpath d=&#039;M38,0L20,18&#039;\/%3E%3C\/g%3E%3C\/svg%3E&quot;);\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-571a869a e-flex e-con-boxed e-con e-parent\" data-id=\"571a869a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-602ea51d elementor-widget elementor-widget-html\" data-id=\"602ea51d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!--\r\n================================================================\r\n  CALCULADORA GRATIFICACI\u00d3N POR PERIODO \u2014 C GESTIONA\r\n  Versi\u00f3n: 1.0 | Base legal: Ley 27735 \/ D.S. 005-2002-TR \/ Ley 29351\r\n  Per\u00edodos: Julio (Ene-Jun) | Diciembre (Jul-Dic) | Trunca personalizada\r\n  R\u00e9gimen General (100%) | Peque\u00f1a Empresa (50%) | Microempresa (sin gratif)\r\n  Bonificaci\u00f3n: 9% EsSalud o 6.75% EPS\r\n  Compatible con: Elementor (widget HTML)\r\n================================================================\r\n-->\r\n\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/@tabler\/icons-webfont@2.47.0\/tabler-icons.min.css\">\r\n\r\n<div class=\"cgc-wrapper cgc-gr\">\r\n\r\n<style>\r\n.cgc-wrapper, .cgc-wrapper * { box-sizing: border-box; }\r\n.cgc-wrapper {\r\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\r\n  font-size: 14px; line-height: 1.5; color: #111827;\r\n  max-width: 720px; margin: 24px auto;\r\n}\r\n.cgc-wrapper h1, .cgc-wrapper h2, .cgc-wrapper h3, .cgc-wrapper h4 {\r\n  margin: 0; padding: 0; font-family: inherit; font-weight: 500;\r\n  line-height: 1.3; color: inherit; letter-spacing: normal; text-transform: none;\r\n}\r\n.cgc-wrapper p { margin: 0; padding: 0; }\r\n.cgc-wrapper input, .cgc-wrapper select, .cgc-wrapper button {\r\n  font-family: inherit; font-size: inherit; line-height: inherit;\r\n}\r\n\r\n\/* Header *\/\r\n.cgc-gr .cgc-header {\r\n  background: #0F3D3A; border-radius: 12px 12px 0 0;\r\n  padding: 18px 22px; display: flex; align-items: center;\r\n  justify-content: space-between; flex-wrap: wrap; gap: 12px;\r\n}\r\n.cgc-gr .cgc-header-left { display: flex; align-items: center; gap: 16px; }\r\n.cgc-gr .cgc-logo { height: 48px; width: auto; flex-shrink: 0; display: block; }\r\n.cgc-gr .cgc-header-title-block {\r\n  border-left: 1px solid rgba(255,255,255,0.25); padding-left: 16px;\r\n}\r\n.cgc-gr .cgc-header-eyebrow {\r\n  font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase;\r\n  color: rgba(255,255,255,0.6); font-weight: 500; margin-bottom: 2px;\r\n}\r\n.cgc-gr .cgc-header-title {\r\n  color: #ffffff !important; font-size: 18px !important;\r\n  font-weight: 500 !important; margin: 0 !important;\r\n}\r\n.cgc-gr .cgc-pill {\r\n  display: inline-flex; align-items: center; gap: 8px;\r\n  background: rgba(255,255,255,0.08); padding: 6px 12px;\r\n  border-radius: 999px; color: rgba(255,255,255,0.9); font-size: 12px;\r\n}\r\n.cgc-gr .cgc-pill .ti { font-size: 14px; color: #22A559; }\r\n\r\n.cgc-gr .cgc-body {\r\n  background: #ffffff; border: 1px solid #E5E7EB;\r\n  border-top: none; border-radius: 0 0 12px 12px;\r\n  padding: 20px 22px;\r\n}\r\n.cgc-gr .cgc-intro {\r\n  margin: 0 0 16px; font-size: 13px; color: #4B5563;\r\n  display: flex; align-items: flex-start; gap: 8px;\r\n}\r\n.cgc-gr .cgc-intro .ti { font-size: 16px; color: #22A559; flex-shrink: 0; margin-top: 2px; }\r\n\r\n\/* Toggle *\/\r\n.cgc-gr .cgc-mode-toggle {\r\n  display: flex; background: #F9FAFB; border: 1px solid #D1D5DB;\r\n  border-radius: 7px; padding: 3px; margin-bottom: 14px;\r\n}\r\n.cgc-gr .cgc-mode-btn {\r\n  flex: 1; padding: 8px 10px; border: none; background: transparent;\r\n  font-size: 12px; font-weight: 500; color: #6B7280; border-radius: 5px;\r\n  cursor: pointer; transition: all 0.15s;\r\n  display: inline-flex; align-items: center; justify-content: center; gap: 6px;\r\n}\r\n.cgc-gr .cgc-mode-btn .ti { font-size: 14px; }\r\n.cgc-gr .cgc-mode-btn.active { background: #0F3D3A; color: #ffffff; }\r\n\r\n\/* Info modo *\/\r\n.cgc-gr .cgc-mode-info {\r\n  background: rgba(59,130,246,0.06); border: 1px solid rgba(59,130,246,0.2);\r\n  border-radius: 7px; padding: 10px 12px; margin-bottom: 12px;\r\n  font-size: 12px; color: #1E40AF;\r\n  display: flex; align-items: flex-start; gap: 8px;\r\n}\r\n.cgc-gr .cgc-mode-info .ti { font-size: 14px; flex-shrink: 0; margin-top: 2px; }\r\n.cgc-gr .cgc-mode-info strong { color: #1E3A8A; }\r\n\r\n\/* Secciones *\/\r\n.cgc-gr .cgc-section {\r\n  border: 1px solid #E5E7EB; border-radius: 10px; padding: 16px;\r\n  margin-bottom: 12px; background: #FAFAF9;\r\n}\r\n.cgc-gr .cgc-section-title {\r\n  display: flex; align-items: center; gap: 8px;\r\n  margin: 0 0 12px !important;\r\n  font-size: 14px !important; font-weight: 500 !important; color: #0F3D3A !important;\r\n}\r\n.cgc-gr .cgc-letter {\r\n  display: inline-flex; align-items: center; justify-content: center;\r\n  width: 22px; height: 22px; border-radius: 6px;\r\n  background: #0F3D3A; color: #ffffff; font-size: 11px; font-weight: 500;\r\n}\r\n\r\n\/* Inputs *\/\r\n.cgc-gr .cgc-label {\r\n  display: block; font-size: 12px; color: #4B5563;\r\n  margin-bottom: 5px; font-weight: 500;\r\n}\r\n.cgc-gr .cgc-input,\r\n.cgc-gr .cgc-select {\r\n  width: 100%; padding: 9px 11px; border: 1px solid #D1D5DB;\r\n  border-radius: 7px; font-size: 13px; background: #ffffff;\r\n  color: #111827; outline: none; appearance: none;\r\n  -webkit-appearance: none;\r\n  transition: border-color 0.15s, box-shadow 0.15s;\r\n}\r\n.cgc-gr .cgc-select {\r\n  cursor: pointer;\r\n  background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'\/%3E%3C\/svg%3E\");\r\n  background-repeat: no-repeat;\r\n  background-position: right 10px center;\r\n  padding-right: 32px;\r\n}\r\n.cgc-gr .cgc-input:focus,\r\n.cgc-gr .cgc-select:focus {\r\n  border-color: #22A559; box-shadow: 0 0 0 3px rgba(34,165,89,0.15);\r\n}\r\n\r\n.cgc-gr .cgc-input-prefix {\r\n  display: flex; align-items: stretch;\r\n  border: 1px solid #D1D5DB; border-radius: 7px;\r\n  overflow: hidden; background: #ffffff;\r\n  transition: border-color 0.15s, box-shadow 0.15s;\r\n}\r\n.cgc-gr .cgc-input-prefix:focus-within {\r\n  border-color: #22A559; box-shadow: 0 0 0 3px rgba(34,165,89,0.15);\r\n}\r\n.cgc-gr .cgc-input-prefix span {\r\n  display: flex; align-items: center; padding: 0 12px;\r\n  background: #F9FAFB; border-right: 1px solid #D1D5DB;\r\n  color: #6B7280; font-size: 13px; font-weight: 500;\r\n  flex-shrink: 0; pointer-events: none;\r\n}\r\n.cgc-gr .cgc-input-prefix .cgc-input {\r\n  flex: 1; border: none; padding: 9px 11px;\r\n  font-size: 14px; background: transparent;\r\n  outline: none; min-width: 0; width: 100%; border-radius: 0;\r\n}\r\n.cgc-gr .cgc-input-prefix .cgc-input:focus {\r\n  box-shadow: none; border: none;\r\n}\r\n\r\n.cgc-gr .cgc-grid-2 {\r\n  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;\r\n}\r\n\r\n\/* Checkbox asig fam *\/\r\n.cgc-gr .cgc-checkbox-row {\r\n  display: flex; align-items: center; gap: 10px;\r\n  background: #ffffff; border: 1px solid #D1D5DB;\r\n  border-radius: 7px; padding: 9px 12px;\r\n  cursor: pointer; transition: all 0.15s;\r\n}\r\n.cgc-gr .cgc-checkbox-row:hover { border-color: #22A559; }\r\n.cgc-gr .cgc-checkbox-row input[type=\"checkbox\"] {\r\n  width: 16px; height: 16px; accent-color: #22A559; cursor: pointer;\r\n}\r\n.cgc-gr .cgc-checkbox-row label {\r\n  font-size: 12px; color: #374151; cursor: pointer; flex: 1; margin: 0;\r\n}\r\n.cgc-gr .cgc-checkbox-row label .cgc-help {\r\n  font-size: 10px; color: #9CA3AF; display: block; margin-top: 1px;\r\n}\r\n\r\n\/* Banner per\u00edodo *\/\r\n.cgc-gr .cgc-banner {\r\n  margin-top: 10px; padding: 10px 14px;\r\n  background: rgba(34,165,89,0.08); border-radius: 7px;\r\n  font-size: 12px; color: #0F6E3D;\r\n  display: flex; align-items: center; gap: 8px;\r\n}\r\n.cgc-gr .cgc-banner .ti { font-size: 16px; color: #22A559; flex-shrink: 0; }\r\n.cgc-gr .cgc-banner strong { color: #064E3B; }\r\n\r\n\/* Errores\/warnings *\/\r\n.cgc-gr .cgc-error,\r\n.cgc-gr .cgc-warning {\r\n  margin-top: 10px; padding: 10px 14px;\r\n  border-radius: 7px; font-size: 12px;\r\n  display: flex; align-items: flex-start; gap: 8px;\r\n}\r\n.cgc-gr .cgc-error {\r\n  background: rgba(239,68,68,0.08); border: 1px solid rgba(239,68,68,0.3);\r\n  color: #991B1B;\r\n}\r\n.cgc-gr .cgc-error .ti { color: #DC2626; }\r\n.cgc-gr .cgc-error strong { color: #7F1D1D; }\r\n.cgc-gr .cgc-warning {\r\n  background: rgba(245,158,11,0.08); border: 1px solid rgba(245,158,11,0.3);\r\n  color: #92400E;\r\n}\r\n.cgc-gr .cgc-warning .ti { color: #D97706; }\r\n.cgc-gr .cgc-warning strong { color: #78350F; }\r\n.cgc-gr .cgc-error.hidden,\r\n.cgc-gr .cgc-warning.hidden { display: none; }\r\n.cgc-gr .cgc-error .ti,\r\n.cgc-gr .cgc-warning .ti { font-size: 16px; flex-shrink: 0; margin-top: 1px; }\r\n\r\n\/* Bloque protegido *\/\r\n.cgc-gr .cgc-protected {\r\n  position: relative; background: #F9FAFB; border: 1px solid #E5E7EB;\r\n  border-radius: 10px; padding: 18px; overflow: hidden; margin-top: 14px;\r\n}\r\n.cgc-gr .cgc-no-copy {\r\n  user-select: none; -webkit-user-select: none;\r\n  position: relative; z-index: 1;\r\n}\r\n.cgc-gr .cgc-wm {\r\n  position: absolute; inset: 0; overflow: hidden; pointer-events: none;\r\n  border-radius: 10px;\r\n}\r\n.cgc-gr .cgc-wm-tile {\r\n  position: absolute; display: flex; align-items: center; gap: 5px;\r\n  opacity: 0.07; transform: rotate(-22deg); white-space: nowrap;\r\n  font-size: 10px; font-weight: 500; color: #0F3D3A;\r\n}\r\n\r\n.cgc-gr .cgc-protected-header {\r\n  display: flex; align-items: center; justify-content: space-between;\r\n  margin-bottom: 14px;\r\n}\r\n.cgc-gr .cgc-protected-title {\r\n  font-size: 12px; color: #6B7280; text-transform: uppercase;\r\n  letter-spacing: 0.5px; font-weight: 500;\r\n}\r\n.cgc-gr .cgc-status {\r\n  display: inline-block; padding: 4px 10px; border-radius: 999px;\r\n  font-size: 11px; font-weight: 500;\r\n  background: rgba(34,165,89,0.12); color: #0F6E3D;\r\n}\r\n.cgc-gr .cgc-status.warning {\r\n  background: rgba(245,158,11,0.15); color: #92400E;\r\n}\r\n\r\n\/* Cards *\/\r\n.cgc-gr .cgc-cards-grid {\r\n  display: grid; grid-template-columns: 1fr 1fr;\r\n  gap: 10px; margin-bottom: 14px;\r\n}\r\n.cgc-gr .cgc-card {\r\n  background: #ffffff; border: 1px solid #E5E7EB;\r\n  border-radius: 8px; padding: 12px 14px;\r\n}\r\n.cgc-gr .cgc-card-label {\r\n  font-size: 11px; color: #6B7280;\r\n  text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px;\r\n}\r\n.cgc-gr .cgc-card-val {\r\n  font-size: 16px; font-weight: 500; color: #0F3D3A;\r\n  font-variant-numeric: tabular-nums;\r\n}\r\n\r\n\/* Filas *\/\r\n.cgc-gr .cgc-row {\r\n  display: flex; align-items: center; justify-content: space-between;\r\n  padding: 6px 0; font-size: 13px;\r\n}\r\n.cgc-gr .cgc-row-label { color: #4B5563; }\r\n.cgc-gr .cgc-row-val { color: #111827; font-weight: 500; font-variant-numeric: tabular-nums; }\r\n.cgc-gr .cgc-subtotal {\r\n  border-top: 1px dashed #D1D5DB; margin-top: 8px; padding-top: 10px;\r\n  display: flex; justify-content: space-between;\r\n  font-size: 14px; font-weight: 500; color: #0F3D3A;\r\n}\r\n\r\n\/* Total *\/\r\n.cgc-gr .cgc-total-box {\r\n  margin-top: 16px; padding: 14px 16px;\r\n  background: #0F3D3A; border-radius: 10px;\r\n  display: flex; align-items: center; justify-content: space-between;\r\n}\r\n.cgc-gr .cgc-total-box.exempt {\r\n  background: linear-gradient(135deg, #57534E 0%, #78716C 100%);\r\n}\r\n.cgc-gr .cgc-total-label {\r\n  font-size: 11px; color: rgba(255,255,255,0.65);\r\n  text-transform: uppercase; letter-spacing: 1px; margin-bottom: 2px;\r\n}\r\n.cgc-gr .cgc-total-sub {\r\n  font-size: 11px; color: rgba(255,255,255,0.75);\r\n}\r\n.cgc-gr .cgc-total-val {\r\n  font-size: 28px; font-weight: 500; color: #ffffff; line-height: 1;\r\n}\r\n\r\n\/* Legal *\/\r\n.cgc-gr .cgc-legal {\r\n  margin-top: 14px; padding: 12px 14px;\r\n  background: rgba(59,130,246,0.06); border: 1px solid rgba(59,130,246,0.2);\r\n  border-radius: 7px; font-size: 11px; color: #1E40AF;\r\n  display: flex; align-items: flex-start; gap: 8px;\r\n}\r\n.cgc-gr .cgc-legal .ti { font-size: 14px; flex-shrink: 0; margin-top: 1px; }\r\n.cgc-gr .cgc-legal strong { color: #1E3A8A; }\r\n\r\n\/* Botones *\/\r\n.cgc-gr .cgc-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }\r\n.cgc-gr .cgc-btn {\r\n  flex: 1; min-width: 130px; padding: 10px 14px;\r\n  border-radius: 8px; font-size: 14px; font-weight: 500;\r\n  cursor: pointer; display: inline-flex; align-items: center;\r\n  justify-content: center; gap: 6px; border: 1px solid;\r\n  transition: all 0.15s;\r\n}\r\n.cgc-gr .cgc-btn-secondary { background: #ffffff; border-color: #D1D5DB; color: #374151; }\r\n.cgc-gr .cgc-btn-secondary:hover { background: #F9FAFB; }\r\n.cgc-gr .cgc-btn-primary { background: #22A559; border-color: #22A559; color: #ffffff; }\r\n.cgc-gr .cgc-btn-primary:hover { background: #1E8E4D; border-color: #1E8E4D; }\r\n.cgc-gr .cgc-btn .ti { font-size: 16px; }\r\n\r\n\/* Footer *\/\r\n.cgc-gr .cgc-footer {\r\n  margin-top: 14px; padding-top: 12px;\r\n  border-top: 1px solid #E5E7EB;\r\n  display: flex; align-items: center; justify-content: space-between;\r\n  flex-wrap: wrap; gap: 8px;\r\n}\r\n.cgc-gr .cgc-footer-left { display: flex; align-items: center; gap: 6px; font-size: 11px; color: #9CA3AF; }\r\n.cgc-gr .cgc-footer-left .ti { font-size: 14px; color: #22A559; }\r\n.cgc-gr .cgc-footer-right { font-size: 11px; color: #6B7280; font-weight: 500; }\r\n\r\n@media (max-width: 600px) {\r\n  .cgc-gr .cgc-grid-2,\r\n  .cgc-gr .cgc-cards-grid { grid-template-columns: 1fr !important; }\r\n  .cgc-gr .cgc-mode-btn span { display: none; }\r\n  .cgc-gr .cgc-mode-btn .ti { font-size: 16px; }\r\n  .cgc-gr .cgc-header-title-block {\r\n    border-left: none; padding-left: 0;\r\n    border-top: 1px solid rgba(255,255,255,0.2);\r\n    padding-top: 12px; margin-top: 4px; width: 100%;\r\n  }\r\n}\r\n<\/style>\r\n\r\n<!-- Header -->\r\n<div class=\"cgc-header\">\r\n  <div class=\"cgc-header-left\">\r\n    <img decoding=\"async\" src=\"https:\/\/cgestiona.com\/wp-content\/uploads\/2026\/05\/logo-c-gestiona-blanco-transparente.png\"\r\n         alt=\"C Gestiona\" class=\"cgc-logo\" \/>\r\n    <div class=\"cgc-header-title-block\">\r\n      <div class=\"cgc-header-eyebrow\">Calculadora<\/div>\r\n      <h2 class=\"cgc-header-title\">Gratificaci\u00f3n por periodo<\/h2>\r\n    <\/div>\r\n  <\/div>\r\n  <div class=\"cgc-pill\">\r\n    <i class=\"ti ti-lock\"><\/i>\r\n    <span>Acceso registrado<\/span>\r\n  <\/div>\r\n<\/div>\r\n\r\n<div class=\"cgc-body\">\r\n\r\n  <p class=\"cgc-intro\">\r\n    <i class=\"ti ti-info-circle\"><\/i>\r\n    Calcula tu gratificaci\u00f3n de Fiestas Patrias (Julio) o Navidad (Diciembre) con la bonificaci\u00f3n extraordinaria 9% \/ 6.75%. Ley 27735.\r\n  <\/p>\r\n\r\n  <!-- Toggle per\u00edodo -->\r\n  <div class=\"cgc-mode-toggle\">\r\n    <button type=\"button\" class=\"cgc-mode-btn active\" data-mode=\"julio\">\r\n      <i class=\"ti ti-flag\"><\/i> <span>Julio<\/span>\r\n    <\/button>\r\n    <button type=\"button\" class=\"cgc-mode-btn\" data-mode=\"diciembre\">\r\n      <i class=\"ti ti-christmas-tree\"><\/i> <span>Diciembre<\/span>\r\n    <\/button>\r\n    <button type=\"button\" class=\"cgc-mode-btn\" data-mode=\"trunca\">\r\n      <i class=\"ti ti-clock-stop\"><\/i> <span>Trunca<\/span>\r\n    <\/button>\r\n  <\/div>\r\n\r\n  <div class=\"cgc-mode-info\" id=\"cgc-modeInfo\">\r\n    <i class=\"ti ti-bulb\"><\/i>\r\n    <div id=\"cgc-modeInfoText\">\r\n      <strong>Gratificaci\u00f3n de Julio (Fiestas Patrias):<\/strong> Pago hasta el 15 de julio por el per\u00edodo enero\u2013junio del a\u00f1o actual.\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- A. Datos -->\r\n  <div class=\"cgc-section\">\r\n    <h3 class=\"cgc-section-title\"><span class=\"cgc-letter\">A<\/span> Datos del trabajador<\/h3>\r\n\r\n    <div class=\"cgc-grid-2\" style=\"margin-bottom: 12px;\">\r\n      <div>\r\n        <label class=\"cgc-label\" for=\"cgc-anio\">A\u00f1o de la gratificaci\u00f3n<\/label>\r\n        <select id=\"cgc-anio\" class=\"cgc-select\">\r\n          <option value=\"2026\" selected>2026<\/option>\r\n          <option value=\"2027\">2027<\/option>\r\n          <option value=\"2028\">2028<\/option>\r\n        <\/select>\r\n      <\/div>\r\n      <div>\r\n        <label class=\"cgc-label\" for=\"cgc-fIngreso\">Fecha de ingreso<\/label>\r\n        <input type=\"date\" id=\"cgc-fIngreso\" class=\"cgc-input\" value=\"2026-03-01\" \/>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- Solo para trunca -->\r\n    <div id=\"cgc-rowCese\" style=\"display: none; margin-bottom: 12px;\">\r\n      <label class=\"cgc-label\" for=\"cgc-fCese\">Fecha de cese (para gratificaci\u00f3n trunca)<\/label>\r\n      <input type=\"date\" id=\"cgc-fCese\" class=\"cgc-input\" value=\"2026-04-30\" \/>\r\n    <\/div>\r\n\r\n    <div class=\"cgc-grid-2\" style=\"margin-bottom: 12px;\">\r\n      <div>\r\n        <label class=\"cgc-label\" for=\"cgc-sueldo\">Sueldo mensual (al cierre del per\u00edodo)<\/label>\r\n        <div class=\"cgc-input-prefix\">\r\n          <span>S\/<\/span>\r\n          <input type=\"number\" id=\"cgc-sueldo\" class=\"cgc-input\" value=\"1500\" min=\"0\" step=\"0.01\" \/>\r\n        <\/div>\r\n      <\/div>\r\n      <div>\r\n        <label class=\"cgc-label\" for=\"cgc-asigFam\">Asignaci\u00f3n familiar (si aplica)<\/label>\r\n        <div class=\"cgc-input-prefix\">\r\n          <span>S\/<\/span>\r\n          <input type=\"number\" id=\"cgc-asigFam\" class=\"cgc-input\" value=\"0\" min=\"0\" step=\"0.01\" \/>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"cgc-grid-2\" style=\"margin-bottom: 12px;\">\r\n      <div>\r\n        <label class=\"cgc-label\" for=\"cgc-regimen\">R\u00e9gimen laboral<\/label>\r\n        <select id=\"cgc-regimen\" class=\"cgc-select\">\r\n          <option value=\"general\" selected>R\u00e9gimen General (100%)<\/option>\r\n          <option value=\"pequena\">Peque\u00f1a Empresa (50%)<\/option>\r\n          <option value=\"micro\">Microempresa REMYPE (sin gratificaci\u00f3n)<\/option>\r\n        <\/select>\r\n      <\/div>\r\n      <div>\r\n        <label class=\"cgc-label\" for=\"cgc-tipoSalud\">Tipo de seguro de salud<\/label>\r\n        <select id=\"cgc-tipoSalud\" class=\"cgc-select\">\r\n          <option value=\"essalud\" selected>EsSalud (Bonificaci\u00f3n 9%)<\/option>\r\n          <option value=\"eps\">EPS (Bonificaci\u00f3n 6.75%)<\/option>\r\n        <\/select>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"cgc-banner\" id=\"cgc-bannerPeriodo\">\r\n      <i class=\"ti ti-calendar-event\"><\/i>\r\n      <div><strong>Per\u00edodo computable:<\/strong> <span id=\"cgc-periodoText\">01\/01\/2026 \u2192 30\/06\/2026<\/span><\/div>\r\n    <\/div>\r\n\r\n    <div class=\"cgc-error hidden\" id=\"cgc-errFechas\">\r\n      <i class=\"ti ti-alert-circle\"><\/i>\r\n      <div>\r\n        <strong>Verifica las fechas<\/strong><br>\r\n        <span id=\"cgc-errFechasMsg\"><\/span>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"cgc-warning hidden\" id=\"cgc-warnMicroempresa\">\r\n      <i class=\"ti ti-alert-triangle\"><\/i>\r\n      <div>\r\n        <strong>Microempresa REMYPE no tiene derecho a gratificaci\u00f3n<\/strong><br>\r\n        Seg\u00fan D.Leg. 1086, los trabajadores de microempresa registrada en REMYPE est\u00e1n excluidos de las gratificaciones de Ley 27735.\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"cgc-warning hidden\" id=\"cgc-warnMinimo\">\r\n      <i class=\"ti ti-alert-triangle\"><\/i>\r\n      <div>\r\n        <strong>Sin derecho a la gratificaci\u00f3n<\/strong><br>\r\n        Se requiere m\u00ednimo 1 mes completo de servicios en el semestre. <span id=\"cgc-warnMinimoMsg\"><\/span>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- Resultados protegidos -->\r\n  <div class=\"cgc-protected\">\r\n    <div class=\"cgc-wm\" id=\"cgc-wm-bg\" aria-hidden=\"true\"><\/div>\r\n    <div class=\"cgc-no-copy\">\r\n\r\n      <div class=\"cgc-protected-header\">\r\n        <span class=\"cgc-protected-title\">Detalle del c\u00e1lculo<\/span>\r\n        <span class=\"cgc-status\" id=\"cgc-statusBadge\">Calculado<\/span>\r\n      <\/div>\r\n\r\n      <div class=\"cgc-cards-grid\">\r\n        <div class=\"cgc-card\">\r\n          <div class=\"cgc-card-label\">Meses computables<\/div>\r\n          <div class=\"cgc-card-val\" id=\"cgc-cardMeses\">4 meses<\/div>\r\n        <\/div>\r\n        <div class=\"cgc-card\">\r\n          <div class=\"cgc-card-label\">Rem. computable<\/div>\r\n          <div class=\"cgc-card-val\" id=\"cgc-cardRemComp\">S\/ 1,500.00<\/div>\r\n        <\/div>\r\n        <div class=\"cgc-card\">\r\n          <div class=\"cgc-card-label\">Factor r\u00e9gimen<\/div>\r\n          <div class=\"cgc-card-val\" id=\"cgc-cardFactor\">50%<\/div>\r\n        <\/div>\r\n        <div class=\"cgc-card\">\r\n          <div class=\"cgc-card-label\">Total a recibir<\/div>\r\n          <div class=\"cgc-card-val\" id=\"cgc-cardTotal\">S\/ 545.00<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div style=\"margin-bottom: 10px;\">\r\n        <div style=\"font-size: 11px; font-weight: 500; color: #6B7280; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px;\">Remuneraci\u00f3n computable<\/div>\r\n        <div class=\"cgc-row\"><span class=\"cgc-row-label\">Sueldo mensual<\/span><span class=\"cgc-row-val\" id=\"cgc-rcSueldo\">S\/ 1,500.00<\/span><\/div>\r\n        <div class=\"cgc-row\"><span class=\"cgc-row-label\">Asignaci\u00f3n familiar<\/span><span class=\"cgc-row-val\" id=\"cgc-rcAsig\">S\/ 0.00<\/span><\/div>\r\n        <div class=\"cgc-subtotal\"><span>Total remuneraci\u00f3n computable<\/span><span id=\"cgc-rcTotal\">S\/ 1,500.00<\/span><\/div>\r\n      <\/div>\r\n\r\n      <div style=\"margin-top: 14px;\">\r\n        <div style=\"font-size: 11px; font-weight: 500; color: #6B7280; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px;\">C\u00e1lculo de la gratificaci\u00f3n<\/div>\r\n        <div class=\"cgc-row\"><span class=\"cgc-row-label\">Rem. computable \u00f7 6 \u00d7 meses<\/span><span class=\"cgc-row-val\" id=\"cgc-grBase\">S\/ 1,000.00<\/span><\/div>\r\n        <div class=\"cgc-row\"><span class=\"cgc-row-label\">\u00d7 Factor r\u00e9gimen<\/span><span class=\"cgc-row-val\" id=\"cgc-grFactor\">\u00d7 50%<\/span><\/div>\r\n        <div class=\"cgc-subtotal\"><span>Gratificaci\u00f3n<\/span><span id=\"cgc-grSubtotal\">S\/ 500.00<\/span><\/div>\r\n      <\/div>\r\n\r\n      <div style=\"margin-top: 14px;\">\r\n        <div style=\"font-size: 11px; font-weight: 500; color: #6B7280; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px;\">Bonificaci\u00f3n extraordinaria (Ley 29351)<\/div>\r\n        <div class=\"cgc-row\"><span class=\"cgc-row-label\" id=\"cgc-bonifLabel\">Bonificaci\u00f3n EsSalud 9%<\/span><span class=\"cgc-row-val\" id=\"cgc-bonifVal\">S\/ 45.00<\/span><\/div>\r\n        <p style=\"margin-top: 6px; font-size: 11px; color: #6B7280; font-style: italic;\">\r\n          La bonificaci\u00f3n NO est\u00e1 afecta a AFP\/ONP ni a impuesto a la renta.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"cgc-total-box\" id=\"cgc-totalBox\">\r\n        <div>\r\n          <div class=\"cgc-total-label\" id=\"cgc-totalLabel\">Gratificaci\u00f3n Julio 2026<\/div>\r\n          <div class=\"cgc-total-sub\" id=\"cgc-totalSub\">Peque\u00f1a Empresa \u00b7 A pagar antes del 15 Jul 2026<\/div>\r\n        <\/div>\r\n        <div class=\"cgc-total-val\" id=\"cgc-totalFinal\">S\/ 545.00<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"cgc-legal\">\r\n        <i class=\"ti ti-scale\"><\/i>\r\n        <div>\r\n          <strong>Base legal:<\/strong> Ley 27735, D.S. 005-2002-TR (reglamento), Ley 29351 prorrogada (bonificaci\u00f3n extraordinaria). Plazos: 15 julio y 15 diciembre. El incumplimiento genera intereses legales y multas SUNAFIL.\r\n        <\/div>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- Botones -->\r\n  <div class=\"cgc-actions\">\r\n    <button type=\"button\" id=\"cgc-btn-reset\" class=\"cgc-btn cgc-btn-secondary\">\r\n      <i class=\"ti ti-refresh\"><\/i> Limpiar\r\n    <\/button>\r\n    <button type=\"button\" id=\"cgc-btn-copy\" class=\"cgc-btn cgc-btn-primary\">\r\n      <i class=\"ti ti-clipboard\"><\/i> Copiar resumen\r\n    <\/button>\r\n  <\/div>\r\n\r\n  <!-- Footer -->\r\n  <div class=\"cgc-footer\">\r\n    <div class=\"cgc-footer-left\">\r\n      <i class=\"ti ti-shield-check\"><\/i>\r\n      <span>Contenido protegido \u00b7 No descargable<\/span>\r\n    <\/div>\r\n    <span class=\"cgc-footer-right\">cgestiona.com \u00b7 contacto@cgestiona.com<\/span>\r\n  <\/div>\r\n\r\n<\/div>\r\n\r\n<script>\r\n(function() {\r\n  var USER_EMAIL = 'contacto@cgestiona.com';\r\n  var BRAND_EMAIL = 'contacto@cgestiona.com';\r\n\r\n  var $ = function(id) { return document.getElementById(id); };\r\n  var currentMode = 'julio';\r\n\r\n  \/\/ R\u00e9gimen: General 100%, Peque\u00f1a 50%, Microempresa 0% (corrige error del Excel)\r\n  var REGIMENES = {\r\n    'general':  { factor: 1,   nombre: 'R\u00e9gimen General' },\r\n    'pequena':  { factor: 0.5, nombre: 'Peque\u00f1a Empresa' },\r\n    'micro':    { factor: 0,   nombre: 'Microempresa REMYPE' }\r\n  };\r\n\r\n  var SALUD = {\r\n    'essalud': { tasa: 0.09,    label: 'Bonificaci\u00f3n EsSalud 9%' },\r\n    'eps':     { tasa: 0.0675,  label: 'Bonificaci\u00f3n EPS 6.75%' }\r\n  };\r\n\r\n  var MODE_INFO = {\r\n    'julio': '<strong>Gratificaci\u00f3n de Julio (Fiestas Patrias):<\/strong> Pago hasta el 15 de julio por el per\u00edodo enero\u2013junio del a\u00f1o actual.',\r\n    'diciembre': '<strong>Gratificaci\u00f3n de Diciembre (Navidad):<\/strong> Pago hasta el 15 de diciembre por el per\u00edodo julio\u2013diciembre del a\u00f1o actual.',\r\n    'trunca': '<strong>Gratificaci\u00f3n trunca:<\/strong> Pago proporcional cuando el trabajador cesa antes de la fecha de pago (15 julio o 15 diciembre). Se calcula sobre los meses completos laborados en el semestre.'\r\n  };\r\n\r\n  function fmt(n) {\r\n    return 'S\/ ' + n.toLocaleString('es-PE', {minimumFractionDigits: 2, maximumFractionDigits: 2});\r\n  }\r\n  function fmtDate(d) {\r\n    var dd = String(d.getDate()).padStart(2,'0');\r\n    var mm = String(d.getMonth()+1).padStart(2,'0');\r\n    return dd + '\/' + mm + '\/' + d.getFullYear();\r\n  }\r\n\r\n  function buildWatermark() {\r\n    var wm = $('cgc-wm-bg');\r\n    if (!wm) return;\r\n    wm.innerHTML = '';\r\n    for (var r = 0; r < 8; r++) {\r\n      for (var c = 0; c < 4; c++) {\r\n        var tile = document.createElement('div');\r\n        tile.className = 'cgc-wm-tile';\r\n        tile.style.left = (c * 28 - 5) + '%';\r\n        tile.style.top = (r * 14 - 5) + '%';\r\n        var email = (r + c) % 2 === 0 ? USER_EMAIL : BRAND_EMAIL;\r\n        tile.innerHTML =\r\n          '<svg width=\"14\" height=\"14\" viewBox=\"0 0 200 100\">' +\r\n            '<g fill=\"none\" stroke=\"#0F3D3A\" stroke-width=\"11\" stroke-linecap=\"round\">' +\r\n              '<path d=\"M 60 25 Q 25 25 25 55 Q 25 85 60 85 Q 78 85 88 75\"\/>' +\r\n              '<path d=\"M 140 85 Q 175 85 175 55 Q 175 25 140 25 Q 122 25 112 35\"\/>' +\r\n            '<\/g>' +\r\n            '<line x1=\"35\" y1=\"85\" x2=\"170\" y2=\"15\" stroke=\"#0F3D3A\" stroke-width=\"8\" stroke-linecap=\"round\"\/>' +\r\n          '<\/svg>' +\r\n          '<span>C Gestiona \u00b7 ' + email + '<\/span>';\r\n        wm.appendChild(tile);\r\n      }\r\n    }\r\n  }\r\n\r\n  function days360(start, end) {\r\n    var d1 = start.getDate(), m1 = start.getMonth()+1, y1 = start.getFullYear();\r\n    var d2 = end.getDate(), m2 = end.getMonth()+1, y2 = end.getFullYear();\r\n    if (d1 === 31) d1 = 30;\r\n    if (d2 === 31 && d1 >= 30) d2 = 30;\r\n    return (y2-y1)*360 + (m2-m1)*30 + (d2-d1);\r\n  }\r\n\r\n  function hideError(id) { $(id).classList.add('hidden'); }\r\n  function showError(id, msg) {\r\n    var el = $(id);\r\n    el.classList.remove('hidden');\r\n    if (msg) {\r\n      var msgEl = el.querySelector('#cgc-errFechasMsg, #cgc-warnMinimoMsg');\r\n      if (msgEl) msgEl.textContent = msg;\r\n    }\r\n  }\r\n\r\n  function setCero(motivo) {\r\n    $('cgc-totalFinal').textContent = fmt(0);\r\n    $('cgc-totalBox').classList.add('exempt');\r\n    $('cgc-totalSub').textContent = motivo;\r\n    $('cgc-statusBadge').textContent = 'No corresponde';\r\n    $('cgc-statusBadge').classList.add('warning');\r\n  }\r\n\r\n  function getPeriodo(mode, anio) {\r\n    if (mode === 'julio') {\r\n      return {\r\n        inicio: new Date(anio, 0, 1),    \/\/ 1 Ene\r\n        fin: new Date(anio, 5, 30),       \/\/ 30 Jun\r\n        pago: new Date(anio, 6, 15),      \/\/ 15 Jul\r\n        nombre: 'Gratificaci\u00f3n Julio ' + anio,\r\n        nombrePeriodo: 'Fiestas Patrias'\r\n      };\r\n    } else if (mode === 'diciembre') {\r\n      return {\r\n        inicio: new Date(anio, 6, 1),    \/\/ 1 Jul\r\n        fin: new Date(anio, 11, 31),      \/\/ 31 Dic\r\n        pago: new Date(anio, 11, 15),     \/\/ 15 Dic\r\n        nombre: 'Gratificaci\u00f3n Diciembre ' + anio,\r\n        nombrePeriodo: 'Navidad'\r\n      };\r\n    } else {\r\n      \/\/ Trunca: determinar semestre seg\u00fan fecha de cese\r\n      var fCese = $('cgc-fCese').value ? new Date($('cgc-fCese').value + 'T00:00:00') : null;\r\n      if (!fCese) return null;\r\n      var mes = fCese.getMonth();\r\n      var anioCese = fCese.getFullYear();\r\n      if (mes < 6) {\r\n        return {\r\n          inicio: new Date(anioCese, 0, 1),\r\n          fin: fCese,\r\n          pago: null,\r\n          nombre: 'Gratificaci\u00f3n Trunca Julio ' + anioCese,\r\n          nombrePeriodo: 'Trunca - Fiestas Patrias'\r\n        };\r\n      } else {\r\n        return {\r\n          inicio: new Date(anioCese, 6, 1),\r\n          fin: fCese,\r\n          pago: null,\r\n          nombre: 'Gratificaci\u00f3n Trunca Diciembre ' + anioCese,\r\n          nombrePeriodo: 'Trunca - Navidad'\r\n        };\r\n      }\r\n    }\r\n  }\r\n\r\n  function calcular() {\r\n    hideError('cgc-errFechas');\r\n    $('cgc-warnMicroempresa').classList.add('hidden');\r\n    $('cgc-warnMinimo').classList.add('hidden');\r\n    $('cgc-totalBox').classList.remove('exempt');\r\n    $('cgc-statusBadge').classList.remove('warning');\r\n    $('cgc-statusBadge').textContent = 'Calculado';\r\n\r\n    var anio = parseInt($('cgc-anio').value) || 2026;\r\n    var fIng = $('cgc-fIngreso').value ? new Date($('cgc-fIngreso').value + 'T00:00:00') : null;\r\n    var sueldo = parseFloat($('cgc-sueldo').value) || 0;\r\n    var asigFam = parseFloat($('cgc-asigFam').value) || 0;\r\n    var regKey = $('cgc-regimen').value;\r\n    var saludKey = $('cgc-tipoSalud').value;\r\n    var reg = REGIMENES[regKey];\r\n    var salud = SALUD[saludKey];\r\n\r\n    if (!fIng) {\r\n      showError('cgc-errFechas', 'Ingresa la fecha de ingreso.');\r\n      setCero('Datos incompletos');\r\n      return;\r\n    }\r\n\r\n    var periodo = getPeriodo(currentMode, anio);\r\n    if (!periodo) {\r\n      showError('cgc-errFechas', 'Ingresa la fecha de cese.');\r\n      setCero('Datos incompletos');\r\n      return;\r\n    }\r\n    if (periodo.fin < periodo.inicio) {\r\n      showError('cgc-errFechas', 'La fecha fin no puede ser anterior a la de inicio.');\r\n      setCero('Datos inv\u00e1lidos');\r\n      return;\r\n    }\r\n\r\n    $('cgc-periodoText').textContent = fmtDate(periodo.inicio) + ' \u2192 ' + fmtDate(periodo.fin);\r\n\r\n    \/\/ Microempresa: no tiene gratificaci\u00f3n\r\n    if (regKey === 'micro') {\r\n      $('cgc-warnMicroempresa').classList.remove('hidden');\r\n      setCero('Microempresa REMYPE: sin gratificaci\u00f3n');\r\n      $('cgc-cardMeses').textContent = '\u2014';\r\n      $('cgc-cardRemComp').textContent = '\u2014';\r\n      $('cgc-cardFactor').textContent = '0%';\r\n      $('cgc-cardTotal').textContent = fmt(0);\r\n      return;\r\n    }\r\n\r\n    \/\/ Inicio real = max(fIngreso, periodo.inicio)\r\n    var inicioCalc = fIng > periodo.inicio ? fIng : periodo.inicio;\r\n\r\n    if (inicioCalc > periodo.fin) {\r\n      showError('cgc-warnMinimo', 'El trabajador ingres\u00f3 despu\u00e9s del fin del semestre.');\r\n      setCero('No corresponde para este per\u00edodo');\r\n      $('cgc-cardMeses').textContent = '0 meses';\r\n      return;\r\n    }\r\n\r\n    \/\/ D\u00edas (DAYS360 + 1 al final)\r\n    var finPlus1 = new Date(periodo.fin); finPlus1.setDate(finPlus1.getDate() + 1);\r\n    var totalDias = days360(inicioCalc, finPlus1);\r\n    var meses = Math.floor(totalDias \/ 30);\r\n\r\n    if (meses < 1) {\r\n      showError('cgc-warnMinimo', 'Solo cuenta ' + totalDias + ' d\u00edas completos.');\r\n      setCero('Sin derecho a gratificaci\u00f3n');\r\n      $('cgc-cardMeses').textContent = '0 meses';\r\n      return;\r\n    }\r\n\r\n    \/\/ Remuneraci\u00f3n computable\r\n    var rcSueldo = sueldo;\r\n    var rcAsig = asigFam;\r\n    var rcTotal = rcSueldo + rcAsig;\r\n\r\n    \/\/ Gratificaci\u00f3n\r\n    var grBase = rcTotal \/ 6 * meses;\r\n    var grSubtotal = grBase * reg.factor;\r\n    grSubtotal = Math.round(grSubtotal * 100) \/ 100;\r\n\r\n    \/\/ Bonificaci\u00f3n extraordinaria\r\n    var bonif = grSubtotal * salud.tasa;\r\n    bonif = Math.round(bonif * 100) \/ 100;\r\n\r\n    var total = grSubtotal + bonif;\r\n\r\n    \/\/ UI\r\n    $('cgc-cardMeses').textContent = meses + (meses === 1 ? ' mes' : ' meses');\r\n    $('cgc-cardRemComp').textContent = fmt(rcTotal);\r\n    $('cgc-cardFactor').textContent = (reg.factor * 100) + '%';\r\n    $('cgc-cardTotal').textContent = fmt(total);\r\n\r\n    $('cgc-rcSueldo').textContent = fmt(rcSueldo);\r\n    $('cgc-rcAsig').textContent = fmt(rcAsig);\r\n    $('cgc-rcTotal').textContent = fmt(rcTotal);\r\n    $('cgc-grBase').textContent = fmt(grBase);\r\n    $('cgc-grFactor').textContent = '\u00d7 ' + (reg.factor * 100) + '%';\r\n    $('cgc-grSubtotal').textContent = fmt(grSubtotal);\r\n    $('cgc-bonifLabel').textContent = salud.label;\r\n    $('cgc-bonifVal').textContent = fmt(bonif);\r\n\r\n    $('cgc-totalLabel').textContent = periodo.nombre;\r\n    if (periodo.pago) {\r\n      $('cgc-totalSub').textContent = reg.nombre + ' \u00b7 A pagar antes del ' + fmtDate(periodo.pago);\r\n    } else {\r\n      $('cgc-totalSub').textContent = reg.nombre + ' \u00b7 ' + periodo.nombrePeriodo;\r\n    }\r\n    $('cgc-totalFinal').textContent = fmt(total);\r\n  }\r\n\r\n  \/\/ Toggle modo\r\n  document.querySelectorAll('.cgc-mode-btn').forEach(function(btn) {\r\n    btn.addEventListener('click', function() {\r\n      document.querySelectorAll('.cgc-mode-btn').forEach(function(b) {\r\n        b.classList.remove('active');\r\n      });\r\n      this.classList.add('active');\r\n      currentMode = this.getAttribute('data-mode');\r\n      $('cgc-modeInfoText').innerHTML = MODE_INFO[currentMode];\r\n      $('cgc-rowCese').style.display = currentMode === 'trunca' ? '' : 'none';\r\n      calcular();\r\n    });\r\n  });\r\n\r\n  ['cgc-anio','cgc-fIngreso','cgc-fCese','cgc-sueldo','cgc-asigFam','cgc-regimen','cgc-tipoSalud'].forEach(function(id) {\r\n    $(id).addEventListener('input', calcular);\r\n    $(id).addEventListener('change', calcular);\r\n  });\r\n\r\n  $('cgc-btn-reset').addEventListener('click', function() {\r\n    $('cgc-fIngreso').value = '';\r\n    $('cgc-fCese').value = '';\r\n    $('cgc-sueldo').value = '';\r\n    $('cgc-asigFam').value = '0';\r\n    $('cgc-regimen').value = 'general';\r\n    $('cgc-tipoSalud').value = 'essalud';\r\n    $('cgc-anio').value = '2026';\r\n    calcular();\r\n  });\r\n\r\n  $('cgc-btn-copy').addEventListener('click', function(e) {\r\n    var reg = REGIMENES[$('cgc-regimen').value];\r\n    var txt = 'Gratificaci\u00f3n por periodo \u2014 C Gestiona\\n';\r\n    txt += $('cgc-totalLabel').textContent + '\\n';\r\n    txt += 'R\u00e9gimen: ' + reg.nombre + '\\n';\r\n    txt += 'Per\u00edodo: ' + $('cgc-periodoText').textContent + '\\n';\r\n    txt += 'Meses computables: ' + $('cgc-cardMeses').textContent + '\\n';\r\n    txt += 'Gratificaci\u00f3n base: ' + $('cgc-grSubtotal').textContent + '\\n';\r\n    txt += 'Bonificaci\u00f3n extraord.: ' + $('cgc-bonifVal').textContent + '\\n';\r\n    txt += 'TOTAL: ' + $('cgc-totalFinal').textContent + '\\n\\n';\r\n    txt += 'Base legal: Ley 27735 \/ D.S. 005-2002-TR\\n\\n';\r\n    txt += 'M\u00e1s calculadoras en cgestiona.com';\r\n    if (navigator.clipboard) navigator.clipboard.writeText(txt);\r\n    var b = e.currentTarget;\r\n    var orig = b.innerHTML;\r\n    b.innerHTML = '<i class=\"ti ti-check\"><\/i> Copiado';\r\n    setTimeout(function() { b.innerHTML = orig; }, 1500);\r\n  });\r\n\r\n  document.addEventListener('contextmenu', function(e) {\r\n    if (e.target.closest && e.target.closest('.cgc-no-copy')) e.preventDefault();\r\n  });\r\n\r\n  buildWatermark();\r\n  calcular();\r\n})();\r\n<\/script>\r\n\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Calculadora Gratificaci\u00f3n por periodo Calcula la gratificaci\u00f3n por periodo de cada trabajador seg\u00fan su sueldo, tiempo laborado, r\u00e9gimen laboral y beneficios aplicables en planilla. Calculadora Gratificaci\u00f3n por periodo Acceso registrado Calcula tu gratificaci\u00f3n de Fiestas Patrias (Julio) o Navidad (Diciembre) con la bonificaci\u00f3n extraordinaria 9% \/ 6.75%. Ley 27735. Julio Diciembre Trunca Gratificaci\u00f3n de Julio&#8230;<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"content-type":"","inline_featured_image":false,"footnotes":""},"class_list":["post-988731","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Calculadora Gratificaci\u00f3n por periodo - C Gestiona<\/title>\n<meta name=\"description\" content=\"Gratificaci\u00f3n por periodo de cada trabajador seg\u00fan su sueldo, tiempo laborado, r\u00e9gimen laboral y beneficios aplicables en planilla.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cgestiona.com\/en\/calculadora-gratificacion-periodo\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Calculadora Gratificaci\u00f3n por periodo - C Gestiona\" \/>\n<meta property=\"og:description\" content=\"Gratificaci\u00f3n por periodo de cada trabajador seg\u00fan su sueldo, tiempo laborado, r\u00e9gimen laboral y beneficios aplicables en planilla.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cgestiona.com\/en\/calculadora-gratificacion-periodo\/\" \/>\n<meta property=\"og:site_name\" content=\"C Gestiona\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-14T04:28:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cgestiona.com\/wp-content\/uploads\/2026\/05\/logo-c-gestiona-blanco-transparente.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=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/cgestiona.com\\\/calculadora-gratificacion-periodo\\\/\",\"url\":\"https:\\\/\\\/cgestiona.com\\\/calculadora-gratificacion-periodo\\\/\",\"name\":\"Calculadora Gratificaci\u00f3n por periodo - C Gestiona\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cgestiona.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/cgestiona.com\\\/calculadora-gratificacion-periodo\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/cgestiona.com\\\/calculadora-gratificacion-periodo\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cgestiona.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/logo-c-gestiona-blanco-transparente.png\",\"datePublished\":\"2026-05-14T04:26:10+00:00\",\"dateModified\":\"2026-05-14T04:28:00+00:00\",\"description\":\"Gratificaci\u00f3n por periodo de cada trabajador seg\u00fan su sueldo, tiempo laborado, r\u00e9gimen laboral y beneficios aplicables en planilla.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/cgestiona.com\\\/calculadora-gratificacion-periodo\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/cgestiona.com\\\/calculadora-gratificacion-periodo\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/cgestiona.com\\\/calculadora-gratificacion-periodo\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cgestiona.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/logo-c-gestiona-blanco-transparente.png\",\"contentUrl\":\"https:\\\/\\\/cgestiona.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/logo-c-gestiona-blanco-transparente.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/cgestiona.com\\\/calculadora-gratificacion-periodo\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/cgestiona.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculadora Gratificaci\u00f3n por periodo\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/cgestiona.com\\\/#website\",\"url\":\"https:\\\/\\\/cgestiona.com\\\/\",\"name\":\"C Gestiona\",\"description\":\"Sitio web oficial\",\"publisher\":{\"@id\":\"https:\\\/\\\/cgestiona.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/cgestiona.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/cgestiona.com\\\/#organization\",\"name\":\"C Gestiona\",\"url\":\"https:\\\/\\\/cgestiona.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/cgestiona.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/cgestiona.com\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/logo-cgestiona-color-img.png\",\"contentUrl\":\"https:\\\/\\\/cgestiona.com\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/logo-cgestiona-color-img.png\",\"width\":935,\"height\":452,\"caption\":\"C Gestiona\"},\"image\":{\"@id\":\"https:\\\/\\\/cgestiona.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Calculadora Gratificaci\u00f3n por periodo - C Gestiona","description":"Gratificaci\u00f3n por periodo de cada trabajador seg\u00fan su sueldo, tiempo laborado, r\u00e9gimen laboral y beneficios aplicables en planilla.","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:\/\/cgestiona.com\/en\/calculadora-gratificacion-periodo\/","og_locale":"en_US","og_type":"article","og_title":"Calculadora Gratificaci\u00f3n por periodo - C Gestiona","og_description":"Gratificaci\u00f3n por periodo de cada trabajador seg\u00fan su sueldo, tiempo laborado, r\u00e9gimen laboral y beneficios aplicables en planilla.","og_url":"https:\/\/cgestiona.com\/en\/calculadora-gratificacion-periodo\/","og_site_name":"C Gestiona","article_modified_time":"2026-05-14T04:28:00+00:00","og_image":[{"url":"https:\/\/cgestiona.com\/wp-content\/uploads\/2026\/05\/logo-c-gestiona-blanco-transparente.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/cgestiona.com\/calculadora-gratificacion-periodo\/","url":"https:\/\/cgestiona.com\/calculadora-gratificacion-periodo\/","name":"Calculadora Gratificaci\u00f3n por periodo - C Gestiona","isPartOf":{"@id":"https:\/\/cgestiona.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cgestiona.com\/calculadora-gratificacion-periodo\/#primaryimage"},"image":{"@id":"https:\/\/cgestiona.com\/calculadora-gratificacion-periodo\/#primaryimage"},"thumbnailUrl":"https:\/\/cgestiona.com\/wp-content\/uploads\/2026\/05\/logo-c-gestiona-blanco-transparente.png","datePublished":"2026-05-14T04:26:10+00:00","dateModified":"2026-05-14T04:28:00+00:00","description":"Gratificaci\u00f3n por periodo de cada trabajador seg\u00fan su sueldo, tiempo laborado, r\u00e9gimen laboral y beneficios aplicables en planilla.","breadcrumb":{"@id":"https:\/\/cgestiona.com\/calculadora-gratificacion-periodo\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cgestiona.com\/calculadora-gratificacion-periodo\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cgestiona.com\/calculadora-gratificacion-periodo\/#primaryimage","url":"https:\/\/cgestiona.com\/wp-content\/uploads\/2026\/05\/logo-c-gestiona-blanco-transparente.png","contentUrl":"https:\/\/cgestiona.com\/wp-content\/uploads\/2026\/05\/logo-c-gestiona-blanco-transparente.png"},{"@type":"BreadcrumbList","@id":"https:\/\/cgestiona.com\/calculadora-gratificacion-periodo\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/cgestiona.com\/"},{"@type":"ListItem","position":2,"name":"Calculadora Gratificaci\u00f3n por periodo"}]},{"@type":"WebSite","@id":"https:\/\/cgestiona.com\/#website","url":"https:\/\/cgestiona.com\/","name":"C Gestiona","description":"Sitio web oficial","publisher":{"@id":"https:\/\/cgestiona.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cgestiona.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cgestiona.com\/#organization","name":"C Gestiona","url":"https:\/\/cgestiona.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cgestiona.com\/#\/schema\/logo\/image\/","url":"https:\/\/cgestiona.com\/wp-content\/uploads\/2025\/03\/logo-cgestiona-color-img.png","contentUrl":"https:\/\/cgestiona.com\/wp-content\/uploads\/2025\/03\/logo-cgestiona-color-img.png","width":935,"height":452,"caption":"C Gestiona"},"image":{"@id":"https:\/\/cgestiona.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/cgestiona.com\/en\/wp-json\/wp\/v2\/pages\/988731","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cgestiona.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cgestiona.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cgestiona.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cgestiona.com\/en\/wp-json\/wp\/v2\/comments?post=988731"}],"version-history":[{"count":4,"href":"https:\/\/cgestiona.com\/en\/wp-json\/wp\/v2\/pages\/988731\/revisions"}],"predecessor-version":[{"id":988738,"href":"https:\/\/cgestiona.com\/en\/wp-json\/wp\/v2\/pages\/988731\/revisions\/988738"}],"wp:attachment":[{"href":"https:\/\/cgestiona.com\/en\/wp-json\/wp\/v2\/media?parent=988731"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}