{"id":988726,"date":"2026-05-13T23:23:05","date_gmt":"2026-05-14T04:23:05","guid":{"rendered":"https:\/\/cgestiona.com\/?page_id=988726"},"modified":"2026-05-13T23:50:39","modified_gmt":"2026-05-14T04:50:39","slug":"calculadora-cts-periodo","status":"publish","type":"page","link":"https:\/\/cgestiona.com\/en\/calculadora-cts-periodo\/","title":{"rendered":"CTS calculator by period"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"988726\" class=\"elementor elementor-988726\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-34ddfd5e e-con-full e-flex e-con e-parent\" data-id=\"34ddfd5e\" 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-37f0a800 e-con-full e-flex e-con e-child\" data-id=\"37f0a800\" 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-5d1280d6 e-con-full e-flex e-con e-child\" data-id=\"5d1280d6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-faf8bb2 elementor-widget elementor-widget-heading\" data-id=\"faf8bb2\" 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 CTS 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-59f132fd elementor-widget elementor-widget-text-editor\" data-id=\"59f132fd\" 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\tCalcula la CTS por periodo de cada trabajador seg\u00fan su sueldo, tiempo laborado, gratificaciones y conceptos remunerativos aplicables.\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-70aa18d0 e-flex e-con-boxed e-con e-parent\" data-id=\"70aa18d0\" 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-554c5091 elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"554c5091\" 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-183dcc30 e-flex e-con-boxed e-con e-parent\" data-id=\"183dcc30\" 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-29506dbd elementor-widget elementor-widget-html\" data-id=\"29506dbd\" 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 CTS POR PERIODO \u2014 C GESTIONA\r\n  Versi\u00f3n: 1.0 | Base legal: D.S. 001-97-TR\r\n  Per\u00edodos: CTS Mayo (Nov-Abr) | CTS Noviembre (May-Oct) | Personalizado\r\n  R\u00e9gimen General (100%) | Peque\u00f1a Empresa (50%) | Microempresa (sin CTS)\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-ct\">\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-ct .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-ct .cgc-header-left { display: flex; align-items: center; gap: 16px; }\r\n.cgc-ct .cgc-logo { height: 48px; width: auto; flex-shrink: 0; display: block; }\r\n.cgc-ct .cgc-header-title-block {\r\n  border-left: 1px solid rgba(255,255,255,0.25); padding-left: 16px;\r\n}\r\n.cgc-ct .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-ct .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-ct .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-ct .cgc-pill .ti { font-size: 14px; color: #22A559; }\r\n\r\n.cgc-ct .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-ct .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-ct .cgc-intro .ti { font-size: 16px; color: #22A559; flex-shrink: 0; margin-top: 2px; }\r\n\r\n\/* Toggle per\u00edodo *\/\r\n.cgc-ct .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-ct .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-ct .cgc-mode-btn .ti { font-size: 14px; }\r\n.cgc-ct .cgc-mode-btn.active { background: #0F3D3A; color: #ffffff; }\r\n\r\n\/* Info modo *\/\r\n.cgc-ct .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-ct .cgc-mode-info .ti { font-size: 14px; flex-shrink: 0; margin-top: 2px; }\r\n.cgc-ct .cgc-mode-info strong { color: #1E3A8A; }\r\n\r\n\/* Secciones *\/\r\n.cgc-ct .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-ct .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-ct .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-ct .cgc-label {\r\n  display: block; font-size: 12px; color: #4B5563;\r\n  margin-bottom: 5px; font-weight: 500;\r\n}\r\n.cgc-ct .cgc-input,\r\n.cgc-ct .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-ct .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-ct .cgc-input:focus,\r\n.cgc-ct .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-ct .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-ct .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-ct .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-ct .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-ct .cgc-input-prefix .cgc-input:focus {\r\n  box-shadow: none; border: none;\r\n}\r\n\r\n.cgc-ct .cgc-grid-2 {\r\n  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;\r\n}\r\n\r\n\/* Banner per\u00edodo *\/\r\n.cgc-ct .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-ct .cgc-banner .ti { font-size: 16px; color: #22A559; flex-shrink: 0; }\r\n.cgc-ct .cgc-banner strong { color: #064E3B; }\r\n\r\n\/* Errores *\/\r\n.cgc-ct .cgc-error {\r\n  margin-top: 10px; padding: 10px 14px;\r\n  background: rgba(239,68,68,0.08); border: 1px solid rgba(239,68,68,0.3);\r\n  border-radius: 7px; font-size: 12px; color: #991B1B;\r\n  display: flex; align-items: flex-start; gap: 8px;\r\n}\r\n.cgc-ct .cgc-error.hidden { display: none; }\r\n.cgc-ct .cgc-error .ti { font-size: 16px; flex-shrink: 0; margin-top: 1px; color: #DC2626; }\r\n.cgc-ct .cgc-error strong { color: #7F1D1D; }\r\n\r\n\/* Warnings amarillos *\/\r\n.cgc-ct .cgc-warning {\r\n  margin-top: 10px; padding: 10px 14px;\r\n  background: rgba(245,158,11,0.08); border: 1px solid rgba(245,158,11,0.3);\r\n  border-radius: 7px; font-size: 12px; color: #92400E;\r\n  display: flex; align-items: flex-start; gap: 8px;\r\n}\r\n.cgc-ct .cgc-warning.hidden { display: none; }\r\n.cgc-ct .cgc-warning .ti { font-size: 16px; flex-shrink: 0; margin-top: 1px; color: #D97706; }\r\n.cgc-ct .cgc-warning strong { color: #78350F; }\r\n\r\n\/* Bloque protegido *\/\r\n.cgc-ct .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-ct .cgc-no-copy {\r\n  user-select: none; -webkit-user-select: none;\r\n  position: relative; z-index: 1;\r\n}\r\n.cgc-ct .cgc-wm {\r\n  position: absolute; inset: 0; overflow: hidden; pointer-events: none;\r\n  border-radius: 10px;\r\n}\r\n.cgc-ct .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-ct .cgc-protected-header {\r\n  display: flex; align-items: center; justify-content: space-between;\r\n  margin-bottom: 14px;\r\n}\r\n.cgc-ct .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-ct .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-ct .cgc-status.warning {\r\n  background: rgba(245,158,11,0.15); color: #92400E;\r\n}\r\n\r\n\/* Cards resumen *\/\r\n.cgc-ct .cgc-cards-grid {\r\n  display: grid; grid-template-columns: 1fr 1fr;\r\n  gap: 10px; margin-bottom: 14px;\r\n}\r\n.cgc-ct .cgc-card {\r\n  background: #ffffff; border: 1px solid #E5E7EB;\r\n  border-radius: 8px; padding: 12px 14px;\r\n}\r\n.cgc-ct .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-ct .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-ct .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-ct .cgc-row-label { color: #4B5563; }\r\n.cgc-ct .cgc-row-val { color: #111827; font-weight: 500; font-variant-numeric: tabular-nums; }\r\n.cgc-ct .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 final *\/\r\n.cgc-ct .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-ct .cgc-total-box.exempt {\r\n  background: linear-gradient(135deg, #57534E 0%, #78716C 100%);\r\n}\r\n.cgc-ct .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-ct .cgc-total-sub {\r\n  font-size: 11px; color: rgba(255,255,255,0.75);\r\n}\r\n.cgc-ct .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-ct .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-ct .cgc-legal .ti { font-size: 14px; flex-shrink: 0; margin-top: 1px; }\r\n.cgc-ct .cgc-legal strong { color: #1E3A8A; }\r\n\r\n\/* Botones *\/\r\n.cgc-ct .cgc-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }\r\n.cgc-ct .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-ct .cgc-btn-secondary { background: #ffffff; border-color: #D1D5DB; color: #374151; }\r\n.cgc-ct .cgc-btn-secondary:hover { background: #F9FAFB; }\r\n.cgc-ct .cgc-btn-primary { background: #22A559; border-color: #22A559; color: #ffffff; }\r\n.cgc-ct .cgc-btn-primary:hover { background: #1E8E4D; border-color: #1E8E4D; }\r\n.cgc-ct .cgc-btn .ti { font-size: 16px; }\r\n\r\n\/* Footer *\/\r\n.cgc-ct .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-ct .cgc-footer-left { display: flex; align-items: center; gap: 6px; font-size: 11px; color: #9CA3AF; }\r\n.cgc-ct .cgc-footer-left .ti { font-size: 14px; color: #22A559; }\r\n.cgc-ct .cgc-footer-right { font-size: 11px; color: #6B7280; font-weight: 500; }\r\n\r\n@media (max-width: 600px) {\r\n  .cgc-ct .cgc-grid-2,\r\n  .cgc-ct .cgc-cards-grid { grid-template-columns: 1fr !important; }\r\n  .cgc-ct .cgc-mode-btn span { display: none; }\r\n  .cgc-ct .cgc-mode-btn .ti { font-size: 16px; }\r\n  .cgc-ct .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\">CTS 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 Compensaci\u00f3n por Tiempo de Servicios para los dep\u00f3sitos semestrales de Mayo (Nov\u2013Abr) y Noviembre (May\u2013Oct), seg\u00fan D.S. 001-97-TR.\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=\"mayo\">\r\n      <i class=\"ti ti-calendar-plus\"><\/i> <span>CTS Mayo<\/span>\r\n    <\/button>\r\n    <button type=\"button\" class=\"cgc-mode-btn\" data-mode=\"noviembre\">\r\n      <i class=\"ti ti-calendar\"><\/i> <span>CTS Noviembre<\/span>\r\n    <\/button>\r\n    <button type=\"button\" class=\"cgc-mode-btn\" data-mode=\"personalizado\">\r\n      <i class=\"ti ti-calendar-search\"><\/i> <span>Personalizado<\/span>\r\n    <\/button>\r\n  <\/div>\r\n\r\n  <!-- Info modo -->\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>CTS Mayo:<\/strong> Dep\u00f3sito hasta el 15 de mayo por el per\u00edodo de noviembre del a\u00f1o anterior a abril del a\u00f1o actual.\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- A. Datos del trabajador -->\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 del dep\u00f3sito<\/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-15\" \/>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- Solo para modo personalizado -->\r\n    <div class=\"cgc-grid-2\" id=\"cgc-customDates\" style=\"display: none; margin-bottom: 12px;\">\r\n      <div>\r\n        <label class=\"cgc-label\" for=\"cgc-fInicioCustom\">Inicio del per\u00edodo<\/label>\r\n        <input type=\"date\" id=\"cgc-fInicioCustom\" class=\"cgc-input\" value=\"2025-11-01\" \/>\r\n      <\/div>\r\n      <div>\r\n        <label class=\"cgc-label\" for=\"cgc-fFinCustom\">Fin del per\u00edodo<\/label>\r\n        <input type=\"date\" id=\"cgc-fFinCustom\" class=\"cgc-input\" value=\"2026-04-30\" \/>\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-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-gratif\">Gratificaci\u00f3n \u00faltima semestral<\/label>\r\n        <div class=\"cgc-input-prefix\">\r\n          <span>S\/<\/span>\r\n          <input type=\"number\" id=\"cgc-gratif\" class=\"cgc-input\" value=\"1500\" min=\"0\" step=\"0.01\" \/>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"cgc-grid-2\">\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        <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 CTS)<\/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\/11\/2025 \u2192 30\/04\/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>Trabajadores de Microempresa REMYPE no tienen CTS<\/strong><br>\r\n        Seg\u00fan D.Leg. 1086, los trabajadores contratados bajo el r\u00e9gimen de Microempresa registrada en REMYPE est\u00e1n excluidos de este beneficio.\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 al dep\u00f3sito<\/strong><br>\r\n        El trabajador debe cumplir al menos 1 mes completo de servicios en el per\u00edodo. Los d\u00edas laborados se acumular\u00e1n para el siguiente dep\u00f3sito.\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      <!-- Cards resumen -->\r\n      <div class=\"cgc-cards-grid\">\r\n        <div class=\"cgc-card\">\r\n          <div class=\"cgc-card-label\">Tiempo computable<\/div>\r\n          <div class=\"cgc-card-val\" id=\"cgc-cardTiempo\">1 mes 16 d\u00edas<\/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,750.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\">CTS final<\/div>\r\n          <div class=\"cgc-card-val\" id=\"cgc-cardTotal\">S\/ 111.81<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- Desglose -->\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-row\"><span class=\"cgc-row-label\">1\/6 de gratificaci\u00f3n<\/span><span class=\"cgc-row-val\" id=\"cgc-rcGratif\">S\/ 250.00<\/span><\/div>\r\n        <div class=\"cgc-subtotal\"><span>Total remuneraci\u00f3n computable<\/span><span id=\"cgc-rcTotal\">S\/ 1,750.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 CTS<\/div>\r\n        <div class=\"cgc-row\"><span class=\"cgc-row-label\">CTS por meses<\/span><span class=\"cgc-row-val\" id=\"cgc-ctsMeses\">S\/ 72.92<\/span><\/div>\r\n        <div class=\"cgc-row\"><span class=\"cgc-row-label\">CTS por d\u00edas<\/span><span class=\"cgc-row-val\" id=\"cgc-ctsDias\">S\/ 38.89<\/span><\/div>\r\n        <div class=\"cgc-subtotal\"><span>Subtotal antes de r\u00e9gimen<\/span><span id=\"cgc-ctsSubtotal\">S\/ 111.81<\/span><\/div>\r\n      <\/div>\r\n\r\n      <!-- Total final -->\r\n      <div class=\"cgc-total-box\" id=\"cgc-totalBox\">\r\n        <div>\r\n          <div class=\"cgc-total-label\" id=\"cgc-totalLabel\">CTS Mayo 2026<\/div>\r\n          <div class=\"cgc-total-sub\" id=\"cgc-totalSub\">Peque\u00f1a Empresa \u00b7 A depositar antes del 15 May 2026<\/div>\r\n        <\/div>\r\n        <div class=\"cgc-total-val\" id=\"cgc-totalFinal\">S\/ 111.81<\/div>\r\n      <\/div>\r\n\r\n      <!-- Legal -->\r\n      <div class=\"cgc-legal\">\r\n        <i class=\"ti ti-scale\"><\/i>\r\n        <div>\r\n          <strong>Base legal:<\/strong> D.S. 001-97-TR (TUO Ley CTS). Plazos: 15 de mayo y 15 de noviembre. Si la fecha cae en d\u00eda no laborable, el dep\u00f3sito debe hacerse el d\u00eda h\u00e1bil anterior. El incumplimiento genera intereses moratorios 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 = 'mayo';\r\n\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 MODE_INFO = {\r\n    'mayo': '<strong>CTS Mayo:<\/strong> Dep\u00f3sito hasta el 15 de mayo por el per\u00edodo de noviembre del a\u00f1o anterior a abril del a\u00f1o actual.',\r\n    'noviembre': '<strong>CTS Noviembre:<\/strong> Dep\u00f3sito hasta el 15 de noviembre por el per\u00edodo de mayo a octubre del a\u00f1o actual.',\r\n    'personalizado': '<strong>Personalizado:<\/strong> Define fechas de inicio y fin propias. \u00datil para casos de cese, cambio de r\u00e9gimen o c\u00e1lculos especiales.'\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');\r\n      if (msgEl) msgEl.textContent = msg;\r\n    }\r\n  }\r\n\r\n  function setIndemnizacionCero(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 === 'mayo') {\r\n      return {\r\n        inicio: new Date(anio - 1, 10, 1), \/\/ 1 Nov a\u00f1o anterior\r\n        fin: new Date(anio, 3, 30),         \/\/ 30 Abr a\u00f1o actual\r\n        deposito: new Date(anio, 4, 15),    \/\/ 15 May a\u00f1o actual\r\n        nombre: 'CTS Mayo ' + anio\r\n      };\r\n    } else if (mode === 'noviembre') {\r\n      return {\r\n        inicio: new Date(anio, 4, 1),       \/\/ 1 May a\u00f1o actual\r\n        fin: new Date(anio, 9, 31),         \/\/ 31 Oct a\u00f1o actual\r\n        deposito: new Date(anio, 10, 15),   \/\/ 15 Nov a\u00f1o actual\r\n        nombre: 'CTS Noviembre ' + anio\r\n      };\r\n    } else {\r\n      var fIni = $('cgc-fInicioCustom').value ? new Date($('cgc-fInicioCustom').value + 'T00:00:00') : null;\r\n      var fFin = $('cgc-fFinCustom').value ? new Date($('cgc-fFinCustom').value + 'T00:00:00') : null;\r\n      return {\r\n        inicio: fIni,\r\n        fin: fFin,\r\n        deposito: null,\r\n        nombre: 'CTS Personalizado'\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 gratif = parseFloat($('cgc-gratif').value) || 0;\r\n    var asigFam = parseFloat($('cgc-asigFam').value) || 0;\r\n    var regKey = $('cgc-regimen').value;\r\n    var reg = REGIMENES[regKey];\r\n\r\n    if (!fIng) {\r\n      showError('cgc-errFechas', 'Ingresa la fecha de ingreso.');\r\n      setIndemnizacionCero('Datos incompletos');\r\n      return;\r\n    }\r\n\r\n    var periodo = getPeriodo(currentMode, anio);\r\n    if (!periodo.inicio || !periodo.fin) {\r\n      showError('cgc-errFechas', 'Define las fechas de inicio y fin del per\u00edodo.');\r\n      setIndemnizacionCero('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 fecha de inicio.');\r\n      setIndemnizacionCero('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    \/\/ Si es microempresa, sin CTS\r\n    if (regKey === 'micro') {\r\n      $('cgc-warnMicroempresa').classList.remove('hidden');\r\n      setIndemnizacionCero('Microempresa REMYPE: sin CTS');\r\n      $('cgc-cardTotal').textContent = fmt(0);\r\n      $('cgc-cardTiempo').textContent = '\u2014';\r\n      $('cgc-cardRemComp').textContent = '\u2014';\r\n      $('cgc-cardFactor').textContent = '0%';\r\n      return;\r\n    }\r\n\r\n    \/\/ Fecha real inicio del c\u00e1lculo: max(fIngreso, periodo.inicio)\r\n    var inicioCalc = fIng > periodo.inicio ? fIng : periodo.inicio;\r\n\r\n    \/\/ Si la fecha de ingreso es posterior al fin del per\u00edodo, no aplica\r\n    if (inicioCalc > periodo.fin) {\r\n      $('cgc-warnMinimo').classList.remove('hidden');\r\n      setIndemnizacionCero('No corresponde para este per\u00edodo');\r\n      $('cgc-cardTotal').textContent = fmt(0);\r\n      $('cgc-cardTiempo').textContent = '0 d\u00edas';\r\n      return;\r\n    }\r\n\r\n    \/\/ C\u00e1lculo de d\u00edas (con DAYS360 + 1 al final, como Excel)\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    var dias = totalDias % 30;\r\n\r\n    \/\/ Validaci\u00f3n: m\u00ednimo 1 mes\r\n    if (totalDias < 30) {\r\n      $('cgc-warnMinimo').classList.remove('hidden');\r\n      setIndemnizacionCero('Sin derecho al dep\u00f3sito');\r\n      $('cgc-cardTotal').textContent = fmt(0);\r\n      $('cgc-cardTiempo').textContent = totalDias + ' d\u00edas';\r\n      $('cgc-cardRemComp').textContent = '\u2014';\r\n      $('cgc-cardFactor').textContent = reg.factor === 1 ? '100%' : '50%';\r\n      return;\r\n    }\r\n\r\n    \/\/ Remuneraci\u00f3n computable: sueldo + asigFam + gratif\/6\r\n    var rcSueldo = sueldo;\r\n    var rcAsig = asigFam;\r\n    var rcGratif = gratif \/ 6;\r\n    var rcTotal = rcSueldo + rcAsig + rcGratif;\r\n\r\n    \/\/ CTS\r\n    var ctsMeses = rcTotal \/ 12 * meses * reg.factor;\r\n    var ctsDias = rcTotal \/ 360 * dias * reg.factor;\r\n    var ctsSubtotal = ctsMeses + ctsDias;\r\n\r\n    \/\/ Actualizar UI\r\n    $('cgc-cardTiempo').textContent = meses + ' mes' + (meses !== 1 ? 'es' : '') + (dias > 0 ? ' ' + dias + ' d\u00eda' + (dias !== 1 ? 's' : '') : '');\r\n    $('cgc-cardRemComp').textContent = fmt(rcTotal);\r\n    $('cgc-cardFactor').textContent = (reg.factor * 100) + '%';\r\n    $('cgc-cardTotal').textContent = fmt(ctsSubtotal);\r\n\r\n    $('cgc-rcSueldo').textContent = fmt(rcSueldo);\r\n    $('cgc-rcAsig').textContent = fmt(rcAsig);\r\n    $('cgc-rcGratif').textContent = fmt(rcGratif);\r\n    $('cgc-rcTotal').textContent = fmt(rcTotal);\r\n    $('cgc-ctsMeses').textContent = fmt(ctsMeses);\r\n    $('cgc-ctsDias').textContent = fmt(ctsDias);\r\n    $('cgc-ctsSubtotal').textContent = fmt(ctsSubtotal);\r\n\r\n    $('cgc-totalLabel').textContent = periodo.nombre;\r\n    if (periodo.deposito) {\r\n      $('cgc-totalSub').textContent = reg.nombre + ' \u00b7 A depositar antes del ' + fmtDate(periodo.deposito);\r\n    } else {\r\n      $('cgc-totalSub').textContent = reg.nombre + ' \u00b7 Per\u00edodo personalizado';\r\n    }\r\n    $('cgc-totalFinal').textContent = fmt(ctsSubtotal);\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-customDates').style.display = currentMode === 'personalizado' ? 'grid' : 'none';\r\n      calcular();\r\n    });\r\n  });\r\n\r\n  \/\/ Listeners\r\n  ['cgc-anio','cgc-fIngreso','cgc-fInicioCustom','cgc-fFinCustom','cgc-sueldo','cgc-gratif','cgc-asigFam','cgc-regimen'].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-fInicioCustom').value = '';\r\n    $('cgc-fFinCustom').value = '';\r\n    $('cgc-sueldo').value = '';\r\n    $('cgc-gratif').value = '';\r\n    $('cgc-asigFam').value = '0';\r\n    $('cgc-regimen').value = 'general';\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 = 'CTS 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 += 'Rem. computable: ' + $('cgc-cardRemComp').textContent + '\\n';\r\n    txt += 'CTS: ' + $('cgc-totalFinal').textContent + '\\n\\n';\r\n    txt += 'Base legal: D.S. 001-97-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 CTS por Periodo Calcula la CTS por periodo de cada trabajador seg\u00fan su sueldo, tiempo laborado, gratificaciones y conceptos remunerativos aplicables. Calculadora CTS por Periodo Acceso registrado Calcula tu Compensaci\u00f3n por Tiempo de Servicios para los dep\u00f3sitos semestrales de Mayo (Nov\u2013Abr) y Noviembre (May\u2013Oct), seg\u00fan D.S. 001-97-TR. CTS Mayo CTS Noviembre Personalizado CTS Mayo:&#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-988726","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 CTS por periodo en Per\u00fa - C Gestiona<\/title>\n<meta name=\"description\" content=\"Calcula la CTS por periodo de cada trabajador seg\u00fan su sueldo, tiempo laborado, gratificaciones y conceptos remunerativos aplicables.\" \/>\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-cts-periodo\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Calculadora CTS por periodo en Per\u00fa - C Gestiona\" \/>\n<meta property=\"og:description\" content=\"Calcula la CTS por periodo de cada trabajador seg\u00fan su sueldo, tiempo laborado, gratificaciones y conceptos remunerativos aplicables.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cgestiona.com\/en\/calculadora-cts-periodo\/\" \/>\n<meta property=\"og:site_name\" content=\"C Gestiona\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-14T04:50:39+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-cts-periodo\\\/\",\"url\":\"https:\\\/\\\/cgestiona.com\\\/calculadora-cts-periodo\\\/\",\"name\":\"Calculadora CTS por periodo en Per\u00fa - C Gestiona\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cgestiona.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/cgestiona.com\\\/calculadora-cts-periodo\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/cgestiona.com\\\/calculadora-cts-periodo\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cgestiona.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/logo-c-gestiona-blanco-transparente.png\",\"datePublished\":\"2026-05-14T04:23:05+00:00\",\"dateModified\":\"2026-05-14T04:50:39+00:00\",\"description\":\"Calcula la CTS por periodo de cada trabajador seg\u00fan su sueldo, tiempo laborado, gratificaciones y conceptos remunerativos aplicables.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/cgestiona.com\\\/calculadora-cts-periodo\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/cgestiona.com\\\/calculadora-cts-periodo\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/cgestiona.com\\\/calculadora-cts-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-cts-periodo\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/cgestiona.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculadora CTS 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 CTS por periodo en Per\u00fa - C Gestiona","description":"Calcula la CTS por periodo de cada trabajador seg\u00fan su sueldo, tiempo laborado, gratificaciones y conceptos remunerativos aplicables.","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-cts-periodo\/","og_locale":"en_US","og_type":"article","og_title":"Calculadora CTS por periodo en Per\u00fa - C Gestiona","og_description":"Calcula la CTS por periodo de cada trabajador seg\u00fan su sueldo, tiempo laborado, gratificaciones y conceptos remunerativos aplicables.","og_url":"https:\/\/cgestiona.com\/en\/calculadora-cts-periodo\/","og_site_name":"C Gestiona","article_modified_time":"2026-05-14T04:50:39+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-cts-periodo\/","url":"https:\/\/cgestiona.com\/calculadora-cts-periodo\/","name":"Calculadora CTS por periodo en Per\u00fa - C Gestiona","isPartOf":{"@id":"https:\/\/cgestiona.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cgestiona.com\/calculadora-cts-periodo\/#primaryimage"},"image":{"@id":"https:\/\/cgestiona.com\/calculadora-cts-periodo\/#primaryimage"},"thumbnailUrl":"https:\/\/cgestiona.com\/wp-content\/uploads\/2026\/05\/logo-c-gestiona-blanco-transparente.png","datePublished":"2026-05-14T04:23:05+00:00","dateModified":"2026-05-14T04:50:39+00:00","description":"Calcula la CTS por periodo de cada trabajador seg\u00fan su sueldo, tiempo laborado, gratificaciones y conceptos remunerativos aplicables.","breadcrumb":{"@id":"https:\/\/cgestiona.com\/calculadora-cts-periodo\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cgestiona.com\/calculadora-cts-periodo\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cgestiona.com\/calculadora-cts-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-cts-periodo\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/cgestiona.com\/"},{"@type":"ListItem","position":2,"name":"Calculadora CTS 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\/988726","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=988726"}],"version-history":[{"count":10,"href":"https:\/\/cgestiona.com\/en\/wp-json\/wp\/v2\/pages\/988726\/revisions"}],"predecessor-version":[{"id":988792,"href":"https:\/\/cgestiona.com\/en\/wp-json\/wp\/v2\/pages\/988726\/revisions\/988792"}],"wp:attachment":[{"href":"https:\/\/cgestiona.com\/en\/wp-json\/wp\/v2\/media?parent=988726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}